diff --git a/packages/omim/docs/build/asset-manifest.json b/packages/omim/docs/build/asset-manifest.json
index 2cd369d24..4433cf66e 100644
--- a/packages/omim/docs/build/asset-manifest.json
+++ b/packages/omim/docs/build/asset-manifest.json
@@ -1,12 +1,12 @@
{
"cn.css": "static/css/cn.4dd07f49.css",
"cn.css.map": "static/css/cn.4dd07f49.css.map",
- "cn.js": "static/js/cn.9f8b8353.js",
- "cn.js.map": "static/js/cn.9f8b8353.js.map",
+ "cn.js": "static/js/cn.eb488e02.js",
+ "cn.js.map": "static/js/cn.eb488e02.js.map",
"index.css": "static/css/index.4dd07f49.css",
"index.css.map": "static/css/index.4dd07f49.css.map",
- "index.js": "static/js/index.80bc2275.js",
- "index.js.map": "static/js/index.80bc2275.js.map",
+ "index.js": "static/js/index.1ae9695c.js",
+ "index.js.map": "static/js/index.1ae9695c.js.map",
"static/js/0.68c12e8d.chunk.js": "static/js/0.68c12e8d.chunk.js",
"static/js/0.68c12e8d.chunk.js.map": "static/js/0.68c12e8d.chunk.js.map",
"static/js/1.759c1ca5.chunk.js": "static/js/1.759c1ca5.chunk.js",
@@ -19,10 +19,10 @@
"static/js/101.8766f7bb.chunk.js.map": "static/js/101.8766f7bb.chunk.js.map",
"static/js/102.ac3be313.chunk.js": "static/js/102.ac3be313.chunk.js",
"static/js/102.ac3be313.chunk.js.map": "static/js/102.ac3be313.chunk.js.map",
- "static/js/103.14dc374c.chunk.js": "static/js/103.14dc374c.chunk.js",
- "static/js/103.14dc374c.chunk.js.map": "static/js/103.14dc374c.chunk.js.map",
- "static/js/104.341f9ce9.chunk.js": "static/js/104.341f9ce9.chunk.js",
- "static/js/104.341f9ce9.chunk.js.map": "static/js/104.341f9ce9.chunk.js.map",
+ "static/js/103.c72365da.chunk.js": "static/js/103.c72365da.chunk.js",
+ "static/js/103.c72365da.chunk.js.map": "static/js/103.c72365da.chunk.js.map",
+ "static/js/104.f2217ba6.chunk.js": "static/js/104.f2217ba6.chunk.js",
+ "static/js/104.f2217ba6.chunk.js.map": "static/js/104.f2217ba6.chunk.js.map",
"static/js/105.cb506b6c.chunk.js": "static/js/105.cb506b6c.chunk.js",
"static/js/105.cb506b6c.chunk.js.map": "static/js/105.cb506b6c.chunk.js.map",
"static/js/106.584bbeb0.chunk.js": "static/js/106.584bbeb0.chunk.js",
@@ -127,10 +127,10 @@
"static/js/4.8f014cf8.chunk.js.map": "static/js/4.8f014cf8.chunk.js.map",
"static/js/40.c21360b5.chunk.js": "static/js/40.c21360b5.chunk.js",
"static/js/40.c21360b5.chunk.js.map": "static/js/40.c21360b5.chunk.js.map",
- "static/js/41.61129729.chunk.js": "static/js/41.61129729.chunk.js",
- "static/js/41.61129729.chunk.js.map": "static/js/41.61129729.chunk.js.map",
- "static/js/42.8db88734.chunk.js": "static/js/42.8db88734.chunk.js",
- "static/js/42.8db88734.chunk.js.map": "static/js/42.8db88734.chunk.js.map",
+ "static/js/41.cb75788c.chunk.js": "static/js/41.cb75788c.chunk.js",
+ "static/js/41.cb75788c.chunk.js.map": "static/js/41.cb75788c.chunk.js.map",
+ "static/js/42.21c0d3d5.chunk.js": "static/js/42.21c0d3d5.chunk.js",
+ "static/js/42.21c0d3d5.chunk.js.map": "static/js/42.21c0d3d5.chunk.js.map",
"static/js/43.3bac18ea.chunk.js": "static/js/43.3bac18ea.chunk.js",
"static/js/43.3bac18ea.chunk.js.map": "static/js/43.3bac18ea.chunk.js.map",
"static/js/44.8bc80906.chunk.js": "static/js/44.8bc80906.chunk.js",
diff --git a/packages/omim/docs/build/cn.html b/packages/omim/docs/build/cn.html
index 312c5f562..cf84778da 100644
--- a/packages/omim/docs/build/cn.html
+++ b/packages/omim/docs/build/cn.html
@@ -1 +1 @@
-
Omim - Material Design for the Web, powered by Omi.
\ No newline at end of file
+Omim - Material Design for the Web, powered by Omi.
\ No newline at end of file
diff --git a/packages/omim/docs/build/index.html b/packages/omim/docs/build/index.html
index a6cf63337..9afb3ccfb 100644
--- a/packages/omim/docs/build/index.html
+++ b/packages/omim/docs/build/index.html
@@ -1 +1 @@
-Omim - Material Design for the Web, powered by Omi.
\ No newline at end of file
+Omim - Material Design for the Web, powered by Omi.
\ No newline at end of file
diff --git a/packages/omim/docs/build/service-worker.js b/packages/omim/docs/build/service-worker.js
index 5c2b88c1a..aaf780593 100644
--- a/packages/omim/docs/build/service-worker.js
+++ b/packages/omim/docs/build/service-worker.js
@@ -1 +1 @@
-"use strict";var precacheConfig=[["./cn.html","243281b957936b6503c0fccec616572b"],["./index.html","c5e46682341be6b81f9380ecae7c4af5"],["./static/css/cn.4dd07f49.css","476d16186dc05ff3faa0a5d4dc9ac72c"],["./static/css/index.4dd07f49.css","9ad340cc60e8fed0f9856b562708144e"],["./static/js/0.68c12e8d.chunk.js","3cc80815c1ede7e68041d50b4305984d"],["./static/js/1.759c1ca5.chunk.js","b94057380a56fe74cb541281b0a7b09d"],["./static/js/10.a55f66f8.chunk.js","bc95fefc066e2c8aa4fb5cbbdd25f87d"],["./static/js/100.a34f51ad.chunk.js","6e1cccee6a504480c45ed8f9b9cc9445"],["./static/js/101.8766f7bb.chunk.js","dc08d7cfa236e2d1ef58f1356ef5edff"],["./static/js/102.ac3be313.chunk.js","6b12a728a0440ea399ed1cb0e4a34c5a"],["./static/js/103.14dc374c.chunk.js","728761e36a2d46631870babbf3ca40bf"],["./static/js/104.341f9ce9.chunk.js","43dd005b0f60a9af7c04d0225aadc1a2"],["./static/js/105.cb506b6c.chunk.js","a802d07d010b17a05c28d44d79da7044"],["./static/js/106.584bbeb0.chunk.js","d1b4933ac05c09f87357b548d3e606cc"],["./static/js/107.9e5af966.chunk.js","1355cfce4cbc959966501218bbeef85d"],["./static/js/108.ac7d5acc.chunk.js","07637d7162471f11aa5f8c89ede0aa65"],["./static/js/109.50839a1c.chunk.js","b14b906c7065bc2c4ec67b12e2449323"],["./static/js/11.828ab9c2.chunk.js","b5833f5adc448e4b3e5470670b60362c"],["./static/js/110.5437dcda.chunk.js","927bb80ed5a64d07350e46df91e1f93c"],["./static/js/111.f40ed45c.chunk.js","4d2eab341933a460c29dba6fca14faf1"],["./static/js/112.fc30f62e.chunk.js","52fa8688c8fa3f1f6b5da47cc9e2e3db"],["./static/js/113.20ede2ba.chunk.js","e1d1f6d62c33610b01268b186d862d4b"],["./static/js/114.f65bf497.chunk.js","d191047a7371616a1e73bf3d8035985f"],["./static/js/115.d7db9c10.chunk.js","1a7a7ec269e68ba4c5e019a1e9047537"],["./static/js/116.ebdfd097.chunk.js","fb5c0f76d3bf7a9526ebc05159216be8"],["./static/js/117.b52978d5.chunk.js","55aa6b880c85a4ebf44ef8b74c644ffc"],["./static/js/118.a85e99e9.chunk.js","79ae0ad5bbdf8fcaa17582984fd6983a"],["./static/js/119.21303178.chunk.js","0c888f446b58f66fcbd3e3d627a5cec3"],["./static/js/12.6493ac19.chunk.js","77c9bb769cd5c2a02eaaa89563b931c1"],["./static/js/120.6306416b.chunk.js","16eda94b8998b25689ca55933b794f18"],["./static/js/121.8dadbfdb.chunk.js","dcc87f2bef1712d6b0527ecdc6b9d149"],["./static/js/122.311401ac.chunk.js","30697c6fe9fbcddf6c7f4d52ce49cd72"],["./static/js/123.8bcc4836.chunk.js","cfce3c7a25616d04399afc7fbbe34c8f"],["./static/js/13.bd46662f.chunk.js","e9484a9b70697ce87c7e26de79408228"],["./static/js/14.c564f4f5.chunk.js","09d82cb38163836026a3f8b239117080"],["./static/js/15.0ad3ce9e.chunk.js","6f6ab39e48a6c2a441a0bb189dbf4491"],["./static/js/16.64eea67b.chunk.js","f8242ab69a0b8cbd0523e0e8be4b95c5"],["./static/js/17.911d59a3.chunk.js","0a9d6ce76e51b93df97aea70bcc444a0"],["./static/js/18.3a59bf17.chunk.js","df20584f2d001ac4d285ea00c3bb6ae5"],["./static/js/19.1cb285fb.chunk.js","1bc9b8f0ad74afcab9891fa5ae7bea80"],["./static/js/2.5da46b4f.chunk.js","2d882b4ac539cd3d940a034b22ee264a"],["./static/js/20.63bdf696.chunk.js","8c17ebdc036bd346a771c5da4e0131e6"],["./static/js/21.21057d15.chunk.js","00fd5f50f88f8933a4d7c5902d5162cb"],["./static/js/22.a5edb9e4.chunk.js","c96522a04508d6ba6b618a4aed70b64f"],["./static/js/23.3345eab8.chunk.js","ae7071902bf72cc50c3f3543c17667df"],["./static/js/24.f4c78202.chunk.js","9cc33608f2adc3b56ed2b42c96209f8e"],["./static/js/25.b146659a.chunk.js","e06a7bf33f5d2ce57287118a9bf7c104"],["./static/js/26.311eb972.chunk.js","83c90763813c7a51e7fade0cb9bca0dd"],["./static/js/27.18354e09.chunk.js","96ca393796be95c1338d1244a9ab2a53"],["./static/js/28.eb1f164c.chunk.js","5590d62a2197c1e1abefb37e5c3d7b33"],["./static/js/29.a5d00496.chunk.js","baf0cf4a5c6ee02bd1ff69d8bbdad90d"],["./static/js/3.424ee7ae.chunk.js","cd5faff933664324d96c7862035fb44c"],["./static/js/30.c8b7e142.chunk.js","1eda1375e626158f9c831c15dfa1c6bf"],["./static/js/31.fb1f2749.chunk.js","4fb68a00783e37a008cb66f058ac0ae5"],["./static/js/32.8c43e92b.chunk.js","cb83897270d431828f60957f7be9f18d"],["./static/js/33.6ef29d4e.chunk.js","8f136c8f74738e6b81c7d00ca3164de6"],["./static/js/34.eed9267e.chunk.js","f4abcc110ef5d5f17c081b55ae188801"],["./static/js/35.530004da.chunk.js","15faa3ea29a276852c1f1dcaa10b6cc4"],["./static/js/36.84601bbf.chunk.js","9342218ad3bc031d76aeefbd1cb8d91d"],["./static/js/37.85d026c3.chunk.js","c9210aaa4965babc9c2bb33384f17997"],["./static/js/38.feb89c19.chunk.js","d3fbb7b491cd3ac7463c3c278d2aadc8"],["./static/js/39.221cbf16.chunk.js","8728fbea893701976bd51a2656f8292b"],["./static/js/4.8f014cf8.chunk.js","4a1f2596fb76f51b52edd1b979ce8a1d"],["./static/js/40.c21360b5.chunk.js","d8d17c74d6d2808ac1e85a40531206b3"],["./static/js/41.61129729.chunk.js","a1f068f93986acd08247df9e28c13939"],["./static/js/42.8db88734.chunk.js","1b291117caf5e75447fdf145b7e03d56"],["./static/js/43.3bac18ea.chunk.js","aeb2daf0fe2301f17feee41187ea335e"],["./static/js/44.8bc80906.chunk.js","fdfbf6053eb0c822c4b04ef4a4775c99"],["./static/js/45.2a88466d.chunk.js","6799bd72f3634120c871d70e39473060"],["./static/js/46.8e4cc305.chunk.js","84c0166796b537465e09cfc58652217d"],["./static/js/47.1fa3737f.chunk.js","b084da9551ff47ab6172537d7fe02947"],["./static/js/48.c6b3bb91.chunk.js","29ea906a1ab9f5539f4d5ea53806c585"],["./static/js/49.77859d35.chunk.js","8586f9f7c043e3f9f77db17048250aae"],["./static/js/5.d99c8a5e.chunk.js","44f023312e36ff58af39754ae34a0b59"],["./static/js/50.108a5256.chunk.js","ab63a1ad0409c7ec661adebbd1236393"],["./static/js/51.49566405.chunk.js","85025fce256d0b117a95cffbf92b49f6"],["./static/js/52.10fd2f1c.chunk.js","a740d932f5ef2bd524ab350d6156373c"],["./static/js/53.17e4b19f.chunk.js","46e34dd3c6254c7ed2303cbaf05a177b"],["./static/js/54.83fe6204.chunk.js","30e8e15980505bda5e8948494dd5c400"],["./static/js/55.dde20276.chunk.js","284c44eefeabf728f3046dbe8dac40a9"],["./static/js/56.fc53502d.chunk.js","4f2021fd506c8861d92c3ab453be8100"],["./static/js/57.120d630f.chunk.js","537c7508dc2080d0892d369917bb4b2e"],["./static/js/58.2162a17b.chunk.js","82a0f8e71f277a3257927c9dcc7b18d3"],["./static/js/59.6c9f85cd.chunk.js","11638ae8634a7290660a9e39e93432d7"],["./static/js/6.beace45d.chunk.js","a62dc79b13402c1e82e4ae508585974d"],["./static/js/60.8daa8271.chunk.js","03363482c91fba7c42ad3d33633de72e"],["./static/js/61.34d584e8.chunk.js","ce8def9c5589485f46c4b00e053c098e"],["./static/js/62.d1425fa2.chunk.js","4621debcbfdf5d0efac4a28ae0b12d1a"],["./static/js/63.9c777607.chunk.js","7d6f4610c702a23614c81f71413c305b"],["./static/js/64.3974c3b5.chunk.js","3e4dc36b2dacf0eb537f86b8fdef4241"],["./static/js/65.dff2a8fb.chunk.js","54c9a9500ffe98f9b2ea8fb6dddd1e2c"],["./static/js/66.f8c55b42.chunk.js","5f474607e9f5388819c978034bd5cd92"],["./static/js/67.4bdfe795.chunk.js","622b9bc740c26026b34141753a00d47a"],["./static/js/68.e7a3183f.chunk.js","67a4200d33cbd24560d4700ec9cd1ae5"],["./static/js/69.c9175fe8.chunk.js","703087445deb8b56c6639f2d2c229da8"],["./static/js/7.485dc0c0.chunk.js","1b966547b94dbd4c50611f0b5ddc23c2"],["./static/js/70.dcfc2032.chunk.js","b41ed2da5e5062612fb6fe57607d4b8a"],["./static/js/71.068d5018.chunk.js","275e13e1c1977fe7e6ee93bcc7ae18c9"],["./static/js/72.12043964.chunk.js","7032e412dae5751a5cf45365462243be"],["./static/js/73.8e57cc1c.chunk.js","aeb3de4649d3a0b98734529f0a7e959f"],["./static/js/74.9626352e.chunk.js","a5c7cfad135e7580a2797f6566d491e7"],["./static/js/75.e8f3fcfb.chunk.js","864c04d1d102df2afc4935418aa19574"],["./static/js/76.3f2d8c5c.chunk.js","a4e413944e58d8443539e090e8ee3287"],["./static/js/77.e6a42ed6.chunk.js","6cc7b8a69bdb76f993c12bdabecc31ea"],["./static/js/78.9600d7d9.chunk.js","b376a7726e7a314806daaa7bcf0ca959"],["./static/js/79.5c7a178d.chunk.js","187a6bfdcfc8f536c1d0e2e2485e88db"],["./static/js/8.7c8e5167.chunk.js","8b5e1066e8be1066f3fba026673183fd"],["./static/js/80.06e7feaa.chunk.js","188d7fbaab40898dd38e236979ee7c48"],["./static/js/81.775f9ba6.chunk.js","71643b88ba9643c2ee31e3650ecd28cb"],["./static/js/82.67abc511.chunk.js","8ffe04698fec696e507499ed471da4fd"],["./static/js/83.5f6ef24c.chunk.js","0bd0237524158ee234ed51feed816094"],["./static/js/84.1498ca01.chunk.js","bcb0f02efe47fb20bdfd3e77d0b8f748"],["./static/js/85.cfe7f665.chunk.js","71d36b94ed8556f3366ec45835b0f6a5"],["./static/js/86.a77fd66f.chunk.js","5353d8fd1ac63a6ad49159da54d0dca4"],["./static/js/87.d7b52ba6.chunk.js","c1f6b505aaccf7d2029d0b10eb065806"],["./static/js/88.7be09236.chunk.js","94fa7c7c017df776f6b08dcc26779227"],["./static/js/89.e8d7dee0.chunk.js","e1e300ea86f9facce5f04e09da5ef0de"],["./static/js/9.454f9913.chunk.js","800d42c97d321813492c1ec1a03135bd"],["./static/js/90.bb267610.chunk.js","b517e0f5fef3e8bb9d12bb8f2a9ee138"],["./static/js/91.4ce2659f.chunk.js","fc757109a3164006957a3b424929b901"],["./static/js/92.ef19e972.chunk.js","b2555e5cc844aef9062cf2b5b50c388c"],["./static/js/93.9c4e9b3a.chunk.js","9cf7bb12ec9320f47e7a76f7790b38e1"],["./static/js/94.22c3777e.chunk.js","c43b2d4bf8047aaff10e5e646c7697cc"],["./static/js/95.4d31338b.chunk.js","b44eaa9f954f9b6cd2014dbc7a6b443b"],["./static/js/96.18491fd0.chunk.js","3281dd8e5e5bf06f00564321cdd44317"],["./static/js/97.d49f1382.chunk.js","a4879a40a0bc5748bfb2d3d7c0f50552"],["./static/js/98.f4b83ca0.chunk.js","c6d89de12edeb30dfecbe071c32e0cfb"],["./static/js/99.5a70fd4c.chunk.js","5f8312dfb223365675f67687580e234c"],["./static/js/cn.9f8b8353.js","b54f8b714cb94bc9d0797f9b90cb20aa"],["./static/js/index.80bc2275.js","e3c0d19dc0550a3b9d1141da694911c7"],["./static/media/omi-logo2019.923166c3.svg","923166c362dce831a15c447b19a622f9"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(c,e){var a=new URL(c);return"/"===a.pathname.slice(-1)&&(a.pathname+=e),a.toString()},cleanResponse=function(e){return e.redirected?("body"in e?Promise.resolve(e.body):e.blob()).then(function(c){return new Response(c,{headers:e.headers,status:e.status,statusText:e.statusText})}):Promise.resolve(e)},createCacheKey=function(c,e,a,s){var t=new URL(c);return s&&t.pathname.match(s)||(t.search+=(t.search?"&":"")+encodeURIComponent(e)+"="+encodeURIComponent(a)),t.toString()},isPathWhitelisted=function(c,e){if(0===c.length)return!0;var a=new URL(e).pathname;return c.some(function(c){return a.match(c)})},stripIgnoredUrlParameters=function(c,a){var e=new URL(c);return e.hash="",e.search=e.search.slice(1).split("&").map(function(c){return c.split("=")}).filter(function(e){return a.every(function(c){return!c.test(e[0])})}).map(function(c){return c.join("=")}).join("&"),e.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(c){var e=c[0],a=c[1],s=new URL(e,self.location),t=createCacheKey(s,hashParamName,a,/\.\w{8}\./);return[s.toString(),t]}));function setOfCachedUrls(c){return c.keys().then(function(c){return c.map(function(c){return c.url})}).then(function(c){return new Set(c)})}self.addEventListener("install",function(c){c.waitUntil(caches.open(cacheName).then(function(s){return setOfCachedUrls(s).then(function(a){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(e){if(!a.has(e)){var c=new Request(e,{credentials:"same-origin"});return fetch(c).then(function(c){if(!c.ok)throw new Error("Request for "+e+" returned a response with status "+c.status);return cleanResponse(c).then(function(c){return s.put(e,c)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(c){var a=new Set(urlsToCacheKeys.values());c.waitUntil(caches.open(cacheName).then(function(e){return e.keys().then(function(c){return Promise.all(c.map(function(c){if(!a.has(c.url))return e.delete(c)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(e){if("GET"===e.request.method){var c,a=stripIgnoredUrlParameters(e.request.url,ignoreUrlParametersMatching),s="index.html";(c=urlsToCacheKeys.has(a))||(a=addDirectoryIndex(a,s),c=urlsToCacheKeys.has(a));var t="./index.html";!c&&"navigate"===e.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],e.request.url)&&(a=new URL(t,self.location).toString(),c=urlsToCacheKeys.has(a)),c&&e.respondWith(caches.open(cacheName).then(function(c){return c.match(urlsToCacheKeys.get(a)).then(function(c){if(c)return c;throw Error("The cached response that was expected is missing.")})}).catch(function(c){return console.warn('Couldn\'t serve response for "%s" from cache: %O',e.request.url,c),fetch(e.request)}))}});
\ No newline at end of file
+"use strict";var precacheConfig=[["./cn.html","5bafc924f4e25192b124626e431fe86f"],["./index.html","cb4b2783df5398f837720ddac1578980"],["./static/css/cn.4dd07f49.css","476d16186dc05ff3faa0a5d4dc9ac72c"],["./static/css/index.4dd07f49.css","9ad340cc60e8fed0f9856b562708144e"],["./static/js/0.68c12e8d.chunk.js","3cc80815c1ede7e68041d50b4305984d"],["./static/js/1.759c1ca5.chunk.js","b94057380a56fe74cb541281b0a7b09d"],["./static/js/10.a55f66f8.chunk.js","bc95fefc066e2c8aa4fb5cbbdd25f87d"],["./static/js/100.a34f51ad.chunk.js","6e1cccee6a504480c45ed8f9b9cc9445"],["./static/js/101.8766f7bb.chunk.js","dc08d7cfa236e2d1ef58f1356ef5edff"],["./static/js/102.ac3be313.chunk.js","6b12a728a0440ea399ed1cb0e4a34c5a"],["./static/js/103.c72365da.chunk.js","d357a71ccc4ab17f57f34887f708e267"],["./static/js/104.f2217ba6.chunk.js","bdb89f9de393bace8cc237bb72ae8f47"],["./static/js/105.cb506b6c.chunk.js","a802d07d010b17a05c28d44d79da7044"],["./static/js/106.584bbeb0.chunk.js","d1b4933ac05c09f87357b548d3e606cc"],["./static/js/107.9e5af966.chunk.js","1355cfce4cbc959966501218bbeef85d"],["./static/js/108.ac7d5acc.chunk.js","07637d7162471f11aa5f8c89ede0aa65"],["./static/js/109.50839a1c.chunk.js","b14b906c7065bc2c4ec67b12e2449323"],["./static/js/11.828ab9c2.chunk.js","b5833f5adc448e4b3e5470670b60362c"],["./static/js/110.5437dcda.chunk.js","927bb80ed5a64d07350e46df91e1f93c"],["./static/js/111.f40ed45c.chunk.js","4d2eab341933a460c29dba6fca14faf1"],["./static/js/112.fc30f62e.chunk.js","52fa8688c8fa3f1f6b5da47cc9e2e3db"],["./static/js/113.20ede2ba.chunk.js","e1d1f6d62c33610b01268b186d862d4b"],["./static/js/114.f65bf497.chunk.js","d191047a7371616a1e73bf3d8035985f"],["./static/js/115.d7db9c10.chunk.js","1a7a7ec269e68ba4c5e019a1e9047537"],["./static/js/116.ebdfd097.chunk.js","fb5c0f76d3bf7a9526ebc05159216be8"],["./static/js/117.b52978d5.chunk.js","55aa6b880c85a4ebf44ef8b74c644ffc"],["./static/js/118.a85e99e9.chunk.js","79ae0ad5bbdf8fcaa17582984fd6983a"],["./static/js/119.21303178.chunk.js","0c888f446b58f66fcbd3e3d627a5cec3"],["./static/js/12.6493ac19.chunk.js","77c9bb769cd5c2a02eaaa89563b931c1"],["./static/js/120.6306416b.chunk.js","16eda94b8998b25689ca55933b794f18"],["./static/js/121.8dadbfdb.chunk.js","dcc87f2bef1712d6b0527ecdc6b9d149"],["./static/js/122.311401ac.chunk.js","30697c6fe9fbcddf6c7f4d52ce49cd72"],["./static/js/123.8bcc4836.chunk.js","cfce3c7a25616d04399afc7fbbe34c8f"],["./static/js/13.bd46662f.chunk.js","e9484a9b70697ce87c7e26de79408228"],["./static/js/14.c564f4f5.chunk.js","09d82cb38163836026a3f8b239117080"],["./static/js/15.0ad3ce9e.chunk.js","6f6ab39e48a6c2a441a0bb189dbf4491"],["./static/js/16.64eea67b.chunk.js","f8242ab69a0b8cbd0523e0e8be4b95c5"],["./static/js/17.911d59a3.chunk.js","0a9d6ce76e51b93df97aea70bcc444a0"],["./static/js/18.3a59bf17.chunk.js","df20584f2d001ac4d285ea00c3bb6ae5"],["./static/js/19.1cb285fb.chunk.js","1bc9b8f0ad74afcab9891fa5ae7bea80"],["./static/js/2.5da46b4f.chunk.js","2d882b4ac539cd3d940a034b22ee264a"],["./static/js/20.63bdf696.chunk.js","8c17ebdc036bd346a771c5da4e0131e6"],["./static/js/21.21057d15.chunk.js","00fd5f50f88f8933a4d7c5902d5162cb"],["./static/js/22.a5edb9e4.chunk.js","c96522a04508d6ba6b618a4aed70b64f"],["./static/js/23.3345eab8.chunk.js","ae7071902bf72cc50c3f3543c17667df"],["./static/js/24.f4c78202.chunk.js","9cc33608f2adc3b56ed2b42c96209f8e"],["./static/js/25.b146659a.chunk.js","e06a7bf33f5d2ce57287118a9bf7c104"],["./static/js/26.311eb972.chunk.js","83c90763813c7a51e7fade0cb9bca0dd"],["./static/js/27.18354e09.chunk.js","96ca393796be95c1338d1244a9ab2a53"],["./static/js/28.eb1f164c.chunk.js","5590d62a2197c1e1abefb37e5c3d7b33"],["./static/js/29.a5d00496.chunk.js","baf0cf4a5c6ee02bd1ff69d8bbdad90d"],["./static/js/3.424ee7ae.chunk.js","cd5faff933664324d96c7862035fb44c"],["./static/js/30.c8b7e142.chunk.js","1eda1375e626158f9c831c15dfa1c6bf"],["./static/js/31.fb1f2749.chunk.js","4fb68a00783e37a008cb66f058ac0ae5"],["./static/js/32.8c43e92b.chunk.js","cb83897270d431828f60957f7be9f18d"],["./static/js/33.6ef29d4e.chunk.js","8f136c8f74738e6b81c7d00ca3164de6"],["./static/js/34.eed9267e.chunk.js","f4abcc110ef5d5f17c081b55ae188801"],["./static/js/35.530004da.chunk.js","15faa3ea29a276852c1f1dcaa10b6cc4"],["./static/js/36.84601bbf.chunk.js","9342218ad3bc031d76aeefbd1cb8d91d"],["./static/js/37.85d026c3.chunk.js","c9210aaa4965babc9c2bb33384f17997"],["./static/js/38.feb89c19.chunk.js","d3fbb7b491cd3ac7463c3c278d2aadc8"],["./static/js/39.221cbf16.chunk.js","8728fbea893701976bd51a2656f8292b"],["./static/js/4.8f014cf8.chunk.js","4a1f2596fb76f51b52edd1b979ce8a1d"],["./static/js/40.c21360b5.chunk.js","d8d17c74d6d2808ac1e85a40531206b3"],["./static/js/41.cb75788c.chunk.js","5c47275f23f81d1aeb1ae3e42530f42f"],["./static/js/42.21c0d3d5.chunk.js","802f50d2b575540cb82817f3adba9c9a"],["./static/js/43.3bac18ea.chunk.js","aeb2daf0fe2301f17feee41187ea335e"],["./static/js/44.8bc80906.chunk.js","fdfbf6053eb0c822c4b04ef4a4775c99"],["./static/js/45.2a88466d.chunk.js","6799bd72f3634120c871d70e39473060"],["./static/js/46.8e4cc305.chunk.js","84c0166796b537465e09cfc58652217d"],["./static/js/47.1fa3737f.chunk.js","b084da9551ff47ab6172537d7fe02947"],["./static/js/48.c6b3bb91.chunk.js","29ea906a1ab9f5539f4d5ea53806c585"],["./static/js/49.77859d35.chunk.js","8586f9f7c043e3f9f77db17048250aae"],["./static/js/5.d99c8a5e.chunk.js","44f023312e36ff58af39754ae34a0b59"],["./static/js/50.108a5256.chunk.js","ab63a1ad0409c7ec661adebbd1236393"],["./static/js/51.49566405.chunk.js","85025fce256d0b117a95cffbf92b49f6"],["./static/js/52.10fd2f1c.chunk.js","a740d932f5ef2bd524ab350d6156373c"],["./static/js/53.17e4b19f.chunk.js","46e34dd3c6254c7ed2303cbaf05a177b"],["./static/js/54.83fe6204.chunk.js","30e8e15980505bda5e8948494dd5c400"],["./static/js/55.dde20276.chunk.js","284c44eefeabf728f3046dbe8dac40a9"],["./static/js/56.fc53502d.chunk.js","4f2021fd506c8861d92c3ab453be8100"],["./static/js/57.120d630f.chunk.js","537c7508dc2080d0892d369917bb4b2e"],["./static/js/58.2162a17b.chunk.js","82a0f8e71f277a3257927c9dcc7b18d3"],["./static/js/59.6c9f85cd.chunk.js","11638ae8634a7290660a9e39e93432d7"],["./static/js/6.beace45d.chunk.js","a62dc79b13402c1e82e4ae508585974d"],["./static/js/60.8daa8271.chunk.js","03363482c91fba7c42ad3d33633de72e"],["./static/js/61.34d584e8.chunk.js","ce8def9c5589485f46c4b00e053c098e"],["./static/js/62.d1425fa2.chunk.js","4621debcbfdf5d0efac4a28ae0b12d1a"],["./static/js/63.9c777607.chunk.js","7d6f4610c702a23614c81f71413c305b"],["./static/js/64.3974c3b5.chunk.js","3e4dc36b2dacf0eb537f86b8fdef4241"],["./static/js/65.dff2a8fb.chunk.js","54c9a9500ffe98f9b2ea8fb6dddd1e2c"],["./static/js/66.f8c55b42.chunk.js","5f474607e9f5388819c978034bd5cd92"],["./static/js/67.4bdfe795.chunk.js","622b9bc740c26026b34141753a00d47a"],["./static/js/68.e7a3183f.chunk.js","67a4200d33cbd24560d4700ec9cd1ae5"],["./static/js/69.c9175fe8.chunk.js","703087445deb8b56c6639f2d2c229da8"],["./static/js/7.485dc0c0.chunk.js","1b966547b94dbd4c50611f0b5ddc23c2"],["./static/js/70.dcfc2032.chunk.js","b41ed2da5e5062612fb6fe57607d4b8a"],["./static/js/71.068d5018.chunk.js","275e13e1c1977fe7e6ee93bcc7ae18c9"],["./static/js/72.12043964.chunk.js","7032e412dae5751a5cf45365462243be"],["./static/js/73.8e57cc1c.chunk.js","aeb3de4649d3a0b98734529f0a7e959f"],["./static/js/74.9626352e.chunk.js","a5c7cfad135e7580a2797f6566d491e7"],["./static/js/75.e8f3fcfb.chunk.js","864c04d1d102df2afc4935418aa19574"],["./static/js/76.3f2d8c5c.chunk.js","a4e413944e58d8443539e090e8ee3287"],["./static/js/77.e6a42ed6.chunk.js","6cc7b8a69bdb76f993c12bdabecc31ea"],["./static/js/78.9600d7d9.chunk.js","b376a7726e7a314806daaa7bcf0ca959"],["./static/js/79.5c7a178d.chunk.js","187a6bfdcfc8f536c1d0e2e2485e88db"],["./static/js/8.7c8e5167.chunk.js","8b5e1066e8be1066f3fba026673183fd"],["./static/js/80.06e7feaa.chunk.js","188d7fbaab40898dd38e236979ee7c48"],["./static/js/81.775f9ba6.chunk.js","71643b88ba9643c2ee31e3650ecd28cb"],["./static/js/82.67abc511.chunk.js","8ffe04698fec696e507499ed471da4fd"],["./static/js/83.5f6ef24c.chunk.js","0bd0237524158ee234ed51feed816094"],["./static/js/84.1498ca01.chunk.js","bcb0f02efe47fb20bdfd3e77d0b8f748"],["./static/js/85.cfe7f665.chunk.js","71d36b94ed8556f3366ec45835b0f6a5"],["./static/js/86.a77fd66f.chunk.js","5353d8fd1ac63a6ad49159da54d0dca4"],["./static/js/87.d7b52ba6.chunk.js","c1f6b505aaccf7d2029d0b10eb065806"],["./static/js/88.7be09236.chunk.js","94fa7c7c017df776f6b08dcc26779227"],["./static/js/89.e8d7dee0.chunk.js","e1e300ea86f9facce5f04e09da5ef0de"],["./static/js/9.454f9913.chunk.js","800d42c97d321813492c1ec1a03135bd"],["./static/js/90.bb267610.chunk.js","b517e0f5fef3e8bb9d12bb8f2a9ee138"],["./static/js/91.4ce2659f.chunk.js","fc757109a3164006957a3b424929b901"],["./static/js/92.ef19e972.chunk.js","b2555e5cc844aef9062cf2b5b50c388c"],["./static/js/93.9c4e9b3a.chunk.js","9cf7bb12ec9320f47e7a76f7790b38e1"],["./static/js/94.22c3777e.chunk.js","c43b2d4bf8047aaff10e5e646c7697cc"],["./static/js/95.4d31338b.chunk.js","b44eaa9f954f9b6cd2014dbc7a6b443b"],["./static/js/96.18491fd0.chunk.js","3281dd8e5e5bf06f00564321cdd44317"],["./static/js/97.d49f1382.chunk.js","a4879a40a0bc5748bfb2d3d7c0f50552"],["./static/js/98.f4b83ca0.chunk.js","c6d89de12edeb30dfecbe071c32e0cfb"],["./static/js/99.5a70fd4c.chunk.js","5f8312dfb223365675f67687580e234c"],["./static/js/cn.eb488e02.js","4ca33979f98faf5b4afe0314c59f9d99"],["./static/js/index.1ae9695c.js","83472b98d54bae981a45939acb134546"],["./static/media/omi-logo2019.923166c3.svg","923166c362dce831a15c447b19a622f9"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(c,e){var a=new URL(c);return"/"===a.pathname.slice(-1)&&(a.pathname+=e),a.toString()},cleanResponse=function(e){return e.redirected?("body"in e?Promise.resolve(e.body):e.blob()).then(function(c){return new Response(c,{headers:e.headers,status:e.status,statusText:e.statusText})}):Promise.resolve(e)},createCacheKey=function(c,e,a,s){var t=new URL(c);return s&&t.pathname.match(s)||(t.search+=(t.search?"&":"")+encodeURIComponent(e)+"="+encodeURIComponent(a)),t.toString()},isPathWhitelisted=function(c,e){if(0===c.length)return!0;var a=new URL(e).pathname;return c.some(function(c){return a.match(c)})},stripIgnoredUrlParameters=function(c,a){var e=new URL(c);return e.hash="",e.search=e.search.slice(1).split("&").map(function(c){return c.split("=")}).filter(function(e){return a.every(function(c){return!c.test(e[0])})}).map(function(c){return c.join("=")}).join("&"),e.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(c){var e=c[0],a=c[1],s=new URL(e,self.location),t=createCacheKey(s,hashParamName,a,/\.\w{8}\./);return[s.toString(),t]}));function setOfCachedUrls(c){return c.keys().then(function(c){return c.map(function(c){return c.url})}).then(function(c){return new Set(c)})}self.addEventListener("install",function(c){c.waitUntil(caches.open(cacheName).then(function(s){return setOfCachedUrls(s).then(function(a){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(e){if(!a.has(e)){var c=new Request(e,{credentials:"same-origin"});return fetch(c).then(function(c){if(!c.ok)throw new Error("Request for "+e+" returned a response with status "+c.status);return cleanResponse(c).then(function(c){return s.put(e,c)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(c){var a=new Set(urlsToCacheKeys.values());c.waitUntil(caches.open(cacheName).then(function(e){return e.keys().then(function(c){return Promise.all(c.map(function(c){if(!a.has(c.url))return e.delete(c)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(e){if("GET"===e.request.method){var c,a=stripIgnoredUrlParameters(e.request.url,ignoreUrlParametersMatching),s="index.html";(c=urlsToCacheKeys.has(a))||(a=addDirectoryIndex(a,s),c=urlsToCacheKeys.has(a));var t="./index.html";!c&&"navigate"===e.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],e.request.url)&&(a=new URL(t,self.location).toString(),c=urlsToCacheKeys.has(a)),c&&e.respondWith(caches.open(cacheName).then(function(c){return c.match(urlsToCacheKeys.get(a)).then(function(c){if(c)return c;throw Error("The cached response that was expected is missing.")})}).catch(function(c){return console.warn('Couldn\'t serve response for "%s" from cache: %O',e.request.url,c),fetch(e.request)}))}});
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/103.14dc374c.chunk.js.map b/packages/omim/docs/build/static/js/103.14dc374c.chunk.js.map
deleted file mode 100644
index ae9e08281..000000000
--- a/packages/omim/docs/build/static/js/103.14dc374c.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../static/js/103.14dc374c.chunk.js","docs/en/icon.md"],"names":["webpackJsonp","57","module","exports"],"mappings":"AAAAA,cAAc,MAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/103.14dc374c.chunk.js","sourcesContent":["webpackJsonp([103],{\n\n/***/ 57:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon \\n\\nIcon using svg.\\n\\n## Usage\\n\\n```html\\n\\n\\n\\n```\\n\\nIt can also support multiple paths:\\n\\n```html\\n\\n\\n```\\n\\n## Use in omi\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\nSupport multiple paths:\\n\\n```jsx\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | object | -- | Support for multiple icon path |\\n| path | string | -- | Icon path value |\\n| view | number | 1024 | View size |\\n| scale | number | 2 | Icon magnification |\\n| color | string | black | color |\\n| rotate | bool | false | Rotate transform |\\n\\n* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)\\n* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/103.14dc374c.chunk.js","module.exports = \"## Icon \\n\\nIcon using svg.\\n\\n## Usage\\n\\n```html\\n\\n\\n\\n```\\n\\nIt can also support multiple paths:\\n\\n```html\\n\\n\\n```\\n\\n## Use in omi\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\nSupport multiple paths:\\n\\n```jsx\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | object | -- | Support for multiple icon path |\\n| path | string | -- | Icon path value |\\n| view | number | 1024 | View size |\\n| scale | number | 2 | Icon magnification |\\n| color | string | black | color |\\n| rotate | bool | false | Rotate transform |\\n\\n* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)\\n* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/icon.md\n// module id = 57\n// module chunks = 103"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/103.14dc374c.chunk.js b/packages/omim/docs/build/static/js/103.c72365da.chunk.js
similarity index 85%
rename from packages/omim/docs/build/static/js/103.14dc374c.chunk.js
rename to packages/omim/docs/build/static/js/103.c72365da.chunk.js
index e8f6eac5c..64c1073e6 100644
--- a/packages/omim/docs/build/static/js/103.14dc374c.chunk.js
+++ b/packages/omim/docs/build/static/js/103.c72365da.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([103],{57:function(n,t){n.exports="## Icon \n\nIcon using svg.\n\n## Usage\n\n```html\n\n\n\n```\n\nIt can also support multiple paths:\n\n```html\n\n\n```\n\n## Use in omi\n\nJSX:\n\n```jsx\n\n```\n\nSupport multiple paths:\n\n```jsx\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| paths | object | -- | Support for multiple icon path |\n| path | string | -- | Icon path value |\n| view | number | 1024 | View size |\n| scale | number | 2 | Icon magnification |\n| color | string | black | color |\n| rotate | bool | false | Rotate transform |\n\n* [\u2192 You can use antd's SVG path directly](https://ant.design/components/icon/)\n* [\u2192 You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n\n"}});
-//# sourceMappingURL=103.14dc374c.chunk.js.map
\ No newline at end of file
+webpackJsonp([103],{57:function(n,t){n.exports="## Icon \n\nIcon using svg.\n\n## Usage\n\n```html\n\n\n\n```\n\nIt can also support multiple paths:\n\n```html\n\n\n```\n\n## Use in omi\n\nJSX:\n\n```jsx\n\n```\n\nSupport multiple paths:\n\n```jsx\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| paths | object | -- | Support for multiple icon path |\n| path | string | -- | Icon path value |\n| view | number | 1024 | View size |\n| scale | number | 2 | Icon magnification |\n| color | string | black | color |\n| rotate | bool | false | Rotate transform |\n\n* [\u2192 SVG path by antd](https://ant.design/components/icon/) & [\u2192 Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n* [\u2192 SVG path by Material Icons](https://material.io/tools/icons/?style=baseline)\n\n"}});
+//# sourceMappingURL=103.c72365da.chunk.js.map
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/103.c72365da.chunk.js.map b/packages/omim/docs/build/static/js/103.c72365da.chunk.js.map
new file mode 100644
index 000000000..d5171934c
--- /dev/null
+++ b/packages/omim/docs/build/static/js/103.c72365da.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../static/js/103.c72365da.chunk.js","docs/en/icon.md"],"names":["webpackJsonp","57","module","exports"],"mappings":"AAAAA,cAAc,MAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/103.c72365da.chunk.js","sourcesContent":["webpackJsonp([103],{\n\n/***/ 57:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon \\n\\nIcon using svg.\\n\\n## Usage\\n\\n```html\\n\\n\\n\\n```\\n\\nIt can also support multiple paths:\\n\\n```html\\n\\n\\n```\\n\\n## Use in omi\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\nSupport multiple paths:\\n\\n```jsx\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | object | -- | Support for multiple icon path |\\n| path | string | -- | Icon path value |\\n| view | number | 1024 | View size |\\n| scale | number | 2 | Icon magnification |\\n| color | string | black | color |\\n| rotate | bool | false | Rotate transform |\\n\\n* [→ SVG path by antd](https://ant.design/components/icon/) & [→ Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n* [→ SVG path by Material Icons](https://material.io/tools/icons/?style=baseline)\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/103.c72365da.chunk.js","module.exports = \"## Icon \\n\\nIcon using svg.\\n\\n## Usage\\n\\n```html\\n\\n\\n\\n```\\n\\nIt can also support multiple paths:\\n\\n```html\\n\\n\\n```\\n\\n## Use in omi\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\nSupport multiple paths:\\n\\n```jsx\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | object | -- | Support for multiple icon path |\\n| path | string | -- | Icon path value |\\n| view | number | 1024 | View size |\\n| scale | number | 2 | Icon magnification |\\n| color | string | black | color |\\n| rotate | bool | false | Rotate transform |\\n\\n* [→ SVG path by antd](https://ant.design/components/icon/) & [→ Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n* [→ SVG path by Material Icons](https://material.io/tools/icons/?style=baseline)\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/icon.md\n// module id = 57\n// module chunks = 103"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/104.341f9ce9.chunk.js.map b/packages/omim/docs/build/static/js/104.341f9ce9.chunk.js.map
deleted file mode 100644
index ddac8be4f..000000000
--- a/packages/omim/docs/build/static/js/104.341f9ce9.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../static/js/104.341f9ce9.chunk.js","docs/en/icon-button.md"],"names":["webpackJsonp","56","module","exports"],"mappings":"AAAAA,cAAc,MAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/104.341f9ce9.chunk.js","sourcesContent":["webpackJsonp([104],{\n\n/***/ 56:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon Button \\n\\nIcon button allow users to take actions, and make choices, with a single tap.\\n\\n## Usage\\n\\n```html\\n\\n\\n\\n \\n \\n\\n```\\n\\n## Usage in Omi\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n## More Icons\\n\\n[Material Icons](https://material.io/tools/icons/?style=baseline)\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| ripple | boolean | -- | Ripple effect |\\n| toggle | object | -- | |\\n| icons | object | -- | Multiple icons |\\n| icon | string | -- | icon |\\n| imgs | object | -- | Image path |\\n| svg | object | -- | svg icon |\\n| color | string | -- | color |\\n| disabled | boolean | -- | Disable the icon button |\\n| onChange | function | -- | Icon change trigger |\\n\\n* [→ You can use Material Icons from Google Fonts:](https://material.io/tools/icons)\\n* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)\\n* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/104.341f9ce9.chunk.js","module.exports = \"## Icon Button \\n\\nIcon button allow users to take actions, and make choices, with a single tap.\\n\\n## Usage\\n\\n```html\\n\\n\\n\\n \\n \\n\\n```\\n\\n## Usage in Omi\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n## More Icons\\n\\n[Material Icons](https://material.io/tools/icons/?style=baseline)\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| ripple | boolean | -- | Ripple effect |\\n| toggle | object | -- | |\\n| icons | object | -- | Multiple icons |\\n| icon | string | -- | icon |\\n| imgs | object | -- | Image path |\\n| svg | object | -- | svg icon |\\n| color | string | -- | color |\\n| disabled | boolean | -- | Disable the icon button |\\n| onChange | function | -- | Icon change trigger |\\n\\n* [→ You can use Material Icons from Google Fonts:](https://material.io/tools/icons)\\n* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)\\n* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/icon-button.md\n// module id = 56\n// module chunks = 104"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/104.341f9ce9.chunk.js b/packages/omim/docs/build/static/js/104.f2217ba6.chunk.js
similarity index 71%
rename from packages/omim/docs/build/static/js/104.341f9ce9.chunk.js
rename to packages/omim/docs/build/static/js/104.f2217ba6.chunk.js
index 402665acb..7112ca610 100644
--- a/packages/omim/docs/build/static/js/104.341f9ce9.chunk.js
+++ b/packages/omim/docs/build/static/js/104.f2217ba6.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([104],{56:function(n,o){n.exports='## Icon Button \n\nIcon button allow users to take actions, and make choices, with a single tap.\n\n## Usage\n\n```html\n\n\n\n \n \n\n```\n\n## Usage in Omi\n\nJSX:\n\n```jsx\n\n```\n\n## More Icons\n\n[Material Icons](https://material.io/tools/icons/?style=baseline)\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| ripple | boolean | -- | Ripple effect |\n| toggle | object | -- | |\n| icons | object | -- | Multiple icons |\n| icon | string | -- | icon |\n| imgs | object | -- | Image path |\n| svg | object | -- | svg icon |\n| color | string | -- | color |\n| disabled | boolean | -- | Disable the icon button |\n| onChange | function | -- | Icon change trigger |\n\n* [\u2192 You can use Material Icons from Google Fonts:](https://material.io/tools/icons)\n* [\u2192 You can use antd\'s SVG path directly](https://ant.design/components/icon/)\n* [\u2192 You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n'}});
-//# sourceMappingURL=104.341f9ce9.chunk.js.map
\ No newline at end of file
+webpackJsonp([104],{56:function(n,o){n.exports='## Icon Button \n\nIcon button allow users to take actions, and make choices, with a single tap.\n\n## Usage\n\n```html\n\n\n\n \n \n\n```\n\n## Usage in Omi\n\nJSX:\n\n```jsx\n\n```\n\n## More Icons\n\n[\u2192 Material Icons](https://material.io/tools/icons/?style=baseline)\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| ripple | boolean | -- | Ripple effect |\n| toggle | object | -- | |\n| icons | object | -- | Multiple icons |\n| icon | string | -- | icon |\n| imgs | object | -- | Image path |\n| svg | object | -- | svg icon |\n| color | string | -- | color |\n| disabled | boolean | -- | Disable the icon button |\n| onChange | function | -- | Icon change trigger |\n\n* [\u2192 You can use Material Icons from Google Fonts:](https://material.io/tools/icons)\n* [\u2192 You can use antd\'s SVG path directly](https://ant.design/components/icon/)\n* [\u2192 You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n'}});
+//# sourceMappingURL=104.f2217ba6.chunk.js.map
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/104.f2217ba6.chunk.js.map b/packages/omim/docs/build/static/js/104.f2217ba6.chunk.js.map
new file mode 100644
index 000000000..e42955f1f
--- /dev/null
+++ b/packages/omim/docs/build/static/js/104.f2217ba6.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../static/js/104.f2217ba6.chunk.js","docs/en/icon-button.md"],"names":["webpackJsonp","56","module","exports"],"mappings":"AAAAA,cAAc,MAERC,GACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/104.f2217ba6.chunk.js","sourcesContent":["webpackJsonp([104],{\n\n/***/ 56:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon Button \\n\\nIcon button allow users to take actions, and make choices, with a single tap.\\n\\n## Usage\\n\\n```html\\n\\n\\n\\n \\n \\n\\n```\\n\\n## Usage in Omi\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n## More Icons\\n\\n[→ Material Icons](https://material.io/tools/icons/?style=baseline)\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| ripple | boolean | -- | Ripple effect |\\n| toggle | object | -- | |\\n| icons | object | -- | Multiple icons |\\n| icon | string | -- | icon |\\n| imgs | object | -- | Image path |\\n| svg | object | -- | svg icon |\\n| color | string | -- | color |\\n| disabled | boolean | -- | Disable the icon button |\\n| onChange | function | -- | Icon change trigger |\\n\\n* [→ You can use Material Icons from Google Fonts:](https://material.io/tools/icons)\\n* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)\\n* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/104.f2217ba6.chunk.js","module.exports = \"## Icon Button \\n\\nIcon button allow users to take actions, and make choices, with a single tap.\\n\\n## Usage\\n\\n```html\\n\\n\\n\\n \\n \\n\\n```\\n\\n## Usage in Omi\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n## More Icons\\n\\n[→ Material Icons](https://material.io/tools/icons/?style=baseline)\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| ripple | boolean | -- | Ripple effect |\\n| toggle | object | -- | |\\n| icons | object | -- | Multiple icons |\\n| icon | string | -- | icon |\\n| imgs | object | -- | Image path |\\n| svg | object | -- | svg icon |\\n| color | string | -- | color |\\n| disabled | boolean | -- | Disable the icon button |\\n| onChange | function | -- | Icon change trigger |\\n\\n* [→ You can use Material Icons from Google Fonts:](https://material.io/tools/icons)\\n* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)\\n* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/en/icon-button.md\n// module id = 56\n// module chunks = 104"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/41.61129729.chunk.js.map b/packages/omim/docs/build/static/js/41.61129729.chunk.js.map
deleted file mode 100644
index c8222d3ea..000000000
--- a/packages/omim/docs/build/static/js/41.61129729.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../static/js/41.61129729.chunk.js","docs/zh-cn/icon.md"],"names":["webpackJsonp","119","module","exports"],"mappings":"AAAAA,cAAc,KAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/41.61129729.chunk.js","sourcesContent":["webpackJsonp([41],{\n\n/***/ 119:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon \\n\\nSVG 制作的 Icon.\\n\\n## 使用\\n\\n```html\\n\\n\\n\\n```\\n\\n也可以支持多 path 多颜色:\\n\\n```html\\n\\n\\n```\\n\\n## Omi 中使用\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n支持多 path 多颜色:\\n\\n```jsx\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | object | -- | 支持多图标 path |\\n| path | string | -- | 图标的 path 值 |\\n| view | number | 1024 | 视图大小 |\\n| scale | number | 2 | 图标放大倍数 |\\n| color | string | black | 颜色 |\\n| rotate | bool | false | 旋转动画 |\\n\\n* [→ 你可以直接使用 antd 的海量 svg path 作为 icon 的 path](https://ant.design/components/icon-cn/),你可以通过开发者工具查看对应 icon 的 path\\n* [→ 也可以直接上 antd github 获取 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/41.61129729.chunk.js","module.exports = \"## Icon \\n\\nSVG 制作的 Icon.\\n\\n## 使用\\n\\n```html\\n\\n\\n\\n```\\n\\n也可以支持多 path 多颜色:\\n\\n```html\\n\\n\\n```\\n\\n## Omi 中使用\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n支持多 path 多颜色:\\n\\n```jsx\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | object | -- | 支持多图标 path |\\n| path | string | -- | 图标的 path 值 |\\n| view | number | 1024 | 视图大小 |\\n| scale | number | 2 | 图标放大倍数 |\\n| color | string | black | 颜色 |\\n| rotate | bool | false | 旋转动画 |\\n\\n* [→ 你可以直接使用 antd 的海量 svg path 作为 icon 的 path](https://ant.design/components/icon-cn/),你可以通过开发者工具查看对应 icon 的 path\\n* [→ 也可以直接上 antd github 获取 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/icon.md\n// module id = 119\n// module chunks = 41"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/41.61129729.chunk.js b/packages/omim/docs/build/static/js/41.cb75788c.chunk.js
similarity index 76%
rename from packages/omim/docs/build/static/js/41.61129729.chunk.js
rename to packages/omim/docs/build/static/js/41.cb75788c.chunk.js
index 09344ff3a..78fce889a 100644
--- a/packages/omim/docs/build/static/js/41.61129729.chunk.js
+++ b/packages/omim/docs/build/static/js/41.cb75788c.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([41],{119:function(n,c){n.exports="## Icon \n\nSVG \u5236\u4f5c\u7684 Icon.\n\n## \u4f7f\u7528\n\n```html\n\n\n\n```\n\n\u4e5f\u53ef\u4ee5\u652f\u6301\u591a path \u591a\u989c\u8272\uff1a\n\n```html\n\n\n```\n\n## Omi \u4e2d\u4f7f\u7528\n\nJSX:\n\n```jsx\n\n```\n\n\u652f\u6301\u591a path \u591a\u989c\u8272\uff1a\n\n```jsx\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| paths | object | -- | \u652f\u6301\u591a\u56fe\u6807 path |\n| path | string | -- | \u56fe\u6807\u7684 path \u503c |\n| view | number | 1024 | \u89c6\u56fe\u5927\u5c0f |\n| scale | number | 2 | \u56fe\u6807\u653e\u5927\u500d\u6570 |\n| color | string | black | \u989c\u8272 |\n| rotate | bool | false | \u65cb\u8f6c\u52a8\u753b |\n\n* [\u2192 \u4f60\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 antd \u7684\u6d77\u91cf svg path \u4f5c\u4e3a icon \u7684 path](https://ant.design/components/icon-cn/),\u4f60\u53ef\u4ee5\u901a\u8fc7\u5f00\u53d1\u8005\u5de5\u5177\u67e5\u770b\u5bf9\u5e94 icon \u7684 path\n* [\u2192 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4e0a antd github \u83b7\u53d6 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n\n"}});
-//# sourceMappingURL=41.61129729.chunk.js.map
\ No newline at end of file
+webpackJsonp([41],{119:function(n,t){n.exports="## Icon \n\nSVG \u5236\u4f5c\u7684 Icon.\n\n## \u4f7f\u7528\n\n```html\n\n\n\n```\n\n\u4e5f\u53ef\u4ee5\u652f\u6301\u591a path \u591a\u989c\u8272\uff1a\n\n```html\n\n\n```\n\n## Omi \u4e2d\u4f7f\u7528\n\nJSX:\n\n```jsx\n\n```\n\n\u652f\u6301\u591a path \u591a\u989c\u8272\uff1a\n\n```jsx\n\n```\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| paths | object | -- | \u652f\u6301\u591a\u56fe\u6807 path |\n| path | string | -- | \u56fe\u6807\u7684 path \u503c |\n| view | number | 1024 | \u89c6\u56fe\u5927\u5c0f |\n| scale | number | 2 | \u56fe\u6807\u653e\u5927\u500d\u6570 |\n| color | string | black | \u989c\u8272 |\n| rotate | bool | false | \u65cb\u8f6c\u52a8\u753b |\n\n* [\u2192 \u4f60\u53ef\u4ee5\u4f7f\u7528 Google \u7684\u5b57\u4f53\u56fe\u6807\u7d20\u6750](https://material.io/tools/icons)\n* [\u2192 Antd \u7684 SVG path](https://ant.design/components/icon/) & [\u2192 Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n\n"}});
+//# sourceMappingURL=41.cb75788c.chunk.js.map
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/41.cb75788c.chunk.js.map b/packages/omim/docs/build/static/js/41.cb75788c.chunk.js.map
new file mode 100644
index 000000000..8d7bb6c30
--- /dev/null
+++ b/packages/omim/docs/build/static/js/41.cb75788c.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../static/js/41.cb75788c.chunk.js","docs/zh-cn/icon.md"],"names":["webpackJsonp","119","module","exports"],"mappings":"AAAAA,cAAc,KAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/41.cb75788c.chunk.js","sourcesContent":["webpackJsonp([41],{\n\n/***/ 119:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon \\n\\nSVG 制作的 Icon.\\n\\n## 使用\\n\\n```html\\n\\n\\n\\n```\\n\\n也可以支持多 path 多颜色:\\n\\n```html\\n\\n\\n```\\n\\n## Omi 中使用\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n支持多 path 多颜色:\\n\\n```jsx\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | object | -- | 支持多图标 path |\\n| path | string | -- | 图标的 path 值 |\\n| view | number | 1024 | 视图大小 |\\n| scale | number | 2 | 图标放大倍数 |\\n| color | string | black | 颜色 |\\n| rotate | bool | false | 旋转动画 |\\n\\n* [→ 你可以使用 Google 的字体图标素材](https://material.io/tools/icons)\\n* [→ Antd 的 SVG path](https://ant.design/components/icon/) & [→ Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/41.cb75788c.chunk.js","module.exports = \"## Icon \\n\\nSVG 制作的 Icon.\\n\\n## 使用\\n\\n```html\\n\\n\\n\\n```\\n\\n也可以支持多 path 多颜色:\\n\\n```html\\n\\n\\n```\\n\\n## Omi 中使用\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n支持多 path 多颜色:\\n\\n```jsx\\n\\n```\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| paths | object | -- | 支持多图标 path |\\n| path | string | -- | 图标的 path 值 |\\n| view | number | 1024 | 视图大小 |\\n| scale | number | 2 | 图标放大倍数 |\\n| color | string | black | 颜色 |\\n| rotate | bool | false | 旋转动画 |\\n\\n* [→ 你可以使用 Google 的字体图标素材](https://material.io/tools/icons)\\n* [→ Antd 的 SVG path](https://ant.design/components/icon/) & [→ Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/icon.md\n// module id = 119\n// module chunks = 41"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/42.8db88734.chunk.js b/packages/omim/docs/build/static/js/42.21c0d3d5.chunk.js
similarity index 86%
rename from packages/omim/docs/build/static/js/42.8db88734.chunk.js
rename to packages/omim/docs/build/static/js/42.21c0d3d5.chunk.js
index 25b7c779d..9b0868c9b 100644
--- a/packages/omim/docs/build/static/js/42.8db88734.chunk.js
+++ b/packages/omim/docs/build/static/js/42.21c0d3d5.chunk.js
@@ -1,2 +1,2 @@
-webpackJsonp([42],{118:function(n,t){n.exports='## Icon Button \n\nIcon Button \u5141\u8bb8\u7528\u6237\u53ea\u9700\u70b9\u51fb\u4e00\u6b21\u5c31\u53ef\u4ee5\u8fdb\u884c\u64cd\u4f5c\u548c\u505a\u51fa\u9009\u62e9\u3002\n\n## \u4f7f\u7528\n\n```html\n\n\n\n \n \n\n```\n\n## Omi \u4e2d\u4f7f\u7528\n\nJSX:\n\n```jsx\n\n```\n\n## \u66f4\u591a\u5b98\u65b9 Icons\n\n\u8bbf\u95ee [Material Icons \u5b98\u65b9\u7f51\u7ad9](https://material.io/tools/icons/?style=baseline) \u83b7\u53d6\u66f4\u591a Icons\u3002\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| ripple | boolean | -- | \u6ce2\u7eb9\u6548\u679c |\n| toggle | object | -- | |\n| icons | object | -- | \u591a\u4e2a\u56fe\u6807 |\n| icon | string | -- | \u56fe\u6807 |\n| imgs | object | -- | \u56fe\u7247\u8def\u5f84 |\n| svg | object | -- | svg\u56fe\u6807 |\n| color | string | -- | \u989c\u8272 |\n| disabled | boolean | -- | \u4f7f\u56fe\u6807\u6309\u94ae\u5931\u6548 |\n| onChange | function | -- | \u56fe\u6807\u53d8\u5316\u89e6\u53d1 |\n\n* [\u2192 \u4f60\u53ef\u4ee5\u4f7f\u7528 Google \u7684\u5b57\u4f53\u56fe\u6807\u7d20\u6750](https://material.io/tools/icons)\n* [\u2192 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528 antd \u7684\u6d77\u91cf svg path \u4f5c\u4e3a icon \u7684 path](https://ant.design/components/icon-cn/),\u4f60\u53ef\u4ee5\u901a\u8fc7\u5f00\u53d1\u8005\u5de5\u5177\u67e5\u770b\u5bf9\u5e94 icon \u7684 path\n* [\u2192 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4e0a antd github \u83b7\u53d6 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n'}});
-//# sourceMappingURL=42.8db88734.chunk.js.map
\ No newline at end of file
+webpackJsonp([42],{118:function(n,t){n.exports='## Icon Button \n\nIcon Button \u5141\u8bb8\u7528\u6237\u53ea\u9700\u70b9\u51fb\u4e00\u6b21\u5c31\u53ef\u4ee5\u8fdb\u884c\u64cd\u4f5c\u548c\u505a\u51fa\u9009\u62e9\u3002\n\n## \u4f7f\u7528\n\n```html\n\n\n\n \n \n\n```\n\n## Omi \u4e2d\u4f7f\u7528\n\nJSX:\n\n```jsx\n\n```\n\n## \u66f4\u591a\u5b98\u65b9 Icons\n\n\u8bbf\u95ee [Material Icons \u5b98\u65b9\u7f51\u7ad9](https://material.io/tools/icons/?style=baseline) \u83b7\u53d6\u66f4\u591a Icons\u3002\n\n## API\n\n### Props\n\n| **Name** | **Type** | **Defaults** | **Details** |\n| ------------- |:-------------:|:-----:|:-------------:|\n| ripple | boolean | -- | \u6ce2\u7eb9\u6548\u679c |\n| toggle | object | -- | |\n| icons | object | -- | \u591a\u4e2a\u56fe\u6807 |\n| icon | string | -- | \u56fe\u6807 |\n| imgs | object | -- | \u56fe\u7247\u8def\u5f84 |\n| svg | object | -- | svg\u56fe\u6807 |\n| color | string | -- | \u989c\u8272 |\n| disabled | boolean | -- | \u4f7f\u56fe\u6807\u6309\u94ae\u5931\u6548 |\n| onChange | function | -- | \u56fe\u6807\u53d8\u5316\u89e6\u53d1 |\n\n* [\u2192 \u4f60\u53ef\u4ee5\u4f7f\u7528 Google \u7684\u5b57\u4f53\u56fe\u6807\u7d20\u6750](https://material.io/tools/icons)\n* [\u2192 Antd \u7684 SVG path](https://ant.design/components/icon/) & [\u2192 Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\n'}});
+//# sourceMappingURL=42.21c0d3d5.chunk.js.map
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/42.21c0d3d5.chunk.js.map b/packages/omim/docs/build/static/js/42.21c0d3d5.chunk.js.map
new file mode 100644
index 000000000..36c554856
--- /dev/null
+++ b/packages/omim/docs/build/static/js/42.21c0d3d5.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../static/js/42.21c0d3d5.chunk.js","docs/zh-cn/icon-button.md"],"names":["webpackJsonp","118","module","exports"],"mappings":"AAAAA,cAAc,KAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/42.21c0d3d5.chunk.js","sourcesContent":["webpackJsonp([42],{\n\n/***/ 118:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon Button \\n\\nIcon Button 允许用户只需点击一次就可以进行操作和做出选择。\\n\\n## 使用\\n\\n```html\\n\\n\\n\\n \\n \\n\\n```\\n\\n## Omi 中使用\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n## 更多官方 Icons\\n\\n访问 [Material Icons 官方网站](https://material.io/tools/icons/?style=baseline) 获取更多 Icons。\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| ripple | boolean | -- | 波纹效果 |\\n| toggle | object | -- | |\\n| icons | object | -- | 多个图标 |\\n| icon | string | -- | 图标 |\\n| imgs | object | -- | 图片路径 |\\n| svg | object | -- | svg图标 |\\n| color | string | -- | 颜色 |\\n| disabled | boolean | -- | 使图标按钮失效 |\\n| onChange | function | -- | 图标变化触发 |\\n\\n* [→ 你可以使用 Google 的字体图标素材](https://material.io/tools/icons)\\n* [→ Antd 的 SVG path](https://ant.design/components/icon/) & [→ Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/42.21c0d3d5.chunk.js","module.exports = \"## Icon Button \\n\\nIcon Button 允许用户只需点击一次就可以进行操作和做出选择。\\n\\n## 使用\\n\\n```html\\n\\n\\n\\n \\n \\n\\n```\\n\\n## Omi 中使用\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n## 更多官方 Icons\\n\\n访问 [Material Icons 官方网站](https://material.io/tools/icons/?style=baseline) 获取更多 Icons。\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| ripple | boolean | -- | 波纹效果 |\\n| toggle | object | -- | |\\n| icons | object | -- | 多个图标 |\\n| icon | string | -- | 图标 |\\n| imgs | object | -- | 图片路径 |\\n| svg | object | -- | svg图标 |\\n| color | string | -- | 颜色 |\\n| disabled | boolean | -- | 使图标按钮失效 |\\n| onChange | function | -- | 图标变化触发 |\\n\\n* [→ 你可以使用 Google 的字体图标素材](https://material.io/tools/icons)\\n* [→ Antd 的 SVG path](https://ant.design/components/icon/) & [→ Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/icon-button.md\n// module id = 118\n// module chunks = 42"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/42.8db88734.chunk.js.map b/packages/omim/docs/build/static/js/42.8db88734.chunk.js.map
deleted file mode 100644
index 557a1fdb8..000000000
--- a/packages/omim/docs/build/static/js/42.8db88734.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../static/js/42.8db88734.chunk.js","docs/zh-cn/icon-button.md"],"names":["webpackJsonp","118","module","exports"],"mappings":"AAAAA,cAAc,KAERC,IACA,SAAUC,EAAQC,GCHxBD,EAAAC,QAAA","file":"static/js/42.8db88734.chunk.js","sourcesContent":["webpackJsonp([42],{\n\n/***/ 118:\n/***/ (function(module, exports) {\n\nmodule.exports = \"## Icon Button \\n\\nIcon Button 允许用户只需点击一次就可以进行操作和做出选择。\\n\\n## 使用\\n\\n```html\\n\\n\\n\\n \\n \\n\\n```\\n\\n## Omi 中使用\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n## 更多官方 Icons\\n\\n访问 [Material Icons 官方网站](https://material.io/tools/icons/?style=baseline) 获取更多 Icons。\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| ripple | boolean | -- | 波纹效果 |\\n| toggle | object | -- | |\\n| icons | object | -- | 多个图标 |\\n| icon | string | -- | 图标 |\\n| imgs | object | -- | 图片路径 |\\n| svg | object | -- | svg图标 |\\n| color | string | -- | 颜色 |\\n| disabled | boolean | -- | 使图标按钮失效 |\\n| onChange | function | -- | 图标变化触发 |\\n\\n* [→ 你可以使用 Google 的字体图标素材](https://material.io/tools/icons)\\n* [→ 也可以直接使用 antd 的海量 svg path 作为 icon 的 path](https://ant.design/components/icon-cn/),你可以通过开发者工具查看对应 icon 的 path\\n* [→ 也可以直接上 antd github 获取 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\"\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/42.8db88734.chunk.js","module.exports = \"## Icon Button \\n\\nIcon Button 允许用户只需点击一次就可以进行操作和做出选择。\\n\\n## 使用\\n\\n```html\\n\\n\\n\\n \\n \\n\\n```\\n\\n## Omi 中使用\\n\\nJSX:\\n\\n```jsx\\n\\n```\\n\\n## 更多官方 Icons\\n\\n访问 [Material Icons 官方网站](https://material.io/tools/icons/?style=baseline) 获取更多 Icons。\\n\\n## API\\n\\n### Props\\n\\n| **Name** | **Type** | **Defaults** | **Details** |\\n| ------------- |:-------------:|:-----:|:-------------:|\\n| ripple | boolean | -- | 波纹效果 |\\n| toggle | object | -- | |\\n| icons | object | -- | 多个图标 |\\n| icon | string | -- | 图标 |\\n| imgs | object | -- | 图片路径 |\\n| svg | object | -- | svg图标 |\\n| color | string | -- | 颜色 |\\n| disabled | boolean | -- | 使图标按钮失效 |\\n| onChange | function | -- | 图标变化触发 |\\n\\n* [→ 你可以使用 Google 的字体图标素材](https://material.io/tools/icons)\\n* [→ 也可以直接使用 antd 的海量 svg path 作为 icon 的 path](https://ant.design/components/icon-cn/),你可以通过开发者工具查看对应 icon 的 path\\n* [→ 也可以直接上 antd github 获取 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs/zh-cn/icon-button.md\n// module id = 118\n// module chunks = 42"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/cn.9f8b8353.js b/packages/omim/docs/build/static/js/cn.eb488e02.js
similarity index 99%
rename from packages/omim/docs/build/static/js/cn.9f8b8353.js
rename to packages/omim/docs/build/static/js/cn.eb488e02.js
index 2ea113b7c..a5bd4305f 100644
--- a/packages/omim/docs/build/static/js/cn.9f8b8353.js
+++ b/packages/omim/docs/build/static/js/cn.eb488e02.js
@@ -1,2 +1,2 @@
-!function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n=window.webpackJsonp;window.webpackJsonp=function(t,r,i){for(var a,s,c=0,l=[];c2;)Ae.push(arguments[a]);for(t&&null!=t.children&&(Ae.length||Ae.push(t.children),delete t.children);Ae.length;)if((o=Ae.pop())&&void 0!==o.pop)for(a=o.length;a--;)Ae.push(o[a]);else"boolean"===typeof o&&(o=null),(i="function"!==typeof e)&&(null==o?o="":"number"===typeof o?o=String(o):"string"!==typeof o&&(i=!1)),i&&r?s[s.length-1]+=o:0===s.length?s=[o]:s.push(o),r=i;var c=new n;return c.nodeName=e,c.children=s,c.attributes=null==t?void 0:t,c.key=null==t?void 0:t.key,void 0!==Pe.vnode&&Pe.vnode(c),c}function o(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function i(e,t){for(var n,r,i=o(e),a=1;a2?[].slice.call(arguments,2):e.children)}function p(e){1==Ue.push(e)&&(Pe.debounceRendering||Le)(m)}function m(){for(var e;e=Ue.pop();)ee(e)}function h(e,t,n){if("string"===typeof t||"number"===typeof t)return void 0!==e.splitText;if("string"===typeof t.nodeName){var r=$e[t.nodeName];return r?n||e._componentConstructor===r:!e._componentConstructor&&b(e,t.nodeName)}return n||e._componentConstructor===t.nodeName}function b(e,t){return e.normalizedNodeName===t||e.nodeName.toLowerCase()===t.toLowerCase()}function y(e){var t=a({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function g(e,t){var n=t?Pe.doc.createElementNS("http://www.w3.org/2000/svg",e):Pe.doc.createElement(e);return n.normalizedNodeName=e,n}function v(e){for(var t=e.replace(/\/\*(.|\s)*?\*\//g," ").replace(/\s+/g," "),n={},r=t.match(/ ?(.*?) ?{([^}]*)}/)||[o,i,t],o=r[0],i=r[1],a=r[2],s=a.split(";").map(function(e){return e.split(":").map(function(e){return e&&e.trim()})}),c=s,c=Array.isArray(c),c=0,c=c||c[Symbol.iterator]();;){var l;if(c){if(c>=c.length)break;l=c[c++]}else{if(c=c.next(),c.done)break;l=c.value}var u=l,d=u[0],f=u[1];n[function(e){return e.replace(/\W+\w/g,function(e){return e.slice(-1).toUpperCase()})}(d)]=f}return n}function w(e){var t=e.parentNode;t&&t.removeChild(e)}function x(e,t,n,r,o){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)s(n,null),s(r,e);else if("class"!==t||o)if("style"===t)if(Pe.isWeb){if(r&&"string"!==typeof r&&"string"!==typeof n||(e.style.cssText=r||""),r&&"object"===("undefined"===typeof r?"undefined":Se(r))){if("string"!==typeof n)for(var i in n)i in r||(e.style[i]="");for(var i in r)e.style[i]="number"===typeof r[i]&&!1===Me.test(i)?r[i]+"px":r[i]}}else{var a=n,c=r;"string"===typeof n&&(a=v(n)),"string"==typeof r&&(c=v(r));var l={},u=!1;if(a){for(var d in a)"object"!=("undefined"===typeof c?"undefined":Se(c))||d in c||(l[d]="",u=!0);for(var f in c)c[f]!==a[f]&&(l[f]=c[f],u=!0);u&&e.setStyles(l)}else e.setStyles(c)}else if("dangerouslySetInnerHTML"===t)r&&(e.innerHTML=r.__html||"");else if("o"==t[0]&&"n"==t[1]){var p=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),r?n||(e.addEventListener(t,O,p),"tap"==t&&(e.addEventListener("touchstart",k,p),e.addEventListener("touchend",E,p))):(e.removeEventListener(t,O,p),"tap"==t&&(e.removeEventListener("touchstart",k,p),e.removeEventListener("touchend",E,p))),(e._listeners||(e._listeners={}))[t]=r}else if("list"!==t&&"type"!==t&&!o&&t in e)_(e,t,null==r?"":r),null!=r&&!1!==r||e.removeAttribute(t);else{var m=o&&t!==(t=t.replace(/^xlink:?/,""));null==r||!1===r?m?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!==typeof r&&(m?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),r):e.setAttribute(t,r))}else e.className=r||""}function _(e,t,n){try{e[t]=n}catch(e){}}function O(e){return this._listeners[e.type](Pe.event&&Pe.event(e)||e)}function k(e){this.___touchX=e.touches[0].pageX,this.___touchY=e.touches[0].pageY,this.___scrollTop=document.body.scrollTop}function E(e){Math.abs(e.changedTouches[0].pageX-this.___touchX)<30&&Math.abs(e.changedTouches[0].pageY-this.___touchY)<30&&Math.abs(document.body.scrollTop-this.___scrollTop)<30&&this.dispatchEvent(new CustomEvent("tap",{detail:e}))}function j(e){for(var t=0,n=Pe.styleCache.length;t0||t.children.length>0)return!0;for(n in t)if("children"!=n){var r=Se(t[n]);if("function"==r||"object"==r)return!0;if(t[n]!=e[n])return!0}}function ee(e,t,n,r){if(!e._disable){var o,i,s,c=e.props,l=e.data,u=e.context,d=e.prevProps||c,f=e.prevState||l,p=e.prevContext||u,m=e.base,h=e.nextBase,b=m||h,g=e._component,v=!1;if(m&&(e.props=d,e.data=f,e.context=p,e.store||2==t||J(d,c)?(v=!1,e.beforeUpdate&&e.beforeUpdate(c,l,u)):v=!0,e.props=c,e.data=l,e.context=u),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,!v){e.beforeRender&&e.beforeRender(),o=e.render(c,l,u),(e.constructor.css||e.css)&&T(o,"_s"+j(e.constructor)),z(o,e.scopedCssAttr),e.getChildContext&&(u=a(a({},u),e.getChildContext()));var w,x,_=o&&o.nodeName,O=Pe.mapping[_];if(O){var k=y(o);i=g,i&&i.constructor===O&&k.key==i.__key?K(i,k,1,u,!1):(w=i,e._component=i=G(O,k,u),i.nextBase=i.nextBase||h,i._parentComponent=e,K(i,k,0,u,!1),ee(i,1,n,!0)),x=i.base}else s=b,w=g,w&&(s=e._component=null),(b||1===t)&&(s&&(s._component=null),x=I(s,o,u,n||!m,b&&b.parentNode,!0));if(b&&x!==b&&i!==g){var E=b.parentNode;E&&x!==E&&(E.replaceChild(x,b),w||(b._component=null,M(b,!1)))}if(w&&ne(w),e.base=x,x&&!r){for(var S=e,P=e;P=P._parentComponent;)(S=P).base=x;x._component=S,x._componentConstructor=S.constructor}}if(!m||n?Fe.unshift(e):v||(e.afterUpdate&&e.afterUpdate(d,f,p),e.updated&&e.updated(d,f,p),Pe.afterUpdate&&Pe.afterUpdate(e)),null!=e._renderCallbacks)for(;e._renderCallbacks.length;)e._renderCallbacks.pop().call(e);He||r||B()}}function te(e,t,n,r){for(var o=e&&e._component,i=o,a=e,s=o&&e._componentConstructor===t.nodeName,c=s,l=y(t);o&&!c&&(o=o._parentComponent);)c=o.constructor===t.nodeName;return o&&c&&(!r||o._component)?(K(o,l,3,n,r),e=o.base):(i&&!s&&(ne(i),e=a=null),o=G(t.nodeName,l,n,t),e&&!o.nextBase&&(o.nextBase=e,a=null),K(o,l,1,n,r),e=o.base,a&&e!==a&&(a._component=null,M(a,!1))),e}function ne(e){Pe.beforeUnmount&&Pe.beforeUnmount(e);var t=e.base;if(e._disable=!0,e.uninstall&&e.uninstall(),e.store&&e.store.instances)for(var n=0,r=e.store.instances.length;n0&&(this.instances.forEach(function(o){(r||n.updateAll||o.constructor.updatePath&&le(t,o.constructor.updatePath)||o._updatePath&&le(t,o._updatePath))&&(o.constructor.use?o.use=u(e.data,o.constructor.use):o.initUse&&(o.use=u(e.data,o.initUse())),o.update())}),this.onChange&&this.onChange(t))}}function ce(e,t){if(!e)return!1;for(var n in t){if(e.indexOf(n)>-1)return!0;for(var r=0,o=e.length;r0)return{class:ye.apply(null,n)}}function ve(e){var t=e.base;if(t)for(;t.parentNode;){if(t.parentNode._component)return t.parentNode._component;t=t.parentNode}}function we(e){var t="";for(var n in e){var r=e[n];null!=r&&(t&&(t+=" "),t+=it[n]||(it[n]=n.replace(/([A-Z])/g,"-$1").toLowerCase()),t+=": ",t+=r,"number"===typeof r&&!1===IS_NON_DIMENSIONAL.test(n)&&(t+="px"),t+=";")}return t||void 0}function xe(e,t,n,r){n=n||{},t=Object.assign({scopedCSS:!0},t);var o={},i=_e(e,t,n,r,o);return{css:Object.values(o),html:i}}function _e(e,t,n,r,o){if(null==e||"boolean"===typeof e)return"";var i=e.nodeName,a=e.attributes,s=!1,c=t.pretty,l=c&&"string"===typeof c?c:"\t";if("object"!==("undefined"===typeof e?"undefined":Se(e))&&!i)return et(e);var u=nt[i];if(u){s=!0;var d,f=ke(e),p=new u(f,n);if(p._disable=p.__x=!0,p.props=f,p.store=n,p.install&&p.install(),p.beforeRender&&p.beforeRender(),d=p.render(p.props,p.data,p.store),t.scopedCSS){if(p.constructor.css||p.css){var m=p.constructor.css?p.constructor.css:"function"===typeof p.css?p.css():p.css,h="_s"+j(p.constructor);o[h]={id:h,css:S(m,h)},T(d,h)}p.scopedCSSAttr=e.css,z(d,p.scopedCSSAttr)}return _e(d,t,n,!1,o)}var b,y="";if(a){var g=Object.keys(a);t&&!0===t.sortAttributes&&g.sort();for(var v=0;v]/)&&(t&&t.allAttributes||"key"!==w&&"ref"!==w))){if("className"===w){if(a.class)continue;w="class"}else r&&w.match(/^xlink:?./)&&(w=w.toLowerCase().replace(/^xlink:?/,"xlink:"));"style"===w&&x&&"object"===("undefined"===typeof x?"undefined":Se(x))&&(x=we(x));var _=t.attributeHook&&t.attributeHook(w,x,n,t,s);if(_||""===_)y+=_;else if("dangerouslySetInnerHTML"===w)b=x&&x.__html;else if((x||0===x||""===x)&&"function"!==typeof x){if((!0===x||""===x)&&(x=w,!t||!t.xml)){y+=" "+w;continue}y+=" "+w+'="'+et(x)+'"'}}}}if(c){var O=y.replace(/^\n\s*/," ");O===y||~O.indexOf("\n")?c&&~y.indexOf("\n")&&(y+="\n"):y=O}if(y="<"+i+y+">",String(i).match(/[\s\n\\\/='"\0<>]/))throw y;var k=String(i).match(rt);k&&(y=y.replace(/>$/," />"));var E=[];if(b)c&&ot(b)&&(b="\n"+l+tt(b,l)),y+=b;else if(e.children){for(var P=c&&~y.indexOf("\n"),v=0;v";return k||(c&&~y.indexOf("\n")&&(y+="\n"),y+=""+i+">"),y}function Oe(e,t){for(var n in t)e[n]=t[n];return e}function ke(e){var t=Oe({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function Ee(e){var t=at(this,ut(e),arguments,[]);return t.length>1?t:t[0]}function je(){return{}}Object.defineProperty(t,"__esModule",{value:!0});var Se="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe={scopedStyle:!0,mapping:{},isWeb:!0,staticStyleMapping:{},doc:"object"===("undefined"===typeof document?"undefined":Se(document))?document:null,root:function(){return"object"===("undefined"===typeof e?"undefined":Se(e))&&e&&e.Math===Math&&e.Array===Array?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof e?e:function(){return this}()}(),styleCache:[]},Ae=[],Te=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable;if("undefined"!==typeof Element&&!Element.prototype.addEventListener){var ze=function(e){e||(e=window.event);for(var t=0,n=0,r=Be[e.type];n8&&(Ie=!0)}var Le=Ie?Promise.resolve().then.bind(Promise.resolve()):setTimeout,Me=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,Ue=[],$e=Pe.mapping,De=0,Fe=[],He=0,We=!1,qe=!1,Ve={},Xe=function e(t,n,r){var o=function(t,n,r){t.$observer||(t.$observer=this);var o=t.$observer,i=[];e.isArray(t)&&(0===t.length&&(t.$observeProps={},t.$observeProps.$observerPath="#"),o.mock(t));for(var a in t)t.hasOwnProperty(a)&&(r?e.isArray(n)&&e.isInArray(n,a)?(i.push(a),o.watch(t,a)):e.isString(n)&&a==n&&(i.push(a),o.watch(t,a)):(i.push(a),o.watch(t,a)));o.target=t,o.propertyChangedHandler||(o.propertyChangedHandler=[]);var s=r||n;o.propertyChangedHandler.push({all:!r,propChanged:s,eventPropArr:i})};return o.prototype={onPropertyChanged:function(t,n,r,o,i){if(n!==r&&this.propertyChangedHandler)for(var a=e._getRootName(t,i),s=0,c=this.propertyChangedHandler.length;s-1;)if(t===e[n])return!0;return!1},Xe.isFunction=function(e){return"[object Function]"==Object.prototype.toString.call(e)},Xe._getRootName=function(e,t){return"#"===t?e:t.split("-")[1]},Xe.add=function(e,t){e.$observer.watch(e,t)},Xe.set=function(e,t,n,r){r||(e[t]=n),e.$observer.watch(e,t),r&&(e[t]=n)},Array.prototype.size=function(e){this.length=e};var Ge=[],Ye=[],Ze=0,Qe=function(){function e(t,n){re(this,e),this.props=i(l(this.constructor.props),this.constructor.defaultProps,t),this.elementId=Ze++,this.data=this.constructor.data||this.data||{},this._preCss=null,this.store=n}return e.prototype.update=function(e){this._willUpdate=!0,e&&(this._renderCallbacks=this._renderCallbacks||[]).push(e),ee(this,2),Pe.componentChange&&Pe.componentChange(this,this.base),this._willUpdate=!1},e.prototype.fire=function(e,t){var n=this;Object.keys(this.props).every(function(r){return"on"+e.toLowerCase()!==r.toLowerCase()||(n.props[r]({detail:t}),!1)})},e.prototype.render=function(){},e}();Qe.is="WeElement";var Ke=function(e){function t(){return me(this,t),he(this,e.apply(this,arguments))}return be(t,e),t.prototype.beforeInstall=function(){this.data=this.vm.data},t}(Qe);Ke.observe=!0,Ke.mergeUpdate=!0;var Je={}.hasOwnProperty,et=function(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},tt=function(e,t){return String(e).replace(/(\n+)/g,"$1"+(t||"\t"))},nt=Pe.mapping,rt=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,ot=function(e,t,n){return String(e).length>(t||40)||!n&&-1!==String(e).indexOf("\n")||-1!==String(e).indexOf("<")},it={},at=function e(t,n,r,o){for(var i=1;i"===t?(s(),r=1):r&&("="===t?(r=4,n=o,o=""):"/"===t?(s(),3===r&&(a=a[0]),r=a,(a=a[0]).push(r,4),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(s(),r=2):o+=t)}return s(),a},ct="function"==typeof Map,lt=ct?new Map:{},ut=ct?function(e){var t=lt.get(e);return t||lt.set(e,t=st(e)),t}:function(e){for(var t="",n=0;n0)return!1;return!0}},{key:"render",value:function(){if(this.demo)return Omi.h("div",null,Omi.h("iframe",{style:"width:"+(window.innerWidth-1180)+"px;height:"+(window.innerHeight-59)+"px;visibility:"+(this.show?"visible":"hidden")+";",src:this.demo}),Omi.h("div",{class:"icon",onClick:this.toggle},Omi.h("svg",{viewBox:"64 64 896 896",class:"",style:"left:"+(this.show?"14px":"0px")+";","data-icon":"left",width:"1.2em",height:"1.2em",fill:"currentColor","aria-hidden":"true",focusable:"false"},Omi.h("path",{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"})),Omi.h("svg",{viewBox:"64 64 896 896",class:"",style:"left:"+(this.show?"-14px":"0px")+";","data-icon":"right",width:"1.2em",height:"1.2em",fill:"currentColor","aria-hidden":"true",focusable:"false"},Omi.h("path",{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"}))))}}]),t}(s.WeElement))},3:function(e,t,n){"use strict";function r(){}function o(e){try{return e.then}catch(e){return g=e,v}}function i(e,t){try{return e(t)}catch(e){return g=e,v}}function a(e,t,n){try{e(t,n)}catch(e){return g=e,v}}function s(e){if("object"!==b(this))throw new TypeError("Promises must be constructed via new");if("function"!==typeof e)throw new TypeError("Promise constructor's argument is not a function");this._75=0,this._83=0,this._18=null,this._38=null,e!==r&&h(e,this)}function c(e,t,n){return new e.constructor(function(o,i){var a=new s(r);a.then(o,i),l(e,new m(t,n,a))})}function l(e,t){for(;3===e._83;)e=e._18;if(s._47&&s._47(e),0===e._83)return 0===e._75?(e._75=1,void(e._38=t)):1===e._75?(e._75=2,void(e._38=[e._38,t])):void e._38.push(t);u(e,t)}function u(e,t){y(function(){var n=1===e._83?t.onFulfilled:t.onRejected;if(null===n)return void(1===e._83?d(t.promise,e._18):f(t.promise,e._18));var r=i(n,e._18);r===v?f(t.promise,g):d(t.promise,r)})}function d(e,t){if(t===e)return f(e,new TypeError("A promise cannot be resolved with itself."));if(t&&("object"===("undefined"===typeof t?"undefined":b(t))||"function"===typeof t)){var n=o(t);if(n===v)return f(e,g);if(n===e.then&&t instanceof s)return e._83=3,e._18=t,void p(e);if("function"===typeof n)return void h(n.bind(t),e)}e._83=1,e._18=t,p(e)}function f(e,t){e._83=2,e._18=t,s._71&&s._71(e,t),p(e)}function p(e){if(1===e._75&&(l(e,e._38),e._38=null),2===e._75){for(var t=0;t768};var o=0;this.map={},this.positionMap={},a.default.menus[this.data.lan].forEach(function(e,t){e.list.forEach(function(e,r){e.id=o++,e.position=[t,r],n.map[e.id]=e,e.index=t,e.subIndex=r,n.positionMap[t+"-"+r]=e})}),this.preIndex=0,this.preSubIndex=0}return o(e,[{key:"getNext",value:function(){var e=this.positionMap[this.data.position.join("-")];if(e)return this.map[e.id+1]}},{key:"getPre",value:function(){var e=this.positionMap[this.data.position.join("-")];if(e)return this.map[e.id-1]}},{key:"init",value:function(){var e=this;this.remarkable=new Remarkable({html:!0}),""===location.hash&&(this.data.position=[0,0],this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md,this.data.lan,function(t){e.data.html=e.remarkable.render(t)})),this.demo=this.data.menus[this.data.lan][0].list[0].demo,this.initRouter()}},{key:"toogleSidebar",value:function(){this.data.sideBarShow=!this.data.sideBarShow}},{key:"hideSidebar",value:function(){this.data.sideBarShow=!1}},{key:"initRouter",value:function(){var e=this,t=this.data.menus[this.data.lan];t.forEach(function(n){n.list.forEach(function(n){route("/"+n.md,function(r){t[e.preIndex].list[e.preSubIndex].selected=!1,e.preIndex=r.query.index,e.preSubIndex=r.query.subIndex,e.data.position=[Number(r.query.index),Number(r.query.subIndex)],e.data.sideBarShow=!1,e.myDemo.demo=t[e.preIndex].list[e.preSubIndex].demo,e.myDemo.update(),e.getMarkDown(n.md,e.data.lan,function(t){e.data.html=e.remarkable.render(t),document.body.scrollTop=0,document.documentElement.scrollTop=0})})})})}},{key:"getMarkDown",value:function(e,t,r){n(36)("./"+t+"/"+e+".md").then(function(e){r(e)})}}]),e}();t.default=s},33:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={menus:{"zh-cn":[{title:"Omim",list:[{name:"\u7b80\u4ecb",md:"introduction"}]},{title:"\u57fa\u7840",list:[{name:"Button \u6309\u94ae",md:"button",demo:"./repl/button.html"},{name:"Fab \u52a8\u4f5c\u6309\u94ae",md:"fab",demo:"./repl/fab.html"},{name:"Icon \u56fe\u6807",md:"icon",demo:"./repl/icon.html"},{name:"IconButton \u56fe\u6807\u6309\u94ae",md:"icon-button",demo:"./repl/icon-button.html"},{name:"Avatar \u5934\u50cf",md:"avatar",demo:"./repl/avatar.html"},{name:"Loading \u52a0\u8f7d",md:"loading",demo:"./repl/loading.html"},{name:"Breadcrumb \u9762\u5305\u5c51",md:"breadcrumb",demo:"./repl/breadcrumb.html"}]},{title:"\u516c\u7528",list:[{name:"Transition \u8fc7\u6e21",md:"transition",demo:"https://tencent.github.io/omi/packages/omim/demos/transition/index.html"},{name:"To \u8fd0\u52a8",md:"to",demo:"https://tencent.github.io/omi/packages/omim/demos/to/index.html"},{name:"Theme \u4e3b\u9898",md:"theme",demo:"https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html"},{name:"Typography \u6392\u7248",md:"typography",demo:"./repl/typography.html"},{name:"Layout Grid \u7f51\u683c\u5e03\u5c40",md:"layout-grid",demo:"https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html"}]},{title:"\u5e03\u5c40",list:[{name:"Row \u884c",md:"row",demo:"./repl/row.html"},{name:"Elevation \u9ad8\u5ea6\u76d2",md:"elevation",demo:"./repl/elevation.html"},{name:"Image List \u56fe\u7247\u5217\u8868",md:"image-list",demo:"./repl/image-list.html"}]},{title:"\u5bfc\u822a",list:[{name:"Menu \u83dc\u5355",md:"menu",demo:"./repl/menu.html"},{name:"Drawer \u62bd\u5c49",md:"drawer",demo:"https://tencent.github.io/omi/packages/omim/demos/drawer/index.html"},{name:"Tab \u6807\u7b7e\u5207\u6362",md:"tab",demo:"./repl/tab.html"},{name:"Nav \u5bfc\u822a",md:"nav",demo:"./repl/nav.html"},{name:"Pagination \u5206\u9875",md:"pagination",demo:"https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html"},{name:"Top App Bar \u9876\u90e8\u680f",md:"top-app-bar",demo:"https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html"}]},{title:"\u64cd\u4f5c\u53cd\u9988",list:[{name:"Dialog \u5bf9\u8bdd\u6846",md:"dialog",demo:"./repl/dialog.html"},{name:"Snackbar \u63d0\u9192",md:"snackbar",demo:"./repl/snackbar.html"},{name:"ActionSheet \u884c\u52a8\u8868",md:"action-sheet",demo:"https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html"},{name:"ColorPicker \u989c\u8272\u9009\u62e9\u673a",md:"color-picker",demo:"./repl/color-picker.html"},{name:"Popover \u63d0\u793a",md:"popover",demo:"https://tencent.github.io/omi/packages/omim/demos/popover/index.html"},{name:"Toast \u5f39\u51fa\u63d0\u793a",md:"toast",demo:"https://tencent.github.io/omi/packages/omim/demos/toast/index.html"}]},{title:"\u8868\u5355",list:[{name:"Text Field \u6587\u672c\u8f93\u5165",md:"text-field",demo:"./repl/text-field.html"},{name:"Select \u4e0b\u62c9\u9009\u62e9",md:"select",demo:"./repl/select.html"},{name:"Checkbox \u590d\u9009\u6846",md:"checkbox",demo:"./repl/checkbox.html"},{name:"Radio \u5355\u9009\u6846",md:"radio",demo:"./repl/radio.html"},{name:"Switch \u5207\u6362",md:"switch",demo:"./repl/switch.html"},{name:"DateTimePicker \u65f6\u95f4\u65e5\u671f\u9009\u62e9\u5668",md:"date-time-picker",demo:"https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html"},{name:"Picker \u539f\u751f\u9009\u62e9\u5668",md:"picker",demo:"https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html"},{name:"TransferList \u7a7f\u68ad\u5217\u8868",md:"transfer-list",demo:"https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html"}]},{title:"\u6570\u636e",list:[{name:"List \u5217\u8868",md:"list",demo:"./repl/list.html"},{name:"Table \u8868\u683c",md:"table",demo:"https://tencent.github.io/omi/packages/omim/demos/table/index.script.html"},{name:"Linear Progress \u7ebf\u6027\u8fdb\u5ea6",md:"linear-progress",demo:"./repl/linear-progress.html"},{name:"Slider \u6ed1\u5757",md:"slider",demo:"./repl/slider.html"},{name:"Chips \u6807\u7b7e",md:"chips",demo:"./repl/chips.html"},{name:"Tag \u6807\u7b7e",md:"tag",demo:"./repl/tag.html"},{name:"Badge \u5fbd\u7ae0",md:"badge",demo:"./repl/badge.html"},{name:"Tree \u6811",md:"tree",demo:"./repl/tree.html"},{name:"Card \u5361\u7247",md:"card",demo:"./repl/card.html"},{name:"Path Progress \u8def\u5f84\u8fdb\u5ea6",md:"path-progress",demo:"./repl/path-progress.html"},{name:"Paper \u7eb8\u7247",md:"paper",demo:"./repl/paper.html"},{name:"Step \u6b65\u9aa4",md:"step",demo:"./repl/step.html"},{name:"Simple Card \u7b80\u5355\u5361\u7247",md:"simple-card",demo:"./repl/simple-card.html"},{name:"Editor \u5bcc\u6587\u672c\u7f16\u8f91\u5668",md:"editor",demo:"https://tencent.github.io/omi/packages/omim/demos/editor/index.html"},{name:"Spreadsheet \u7535\u5b50\u8868\u683c",md:"spreadsheet",demo:"https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html"},{name:"Rate \u8bc4\u5206",md:"rate",demo:"https://tencent.github.io/omi/packages/omim/demos/rate/index.html"}]},{title:"\u56fe\u8868",list:[{name:"\u7b80\u4ecb",md:"introduction-chart"},{name:"\u67f1\u72b6\u56fe",md:"bar",demo:"./repl/bar.html"},{name:"\u7ebf\u72b6\u56fe",md:"line",demo:"./repl/line.html"},{name:"\u6563\u70b9\u56fe",md:"scatter",demo:"./repl/scatter.html"},{name:"\u997c\u56fe",md:"pie",demo:"./repl/pie.html"},{name:"\u73af\u72b6\u56fe",md:"doughnut",demo:"./repl/doughnut.html"},{name:"\u96f7\u8fbe\u56fe",md:"radar",demo:"./repl/radar.html"},{name:"\u6781\u533a\u56fe",md:"polar-area",demo:"./repl/polar-area.html"},{name:"\u6c14\u6ce1\u56fe",md:"bubble",demo:"./repl/bubble.html"},{name:"\u5408\u6210\u56fe",md:"bar-line",demo:"./repl/bar-line.html"}]}],en:[{title:"Omim",list:[{name:"Introduction",md:"introduction"}]},{title:"Base",list:[{name:"Button",md:"button",demo:"./repl/button.html"},{name:"Fab",md:"fab",demo:"./repl/fab.html"},{name:"Icon",md:"icon",demo:"./repl/icon.html"},{name:"IconButton",md:"icon-button",demo:"./repl/icon-button.html"},{name:"Avatar",md:"avatar",demo:"./repl/avatar.html"},{name:"Loading",md:"loading",demo:"./repl/loading.html"},{name:"Breadcrumb",md:"breadcrumb",demo:"./repl/breadcrumb.html"}]},{title:"Util",list:[{name:"Transition",md:"transition",demo:"https://tencent.github.io/omi/packages/omim/demos/transition/index.html"},{name:"To",md:"to",demo:"https://tencent.github.io/omi/packages/omim/demos/to/index.html"},{name:"Theme",md:"theme",demo:"https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html"},{name:"Typography",md:"typography",demo:"./repl/typography.html"},{name:"Layout Grid",md:"layout-grid",demo:"https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html"}]},{title:"Layout",list:[{name:"Row",md:"row",demo:"./repl/row.html"},{name:"Elevation",md:"elevation",demo:"./repl/elevation.html"},{name:"Image List",md:"image-list",demo:"./repl/image-list.html"}]},{title:"Navigation",list:[{name:"Menu",md:"menu",demo:"./repl/menu.html"},{name:"Drawer",md:"drawer",demo:"https://tencent.github.io/omi/packages/omim/demos/drawer/index.html"},{name:"Tab",md:"tab",demo:"./repl/tab.html"},{name:"Nav",md:"nav",demo:"./repl/nav.html"},{name:"Pagination",md:"pagination",demo:"https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html"},{name:"Top App Bar",md:"top-app-bar",demo:"https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html"}]},{title:"Operational Feedback",list:[{name:"Dialog",md:"dialog",demo:"./repl/dialog.html"},{name:"Snackbar",md:"snackbar",demo:"./repl/snackbar.html"},{name:"ActionSheet",md:"action-sheet",demo:"https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html"},{name:"ColorPicker",md:"color-picker",demo:"./repl/color-picker.html"},{name:"Popover",md:"popover",demo:"https://tencent.github.io/omi/packages/omim/demos/popover/index.html"},{name:"Toast",md:"toast",demo:"https://tencent.github.io/omi/packages/omim/demos/toast/index.html"}]},{title:"Form",list:[{name:"Text Field",md:"text-field",demo:"./repl/text-field.html"},{name:"Select",md:"select",demo:"./repl/select.html"},{name:"Checkbox",md:"checkbox",demo:"./repl/checkbox.html"},{name:"Radio",md:"radio",demo:"./repl/radio.html"},{name:"Switch",md:"switch",demo:"./repl/switch.html"},{name:"DateTimePicker",md:"date-time-picker",demo:"https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html"},{name:"Picker",md:"picker",demo:"https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html"},{name:"TransferList",md:"transfer-list",demo:"https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html"}]},{title:"Data",list:[{name:"List",md:"list",demo:"./repl/list.html"},{name:"Table",md:"table",demo:"https://tencent.github.io/omi/packages/omim/demos/table/index.script.html"},{name:"Linear Progress",md:"linear-progress",demo:"./repl/linear-progress.html"},{name:"Slider",md:"slider",demo:"./repl/slider.html"},{name:"Chips",md:"chips",demo:"./repl/chips.html"},{name:"Tag",md:"tag",demo:"./repl/tag.html"},{name:"Badge",md:"badge",demo:"./repl/badge.html"},{name:"Tree",md:"tree",demo:"./repl/tree.html"},{name:"Card",md:"card",demo:"./repl/card.html"},{name:"Path Progress",md:"path-progress",demo:"./repl/path-progress.html"},{name:"Paper",md:"paper",demo:"./repl/paper.html"},{name:"Step",md:"step",demo:"./repl/step.html"},{name:"Simple Card",md:"simple-card",demo:"./repl/simple-card.html"},{name:"Editor",md:"editor",demo:"https://tencent.github.io/omi/packages/omim/demos/editor/index.html"},{name:"Spreadsheet",md:"spreadsheet",demo:"https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html"},{name:"Rate",md:"rate",demo:"https://tencent.github.io/omi/packages/omim/demos/rate/index.html"}]},{title:"Chart",list:[{name:"Introduction",md:"introduction-chart"},{name:"Bar",md:"bar",demo:"./repl/bar.html"},{name:"Line",md:"line",demo:"./repl/line.html"},{name:"Scatter",md:"scatter",demo:"./repl/scatter.html"},{name:"Pie",md:"pie",demo:"./repl/pie.html"},{name:"Doughnut",md:"doughnut",demo:"./repl/doughnut.html"},{name:"Radar",md:"radar",demo:"./repl/radar.html"},{name:"PolarArea",md:"polar-area",demo:"./repl/polar-area.html"},{name:"Bubble",md:"bubble",demo:"./repl/bubble.html"},{name:"BarLine",md:"bar-line",demo:"./repl/bar-line.html"}]}]}};t.default=r},34:function(e,t,n){"use strict";(function(e){function r(e){var t=!1;window.history.length!==u.historyLength||u.route._routeByTo||(t=!0),u.route._routeByTo=!1,u.historyLength=window.history.length;var n=!1;if("hashchange"===e.type&&u.route.before&&(n=!1===u.route.before(e)),!n){var r=window.location.hash.replace("#",""),i=!0;Object.keys(l).every(function(e){var n=r.split("?")[0].match(l[e].reg);if(n){var s=e.match(l[e].reg);return u.route.params=o(n,s),u.route.query=a(r),l[e].callback({params:u.route.params,query:a(r),data:u.route.data,byNative:t}),u.route.data=null,i=!1,!1}return!0}),i&&l["*"]&&l["*"].callback({byNative:t}),"hashchange"===e.type&&u.route.after&&u.route.after(e)}}function o(e,t){var n={};return e.forEach(function(e,r){r>0&&(n[t[r].replace(":","")]=e)}),n}function i(e,t){l[e]={callback:t,reg:c(e)}}function a(e){e=e.replace(/#.*$/,"");var t,n=e.split(/[?&]/).slice(1),r={};for(t=0;t-1&&(g=c[k],c=c.slice(0,k))}c&&(r.push(c),c="",d=!1);var E=""!==g&&void 0!==v&&v!==g,j="+"===O||"*"===O,S="?"===O||"*"===O,P=g||l,A=x||_;r.push({name:w||o++,prefix:g,delimiter:P,optional:S,repeat:j,partial:E,pattern:A?s(A):"[^"+a(P)+"]+?"})}}return(c||i-1;else{var y=m.repeat?"(?:"+m.pattern+")(?:"+a(m.delimiter)+"(?:"+m.pattern+"))*":m.pattern;t&&t.push(m),m.optional?m.partial?d+=a(m.prefix)+"("+y+")?":d+="(?:"+a(m.prefix)+"("+y+"))?":d+=a(m.prefix)+"("+y+")"}}return i?(r||(d+="(?:"+s+")?"),d+="$"===u?"$":"(?="+u+")"):(r||(d+="(?:"+s+"(?="+u+"))?"),f||(d+="(?="+s+"|"+u+")")),new RegExp(d,c(n))}function p(e,t,n){return e instanceof RegExp?l(e,t):Array.isArray(e)?u(e,t,n):d(e,t,n)}var m="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=p,e.exports.parse=r,e.exports.compile=o,e.exports.tokensToFunction=i,e.exports.tokensToRegExp=f;var h="/",b="./",y=new RegExp(["(\\\\.)","(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?"].join("|"),"g")},36:function(e,t,n){function r(e){var t=o[e];return t?n.e(t[1]).then(function(){return n(t[0])}):Promise.reject(new Error("Cannot find module '"+e+"'."))}var o={"./en/action-sheet.md":[37,123],"./en/avatar.md":[38,122],"./en/badge.md":[39,121],"./en/bar-line.md":[40,120],"./en/bar.md":[41,119],"./en/breadcrumb.md":[42,118],"./en/bubble.md":[43,117],"./en/button.md":[44,116],"./en/card.md":[45,115],"./en/checkbox.md":[46,114],"./en/chips.md":[47,113],"./en/color-picker.md":[48,112],"./en/date-time-picker.md":[49,111],"./en/dialog.md":[50,110],"./en/doughnut.md":[51,109],"./en/drawer.md":[52,108],"./en/editor.md":[53,107],"./en/elevation.md":[54,106],"./en/fab.md":[55,105],"./en/icon-button.md":[56,104],"./en/icon.md":[57,103],"./en/image-list.md":[58,102],"./en/introduction-chart.md":[59,101],"./en/introduction.md":[60,100],"./en/layout-grid.md":[61,99],"./en/line.md":[62,98],"./en/linear-progress.md":[63,97],"./en/list.md":[64,96],"./en/loading.md":[65,95],"./en/menu.md":[66,94],"./en/nav.md":[67,93],"./en/pagination.md":[68,92],"./en/paper.md":[69,91],"./en/path-progress.md":[70,90],"./en/picker.md":[71,89],"./en/pie.md":[72,88],"./en/polar-area.md":[73,87],"./en/popover.md":[74,86],"./en/radar.md":[75,85],"./en/radio.md":[76,84],"./en/rate.md":[77,83],"./en/row.md":[78,82],"./en/scatter.md":[79,81],"./en/select.md":[80,80],"./en/simple-card.md":[81,79],"./en/slider.md":[82,78],"./en/snackbar.md":[83,77],"./en/spreadsheet.md":[84,76],"./en/step.md":[85,75],"./en/switch.md":[86,74],"./en/tab.md":[87,73],"./en/table.md":[88,72],"./en/tag.md":[89,71],"./en/text-field.md":[90,70],"./en/theme.md":[91,69],"./en/to.md":[92,68],"./en/toast.md":[93,67],"./en/top-app-bar.md":[94,66],"./en/transfer-list.md":[95,65],"./en/transition.md":[96,64],"./en/tree.md":[97,63],"./en/typography.md":[98,62],"./zh-cn/action-sheet.md":[99,61],"./zh-cn/avatar.md":[100,60],"./zh-cn/badge.md":[101,59],"./zh-cn/bar-line.md":[102,58],"./zh-cn/bar.md":[103,57],"./zh-cn/breadcrumb.md":[104,56],"./zh-cn/bubble.md":[105,55],"./zh-cn/button.md":[106,54],"./zh-cn/card.md":[107,53],"./zh-cn/checkbox.md":[108,52],"./zh-cn/chips.md":[109,51],"./zh-cn/color-picker.md":[110,50],"./zh-cn/date-time-picker.md":[111,49],"./zh-cn/dialog.md":[112,48],"./zh-cn/doughnut.md":[113,47],"./zh-cn/drawer.md":[114,46],"./zh-cn/editor.md":[115,45],"./zh-cn/elevation.md":[116,44],"./zh-cn/fab.md":[117,43],"./zh-cn/icon-button.md":[118,42],"./zh-cn/icon.md":[119,41],"./zh-cn/image-list.md":[120,40],"./zh-cn/introduction-chart.md":[121,39],"./zh-cn/introduction.md":[122,38],"./zh-cn/layout-grid.md":[123,37],"./zh-cn/line.md":[124,36],"./zh-cn/linear-progress.md":[125,35],"./zh-cn/list.md":[126,34],"./zh-cn/loading.md":[127,33],"./zh-cn/menu.md":[128,32],"./zh-cn/nav.md":[129,31],"./zh-cn/pagination.md":[130,30],"./zh-cn/paper.md":[131,29],"./zh-cn/path-progress.md":[132,28],"./zh-cn/picker.md":[133,27],"./zh-cn/pie.md":[134,26],"./zh-cn/polar-area.md":[135,25],"./zh-cn/popover.md":[136,24],"./zh-cn/radar.md":[137,23],"./zh-cn/radio.md":[138,22],"./zh-cn/rate.md":[139,21],"./zh-cn/row.md":[140,20],"./zh-cn/scatter.md":[141,19],"./zh-cn/select.md":[142,18],"./zh-cn/simple-card.md":[143,17],"./zh-cn/slider.md":[144,16],"./zh-cn/snackbar.md":[145,15],"./zh-cn/spreadsheet.md":[146,14],"./zh-cn/step.md":[147,13],"./zh-cn/switch.md":[148,12],"./zh-cn/tab.md":[149,11],"./zh-cn/table.md":[150,10],"./zh-cn/tag.md":[151,9],"./zh-cn/text-field.md":[152,8],"./zh-cn/theme.md":[153,7],"./zh-cn/to.md":[154,6],"./zh-cn/toast.md":[155,5],"./zh-cn/top-app-bar.md":[156,4],"./zh-cn/transfer-list.md":[157,3],"./zh-cn/transition.md":[158,2],"./zh-cn/tree.md":[159,1],"./zh-cn/typography.md":[160,0]};r.keys=function(){return Object.keys(o)},r.id=36,e.exports=r},4:function(e,t,n){"use strict";"undefined"===typeof Promise&&(n(5).enable(),window.Promise=n(7)),n(8),Object.assign=n(9)},5:function(e,t,n){"use strict";function r(){l=!1,s._47=null,s._71=null}function o(e){function t(t){(e.allRejections||a(d[t].error,e.whitelist||c))&&(d[t].displayId=u++,e.onUnhandled?(d[t].logged=!0,e.onUnhandled(d[t].displayId,d[t].error)):(d[t].logged=!0,i(d[t].displayId,d[t].error)))}function n(t){d[t].logged&&(e.onHandled?e.onHandled(d[t].displayId,d[t].error):d[t].onUnhandled||(console.warn("Promise Rejection Handled (id: "+d[t].displayId+"):"),console.warn(' This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id '+d[t].displayId+".")))}e=e||{},l&&r(),l=!0;var o=0,u=0,d={};s._47=function(e){2===e._83&&d[e._56]&&(d[e._56].logged?n(e._56):clearTimeout(d[e._56].timeout),delete d[e._56])},s._71=function(e,n){0===e._75&&(e._56=o++,d[e._56]={displayId:null,error:n,timeout:setTimeout(t.bind(null,e._56),a(n,c)?100:2e3),logged:!1})}}function i(e,t){console.warn("Possible Unhandled Promise Rejection (id: "+e+"):"),((t&&(t.stack||t))+"").split("\n").forEach(function(e){console.warn(" "+e)})}function a(e,t){return t.some(function(t){return e instanceof t})}var s=n(3),c=[ReferenceError,TypeError,RangeError],l=!1;t.disable=r,t.enable=o},6:function(e,t,n){"use strict";(function(t){function n(e){a.length||(i(),s=!0),a[a.length]=e}function r(){for(;cl){for(var t=0,n=a.length-c;t-1?t:e}function p(e,t){t=t||{};var n=t.body;if(e instanceof p){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new o(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new o(t.headers)),this.method=f(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function m(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function h(e){var t=new o;return e.split(/\r?\n/).forEach(function(e){var n=e.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();t.append(r,o)}}),t}function b(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new o(t.headers),this.url=t.url||"",this._initBody(e)}if(!e.fetch){var y={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(y.arrayBuffer)var g=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],v=function(e){return e&&DataView.prototype.isPrototypeOf(e)},w=ArrayBuffer.isView||function(e){return e&&g.indexOf(Object.prototype.toString.call(e))>-1};o.prototype.append=function(e,r){e=t(e),r=n(r);var o=this.map[e];this.map[e]=o?o+","+r:r},o.prototype.delete=function(e){delete this.map[t(e)]},o.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},o.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},o.prototype.set=function(e,r){this.map[t(e)]=n(r)},o.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},o.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),r(e)},o.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),r(e)},o.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),r(e)},y.iterable&&(o.prototype[Symbol.iterator]=o.prototype.entries);var x=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];p.prototype.clone=function(){return new p(this,{body:this._bodyInit})},d.call(p.prototype),d.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},b.error=function(){var e=new b(null,{status:0,statusText:""});return e.type="error",e};var _=[301,302,303,307,308];b.redirect=function(e,t){if(-1===_.indexOf(t))throw new RangeError("Invalid status code");return new b(null,{status:t,headers:{location:e}})},e.Headers=o,e.Request=p,e.Response=b,e.fetch=function(e,t){return new Promise(function(n,r){var o=new p(e,t),i=new XMLHttpRequest;i.onload=function(){var e={status:i.status,statusText:i.statusText,headers:h(i.getAllResponseHeaders()||"")};e.url="responseURL"in i?i.responseURL:e.headers.get("X-Request-URL");var t="response"in i?i.response:i.responseText;n(new b(t,e))},i.onerror=function(){r(new TypeError("Network request failed"))},i.ontimeout=function(){r(new TypeError("Network request failed"))},i.open(o.method,o.url,!0),"include"===o.credentials&&(i.withCredentials=!0),"responseType"in i&&y.blob&&(i.responseType="blob"),o.headers.forEach(function(e,t){i.setRequestHeader(t,e)}),i.send("undefined"===typeof o._bodyInit?null:o._bodyInit)})},e.fetch.polyfill=!0}}("undefined"!==typeof self?self:void 0)},9:function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,c=r(e),l=1;l2;)Ae.push(arguments[a]);for(t&&null!=t.children&&(Ae.length||Ae.push(t.children),delete t.children);Ae.length;)if((o=Ae.pop())&&void 0!==o.pop)for(a=o.length;a--;)Ae.push(o[a]);else"boolean"===typeof o&&(o=null),(i="function"!==typeof e)&&(null==o?o="":"number"===typeof o?o=String(o):"string"!==typeof o&&(i=!1)),i&&r?s[s.length-1]+=o:0===s.length?s=[o]:s.push(o),r=i;var c=new n;return c.nodeName=e,c.children=s,c.attributes=null==t?void 0:t,c.key=null==t?void 0:t.key,void 0!==Pe.vnode&&Pe.vnode(c),c}function o(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function i(e,t){for(var n,r,i=o(e),a=1;a2?[].slice.call(arguments,2):e.children)}function p(e){1==Ue.push(e)&&(Pe.debounceRendering||Le)(m)}function m(){for(var e;e=Ue.pop();)ee(e)}function h(e,t,n){if("string"===typeof t||"number"===typeof t)return void 0!==e.splitText;if("string"===typeof t.nodeName){var r=$e[t.nodeName];return r?n||e._componentConstructor===r:!e._componentConstructor&&b(e,t.nodeName)}return n||e._componentConstructor===t.nodeName}function b(e,t){return e.normalizedNodeName===t||e.nodeName.toLowerCase()===t.toLowerCase()}function y(e){var t=a({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function g(e,t){var n=t?Pe.doc.createElementNS("http://www.w3.org/2000/svg",e):Pe.doc.createElement(e);return n.normalizedNodeName=e,n}function v(e){for(var t=e.replace(/\/\*(.|\s)*?\*\//g," ").replace(/\s+/g," "),n={},r=t.match(/ ?(.*?) ?{([^}]*)}/)||[o,i,t],o=r[0],i=r[1],a=r[2],s=a.split(";").map(function(e){return e.split(":").map(function(e){return e&&e.trim()})}),c=s,c=Array.isArray(c),c=0,c=c||c[Symbol.iterator]();;){var l;if(c){if(c>=c.length)break;l=c[c++]}else{if(c=c.next(),c.done)break;l=c.value}var u=l,d=u[0],f=u[1];n[function(e){return e.replace(/\W+\w/g,function(e){return e.slice(-1).toUpperCase()})}(d)]=f}return n}function w(e){var t=e.parentNode;t&&t.removeChild(e)}function x(e,t,n,r,o){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)s(n,null),s(r,e);else if("class"!==t||o)if("style"===t)if(Pe.isWeb){if(r&&"string"!==typeof r&&"string"!==typeof n||(e.style.cssText=r||""),r&&"object"===("undefined"===typeof r?"undefined":Se(r))){if("string"!==typeof n)for(var i in n)i in r||(e.style[i]="");for(var i in r)e.style[i]="number"===typeof r[i]&&!1===Me.test(i)?r[i]+"px":r[i]}}else{var a=n,c=r;"string"===typeof n&&(a=v(n)),"string"==typeof r&&(c=v(r));var l={},u=!1;if(a){for(var d in a)"object"!=("undefined"===typeof c?"undefined":Se(c))||d in c||(l[d]="",u=!0);for(var f in c)c[f]!==a[f]&&(l[f]=c[f],u=!0);u&&e.setStyles(l)}else e.setStyles(c)}else if("dangerouslySetInnerHTML"===t)r&&(e.innerHTML=r.__html||"");else if("o"==t[0]&&"n"==t[1]){var p=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),r?n||(e.addEventListener(t,O,p),"tap"==t&&(e.addEventListener("touchstart",k,p),e.addEventListener("touchend",E,p))):(e.removeEventListener(t,O,p),"tap"==t&&(e.removeEventListener("touchstart",k,p),e.removeEventListener("touchend",E,p))),(e._listeners||(e._listeners={}))[t]=r}else if("list"!==t&&"type"!==t&&!o&&t in e)_(e,t,null==r?"":r),null!=r&&!1!==r||e.removeAttribute(t);else{var m=o&&t!==(t=t.replace(/^xlink:?/,""));null==r||!1===r?m?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!==typeof r&&(m?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),r):e.setAttribute(t,r))}else e.className=r||""}function _(e,t,n){try{e[t]=n}catch(e){}}function O(e){return this._listeners[e.type](Pe.event&&Pe.event(e)||e)}function k(e){this.___touchX=e.touches[0].pageX,this.___touchY=e.touches[0].pageY,this.___scrollTop=document.body.scrollTop}function E(e){Math.abs(e.changedTouches[0].pageX-this.___touchX)<30&&Math.abs(e.changedTouches[0].pageY-this.___touchY)<30&&Math.abs(document.body.scrollTop-this.___scrollTop)<30&&this.dispatchEvent(new CustomEvent("tap",{detail:e}))}function j(e){for(var t=0,n=Pe.styleCache.length;t0||t.children.length>0)return!0;for(n in t)if("children"!=n){var r=Se(t[n]);if("function"==r||"object"==r)return!0;if(t[n]!=e[n])return!0}}function ee(e,t,n,r){if(!e._disable){var o,i,s,c=e.props,l=e.data,u=e.context,d=e.prevProps||c,f=e.prevState||l,p=e.prevContext||u,m=e.base,h=e.nextBase,b=m||h,g=e._component,v=!1;if(m&&(e.props=d,e.data=f,e.context=p,e.store||2==t||J(d,c)?(v=!1,e.beforeUpdate&&e.beforeUpdate(c,l,u)):v=!0,e.props=c,e.data=l,e.context=u),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,!v){e.beforeRender&&e.beforeRender(),o=e.render(c,l,u),(e.constructor.css||e.css)&&T(o,"_s"+j(e.constructor)),z(o,e.scopedCssAttr),e.getChildContext&&(u=a(a({},u),e.getChildContext()));var w,x,_=o&&o.nodeName,O=Pe.mapping[_];if(O){var k=y(o);i=g,i&&i.constructor===O&&k.key==i.__key?K(i,k,1,u,!1):(w=i,e._component=i=G(O,k,u),i.nextBase=i.nextBase||h,i._parentComponent=e,K(i,k,0,u,!1),ee(i,1,n,!0)),x=i.base}else s=b,w=g,w&&(s=e._component=null),(b||1===t)&&(s&&(s._component=null),x=I(s,o,u,n||!m,b&&b.parentNode,!0));if(b&&x!==b&&i!==g){var E=b.parentNode;E&&x!==E&&(E.replaceChild(x,b),w||(b._component=null,M(b,!1)))}if(w&&ne(w),e.base=x,x&&!r){for(var S=e,P=e;P=P._parentComponent;)(S=P).base=x;x._component=S,x._componentConstructor=S.constructor}}if(!m||n?Fe.unshift(e):v||(e.afterUpdate&&e.afterUpdate(d,f,p),e.updated&&e.updated(d,f,p),Pe.afterUpdate&&Pe.afterUpdate(e)),null!=e._renderCallbacks)for(;e._renderCallbacks.length;)e._renderCallbacks.pop().call(e);He||r||B()}}function te(e,t,n,r){for(var o=e&&e._component,i=o,a=e,s=o&&e._componentConstructor===t.nodeName,c=s,l=y(t);o&&!c&&(o=o._parentComponent);)c=o.constructor===t.nodeName;return o&&c&&(!r||o._component)?(K(o,l,3,n,r),e=o.base):(i&&!s&&(ne(i),e=a=null),o=G(t.nodeName,l,n,t),e&&!o.nextBase&&(o.nextBase=e,a=null),K(o,l,1,n,r),e=o.base,a&&e!==a&&(a._component=null,M(a,!1))),e}function ne(e){Pe.beforeUnmount&&Pe.beforeUnmount(e);var t=e.base;if(e._disable=!0,e.uninstall&&e.uninstall(),e.store&&e.store.instances)for(var n=0,r=e.store.instances.length;n0&&(this.instances.forEach(function(o){(r||n.updateAll||o.constructor.updatePath&&le(t,o.constructor.updatePath)||o._updatePath&&le(t,o._updatePath))&&(o.constructor.use?o.use=u(e.data,o.constructor.use):o.initUse&&(o.use=u(e.data,o.initUse())),o.update())}),this.onChange&&this.onChange(t))}}function ce(e,t){if(!e)return!1;for(var n in t){if(e.indexOf(n)>-1)return!0;for(var r=0,o=e.length;r0)return{class:ye.apply(null,n)}}function ve(e){var t=e.base;if(t)for(;t.parentNode;){if(t.parentNode._component)return t.parentNode._component;t=t.parentNode}}function we(e){var t="";for(var n in e){var r=e[n];null!=r&&(t&&(t+=" "),t+=it[n]||(it[n]=n.replace(/([A-Z])/g,"-$1").toLowerCase()),t+=": ",t+=r,"number"===typeof r&&!1===IS_NON_DIMENSIONAL.test(n)&&(t+="px"),t+=";")}return t||void 0}function xe(e,t,n,r){n=n||{},t=Object.assign({scopedCSS:!0},t);var o={},i=_e(e,t,n,r,o);return{css:Object.values(o),html:i}}function _e(e,t,n,r,o){if(null==e||"boolean"===typeof e)return"";var i=e.nodeName,a=e.attributes,s=!1,c=t.pretty,l=c&&"string"===typeof c?c:"\t";if("object"!==("undefined"===typeof e?"undefined":Se(e))&&!i)return et(e);var u=nt[i];if(u){s=!0;var d,f=ke(e),p=new u(f,n);if(p._disable=p.__x=!0,p.props=f,p.store=n,p.install&&p.install(),p.beforeRender&&p.beforeRender(),d=p.render(p.props,p.data,p.store),t.scopedCSS){if(p.constructor.css||p.css){var m=p.constructor.css?p.constructor.css:"function"===typeof p.css?p.css():p.css,h="_s"+j(p.constructor);o[h]={id:h,css:S(m,h)},T(d,h)}p.scopedCSSAttr=e.css,z(d,p.scopedCSSAttr)}return _e(d,t,n,!1,o)}var b,y="";if(a){var g=Object.keys(a);t&&!0===t.sortAttributes&&g.sort();for(var v=0;v]/)&&(t&&t.allAttributes||"key"!==w&&"ref"!==w))){if("className"===w){if(a.class)continue;w="class"}else r&&w.match(/^xlink:?./)&&(w=w.toLowerCase().replace(/^xlink:?/,"xlink:"));"style"===w&&x&&"object"===("undefined"===typeof x?"undefined":Se(x))&&(x=we(x));var _=t.attributeHook&&t.attributeHook(w,x,n,t,s);if(_||""===_)y+=_;else if("dangerouslySetInnerHTML"===w)b=x&&x.__html;else if((x||0===x||""===x)&&"function"!==typeof x){if((!0===x||""===x)&&(x=w,!t||!t.xml)){y+=" "+w;continue}y+=" "+w+'="'+et(x)+'"'}}}}if(c){var O=y.replace(/^\n\s*/," ");O===y||~O.indexOf("\n")?c&&~y.indexOf("\n")&&(y+="\n"):y=O}if(y="<"+i+y+">",String(i).match(/[\s\n\\\/='"\0<>]/))throw y;var k=String(i).match(rt);k&&(y=y.replace(/>$/," />"));var E=[];if(b)c&&ot(b)&&(b="\n"+l+tt(b,l)),y+=b;else if(e.children){for(var P=c&&~y.indexOf("\n"),v=0;v";return k||(c&&~y.indexOf("\n")&&(y+="\n"),y+=""+i+">"),y}function Oe(e,t){for(var n in t)e[n]=t[n];return e}function ke(e){var t=Oe({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function Ee(e){var t=at(this,ut(e),arguments,[]);return t.length>1?t:t[0]}function je(){return{}}Object.defineProperty(t,"__esModule",{value:!0});var Se="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe={scopedStyle:!0,mapping:{},isWeb:!0,staticStyleMapping:{},doc:"object"===("undefined"===typeof document?"undefined":Se(document))?document:null,root:function(){return"object"===("undefined"===typeof e?"undefined":Se(e))&&e&&e.Math===Math&&e.Array===Array?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof e?e:function(){return this}()}(),styleCache:[]},Ae=[],Te=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable;if("undefined"!==typeof Element&&!Element.prototype.addEventListener){var ze=function(e){e||(e=window.event);for(var t=0,n=0,r=Be[e.type];n8&&(Ie=!0)}var Le=Ie?Promise.resolve().then.bind(Promise.resolve()):setTimeout,Me=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,Ue=[],$e=Pe.mapping,De=0,Fe=[],He=0,We=!1,qe=!1,Ve={},Xe=function e(t,n,r){var o=function(t,n,r){t.$observer||(t.$observer=this);var o=t.$observer,i=[];e.isArray(t)&&(0===t.length&&(t.$observeProps={},t.$observeProps.$observerPath="#"),o.mock(t));for(var a in t)t.hasOwnProperty(a)&&(r?e.isArray(n)&&e.isInArray(n,a)?(i.push(a),o.watch(t,a)):e.isString(n)&&a==n&&(i.push(a),o.watch(t,a)):(i.push(a),o.watch(t,a)));o.target=t,o.propertyChangedHandler||(o.propertyChangedHandler=[]);var s=r||n;o.propertyChangedHandler.push({all:!r,propChanged:s,eventPropArr:i})};return o.prototype={onPropertyChanged:function(t,n,r,o,i){if(n!==r&&this.propertyChangedHandler)for(var a=e._getRootName(t,i),s=0,c=this.propertyChangedHandler.length;s-1;)if(t===e[n])return!0;return!1},Xe.isFunction=function(e){return"[object Function]"==Object.prototype.toString.call(e)},Xe._getRootName=function(e,t){return"#"===t?e:t.split("-")[1]},Xe.add=function(e,t){e.$observer.watch(e,t)},Xe.set=function(e,t,n,r){r||(e[t]=n),e.$observer.watch(e,t),r&&(e[t]=n)},Array.prototype.size=function(e){this.length=e};var Ge=[],Ye=[],Ze=0,Qe=function(){function e(t,n){re(this,e),this.props=i(l(this.constructor.props),this.constructor.defaultProps,t),this.elementId=Ze++,this.data=this.constructor.data||this.data||{},this._preCss=null,this.store=n}return e.prototype.update=function(e){this._willUpdate=!0,e&&(this._renderCallbacks=this._renderCallbacks||[]).push(e),ee(this,2),Pe.componentChange&&Pe.componentChange(this,this.base),this._willUpdate=!1},e.prototype.fire=function(e,t){var n=this;Object.keys(this.props).every(function(r){return"on"+e.toLowerCase()!==r.toLowerCase()||(n.props[r]({detail:t}),!1)})},e.prototype.render=function(){},e}();Qe.is="WeElement";var Ke=function(e){function t(){return me(this,t),he(this,e.apply(this,arguments))}return be(t,e),t.prototype.beforeInstall=function(){this.data=this.vm.data},t}(Qe);Ke.observe=!0,Ke.mergeUpdate=!0;var Je={}.hasOwnProperty,et=function(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},tt=function(e,t){return String(e).replace(/(\n+)/g,"$1"+(t||"\t"))},nt=Pe.mapping,rt=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,ot=function(e,t,n){return String(e).length>(t||40)||!n&&-1!==String(e).indexOf("\n")||-1!==String(e).indexOf("<")},it={},at=function e(t,n,r,o){for(var i=1;i"===t?(s(),r=1):r&&("="===t?(r=4,n=o,o=""):"/"===t?(s(),3===r&&(a=a[0]),r=a,(a=a[0]).push(r,4),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(s(),r=2):o+=t)}return s(),a},ct="function"==typeof Map,lt=ct?new Map:{},ut=ct?function(e){var t=lt.get(e);return t||lt.set(e,t=st(e)),t}:function(e){for(var t="",n=0;n0)return!1;return!0}},{key:"render",value:function(){if(this.demo)return Omi.h("div",null,Omi.h("iframe",{style:"width:"+(window.innerWidth-1180)+"px;height:"+(window.innerHeight-59)+"px;visibility:"+(this.show?"visible":"hidden")+";",src:this.demo}),Omi.h("div",{class:"icon",onClick:this.toggle},Omi.h("svg",{viewBox:"64 64 896 896",class:"",style:"left:"+(this.show?"14px":"0px")+";","data-icon":"left",width:"1.2em",height:"1.2em",fill:"currentColor","aria-hidden":"true",focusable:"false"},Omi.h("path",{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"})),Omi.h("svg",{viewBox:"64 64 896 896",class:"",style:"left:"+(this.show?"-14px":"0px")+";","data-icon":"right",width:"1.2em",height:"1.2em",fill:"currentColor","aria-hidden":"true",focusable:"false"},Omi.h("path",{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"}))))}}]),t}(s.WeElement))},3:function(e,t,n){"use strict";function r(){}function o(e){try{return e.then}catch(e){return g=e,v}}function i(e,t){try{return e(t)}catch(e){return g=e,v}}function a(e,t,n){try{e(t,n)}catch(e){return g=e,v}}function s(e){if("object"!==b(this))throw new TypeError("Promises must be constructed via new");if("function"!==typeof e)throw new TypeError("Promise constructor's argument is not a function");this._75=0,this._83=0,this._18=null,this._38=null,e!==r&&h(e,this)}function c(e,t,n){return new e.constructor(function(o,i){var a=new s(r);a.then(o,i),l(e,new m(t,n,a))})}function l(e,t){for(;3===e._83;)e=e._18;if(s._47&&s._47(e),0===e._83)return 0===e._75?(e._75=1,void(e._38=t)):1===e._75?(e._75=2,void(e._38=[e._38,t])):void e._38.push(t);u(e,t)}function u(e,t){y(function(){var n=1===e._83?t.onFulfilled:t.onRejected;if(null===n)return void(1===e._83?d(t.promise,e._18):f(t.promise,e._18));var r=i(n,e._18);r===v?f(t.promise,g):d(t.promise,r)})}function d(e,t){if(t===e)return f(e,new TypeError("A promise cannot be resolved with itself."));if(t&&("object"===("undefined"===typeof t?"undefined":b(t))||"function"===typeof t)){var n=o(t);if(n===v)return f(e,g);if(n===e.then&&t instanceof s)return e._83=3,e._18=t,void p(e);if("function"===typeof n)return void h(n.bind(t),e)}e._83=1,e._18=t,p(e)}function f(e,t){e._83=2,e._18=t,s._71&&s._71(e,t),p(e)}function p(e){if(1===e._75&&(l(e,e._38),e._38=null),2===e._75){for(var t=0;t768};var o=0;this.map={},this.positionMap={},a.default.menus[this.data.lan].forEach(function(e,t){e.list.forEach(function(e,r){e.id=o++,e.position=[t,r],n.map[e.id]=e,e.index=t,e.subIndex=r,n.positionMap[t+"-"+r]=e})}),this.preIndex=0,this.preSubIndex=0}return o(e,[{key:"getNext",value:function(){var e=this.positionMap[this.data.position.join("-")];if(e)return this.map[e.id+1]}},{key:"getPre",value:function(){var e=this.positionMap[this.data.position.join("-")];if(e)return this.map[e.id-1]}},{key:"init",value:function(){var e=this;this.remarkable=new Remarkable({html:!0}),""===location.hash&&(this.data.position=[0,0],this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md,this.data.lan,function(t){e.data.html=e.remarkable.render(t)})),this.demo=this.data.menus[this.data.lan][0].list[0].demo,this.initRouter()}},{key:"toogleSidebar",value:function(){this.data.sideBarShow=!this.data.sideBarShow}},{key:"hideSidebar",value:function(){this.data.sideBarShow=!1}},{key:"initRouter",value:function(){var e=this,t=this.data.menus[this.data.lan];t.forEach(function(n){n.list.forEach(function(n){route("/"+n.md,function(r){t[e.preIndex].list[e.preSubIndex].selected=!1,e.preIndex=r.query.index,e.preSubIndex=r.query.subIndex,e.data.position=[Number(r.query.index),Number(r.query.subIndex)],e.data.sideBarShow=!1,e.myDemo.demo=t[e.preIndex].list[e.preSubIndex].demo,e.myDemo.update(),e.getMarkDown(n.md,e.data.lan,function(t){e.data.html=e.remarkable.render(t),document.body.scrollTop=0,document.documentElement.scrollTop=0})})})})}},{key:"getMarkDown",value:function(e,t,r){n(36)("./"+t+"/"+e+".md").then(function(e){r(e)})}}]),e}();t.default=s},33:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={menus:{"zh-cn":[{title:"Omim",list:[{name:"\u7b80\u4ecb",md:"introduction"}]},{title:"\u57fa\u7840",list:[{name:"Button \u6309\u94ae",md:"button",demo:"./repl/button.html"},{name:"Fab \u52a8\u4f5c\u6309\u94ae",md:"fab",demo:"./repl/fab.html"},{name:"Icon \u56fe\u6807",md:"icon",demo:"./repl/icon.html"},{name:"IconButton \u56fe\u6807\u6309\u94ae",md:"icon-button",demo:"./repl/icon-button.html"},{name:"Avatar \u5934\u50cf",md:"avatar",demo:"./repl/avatar.html"},{name:"Loading \u52a0\u8f7d",md:"loading",demo:"./repl/loading.html"},{name:"Breadcrumb \u9762\u5305\u5c51",md:"breadcrumb",demo:"./repl/breadcrumb.html"}]},{title:"\u516c\u7528",list:[{name:"Transition \u8fc7\u6e21",md:"transition",demo:"https://tencent.github.io/omi/packages/omim/demos/transition/index.html"},{name:"To \u8fd0\u52a8",md:"to",demo:"https://tencent.github.io/omi/packages/omim/demos/to/index.html"},{name:"Theme \u4e3b\u9898",md:"theme",demo:"https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html"},{name:"Typography \u6392\u7248",md:"typography",demo:"./repl/typography.html"},{name:"Layout Grid \u7f51\u683c\u5e03\u5c40",md:"layout-grid",demo:"https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html"}]},{title:"\u5e03\u5c40",list:[{name:"Row \u884c",md:"row",demo:"./repl/row.html"},{name:"Elevation \u9ad8\u5ea6\u76d2",md:"elevation",demo:"./repl/elevation.html"},{name:"Image List \u56fe\u7247\u5217\u8868",md:"image-list",demo:"./repl/image-list.html"}]},{title:"\u5bfc\u822a",list:[{name:"Menu \u83dc\u5355",md:"menu",demo:"./repl/menu.html"},{name:"Drawer \u62bd\u5c49",md:"drawer",demo:"https://tencent.github.io/omi/packages/omim/demos/drawer/index.html"},{name:"Tab \u6807\u7b7e\u5207\u6362",md:"tab",demo:"./repl/tab.html"},{name:"Nav \u5bfc\u822a",md:"nav",demo:"./repl/nav.html"},{name:"Pagination \u5206\u9875",md:"pagination",demo:"https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html"},{name:"Top App Bar \u9876\u90e8\u680f",md:"top-app-bar",demo:"https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html"}]},{title:"\u64cd\u4f5c\u53cd\u9988",list:[{name:"Dialog \u5bf9\u8bdd\u6846",md:"dialog",demo:"./repl/dialog.html"},{name:"Snackbar \u63d0\u9192",md:"snackbar",demo:"./repl/snackbar.html"},{name:"ActionSheet \u884c\u52a8\u8868",md:"action-sheet",demo:"https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html"},{name:"ColorPicker \u989c\u8272\u9009\u62e9\u673a",md:"color-picker",demo:"./repl/color-picker.html"},{name:"Popover \u63d0\u793a",md:"popover",demo:"https://tencent.github.io/omi/packages/omim/demos/popover/index.html"},{name:"Toast \u5f39\u51fa\u63d0\u793a",md:"toast",demo:"https://tencent.github.io/omi/packages/omim/demos/toast/index.html"}]},{title:"\u8868\u5355",list:[{name:"Text Field \u6587\u672c\u8f93\u5165",md:"text-field",demo:"./repl/text-field.html"},{name:"Select \u4e0b\u62c9\u9009\u62e9",md:"select",demo:"./repl/select.html"},{name:"Checkbox \u590d\u9009\u6846",md:"checkbox",demo:"./repl/checkbox.html"},{name:"Radio \u5355\u9009\u6846",md:"radio",demo:"./repl/radio.html"},{name:"Switch \u5207\u6362",md:"switch",demo:"./repl/switch.html"},{name:"DateTimePicker \u65f6\u95f4\u65e5\u671f\u9009\u62e9\u5668",md:"date-time-picker",demo:"https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html"},{name:"Picker \u539f\u751f\u9009\u62e9\u5668",md:"picker",demo:"https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html"},{name:"TransferList \u7a7f\u68ad\u5217\u8868",md:"transfer-list",demo:"https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html"}]},{title:"\u6570\u636e",list:[{name:"List \u5217\u8868",md:"list",demo:"./repl/list.html"},{name:"Table \u8868\u683c",md:"table",demo:"https://tencent.github.io/omi/packages/omim/demos/table/index.script.html"},{name:"Linear Progress \u7ebf\u6027\u8fdb\u5ea6",md:"linear-progress",demo:"./repl/linear-progress.html"},{name:"Slider \u6ed1\u5757",md:"slider",demo:"./repl/slider.html"},{name:"Chips \u6807\u7b7e",md:"chips",demo:"./repl/chips.html"},{name:"Tag \u6807\u7b7e",md:"tag",demo:"./repl/tag.html"},{name:"Badge \u5fbd\u7ae0",md:"badge",demo:"./repl/badge.html"},{name:"Tree \u6811",md:"tree",demo:"./repl/tree.html"},{name:"Card \u5361\u7247",md:"card",demo:"./repl/card.html"},{name:"Path Progress \u8def\u5f84\u8fdb\u5ea6",md:"path-progress",demo:"./repl/path-progress.html"},{name:"Paper \u7eb8\u7247",md:"paper",demo:"./repl/paper.html"},{name:"Step \u6b65\u9aa4",md:"step",demo:"./repl/step.html"},{name:"Simple Card \u7b80\u5355\u5361\u7247",md:"simple-card",demo:"./repl/simple-card.html"},{name:"Editor \u5bcc\u6587\u672c\u7f16\u8f91\u5668",md:"editor",demo:"https://tencent.github.io/omi/packages/omim/demos/editor/index.html"},{name:"Spreadsheet \u7535\u5b50\u8868\u683c",md:"spreadsheet",demo:"https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html"},{name:"Rate \u8bc4\u5206",md:"rate",demo:"https://tencent.github.io/omi/packages/omim/demos/rate/index.html"}]},{title:"\u56fe\u8868",list:[{name:"\u7b80\u4ecb",md:"introduction-chart"},{name:"\u67f1\u72b6\u56fe",md:"bar",demo:"./repl/bar.html"},{name:"\u7ebf\u72b6\u56fe",md:"line",demo:"./repl/line.html"},{name:"\u6563\u70b9\u56fe",md:"scatter",demo:"./repl/scatter.html"},{name:"\u997c\u56fe",md:"pie",demo:"./repl/pie.html"},{name:"\u73af\u72b6\u56fe",md:"doughnut",demo:"./repl/doughnut.html"},{name:"\u96f7\u8fbe\u56fe",md:"radar",demo:"./repl/radar.html"},{name:"\u6781\u533a\u56fe",md:"polar-area",demo:"./repl/polar-area.html"},{name:"\u6c14\u6ce1\u56fe",md:"bubble",demo:"./repl/bubble.html"},{name:"\u5408\u6210\u56fe",md:"bar-line",demo:"./repl/bar-line.html"}]}],en:[{title:"Omim",list:[{name:"Introduction",md:"introduction"}]},{title:"Base",list:[{name:"Button",md:"button",demo:"./repl/button.html"},{name:"Fab",md:"fab",demo:"./repl/fab.html"},{name:"Icon",md:"icon",demo:"./repl/icon.html"},{name:"IconButton",md:"icon-button",demo:"./repl/icon-button.html"},{name:"Avatar",md:"avatar",demo:"./repl/avatar.html"},{name:"Loading",md:"loading",demo:"./repl/loading.html"},{name:"Breadcrumb",md:"breadcrumb",demo:"./repl/breadcrumb.html"}]},{title:"Util",list:[{name:"Transition",md:"transition",demo:"https://tencent.github.io/omi/packages/omim/demos/transition/index.html"},{name:"To",md:"to",demo:"https://tencent.github.io/omi/packages/omim/demos/to/index.html"},{name:"Theme",md:"theme",demo:"https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html"},{name:"Typography",md:"typography",demo:"./repl/typography.html"},{name:"Layout Grid",md:"layout-grid",demo:"https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html"}]},{title:"Layout",list:[{name:"Row",md:"row",demo:"./repl/row.html"},{name:"Elevation",md:"elevation",demo:"./repl/elevation.html"},{name:"Image List",md:"image-list",demo:"./repl/image-list.html"}]},{title:"Navigation",list:[{name:"Menu",md:"menu",demo:"./repl/menu.html"},{name:"Drawer",md:"drawer",demo:"https://tencent.github.io/omi/packages/omim/demos/drawer/index.html"},{name:"Tab",md:"tab",demo:"./repl/tab.html"},{name:"Nav",md:"nav",demo:"./repl/nav.html"},{name:"Pagination",md:"pagination",demo:"https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html"},{name:"Top App Bar",md:"top-app-bar",demo:"https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html"}]},{title:"Operational Feedback",list:[{name:"Dialog",md:"dialog",demo:"./repl/dialog.html"},{name:"Snackbar",md:"snackbar",demo:"./repl/snackbar.html"},{name:"ActionSheet",md:"action-sheet",demo:"https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html"},{name:"ColorPicker",md:"color-picker",demo:"./repl/color-picker.html"},{name:"Popover",md:"popover",demo:"https://tencent.github.io/omi/packages/omim/demos/popover/index.html"},{name:"Toast",md:"toast",demo:"https://tencent.github.io/omi/packages/omim/demos/toast/index.html"}]},{title:"Form",list:[{name:"Text Field",md:"text-field",demo:"./repl/text-field.html"},{name:"Select",md:"select",demo:"./repl/select.html"},{name:"Checkbox",md:"checkbox",demo:"./repl/checkbox.html"},{name:"Radio",md:"radio",demo:"./repl/radio.html"},{name:"Switch",md:"switch",demo:"./repl/switch.html"},{name:"DateTimePicker",md:"date-time-picker",demo:"https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html"},{name:"Picker",md:"picker",demo:"https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html"},{name:"TransferList",md:"transfer-list",demo:"https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html"}]},{title:"Data",list:[{name:"List",md:"list",demo:"./repl/list.html"},{name:"Table",md:"table",demo:"https://tencent.github.io/omi/packages/omim/demos/table/index.script.html"},{name:"Linear Progress",md:"linear-progress",demo:"./repl/linear-progress.html"},{name:"Slider",md:"slider",demo:"./repl/slider.html"},{name:"Chips",md:"chips",demo:"./repl/chips.html"},{name:"Tag",md:"tag",demo:"./repl/tag.html"},{name:"Badge",md:"badge",demo:"./repl/badge.html"},{name:"Tree",md:"tree",demo:"./repl/tree.html"},{name:"Card",md:"card",demo:"./repl/card.html"},{name:"Path Progress",md:"path-progress",demo:"./repl/path-progress.html"},{name:"Paper",md:"paper",demo:"./repl/paper.html"},{name:"Step",md:"step",demo:"./repl/step.html"},{name:"Simple Card",md:"simple-card",demo:"./repl/simple-card.html"},{name:"Editor",md:"editor",demo:"https://tencent.github.io/omi/packages/omim/demos/editor/index.html"},{name:"Spreadsheet",md:"spreadsheet",demo:"https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html"},{name:"Rate",md:"rate",demo:"https://tencent.github.io/omi/packages/omim/demos/rate/index.html"}]},{title:"Chart",list:[{name:"Introduction",md:"introduction-chart"},{name:"Bar",md:"bar",demo:"./repl/bar.html"},{name:"Line",md:"line",demo:"./repl/line.html"},{name:"Scatter",md:"scatter",demo:"./repl/scatter.html"},{name:"Pie",md:"pie",demo:"./repl/pie.html"},{name:"Doughnut",md:"doughnut",demo:"./repl/doughnut.html"},{name:"Radar",md:"radar",demo:"./repl/radar.html"},{name:"PolarArea",md:"polar-area",demo:"./repl/polar-area.html"},{name:"Bubble",md:"bubble",demo:"./repl/bubble.html"},{name:"BarLine",md:"bar-line",demo:"./repl/bar-line.html"}]}]}};t.default=r},34:function(e,t,n){"use strict";(function(e){function r(e){var t=!1;window.history.length!==u.historyLength||u.route._routeByTo||(t=!0),u.route._routeByTo=!1,u.historyLength=window.history.length;var n=!1;if("hashchange"===e.type&&u.route.before&&(n=!1===u.route.before(e)),!n){var r=window.location.hash.replace("#",""),i=!0;Object.keys(l).every(function(e){var n=r.split("?")[0].match(l[e].reg);if(n){var s=e.match(l[e].reg);return u.route.params=o(n,s),u.route.query=a(r),l[e].callback({params:u.route.params,query:a(r),data:u.route.data,byNative:t}),u.route.data=null,i=!1,!1}return!0}),i&&l["*"]&&l["*"].callback({byNative:t}),"hashchange"===e.type&&u.route.after&&u.route.after(e)}}function o(e,t){var n={};return e.forEach(function(e,r){r>0&&(n[t[r].replace(":","")]=e)}),n}function i(e,t){l[e]={callback:t,reg:c(e)}}function a(e){e=e.replace(/#.*$/,"");var t,n=e.split(/[?&]/).slice(1),r={};for(t=0;t-1&&(g=c[k],c=c.slice(0,k))}c&&(r.push(c),c="",d=!1);var E=""!==g&&void 0!==v&&v!==g,j="+"===O||"*"===O,S="?"===O||"*"===O,P=g||l,A=x||_;r.push({name:w||o++,prefix:g,delimiter:P,optional:S,repeat:j,partial:E,pattern:A?s(A):"[^"+a(P)+"]+?"})}}return(c||i-1;else{var y=m.repeat?"(?:"+m.pattern+")(?:"+a(m.delimiter)+"(?:"+m.pattern+"))*":m.pattern;t&&t.push(m),m.optional?m.partial?d+=a(m.prefix)+"("+y+")?":d+="(?:"+a(m.prefix)+"("+y+"))?":d+=a(m.prefix)+"("+y+")"}}return i?(r||(d+="(?:"+s+")?"),d+="$"===u?"$":"(?="+u+")"):(r||(d+="(?:"+s+"(?="+u+"))?"),f||(d+="(?="+s+"|"+u+")")),new RegExp(d,c(n))}function p(e,t,n){return e instanceof RegExp?l(e,t):Array.isArray(e)?u(e,t,n):d(e,t,n)}var m="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=p,e.exports.parse=r,e.exports.compile=o,e.exports.tokensToFunction=i,e.exports.tokensToRegExp=f;var h="/",b="./",y=new RegExp(["(\\\\.)","(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?"].join("|"),"g")},36:function(e,t,n){function r(e){var t=o[e];return t?n.e(t[1]).then(function(){return n(t[0])}):Promise.reject(new Error("Cannot find module '"+e+"'."))}var o={"./en/action-sheet.md":[37,123],"./en/avatar.md":[38,122],"./en/badge.md":[39,121],"./en/bar-line.md":[40,120],"./en/bar.md":[41,119],"./en/breadcrumb.md":[42,118],"./en/bubble.md":[43,117],"./en/button.md":[44,116],"./en/card.md":[45,115],"./en/checkbox.md":[46,114],"./en/chips.md":[47,113],"./en/color-picker.md":[48,112],"./en/date-time-picker.md":[49,111],"./en/dialog.md":[50,110],"./en/doughnut.md":[51,109],"./en/drawer.md":[52,108],"./en/editor.md":[53,107],"./en/elevation.md":[54,106],"./en/fab.md":[55,105],"./en/icon-button.md":[56,104],"./en/icon.md":[57,103],"./en/image-list.md":[58,102],"./en/introduction-chart.md":[59,101],"./en/introduction.md":[60,100],"./en/layout-grid.md":[61,99],"./en/line.md":[62,98],"./en/linear-progress.md":[63,97],"./en/list.md":[64,96],"./en/loading.md":[65,95],"./en/menu.md":[66,94],"./en/nav.md":[67,93],"./en/pagination.md":[68,92],"./en/paper.md":[69,91],"./en/path-progress.md":[70,90],"./en/picker.md":[71,89],"./en/pie.md":[72,88],"./en/polar-area.md":[73,87],"./en/popover.md":[74,86],"./en/radar.md":[75,85],"./en/radio.md":[76,84],"./en/rate.md":[77,83],"./en/row.md":[78,82],"./en/scatter.md":[79,81],"./en/select.md":[80,80],"./en/simple-card.md":[81,79],"./en/slider.md":[82,78],"./en/snackbar.md":[83,77],"./en/spreadsheet.md":[84,76],"./en/step.md":[85,75],"./en/switch.md":[86,74],"./en/tab.md":[87,73],"./en/table.md":[88,72],"./en/tag.md":[89,71],"./en/text-field.md":[90,70],"./en/theme.md":[91,69],"./en/to.md":[92,68],"./en/toast.md":[93,67],"./en/top-app-bar.md":[94,66],"./en/transfer-list.md":[95,65],"./en/transition.md":[96,64],"./en/tree.md":[97,63],"./en/typography.md":[98,62],"./zh-cn/action-sheet.md":[99,61],"./zh-cn/avatar.md":[100,60],"./zh-cn/badge.md":[101,59],"./zh-cn/bar-line.md":[102,58],"./zh-cn/bar.md":[103,57],"./zh-cn/breadcrumb.md":[104,56],"./zh-cn/bubble.md":[105,55],"./zh-cn/button.md":[106,54],"./zh-cn/card.md":[107,53],"./zh-cn/checkbox.md":[108,52],"./zh-cn/chips.md":[109,51],"./zh-cn/color-picker.md":[110,50],"./zh-cn/date-time-picker.md":[111,49],"./zh-cn/dialog.md":[112,48],"./zh-cn/doughnut.md":[113,47],"./zh-cn/drawer.md":[114,46],"./zh-cn/editor.md":[115,45],"./zh-cn/elevation.md":[116,44],"./zh-cn/fab.md":[117,43],"./zh-cn/icon-button.md":[118,42],"./zh-cn/icon.md":[119,41],"./zh-cn/image-list.md":[120,40],"./zh-cn/introduction-chart.md":[121,39],"./zh-cn/introduction.md":[122,38],"./zh-cn/layout-grid.md":[123,37],"./zh-cn/line.md":[124,36],"./zh-cn/linear-progress.md":[125,35],"./zh-cn/list.md":[126,34],"./zh-cn/loading.md":[127,33],"./zh-cn/menu.md":[128,32],"./zh-cn/nav.md":[129,31],"./zh-cn/pagination.md":[130,30],"./zh-cn/paper.md":[131,29],"./zh-cn/path-progress.md":[132,28],"./zh-cn/picker.md":[133,27],"./zh-cn/pie.md":[134,26],"./zh-cn/polar-area.md":[135,25],"./zh-cn/popover.md":[136,24],"./zh-cn/radar.md":[137,23],"./zh-cn/radio.md":[138,22],"./zh-cn/rate.md":[139,21],"./zh-cn/row.md":[140,20],"./zh-cn/scatter.md":[141,19],"./zh-cn/select.md":[142,18],"./zh-cn/simple-card.md":[143,17],"./zh-cn/slider.md":[144,16],"./zh-cn/snackbar.md":[145,15],"./zh-cn/spreadsheet.md":[146,14],"./zh-cn/step.md":[147,13],"./zh-cn/switch.md":[148,12],"./zh-cn/tab.md":[149,11],"./zh-cn/table.md":[150,10],"./zh-cn/tag.md":[151,9],"./zh-cn/text-field.md":[152,8],"./zh-cn/theme.md":[153,7],"./zh-cn/to.md":[154,6],"./zh-cn/toast.md":[155,5],"./zh-cn/top-app-bar.md":[156,4],"./zh-cn/transfer-list.md":[157,3],"./zh-cn/transition.md":[158,2],"./zh-cn/tree.md":[159,1],"./zh-cn/typography.md":[160,0]};r.keys=function(){return Object.keys(o)},r.id=36,e.exports=r},4:function(e,t,n){"use strict";"undefined"===typeof Promise&&(n(5).enable(),window.Promise=n(7)),n(8),Object.assign=n(9)},5:function(e,t,n){"use strict";function r(){l=!1,s._47=null,s._71=null}function o(e){function t(t){(e.allRejections||a(d[t].error,e.whitelist||c))&&(d[t].displayId=u++,e.onUnhandled?(d[t].logged=!0,e.onUnhandled(d[t].displayId,d[t].error)):(d[t].logged=!0,i(d[t].displayId,d[t].error)))}function n(t){d[t].logged&&(e.onHandled?e.onHandled(d[t].displayId,d[t].error):d[t].onUnhandled||(console.warn("Promise Rejection Handled (id: "+d[t].displayId+"):"),console.warn(' This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id '+d[t].displayId+".")))}e=e||{},l&&r(),l=!0;var o=0,u=0,d={};s._47=function(e){2===e._83&&d[e._56]&&(d[e._56].logged?n(e._56):clearTimeout(d[e._56].timeout),delete d[e._56])},s._71=function(e,n){0===e._75&&(e._56=o++,d[e._56]={displayId:null,error:n,timeout:setTimeout(t.bind(null,e._56),a(n,c)?100:2e3),logged:!1})}}function i(e,t){console.warn("Possible Unhandled Promise Rejection (id: "+e+"):"),((t&&(t.stack||t))+"").split("\n").forEach(function(e){console.warn(" "+e)})}function a(e,t){return t.some(function(t){return e instanceof t})}var s=n(3),c=[ReferenceError,TypeError,RangeError],l=!1;t.disable=r,t.enable=o},6:function(e,t,n){"use strict";(function(t){function n(e){a.length||(i(),s=!0),a[a.length]=e}function r(){for(;cl){for(var t=0,n=a.length-c;t-1?t:e}function p(e,t){t=t||{};var n=t.body;if(e instanceof p){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new o(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new o(t.headers)),this.method=f(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function m(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function h(e){var t=new o;return e.split(/\r?\n/).forEach(function(e){var n=e.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();t.append(r,o)}}),t}function b(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new o(t.headers),this.url=t.url||"",this._initBody(e)}if(!e.fetch){var y={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(y.arrayBuffer)var g=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],v=function(e){return e&&DataView.prototype.isPrototypeOf(e)},w=ArrayBuffer.isView||function(e){return e&&g.indexOf(Object.prototype.toString.call(e))>-1};o.prototype.append=function(e,r){e=t(e),r=n(r);var o=this.map[e];this.map[e]=o?o+","+r:r},o.prototype.delete=function(e){delete this.map[t(e)]},o.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},o.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},o.prototype.set=function(e,r){this.map[t(e)]=n(r)},o.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},o.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),r(e)},o.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),r(e)},o.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),r(e)},y.iterable&&(o.prototype[Symbol.iterator]=o.prototype.entries);var x=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];p.prototype.clone=function(){return new p(this,{body:this._bodyInit})},d.call(p.prototype),d.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},b.error=function(){var e=new b(null,{status:0,statusText:""});return e.type="error",e};var _=[301,302,303,307,308];b.redirect=function(e,t){if(-1===_.indexOf(t))throw new RangeError("Invalid status code");return new b(null,{status:t,headers:{location:e}})},e.Headers=o,e.Request=p,e.Response=b,e.fetch=function(e,t){return new Promise(function(n,r){var o=new p(e,t),i=new XMLHttpRequest;i.onload=function(){var e={status:i.status,statusText:i.statusText,headers:h(i.getAllResponseHeaders()||"")};e.url="responseURL"in i?i.responseURL:e.headers.get("X-Request-URL");var t="response"in i?i.response:i.responseText;n(new b(t,e))},i.onerror=function(){r(new TypeError("Network request failed"))},i.ontimeout=function(){r(new TypeError("Network request failed"))},i.open(o.method,o.url,!0),"include"===o.credentials&&(i.withCredentials=!0),"responseType"in i&&y.blob&&(i.responseType="blob"),o.headers.forEach(function(e,t){i.setRequestHeader(t,e)}),i.send("undefined"===typeof o._bodyInit?null:o._bodyInit)})},e.fetch.polyfill=!0}}("undefined"!==typeof self?self:void 0)},9:function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,c=r(e),l=1;lHello!`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */function h(nodeName,attributes){var children=[],lastSimple,child,simple,i;for(i=arguments.length;i-->2;){stack.push(arguments[i]);}if(attributes&&attributes.children!=null){if(!stack.length)stack.push(attributes.children);delete attributes.children;}while(stack.length){if((child=stack.pop())&&child.pop!==undefined){for(i=child.length;i--;){stack.push(child[i]);}}else{if(typeof child==='boolean')child=null;if(simple=typeof nodeName!=='function'){if(child==null)child='';else if(typeof child==='number')child=String(child);else if(typeof child!=='string')simple=false;}if(simple&&lastSimple){children[children.length-1]+=child;}else if(children.length===0){children=[child];}else{children.push(child);}lastSimple=simple;}}var p=new VNode();p.nodeName=nodeName;p.children=children;p.attributes=attributes==null?undefined:attributes;p.key=attributes==null?undefined:attributes.key;// if a \"vnode hook\" is defined, pass every created VNode to it\nif(options.vnode!==undefined)options.vnode(p);return p;}/* eslint-disable no-unused-vars */var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');}return Object(val);}function assign(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s8){usePromise=true;}}}var defer=usePromise?Promise.resolve().then.bind(Promise.resolve()):setTimeout;function isArray(obj){return Object.prototype.toString.call(obj)==='[object Array]';}function nProps(props){if(!props||isArray(props))return{};var result={};Object.keys(props).forEach(function(key){result[key]=props[key].value;});return result;}function getUse(data,paths){var obj=[];paths.forEach(function(path,index){var isPath=typeof path==='string';if(isPath){obj[index]=getTargetByPath(data,path);}else{var key=Object.keys(path)[0];var value=path[key];if(typeof value==='string'){obj[index]=getTargetByPath(data,value);}else{var tempPath=value[0];if(typeof tempPath==='string'){var tempVal=getTargetByPath(data,tempPath);obj[index]=value[1]?value[1](tempVal):tempVal;}else{var args=[];tempPath.forEach(function(path){args.push(getTargetByPath(data,path));});obj[index]=value[1].apply(null,args);}}obj[key]=obj[index];}});return obj;}function getTargetByPath(origin,path){var arr=path.replace(/]/g,'').replace(/\\[/g,'.').split('.');var current=origin;for(var i=0,len=arr.length;i2?[].slice.call(arguments,2):vnode.children);}// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL$1=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;/** Managed queue of dirty components to be re-rendered */var items=[];function enqueueRender(component){if(items.push(component)==1){(options.debounceRendering||defer)(rerender);}}/** Rerender all enqueued dirty components */function rerender(){var p;while(p=items.pop()){renderComponent(p);}}var mapping=options.mapping;/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */function isSameNodeType(node,vnode,hydrating){if(typeof vnode==='string'||typeof vnode==='number'){return node.splitText!==undefined;}if(typeof vnode.nodeName==='string'){var ctor=mapping[vnode.nodeName];if(ctor){return hydrating||node._componentConstructor===ctor;}return!node._componentConstructor&&isNamedNode(node,vnode.nodeName);}return hydrating||node._componentConstructor===vnode.nodeName;}/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */function isNamedNode(node,nodeName){return node.normalizedNodeName===nodeName||node.nodeName.toLowerCase()===nodeName.toLowerCase();}/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */function getNodeProps(vnode){var props=extend({},vnode.attributes);props.children=vnode.children;var defaultProps=vnode.nodeName.defaultProps;if(defaultProps!==undefined){for(var i in defaultProps){if(props[i]===undefined){props[i]=defaultProps[i];}}}return props;}/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */function createNode(nodeName,isSvg){var node=isSvg?options.doc.createElementNS('http://www.w3.org/2000/svg',nodeName):options.doc.createElement(nodeName);node.normalizedNodeName=nodeName;return node;}function parseCSSText(cssText){var cssTxt=cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g,' ').replace(/\\s+/g,' ');var style={},_ref=cssTxt.match(/ ?(.*?) ?{([^}]*)}/)||[a,b,cssTxt],a=_ref[0],b=_ref[1],rule=_ref[2];var cssToJs=function cssToJs(s){return s.replace(/\\W+\\w/g,function(match){return match.slice(-1).toUpperCase();});};var properties=rule.split(';').map(function(o){return o.split(':').map(function(x){return x&&x.trim();});});for(var i=properties,i=Array.isArray(i),i=0,i=i?i:i[Symbol.iterator]();;){var _ref3;if(i){if(i>=i.length)break;_ref3=i[i++];}else{i=i.next();if(i.done)break;_ref3=i.value;}var _ref2=_ref3;var property=_ref2[0];var value=_ref2[1];style[cssToJs(property)]=value;}return style;}/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */function removeNode(node){var parentNode=node.parentNode;if(parentNode)parentNode.removeChild(node);}/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */function setAccessor(node,name,old,value,isSvg){if(name==='className')name='class';if(name==='key'){// ignore\n}else if(name==='ref'){applyRef(old,null);applyRef(value,node);}else if(name==='class'&&!isSvg){node.className=value||'';}else if(name==='style'){if(options.isWeb){if(!value||typeof value==='string'||typeof old==='string'){node.style.cssText=value||'';}if(value&&(typeof value==='undefined'?'undefined':_typeof(value))==='object'){if(typeof old!=='string'){for(var i in old){if(!(i in value))node.style[i]='';}}for(var i in value){node.style[i]=typeof value[i]==='number'&&IS_NON_DIMENSIONAL$1.test(i)===false?value[i]+'px':value[i];}}}else{var oldJson=old,currentJson=value;if(typeof old==='string'){oldJson=parseCSSText(old);}if(typeof value=='string'){currentJson=parseCSSText(value);}var result={},changed=false;if(oldJson){for(var key in oldJson){if((typeof currentJson==='undefined'?'undefined':_typeof(currentJson))=='object'&&!(key in currentJson)){result[key]='';changed=true;}}for(var ckey in currentJson){if(currentJson[ckey]!==oldJson[ckey]){result[ckey]=currentJson[ckey];changed=true;}}if(changed){node.setStyles(result);}}else{node.setStyles(currentJson);}}}else if(name==='dangerouslySetInnerHTML'){if(value)node.innerHTML=value.__html||'';}else if(name[0]=='o'&&name[1]=='n'){var useCapture=name!==(name=name.replace(/Capture$/,''));name=name.toLowerCase().substring(2);if(value){if(!old){node.addEventListener(name,eventProxy,useCapture);if(name=='tap'){node.addEventListener('touchstart',touchStart,useCapture);node.addEventListener('touchend',touchEnd,useCapture);}}}else{node.removeEventListener(name,eventProxy,useCapture);if(name=='tap'){node.removeEventListener('touchstart',touchStart,useCapture);node.removeEventListener('touchend',touchEnd,useCapture);}}(node._listeners||(node._listeners={}))[name]=value;}else if(name!=='list'&&name!=='type'&&!isSvg&&name in node){setProperty(node,name,value==null?'':value);if(value==null||value===false)node.removeAttribute(name);}else{var ns=isSvg&&name!==(name=name.replace(/^xlink:?/,''));if(value==null||value===false){if(ns)node.removeAttributeNS('http://www.w3.org/1999/xlink',name.toLowerCase());else node.removeAttribute(name);}else if(typeof value!=='function'){if(ns)node.setAttributeNS('http://www.w3.org/1999/xlink',name.toLowerCase(),value);else node.setAttribute(name,value);}}}/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */function setProperty(node,name,value){try{node[name]=value;}catch(e){}}/** Proxy an event to hooked event handlers\n *\t@private\n */function eventProxy(e){return this._listeners[e.type](options.event&&options.event(e)||e);}function touchStart(e){this.___touchX=e.touches[0].pageX;this.___touchY=e.touches[0].pageY;this.___scrollTop=document.body.scrollTop;}function touchEnd(e){if(Math.abs(e.changedTouches[0].pageX-this.___touchX)<30&&Math.abs(e.changedTouches[0].pageY-this.___touchY)<30&&Math.abs(document.body.scrollTop-this.___scrollTop)<30){this.dispatchEvent(new CustomEvent('tap',{detail:e}));}}var styleId=0;function getCtorName(ctor){for(var i=0,len=options.styleCache.length;i-1;){if(item===arr[i])return true;}return false;};obaa.isFunction=function(obj){return Object.prototype.toString.call(obj)=='[object Function]';};obaa._getRootName=function(prop,path){if(path==='#'){return prop;}return path.split('-')[1];};obaa.add=function(obj,prop){var $observer=obj.$observer;$observer.watch(obj,prop);};obaa.set=function(obj,prop,value,exec){if(!exec){obj[prop]=value;}var $observer=obj.$observer;$observer.watch(obj,prop);if(exec){obj[prop]=value;}};Array.prototype.size=function(length){this.length=length;};var callbacks=[];var nextTickCallback=[];function fireTick(){callbacks.forEach(function(item){item.fn.call(item.scope);});nextTickCallback.forEach(function(nextItem){nextItem.fn.call(nextItem.scope);});nextTickCallback.length=0;}function proxyUpdate(ele){var timeout=null;obaa(ele.data,function(){if(ele._willUpdate){return;}if(ele.constructor.mergeUpdate){clearTimeout(timeout);timeout=setTimeout(function(){ele.update();fireTick();},0);}else{ele.update();fireTick();}});}/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */function setComponentProps(component,props,opts,context,mountAll){if(component._disable)return;component._disable=true;if(component.__ref=props.ref)delete props.ref;if(component.__key=props.key)delete props.key;if(!component.base||mountAll){if(component.beforeInstall)component.beforeInstall();if(component.install)component.install();if(component.constructor.observe){proxyUpdate(component);}}else if(component.receiveProps){component.receiveProps(props,component.data,component.props);}if(context&&context!==component.context){if(!component.prevContext)component.prevContext=component.context;component.context=context;}if(!component.prevProps)component.prevProps=component.props;component.props=props;component._disable=false;if(opts!==0){if(opts===1||options.syncComponentUpdates!==false||!component.base){renderComponent(component,1,mountAll);}else{enqueueRender(component);}}applyRef(component.__ref,component);}function shallowComparison(old,attrs){var name;for(name in old){if(attrs[name]==null&&old[name]!=null){return true;}}if(old.children.length>0||attrs.children.length>0){return true;}for(name in attrs){if(name!='children'){var type=_typeof(attrs[name]);if(type=='function'||type=='object'){return true;}else if(attrs[name]!=old[name]){return true;}}}}/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */function renderComponent(component,opts,mountAll,isChild){if(component._disable)return;var props=component.props,data=component.data,context=component.context,previousProps=component.prevProps||props,previousState=component.prevState||data,previousContext=component.prevContext||context,isUpdate=component.base,nextBase=component.nextBase,initialBase=isUpdate||nextBase,initialChildComponent=component._component,skip=false,rendered,inst,cbase;// if updating\nif(isUpdate){component.props=previousProps;component.data=previousState;component.context=previousContext;if(component.store||opts==2||shallowComparison(previousProps,props)){skip=false;if(component.beforeUpdate){component.beforeUpdate(props,data,context);}}else{skip=true;}component.props=props;component.data=data;component.context=context;}component.prevProps=component.prevState=component.prevContext=component.nextBase=null;if(!skip){component.beforeRender&&component.beforeRender();rendered=component.render(props,data,context);//don't rerender\nif(component.constructor.css||component.css){addScopedAttrStatic(rendered,'_s'+getCtorName(component.constructor));}scopeHost(rendered,component.scopedCssAttr);// context to pass to the child, can be updated via (grand-)parent component\nif(component.getChildContext){context=extend(extend({},context),component.getChildContext());}var childComponent=rendered&&rendered.nodeName,toUnmount,base,ctor=options.mapping[childComponent];if(ctor){// set up high order component link\nvar childProps=getNodeProps(rendered);inst=initialChildComponent;if(inst&&inst.constructor===ctor&&childProps.key==inst.__key){setComponentProps(inst,childProps,1,context,false);}else{toUnmount=inst;component._component=inst=createComponent(ctor,childProps,context);inst.nextBase=inst.nextBase||nextBase;inst._parentComponent=component;setComponentProps(inst,childProps,0,context,false);renderComponent(inst,1,mountAll,true);}base=inst.base;}else{cbase=initialBase;// destroy high order component link\ntoUnmount=initialChildComponent;if(toUnmount){cbase=component._component=null;}if(initialBase||opts===1){if(cbase)cbase._component=null;base=diff(cbase,rendered,context,mountAll||!isUpdate,initialBase&&initialBase.parentNode,true);}}if(initialBase&&base!==initialBase&&inst!==initialChildComponent){var baseParent=initialBase.parentNode;if(baseParent&&base!==baseParent){baseParent.replaceChild(base,initialBase);if(!toUnmount){initialBase._component=null;recollectNodeTree(initialBase,false);}}}if(toUnmount){unmountComponent(toUnmount);}component.base=base;if(base&&!isChild){var componentRef=component,t=component;while(t=t._parentComponent){(componentRef=t).base=base;}base._component=componentRef;base._componentConstructor=componentRef.constructor;}}if(!isUpdate||mountAll){mounts.unshift(component);}else if(!skip){// Ensure that pending componentDidMount() hooks of child components\n// are called before the componentDidUpdate() hook in the parent.\n// Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n// flushMounts();\nif(component.afterUpdate){//deprecated\ncomponent.afterUpdate(previousProps,previousState,previousContext);}if(component.updated){component.updated(previousProps,previousState,previousContext);}if(options.afterUpdate)options.afterUpdate(component);}if(component._renderCallbacks!=null){while(component._renderCallbacks.length){component._renderCallbacks.pop().call(component);}}if(!diffLevel&&!isChild)flushMounts();}/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */function buildComponentFromVNode(dom,vnode,context,mountAll){var c=dom&&dom._component,originalComponent=c,oldDom=dom,isDirectOwner=c&&dom._componentConstructor===vnode.nodeName,isOwner=isDirectOwner,props=getNodeProps(vnode);while(c&&!isOwner&&(c=c._parentComponent)){isOwner=c.constructor===vnode.nodeName;}if(c&&isOwner&&(!mountAll||c._component)){setComponentProps(c,props,3,context,mountAll);dom=c.base;}else{if(originalComponent&&!isDirectOwner){unmountComponent(originalComponent);dom=oldDom=null;}c=createComponent(vnode.nodeName,props,context,vnode);if(dom&&!c.nextBase){c.nextBase=dom;// passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\noldDom=null;}setComponentProps(c,props,1,context,mountAll);dom=c.base;if(oldDom&&dom!==oldDom){oldDom._component=null;recollectNodeTree(oldDom,false);}}return dom;}/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */function unmountComponent(component){if(options.beforeUnmount)options.beforeUnmount(component);var base=component.base;component._disable=true;if(component.uninstall)component.uninstall();if(component.store&&component.store.instances){for(var i=0,len=component.store.instances.length;i0){this.instances.forEach(function(instance){if(updateAll||_this.updateAll||instance.constructor.updatePath&&needUpdate(patch,instance.constructor.updatePath)||instance._updatePath&&needUpdate(patch,instance._updatePath)){//update this.use\nif(instance.constructor.use){instance.use=getUse(store.data,instance.constructor.use);}else if(instance.initUse){instance.use=getUse(store.data,instance.initUse());}instance.update();}});this.onChange&&this.onChange(patch);}};}function matchGlobalData(globalData,diffResult){if(!globalData)return false;for(var keyA in diffResult){if(globalData.indexOf(keyA)>-1){return true;}for(var i=0,len=globalData.length;i0){return{'class':classNames.apply(null,args)};}}function getHost(component){var base=component.base;if(base){while(base.parentNode){if(base.parentNode._component){return base.parentNode._component;}else{base=base.parentNode;}}}}/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */var encodeEntities=function encodeEntities(s){return String(s).replace(/&/g,'&').replace(//g,'>').replace(/\"/g,'"');};var indent=function indent(s,char){return String(s).replace(/(\\n+)/g,'$1'+(char||'\\t'));};var mapping$1=options.mapping;var VOID_ELEMENTS=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;var isLargeString=function isLargeString(s,length,ignoreLines){return String(s).length>(length||40)||!ignoreLines&&String(s).indexOf('\\n')!==-1||String(s).indexOf('<')!==-1;};var JS_TO_CSS={};// Convert an Object style to a CSSText string\nfunction styleObjToCss(s){var str='';for(var prop in s){var val=s[prop];if(val!=null){if(str)str+=' ';// str += jsToCss(prop);\nstr+=JS_TO_CSS[prop]||(JS_TO_CSS[prop]=prop.replace(/([A-Z])/g,'-$1').toLowerCase());str+=': ';str+=val;if(typeof val==='number'&&IS_NON_DIMENSIONAL.test(prop)===false){str+='px';}str+=';';}}return str||undefined;}function renderToString(vnode,opts,store,isSvgMode){store=store||{};opts=Object.assign({scopedCSS:true},opts);var css={};var html=_renderToString(vnode,opts,store,isSvgMode,css);return{css:Object.values(css),html:html};}/** The default export is an alias of `render()`. */function _renderToString(vnode,opts,store,isSvgMode,css){if(vnode==null||typeof vnode==='boolean'){return'';}var nodeName=vnode.nodeName,attributes=vnode.attributes,isComponent=false;var pretty=true&&opts.pretty,indentChar=pretty&&typeof pretty==='string'?pretty:'\\t';// #text nodes\nif((typeof vnode==='undefined'?'undefined':_typeof(vnode))!=='object'&&!nodeName){return encodeEntities(vnode);}// components\nvar ctor=mapping$1[nodeName];if(ctor){isComponent=true;var props=getNodeProps$1(vnode),rendered;// class-based components\nvar c=new ctor(props,store);// turn off stateful re-rendering:\nc._disable=c.__x=true;c.props=props;c.store=store;if(c.install)c.install();if(c.beforeRender)c.beforeRender();rendered=c.render(c.props,c.data,c.store);if(opts.scopedCSS){if(c.constructor.css||c.css){var cssStr=c.constructor.css?c.constructor.css:typeof c.css==='function'?c.css():c.css;var cssAttr='_s'+getCtorName(c.constructor);css[cssAttr]={id:cssAttr,css:scoper(cssStr,cssAttr)};addScopedAttrStatic(rendered,cssAttr);}c.scopedCSSAttr=vnode.css;scopeHost(rendered,c.scopedCSSAttr);}return _renderToString(rendered,opts,store,false,css);}// render JSX to HTML\nvar s='',html;if(attributes){var attrs=Object.keys(attributes);// allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\nif(opts&&opts.sortAttributes===true)attrs.sort();for(var i=0;i]/))continue;if(!(opts&&opts.allAttributes)&&(name==='key'||name==='ref'))continue;if(name==='className'){if(attributes['class'])continue;name='class';}else if(isSvgMode&&name.match(/^xlink:?./)){name=name.toLowerCase().replace(/^xlink:?/,'xlink:');}if(name==='style'&&v&&(typeof v==='undefined'?'undefined':_typeof(v))==='object'){v=styleObjToCss(v);}var hooked=opts.attributeHook&&opts.attributeHook(name,v,store,opts,isComponent);if(hooked||hooked===''){s+=hooked;continue;}if(name==='dangerouslySetInnerHTML'){html=v&&v.__html;}else if((v||v===0||v==='')&&typeof v!=='function'){if(v===true||v===''){v=name;// in non-xml mode, allow boolean attributes\nif(!opts||!opts.xml){s+=' '+name;continue;}}s+=' '+name+'=\"'+encodeEntities(v)+'\"';}}}// account for >1 multiline attribute\nif(pretty){var sub=s.replace(/^\\n\\s*/,' ');if(sub!==s&&!~sub.indexOf('\\n'))s=sub;else if(pretty&&~s.indexOf('\\n'))s+='\\n';}s='<'+nodeName+s+'>';if(String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/))throw s;var isVoid=String(nodeName).match(VOID_ELEMENTS);if(isVoid)s=s.replace(/>$/,' />');var pieces=[];if(html){// if multiline, indent.\nif(pretty&&isLargeString(html)){html='\\n'+indentChar+indent(html,indentChar);}s+=html;}else if(vnode.children){var hasLarge=pretty&&~s.indexOf('\\n');for(var i=0;i';}if(!isVoid){if(pretty&&~s.indexOf('\\n'))s+='\\n';s+=''+nodeName+'>';}return s;}function assign$1(obj,props){for(var i in props){obj[i]=props[i];}return obj;}function getNodeProps$1(vnode){var props=assign$1({},vnode.attributes);props.children=vnode.children;var defaultProps=vnode.nodeName.defaultProps;if(defaultProps!==undefined){for(var i in defaultProps){if(props[i]===undefined){props[i]=defaultProps[i];}}}return props;}var n=function n(t,r,u,e){for(var p=1;p\"===t?(a(),u=1):u&&(\"=\"===t?(u=4,r=e,e=\"\"):\"/\"===t?(a(),3===u&&(s=s[0]),u=s,(s=s[0]).push(u,4),u=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(a(),u=2):e+=t);}}return a(),s;},r=\"function\"==typeof Map,u=r?new Map():{},e=r?function(n){var r=u.get(n);return r||u.set(n,r=t(n)),r;}:function(n){for(var r=\"\",e=0;e1?r:r[0];}var html=htm.bind(h);var WeElement=Component;var defineElement=define;function createRef(){return{};}options.root.Omi={h:h,createElement:h,cloneElement:cloneElement,createRef:createRef,Component:Component,render:render,rerender:rerender,options:options,WeElement:WeElement,define:define,rpx:rpx,ModelView:ModelView,defineElement:defineElement,classNames:classNames,extractClass:extractClass,getHost:getHost,renderToString:renderToString,tag:tag,merge:merge,html:html,htm:htm};options.root.omi=options.root.Omi;options.root.Omi.version='omio-2.2.1';var omi={h:h,createElement:h,cloneElement:cloneElement,createRef:createRef,Component:Component,render:render,rerender:rerender,options:options,WeElement:WeElement,define:define,rpx:rpx,ModelView:ModelView,defineElement:defineElement,classNames:classNames,extractClass:extractClass,getHost:getHost,renderToString:renderToString,tag:tag,merge:merge,html:html,htm:htm};exports.default=omi;exports.h=h;exports.createElement=h;exports.cloneElement=cloneElement;exports.createRef=createRef;exports.Component=Component;exports.render=render;exports.rerender=rerender;exports.options=options;exports.WeElement=WeElement;exports.define=define;exports.rpx=rpx;exports.ModelView=ModelView;exports.defineElement=defineElement;exports.classNames=classNames;exports.extractClass=extractClass;exports.getHost=getHost;exports.renderToString=renderToString;exports.tag=tag;exports.merge=merge;exports.html=html;exports.htm=htm;//# sourceMappingURL=omi.esm.js.map\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/// css base code, injected by the css-loader\nmodule.exports=function(useSourceMap){var list=[];// return the list of modules as css string\nlist.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\nlist.i=function(modules,mediaQuery){if(typeof modules===\"string\")modules=[[null,modules,\"\"]];var alreadyImportedModules={};for(var i=0;i {\n// let newP = document.createElement('div')\n// newP.className = '_code-ctn'\n// let pre = code.parentNode\n// let ctn = pre.parentNode\n// if (pre.nodeName === 'PRE') {\n// ctn.insertBefore(newP, pre)\n// let hl = document.createElement('div')\n// hl.className = '_hl'\n// newP.appendChild(hl)\n// newP.appendChild(pre)\n// let nums = codeHlNumArr[index]\n// let max = Math.max.apply(null, nums)\n// let inner = ''\n// for (let i = 0; i <= max; i++) {\n// if (nums.indexOf(i) == -1) {\n// inner += '
'\n// } else {\n// inner += ''\n// }\n// }\n// hl.innerHTML = inner\n// }\n// })\n//fix line-highlight\nwindow.dispatchEvent(new Event('resize'));}},{key:'_arrToNumber',value:function _arrToNumber(numArr){var arr=[];numArr.forEach(function(item){if(item.indexOf('-')!==-1){var tempArr=item.split('-');var begin=Number(tempArr[0]);var end=Number(tempArr[1]);for(var i=begin;i0)return false;}return true;}},{key:'render',value:function render(){if(!this.demo)return;return Omi.h('div',null,Omi.h('iframe',{style:'width:'+(window.innerWidth-1180)+'px;height:'+(window.innerHeight-59)+'px;visibility:'+(this.show?'visible':'hidden')+';',src:this.demo}),Omi.h('div',{'class':'icon',onClick:this.toggle},Omi.h('svg',{viewBox:'64 64 896 896','class':'',style:'left:'+(this.show?'14px':'0px')+';','data-icon':'left',width:'1.2em',height:'1.2em',fill:'currentColor','aria-hidden':'true',focusable:'false'},Omi.h('path',{d:'M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z'})),Omi.h('svg',{viewBox:'64 64 896 896','class':'',style:'left:'+(this.show?'-14px':'0px')+';','data-icon':'right',width:'1.2em',height:'1.2em',fill:'currentColor','aria-hidden':'true',focusable:'false'},Omi.h('path',{d:'M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z'}))));}}]);return _class2;}(_omi.WeElement));\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};var asap=__webpack_require__(6);function noop(){}// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR=null;var IS_ERROR={};function getThen(obj){try{return obj.then;}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}function tryCallOne(fn,a){try{return fn(a);}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}function tryCallTwo(fn,a,b){try{fn(a,b);}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}module.exports=Promise;function Promise(fn){if(_typeof(this)!=='object'){throw new TypeError('Promises must be constructed via new');}if(typeof fn!=='function'){throw new TypeError('Promise constructor\\'s argument is not a function');}this._75=0;this._83=0;this._18=null;this._38=null;if(fn===noop)return;doResolve(fn,this);}Promise._47=null;Promise._71=null;Promise._44=noop;Promise.prototype.then=function(onFulfilled,onRejected){if(this.constructor!==Promise){return safeThen(this,onFulfilled,onRejected);}var res=new Promise(noop);handle(this,new Handler(onFulfilled,onRejected,res));return res;};function safeThen(self,onFulfilled,onRejected){return new self.constructor(function(resolve,reject){var res=new Promise(noop);res.then(resolve,reject);handle(self,new Handler(onFulfilled,onRejected,res));});}function handle(self,deferred){while(self._83===3){self=self._18;}if(Promise._47){Promise._47(self);}if(self._83===0){if(self._75===0){self._75=1;self._38=deferred;return;}if(self._75===1){self._75=2;self._38=[self._38,deferred];return;}self._38.push(deferred);return;}handleResolved(self,deferred);}function handleResolved(self,deferred){asap(function(){var cb=self._83===1?deferred.onFulfilled:deferred.onRejected;if(cb===null){if(self._83===1){resolve(deferred.promise,self._18);}else{reject(deferred.promise,self._18);}return;}var ret=tryCallOne(cb,self._18);if(ret===IS_ERROR){reject(deferred.promise,LAST_ERROR);}else{resolve(deferred.promise,ret);}});}function resolve(self,newValue){// Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\nif(newValue===self){return reject(self,new TypeError('A promise cannot be resolved with itself.'));}if(newValue&&((typeof newValue==='undefined'?'undefined':_typeof(newValue))==='object'||typeof newValue==='function')){var then=getThen(newValue);if(then===IS_ERROR){return reject(self,LAST_ERROR);}if(then===self.then&&newValue instanceof Promise){self._83=3;self._18=newValue;finale(self);return;}else if(typeof then==='function'){doResolve(then.bind(newValue),self);return;}}self._83=1;self._18=newValue;finale(self);}function reject(self,newValue){self._83=2;self._18=newValue;if(Promise._71){Promise._71(self,newValue);}finale(self);}function finale(self){if(self._75===1){handle(self,self._38);self._38=null;}if(self._75===2){for(var i=0;i768};var id=0;this.map={};this.positionMap={};_config2.default.menus[this.data.lan].forEach(function(menu,index){menu.list.forEach(function(item,subIndex){item.id=id++;item.position=[index,subIndex];_this.map[item.id]=item;item.index=index;item.subIndex=subIndex;_this.positionMap[index+'-'+subIndex]=item;});});this.preIndex=0;this.preSubIndex=0;}_createClass(Store,[{key:'getNext',value:function getNext(){var item=this.positionMap[this.data.position.join('-')];if(item){return this.map[item.id+1];}}},{key:'getPre',value:function getPre(){var item=this.positionMap[this.data.position.join('-')];if(item){return this.map[item.id-1];}}},{key:'init',value:function init(){var _this2=this;this.remarkable=new Remarkable({html:true});if(location.hash===\"\"){this.data.position=[0,0];this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md,this.data.lan,function(m){_this2.data.html=_this2.remarkable.render(m);});}this.demo=this.data.menus[this.data.lan][0].list[0].demo;this.initRouter();}},{key:'toogleSidebar',value:function toogleSidebar(){this.data.sideBarShow=!this.data.sideBarShow;}},{key:'hideSidebar',value:function hideSidebar(){this.data.sideBarShow=false;}},{key:'initRouter',value:function initRouter(){var _this3=this;var menus=this.data.menus[this.data.lan];menus.forEach(function(item){item.list.forEach(function(subItem){route('/'+subItem.md,function(evt){menus[_this3.preIndex].list[_this3.preSubIndex].selected=false;_this3.preIndex=evt.query.index;_this3.preSubIndex=evt.query.subIndex;_this3.data.position=[Number(evt.query.index),Number(evt.query.subIndex)];_this3.data.sideBarShow=false;_this3.myDemo.demo=menus[_this3.preIndex].list[_this3.preSubIndex].demo;_this3.myDemo.update();_this3.getMarkDown(subItem.md,_this3.data.lan,function(m){_this3.data.html=_this3.remarkable.render(m);document.body.scrollTop=0;document.documentElement.scrollTop=0;});});});});}},{key:'getMarkDown',value:function getMarkDown(name,lan,callback){__webpack_require__(36)(\"./\"+lan+'/'+name+'.md').then(function(m){callback(m);});}}]);return Store;}();exports.default=Store;\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(exports,\"__esModule\",{value:true});var config={menus:{'zh-cn':[{title:'Omim',list:[{name:'简介',md:'introduction'}]},{title:'基础',list:[{name:'Button 按钮',md:'button',demo:'./repl/button.html'},{name:'Fab 动作按钮',md:'fab',demo:'./repl/fab.html'},{name:'Icon 图标',md:'icon',demo:'./repl/icon.html'},{name:'IconButton 图标按钮',md:'icon-button',demo:'./repl/icon-button.html'},{name:'Avatar 头像',md:'avatar',demo:'./repl/avatar.html'},{name:'Loading 加载',md:'loading',demo:'./repl/loading.html'},{name:'Breadcrumb 面包屑',md:'breadcrumb',demo:'./repl/breadcrumb.html'}]},{title:'公用',list:[{name:'Transition 过渡',md:'transition',demo:'https://tencent.github.io/omi/packages/omim/demos/transition/index.html'},{name:'To 运动',md:'to',demo:'https://tencent.github.io/omi/packages/omim/demos/to/index.html'},{name:'Theme 主题',md:'theme',demo:'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html'},{name:'Typography 排版',md:'typography',demo:'./repl/typography.html'},{name:'Layout Grid 网格布局',md:'layout-grid',demo:'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html'}]},{title:'布局',list:[{name:'Row 行',md:'row',demo:'./repl/row.html'},{name:'Elevation 高度盒',md:'elevation',demo:'./repl/elevation.html'},{name:'Image List 图片列表',md:'image-list',demo:'./repl/image-list.html'}]},{title:'导航',list:[{name:'Menu 菜单',md:'menu',demo:'./repl/menu.html'},{name:'Drawer 抽屉',md:'drawer',demo:'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html'},{name:'Tab 标签切换',md:'tab',demo:'./repl/tab.html'},{name:'Nav 导航',md:'nav',demo:'./repl/nav.html'},{name:'Pagination 分页',md:'pagination',demo:'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html'},{name:'Top App Bar 顶部栏',md:'top-app-bar',demo:'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html'}]},{title:'操作反馈',list:[{name:'Dialog 对话框',md:'dialog',demo:'./repl/dialog.html'},{name:'Snackbar 提醒',md:'snackbar',demo:'./repl/snackbar.html'},{name:'ActionSheet 行动表',md:'action-sheet',demo:'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},{name:'ColorPicker 颜色选择机',md:'color-picker',demo:'./repl/color-picker.html'},{name:'Popover 提示',md:'popover',demo:'https://tencent.github.io/omi/packages/omim/demos/popover/index.html'},{name:'Toast 弹出提示',md:'toast',demo:'https://tencent.github.io/omi/packages/omim/demos/toast/index.html'}]},{title:'表单',list:[{name:'Text Field 文本输入',md:'text-field',demo:'./repl/text-field.html'},{name:'Select 下拉选择',md:'select',demo:'./repl/select.html'},{name:'Checkbox 复选框',md:'checkbox',demo:'./repl/checkbox.html'},{name:'Radio 单选框',md:'radio',demo:'./repl/radio.html'},{name:'Switch 切换',md:'switch',demo:'./repl/switch.html'},{name:'DateTimePicker 时间日期选择器',md:'date-time-picker',demo:'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html'},{name:'Picker 原生选择器',md:'picker',demo:'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html'},{name:'TransferList 穿梭列表',md:'transfer-list',demo:'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html'}]},{title:'数据',list:[{name:'List 列表',md:'list',demo:'./repl/list.html'},{name:'Table 表格',md:'table',demo:'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html'},{name:'Linear Progress 线性进度',md:'linear-progress',demo:'./repl/linear-progress.html'},{name:'Slider 滑块',md:'slider',demo:'./repl/slider.html'},{name:'Chips 标签',md:'chips',demo:'./repl/chips.html'},{name:'Tag 标签',md:'tag',demo:'./repl/tag.html'},{name:'Badge 徽章',md:'badge',demo:'./repl/badge.html'},{name:'Tree 树',md:'tree',demo:'./repl/tree.html'},{name:'Card 卡片',md:'card',demo:'./repl/card.html'},{name:'Path Progress 路径进度',md:'path-progress',demo:'./repl/path-progress.html'},{name:'Paper 纸片',md:'paper',demo:'./repl/paper.html'},{name:'Step 步骤',md:'step',demo:'./repl/step.html'},{name:'Simple Card 简单卡片',md:'simple-card',demo:'./repl/simple-card.html'},{name:'Editor 富文本编辑器',md:'editor',demo:'https://tencent.github.io/omi/packages/omim/demos/editor/index.html'},{name:'Spreadsheet 电子表格',md:'spreadsheet',demo:'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html'},{name:'Rate 评分',md:'rate',demo:'https://tencent.github.io/omi/packages/omim/demos/rate/index.html'}]},{title:'图表',list:[{name:'简介',md:'introduction-chart'},{name:'柱状图',md:'bar',demo:'./repl/bar.html'},{name:'线状图',md:'line',demo:'./repl/line.html'},{name:'散点图',md:'scatter',demo:'./repl/scatter.html'},{name:'饼图',md:'pie',demo:'./repl/pie.html'},{name:'环状图',md:'doughnut',demo:'./repl/doughnut.html'},{name:'雷达图',md:'radar',demo:'./repl/radar.html'},{name:'极区图',md:'polar-area',demo:'./repl/polar-area.html'},{name:'气泡图',md:'bubble',demo:'./repl/bubble.html'},{name:'合成图',md:'bar-line',demo:'./repl/bar-line.html'}]}],en:[{title:'Omim',list:[{name:'Introduction',md:'introduction'}]},{title:'Base',list:[{name:'Button',md:'button',demo:'./repl/button.html'},{name:'Fab',md:'fab',demo:'./repl/fab.html'},{name:'Icon',md:'icon',demo:'./repl/icon.html'},{name:'IconButton',md:'icon-button',demo:'./repl/icon-button.html'},{name:'Avatar',md:'avatar',demo:'./repl/avatar.html'},{name:'Loading',md:'loading',demo:'./repl/loading.html'},{name:'Breadcrumb',md:'breadcrumb',demo:'./repl/breadcrumb.html'}]},{title:'Util',list:[{name:'Transition',md:'transition',demo:'https://tencent.github.io/omi/packages/omim/demos/transition/index.html'},{name:'To',md:'to',demo:'https://tencent.github.io/omi/packages/omim/demos/to/index.html'},{name:'Theme',md:'theme',demo:'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html'},{name:'Typography',md:'typography',demo:'./repl/typography.html'},{name:'Layout Grid',md:'layout-grid',demo:'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html'}]},{title:'Layout',list:[{name:'Row',md:'row',demo:'./repl/row.html'},{name:'Elevation',md:'elevation',demo:'./repl/elevation.html'},{name:'Image List',md:'image-list',demo:'./repl/image-list.html'}]},{title:'Navigation',list:[{name:'Menu',md:'menu',demo:'./repl/menu.html'},{name:'Drawer',md:'drawer',demo:'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html'},{name:'Tab',md:'tab',demo:'./repl/tab.html'},{name:'Nav',md:'nav',demo:'./repl/nav.html'},{name:'Pagination',md:'pagination',demo:'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html'},{name:'Top App Bar',md:'top-app-bar',demo:'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html'}]},{title:'Operational Feedback',list:[{name:'Dialog',md:'dialog',demo:'./repl/dialog.html'},{name:'Snackbar',md:'snackbar',demo:'./repl/snackbar.html'},{name:'ActionSheet',md:'action-sheet',demo:'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},{name:'ColorPicker',md:'color-picker',demo:'./repl/color-picker.html'},{name:'Popover',md:'popover',demo:'https://tencent.github.io/omi/packages/omim/demos/popover/index.html'},{name:'Toast',md:'toast',demo:'https://tencent.github.io/omi/packages/omim/demos/toast/index.html'}]},{title:'Form',list:[{name:'Text Field',md:'text-field',demo:'./repl/text-field.html'},{name:'Select',md:'select',demo:'./repl/select.html'},{name:'Checkbox',md:'checkbox',demo:'./repl/checkbox.html'},{name:'Radio',md:'radio',demo:'./repl/radio.html'},{name:'Switch',md:'switch',demo:'./repl/switch.html'},{name:'DateTimePicker',md:'date-time-picker',demo:'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html'},{name:'Picker',md:'picker',demo:'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html'},{name:'TransferList',md:'transfer-list',demo:'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html'}]},{title:'Data',list:[{name:'List',md:'list',demo:'./repl/list.html'},{name:'Table',md:'table',demo:'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html'},{name:'Linear Progress',md:'linear-progress',demo:'./repl/linear-progress.html'},{name:'Slider',md:'slider',demo:'./repl/slider.html'},{name:'Chips',md:'chips',demo:'./repl/chips.html'},{name:'Tag',md:'tag',demo:'./repl/tag.html'},{name:'Badge',md:'badge',demo:'./repl/badge.html'},{name:'Tree',md:'tree',demo:'./repl/tree.html'},{name:'Card',md:'card',demo:'./repl/card.html'},{name:'Path Progress',md:'path-progress',demo:'./repl/path-progress.html'},{name:'Paper',md:'paper',demo:'./repl/paper.html'},{name:'Step',md:'step',demo:'./repl/step.html'},{name:'Simple Card',md:'simple-card',demo:'./repl/simple-card.html'},{name:'Editor',md:'editor',demo:'https://tencent.github.io/omi/packages/omim/demos/editor/index.html'},{name:'Spreadsheet',md:'spreadsheet',demo:'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html'},{name:'Rate',md:'rate',demo:'https://tencent.github.io/omi/packages/omim/demos/rate/index.html'}]},{title:'Chart',list:[{name:'Introduction',md:'introduction-chart'},{name:'Bar',md:'bar',demo:'./repl/bar.html'},{name:'Line',md:'line',demo:'./repl/line.html'},{name:'Scatter',md:'scatter',demo:'./repl/scatter.html'},{name:'Pie',md:'pie',demo:'./repl/pie.html'},{name:'Doughnut',md:'doughnut',demo:'./repl/doughnut.html'},{name:'Radar',md:'radar',demo:'./repl/radar.html'},{name:'PolarArea',md:'polar-area',demo:'./repl/polar-area.html'},{name:'Bubble',md:'bubble',demo:'./repl/bubble.html'},{name:'BarLine',md:'bar-line',demo:'./repl/bar-line.html'}]}]}};exports.default=config;\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {Object.defineProperty(exports,\"__esModule\",{value:true});var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};exports.default=route;/*!\n * omi-router v2.0.8 by dntzhang\n * Router for Omi.\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */var p2r=__webpack_require__(35);var mapping={};var root=getGlobal();root.route=route;root.route.params=null;root.historyLength=0;root.route.to=function(path,data){root.route._routeByTo=true;root.route.data=data;if(path[0]==='#'){location.hash=path;}else{location.hash='#'+path;}};window.addEventListener('hashchange',change);function change(evt){var byNative=false;//need to fix a line by omi-link\nif(window.history.length===root.historyLength&&!root.route._routeByTo){//keep alive mode\nbyNative=true;}root.route._routeByTo=false;root.historyLength=window.history.length;var prevent=false;if(evt.type==='hashchange'&&root.route.before){prevent=root.route.before(evt)===false;}if(prevent)return;var path=window.location.hash.replace('#','');var notFound=true;Object.keys(mapping).every(function(key){var toArr=path.split('?')[0].match(mapping[key].reg);if(toArr){var pathArr=key.match(mapping[key].reg);root.route.params=getParams(toArr,pathArr);root.route.query=getUrlParams(path);mapping[key].callback({params:root.route.params,query:getUrlParams(path),data:root.route.data,byNative:byNative});root.route.data=null;notFound=false;return false;}return true;});if(notFound){mapping['*']&&mapping['*'].callback({byNative:byNative});}if(evt.type==='hashchange'&&root.route.after){root.route.after(evt);}}document.addEventListener('DOMContentLoaded',change);function getParams(toArr,pathArr){var params={};toArr.forEach(function(item,index){if(index>0){params[pathArr[index].replace(':','')]=item;}});return params;}function route(path,callback){mapping[path]={callback:callback,reg:p2r(path)};}function getGlobal(){if((typeof global==='undefined'?'undefined':_typeof(global))!=='object'||!global||global.Math!==Math||global.Array!==Array){return self||window||global||function(){return this;}();}return global;}function getUrlParams(url){url=url.replace(/#.*$/,'');var queryArray=url.split(/[?&]/).slice(1);var i,args={};for(i=0;i [\"test\", \"\\d+\", undefined, \"?\"]\n// \"(\\\\d+)\" => [undefined, undefined, \"\\d+\", undefined]\n'(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'].join('|'),'g');/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */function parse(str,options){var tokens=[];var key=0;var index=0;var path='';var defaultDelimiter=options&&options.delimiter||DEFAULT_DELIMITER;var delimiters=options&&options.delimiters||DEFAULT_DELIMITERS;var pathEscaped=false;var res;while((res=PATH_REGEXP.exec(str))!==null){var m=res[0];var escaped=res[1];var offset=res.index;path+=str.slice(index,offset);index=offset+m.length;// Ignore already escaped sequences.\nif(escaped){path+=escaped[1];pathEscaped=true;continue;}var prev='';var next=str[index];var name=res[2];var capture=res[3];var group=res[4];var modifier=res[5];if(!pathEscaped&&path.length){var k=path.length-1;if(delimiters.indexOf(path[k])>-1){prev=path[k];path=path.slice(0,k);}}// Push the current path onto the tokens.\nif(path){tokens.push(path);path='';pathEscaped=false;}var partial=prev!==''&&next!==undefined&&next!==prev;var repeat=modifier==='+'||modifier==='*';var optional=modifier==='?'||modifier==='*';var delimiter=prev||defaultDelimiter;var pattern=capture||group;tokens.push({name:name||key++,prefix:prev,delimiter:delimiter,optional:optional,repeat:repeat,partial:partial,pattern:pattern?escapeGroup(pattern):'[^'+escapeString(delimiter)+']+?'});}// Push any remaining characters.\nif(path||index-1;}else{var capture=token.repeat?'(?:'+token.pattern+')(?:'+escapeString(token.delimiter)+'(?:'+token.pattern+'))*':token.pattern;if(keys)keys.push(token);if(token.optional){if(token.partial){route+=escapeString(token.prefix)+'('+capture+')?';}else{route+='(?:'+escapeString(token.prefix)+'('+capture+'))?';}}else{route+=escapeString(token.prefix)+'('+capture+')';}}}if(end){if(!strict)route+='(?:'+delimiter+')?';route+=endsWith==='$'?'$':'(?='+endsWith+')';}else{if(!strict)route+='(?:'+delimiter+'(?='+endsWith+'))?';if(!isEndDelimited)route+='(?='+delimiter+'|'+endsWith+')';}return new RegExp(route,flags(options));}/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */function pathToRegexp(path,keys,options){if(path instanceof RegExp){return regexpToRegexp(path,keys);}if(Array.isArray(path)){return arrayToRegexp(/** @type {!Array} */path,keys,options);}return stringToRegexp(/** @type {string} */path,keys,options);}\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./en/action-sheet.md\": [\n\t\t37,\n\t\t123\n\t],\n\t\"./en/avatar.md\": [\n\t\t38,\n\t\t122\n\t],\n\t\"./en/badge.md\": [\n\t\t39,\n\t\t121\n\t],\n\t\"./en/bar-line.md\": [\n\t\t40,\n\t\t120\n\t],\n\t\"./en/bar.md\": [\n\t\t41,\n\t\t119\n\t],\n\t\"./en/breadcrumb.md\": [\n\t\t42,\n\t\t118\n\t],\n\t\"./en/bubble.md\": [\n\t\t43,\n\t\t117\n\t],\n\t\"./en/button.md\": [\n\t\t44,\n\t\t116\n\t],\n\t\"./en/card.md\": [\n\t\t45,\n\t\t115\n\t],\n\t\"./en/checkbox.md\": [\n\t\t46,\n\t\t114\n\t],\n\t\"./en/chips.md\": [\n\t\t47,\n\t\t113\n\t],\n\t\"./en/color-picker.md\": [\n\t\t48,\n\t\t112\n\t],\n\t\"./en/date-time-picker.md\": [\n\t\t49,\n\t\t111\n\t],\n\t\"./en/dialog.md\": [\n\t\t50,\n\t\t110\n\t],\n\t\"./en/doughnut.md\": [\n\t\t51,\n\t\t109\n\t],\n\t\"./en/drawer.md\": [\n\t\t52,\n\t\t108\n\t],\n\t\"./en/editor.md\": [\n\t\t53,\n\t\t107\n\t],\n\t\"./en/elevation.md\": [\n\t\t54,\n\t\t106\n\t],\n\t\"./en/fab.md\": [\n\t\t55,\n\t\t105\n\t],\n\t\"./en/icon-button.md\": [\n\t\t56,\n\t\t104\n\t],\n\t\"./en/icon.md\": [\n\t\t57,\n\t\t103\n\t],\n\t\"./en/image-list.md\": [\n\t\t58,\n\t\t102\n\t],\n\t\"./en/introduction-chart.md\": [\n\t\t59,\n\t\t101\n\t],\n\t\"./en/introduction.md\": [\n\t\t60,\n\t\t100\n\t],\n\t\"./en/layout-grid.md\": [\n\t\t61,\n\t\t99\n\t],\n\t\"./en/line.md\": [\n\t\t62,\n\t\t98\n\t],\n\t\"./en/linear-progress.md\": [\n\t\t63,\n\t\t97\n\t],\n\t\"./en/list.md\": [\n\t\t64,\n\t\t96\n\t],\n\t\"./en/loading.md\": [\n\t\t65,\n\t\t95\n\t],\n\t\"./en/menu.md\": [\n\t\t66,\n\t\t94\n\t],\n\t\"./en/nav.md\": [\n\t\t67,\n\t\t93\n\t],\n\t\"./en/pagination.md\": [\n\t\t68,\n\t\t92\n\t],\n\t\"./en/paper.md\": [\n\t\t69,\n\t\t91\n\t],\n\t\"./en/path-progress.md\": [\n\t\t70,\n\t\t90\n\t],\n\t\"./en/picker.md\": [\n\t\t71,\n\t\t89\n\t],\n\t\"./en/pie.md\": [\n\t\t72,\n\t\t88\n\t],\n\t\"./en/polar-area.md\": [\n\t\t73,\n\t\t87\n\t],\n\t\"./en/popover.md\": [\n\t\t74,\n\t\t86\n\t],\n\t\"./en/radar.md\": [\n\t\t75,\n\t\t85\n\t],\n\t\"./en/radio.md\": [\n\t\t76,\n\t\t84\n\t],\n\t\"./en/rate.md\": [\n\t\t77,\n\t\t83\n\t],\n\t\"./en/row.md\": [\n\t\t78,\n\t\t82\n\t],\n\t\"./en/scatter.md\": [\n\t\t79,\n\t\t81\n\t],\n\t\"./en/select.md\": [\n\t\t80,\n\t\t80\n\t],\n\t\"./en/simple-card.md\": [\n\t\t81,\n\t\t79\n\t],\n\t\"./en/slider.md\": [\n\t\t82,\n\t\t78\n\t],\n\t\"./en/snackbar.md\": [\n\t\t83,\n\t\t77\n\t],\n\t\"./en/spreadsheet.md\": [\n\t\t84,\n\t\t76\n\t],\n\t\"./en/step.md\": [\n\t\t85,\n\t\t75\n\t],\n\t\"./en/switch.md\": [\n\t\t86,\n\t\t74\n\t],\n\t\"./en/tab.md\": [\n\t\t87,\n\t\t73\n\t],\n\t\"./en/table.md\": [\n\t\t88,\n\t\t72\n\t],\n\t\"./en/tag.md\": [\n\t\t89,\n\t\t71\n\t],\n\t\"./en/text-field.md\": [\n\t\t90,\n\t\t70\n\t],\n\t\"./en/theme.md\": [\n\t\t91,\n\t\t69\n\t],\n\t\"./en/to.md\": [\n\t\t92,\n\t\t68\n\t],\n\t\"./en/toast.md\": [\n\t\t93,\n\t\t67\n\t],\n\t\"./en/top-app-bar.md\": [\n\t\t94,\n\t\t66\n\t],\n\t\"./en/transfer-list.md\": [\n\t\t95,\n\t\t65\n\t],\n\t\"./en/transition.md\": [\n\t\t96,\n\t\t64\n\t],\n\t\"./en/tree.md\": [\n\t\t97,\n\t\t63\n\t],\n\t\"./en/typography.md\": [\n\t\t98,\n\t\t62\n\t],\n\t\"./zh-cn/action-sheet.md\": [\n\t\t99,\n\t\t61\n\t],\n\t\"./zh-cn/avatar.md\": [\n\t\t100,\n\t\t60\n\t],\n\t\"./zh-cn/badge.md\": [\n\t\t101,\n\t\t59\n\t],\n\t\"./zh-cn/bar-line.md\": [\n\t\t102,\n\t\t58\n\t],\n\t\"./zh-cn/bar.md\": [\n\t\t103,\n\t\t57\n\t],\n\t\"./zh-cn/breadcrumb.md\": [\n\t\t104,\n\t\t56\n\t],\n\t\"./zh-cn/bubble.md\": [\n\t\t105,\n\t\t55\n\t],\n\t\"./zh-cn/button.md\": [\n\t\t106,\n\t\t54\n\t],\n\t\"./zh-cn/card.md\": [\n\t\t107,\n\t\t53\n\t],\n\t\"./zh-cn/checkbox.md\": [\n\t\t108,\n\t\t52\n\t],\n\t\"./zh-cn/chips.md\": [\n\t\t109,\n\t\t51\n\t],\n\t\"./zh-cn/color-picker.md\": [\n\t\t110,\n\t\t50\n\t],\n\t\"./zh-cn/date-time-picker.md\": [\n\t\t111,\n\t\t49\n\t],\n\t\"./zh-cn/dialog.md\": [\n\t\t112,\n\t\t48\n\t],\n\t\"./zh-cn/doughnut.md\": [\n\t\t113,\n\t\t47\n\t],\n\t\"./zh-cn/drawer.md\": [\n\t\t114,\n\t\t46\n\t],\n\t\"./zh-cn/editor.md\": [\n\t\t115,\n\t\t45\n\t],\n\t\"./zh-cn/elevation.md\": [\n\t\t116,\n\t\t44\n\t],\n\t\"./zh-cn/fab.md\": [\n\t\t117,\n\t\t43\n\t],\n\t\"./zh-cn/icon-button.md\": [\n\t\t118,\n\t\t42\n\t],\n\t\"./zh-cn/icon.md\": [\n\t\t119,\n\t\t41\n\t],\n\t\"./zh-cn/image-list.md\": [\n\t\t120,\n\t\t40\n\t],\n\t\"./zh-cn/introduction-chart.md\": [\n\t\t121,\n\t\t39\n\t],\n\t\"./zh-cn/introduction.md\": [\n\t\t122,\n\t\t38\n\t],\n\t\"./zh-cn/layout-grid.md\": [\n\t\t123,\n\t\t37\n\t],\n\t\"./zh-cn/line.md\": [\n\t\t124,\n\t\t36\n\t],\n\t\"./zh-cn/linear-progress.md\": [\n\t\t125,\n\t\t35\n\t],\n\t\"./zh-cn/list.md\": [\n\t\t126,\n\t\t34\n\t],\n\t\"./zh-cn/loading.md\": [\n\t\t127,\n\t\t33\n\t],\n\t\"./zh-cn/menu.md\": [\n\t\t128,\n\t\t32\n\t],\n\t\"./zh-cn/nav.md\": [\n\t\t129,\n\t\t31\n\t],\n\t\"./zh-cn/pagination.md\": [\n\t\t130,\n\t\t30\n\t],\n\t\"./zh-cn/paper.md\": [\n\t\t131,\n\t\t29\n\t],\n\t\"./zh-cn/path-progress.md\": [\n\t\t132,\n\t\t28\n\t],\n\t\"./zh-cn/picker.md\": [\n\t\t133,\n\t\t27\n\t],\n\t\"./zh-cn/pie.md\": [\n\t\t134,\n\t\t26\n\t],\n\t\"./zh-cn/polar-area.md\": [\n\t\t135,\n\t\t25\n\t],\n\t\"./zh-cn/popover.md\": [\n\t\t136,\n\t\t24\n\t],\n\t\"./zh-cn/radar.md\": [\n\t\t137,\n\t\t23\n\t],\n\t\"./zh-cn/radio.md\": [\n\t\t138,\n\t\t22\n\t],\n\t\"./zh-cn/rate.md\": [\n\t\t139,\n\t\t21\n\t],\n\t\"./zh-cn/row.md\": [\n\t\t140,\n\t\t20\n\t],\n\t\"./zh-cn/scatter.md\": [\n\t\t141,\n\t\t19\n\t],\n\t\"./zh-cn/select.md\": [\n\t\t142,\n\t\t18\n\t],\n\t\"./zh-cn/simple-card.md\": [\n\t\t143,\n\t\t17\n\t],\n\t\"./zh-cn/slider.md\": [\n\t\t144,\n\t\t16\n\t],\n\t\"./zh-cn/snackbar.md\": [\n\t\t145,\n\t\t15\n\t],\n\t\"./zh-cn/spreadsheet.md\": [\n\t\t146,\n\t\t14\n\t],\n\t\"./zh-cn/step.md\": [\n\t\t147,\n\t\t13\n\t],\n\t\"./zh-cn/switch.md\": [\n\t\t148,\n\t\t12\n\t],\n\t\"./zh-cn/tab.md\": [\n\t\t149,\n\t\t11\n\t],\n\t\"./zh-cn/table.md\": [\n\t\t150,\n\t\t10\n\t],\n\t\"./zh-cn/tag.md\": [\n\t\t151,\n\t\t9\n\t],\n\t\"./zh-cn/text-field.md\": [\n\t\t152,\n\t\t8\n\t],\n\t\"./zh-cn/theme.md\": [\n\t\t153,\n\t\t7\n\t],\n\t\"./zh-cn/to.md\": [\n\t\t154,\n\t\t6\n\t],\n\t\"./zh-cn/toast.md\": [\n\t\t155,\n\t\t5\n\t],\n\t\"./zh-cn/top-app-bar.md\": [\n\t\t156,\n\t\t4\n\t],\n\t\"./zh-cn/transfer-list.md\": [\n\t\t157,\n\t\t3\n\t],\n\t\"./zh-cn/transition.md\": [\n\t\t158,\n\t\t2\n\t],\n\t\"./zh-cn/tree.md\": [\n\t\t159,\n\t\t1\n\t],\n\t\"./zh-cn/typography.md\": [\n\t\t160,\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 36;\nmodule.exports = webpackAsyncContext;\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nif(typeof Promise==='undefined'){// Rejection tracking prevents a common issue where React gets into an\n// inconsistent state due to an error, but it gets swallowed by a Promise,\n// and the user has no idea what causes React's erratic future behavior.\n__webpack_require__(5).enable();window.Promise=__webpack_require__(7);}// fetch() polyfill for making API calls.\n__webpack_require__(8);// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign=__webpack_require__(9);// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif(false){require('raf').polyfill(global);}\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar Promise=__webpack_require__(3);var DEFAULT_WHITELIST=[ReferenceError,TypeError,RangeError];var enabled=false;exports.disable=disable;function disable(){enabled=false;Promise._47=null;Promise._71=null;}exports.enable=enable;function enable(options){options=options||{};if(enabled)disable();enabled=true;var id=0;var displayId=0;var rejections={};Promise._47=function(promise){if(promise._83===2&&// IS REJECTED\nrejections[promise._56]){if(rejections[promise._56].logged){onHandled(promise._56);}else{clearTimeout(rejections[promise._56].timeout);}delete rejections[promise._56];}};Promise._71=function(promise,err){if(promise._75===0){// not yet handled\npromise._56=id++;rejections[promise._56]={displayId:null,error:err,timeout:setTimeout(onUnhandled.bind(null,promise._56),// For reference errors and type errors, this almost always\n// means the programmer made a mistake, so log them after just\n// 100ms\n// otherwise, wait 2 seconds to see if they get handled\nmatchWhitelist(err,DEFAULT_WHITELIST)?100:2000),logged:false};}};function onUnhandled(id){if(options.allRejections||matchWhitelist(rejections[id].error,options.whitelist||DEFAULT_WHITELIST)){rejections[id].displayId=displayId++;if(options.onUnhandled){rejections[id].logged=true;options.onUnhandled(rejections[id].displayId,rejections[id].error);}else{rejections[id].logged=true;logError(rejections[id].displayId,rejections[id].error);}}}function onHandled(id){if(rejections[id].logged){if(options.onHandled){options.onHandled(rejections[id].displayId,rejections[id].error);}else if(!rejections[id].onUnhandled){console.warn('Promise Rejection Handled (id: '+rejections[id].displayId+'):');console.warn(' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id '+rejections[id].displayId+'.');}}}}function logError(id,error){console.warn('Possible Unhandled Promise Rejection (id: '+id+'):');var errStr=(error&&(error.stack||error))+'';errStr.split('\\n').forEach(function(line){console.warn(' '+line);});}function matchWhitelist(error,list){return list.some(function(cls){return error instanceof cls;});}\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports=rawAsap;function rawAsap(task){if(!queue.length){requestFlush();flushing=true;}// Equivalent to push, but avoids a function call.\nqueue[queue.length]=task;}var queue=[];// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing=false;// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index=0;// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity=1024;// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush(){while(indexcapacity){// Manually shift all values starting at the index back to the\n// beginning of the queue.\nfor(var scan=0,newLength=queue.length-index;scan-1;};}function normalizeName(name){if(typeof name!=='string'){name=String(name);}if(/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)){throw new TypeError('Invalid character in header field name');}return name.toLowerCase();}function normalizeValue(value){if(typeof value!=='string'){value=String(value);}return value;}// Build a destructive iterator for the value list\nfunction iteratorFor(items){var iterator={next:function next(){var value=items.shift();return{done:value===undefined,value:value};}};if(support.iterable){iterator[Symbol.iterator]=function(){return iterator;};}return iterator;}function Headers(headers){this.map={};if(headers instanceof Headers){headers.forEach(function(value,name){this.append(name,value);},this);}else if(Array.isArray(headers)){headers.forEach(function(header){this.append(header[0],header[1]);},this);}else if(headers){Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name]);},this);}}Headers.prototype.append=function(name,value){name=normalizeName(name);value=normalizeValue(value);var oldValue=this.map[name];this.map[name]=oldValue?oldValue+','+value:value;};Headers.prototype['delete']=function(name){delete this.map[normalizeName(name)];};Headers.prototype.get=function(name){name=normalizeName(name);return this.has(name)?this.map[name]:null;};Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name));};Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=normalizeValue(value);};Headers.prototype.forEach=function(callback,thisArg){for(var name in this.map){if(this.map.hasOwnProperty(name)){callback.call(thisArg,this.map[name],name,this);}}};Headers.prototype.keys=function(){var items=[];this.forEach(function(value,name){items.push(name);});return iteratorFor(items);};Headers.prototype.values=function(){var items=[];this.forEach(function(value){items.push(value);});return iteratorFor(items);};Headers.prototype.entries=function(){var items=[];this.forEach(function(value,name){items.push([name,value]);});return iteratorFor(items);};if(support.iterable){Headers.prototype[Symbol.iterator]=Headers.prototype.entries;}function consumed(body){if(body.bodyUsed){return Promise.reject(new TypeError('Already read'));}body.bodyUsed=true;}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result);};reader.onerror=function(){reject(reader.error);};});}function readBlobAsArrayBuffer(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsArrayBuffer(blob);return promise;}function readBlobAsText(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsText(blob);return promise;}function readArrayBufferAsText(buf){var view=new Uint8Array(buf);var chars=new Array(view.length);for(var i=0;i-1?upcased:method;}function Request(input,options){options=options||{};var body=options.body;if(input instanceof Request){if(input.bodyUsed){throw new TypeError('Already read');}this.url=input.url;this.credentials=input.credentials;if(!options.headers){this.headers=new Headers(input.headers);}this.method=input.method;this.mode=input.mode;if(!body&&input._bodyInit!=null){body=input._bodyInit;input.bodyUsed=true;}}else{this.url=String(input);}this.credentials=options.credentials||this.credentials||'omit';if(options.headers||!this.headers){this.headers=new Headers(options.headers);}this.method=normalizeMethod(options.method||this.method||'GET');this.mode=options.mode||this.mode||null;this.referrer=null;if((this.method==='GET'||this.method==='HEAD')&&body){throw new TypeError('Body not allowed for GET or HEAD requests');}this._initBody(body);}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit});};function decode(body){var form=new FormData();body.trim().split('&').forEach(function(bytes){if(bytes){var split=bytes.split('=');var name=split.shift().replace(/\\+/g,' ');var value=split.join('=').replace(/\\+/g,' ');form.append(decodeURIComponent(name),decodeURIComponent(value));}});return form;}function parseHeaders(rawHeaders){var headers=new Headers();rawHeaders.split(/\\r?\\n/).forEach(function(line){var parts=line.split(':');var key=parts.shift().trim();if(key){var value=parts.join(':').trim();headers.append(key,value);}});return headers;}Body.call(Request.prototype);function Response(bodyInit,options){if(!options){options={};}this.type='default';this.status='status'in options?options.status:200;this.ok=this.status>=200&&this.status<300;this.statusText='statusText'in options?options.statusText:'OK';this.headers=new Headers(options.headers);this.url=options.url||'';this._initBody(bodyInit);}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url});};Response.error=function(){var response=new Response(null,{status:0,statusText:''});response.type='error';return response;};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(redirectStatuses.indexOf(status)===-1){throw new RangeError('Invalid status code');}return new Response(null,{status:status,headers:{location:url}});};self.Headers=Headers;self.Request=Request;self.Response=Response;self.fetch=function(input,init){return new Promise(function(resolve,reject){var request=new Request(input,init);var xhr=new XMLHttpRequest();xhr.onload=function(){var options={status:xhr.status,statusText:xhr.statusText,headers:parseHeaders(xhr.getAllResponseHeaders()||'')};options.url='responseURL'in xhr?xhr.responseURL:options.headers.get('X-Request-URL');var body='response'in xhr?xhr.response:xhr.responseText;resolve(new Response(body,options));};xhr.onerror=function(){reject(new TypeError('Network request failed'));};xhr.ontimeout=function(){reject(new TypeError('Network request failed'));};xhr.open(request.method,request.url,true);if(request.credentials==='include'){xhr.withCredentials=true;}if('responseType'in xhr&&support.blob){xhr.responseType='blob';}request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value);});xhr.send(typeof request._bodyInit==='undefined'?null:request._bodyInit);});};self.fetch.polyfill=true;})(typeof self!=='undefined'?self:undefined);\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*//* eslint-disable no-unused-vars */var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');}return Object(val);}function shouldUseNative(){try{if(!Object.assign){return false;}// Detect buggy property enumeration order in older V8 versions.\n// https://bugs.chromium.org/p/v8/issues/detail?id=4118\nvar test1=new String('abc');// eslint-disable-line no-new-wrappers\ntest1[5]='de';if(Object.getOwnPropertyNames(test1)[0]==='5'){return false;}// https://bugs.chromium.org/p/v8/issues/detail?id=3056\nvar test2={};for(var i=0;i<10;i++){test2['_'+String.fromCharCode(i)]=i;}var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n];});if(order2.join('')!=='0123456789'){return false;}// https://bugs.chromium.org/p/v8/issues/detail?id=3056\nvar test3={};'abcdefghijklmnopqrst'.split('').forEach(function(letter){test3[letter]=letter;});if(Object.keys(Object.assign({},test3)).join('')!=='abcdefghijklmnopqrst'){return false;}return true;}catch(err){// We don't expect any of the above to throw, but better to be safe.\nreturn false;}}module.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;sHello!`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nfunction h(nodeName, attributes) {\n var children = [],\n lastSimple,\n child,\n simple,\n i;\n for (i = arguments.length; i-- > 2;) {\n stack.push(arguments[i]);\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children);\n delete attributes.children;\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--;) {\n stack.push(child[i]);\n }\n } else {\n if (typeof child === 'boolean') child = null;\n\n if (simple = typeof nodeName !== 'function') {\n if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child;\n } else if (children.length === 0) {\n children = [child];\n } else {\n children.push(child);\n }\n\n lastSimple = simple;\n }\n }\n\n var p = new VNode();\n p.nodeName = nodeName;\n p.children = children;\n p.attributes = attributes == null ? undefined : attributes;\n p.key = attributes == null ? undefined : attributes.key;\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p);\n\n return p;\n}\n\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction assign(target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var runListeners = function runListeners(oEvent) {\n if (!oEvent) {\n oEvent = window.event;\n }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) {\n oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);\n }\n break;\n }\n }\n };\n\n var oListeners = {};\n\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n nElIdx = iElId;break;\n }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) {\n return;\n }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) {\n return;\n }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n nElIdx = iElId;break;\n }\n }\n if (nElIdx === -1) {\n return;\n }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) {\n aElListeners.splice(iLstId, 1);\n }\n }\n };\n}\n\nif (typeof Object.create !== 'function') {\n Object.create = function (proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto);\n } else if (proto === null) {\n throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\");\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto;\n\n return new F();\n };\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n };\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nfunction extend(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nfunction applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value);else ref.current = value;\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nvar usePromise = typeof Promise == 'function';\n\n// for native\nif (typeof document !== 'object' && typeof global !== 'undefined' && global.__config__) {\n if (global.__config__.platform === 'android') {\n usePromise = true;\n } else {\n var systemVersion = global.__config__.systemVersion && global.__config__.systemVersion.split('.')[0] || 0;\n if (systemVersion > 8) {\n usePromise = true;\n }\n }\n}\n\nvar defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;\n\nfunction isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n}\n\nfunction nProps(props) {\n if (!props || isArray(props)) return {};\n var result = {};\n Object.keys(props).forEach(function (key) {\n result[key] = props[key].value;\n });\n return result;\n}\n\nfunction getUse(data, paths) {\n var obj = [];\n paths.forEach(function (path, index) {\n var isPath = typeof path === 'string';\n if (isPath) {\n obj[index] = getTargetByPath(data, path);\n } else {\n var key = Object.keys(path)[0];\n var value = path[key];\n if (typeof value === 'string') {\n obj[index] = getTargetByPath(data, value);\n } else {\n var tempPath = value[0];\n if (typeof tempPath === 'string') {\n var tempVal = getTargetByPath(data, tempPath);\n obj[index] = value[1] ? value[1](tempVal) : tempVal;\n } else {\n var args = [];\n tempPath.forEach(function (path) {\n args.push(getTargetByPath(data, path));\n });\n obj[index] = value[1].apply(null, args);\n }\n }\n obj[key] = obj[index];\n }\n });\n return obj;\n}\n\nfunction getTargetByPath(origin, path) {\n var arr = path.replace(/]/g, '').replace(/\\[/g, '.').split('.');\n var current = origin;\n for (var i = 0, len = arr.length; i < len; i++) {\n current = current[arr[i]];\n }\n return current;\n}\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nfunction cloneElement(vnode, props) {\n return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);\n}\n\n// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n\n/** Managed queue of dirty components to be re-rendered */\n\nvar items = [];\n\nfunction enqueueRender(component) {\n if (items.push(component) == 1) {\n(options.debounceRendering || defer)(rerender);\n }\n}\n\n/** Rerender all enqueued dirty components */\nfunction rerender() {\n var p;\n while (p = items.pop()) {\n renderComponent(p);\n }\n}\n\nvar mapping = options.mapping;\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nfunction isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined;\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName];\n if (ctor) {\n return hydrating || node._componentConstructor === ctor;\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName);\n }\n return hydrating || node._componentConstructor === vnode.nodeName;\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nfunction isNamedNode(node, nodeName) {\n return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nfunction getNodeProps(vnode) {\n var props = extend({}, vnode.attributes);\n props.children = vnode.children;\n\n var defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (var i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nfunction createNode(nodeName, isSvg) {\n var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);\n node.normalizedNodeName = nodeName;\n return node;\n}\n\nfunction parseCSSText(cssText) {\n var cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ');\n var style = {},\n _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt],\n a = _ref[0],\n b = _ref[1],\n rule = _ref[2];\n\n var cssToJs = function cssToJs(s) {\n return s.replace(/\\W+\\w/g, function (match) {\n return match.slice(-1).toUpperCase();\n });\n };\n var properties = rule.split(';').map(function (o) {\n return o.split(':').map(function (x) {\n return x && x.trim();\n });\n });\n for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator]();;) {\n var _ref3;\n\n if (i) {\n if (i >= i.length) break;\n _ref3 = i[i++];\n } else {\n i = i.next();\n if (i.done) break;\n _ref3 = i.value;\n }\n\n var _ref2 = _ref3;\n var property = _ref2[0];\n var value = _ref2[1];\n style[cssToJs(property)] = value;\n }return style;\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nfunction removeNode(node) {\n var parentNode = node.parentNode;\n if (parentNode) parentNode.removeChild(node);\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nfunction setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class';\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null);\n applyRef(value, node);\n } else if (name === 'class' && !isSvg) {\n node.className = value || '';\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || '';\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (var i in old) {\n if (!(i in value)) node.style[i] = '';\n }\n }\n for (var i in value) {\n node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL$1.test(i) === false ? value[i] + 'px' : value[i];\n }\n }\n } else {\n var oldJson = old,\n currentJson = value;\n if (typeof old === 'string') {\n oldJson = parseCSSText(old);\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value);\n }\n\n var result = {},\n changed = false;\n\n if (oldJson) {\n for (var key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = '';\n changed = true;\n }\n }\n\n for (var ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey];\n changed = true;\n }\n }\n\n if (changed) {\n node.setStyles(result);\n }\n } else {\n node.setStyles(currentJson);\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || '';\n } else if (name[0] == 'o' && name[1] == 'n') {\n var useCapture = name !== (name = name.replace(/Capture$/, ''));\n name = name.toLowerCase().substring(2);\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture);\n node.addEventListener('touchend', touchEnd, useCapture);\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture);\n node.removeEventListener('touchend', touchEnd, useCapture);\n }\n }\n(node._listeners || (node._listeners = {}))[name] = value;\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value);\n if (value == null || value === false) node.removeAttribute(name);\n } else {\n var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));\n if (value == null || value === false) {\n if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name);\n } else if (typeof value !== 'function') {\n if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value);\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value;\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type](options.event && options.event(e) || e);\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX;\n this.___touchY = e.touches[0].pageY;\n this.___scrollTop = document.body.scrollTop;\n}\n\nfunction touchEnd(e) {\n if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }));\n }\n}\n\nvar styleId = 0;\n\nfunction getCtorName(ctor) {\n for (var i = 0, len = options.styleCache.length; i < len; i++) {\n var item = options.styleCache[i];\n\n if (item.ctor === ctor) {\n return item.attrName;\n }\n }\n\n var attrName = 's' + styleId;\n options.styleCache.push({ ctor: ctor, attrName: attrName });\n styleId++;\n\n return attrName;\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nfunction scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']';\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '');\n // eslint-disable-next-line\n var re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g');\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, function (g0, g1, g2, g3) {\n if (typeof g2 === 'undefined') {\n g2 = '';\n }\n\n /* eslint-ignore-next-line */\n if (g1.match(/^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) {\n return g1 + g2 + g3;\n }\n\n var appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2;\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3;\n //return appendClass + ',' + prependClass + g3;\n });\n\n return css;\n}\n\nfunction addStyle(cssText, id) {\n id = id.toLowerCase();\n var ele = document.getElementById(id);\n var head = document.getElementsByTagName('head')[0];\n if (ele && ele.parentNode === head) {\n head.removeChild(ele);\n }\n\n var someThingStyles = document.createElement('style');\n head.appendChild(someThingStyles);\n someThingStyles.setAttribute('type', 'text/css');\n someThingStyles.setAttribute('id', id);\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText;\n } else {\n someThingStyles.textContent = cssText;\n }\n}\n\nfunction addStyleWithoutId(cssText) {\n var head = document.getElementsByTagName('head')[0];\n var someThingStyles = document.createElement('style');\n head.appendChild(someThingStyles);\n someThingStyles.setAttribute('type', 'text/css');\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText;\n } else {\n someThingStyles.textContent = cssText;\n }\n}\n\nfunction addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom);\n }\n}\n\nfunction addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr);\n options.staticStyleMapping[attr] = true;\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style);\n options.staticStyleMapping[attr] = true;\n }\n}\n\nfunction scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {};\n vdom.attributes[attr] = '';\n vdom.css = vdom.css || {};\n vdom.css[attr] = '';\n vdom.children.forEach(function (child) {\n return scopeVdom(attr, child);\n });\n }\n}\n\nfunction scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {};\n for (var key in css) {\n vdom.attributes[key] = '';\n }\n }\n}\n\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nvar mounts = [];\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nvar diffLevel = 0;\n\n/** Global flag indicating if the diff is currently within an SVG */\nvar isSvgMode = false;\n\n/** Global flag indicating if the diff is performing hydration */\nvar hydrating = false;\n\n/** Invoke queued componentDidMount lifecycle methods */\nfunction flushMounts() {\n var c;\n while (c = mounts.pop()) {\n if (options.afterMount) options.afterMount(c);\n if (c.installed) c.installed();\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css, '_s' + getCtorName(c.constructor));\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nfunction diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined;\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !('__omiattr_' in dom);\n }\n var ret;\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n };\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot);\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret);\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (! --diffLevel) {\n hydrating = false;\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts();\n }\n\n return ret;\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n var out = dom,\n prevSvgMode = isSvgMode;\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = '';\n\n // If the VNode represents a Component, perform a component diff:\n var vnodeName = vnode.nodeName;\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName];\n return buildComponentFromVNode(dom, vnode, context, mountAll);\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll);\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode;\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode);\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n recollectNodeTree(dom, true);\n }\n }\n\n //ie8 error\n try {\n out['__omiattr_'] = true;\n } catch (e) {}\n\n return out;\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName);\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode);\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) {\n out.appendChild(dom.firstChild);\n } // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true);\n }\n }\n\n var fc = out.firstChild,\n props = out['__omiattr_'],\n vchildren = vnode.children;\n\n if (props == null) {\n props = out['__omiattr_'] = {};\n for (var a = out.attributes, i = a.length; i--;) {\n props[a[i].name] = a[i].value;\n }\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0];\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if (vchildren && vchildren.length || fc != null) {\n innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props);\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode;\n\n return out;\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n var originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child;\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (var i = 0; i < len; i++) {\n var _child = originalChildren[i],\n props = _child['__omiattr_'],\n key = vlen && props ? _child._component ? _child._component.__key : props.key : null;\n if (key != null) {\n keyedLen++;\n keyed[key] = _child;\n } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {\n children[childrenLen++] = _child;\n }\n }\n }\n\n if (vlen !== 0) {\n for (var i = 0; i < vlen; i++) {\n vchild = vchildren[i];\n child = null;\n\n // attempt to find a node based on key matching\n var key = vchild.key;\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key];\n keyed[key] = undefined;\n keyedLen--;\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {\n child = c;\n children[j] = undefined;\n if (j === childrenLen - 1) childrenLen--;\n if (j === min) min++;\n break;\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll);\n\n f = originalChildren[i];\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child);\n } else if (child === f.nextSibling) {\n removeNode(f);\n } else {\n dom.insertBefore(child, f);\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (var i in keyed) {\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);\n }\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nfunction recollectNodeTree(node, unmountOnly) {\n var component = node._component;\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component);\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node['__omiattr_'] != null) applyRef(node['__omiattr_'].ref, null);\n\n if (unmountOnly === false || node['__omiattr_'] == null) {\n removeNode(node);\n }\n\n removeChildren(node);\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nfunction removeChildren(node) {\n node = node.lastChild;\n while (node) {\n var next = node.previousSibling;\n recollectNodeTree(node, true);\n node = next;\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n var name;\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {\n setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n }\n }\n}\n\nfunction define(name, ctor) {\n options.mapping[name] = ctor;\n if (ctor.use) {\n ctor.updatePath = getPath(ctor.use);\n } else if (ctor.data) {\n //Compatible with older versions\n ctor.updatePath = getUpdatePath(ctor.data);\n }\n}\n\nfunction getPath(obj) {\n if (Object.prototype.toString.call(obj) === '[object Array]') {\n var result = {};\n obj.forEach(function (item) {\n if (typeof item === 'string') {\n result[item] = true;\n } else {\n var tempPath = item[Object.keys(item)[0]];\n if (typeof tempPath === 'string') {\n result[tempPath] = true;\n } else {\n if (typeof tempPath[0] === 'string') {\n result[tempPath[0]] = true;\n } else {\n tempPath[0].forEach(function (path) {\n return result[path] = true;\n });\n }\n }\n }\n });\n return result;\n } else {\n return getUpdatePath(obj);\n }\n}\n\nfunction getUpdatePath(data) {\n var result = {};\n dataToPath(data, result);\n return result;\n}\n\nfunction dataToPath(data, result) {\n Object.keys(data).forEach(function (key) {\n result[key] = true;\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], key, result);\n }\n });\n}\n\nfunction _objToPath(data, path, result) {\n Object.keys(data).forEach(function (key) {\n result[path + '.' + key] = true;\n delete result[path];\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], path + '.' + key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], path + '.' + key, result);\n }\n });\n}\n\nfunction _arrayToPath(data, path, result) {\n data.forEach(function (item, index) {\n result[path + '[' + index + ']'] = true;\n delete result[path];\n var type = Object.prototype.toString.call(item);\n if (type === '[object Object]') {\n _objToPath(item, path + '[' + index + ']', result);\n } else if (type === '[object Array]') {\n _arrayToPath(item, path + '[' + index + ']', result);\n }\n });\n}\n\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nvar components = {};\n\n/** Reclaim a component for later re-use by the recycler. */\nfunction collectComponent(component) {\n var name = component.constructor.name;(components[name] || (components[name] = [])).push(component);\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nfunction createComponent(Ctor, props, context, vnode) {\n var list = components[Ctor.name],\n inst;\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context);\n Component.call(inst, props, context);\n } else {\n inst = new Component(props, context);\n inst.constructor = Ctor;\n inst.render = doRender;\n }\n vnode && (inst.scopedCssAttr = vnode.css);\n\n if (inst.store && inst.store.data) {\n if (inst.constructor.use) {\n inst.use = getUse(inst.store.data, inst.constructor.use);\n inst.store.instances.push(inst);\n } else if (inst.initUse) {\n var use = inst.initUse();\n inst._updatePath = getPath(use);\n inst.use = getUse(inst.store.data, use);\n inst.store.instances.push(inst);\n }\n }\n\n if (list) {\n for (var i = list.length; i--;) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase;\n list.splice(i, 1);\n break;\n }\n }\n }\n return inst;\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context);\n}\n\n/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function obaa(target, arr, callback) {\n var _observe = function _observe(target, arr, callback) {\n if (!target.$observer) target.$observer = this;\n var $observer = target.$observer;\n var eventPropArr = [];\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {};\n target.$observeProps.$observerPath = '#';\n }\n $observer.mock(target);\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n }\n } else {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n }\n }\n }\n $observer.target = target;\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];\n var propChanged = callback ? callback : arr;\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n });\n };\n _observe.prototype = {\n onPropertyChanged: function onPropertyChanged(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path);\n for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {\n var handler = this.propertyChangedHandler[i];\n if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || rootName.indexOf('Array-') === 0) {\n handler.propChanged.call(this.target, prop, value, oldValue, path);\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath);\n }\n },\n mock: function mock(target) {\n var self = this;\n obaa.methods.forEach(function (item) {\n target[item] = function () {\n var old = Array.prototype.slice.call(this, 0);\n var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath);\n }\n }\n //todo\n self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);\n }\n return result;\n };\n target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function () {\n return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));\n };\n });\n },\n watch: function watch(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return;\n if (obaa.isFunction(target[prop])) return;\n if (!target.$observeProps) target.$observeProps = {};\n if (path !== undefined) {\n target.$observeProps.$observerPath = path;\n } else {\n target.$observeProps.$observerPath = '#';\n }\n var self = this;\n var currentValue = target.$observeProps[prop] = target[prop];\n Object.defineProperty(target, prop, {\n get: function get() {\n return this.$observeProps[prop];\n },\n set: function set(value) {\n var old = this.$observeProps[prop];\n this.$observeProps[prop] = value;\n self.onPropertyChanged(prop, value, old, this, target.$observeProps.$observerPath);\n }\n });\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue);\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {};\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path;\n } else {\n currentValue.$observeProps.$observerPath = '#';\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);\n }\n }\n }\n }\n };\n return new _observe(target, arr, callback);\n};\n\nobaa.methods = ['concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size'];\nobaa.triggerStr = ['concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size'].join(',');\n\nobaa.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n};\n\nobaa.isString = function (obj) {\n return typeof obj === 'string';\n};\n\nobaa.isInArray = function (arr, item) {\n for (var i = arr.length; --i > -1;) {\n if (item === arr[i]) return true;\n }\n return false;\n};\n\nobaa.isFunction = function (obj) {\n return Object.prototype.toString.call(obj) == '[object Function]';\n};\n\nobaa._getRootName = function (prop, path) {\n if (path === '#') {\n return prop;\n }\n return path.split('-')[1];\n};\n\nobaa.add = function (obj, prop) {\n var $observer = obj.$observer;\n $observer.watch(obj, prop);\n};\n\nobaa.set = function (obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value;\n }\n var $observer = obj.$observer;\n $observer.watch(obj, prop);\n if (exec) {\n obj[prop] = value;\n }\n};\n\nArray.prototype.size = function (length) {\n this.length = length;\n};\n\nvar callbacks = [];\nvar nextTickCallback = [];\n\nfunction fireTick() {\n callbacks.forEach(function (item) {\n item.fn.call(item.scope);\n });\n\n nextTickCallback.forEach(function (nextItem) {\n nextItem.fn.call(nextItem.scope);\n });\n nextTickCallback.length = 0;\n}\n\nfunction proxyUpdate(ele) {\n var timeout = null;\n obaa(ele.data, function () {\n if (ele._willUpdate) {\n return;\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout);\n\n timeout = setTimeout(function () {\n ele.update();\n fireTick();\n }, 0);\n } else {\n ele.update();\n fireTick();\n }\n });\n}\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nfunction setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return;\n component._disable = true;\n\n if (component.__ref = props.ref) delete props.ref;\n if (component.__key = props.key) delete props.key;\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall();\n if (component.install) component.install();\n if (component.constructor.observe) {\n proxyUpdate(component);\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props);\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context;\n component.context = context;\n }\n\n if (!component.prevProps) component.prevProps = component.props;\n component.props = props;\n\n component._disable = false;\n\n if (opts !== 0) {\n if (opts === 1 || options.syncComponentUpdates !== false || !component.base) {\n renderComponent(component, 1, mountAll);\n } else {\n enqueueRender(component);\n }\n }\n\n applyRef(component.__ref, component);\n}\n\nfunction shallowComparison(old, attrs) {\n var name;\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true;\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true;\n }\n\n for (name in attrs) {\n if (name != 'children') {\n var type = typeof attrs[name];\n if (type == 'function' || type == 'object') {\n return true;\n } else if (attrs[name] != old[name]) {\n return true;\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nfunction renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return;\n\n var props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase;\n\n // if updating\n if (isUpdate) {\n component.props = previousProps;\n component.data = previousState;\n component.context = previousContext;\n if (component.store || opts == 2 || shallowComparison(previousProps, props)) {\n skip = false;\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context);\n }\n } else {\n skip = true;\n }\n component.props = props;\n component.data = data;\n component.context = context;\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null;\n\n if (!skip) {\n component.beforeRender && component.beforeRender();\n rendered = component.render(props, data, context);\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));\n }\n\n scopeHost(rendered, component.scopedCssAttr);\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext());\n }\n\n var childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent];\n\n if (ctor) {\n // set up high order component link\n\n var childProps = getNodeProps(rendered);\n inst = initialChildComponent;\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, 1, context, false);\n } else {\n toUnmount = inst;\n\n component._component = inst = createComponent(ctor, childProps, context);\n inst.nextBase = inst.nextBase || nextBase;\n inst._parentComponent = component;\n setComponentProps(inst, childProps, 0, context, false);\n renderComponent(inst, 1, mountAll, true);\n }\n\n base = inst.base;\n } else {\n cbase = initialBase;\n\n // destroy high order component link\n toUnmount = initialChildComponent;\n if (toUnmount) {\n cbase = component._component = null;\n }\n\n if (initialBase || opts === 1) {\n if (cbase) cbase._component = null;\n base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true);\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n var baseParent = initialBase.parentNode;\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase);\n\n if (!toUnmount) {\n initialBase._component = null;\n recollectNodeTree(initialBase, false);\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount);\n }\n\n component.base = base;\n if (base && !isChild) {\n var componentRef = component,\n t = component;\n while (t = t._parentComponent) {\n(componentRef = t).base = base;\n }\n base._component = componentRef;\n base._componentConstructor = componentRef.constructor;\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component);\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext);\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext);\n }\n if (options.afterUpdate) options.afterUpdate(component);\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length) {\n component._renderCallbacks.pop().call(component);\n }\n }\n\n if (!diffLevel && !isChild) flushMounts();\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nfunction buildComponentFromVNode(dom, vnode, context, mountAll) {\n var c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode);\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName;\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, 3, context, mountAll);\n dom = c.base;\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent);\n dom = oldDom = null;\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode);\n if (dom && !c.nextBase) {\n c.nextBase = dom;\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null;\n }\n setComponentProps(c, props, 1, context, mountAll);\n dom = c.base;\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null;\n recollectNodeTree(oldDom, false);\n }\n }\n\n return dom;\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nfunction unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component);\n\n var base = component.base;\n\n component._disable = true;\n\n if (component.uninstall) component.uninstall();\n\n if (component.store && component.store.instances) {\n for (var i = 0, len = component.store.instances.length; i < len; i++) {\n if (component.store.instances[i] === component) {\n component.store.instances.splice(i, 1);\n break;\n }\n }\n }\n\n component.base = null;\n\n // recursively tear down & recollect high-order component children:\n var inner = component._component;\n if (inner) {\n unmountComponent(inner);\n } else if (base) {\n if (base['__omiattr_'] != null) applyRef(base['__omiattr_'].ref, null);\n\n component.nextBase = base;\n\n removeNode(base);\n collectComponent(component);\n\n removeChildren(base);\n }\n\n applyRef(component.__ref, null);\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar id = 0;\n\nvar Component = function () {\n function Component(props, store) {\n _classCallCheck(this, Component);\n\n this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);\n this.elementId = id++;\n this.data = this.constructor.data || this.data || {};\n\n this._preCss = null;\n\n this.store = store;\n }\n\n Component.prototype.update = function update(callback) {\n this._willUpdate = true;\n if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback);\n renderComponent(this, 2);\n if (options.componentChange) options.componentChange(this, this.base);\n this._willUpdate = false;\n };\n\n Component.prototype.fire = function fire(type, data) {\n var _this = this;\n\n Object.keys(this.props).every(function (key) {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n _this.props[key]({ detail: data });\n return false;\n }\n return true;\n });\n };\n\n Component.prototype.render = function render() {};\n\n return Component;\n}();\n\nComponent.is = 'WeElement';\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nfunction render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent;\n obsStore(store);\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n }\n\n if (merge) {\n merge = typeof merge === 'string' ? document.querySelector(merge) : merge;\n }\n\n return diff(merge, vnode, store, false, parent, false);\n}\n\nfunction obsStore(store) {\n if (store && store.data) {\n store.instances = [];\n extendStoreUpate(store);\n\n obaa(store.data, function (prop, val, old, path) {\n var patchs = {};\n var key = fixPath(path + '-' + prop);\n patchs[key] = true;\n store.update(patchs);\n });\n }\n}\n\nfunction merge(vnode, merge, store) {\n obsStore(store);\n\n merge = typeof merge === 'string' ? document.querySelector(merge) : merge;\n\n return diff(merge, vnode, store);\n}\n\nfunction extendStoreUpate(store) {\n store.update = function (patch) {\n var _this = this;\n\n var updateAll = matchGlobalData(this.globalData, patch);\n if (Object.keys(patch).length > 0) {\n this.instances.forEach(function (instance) {\n if (updateAll || _this.updateAll || instance.constructor.updatePath && needUpdate(patch, instance.constructor.updatePath) || instance._updatePath && needUpdate(patch, instance._updatePath)) {\n //update this.use\n if (instance.constructor.use) {\n instance.use = getUse(store.data, instance.constructor.use);\n } else if (instance.initUse) {\n instance.use = getUse(store.data, instance.initUse());\n }\n\n instance.update();\n }\n });\n this.onChange && this.onChange(patch);\n }\n };\n}\n\nfunction matchGlobalData(globalData, diffResult) {\n if (!globalData) return false;\n for (var keyA in diffResult) {\n if (globalData.indexOf(keyA) > -1) {\n return true;\n }\n for (var i = 0, len = globalData.length; i < len; i++) {\n if (includePath(keyA, globalData[i])) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction needUpdate(diffResult, updatePath) {\n for (var keyA in diffResult) {\n if (updatePath[keyA]) {\n return true;\n }\n for (var keyB in updatePath) {\n if (includePath(keyA, keyB)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction includePath(pathA, pathB) {\n if (pathA.indexOf(pathB) === 0) {\n var next = pathA.substr(pathB.length, 1);\n if (next === '[' || next === '.') {\n return true;\n }\n }\n return false;\n}\n\nfunction fixPath(path) {\n var mpPath = '';\n var arr = path.replace('#-', '').split('-');\n arr.forEach(function (item, index) {\n if (index) {\n if (isNaN(Number(item))) {\n mpPath += '.' + item;\n } else {\n mpPath += '[' + item + ']';\n }\n } else {\n mpPath += item;\n }\n });\n return mpPath;\n}\n\nfunction rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, function (a, b) {\n return window.innerWidth * Number(b) / 750 + 'px';\n });\n}\n\nfunction tag(name) {\n return function (target) {\n define(name, target);\n };\n}\n\nfunction _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ModelView = function (_Component) {\n _inherits(ModelView, _Component);\n\n function ModelView() {\n _classCallCheck$1(this, ModelView);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n ModelView.prototype.beforeInstall = function beforeInstall() {\n this.data = this.vm.data;\n };\n\n return ModelView;\n}(Component);\n\nModelView.observe = true;\nModelView.mergeUpdate = true;\n\n/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty;\n\nfunction classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n\nfunction extractClass() {\n var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),\n props = _Array$prototype$slic[0],\n args = _Array$prototype$slic.slice(1);\n\n if (props) {\n if (props['class']) {\n args.unshift(props['class']);\n delete props['class'];\n } else if (props.className) {\n args.unshift(props.className);\n delete props.className;\n }\n }\n if (args.length > 0) {\n return { 'class': classNames.apply(null, args) };\n }\n}\n\nfunction getHost(component) {\n var base = component.base;\n if (base) {\n while (base.parentNode) {\n if (base.parentNode._component) {\n return base.parentNode._component;\n } else {\n base = base.parentNode;\n }\n }\n }\n}\n\n/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nvar encodeEntities = function encodeEntities(s) {\n return String(s).replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"');\n};\n\nvar indent = function indent(s, char) {\n return String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n};\n\nvar mapping$1 = options.mapping;\n\nvar VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nvar isLargeString = function isLargeString(s, length, ignoreLines) {\n return String(s).length > (length || 40) || !ignoreLines && String(s).indexOf('\\n') !== -1 || String(s).indexOf('<') !== -1;\n};\n\nvar JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n var str = '';\n for (var prop in s) {\n var val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\nfunction renderToString(vnode, opts, store, isSvgMode) {\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n }, opts);\n var css = {};\n var html = _renderToString(vnode, opts, store, isSvgMode, css);\n return {\n css: Object.values(css),\n html: html\n };\n}\n\n/** The default export is an alias of `render()`. */\nfunction _renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n var nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n\n var pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n var ctor = mapping$1[nodeName];\n if (ctor) {\n isComponent = true;\n\n var props = getNodeProps$1(vnode),\n rendered;\n // class-based components\n var c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n\n if (opts.scopedCSS) {\n\n if (c.constructor.css || c.css) {\n\n var cssStr = c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css;\n var cssAttr = '_s' + getCtorName(c.constructor);\n css[cssAttr] = {\n id: cssAttr,\n css: scoper(cssStr, cssAttr)\n };\n addScopedAttrStatic(rendered, cssAttr);\n }\n\n c.scopedCSSAttr = vnode.css;\n scopeHost(rendered, c.scopedCSSAttr);\n }\n\n return _renderToString(rendered, opts, store, false, css);\n }\n\n // render JSX to HTML\n var s = '',\n html;\n\n if (attributes) {\n var attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (var i = 0; i < attrs.length; i++) {\n var name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes['class']) continue;\n name = 'class';\n } else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n } else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ' ' + name + '=\"' + encodeEntities(v) + '\"';\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n var sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = '<' + nodeName + s + '>';\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n var isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n var pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n } else if (vnode.children) {\n var hasLarge = pretty && ~s.indexOf('\\n');\n for (var i = 0; i < vnode.children.length; i++) {\n var child = vnode.children[i];\n if (child != null && child !== false) {\n var childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = _renderToString(child, opts, store, childSvgMode, css);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (var i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n } else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += '' + nodeName + '>';\n }\n\n return s;\n}\n\nfunction assign$1(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\nfunction getNodeProps$1(vnode) {\n var props = assign$1({}, vnode.attributes);\n props.children = vnode.children;\n\n var defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (var i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}\n\nvar n=function(t,r,u,e){for(var p=1;p\"===t?(a(), u=1):u&&(\"=\"===t?(u=4, r=e, e=\"\"):\"/\"===t?(a(), 3===u&&(s=s[0]), u=s, (s=s[0]).push(u,4), u=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(a(), u=2):e+=t);}return a(), s},r=\"function\"==typeof Map,u=r?new Map:{},e=r?function(n){var r=u.get(n);return r||u.set(n,r=t(n)), r}:function(n){for(var r=\"\",e=0;e1?r:r[0]}\n\nvar html = htm.bind(h);\n\nvar WeElement = Component;\nvar defineElement = define;\nfunction createRef() {\n return {};\n}\n\noptions.root.Omi = {\n h: h,\n createElement: h,\n cloneElement: cloneElement,\n createRef: createRef,\n Component: Component,\n render: render,\n rerender: rerender,\n options: options,\n WeElement: WeElement,\n define: define,\n rpx: rpx,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n getHost: getHost,\n renderToString: renderToString,\n tag: tag,\n merge: merge,\n html: html,\n htm: htm\n};\noptions.root.omi = options.root.Omi;\noptions.root.Omi.version = 'omio-2.2.1';\n\nvar omi = {\n h: h,\n createElement: h,\n cloneElement: cloneElement,\n createRef: createRef,\n Component: Component,\n render: render,\n rerender: rerender,\n options: options,\n WeElement: WeElement,\n define: define,\n rpx: rpx,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n getHost: getHost,\n renderToString: renderToString,\n tag: tag,\n merge: merge,\n html: html,\n htm: htm\n};\n\nexport default omi;\nexport { h, h as createElement, cloneElement, createRef, Component, render, rerender, options, WeElement, define, rpx, ModelView, defineElement, classNames, extractClass, getHost, renderToString, tag, merge, html, htm };\n//# sourceMappingURL=omi.esm.js.map\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/omio/dist/omi.esm.js","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/css-loader/lib/css-base.js","import { define, WeElement } from 'omi'\n\nimport './my-head'\nimport './my-content'\nimport './my-sidebar'\nimport './my-demo'\n\ndefine('my-frame', class extends WeElement {\n\n installed(){\n this.store.init()\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-frame.js","import { define, WeElement } from 'omi'\nimport logo from './omi-logo2019.svg'\n\ndefine('my-head', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position'\n ]\n\n toggleMenus = evt => {\n this.store.toogleSidebar()\n evt.stopPropagation()\n }\n\n hideSidebar = evt => {\n this.store.hideSidebar()\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-head/index.js","module.exports = __webpack_public_path__ + \"static/media/omi-logo2019.923166c3.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/omi-logo2019.svg\n// module id = 13\n// module chunks = 124 125","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAqklEQVRoQ+2WQQ6AMAgE4f+Pxg+oSTNbDXR7Z5UZQpvR/GTz/w838LdBG7ABSMAjBAHichvACGHAXANVVRCOtDwzb2E/GnADUv4R5xkQA9wWN3cLbUMmDrYBMdDluLkGfJEtD8N7wXkXWfsREk/Atri5W2gbMnGwDYiBLsfNNdB+jbqB5Wn2U0KM7KO4uVvoI4D4MzaAEcIAG4AAcbkNYIQwwAYgQFze3sAFU6MwMZGH3LoAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/menu.png\n// module id = 14\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/_index.css\n// module id = 15\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".head{\\n position:fixed;\\n height:60px;\\n line-height: 60px;\\n border-bottom: 1px solid #eee;\\n width:100%;\\n background-color:#24292e;\\n z-index:100;\\n top: 0;\\n}\\n\\nul,li{\\n display: inline-block;\\n}\\n\\n.logo_box{\\n width:100px;\\n display: inline-block;\\n text-align:center;\\n line-height: 60px;\\n}\\n\\n.menu a,.logo_box a{\\n display: inline-block;\\n height:60px;\\n color: white;\\n}\\n\\n.menu{\\n position: absolute;\\n right:20px;\\n}\\n\\n.menu li{\\n margin-left:15px;\\n}\\n\\n.logo_box a{\\n font-size: 34px;\\n font-weight: bold;\\n color: #00bff3;\\n padding: 0px 15px;\\n line-height: 60px;\\n cursor: pointer;\\n}\\n\\n.menu a:hover{\\n color: white;\\n}\\n\\n.m_menu{\\n position:fixed;\\n display:none;\\n cursor: pointer;\\n}\\n\\n.menu li{\\n display:inline-block;\\n}\\n\\n.logo{\\n width: 40px;\\n height: 40px;\\n margin-left: 10px;\\n margin-top: 10px;\\n cursor: pointer;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n\\n .logo_box{\\n display:inline-block;\\n }\\n\\n .logo{\\n display: none;\\n }\\n\\n .head{\\n text-align:center;\\n }\\n\\n .m_menu{\\n top:0;\\n left:0;\\n display:block;\\n width:50px;\\n height:50px;\\n padding-top: 6px;\\n }\\n\\n .m_menu img{\\n width:30px;\\n }\\n\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-head/_index.css\n// module id = 16\n// module chunks = 124 125","import { render } from 'omi'\nimport './assets/index.css'\nimport './elements/my-frame.js'\nimport Store from './store'\n\nrender(, '#root', new Store({ lan: 'zh-cn' }))\n\n\n\n// WEBPACK FOOTER //\n// ./src/cn.js","import { define, WeElement } from 'omi'\nimport '../my-footer'\n\ndefine('my-content', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'html'\n ]\n\n install() {\n this.store.myContent = this\n }\n\n installed() {\n this.initCodeStyle()\n }\n\n afterUpdate() {\n this.initCodeStyle()\n }\n\n touchEnd = () => {\n this.store.hideSidebar()\n }\n\n initCodeStyle() {\n let codes = document.querySelectorAll('code')\n\n let codesArr = Array.prototype.slice.call(codes);\n let codeHlNumArr = []\n codesArr.forEach(code => {\n let arr = code.className.match(/{([\\S\\s]*)}/)\n let pre = code.parentNode\n //bug!\n arr && pre.setAttribute('data-line', arr[1])\n if (code.className) {\n pre.className = code.className\n\n const temp = code.className.match(/language-\\w*/g)[0]\n if (temp) {\n code.innerHTML = Prism.highlight(code.innerText, Prism.languages[temp.split('-')[1]], temp.split('-')[1])\n }\n } else {\n let pre = code.parentNode\n code.className = 'language-markup'\n pre.className = 'language-markup'\n code.innerHTML = Prism.highlight(code.innerText, Prism.languages.markup, 'markup')\n }\n // let hllNums = null\n // if (arr) {\n // let numArr = arr[0].replace(/[{|}]/g, '').split(',')\n // hllNums = this._arrToNumber(numArr)\n // }\n //codeHlNumArr.push(hllNums)\n })\n\n // codesArr.forEach((code, index) => {\n // let newP = document.createElement('div')\n // newP.className = '_code-ctn'\n // let pre = code.parentNode\n // let ctn = pre.parentNode\n // if (pre.nodeName === 'PRE') {\n // ctn.insertBefore(newP, pre)\n\n // let hl = document.createElement('div')\n // hl.className = '_hl'\n // newP.appendChild(hl)\n // newP.appendChild(pre)\n // let nums = codeHlNumArr[index]\n\n // let max = Math.max.apply(null, nums)\n\n // let inner = ''\n // for (let i = 0; i <= max; i++) {\n // if (nums.indexOf(i) == -1) {\n // inner += '
'\n // } else {\n // inner += ''\n // }\n // }\n // hl.innerHTML = inner\n // }\n // })\n //fix line-highlight\n window.dispatchEvent(new Event('resize'));\n }\n\n _arrToNumber(numArr) {\n let arr = []\n numArr.forEach(item => {\n if (item.indexOf('-') !== -1) {\n const tempArr = item.split('-')\n const begin = Number(tempArr[0])\n const end = Number(tempArr[1])\n for (let i = begin; i < end + 1; i++) {\n arr.push(i)\n }\n } else {\n arr.push(Number(item))\n }\n })\n return arr\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-content/index.js","import { define, WeElement } from 'omi'\n\ndefine('my-footer', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position',\n 'menu'\n ]\n\n render() {\n const [\n position,\n menus\n ] = this.use\n const pre = this.store.getPre()\n const next = this.store.getNext()\n // console.log(pre,next)\n return (\n \n )\n }\n\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-footer/index.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-footer/_index.css\n// module id = 19\n// module chunks = 124 125","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\n} catch(e) {\n\t// This works if the window reference is available\n\tif(typeof window === \"object\")\n\t\tg = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n\n// WEBPACK FOOTER //\n// (webpack)/buildin/global.js","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".ft{\\n position: relative;\\n margin-top: 20px\\n}\\n\\n.pre{\\n position: absolute;\\n left:15px;\\n}\\n\\n.next{\\n position: absolute;\\n right: 15px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-footer/_index.css\n// module id = 20\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-content/_index.css\n// module id = 21\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".content{\\n margin-top: 60px;\\n margin-bottom: 30px;\\n margin-left: 260px;\\n padding: 1px 10px 10px 20px;\\n color: #24292e;\\n /* overflow: hidden; */\\n max-width: 900px;\\n}\\n\\nh3{\\n color:#444444;\\n}\\n\\npre{\\n border: 1px solid #eee;\\n width: 100%;\\n}\\nli{\\n text-indent: 20px;\\n list-style:disc inside ;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n .content{\\n margin-left: 0;\\n border-left: none;\\n padding: 1px 10px 10px 10px;\\n }\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-content/_index.css\n// module id = 22\n// module chunks = 124 125","import { define, WeElement } from 'omi'\nimport '../my-list'\n\ndefine('my-sidebar', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'menus',\n 'sideBarShow',\n 'lan'\n ]\n\n render() {\n const [menus, sideBarShow, lan] = this.use\n\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-sidebar/index.js","import { define, WeElement } from 'omi'\n\ndefine('my-list', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position'\n ]\n\n render(props) {\n const [position] = this.use\n\n return (\n \n - {props.menu.title}
\n {props.menu.list &&\n props.menu.list.map((item, subIndex) => {\n const cls = position[0] === props.index && position[1] === subIndex ? { class: 'current' } : null\n return - \n \n {item.name}\n \n
\n })}\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-list/index.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-list/_index.css\n// module id = 25\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"li.title{\\n font-size: 14px;\\n font-weight: bold;\\n margin-bottom:10px;\\n margin-top:10px;\\n text-indent: 23px;\\n}\\nli{\\n margin-bottom:1px;\\n text-indent: 33px;\\n}\\nli a{\\n display:block;\\n font-size:14px;\\n height:30px;\\n line-height:30px;\\n color: black;\\n background-color:#eee;\\n}\\nli a.current,li a.current:hover{\\n background-color:#24292e;\\n color: white;\\n cursor: default;\\n}\\nli a:hover{\\n background-color:#f0f8ff;\\n}\\n\\n\\nul,li{\\n list-style:none;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-list/_index.css\n// module id = 26\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-sidebar/_index.css\n// module id = 27\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"@media only screen and (max-width: 768px) {\\n .list{\\n transform: translateX(-100%);\\n background-color:white;\\n left:0 !important;\\n -moz-transition: all .6s ease;\\n -o-transition: all .6s ease;\\n -webkit-transition: all .6s ease;\\n transition: all .6s ease;\\n width: 70% !important;\\n z-index: 100000;\\n border-right: none !important;\\n }\\n\\n .list.show {\\n -moz-transform: translateX(0%) translateZ(0);\\n -ms-transform: translateX(0%) translateZ(0);\\n -o-transform: translateX(0%) translateZ(0);\\n -webkit-transform: translateX(0%) translateZ(0);\\n transform: translateX(0%) translateZ(0);\\n }\\n}\\n\\n.list{\\n width: 261px;\\n text-indent: 20px;\\n border-right: 1px solid #eee;\\n overflow-x: hidden;\\n overflow-y: auto;\\n position:fixed;\\n top:60px;\\n background-color: white;\\n height: 100%;\\n border-right: 1px solid #ccc;\\n padding-bottom: 100px;\\n}\\n.version{\\n height:20px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-sidebar/_index.css\n// module id = 28\n// module chunks = 124 125","import { define, WeElement } from 'omi'\nimport css from './_index.css'\n\ndefine('my-demo', class extends WeElement {\n install() {\n this.store.myDemo = this\n if (this.checkPc())\n this.show = true\n else\n this.show = false\n this.demo = this.store.demo\n }\n\n css() {\n return css\n }\n\n checkPc() {\n let userAgentInfo = navigator.userAgent\n let mp = [\"Android\", \"iPhone\", \"SymbianOS\", \"Windows Phone\", \"iPad\", \"iPod\"]\n for (let i = 0; i < mp.length; i++)\n if (userAgentInfo.indexOf(mp[i]) > 0)\n return false\n return true\n }\n\n toggle = () => {\n this.show = !this.show\n this.update()\n }\n\n render() {\n if (!this.demo) return\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-demo/index.js","'use strict';\n\nvar asap = require('asap/raw');\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/core.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-demo/_index.css\n// module id = 30\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"iframe{\\n width: 750px;\\n height: 100%;\\n top: 60px;\\n right: 0;\\n position: fixed;\\n border: none;\\n z-index: 9999;\\n border-left: 2px solid #24292E; \\n min-width: 320px;\\n background-color: white;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n iframe{\\n width: 100%;\\n min-width: 100%;\\n }\\n}\\n\\n.icon{\\n position: fixed;\\n right: 50px;\\n bottom: 50px;\\n cursor: pointer;\\n width:50px;\\n height:50px;\\n background-color: rgb(96, 101, 114);\\n text-align: center;\\n height: 50px;\\n line-height: 56px;\\n border-radius: 50%;\\n z-index: 10000;\\n \\n}\\n\\nsvg{\\n transition: left .5s ease;\\n left:0;\\n color: white;\\n position: relative;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-demo/_index.css\n// module id = 31\n// module chunks = 124 125","import config from '../docs/config.js'\nimport 'omi-router'\n\nclass Store {\n constructor(data) {\n this.data = {\n position: [-1, -1],\n menus: config.menus,\n lan: data.lan,\n html: '',\n sideBarShow: window.innerWidth > 768\n }\n let id = 0\n this.map = {}\n this.positionMap = {}\n config.menus[this.data.lan].forEach((menu, index) => {\n menu.list.forEach((item, subIndex) => {\n item.id = id++\n item.position = [index, subIndex]\n this.map[item.id] = item\n item.index = index\n item.subIndex = subIndex\n this.positionMap[index+'-'+subIndex] = item\n })\n })\n this.preIndex = 0\n this.preSubIndex = 0\n }\n\n getNext(){\n const item = this.positionMap[this.data.position.join('-')]\n if(item){\n return this.map[item.id+1]\n }\n }\n\n getPre(){\n const item = this.positionMap[this.data.position.join('-')]\n if(item){\n return this.map[item.id-1]\n }\n }\n\n init() {\n this.remarkable = new Remarkable({ html: true })\n if (location.hash === \"\") {\n this.data.position = [0, 0]\n this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md, this.data.lan, m => {\n this.data.html = this.remarkable.render(m)\n })\n }\n this.demo = this.data.menus[this.data.lan][0].list[0].demo\n this.initRouter()\n }\n\n toogleSidebar() {\n this.data.sideBarShow = !this.data.sideBarShow\n }\n\n hideSidebar() {\n this.data.sideBarShow = false\n }\n\n initRouter() {\n const menus = this.data.menus[this.data.lan]\n menus.forEach(item => {\n item.list.forEach(subItem => {\n route('/' + subItem.md, evt => {\n menus[this.preIndex].list[this.preSubIndex].selected = false\n this.preIndex = evt.query.index\n this.preSubIndex = evt.query.subIndex\n this.data.position = [Number(evt.query.index), Number(evt.query.subIndex)]\n this.data.sideBarShow = false\n this.myDemo.demo = menus[this.preIndex].list[this.preSubIndex].demo\n this.myDemo.update()\n\n this.getMarkDown(subItem.md, this.data.lan, m => {\n this.data.html = this.remarkable.render(m)\n document.body.scrollTop = 0\n document.documentElement.scrollTop = 0\n })\n })\n })\n })\n }\n\n getMarkDown(name, lan, callback) {\n import('../docs/' + lan + '/' + name + '.md').then(m => {\n callback(m)\n })\n }\n}\n\nexport default Store\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","const config = {\n menus: {\n 'zh-cn': [\n {\n title: 'Omim',\n list: [\n { name: '简介', md: 'introduction' }\n ]\n },\n {\n title: '基础',\n list: [\n { name: 'Button 按钮', md: 'button', demo: './repl/button.html' },\n { name: 'Fab 动作按钮', md: 'fab', demo: './repl/fab.html' },\n { name: 'Icon 图标', md: 'icon', demo: './repl/icon.html' },\n { name: 'IconButton 图标按钮', md: 'icon-button', demo: './repl/icon-button.html' },\n { name: 'Avatar 头像', md: 'avatar', demo: './repl/avatar.html' },\n { name: 'Loading 加载', md: 'loading', demo: './repl/loading.html' },\n { name: 'Breadcrumb 面包屑', md: 'breadcrumb', demo: './repl/breadcrumb.html' }\n ]\n },\n {\n title: '公用',\n list: [\n { name: 'Transition 过渡', md: 'transition', demo: 'https://tencent.github.io/omi/packages/omim/demos/transition/index.html' },\n { name: 'To 运动', md: 'to', demo: 'https://tencent.github.io/omi/packages/omim/demos/to/index.html' },\n { name: 'Theme 主题', md: 'theme', demo: 'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html' },\n { name: 'Typography 排版', md: 'typography', demo: './repl/typography.html' },\n { name: 'Layout Grid 网格布局', md: 'layout-grid', demo: 'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html' }\n ]\n },\n {\n title: '布局',\n list: [\n { name: 'Row 行', md: 'row', demo: './repl/row.html' },\n\n { name: 'Elevation 高度盒', md: 'elevation', demo: './repl/elevation.html' },\n { name: 'Image List 图片列表', md: 'image-list', demo: './repl/image-list.html' }\n ]\n },\n {\n title: '导航',\n list: [\n { name: 'Menu 菜单', md: 'menu', demo: './repl/menu.html' },\n { name: 'Drawer 抽屉', md: 'drawer', demo: 'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html' },\n { name: 'Tab 标签切换', md: 'tab', demo: './repl/tab.html' },\n { name: 'Nav 导航', md: 'nav', demo: './repl/nav.html' },\n { name: 'Pagination 分页', md: 'pagination', demo: 'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html' },\n { name: 'Top App Bar 顶部栏', md: 'top-app-bar', demo: 'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html' }\n ]\n },\n {\n title: '操作反馈',\n list: [\n {name: 'Dialog 对话框', md: 'dialog', demo: './repl/dialog.html'},\n {name: 'Snackbar 提醒', md: 'snackbar', demo: './repl/snackbar.html'},\n {name: 'ActionSheet 行动表', md: 'action-sheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},\n {name: 'ColorPicker 颜色选择机', md: 'color-picker', demo: './repl/color-picker.html'},\n { name: 'Popover 提示', md: 'popover', demo: 'https://tencent.github.io/omi/packages/omim/demos/popover/index.html' },\n { name: 'Toast 弹出提示', md: 'toast', demo: 'https://tencent.github.io/omi/packages/omim/demos/toast/index.html' }\n ]\n },\n {\n title: '表单',\n list: [\n { name: 'Text Field 文本输入', md: 'text-field', demo: './repl/text-field.html' },\n { name: 'Select 下拉选择', md: 'select', demo: './repl/select.html' },\n { name: 'Checkbox 复选框', md: 'checkbox', demo: './repl/checkbox.html' },\n { name: 'Radio 单选框', md: 'radio', demo: './repl/radio.html' },\n { name: 'Switch 切换', md: 'switch', demo: './repl/switch.html' },\n { name: 'DateTimePicker 时间日期选择器', md: 'date-time-picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html' },\n { name: 'Picker 原生选择器', md: 'picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html' },\n { name: 'TransferList 穿梭列表', md: 'transfer-list', demo: 'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html' }\n ]\n },\n {\n title: '数据',\n list: [\n { name: 'List 列表', md: 'list', demo: './repl/list.html' },\n { name: 'Table 表格', md: 'table', demo: 'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html' },\n { name: 'Linear Progress 线性进度', md: 'linear-progress', demo: './repl/linear-progress.html' },\n { name: 'Slider 滑块', md: 'slider', demo: './repl/slider.html' },\n { name: 'Chips 标签', md: 'chips', demo: './repl/chips.html' },\n { name: 'Tag 标签', md: 'tag', demo: './repl/tag.html' },\n { name: 'Badge 徽章', md: 'badge', demo: './repl/badge.html' },\n { name: 'Tree 树', md: 'tree', demo: './repl/tree.html' },\n { name: 'Card 卡片', md: 'card', demo: './repl/card.html' },\n { name: 'Path Progress 路径进度', md: 'path-progress', demo: './repl/path-progress.html' },\n { name: 'Paper 纸片', md: 'paper', demo: './repl/paper.html' },\n { name: 'Step 步骤', md: 'step', demo: './repl/step.html' },\n { name: 'Simple Card 简单卡片', md: 'simple-card', demo: './repl/simple-card.html' },\n { name: 'Editor 富文本编辑器', md: 'editor', demo: 'https://tencent.github.io/omi/packages/omim/demos/editor/index.html' },\n { name: 'Spreadsheet 电子表格', md: 'spreadsheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html' },\n { name: 'Rate 评分', md: 'rate', demo: 'https://tencent.github.io/omi/packages/omim/demos/rate/index.html' }\n ]\n },\n {\n title: '图表',\n list: [\n { name: '简介', md: 'introduction-chart' },\n { name: '柱状图', md: 'bar', demo: './repl/bar.html' },\n { name: '线状图', md: 'line', demo: './repl/line.html' },\n { name: '散点图', md: 'scatter', demo: './repl/scatter.html' },\n { name: '饼图', md: 'pie', demo: './repl/pie.html' },\n { name: '环状图', md: 'doughnut', demo: './repl/doughnut.html' },\n { name: '雷达图', md: 'radar', demo: './repl/radar.html' },\n { name: '极区图', md: 'polar-area', demo: './repl/polar-area.html' },\n { name: '气泡图', md: 'bubble', demo: './repl/bubble.html' },\n { name: '合成图', md: 'bar-line', demo: './repl/bar-line.html' }\n ]\n }\n ],\n en: [\n {\n title: 'Omim',\n list: [\n { name: 'Introduction', md: 'introduction' }\n ]\n },\n {\n title: 'Base',\n list: [\n { name: 'Button', md: 'button', demo: './repl/button.html' },\n { name: 'Fab', md: 'fab', demo: './repl/fab.html' },\n { name: 'Icon', md: 'icon', demo: './repl/icon.html' },\n { name: 'IconButton', md: 'icon-button', demo: './repl/icon-button.html' },\n { name: 'Avatar', md: 'avatar', demo: './repl/avatar.html' },\n { name: 'Loading', md: 'loading', demo: './repl/loading.html' },\n { name: 'Breadcrumb', md: 'breadcrumb', demo: './repl/breadcrumb.html' }\n ]\n },\n {\n title: 'Util',\n list: [\n { name: 'Transition', md: 'transition', demo: 'https://tencent.github.io/omi/packages/omim/demos/transition/index.html' },\n { name: 'To', md: 'to', demo: 'https://tencent.github.io/omi/packages/omim/demos/to/index.html' },\n { name: 'Theme', md: 'theme', demo: 'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html' },\n { name: 'Typography', md: 'typography', demo: './repl/typography.html' },\n { name: 'Layout Grid', md: 'layout-grid', demo: 'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html' }\n ]\n },\n {\n title: 'Layout',\n list: [\n { name: 'Row', md: 'row', demo: './repl/row.html' },\n { name: 'Elevation', md: 'elevation', demo: './repl/elevation.html' },\n { name: 'Image List', md: 'image-list', demo: './repl/image-list.html' }\n ]\n },\n {\n title: 'Navigation',\n list: [\n { name: 'Menu', md: 'menu', demo: './repl/menu.html' },\n { name: 'Drawer', md: 'drawer', demo: 'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html' },\n { name: 'Tab', md: 'tab', demo: './repl/tab.html' },\n { name: 'Nav', md: 'nav', demo: './repl/nav.html' },\n { name: 'Pagination', md: 'pagination', demo: 'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html' },\n { name: 'Top App Bar', md: 'top-app-bar', demo: 'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html' }\n ]\n },\n {\n title: 'Operational Feedback',\n list: [\n {name: 'Dialog', md: 'dialog', demo: './repl/dialog.html'},\n {name: 'Snackbar', md: 'snackbar', demo: './repl/snackbar.html'},\n {name: 'ActionSheet', md: 'action-sheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},\n {name: 'ColorPicker', md: 'color-picker', demo: './repl/color-picker.html'},\n { name: 'Popover', md: 'popover', demo: 'https://tencent.github.io/omi/packages/omim/demos/popover/index.html' },\n { name: 'Toast', md: 'toast', demo: 'https://tencent.github.io/omi/packages/omim/demos/toast/index.html' }\n ]\n },\n {\n title: 'Form',\n list: [\n { name: 'Text Field', md: 'text-field', demo: './repl/text-field.html' },\n { name: 'Select', md: 'select', demo: './repl/select.html' },\n { name: 'Checkbox', md: 'checkbox', demo: './repl/checkbox.html' },\n { name: 'Radio', md: 'radio', demo: './repl/radio.html' },\n { name: 'Switch', md: 'switch', demo: './repl/switch.html' },\n { name: 'DateTimePicker', md: 'date-time-picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html' },\n { name: 'Picker', md: 'picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html' },\n { name: 'TransferList', md: 'transfer-list', demo: 'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html' }\n ]\n },\n {\n title: 'Data',\n list: [\n { name: 'List', md: 'list', demo: './repl/list.html' },\n { name: 'Table', md: 'table', demo: 'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html' },\n { name: 'Linear Progress', md: 'linear-progress', demo: './repl/linear-progress.html' },\n { name: 'Slider', md: 'slider', demo: './repl/slider.html' },\n { name: 'Chips', md: 'chips', demo: './repl/chips.html' },\n { name: 'Tag', md: 'tag', demo: './repl/tag.html' },\n { name: 'Badge', md: 'badge', demo: './repl/badge.html' },\n { name: 'Tree', md: 'tree', demo: './repl/tree.html' },\n { name: 'Card', md: 'card', demo: './repl/card.html' },\n { name: 'Path Progress', md: 'path-progress', demo: './repl/path-progress.html' },\n { name: 'Paper', md: 'paper', demo: './repl/paper.html' },\n { name: 'Step', md: 'step', demo: './repl/step.html' },\n { name: 'Simple Card', md: 'simple-card', demo: './repl/simple-card.html' },\n { name: 'Editor', md: 'editor', demo: 'https://tencent.github.io/omi/packages/omim/demos/editor/index.html' },\n { name: 'Spreadsheet', md: 'spreadsheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html' },\n { name: 'Rate', md: 'rate', demo: 'https://tencent.github.io/omi/packages/omim/demos/rate/index.html' }\n ]\n },\n {\n title: 'Chart',\n list: [\n { name: 'Introduction', md: 'introduction-chart' },\n { name: 'Bar', md: 'bar', demo: './repl/bar.html' },\n { name: 'Line', md: 'line', demo: './repl/line.html' },\n { name: 'Scatter', md: 'scatter', demo: './repl/scatter.html' },\n { name: 'Pie', md: 'pie', demo: './repl/pie.html' },\n { name: 'Doughnut', md: 'doughnut', demo: './repl/doughnut.html' },\n { name: 'Radar', md: 'radar', demo: './repl/radar.html' },\n { name: 'PolarArea', md: 'polar-area', demo: './repl/polar-area.html' },\n { name: 'Bubble', md: 'bubble', demo: './repl/bubble.html' },\n { name: 'BarLine', md: 'bar-line', demo: './repl/bar-line.html' }\n\n\n ]\n }\n ]\n }\n}\n\nexport default config\n\n\n\n// WEBPACK FOOTER //\n// ./src/docs/config.js","/*!\n * omi-router v2.0.8 by dntzhang\n * Router for Omi.\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar p2r = require('path-to-regexp')\nvar mapping = {}\nvar root = getGlobal()\n\nroot.route = route\nroot.route.params = null\nroot.historyLength = 0\n\nroot.route.to = function (path, data) {\n root.route._routeByTo = true\n root.route.data = data\n if (path[0] === '#') {\n location.hash = path\n } else {\n location.hash = '#' + path\n }\n}\n\nwindow.addEventListener('hashchange', change)\n\nfunction change(evt) {\n var byNative = false\n //need to fix a line by omi-link\n if(window.history.length === root.historyLength && !root.route._routeByTo){\n //keep alive mode\n byNative = true\n }\n root.route._routeByTo = false\n root.historyLength = window.history.length\n var prevent = false\n if (evt.type === 'hashchange' && root.route.before) {\n prevent = root.route.before(evt) === false\n }\n if (prevent) return\n var path = window.location.hash.replace('#', '')\n var notFound = true\n Object.keys(mapping).every(function(key){\n var toArr = path.split('?')[0].match(mapping[key].reg)\n if (toArr) {\n var pathArr = key.match(mapping[key].reg)\n root.route.params = getParams(toArr, pathArr)\n root.route.query = getUrlParams(path)\n mapping[key].callback({\n params: root.route.params,\n query: getUrlParams(path),\n data: root.route.data,\n byNative: byNative\n })\n root.route.data = null\n notFound = false\n return false\n }\n return true\n })\n\n if (notFound) {\n mapping['*'] && mapping['*'].callback({ byNative: byNative })\n }\n\n if (evt.type === 'hashchange' && root.route.after) {\n root.route.after(evt)\n }\n}\n\ndocument.addEventListener('DOMContentLoaded', change)\n\nfunction getParams(toArr, pathArr) {\n var params = {}\n toArr.forEach(function (item, index) {\n if (index > 0) {\n params[pathArr[index].replace(':', '')] = item\n }\n })\n return params\n}\n\n\nexport default function route(path, callback) {\n mapping[path] = {\n callback: callback,\n reg: p2r(path)\n }\n}\n\nfunction getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n return (\n self ||\n window ||\n global ||\n (function () {\n return this\n })()\n )\n }\n return global\n}\n\nfunction getUrlParams(url) {\n url = url.replace(/#.*$/, '')\n var queryArray = url.split(/[?&]/).slice(1)\n var i, args = {}\n for (i = 0; i < queryArray.length; i++) {\n var match = queryArray[i].match(/([^=]+)=([^=]+)/)\n if (match !== null) {\n args[match[1]] = decodeURIComponent(match[2])\n }\n }\n return args\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/omi-router/index.js","/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * Default configs.\n */\nvar DEFAULT_DELIMITER = '/'\nvar DEFAULT_DELIMITERS = './'\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \":test(\\\\d+)?\" => [\"test\", \"\\d+\", undefined, \"?\"]\n // \"(\\\\d+)\" => [undefined, undefined, \"\\d+\", undefined]\n '(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = (options && options.delimiter) || DEFAULT_DELIMITER\n var delimiters = (options && options.delimiters) || DEFAULT_DELIMITERS\n var pathEscaped = false\n var res\n\n while ((res = PATH_REGEXP.exec(str)) !== null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n pathEscaped = true\n continue\n }\n\n var prev = ''\n var next = str[index]\n var name = res[2]\n var capture = res[3]\n var group = res[4]\n var modifier = res[5]\n\n if (!pathEscaped && path.length) {\n var k = path.length - 1\n\n if (delimiters.indexOf(path[k]) > -1) {\n prev = path[k]\n path = path.slice(0, k)\n }\n }\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n pathEscaped = false\n }\n\n var partial = prev !== '' && next !== undefined && next !== prev\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = prev || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prev,\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n pattern: pattern ? escapeGroup(pattern) : '[^' + escapeString(delimiter) + ']+?'\n })\n }\n\n // Push any remaining characters.\n if (path || index < str.length) {\n tokens.push(path + str.substr(index))\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (data, options) {\n var path = ''\n var encode = (options && options.encode) || encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n continue\n }\n\n var value = data ? data[token.name] : undefined\n var segment\n\n if (Array.isArray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but got array')\n }\n\n if (value.length === 0) {\n if (token.optional) continue\n\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j], token)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\"')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n segment = encode(String(value), token)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but got \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n continue\n }\n\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) path += token.prefix\n\n continue\n }\n\n throw new TypeError('Expected \"' + token.name + '\" to be ' + (token.repeat ? 'an array' : 'a string'))\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$/()])/g, '\\\\$1')\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {Array=} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n if (!keys) return path\n\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n pattern: null\n })\n }\n }\n\n return path\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n return new RegExp('(?:' + parts.join('|') + ')', flags(options))\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n options = options || {}\n\n var strict = options.strict\n var start = options.start !== false\n var end = options.end !== false\n var delimiter = escapeString(options.delimiter || DEFAULT_DELIMITER)\n var delimiters = options.delimiters || DEFAULT_DELIMITERS\n var endsWith = [].concat(options.endsWith || []).map(escapeString).concat('$').join('|')\n var route = start ? '^' : ''\n var isEndDelimited = tokens.length === 0\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n isEndDelimited = i === tokens.length - 1 && delimiters.indexOf(token[token.length - 1]) > -1\n } else {\n var capture = token.repeat\n ? '(?:' + token.pattern + ')(?:' + escapeString(token.delimiter) + '(?:' + token.pattern + '))*'\n : token.pattern\n\n if (keys) keys.push(token)\n\n if (token.optional) {\n if (token.partial) {\n route += escapeString(token.prefix) + '(' + capture + ')?'\n } else {\n route += '(?:' + escapeString(token.prefix) + '(' + capture + '))?'\n }\n } else {\n route += escapeString(token.prefix) + '(' + capture + ')'\n }\n }\n }\n\n if (end) {\n if (!strict) route += '(?:' + delimiter + ')?'\n\n route += endsWith === '$' ? '$' : '(?=' + endsWith + ')'\n } else {\n if (!strict) route += '(?:' + delimiter + '(?=' + endsWith + '))?'\n if (!isEndDelimited) route += '(?=' + delimiter + '|' + endsWith + ')'\n }\n\n return new RegExp(route, flags(options))\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (path instanceof RegExp) {\n return regexpToRegexp(path, keys)\n }\n\n if (Array.isArray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), keys, options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), keys, options)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/path-to-regexp/index.js","var map = {\n\t\"./en/action-sheet.md\": [\n\t\t37,\n\t\t123\n\t],\n\t\"./en/avatar.md\": [\n\t\t38,\n\t\t122\n\t],\n\t\"./en/badge.md\": [\n\t\t39,\n\t\t121\n\t],\n\t\"./en/bar-line.md\": [\n\t\t40,\n\t\t120\n\t],\n\t\"./en/bar.md\": [\n\t\t41,\n\t\t119\n\t],\n\t\"./en/breadcrumb.md\": [\n\t\t42,\n\t\t118\n\t],\n\t\"./en/bubble.md\": [\n\t\t43,\n\t\t117\n\t],\n\t\"./en/button.md\": [\n\t\t44,\n\t\t116\n\t],\n\t\"./en/card.md\": [\n\t\t45,\n\t\t115\n\t],\n\t\"./en/checkbox.md\": [\n\t\t46,\n\t\t114\n\t],\n\t\"./en/chips.md\": [\n\t\t47,\n\t\t113\n\t],\n\t\"./en/color-picker.md\": [\n\t\t48,\n\t\t112\n\t],\n\t\"./en/date-time-picker.md\": [\n\t\t49,\n\t\t111\n\t],\n\t\"./en/dialog.md\": [\n\t\t50,\n\t\t110\n\t],\n\t\"./en/doughnut.md\": [\n\t\t51,\n\t\t109\n\t],\n\t\"./en/drawer.md\": [\n\t\t52,\n\t\t108\n\t],\n\t\"./en/editor.md\": [\n\t\t53,\n\t\t107\n\t],\n\t\"./en/elevation.md\": [\n\t\t54,\n\t\t106\n\t],\n\t\"./en/fab.md\": [\n\t\t55,\n\t\t105\n\t],\n\t\"./en/icon-button.md\": [\n\t\t56,\n\t\t104\n\t],\n\t\"./en/icon.md\": [\n\t\t57,\n\t\t103\n\t],\n\t\"./en/image-list.md\": [\n\t\t58,\n\t\t102\n\t],\n\t\"./en/introduction-chart.md\": [\n\t\t59,\n\t\t101\n\t],\n\t\"./en/introduction.md\": [\n\t\t60,\n\t\t100\n\t],\n\t\"./en/layout-grid.md\": [\n\t\t61,\n\t\t99\n\t],\n\t\"./en/line.md\": [\n\t\t62,\n\t\t98\n\t],\n\t\"./en/linear-progress.md\": [\n\t\t63,\n\t\t97\n\t],\n\t\"./en/list.md\": [\n\t\t64,\n\t\t96\n\t],\n\t\"./en/loading.md\": [\n\t\t65,\n\t\t95\n\t],\n\t\"./en/menu.md\": [\n\t\t66,\n\t\t94\n\t],\n\t\"./en/nav.md\": [\n\t\t67,\n\t\t93\n\t],\n\t\"./en/pagination.md\": [\n\t\t68,\n\t\t92\n\t],\n\t\"./en/paper.md\": [\n\t\t69,\n\t\t91\n\t],\n\t\"./en/path-progress.md\": [\n\t\t70,\n\t\t90\n\t],\n\t\"./en/picker.md\": [\n\t\t71,\n\t\t89\n\t],\n\t\"./en/pie.md\": [\n\t\t72,\n\t\t88\n\t],\n\t\"./en/polar-area.md\": [\n\t\t73,\n\t\t87\n\t],\n\t\"./en/popover.md\": [\n\t\t74,\n\t\t86\n\t],\n\t\"./en/radar.md\": [\n\t\t75,\n\t\t85\n\t],\n\t\"./en/radio.md\": [\n\t\t76,\n\t\t84\n\t],\n\t\"./en/rate.md\": [\n\t\t77,\n\t\t83\n\t],\n\t\"./en/row.md\": [\n\t\t78,\n\t\t82\n\t],\n\t\"./en/scatter.md\": [\n\t\t79,\n\t\t81\n\t],\n\t\"./en/select.md\": [\n\t\t80,\n\t\t80\n\t],\n\t\"./en/simple-card.md\": [\n\t\t81,\n\t\t79\n\t],\n\t\"./en/slider.md\": [\n\t\t82,\n\t\t78\n\t],\n\t\"./en/snackbar.md\": [\n\t\t83,\n\t\t77\n\t],\n\t\"./en/spreadsheet.md\": [\n\t\t84,\n\t\t76\n\t],\n\t\"./en/step.md\": [\n\t\t85,\n\t\t75\n\t],\n\t\"./en/switch.md\": [\n\t\t86,\n\t\t74\n\t],\n\t\"./en/tab.md\": [\n\t\t87,\n\t\t73\n\t],\n\t\"./en/table.md\": [\n\t\t88,\n\t\t72\n\t],\n\t\"./en/tag.md\": [\n\t\t89,\n\t\t71\n\t],\n\t\"./en/text-field.md\": [\n\t\t90,\n\t\t70\n\t],\n\t\"./en/theme.md\": [\n\t\t91,\n\t\t69\n\t],\n\t\"./en/to.md\": [\n\t\t92,\n\t\t68\n\t],\n\t\"./en/toast.md\": [\n\t\t93,\n\t\t67\n\t],\n\t\"./en/top-app-bar.md\": [\n\t\t94,\n\t\t66\n\t],\n\t\"./en/transfer-list.md\": [\n\t\t95,\n\t\t65\n\t],\n\t\"./en/transition.md\": [\n\t\t96,\n\t\t64\n\t],\n\t\"./en/tree.md\": [\n\t\t97,\n\t\t63\n\t],\n\t\"./en/typography.md\": [\n\t\t98,\n\t\t62\n\t],\n\t\"./zh-cn/action-sheet.md\": [\n\t\t99,\n\t\t61\n\t],\n\t\"./zh-cn/avatar.md\": [\n\t\t100,\n\t\t60\n\t],\n\t\"./zh-cn/badge.md\": [\n\t\t101,\n\t\t59\n\t],\n\t\"./zh-cn/bar-line.md\": [\n\t\t102,\n\t\t58\n\t],\n\t\"./zh-cn/bar.md\": [\n\t\t103,\n\t\t57\n\t],\n\t\"./zh-cn/breadcrumb.md\": [\n\t\t104,\n\t\t56\n\t],\n\t\"./zh-cn/bubble.md\": [\n\t\t105,\n\t\t55\n\t],\n\t\"./zh-cn/button.md\": [\n\t\t106,\n\t\t54\n\t],\n\t\"./zh-cn/card.md\": [\n\t\t107,\n\t\t53\n\t],\n\t\"./zh-cn/checkbox.md\": [\n\t\t108,\n\t\t52\n\t],\n\t\"./zh-cn/chips.md\": [\n\t\t109,\n\t\t51\n\t],\n\t\"./zh-cn/color-picker.md\": [\n\t\t110,\n\t\t50\n\t],\n\t\"./zh-cn/date-time-picker.md\": [\n\t\t111,\n\t\t49\n\t],\n\t\"./zh-cn/dialog.md\": [\n\t\t112,\n\t\t48\n\t],\n\t\"./zh-cn/doughnut.md\": [\n\t\t113,\n\t\t47\n\t],\n\t\"./zh-cn/drawer.md\": [\n\t\t114,\n\t\t46\n\t],\n\t\"./zh-cn/editor.md\": [\n\t\t115,\n\t\t45\n\t],\n\t\"./zh-cn/elevation.md\": [\n\t\t116,\n\t\t44\n\t],\n\t\"./zh-cn/fab.md\": [\n\t\t117,\n\t\t43\n\t],\n\t\"./zh-cn/icon-button.md\": [\n\t\t118,\n\t\t42\n\t],\n\t\"./zh-cn/icon.md\": [\n\t\t119,\n\t\t41\n\t],\n\t\"./zh-cn/image-list.md\": [\n\t\t120,\n\t\t40\n\t],\n\t\"./zh-cn/introduction-chart.md\": [\n\t\t121,\n\t\t39\n\t],\n\t\"./zh-cn/introduction.md\": [\n\t\t122,\n\t\t38\n\t],\n\t\"./zh-cn/layout-grid.md\": [\n\t\t123,\n\t\t37\n\t],\n\t\"./zh-cn/line.md\": [\n\t\t124,\n\t\t36\n\t],\n\t\"./zh-cn/linear-progress.md\": [\n\t\t125,\n\t\t35\n\t],\n\t\"./zh-cn/list.md\": [\n\t\t126,\n\t\t34\n\t],\n\t\"./zh-cn/loading.md\": [\n\t\t127,\n\t\t33\n\t],\n\t\"./zh-cn/menu.md\": [\n\t\t128,\n\t\t32\n\t],\n\t\"./zh-cn/nav.md\": [\n\t\t129,\n\t\t31\n\t],\n\t\"./zh-cn/pagination.md\": [\n\t\t130,\n\t\t30\n\t],\n\t\"./zh-cn/paper.md\": [\n\t\t131,\n\t\t29\n\t],\n\t\"./zh-cn/path-progress.md\": [\n\t\t132,\n\t\t28\n\t],\n\t\"./zh-cn/picker.md\": [\n\t\t133,\n\t\t27\n\t],\n\t\"./zh-cn/pie.md\": [\n\t\t134,\n\t\t26\n\t],\n\t\"./zh-cn/polar-area.md\": [\n\t\t135,\n\t\t25\n\t],\n\t\"./zh-cn/popover.md\": [\n\t\t136,\n\t\t24\n\t],\n\t\"./zh-cn/radar.md\": [\n\t\t137,\n\t\t23\n\t],\n\t\"./zh-cn/radio.md\": [\n\t\t138,\n\t\t22\n\t],\n\t\"./zh-cn/rate.md\": [\n\t\t139,\n\t\t21\n\t],\n\t\"./zh-cn/row.md\": [\n\t\t140,\n\t\t20\n\t],\n\t\"./zh-cn/scatter.md\": [\n\t\t141,\n\t\t19\n\t],\n\t\"./zh-cn/select.md\": [\n\t\t142,\n\t\t18\n\t],\n\t\"./zh-cn/simple-card.md\": [\n\t\t143,\n\t\t17\n\t],\n\t\"./zh-cn/slider.md\": [\n\t\t144,\n\t\t16\n\t],\n\t\"./zh-cn/snackbar.md\": [\n\t\t145,\n\t\t15\n\t],\n\t\"./zh-cn/spreadsheet.md\": [\n\t\t146,\n\t\t14\n\t],\n\t\"./zh-cn/step.md\": [\n\t\t147,\n\t\t13\n\t],\n\t\"./zh-cn/switch.md\": [\n\t\t148,\n\t\t12\n\t],\n\t\"./zh-cn/tab.md\": [\n\t\t149,\n\t\t11\n\t],\n\t\"./zh-cn/table.md\": [\n\t\t150,\n\t\t10\n\t],\n\t\"./zh-cn/tag.md\": [\n\t\t151,\n\t\t9\n\t],\n\t\"./zh-cn/text-field.md\": [\n\t\t152,\n\t\t8\n\t],\n\t\"./zh-cn/theme.md\": [\n\t\t153,\n\t\t7\n\t],\n\t\"./zh-cn/to.md\": [\n\t\t154,\n\t\t6\n\t],\n\t\"./zh-cn/toast.md\": [\n\t\t155,\n\t\t5\n\t],\n\t\"./zh-cn/top-app-bar.md\": [\n\t\t156,\n\t\t4\n\t],\n\t\"./zh-cn/transfer-list.md\": [\n\t\t157,\n\t\t3\n\t],\n\t\"./zh-cn/transition.md\": [\n\t\t158,\n\t\t2\n\t],\n\t\"./zh-cn/tree.md\": [\n\t\t159,\n\t\t1\n\t],\n\t\"./zh-cn/typography.md\": [\n\t\t160,\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 36;\nmodule.exports = webpackAsyncContext;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs lazy ^\\.\\/.*\\.md$\n// module id = 36\n// module chunks = 124 125","'use strict';\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n require('promise/lib/rejection-tracking').enable();\n window.Promise = require('promise/lib/es6-extensions.js');\n}\n\n// fetch() polyfill for making API calls.\nrequire('whatwg-fetch');\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = require('object-assign');\n\n// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif (process.env.NODE_ENV === 'test') {\n require('raf').polyfill(global);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./config/polyfills.js","'use strict';\n\nvar Promise = require('./core');\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/rejection-tracking.js","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/asap/browser-raw.js","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/es6-extensions.js","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/whatwg-fetch/fetch.js","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/object-assign/index.js"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/cn.eb488e02.js","../webpack/bootstrap e68d10b426e26f711201","../node_modules/omio/dist/omi.esm.js","../node_modules/css-loader/lib/css-base.js","elements/my-frame.js","elements/my-head/index.js","elements/my-head/omi-logo2019.svg","elements/my-head/menu.png","webpack:///./src/elements/my-head/_index.css?911a","elements/my-head/_index.css","cn.js","elements/my-content/index.js","elements/my-footer/index.js","webpack:///./src/elements/my-footer/_index.css?4020","../node_modules/webpack/buildin/global.js","elements/my-footer/_index.css","webpack:///./src/elements/my-content/_index.css?ea33","elements/my-content/_index.css","elements/my-sidebar/index.js","elements/my-list/index.js","webpack:///./src/elements/my-list/_index.css?7382","elements/my-list/_index.css","webpack:///./src/elements/my-sidebar/_index.css?a491","elements/my-sidebar/_index.css","elements/my-demo/index.js","../node_modules/promise/lib/core.js","webpack:///./src/elements/my-demo/_index.css?fba4","elements/my-demo/_index.css","store/index.js","docs/config.js","../node_modules/omi-router/index.js","../node_modules/path-to-regexp/index.js","docs lazy /^/.//.*/.md$","../config/polyfills.js","../node_modules/promise/lib/rejection-tracking.js","../node_modules/asap/browser-raw.js","../node_modules/promise/lib/es6-extensions.js","../node_modules/whatwg-fetch/fetch.js","../node_modules/object-assign/index.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","parentJsonpFunction","window","chunkIds","moreModules","executeModules","chunkId","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","shift","125","e","onScriptComplete","script","onerror","onload","clearTimeout","timeout","chunk","Error","undefined","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","createElement","type","charset","async","nc","setAttribute","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","setTimeout","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error","s","global","VNode","h","nodeName","attributes","lastSimple","child","simple","children","arguments","stack","pop","String","key","options","vnode","toObject","val","TypeError","assign","target","source","from","symbols","to","getOwnPropertySymbols","propIsEnumerable","extend","obj","props","applyRef","ref","value","current","isArray","toString","nProps","result","keys","forEach","getUse","data","paths","path","index","getTargetByPath","tempPath","tempVal","args","apply","origin","arr","replace","split","len","cloneElement","slice","enqueueRender","component","items","debounceRendering","defer","rerender","renderComponent","isSameNodeType","node","hydrating","splitText","ctor","mapping","_componentConstructor","isNamedNode","normalizedNodeName","toLowerCase","getNodeProps","defaultProps","createNode","isSvg","doc","createElementNS","parseCSSText","cssText","cssTxt","style","_ref","match","a","b","rule","properties","map","x","trim","Array","Symbol","iterator","_ref3","next","done","_ref2","toUpperCase","removeNode","parentNode","removeChild","setAccessor","old","isWeb","_typeof","IS_NON_DIMENSIONAL$1","test","oldJson","currentJson","changed","ckey","setStyles","innerHTML","__html","useCapture","substring","addEventListener","eventProxy","touchStart","touchEnd","removeEventListener","_listeners","setProperty","removeAttribute","ns","removeAttributeNS","setAttributeNS","className","this","event","___touchX","touches","pageX","___touchY","pageY","___scrollTop","body","scrollTop","Math","abs","changedTouches","dispatchEvent","CustomEvent","detail","getCtorName","styleCache","item","attrName","styleId","scoper","css","prefix","re","RegExp","g0","g1","g2","g3","addStyle","id","ele","getElementById","someThingStyles","ActiveXObject","styleSheet","textContent","addStyleWithoutId","addScopedAttrStatic","vdom","attr","scopedStyle","scopeVdom","addStyleToHead","staticStyleMapping","scopeHost","flushMounts","mounts","afterMount","installed","constructor","diff","dom","context","mountAll","parent","componentRoot","diffLevel","isSvgMode","ownerSVGElement","ret","idiff","out","prevSvgMode","vnodeName","buildComponentFromVNode","_component","nodeValue","createTextNode","replaceChild","recollectNodeTree","firstChild","fc","vchildren","nextSibling","innerDiffNode","dangerouslySetInnerHTML","diffAttributes","isHydrating","j","f","vchild","originalChildren","childNodes","keyed","keyedLen","min","childrenLen","vlen","_child","__key","insertBefore","unmountOnly","unmountComponent","removeChildren","lastChild","previousSibling","attrs","define","use","updatePath","getPath","getUpdatePath","dataToPath","_objToPath","_arrayToPath","collectComponent","components","createComponent","Ctor","inst","list","render","Component","doRender","scopedCssAttr","store","instances","initUse","_updatePath","nextBase","splice","fireTick","callbacks","fn","scope","nextTickCallback","nextItem","proxyUpdate","obaa","_willUpdate","mergeUpdate","update","setComponentProps","opts","_disable","__ref","base","beforeInstall","install","observe","receiveProps","prevContext","prevProps","syncComponentUpdates","shallowComparison","isChild","rendered","cbase","previousProps","previousState","prevState","previousContext","isUpdate","initialBase","initialChildComponent","skip","beforeUpdate","beforeRender","getChildContext","toUnmount","childComponent","childProps","_parentComponent","baseParent","componentRef","t","unshift","afterUpdate","updated","_renderCallbacks","originalComponent","oldDom","isDirectOwner","isOwner","beforeUnmount","uninstall","inner","_classCallCheck","instance","Constructor","empty","merge","querySelector","obsStore","extendStoreUpate","prop","patchs","fixPath","patch","_this","updateAll","matchGlobalData","globalData","needUpdate","onChange","diffResult","keyA","indexOf","includePath","keyB","pathA","pathB","substr","mpPath","isNaN","Number","rpx","str","innerWidth","tag","_classCallCheck$1","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","writable","setPrototypeOf","__proto__","classNames","classes","arg","argType","hasOwn","join","extractClass","_Array$prototype$slic","class","getHost","styleObjToCss","JS_TO_CSS","IS_NON_DIMENSIONAL","renderToString","scopedCSS","html","_renderToString","values","isComponent","pretty","indentChar","encodeEntities","mapping$1","getNodeProps$1","__x","cssStr","cssAttr","scopedCSSAttr","sortAttributes","sort","v","allAttributes","hooked","attributeHook","xml","sub","isVoid","VOID_ELEMENTS","pieces","isLargeString","indent","hasLarge","childSvgMode","assign$1","htm","r","createRef","root","propertyIsEnumerable","Element","runListeners","oEvent","iLstId","iElId","oEvtListeners","oListeners","aEls","aEvts","sEventType","fListener","nElIdx","aElListeners","proto","propertiesObject","F","usePromise","__config__","platform","systemVersion","then","bind","callback","_observe","$observer","eventPropArr","$observeProps","$observerPath","mock","isInArray","watch","isString","propertyChangedHandler","propChanged","all","onPropertyChanged","oldValue","rootName","_getRootName","handler","methods","triggerStr","cprop","isFunction","currentValue","set","add","exec","size","elementId","_preCss","componentChange","fire","every","is","ModelView","_Component","vm","char","ignoreLines","u","Map","WeElement","defineElement","Omi","omi","version","default","cssWithMappingToString","useSourceMap","content","cssMapping","btoa","sourceMapping","toComment","concat","sources","sourceRoot","sourceMap","unescape","encodeURIComponent","JSON","stringify","mediaQuery","alreadyImportedModules","_createClass","defineProperties","descriptor","protoProps","staticProps","_omi","_WeElement","_class","getPrototypeOf","init","_temp2","_omiLogo","_omiLogo2","_temp","_ret","_len","_key","toggleMenus","evt","toogleSidebar","stopPropagation","hideSidebar","onClick","require","alt","href","logo","lan","location","hash","161","162","_store","_store2","Store","myContent","initCodeStyle","codes","querySelectorAll","codesArr","code","pre","temp","Prism","highlight","innerText","languages","markup","Event","numArr","tempArr","begin","end","ontouchend","_slicedToArray","sliceIterator","_arr","_n","_d","_e","_s","_i","_use","getPre","getNext","md","subIndex","g","Function","eval","menus","sideBarShow","menu","_extends","position","title","cls","_index","_index2","_class2","toggle","show","myDemo","checkPc","demo","userAgentInfo","navigator","userAgent","mp","innerHeight","viewBox","data-icon","width","height","fill","aria-hidden","focusable","noop","getThen","ex","LAST_ERROR","IS_ERROR","tryCallOne","tryCallTwo","_75","_83","_18","_38","doResolve","safeThen","onFulfilled","onRejected","res","handle","Handler","deferred","_47","handleResolved","asap","cb","newValue","finale","_71","reason","_44","_config","_config2","config","positionMap","preIndex","preSubIndex","_this2","remarkable","Remarkable","getMarkDown","initRouter","_this3","subItem","route","selected","query","documentElement","zh-cn","en","change","byNative","history","historyLength","_routeByTo","prevent","before","notFound","toArr","reg","pathArr","params","getParams","getUrlParams","after","p2r","url","queryArray","decodeURIComponent","parse","tokens","defaultDelimiter","delimiter","DEFAULT_DELIMITER","delimiters","DEFAULT_DELIMITERS","pathEscaped","PATH_REGEXP","escaped","offset","prev","capture","group","modifier","k","partial","repeat","optional","pattern","escapeGroup","escapeString","compile","tokensToFunction","matches","encode","token","segment","flags","sensitive","regexpToRegexp","groups","arrayToRegexp","parts","pathToRegexp","stringToRegexp","tokensToRegExp","strict","start","endsWith","isEndDelimited","webpackAsyncContext","req","ids","./en/action-sheet.md","./en/avatar.md","./en/badge.md","./en/bar-line.md","./en/bar.md","./en/breadcrumb.md","./en/bubble.md","./en/button.md","./en/card.md","./en/checkbox.md","./en/chips.md","./en/color-picker.md","./en/date-time-picker.md","./en/dialog.md","./en/doughnut.md","./en/drawer.md","./en/editor.md","./en/elevation.md","./en/fab.md","./en/icon-button.md","./en/icon.md","./en/image-list.md","./en/introduction-chart.md","./en/introduction.md","./en/layout-grid.md","./en/line.md","./en/linear-progress.md","./en/list.md","./en/loading.md","./en/menu.md","./en/nav.md","./en/pagination.md","./en/paper.md","./en/path-progress.md","./en/picker.md","./en/pie.md","./en/polar-area.md","./en/popover.md","./en/radar.md","./en/radio.md","./en/rate.md","./en/row.md","./en/scatter.md","./en/select.md","./en/simple-card.md","./en/slider.md","./en/snackbar.md","./en/spreadsheet.md","./en/step.md","./en/switch.md","./en/tab.md","./en/table.md","./en/tag.md","./en/text-field.md","./en/theme.md","./en/to.md","./en/toast.md","./en/top-app-bar.md","./en/transfer-list.md","./en/transition.md","./en/tree.md","./en/typography.md","./zh-cn/action-sheet.md","./zh-cn/avatar.md","./zh-cn/badge.md","./zh-cn/bar-line.md","./zh-cn/bar.md","./zh-cn/breadcrumb.md","./zh-cn/bubble.md","./zh-cn/button.md","./zh-cn/card.md","./zh-cn/checkbox.md","./zh-cn/chips.md","./zh-cn/color-picker.md","./zh-cn/date-time-picker.md","./zh-cn/dialog.md","./zh-cn/doughnut.md","./zh-cn/drawer.md","./zh-cn/editor.md","./zh-cn/elevation.md","./zh-cn/fab.md","./zh-cn/icon-button.md","./zh-cn/icon.md","./zh-cn/image-list.md","./zh-cn/introduction-chart.md","./zh-cn/introduction.md","./zh-cn/layout-grid.md","./zh-cn/line.md","./zh-cn/linear-progress.md","./zh-cn/list.md","./zh-cn/loading.md","./zh-cn/menu.md","./zh-cn/nav.md","./zh-cn/pagination.md","./zh-cn/paper.md","./zh-cn/path-progress.md","./zh-cn/picker.md","./zh-cn/pie.md","./zh-cn/polar-area.md","./zh-cn/popover.md","./zh-cn/radar.md","./zh-cn/radio.md","./zh-cn/rate.md","./zh-cn/row.md","./zh-cn/scatter.md","./zh-cn/select.md","./zh-cn/simple-card.md","./zh-cn/slider.md","./zh-cn/snackbar.md","./zh-cn/spreadsheet.md","./zh-cn/step.md","./zh-cn/switch.md","./zh-cn/tab.md","./zh-cn/table.md","./zh-cn/tag.md","./zh-cn/text-field.md","./zh-cn/theme.md","./zh-cn/to.md","./zh-cn/toast.md","./zh-cn/top-app-bar.md","./zh-cn/transfer-list.md","./zh-cn/transition.md","./zh-cn/tree.md","./zh-cn/typography.md","enable","disable","enabled","onUnhandled","allRejections","matchWhitelist","rejections","whitelist","DEFAULT_WHITELIST","displayId","logged","logError","onHandled","warn","_56","line","some","RangeError","rawAsap","task","queue","requestFlush","flushing","flush","currentIndex","capacity","scan","newLength","makeRequestCallFromTimer","handleTimer","timeoutHandle","clearInterval","intervalHandle","setInterval","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","observer","characterData","valuePromise","TRUE","FALSE","NULL","UNDEFINED","ZERO","EMPTYSTRING","remaining","race","normalizeName","normalizeValue","iteratorFor","support","iterable","Headers","headers","append","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","view","Uint8Array","chars","fromCharCode","bufferClone","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","Blob","isPrototypeOf","_bodyBlob","formData","FormData","_bodyFormData","searchParams","URLSearchParams","arrayBuffer","isDataView","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","rejected","text","decode","json","normalizeMethod","method","upcased","Request","input","credentials","mode","referrer","form","bytes","parseHeaders","rawHeaders","Response","bodyInit","status","ok","statusText","fetch","viewClasses","DataView","isView","has","thisArg","entries","clone","response","redirectStatuses","redirect","request","xhr","XMLHttpRequest","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","send","polyfill","test1","test2","test3","letter"],"mappings":"CAAS,SAAUA,GCkCnB,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAI,EAAAJ,EACAK,GAAA,EACAH,WAUA,OANAJ,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,GAGAI,EAAAE,GAAA,EAGAF,EAAAD,QArDA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,GAAAX,GAAAY,EAAAR,EAAA,EAAAS,KACQT,EAAAK,EAAAK,OAAoBV,IAC5BQ,EAAAH,EAAAL,GACAW,EAAAH,IACAC,EAAAG,KAAAD,EAAAH,GAAA,IAEAG,EAAAH,GAAA,CAEA,KAAAZ,IAAAU,GACAO,OAAAC,UAAAC,eAAAb,KAAAI,EAAAV,KACAF,EAAAE,GAAAU,EAAAV,GAIA,KADAO,KAAAE,EAAAC,EAAAC,GACAE,EAAAC,QACAD,EAAAO,UAMA,IAAAnB,MAGAc,GACAM,IAAA,EA6BAtB,GAAAuB,EAAA,SAAAV,GA+BA,QAAAW,KAEAC,EAAAC,QAAAD,EAAAE,OAAA,KACAC,aAAAC,EACA,IAAAC,GAAAd,EAAAH,EACA,KAAAiB,IACAA,GACAA,EAAA,MAAAC,OAAA,iBAAAlB,EAAA,aAEAG,EAAAH,OAAAmB,IAvCA,GAAAC,GAAAjB,EAAAH,EACA,QAAAoB,EACA,UAAAC,SAAA,SAAAC,GAA0CA,KAI1C,IAAAF,EACA,MAAAA,GAAA,EAIA,IAAAG,GAAA,GAAAF,SAAA,SAAAC,EAAAE,GACAJ,EAAAjB,EAAAH,IAAAsB,EAAAE,IAEAJ,GAAA,GAAAG,CAGA,IAAAE,GAAAC,SAAAC,qBAAA,WACAf,EAAAc,SAAAE,cAAA,SACAhB,GAAAiB,KAAA,kBACAjB,EAAAkB,QAAA,QACAlB,EAAAmB,OAAA,EACAnB,EAAAI,QAAA,KAEA7B,EAAA6C,IACApB,EAAAqB,aAAA,QAAA9C,EAAA6C,IAEApB,EAAAsB,IAAA/C,EAAAgD,EAAA,iBAA0DnC,OAAA,KAA6BoC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAA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AEAC,gBACA,GACA,IAEAC,kBACA,GACA,IAEAC,eACA,GACA,IAEAC,iBACA,GACA,IAEAC,eACA,GACA,IAEAC,sBACA,GACA,IAEAC,iBACA,GACA,IAEAC,cACA,GACA,IAEAC,iBACA,GACA,IAEAC,uBACA,GACA,IAEAC,yBACA,GACA,IAEAC,sBACA,GACA,IAEAC,gBACA,GACA,IAEAC,sBACA,GACA,IAEAC,2BACA,GACA,IAEAC,qBACA,IACA,IAEAC,oBACA,IACA,IAEAC,uBACA,IACA,IAEAC,kBACA,IACA,IAEAC,yBACA,IACA,IAEAC,qBACA,IACA,IAEAC,qBACA,IACA,IAEAC,mBACA,IACA,IAEAC,uBACA,IACA,IAEAC,oBACA,IACA,IAEAC,2BACA,IACA,IAEAC,+BACA,IACA,IAEAC,qBACA,IACA,IAEAC,uBACA,IACA,IAEAC,qBACA,IACA,IAEAC,qBACA,IACA,IAEAC,wBACA,IACA,IAEAC,kBACA,IACA,IAEAC,0BACA,IACA,IAEAC,mBACA,IACA,IAEAC,yBACA,IACA,IAEAC,iCACA,IACA,IAEAC,2BACA,IACA,IAEAC,0BACA,IACA,IAEAC,mBACA,IACA,IAEAC,8BACA,IACA,IAEAC,mBACA,IACA,IAEAC,sBACA,IACA,IAEAC,mBACA,IACA,IAEAC,kBACA,IACA,IAEAC,yBACA,IACA,IAEAC,oBACA,IACA,IAEAC,4BACA,IACA,IAEAC,qBACA,IACA,IAEAC,kBACA,IACA,IAEAC,yBACA,IACA,IAEAC,sBACA,IACA,IAEAC,oBACA,IACA,IAEAC,oBACA,IACA,IAEAC,mBACA,IACA,IAEAC,kBACA,IACA,IAEAC,sBACA,IACA,IAEAC,qBACA,IACA,IAEAC,0BACA,IACA,IAEAC,qBACA,IACA,IAEAC,uBACA,IACA,IAEAC,0BACA,IACA,IAEAC,mBACA,IACA,IAEAC,qBACA,IACA,IAEAC,kBACA,IACA,IAEAC,oBACA,IACA,IAEAC,kBACA,IACA,GAEAC,yBACA,IACA,GAEAC,oBACA,IACA,GAEAC,iBACA,IACA,GAEAC,oBACA,IA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","file":"static/js/cn.eb488e02.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId]) {\n/******/ \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n/******/ \t\t\t}\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n/******/ \t\twhile(resolves.length) {\n/******/ \t\t\tresolves.shift()();\n/******/ \t\t}\n/******/\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// objects to store loaded and loading chunks\n/******/ \tvar installedChunks = {\n/******/ \t\t125: 0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\tvar installedChunkData = installedChunks[chunkId];\n/******/ \t\tif(installedChunkData === 0) {\n/******/ \t\t\treturn new Promise(function(resolve) { resolve(); });\n/******/ \t\t}\n/******/\n/******/ \t\t// a Promise means \"currently loading\".\n/******/ \t\tif(installedChunkData) {\n/******/ \t\t\treturn installedChunkData[2];\n/******/ \t\t}\n/******/\n/******/ \t\t// setup Promise in chunk cache\n/******/ \t\tvar promise = new Promise(function(resolve, reject) {\n/******/ \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n/******/ \t\t});\n/******/ \t\tinstalledChunkData[2] = promise;\n/******/\n/******/ \t\t// start chunk loading\n/******/ \t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\tvar script = document.createElement('script');\n/******/ \t\tscript.type = 'text/javascript';\n/******/ \t\tscript.charset = 'utf-8';\n/******/ \t\tscript.async = true;\n/******/ \t\tscript.timeout = 120000;\n/******/\n/******/ \t\tif (__webpack_require__.nc) {\n/******/ \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n/******/ \t\t}\n/******/ \t\tscript.src = __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"0\":\"68c12e8d\",\"1\":\"759c1ca5\",\"2\":\"5da46b4f\",\"3\":\"424ee7ae\",\"4\":\"8f014cf8\",\"5\":\"d99c8a5e\",\"6\":\"beace45d\",\"7\":\"485dc0c0\",\"8\":\"7c8e5167\",\"9\":\"454f9913\",\"10\":\"a55f66f8\",\"11\":\"828ab9c2\",\"12\":\"6493ac19\",\"13\":\"bd46662f\",\"14\":\"c564f4f5\",\"15\":\"0ad3ce9e\",\"16\":\"64eea67b\",\"17\":\"911d59a3\",\"18\":\"3a59bf17\",\"19\":\"1cb285fb\",\"20\":\"63bdf696\",\"21\":\"21057d15\",\"22\":\"a5edb9e4\",\"23\":\"3345eab8\",\"24\":\"f4c78202\",\"25\":\"b146659a\",\"26\":\"311eb972\",\"27\":\"18354e09\",\"28\":\"eb1f164c\",\"29\":\"a5d00496\",\"30\":\"c8b7e142\",\"31\":\"fb1f2749\",\"32\":\"8c43e92b\",\"33\":\"6ef29d4e\",\"34\":\"eed9267e\",\"35\":\"530004da\",\"36\":\"84601bbf\",\"37\":\"85d026c3\",\"38\":\"feb89c19\",\"39\":\"221cbf16\",\"40\":\"c21360b5\",\"41\":\"cb75788c\",\"42\":\"21c0d3d5\",\"43\":\"3bac18ea\",\"44\":\"8bc80906\",\"45\":\"2a88466d\",\"46\":\"8e4cc305\",\"47\":\"1fa3737f\",\"48\":\"c6b3bb91\",\"49\":\"77859d35\",\"50\":\"108a5256\",\"51\":\"49566405\",\"52\":\"10fd2f1c\",\"53\":\"17e4b19f\",\"54\":\"83fe6204\",\"55\":\"dde20276\",\"56\":\"fc53502d\",\"57\":\"120d630f\",\"58\":\"2162a17b\",\"59\":\"6c9f85cd\",\"60\":\"8daa8271\",\"61\":\"34d584e8\",\"62\":\"d1425fa2\",\"63\":\"9c777607\",\"64\":\"3974c3b5\",\"65\":\"dff2a8fb\",\"66\":\"f8c55b42\",\"67\":\"4bdfe795\",\"68\":\"e7a3183f\",\"69\":\"c9175fe8\",\"70\":\"dcfc2032\",\"71\":\"068d5018\",\"72\":\"12043964\",\"73\":\"8e57cc1c\",\"74\":\"9626352e\",\"75\":\"e8f3fcfb\",\"76\":\"3f2d8c5c\",\"77\":\"e6a42ed6\",\"78\":\"9600d7d9\",\"79\":\"5c7a178d\",\"80\":\"06e7feaa\",\"81\":\"775f9ba6\",\"82\":\"67abc511\",\"83\":\"5f6ef24c\",\"84\":\"1498ca01\",\"85\":\"cfe7f665\",\"86\":\"a77fd66f\",\"87\":\"d7b52ba6\",\"88\":\"7be09236\",\"89\":\"e8d7dee0\",\"90\":\"bb267610\",\"91\":\"4ce2659f\",\"92\":\"ef19e972\",\"93\":\"9c4e9b3a\",\"94\":\"22c3777e\",\"95\":\"4d31338b\",\"96\":\"18491fd0\",\"97\":\"d49f1382\",\"98\":\"f4b83ca0\",\"99\":\"5a70fd4c\",\"100\":\"a34f51ad\",\"101\":\"8766f7bb\",\"102\":\"ac3be313\",\"103\":\"c72365da\",\"104\":\"f2217ba6\",\"105\":\"cb506b6c\",\"106\":\"584bbeb0\",\"107\":\"9e5af966\",\"108\":\"ac7d5acc\",\"109\":\"50839a1c\",\"110\":\"5437dcda\",\"111\":\"f40ed45c\",\"112\":\"fc30f62e\",\"113\":\"20ede2ba\",\"114\":\"f65bf497\",\"115\":\"d7db9c10\",\"116\":\"ebdfd097\",\"117\":\"b52978d5\",\"118\":\"a85e99e9\",\"119\":\"21303178\",\"120\":\"6306416b\",\"121\":\"8dadbfdb\",\"122\":\"311401ac\",\"123\":\"8bcc4836\"}[chunkId] + \".chunk.js\";\n/******/ \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n/******/ \t\tscript.onerror = script.onload = onScriptComplete;\n/******/ \t\tfunction onScriptComplete() {\n/******/ \t\t\t// avoid mem leaks in IE.\n/******/ \t\t\tscript.onerror = script.onload = null;\n/******/ \t\t\tclearTimeout(timeout);\n/******/ \t\t\tvar chunk = installedChunks[chunkId];\n/******/ \t\t\tif(chunk !== 0) {\n/******/ \t\t\t\tif(chunk) {\n/******/ \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n/******/ \t\t\t\t}\n/******/ \t\t\t\tinstalledChunks[chunkId] = undefined;\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t\thead.appendChild(script);\n/******/\n/******/ \t\treturn promise;\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// on error function for async loading\n/******/ \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 161);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {Object.defineProperty(exports,\"__esModule\",{value:true});var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};/**\n * omi v2.2.1 http://omijs.org\n * Omi === Preact + Scoped CSS + Store System + Native Support in 3kb javascript.\n * By dntzhang https://github.com/dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n *//** Virtual DOM Node */function VNode(){}function getGlobal(){if((typeof global==='undefined'?'undefined':_typeof(global))!=='object'||!global||global.Math!==Math||global.Array!==Array){if(typeof self!=='undefined'){return self;}else if(typeof window!=='undefined'){return window;}else if(typeof global!=='undefined'){return global;}return function(){return this;}();}return global;}/** Global options\n *\t@public\n *\t@namespace options {Object}\n */var options={scopedStyle:true,mapping:{},isWeb:true,staticStyleMapping:{},doc:(typeof document==='undefined'?'undefined':_typeof(document))==='object'?document:null,root:getGlobal(),//styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]\nstyleCache:[]//componentChange(component, element) { },\n/** If `true`, `prop` changes trigger synchronous component updates.\n *\t@name syncComponentUpdates\n *\t@type Boolean\n *\t@default true\n *///syncComponentUpdates: true,\n/** Processes all created VNodes.\n *\t@param {VNode} vnode\tA newly-created VNode to normalize/process\n *///vnode(vnode) { }\n/** Hook invoked after a component is mounted. *///afterMount(component) { },\n/** Hook invoked after the DOM is updated with a component's latest render. *///afterUpdate(component) { }\n/** Hook invoked immediately before a component is unmounted. */// beforeUnmount(component) { }\n};var stack=[];/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation\n * of the structure of a DOM tree. This structure can be realized by recursively comparing it against\n * the current _actual_ DOM structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `Hello!
`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */function h(nodeName,attributes){var children=[],lastSimple,child,simple,i;for(i=arguments.length;i-->2;){stack.push(arguments[i]);}if(attributes&&attributes.children!=null){if(!stack.length)stack.push(attributes.children);delete attributes.children;}while(stack.length){if((child=stack.pop())&&child.pop!==undefined){for(i=child.length;i--;){stack.push(child[i]);}}else{if(typeof child==='boolean')child=null;if(simple=typeof nodeName!=='function'){if(child==null)child='';else if(typeof child==='number')child=String(child);else if(typeof child!=='string')simple=false;}if(simple&&lastSimple){children[children.length-1]+=child;}else if(children.length===0){children=[child];}else{children.push(child);}lastSimple=simple;}}var p=new VNode();p.nodeName=nodeName;p.children=children;p.attributes=attributes==null?undefined:attributes;p.key=attributes==null?undefined:attributes.key;// if a \"vnode hook\" is defined, pass every created VNode to it\nif(options.vnode!==undefined)options.vnode(p);return p;}/* eslint-disable no-unused-vars */var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');}return Object(val);}function assign(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s8){usePromise=true;}}}var defer=usePromise?Promise.resolve().then.bind(Promise.resolve()):setTimeout;function isArray(obj){return Object.prototype.toString.call(obj)==='[object Array]';}function nProps(props){if(!props||isArray(props))return{};var result={};Object.keys(props).forEach(function(key){result[key]=props[key].value;});return result;}function getUse(data,paths){var obj=[];paths.forEach(function(path,index){var isPath=typeof path==='string';if(isPath){obj[index]=getTargetByPath(data,path);}else{var key=Object.keys(path)[0];var value=path[key];if(typeof value==='string'){obj[index]=getTargetByPath(data,value);}else{var tempPath=value[0];if(typeof tempPath==='string'){var tempVal=getTargetByPath(data,tempPath);obj[index]=value[1]?value[1](tempVal):tempVal;}else{var args=[];tempPath.forEach(function(path){args.push(getTargetByPath(data,path));});obj[index]=value[1].apply(null,args);}}obj[key]=obj[index];}});return obj;}function getTargetByPath(origin,path){var arr=path.replace(/]/g,'').replace(/\\[/g,'.').split('.');var current=origin;for(var i=0,len=arr.length;i2?[].slice.call(arguments,2):vnode.children);}// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL$1=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;/** Managed queue of dirty components to be re-rendered */var items=[];function enqueueRender(component){if(items.push(component)==1){(options.debounceRendering||defer)(rerender);}}/** Rerender all enqueued dirty components */function rerender(){var p;while(p=items.pop()){renderComponent(p);}}var mapping=options.mapping;/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */function isSameNodeType(node,vnode,hydrating){if(typeof vnode==='string'||typeof vnode==='number'){return node.splitText!==undefined;}if(typeof vnode.nodeName==='string'){var ctor=mapping[vnode.nodeName];if(ctor){return hydrating||node._componentConstructor===ctor;}return!node._componentConstructor&&isNamedNode(node,vnode.nodeName);}return hydrating||node._componentConstructor===vnode.nodeName;}/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */function isNamedNode(node,nodeName){return node.normalizedNodeName===nodeName||node.nodeName.toLowerCase()===nodeName.toLowerCase();}/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */function getNodeProps(vnode){var props=extend({},vnode.attributes);props.children=vnode.children;var defaultProps=vnode.nodeName.defaultProps;if(defaultProps!==undefined){for(var i in defaultProps){if(props[i]===undefined){props[i]=defaultProps[i];}}}return props;}/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */function createNode(nodeName,isSvg){var node=isSvg?options.doc.createElementNS('http://www.w3.org/2000/svg',nodeName):options.doc.createElement(nodeName);node.normalizedNodeName=nodeName;return node;}function parseCSSText(cssText){var cssTxt=cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g,' ').replace(/\\s+/g,' ');var style={},_ref=cssTxt.match(/ ?(.*?) ?{([^}]*)}/)||[a,b,cssTxt],a=_ref[0],b=_ref[1],rule=_ref[2];var cssToJs=function cssToJs(s){return s.replace(/\\W+\\w/g,function(match){return match.slice(-1).toUpperCase();});};var properties=rule.split(';').map(function(o){return o.split(':').map(function(x){return x&&x.trim();});});for(var i=properties,i=Array.isArray(i),i=0,i=i?i:i[Symbol.iterator]();;){var _ref3;if(i){if(i>=i.length)break;_ref3=i[i++];}else{i=i.next();if(i.done)break;_ref3=i.value;}var _ref2=_ref3;var property=_ref2[0];var value=_ref2[1];style[cssToJs(property)]=value;}return style;}/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */function removeNode(node){var parentNode=node.parentNode;if(parentNode)parentNode.removeChild(node);}/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */function setAccessor(node,name,old,value,isSvg){if(name==='className')name='class';if(name==='key'){// ignore\n}else if(name==='ref'){applyRef(old,null);applyRef(value,node);}else if(name==='class'&&!isSvg){node.className=value||'';}else if(name==='style'){if(options.isWeb){if(!value||typeof value==='string'||typeof old==='string'){node.style.cssText=value||'';}if(value&&(typeof value==='undefined'?'undefined':_typeof(value))==='object'){if(typeof old!=='string'){for(var i in old){if(!(i in value))node.style[i]='';}}for(var i in value){node.style[i]=typeof value[i]==='number'&&IS_NON_DIMENSIONAL$1.test(i)===false?value[i]+'px':value[i];}}}else{var oldJson=old,currentJson=value;if(typeof old==='string'){oldJson=parseCSSText(old);}if(typeof value=='string'){currentJson=parseCSSText(value);}var result={},changed=false;if(oldJson){for(var key in oldJson){if((typeof currentJson==='undefined'?'undefined':_typeof(currentJson))=='object'&&!(key in currentJson)){result[key]='';changed=true;}}for(var ckey in currentJson){if(currentJson[ckey]!==oldJson[ckey]){result[ckey]=currentJson[ckey];changed=true;}}if(changed){node.setStyles(result);}}else{node.setStyles(currentJson);}}}else if(name==='dangerouslySetInnerHTML'){if(value)node.innerHTML=value.__html||'';}else if(name[0]=='o'&&name[1]=='n'){var useCapture=name!==(name=name.replace(/Capture$/,''));name=name.toLowerCase().substring(2);if(value){if(!old){node.addEventListener(name,eventProxy,useCapture);if(name=='tap'){node.addEventListener('touchstart',touchStart,useCapture);node.addEventListener('touchend',touchEnd,useCapture);}}}else{node.removeEventListener(name,eventProxy,useCapture);if(name=='tap'){node.removeEventListener('touchstart',touchStart,useCapture);node.removeEventListener('touchend',touchEnd,useCapture);}}(node._listeners||(node._listeners={}))[name]=value;}else if(name!=='list'&&name!=='type'&&!isSvg&&name in node){setProperty(node,name,value==null?'':value);if(value==null||value===false)node.removeAttribute(name);}else{var ns=isSvg&&name!==(name=name.replace(/^xlink:?/,''));if(value==null||value===false){if(ns)node.removeAttributeNS('http://www.w3.org/1999/xlink',name.toLowerCase());else node.removeAttribute(name);}else if(typeof value!=='function'){if(ns)node.setAttributeNS('http://www.w3.org/1999/xlink',name.toLowerCase(),value);else node.setAttribute(name,value);}}}/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */function setProperty(node,name,value){try{node[name]=value;}catch(e){}}/** Proxy an event to hooked event handlers\n *\t@private\n */function eventProxy(e){return this._listeners[e.type](options.event&&options.event(e)||e);}function touchStart(e){this.___touchX=e.touches[0].pageX;this.___touchY=e.touches[0].pageY;this.___scrollTop=document.body.scrollTop;}function touchEnd(e){if(Math.abs(e.changedTouches[0].pageX-this.___touchX)<30&&Math.abs(e.changedTouches[0].pageY-this.___touchY)<30&&Math.abs(document.body.scrollTop-this.___scrollTop)<30){this.dispatchEvent(new CustomEvent('tap',{detail:e}));}}var styleId=0;function getCtorName(ctor){for(var i=0,len=options.styleCache.length;i-1;){if(item===arr[i])return true;}return false;};obaa.isFunction=function(obj){return Object.prototype.toString.call(obj)=='[object Function]';};obaa._getRootName=function(prop,path){if(path==='#'){return prop;}return path.split('-')[1];};obaa.add=function(obj,prop){var $observer=obj.$observer;$observer.watch(obj,prop);};obaa.set=function(obj,prop,value,exec){if(!exec){obj[prop]=value;}var $observer=obj.$observer;$observer.watch(obj,prop);if(exec){obj[prop]=value;}};Array.prototype.size=function(length){this.length=length;};var callbacks=[];var nextTickCallback=[];function fireTick(){callbacks.forEach(function(item){item.fn.call(item.scope);});nextTickCallback.forEach(function(nextItem){nextItem.fn.call(nextItem.scope);});nextTickCallback.length=0;}function proxyUpdate(ele){var timeout=null;obaa(ele.data,function(){if(ele._willUpdate){return;}if(ele.constructor.mergeUpdate){clearTimeout(timeout);timeout=setTimeout(function(){ele.update();fireTick();},0);}else{ele.update();fireTick();}});}/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */function setComponentProps(component,props,opts,context,mountAll){if(component._disable)return;component._disable=true;if(component.__ref=props.ref)delete props.ref;if(component.__key=props.key)delete props.key;if(!component.base||mountAll){if(component.beforeInstall)component.beforeInstall();if(component.install)component.install();if(component.constructor.observe){proxyUpdate(component);}}else if(component.receiveProps){component.receiveProps(props,component.data,component.props);}if(context&&context!==component.context){if(!component.prevContext)component.prevContext=component.context;component.context=context;}if(!component.prevProps)component.prevProps=component.props;component.props=props;component._disable=false;if(opts!==0){if(opts===1||options.syncComponentUpdates!==false||!component.base){renderComponent(component,1,mountAll);}else{enqueueRender(component);}}applyRef(component.__ref,component);}function shallowComparison(old,attrs){var name;for(name in old){if(attrs[name]==null&&old[name]!=null){return true;}}if(old.children.length>0||attrs.children.length>0){return true;}for(name in attrs){if(name!='children'){var type=_typeof(attrs[name]);if(type=='function'||type=='object'){return true;}else if(attrs[name]!=old[name]){return true;}}}}/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */function renderComponent(component,opts,mountAll,isChild){if(component._disable)return;var props=component.props,data=component.data,context=component.context,previousProps=component.prevProps||props,previousState=component.prevState||data,previousContext=component.prevContext||context,isUpdate=component.base,nextBase=component.nextBase,initialBase=isUpdate||nextBase,initialChildComponent=component._component,skip=false,rendered,inst,cbase;// if updating\nif(isUpdate){component.props=previousProps;component.data=previousState;component.context=previousContext;if(component.store||opts==2||shallowComparison(previousProps,props)){skip=false;if(component.beforeUpdate){component.beforeUpdate(props,data,context);}}else{skip=true;}component.props=props;component.data=data;component.context=context;}component.prevProps=component.prevState=component.prevContext=component.nextBase=null;if(!skip){component.beforeRender&&component.beforeRender();rendered=component.render(props,data,context);//don't rerender\nif(component.constructor.css||component.css){addScopedAttrStatic(rendered,'_s'+getCtorName(component.constructor));}scopeHost(rendered,component.scopedCssAttr);// context to pass to the child, can be updated via (grand-)parent component\nif(component.getChildContext){context=extend(extend({},context),component.getChildContext());}var childComponent=rendered&&rendered.nodeName,toUnmount,base,ctor=options.mapping[childComponent];if(ctor){// set up high order component link\nvar childProps=getNodeProps(rendered);inst=initialChildComponent;if(inst&&inst.constructor===ctor&&childProps.key==inst.__key){setComponentProps(inst,childProps,1,context,false);}else{toUnmount=inst;component._component=inst=createComponent(ctor,childProps,context);inst.nextBase=inst.nextBase||nextBase;inst._parentComponent=component;setComponentProps(inst,childProps,0,context,false);renderComponent(inst,1,mountAll,true);}base=inst.base;}else{cbase=initialBase;// destroy high order component link\ntoUnmount=initialChildComponent;if(toUnmount){cbase=component._component=null;}if(initialBase||opts===1){if(cbase)cbase._component=null;base=diff(cbase,rendered,context,mountAll||!isUpdate,initialBase&&initialBase.parentNode,true);}}if(initialBase&&base!==initialBase&&inst!==initialChildComponent){var baseParent=initialBase.parentNode;if(baseParent&&base!==baseParent){baseParent.replaceChild(base,initialBase);if(!toUnmount){initialBase._component=null;recollectNodeTree(initialBase,false);}}}if(toUnmount){unmountComponent(toUnmount);}component.base=base;if(base&&!isChild){var componentRef=component,t=component;while(t=t._parentComponent){(componentRef=t).base=base;}base._component=componentRef;base._componentConstructor=componentRef.constructor;}}if(!isUpdate||mountAll){mounts.unshift(component);}else if(!skip){// Ensure that pending componentDidMount() hooks of child components\n// are called before the componentDidUpdate() hook in the parent.\n// Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n// flushMounts();\nif(component.afterUpdate){//deprecated\ncomponent.afterUpdate(previousProps,previousState,previousContext);}if(component.updated){component.updated(previousProps,previousState,previousContext);}if(options.afterUpdate)options.afterUpdate(component);}if(component._renderCallbacks!=null){while(component._renderCallbacks.length){component._renderCallbacks.pop().call(component);}}if(!diffLevel&&!isChild)flushMounts();}/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */function buildComponentFromVNode(dom,vnode,context,mountAll){var c=dom&&dom._component,originalComponent=c,oldDom=dom,isDirectOwner=c&&dom._componentConstructor===vnode.nodeName,isOwner=isDirectOwner,props=getNodeProps(vnode);while(c&&!isOwner&&(c=c._parentComponent)){isOwner=c.constructor===vnode.nodeName;}if(c&&isOwner&&(!mountAll||c._component)){setComponentProps(c,props,3,context,mountAll);dom=c.base;}else{if(originalComponent&&!isDirectOwner){unmountComponent(originalComponent);dom=oldDom=null;}c=createComponent(vnode.nodeName,props,context,vnode);if(dom&&!c.nextBase){c.nextBase=dom;// passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\noldDom=null;}setComponentProps(c,props,1,context,mountAll);dom=c.base;if(oldDom&&dom!==oldDom){oldDom._component=null;recollectNodeTree(oldDom,false);}}return dom;}/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */function unmountComponent(component){if(options.beforeUnmount)options.beforeUnmount(component);var base=component.base;component._disable=true;if(component.uninstall)component.uninstall();if(component.store&&component.store.instances){for(var i=0,len=component.store.instances.length;i0){this.instances.forEach(function(instance){if(updateAll||_this.updateAll||instance.constructor.updatePath&&needUpdate(patch,instance.constructor.updatePath)||instance._updatePath&&needUpdate(patch,instance._updatePath)){//update this.use\nif(instance.constructor.use){instance.use=getUse(store.data,instance.constructor.use);}else if(instance.initUse){instance.use=getUse(store.data,instance.initUse());}instance.update();}});this.onChange&&this.onChange(patch);}};}function matchGlobalData(globalData,diffResult){if(!globalData)return false;for(var keyA in diffResult){if(globalData.indexOf(keyA)>-1){return true;}for(var i=0,len=globalData.length;i0){return{'class':classNames.apply(null,args)};}}function getHost(component){var base=component.base;if(base){while(base.parentNode){if(base.parentNode._component){return base.parentNode._component;}else{base=base.parentNode;}}}}/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */var encodeEntities=function encodeEntities(s){return String(s).replace(/&/g,'&').replace(//g,'>').replace(/\"/g,'"');};var indent=function indent(s,char){return String(s).replace(/(\\n+)/g,'$1'+(char||'\\t'));};var mapping$1=options.mapping;var VOID_ELEMENTS=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;var isLargeString=function isLargeString(s,length,ignoreLines){return String(s).length>(length||40)||!ignoreLines&&String(s).indexOf('\\n')!==-1||String(s).indexOf('<')!==-1;};var JS_TO_CSS={};// Convert an Object style to a CSSText string\nfunction styleObjToCss(s){var str='';for(var prop in s){var val=s[prop];if(val!=null){if(str)str+=' ';// str += jsToCss(prop);\nstr+=JS_TO_CSS[prop]||(JS_TO_CSS[prop]=prop.replace(/([A-Z])/g,'-$1').toLowerCase());str+=': ';str+=val;if(typeof val==='number'&&IS_NON_DIMENSIONAL.test(prop)===false){str+='px';}str+=';';}}return str||undefined;}function renderToString(vnode,opts,store,isSvgMode){store=store||{};opts=Object.assign({scopedCSS:true},opts);var css={};var html=_renderToString(vnode,opts,store,isSvgMode,css);return{css:Object.values(css),html:html};}/** The default export is an alias of `render()`. */function _renderToString(vnode,opts,store,isSvgMode,css){if(vnode==null||typeof vnode==='boolean'){return'';}var nodeName=vnode.nodeName,attributes=vnode.attributes,isComponent=false;var pretty=true&&opts.pretty,indentChar=pretty&&typeof pretty==='string'?pretty:'\\t';// #text nodes\nif((typeof vnode==='undefined'?'undefined':_typeof(vnode))!=='object'&&!nodeName){return encodeEntities(vnode);}// components\nvar ctor=mapping$1[nodeName];if(ctor){isComponent=true;var props=getNodeProps$1(vnode),rendered;// class-based components\nvar c=new ctor(props,store);// turn off stateful re-rendering:\nc._disable=c.__x=true;c.props=props;c.store=store;if(c.install)c.install();if(c.beforeRender)c.beforeRender();rendered=c.render(c.props,c.data,c.store);if(opts.scopedCSS){if(c.constructor.css||c.css){var cssStr=c.constructor.css?c.constructor.css:typeof c.css==='function'?c.css():c.css;var cssAttr='_s'+getCtorName(c.constructor);css[cssAttr]={id:cssAttr,css:scoper(cssStr,cssAttr)};addScopedAttrStatic(rendered,cssAttr);}c.scopedCSSAttr=vnode.css;scopeHost(rendered,c.scopedCSSAttr);}return _renderToString(rendered,opts,store,false,css);}// render JSX to HTML\nvar s='',html;if(attributes){var attrs=Object.keys(attributes);// allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\nif(opts&&opts.sortAttributes===true)attrs.sort();for(var i=0;i]/))continue;if(!(opts&&opts.allAttributes)&&(name==='key'||name==='ref'))continue;if(name==='className'){if(attributes['class'])continue;name='class';}else if(isSvgMode&&name.match(/^xlink:?./)){name=name.toLowerCase().replace(/^xlink:?/,'xlink:');}if(name==='style'&&v&&(typeof v==='undefined'?'undefined':_typeof(v))==='object'){v=styleObjToCss(v);}var hooked=opts.attributeHook&&opts.attributeHook(name,v,store,opts,isComponent);if(hooked||hooked===''){s+=hooked;continue;}if(name==='dangerouslySetInnerHTML'){html=v&&v.__html;}else if((v||v===0||v==='')&&typeof v!=='function'){if(v===true||v===''){v=name;// in non-xml mode, allow boolean attributes\nif(!opts||!opts.xml){s+=' '+name;continue;}}s+=' '+name+'=\"'+encodeEntities(v)+'\"';}}}// account for >1 multiline attribute\nif(pretty){var sub=s.replace(/^\\n\\s*/,' ');if(sub!==s&&!~sub.indexOf('\\n'))s=sub;else if(pretty&&~s.indexOf('\\n'))s+='\\n';}s='<'+nodeName+s+'>';if(String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/))throw s;var isVoid=String(nodeName).match(VOID_ELEMENTS);if(isVoid)s=s.replace(/>$/,' />');var pieces=[];if(html){// if multiline, indent.\nif(pretty&&isLargeString(html)){html='\\n'+indentChar+indent(html,indentChar);}s+=html;}else if(vnode.children){var hasLarge=pretty&&~s.indexOf('\\n');for(var i=0;i';}if(!isVoid){if(pretty&&~s.indexOf('\\n'))s+='\\n';s+=''+nodeName+'>';}return s;}function assign$1(obj,props){for(var i in props){obj[i]=props[i];}return obj;}function getNodeProps$1(vnode){var props=assign$1({},vnode.attributes);props.children=vnode.children;var defaultProps=vnode.nodeName.defaultProps;if(defaultProps!==undefined){for(var i in defaultProps){if(props[i]===undefined){props[i]=defaultProps[i];}}}return props;}var n=function n(t,r,u,e){for(var p=1;p\"===t?(a(),u=1):u&&(\"=\"===t?(u=4,r=e,e=\"\"):\"/\"===t?(a(),3===u&&(s=s[0]),u=s,(s=s[0]).push(u,4),u=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(a(),u=2):e+=t);}}return a(),s;},r=\"function\"==typeof Map,u=r?new Map():{},e=r?function(n){var r=u.get(n);return r||u.set(n,r=t(n)),r;}:function(n){for(var r=\"\",e=0;e1?r:r[0];}var html=htm.bind(h);var WeElement=Component;var defineElement=define;function createRef(){return{};}options.root.Omi={h:h,createElement:h,cloneElement:cloneElement,createRef:createRef,Component:Component,render:render,rerender:rerender,options:options,WeElement:WeElement,define:define,rpx:rpx,ModelView:ModelView,defineElement:defineElement,classNames:classNames,extractClass:extractClass,getHost:getHost,renderToString:renderToString,tag:tag,merge:merge,html:html,htm:htm};options.root.omi=options.root.Omi;options.root.Omi.version='omio-2.2.1';var omi={h:h,createElement:h,cloneElement:cloneElement,createRef:createRef,Component:Component,render:render,rerender:rerender,options:options,WeElement:WeElement,define:define,rpx:rpx,ModelView:ModelView,defineElement:defineElement,classNames:classNames,extractClass:extractClass,getHost:getHost,renderToString:renderToString,tag:tag,merge:merge,html:html,htm:htm};exports.default=omi;exports.h=h;exports.createElement=h;exports.cloneElement=cloneElement;exports.createRef=createRef;exports.Component=Component;exports.render=render;exports.rerender=rerender;exports.options=options;exports.WeElement=WeElement;exports.define=define;exports.rpx=rpx;exports.ModelView=ModelView;exports.defineElement=defineElement;exports.classNames=classNames;exports.extractClass=extractClass;exports.getHost=getHost;exports.renderToString=renderToString;exports.tag=tag;exports.merge=merge;exports.html=html;exports.htm=htm;//# sourceMappingURL=omi.esm.js.map\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/// css base code, injected by the css-loader\nmodule.exports=function(useSourceMap){var list=[];// return the list of modules as css string\nlist.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\nlist.i=function(modules,mediaQuery){if(typeof modules===\"string\")modules=[[null,modules,\"\"]];var alreadyImportedModules={};for(var i=0;i {\n// let newP = document.createElement('div')\n// newP.className = '_code-ctn'\n// let pre = code.parentNode\n// let ctn = pre.parentNode\n// if (pre.nodeName === 'PRE') {\n// ctn.insertBefore(newP, pre)\n// let hl = document.createElement('div')\n// hl.className = '_hl'\n// newP.appendChild(hl)\n// newP.appendChild(pre)\n// let nums = codeHlNumArr[index]\n// let max = Math.max.apply(null, nums)\n// let inner = ''\n// for (let i = 0; i <= max; i++) {\n// if (nums.indexOf(i) == -1) {\n// inner += '
'\n// } else {\n// inner += ''\n// }\n// }\n// hl.innerHTML = inner\n// }\n// })\n//fix line-highlight\nwindow.dispatchEvent(new Event('resize'));}},{key:'_arrToNumber',value:function _arrToNumber(numArr){var arr=[];numArr.forEach(function(item){if(item.indexOf('-')!==-1){var tempArr=item.split('-');var begin=Number(tempArr[0]);var end=Number(tempArr[1]);for(var i=begin;i0)return false;}return true;}},{key:'render',value:function render(){if(!this.demo)return;return Omi.h('div',null,Omi.h('iframe',{style:'width:'+(window.innerWidth-1180)+'px;height:'+(window.innerHeight-59)+'px;visibility:'+(this.show?'visible':'hidden')+';',src:this.demo}),Omi.h('div',{'class':'icon',onClick:this.toggle},Omi.h('svg',{viewBox:'64 64 896 896','class':'',style:'left:'+(this.show?'14px':'0px')+';','data-icon':'left',width:'1.2em',height:'1.2em',fill:'currentColor','aria-hidden':'true',focusable:'false'},Omi.h('path',{d:'M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z'})),Omi.h('svg',{viewBox:'64 64 896 896','class':'',style:'left:'+(this.show?'-14px':'0px')+';','data-icon':'right',width:'1.2em',height:'1.2em',fill:'currentColor','aria-hidden':'true',focusable:'false'},Omi.h('path',{d:'M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z'}))));}}]);return _class2;}(_omi.WeElement));\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};var asap=__webpack_require__(6);function noop(){}// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR=null;var IS_ERROR={};function getThen(obj){try{return obj.then;}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}function tryCallOne(fn,a){try{return fn(a);}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}function tryCallTwo(fn,a,b){try{fn(a,b);}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}module.exports=Promise;function Promise(fn){if(_typeof(this)!=='object'){throw new TypeError('Promises must be constructed via new');}if(typeof fn!=='function'){throw new TypeError('Promise constructor\\'s argument is not a function');}this._75=0;this._83=0;this._18=null;this._38=null;if(fn===noop)return;doResolve(fn,this);}Promise._47=null;Promise._71=null;Promise._44=noop;Promise.prototype.then=function(onFulfilled,onRejected){if(this.constructor!==Promise){return safeThen(this,onFulfilled,onRejected);}var res=new Promise(noop);handle(this,new Handler(onFulfilled,onRejected,res));return res;};function safeThen(self,onFulfilled,onRejected){return new self.constructor(function(resolve,reject){var res=new Promise(noop);res.then(resolve,reject);handle(self,new Handler(onFulfilled,onRejected,res));});}function handle(self,deferred){while(self._83===3){self=self._18;}if(Promise._47){Promise._47(self);}if(self._83===0){if(self._75===0){self._75=1;self._38=deferred;return;}if(self._75===1){self._75=2;self._38=[self._38,deferred];return;}self._38.push(deferred);return;}handleResolved(self,deferred);}function handleResolved(self,deferred){asap(function(){var cb=self._83===1?deferred.onFulfilled:deferred.onRejected;if(cb===null){if(self._83===1){resolve(deferred.promise,self._18);}else{reject(deferred.promise,self._18);}return;}var ret=tryCallOne(cb,self._18);if(ret===IS_ERROR){reject(deferred.promise,LAST_ERROR);}else{resolve(deferred.promise,ret);}});}function resolve(self,newValue){// Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\nif(newValue===self){return reject(self,new TypeError('A promise cannot be resolved with itself.'));}if(newValue&&((typeof newValue==='undefined'?'undefined':_typeof(newValue))==='object'||typeof newValue==='function')){var then=getThen(newValue);if(then===IS_ERROR){return reject(self,LAST_ERROR);}if(then===self.then&&newValue instanceof Promise){self._83=3;self._18=newValue;finale(self);return;}else if(typeof then==='function'){doResolve(then.bind(newValue),self);return;}}self._83=1;self._18=newValue;finale(self);}function reject(self,newValue){self._83=2;self._18=newValue;if(Promise._71){Promise._71(self,newValue);}finale(self);}function finale(self){if(self._75===1){handle(self,self._38);self._38=null;}if(self._75===2){for(var i=0;i768};var id=0;this.map={};this.positionMap={};_config2.default.menus[this.data.lan].forEach(function(menu,index){menu.list.forEach(function(item,subIndex){item.id=id++;item.position=[index,subIndex];_this.map[item.id]=item;item.index=index;item.subIndex=subIndex;_this.positionMap[index+'-'+subIndex]=item;});});this.preIndex=0;this.preSubIndex=0;}_createClass(Store,[{key:'getNext',value:function getNext(){var item=this.positionMap[this.data.position.join('-')];if(item){return this.map[item.id+1];}}},{key:'getPre',value:function getPre(){var item=this.positionMap[this.data.position.join('-')];if(item){return this.map[item.id-1];}}},{key:'init',value:function init(){var _this2=this;this.remarkable=new Remarkable({html:true});if(location.hash===\"\"){this.data.position=[0,0];this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md,this.data.lan,function(m){_this2.data.html=_this2.remarkable.render(m);});}this.demo=this.data.menus[this.data.lan][0].list[0].demo;this.initRouter();}},{key:'toogleSidebar',value:function toogleSidebar(){this.data.sideBarShow=!this.data.sideBarShow;}},{key:'hideSidebar',value:function hideSidebar(){this.data.sideBarShow=false;}},{key:'initRouter',value:function initRouter(){var _this3=this;var menus=this.data.menus[this.data.lan];menus.forEach(function(item){item.list.forEach(function(subItem){route('/'+subItem.md,function(evt){menus[_this3.preIndex].list[_this3.preSubIndex].selected=false;_this3.preIndex=evt.query.index;_this3.preSubIndex=evt.query.subIndex;_this3.data.position=[Number(evt.query.index),Number(evt.query.subIndex)];_this3.data.sideBarShow=false;_this3.myDemo.demo=menus[_this3.preIndex].list[_this3.preSubIndex].demo;_this3.myDemo.update();_this3.getMarkDown(subItem.md,_this3.data.lan,function(m){_this3.data.html=_this3.remarkable.render(m);document.body.scrollTop=0;document.documentElement.scrollTop=0;});});});});}},{key:'getMarkDown',value:function getMarkDown(name,lan,callback){__webpack_require__(36)(\"./\"+lan+'/'+name+'.md').then(function(m){callback(m);});}}]);return Store;}();exports.default=Store;\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(exports,\"__esModule\",{value:true});var config={menus:{'zh-cn':[{title:'Omim',list:[{name:'简介',md:'introduction'}]},{title:'基础',list:[{name:'Button 按钮',md:'button',demo:'./repl/button.html'},{name:'Fab 动作按钮',md:'fab',demo:'./repl/fab.html'},{name:'Icon 图标',md:'icon',demo:'./repl/icon.html'},{name:'IconButton 图标按钮',md:'icon-button',demo:'./repl/icon-button.html'},{name:'Avatar 头像',md:'avatar',demo:'./repl/avatar.html'},{name:'Loading 加载',md:'loading',demo:'./repl/loading.html'},{name:'Breadcrumb 面包屑',md:'breadcrumb',demo:'./repl/breadcrumb.html'}]},{title:'公用',list:[{name:'Transition 过渡',md:'transition',demo:'https://tencent.github.io/omi/packages/omim/demos/transition/index.html'},{name:'To 运动',md:'to',demo:'https://tencent.github.io/omi/packages/omim/demos/to/index.html'},{name:'Theme 主题',md:'theme',demo:'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html'},{name:'Typography 排版',md:'typography',demo:'./repl/typography.html'},{name:'Layout Grid 网格布局',md:'layout-grid',demo:'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html'}]},{title:'布局',list:[{name:'Row 行',md:'row',demo:'./repl/row.html'},{name:'Elevation 高度盒',md:'elevation',demo:'./repl/elevation.html'},{name:'Image List 图片列表',md:'image-list',demo:'./repl/image-list.html'}]},{title:'导航',list:[{name:'Menu 菜单',md:'menu',demo:'./repl/menu.html'},{name:'Drawer 抽屉',md:'drawer',demo:'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html'},{name:'Tab 标签切换',md:'tab',demo:'./repl/tab.html'},{name:'Nav 导航',md:'nav',demo:'./repl/nav.html'},{name:'Pagination 分页',md:'pagination',demo:'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html'},{name:'Top App Bar 顶部栏',md:'top-app-bar',demo:'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html'}]},{title:'操作反馈',list:[{name:'Dialog 对话框',md:'dialog',demo:'./repl/dialog.html'},{name:'Snackbar 提醒',md:'snackbar',demo:'./repl/snackbar.html'},{name:'ActionSheet 行动表',md:'action-sheet',demo:'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},{name:'ColorPicker 颜色选择机',md:'color-picker',demo:'./repl/color-picker.html'},{name:'Popover 提示',md:'popover',demo:'https://tencent.github.io/omi/packages/omim/demos/popover/index.html'},{name:'Toast 弹出提示',md:'toast',demo:'https://tencent.github.io/omi/packages/omim/demos/toast/index.html'}]},{title:'表单',list:[{name:'Text Field 文本输入',md:'text-field',demo:'./repl/text-field.html'},{name:'Select 下拉选择',md:'select',demo:'./repl/select.html'},{name:'Checkbox 复选框',md:'checkbox',demo:'./repl/checkbox.html'},{name:'Radio 单选框',md:'radio',demo:'./repl/radio.html'},{name:'Switch 切换',md:'switch',demo:'./repl/switch.html'},{name:'DateTimePicker 时间日期选择器',md:'date-time-picker',demo:'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html'},{name:'Picker 原生选择器',md:'picker',demo:'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html'},{name:'TransferList 穿梭列表',md:'transfer-list',demo:'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html'}]},{title:'数据',list:[{name:'List 列表',md:'list',demo:'./repl/list.html'},{name:'Table 表格',md:'table',demo:'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html'},{name:'Linear Progress 线性进度',md:'linear-progress',demo:'./repl/linear-progress.html'},{name:'Slider 滑块',md:'slider',demo:'./repl/slider.html'},{name:'Chips 标签',md:'chips',demo:'./repl/chips.html'},{name:'Tag 标签',md:'tag',demo:'./repl/tag.html'},{name:'Badge 徽章',md:'badge',demo:'./repl/badge.html'},{name:'Tree 树',md:'tree',demo:'./repl/tree.html'},{name:'Card 卡片',md:'card',demo:'./repl/card.html'},{name:'Path Progress 路径进度',md:'path-progress',demo:'./repl/path-progress.html'},{name:'Paper 纸片',md:'paper',demo:'./repl/paper.html'},{name:'Step 步骤',md:'step',demo:'./repl/step.html'},{name:'Simple Card 简单卡片',md:'simple-card',demo:'./repl/simple-card.html'},{name:'Editor 富文本编辑器',md:'editor',demo:'https://tencent.github.io/omi/packages/omim/demos/editor/index.html'},{name:'Spreadsheet 电子表格',md:'spreadsheet',demo:'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html'},{name:'Rate 评分',md:'rate',demo:'https://tencent.github.io/omi/packages/omim/demos/rate/index.html'}]},{title:'图表',list:[{name:'简介',md:'introduction-chart'},{name:'柱状图',md:'bar',demo:'./repl/bar.html'},{name:'线状图',md:'line',demo:'./repl/line.html'},{name:'散点图',md:'scatter',demo:'./repl/scatter.html'},{name:'饼图',md:'pie',demo:'./repl/pie.html'},{name:'环状图',md:'doughnut',demo:'./repl/doughnut.html'},{name:'雷达图',md:'radar',demo:'./repl/radar.html'},{name:'极区图',md:'polar-area',demo:'./repl/polar-area.html'},{name:'气泡图',md:'bubble',demo:'./repl/bubble.html'},{name:'合成图',md:'bar-line',demo:'./repl/bar-line.html'}]}],en:[{title:'Omim',list:[{name:'Introduction',md:'introduction'}]},{title:'Base',list:[{name:'Button',md:'button',demo:'./repl/button.html'},{name:'Fab',md:'fab',demo:'./repl/fab.html'},{name:'Icon',md:'icon',demo:'./repl/icon.html'},{name:'IconButton',md:'icon-button',demo:'./repl/icon-button.html'},{name:'Avatar',md:'avatar',demo:'./repl/avatar.html'},{name:'Loading',md:'loading',demo:'./repl/loading.html'},{name:'Breadcrumb',md:'breadcrumb',demo:'./repl/breadcrumb.html'}]},{title:'Util',list:[{name:'Transition',md:'transition',demo:'https://tencent.github.io/omi/packages/omim/demos/transition/index.html'},{name:'To',md:'to',demo:'https://tencent.github.io/omi/packages/omim/demos/to/index.html'},{name:'Theme',md:'theme',demo:'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html'},{name:'Typography',md:'typography',demo:'./repl/typography.html'},{name:'Layout Grid',md:'layout-grid',demo:'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html'}]},{title:'Layout',list:[{name:'Row',md:'row',demo:'./repl/row.html'},{name:'Elevation',md:'elevation',demo:'./repl/elevation.html'},{name:'Image List',md:'image-list',demo:'./repl/image-list.html'}]},{title:'Navigation',list:[{name:'Menu',md:'menu',demo:'./repl/menu.html'},{name:'Drawer',md:'drawer',demo:'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html'},{name:'Tab',md:'tab',demo:'./repl/tab.html'},{name:'Nav',md:'nav',demo:'./repl/nav.html'},{name:'Pagination',md:'pagination',demo:'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html'},{name:'Top App Bar',md:'top-app-bar',demo:'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html'}]},{title:'Operational Feedback',list:[{name:'Dialog',md:'dialog',demo:'./repl/dialog.html'},{name:'Snackbar',md:'snackbar',demo:'./repl/snackbar.html'},{name:'ActionSheet',md:'action-sheet',demo:'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},{name:'ColorPicker',md:'color-picker',demo:'./repl/color-picker.html'},{name:'Popover',md:'popover',demo:'https://tencent.github.io/omi/packages/omim/demos/popover/index.html'},{name:'Toast',md:'toast',demo:'https://tencent.github.io/omi/packages/omim/demos/toast/index.html'}]},{title:'Form',list:[{name:'Text Field',md:'text-field',demo:'./repl/text-field.html'},{name:'Select',md:'select',demo:'./repl/select.html'},{name:'Checkbox',md:'checkbox',demo:'./repl/checkbox.html'},{name:'Radio',md:'radio',demo:'./repl/radio.html'},{name:'Switch',md:'switch',demo:'./repl/switch.html'},{name:'DateTimePicker',md:'date-time-picker',demo:'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html'},{name:'Picker',md:'picker',demo:'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html'},{name:'TransferList',md:'transfer-list',demo:'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html'}]},{title:'Data',list:[{name:'List',md:'list',demo:'./repl/list.html'},{name:'Table',md:'table',demo:'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html'},{name:'Linear Progress',md:'linear-progress',demo:'./repl/linear-progress.html'},{name:'Slider',md:'slider',demo:'./repl/slider.html'},{name:'Chips',md:'chips',demo:'./repl/chips.html'},{name:'Tag',md:'tag',demo:'./repl/tag.html'},{name:'Badge',md:'badge',demo:'./repl/badge.html'},{name:'Tree',md:'tree',demo:'./repl/tree.html'},{name:'Card',md:'card',demo:'./repl/card.html'},{name:'Path Progress',md:'path-progress',demo:'./repl/path-progress.html'},{name:'Paper',md:'paper',demo:'./repl/paper.html'},{name:'Step',md:'step',demo:'./repl/step.html'},{name:'Simple Card',md:'simple-card',demo:'./repl/simple-card.html'},{name:'Editor',md:'editor',demo:'https://tencent.github.io/omi/packages/omim/demos/editor/index.html'},{name:'Spreadsheet',md:'spreadsheet',demo:'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html'},{name:'Rate',md:'rate',demo:'https://tencent.github.io/omi/packages/omim/demos/rate/index.html'}]},{title:'Chart',list:[{name:'Introduction',md:'introduction-chart'},{name:'Bar',md:'bar',demo:'./repl/bar.html'},{name:'Line',md:'line',demo:'./repl/line.html'},{name:'Scatter',md:'scatter',demo:'./repl/scatter.html'},{name:'Pie',md:'pie',demo:'./repl/pie.html'},{name:'Doughnut',md:'doughnut',demo:'./repl/doughnut.html'},{name:'Radar',md:'radar',demo:'./repl/radar.html'},{name:'PolarArea',md:'polar-area',demo:'./repl/polar-area.html'},{name:'Bubble',md:'bubble',demo:'./repl/bubble.html'},{name:'BarLine',md:'bar-line',demo:'./repl/bar-line.html'}]}]}};exports.default=config;\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {Object.defineProperty(exports,\"__esModule\",{value:true});var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};exports.default=route;/*!\n * omi-router v2.0.8 by dntzhang\n * Router for Omi.\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */var p2r=__webpack_require__(35);var mapping={};var root=getGlobal();root.route=route;root.route.params=null;root.historyLength=0;root.route.to=function(path,data){root.route._routeByTo=true;root.route.data=data;if(path[0]==='#'){location.hash=path;}else{location.hash='#'+path;}};window.addEventListener('hashchange',change);function change(evt){var byNative=false;//need to fix a line by omi-link\nif(window.history.length===root.historyLength&&!root.route._routeByTo){//keep alive mode\nbyNative=true;}root.route._routeByTo=false;root.historyLength=window.history.length;var prevent=false;if(evt.type==='hashchange'&&root.route.before){prevent=root.route.before(evt)===false;}if(prevent)return;var path=window.location.hash.replace('#','');var notFound=true;Object.keys(mapping).every(function(key){var toArr=path.split('?')[0].match(mapping[key].reg);if(toArr){var pathArr=key.match(mapping[key].reg);root.route.params=getParams(toArr,pathArr);root.route.query=getUrlParams(path);mapping[key].callback({params:root.route.params,query:getUrlParams(path),data:root.route.data,byNative:byNative});root.route.data=null;notFound=false;return false;}return true;});if(notFound){mapping['*']&&mapping['*'].callback({byNative:byNative});}if(evt.type==='hashchange'&&root.route.after){root.route.after(evt);}}document.addEventListener('DOMContentLoaded',change);function getParams(toArr,pathArr){var params={};toArr.forEach(function(item,index){if(index>0){params[pathArr[index].replace(':','')]=item;}});return params;}function route(path,callback){mapping[path]={callback:callback,reg:p2r(path)};}function getGlobal(){if((typeof global==='undefined'?'undefined':_typeof(global))!=='object'||!global||global.Math!==Math||global.Array!==Array){return self||window||global||function(){return this;}();}return global;}function getUrlParams(url){url=url.replace(/#.*$/,'');var queryArray=url.split(/[?&]/).slice(1);var i,args={};for(i=0;i [\"test\", \"\\d+\", undefined, \"?\"]\n// \"(\\\\d+)\" => [undefined, undefined, \"\\d+\", undefined]\n'(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'].join('|'),'g');/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */function parse(str,options){var tokens=[];var key=0;var index=0;var path='';var defaultDelimiter=options&&options.delimiter||DEFAULT_DELIMITER;var delimiters=options&&options.delimiters||DEFAULT_DELIMITERS;var pathEscaped=false;var res;while((res=PATH_REGEXP.exec(str))!==null){var m=res[0];var escaped=res[1];var offset=res.index;path+=str.slice(index,offset);index=offset+m.length;// Ignore already escaped sequences.\nif(escaped){path+=escaped[1];pathEscaped=true;continue;}var prev='';var next=str[index];var name=res[2];var capture=res[3];var group=res[4];var modifier=res[5];if(!pathEscaped&&path.length){var k=path.length-1;if(delimiters.indexOf(path[k])>-1){prev=path[k];path=path.slice(0,k);}}// Push the current path onto the tokens.\nif(path){tokens.push(path);path='';pathEscaped=false;}var partial=prev!==''&&next!==undefined&&next!==prev;var repeat=modifier==='+'||modifier==='*';var optional=modifier==='?'||modifier==='*';var delimiter=prev||defaultDelimiter;var pattern=capture||group;tokens.push({name:name||key++,prefix:prev,delimiter:delimiter,optional:optional,repeat:repeat,partial:partial,pattern:pattern?escapeGroup(pattern):'[^'+escapeString(delimiter)+']+?'});}// Push any remaining characters.\nif(path||index-1;}else{var capture=token.repeat?'(?:'+token.pattern+')(?:'+escapeString(token.delimiter)+'(?:'+token.pattern+'))*':token.pattern;if(keys)keys.push(token);if(token.optional){if(token.partial){route+=escapeString(token.prefix)+'('+capture+')?';}else{route+='(?:'+escapeString(token.prefix)+'('+capture+'))?';}}else{route+=escapeString(token.prefix)+'('+capture+')';}}}if(end){if(!strict)route+='(?:'+delimiter+')?';route+=endsWith==='$'?'$':'(?='+endsWith+')';}else{if(!strict)route+='(?:'+delimiter+'(?='+endsWith+'))?';if(!isEndDelimited)route+='(?='+delimiter+'|'+endsWith+')';}return new RegExp(route,flags(options));}/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */function pathToRegexp(path,keys,options){if(path instanceof RegExp){return regexpToRegexp(path,keys);}if(Array.isArray(path)){return arrayToRegexp(/** @type {!Array} */path,keys,options);}return stringToRegexp(/** @type {string} */path,keys,options);}\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./en/action-sheet.md\": [\n\t\t37,\n\t\t123\n\t],\n\t\"./en/avatar.md\": [\n\t\t38,\n\t\t122\n\t],\n\t\"./en/badge.md\": [\n\t\t39,\n\t\t121\n\t],\n\t\"./en/bar-line.md\": [\n\t\t40,\n\t\t120\n\t],\n\t\"./en/bar.md\": [\n\t\t41,\n\t\t119\n\t],\n\t\"./en/breadcrumb.md\": [\n\t\t42,\n\t\t118\n\t],\n\t\"./en/bubble.md\": [\n\t\t43,\n\t\t117\n\t],\n\t\"./en/button.md\": [\n\t\t44,\n\t\t116\n\t],\n\t\"./en/card.md\": [\n\t\t45,\n\t\t115\n\t],\n\t\"./en/checkbox.md\": [\n\t\t46,\n\t\t114\n\t],\n\t\"./en/chips.md\": [\n\t\t47,\n\t\t113\n\t],\n\t\"./en/color-picker.md\": [\n\t\t48,\n\t\t112\n\t],\n\t\"./en/date-time-picker.md\": [\n\t\t49,\n\t\t111\n\t],\n\t\"./en/dialog.md\": [\n\t\t50,\n\t\t110\n\t],\n\t\"./en/doughnut.md\": [\n\t\t51,\n\t\t109\n\t],\n\t\"./en/drawer.md\": [\n\t\t52,\n\t\t108\n\t],\n\t\"./en/editor.md\": [\n\t\t53,\n\t\t107\n\t],\n\t\"./en/elevation.md\": [\n\t\t54,\n\t\t106\n\t],\n\t\"./en/fab.md\": [\n\t\t55,\n\t\t105\n\t],\n\t\"./en/icon-button.md\": [\n\t\t56,\n\t\t104\n\t],\n\t\"./en/icon.md\": [\n\t\t57,\n\t\t103\n\t],\n\t\"./en/image-list.md\": [\n\t\t58,\n\t\t102\n\t],\n\t\"./en/introduction-chart.md\": [\n\t\t59,\n\t\t101\n\t],\n\t\"./en/introduction.md\": [\n\t\t60,\n\t\t100\n\t],\n\t\"./en/layout-grid.md\": [\n\t\t61,\n\t\t99\n\t],\n\t\"./en/line.md\": [\n\t\t62,\n\t\t98\n\t],\n\t\"./en/linear-progress.md\": [\n\t\t63,\n\t\t97\n\t],\n\t\"./en/list.md\": [\n\t\t64,\n\t\t96\n\t],\n\t\"./en/loading.md\": [\n\t\t65,\n\t\t95\n\t],\n\t\"./en/menu.md\": [\n\t\t66,\n\t\t94\n\t],\n\t\"./en/nav.md\": [\n\t\t67,\n\t\t93\n\t],\n\t\"./en/pagination.md\": [\n\t\t68,\n\t\t92\n\t],\n\t\"./en/paper.md\": [\n\t\t69,\n\t\t91\n\t],\n\t\"./en/path-progress.md\": [\n\t\t70,\n\t\t90\n\t],\n\t\"./en/picker.md\": [\n\t\t71,\n\t\t89\n\t],\n\t\"./en/pie.md\": [\n\t\t72,\n\t\t88\n\t],\n\t\"./en/polar-area.md\": [\n\t\t73,\n\t\t87\n\t],\n\t\"./en/popover.md\": [\n\t\t74,\n\t\t86\n\t],\n\t\"./en/radar.md\": [\n\t\t75,\n\t\t85\n\t],\n\t\"./en/radio.md\": [\n\t\t76,\n\t\t84\n\t],\n\t\"./en/rate.md\": [\n\t\t77,\n\t\t83\n\t],\n\t\"./en/row.md\": [\n\t\t78,\n\t\t82\n\t],\n\t\"./en/scatter.md\": [\n\t\t79,\n\t\t81\n\t],\n\t\"./en/select.md\": [\n\t\t80,\n\t\t80\n\t],\n\t\"./en/simple-card.md\": [\n\t\t81,\n\t\t79\n\t],\n\t\"./en/slider.md\": [\n\t\t82,\n\t\t78\n\t],\n\t\"./en/snackbar.md\": [\n\t\t83,\n\t\t77\n\t],\n\t\"./en/spreadsheet.md\": [\n\t\t84,\n\t\t76\n\t],\n\t\"./en/step.md\": [\n\t\t85,\n\t\t75\n\t],\n\t\"./en/switch.md\": [\n\t\t86,\n\t\t74\n\t],\n\t\"./en/tab.md\": [\n\t\t87,\n\t\t73\n\t],\n\t\"./en/table.md\": [\n\t\t88,\n\t\t72\n\t],\n\t\"./en/tag.md\": [\n\t\t89,\n\t\t71\n\t],\n\t\"./en/text-field.md\": [\n\t\t90,\n\t\t70\n\t],\n\t\"./en/theme.md\": [\n\t\t91,\n\t\t69\n\t],\n\t\"./en/to.md\": [\n\t\t92,\n\t\t68\n\t],\n\t\"./en/toast.md\": [\n\t\t93,\n\t\t67\n\t],\n\t\"./en/top-app-bar.md\": [\n\t\t94,\n\t\t66\n\t],\n\t\"./en/transfer-list.md\": [\n\t\t95,\n\t\t65\n\t],\n\t\"./en/transition.md\": [\n\t\t96,\n\t\t64\n\t],\n\t\"./en/tree.md\": [\n\t\t97,\n\t\t63\n\t],\n\t\"./en/typography.md\": [\n\t\t98,\n\t\t62\n\t],\n\t\"./zh-cn/action-sheet.md\": [\n\t\t99,\n\t\t61\n\t],\n\t\"./zh-cn/avatar.md\": [\n\t\t100,\n\t\t60\n\t],\n\t\"./zh-cn/badge.md\": [\n\t\t101,\n\t\t59\n\t],\n\t\"./zh-cn/bar-line.md\": [\n\t\t102,\n\t\t58\n\t],\n\t\"./zh-cn/bar.md\": [\n\t\t103,\n\t\t57\n\t],\n\t\"./zh-cn/breadcrumb.md\": [\n\t\t104,\n\t\t56\n\t],\n\t\"./zh-cn/bubble.md\": [\n\t\t105,\n\t\t55\n\t],\n\t\"./zh-cn/button.md\": [\n\t\t106,\n\t\t54\n\t],\n\t\"./zh-cn/card.md\": [\n\t\t107,\n\t\t53\n\t],\n\t\"./zh-cn/checkbox.md\": [\n\t\t108,\n\t\t52\n\t],\n\t\"./zh-cn/chips.md\": [\n\t\t109,\n\t\t51\n\t],\n\t\"./zh-cn/color-picker.md\": [\n\t\t110,\n\t\t50\n\t],\n\t\"./zh-cn/date-time-picker.md\": [\n\t\t111,\n\t\t49\n\t],\n\t\"./zh-cn/dialog.md\": [\n\t\t112,\n\t\t48\n\t],\n\t\"./zh-cn/doughnut.md\": [\n\t\t113,\n\t\t47\n\t],\n\t\"./zh-cn/drawer.md\": [\n\t\t114,\n\t\t46\n\t],\n\t\"./zh-cn/editor.md\": [\n\t\t115,\n\t\t45\n\t],\n\t\"./zh-cn/elevation.md\": [\n\t\t116,\n\t\t44\n\t],\n\t\"./zh-cn/fab.md\": [\n\t\t117,\n\t\t43\n\t],\n\t\"./zh-cn/icon-button.md\": [\n\t\t118,\n\t\t42\n\t],\n\t\"./zh-cn/icon.md\": [\n\t\t119,\n\t\t41\n\t],\n\t\"./zh-cn/image-list.md\": [\n\t\t120,\n\t\t40\n\t],\n\t\"./zh-cn/introduction-chart.md\": [\n\t\t121,\n\t\t39\n\t],\n\t\"./zh-cn/introduction.md\": [\n\t\t122,\n\t\t38\n\t],\n\t\"./zh-cn/layout-grid.md\": [\n\t\t123,\n\t\t37\n\t],\n\t\"./zh-cn/line.md\": [\n\t\t124,\n\t\t36\n\t],\n\t\"./zh-cn/linear-progress.md\": [\n\t\t125,\n\t\t35\n\t],\n\t\"./zh-cn/list.md\": [\n\t\t126,\n\t\t34\n\t],\n\t\"./zh-cn/loading.md\": [\n\t\t127,\n\t\t33\n\t],\n\t\"./zh-cn/menu.md\": [\n\t\t128,\n\t\t32\n\t],\n\t\"./zh-cn/nav.md\": [\n\t\t129,\n\t\t31\n\t],\n\t\"./zh-cn/pagination.md\": [\n\t\t130,\n\t\t30\n\t],\n\t\"./zh-cn/paper.md\": [\n\t\t131,\n\t\t29\n\t],\n\t\"./zh-cn/path-progress.md\": [\n\t\t132,\n\t\t28\n\t],\n\t\"./zh-cn/picker.md\": [\n\t\t133,\n\t\t27\n\t],\n\t\"./zh-cn/pie.md\": [\n\t\t134,\n\t\t26\n\t],\n\t\"./zh-cn/polar-area.md\": [\n\t\t135,\n\t\t25\n\t],\n\t\"./zh-cn/popover.md\": [\n\t\t136,\n\t\t24\n\t],\n\t\"./zh-cn/radar.md\": [\n\t\t137,\n\t\t23\n\t],\n\t\"./zh-cn/radio.md\": [\n\t\t138,\n\t\t22\n\t],\n\t\"./zh-cn/rate.md\": [\n\t\t139,\n\t\t21\n\t],\n\t\"./zh-cn/row.md\": [\n\t\t140,\n\t\t20\n\t],\n\t\"./zh-cn/scatter.md\": [\n\t\t141,\n\t\t19\n\t],\n\t\"./zh-cn/select.md\": [\n\t\t142,\n\t\t18\n\t],\n\t\"./zh-cn/simple-card.md\": [\n\t\t143,\n\t\t17\n\t],\n\t\"./zh-cn/slider.md\": [\n\t\t144,\n\t\t16\n\t],\n\t\"./zh-cn/snackbar.md\": [\n\t\t145,\n\t\t15\n\t],\n\t\"./zh-cn/spreadsheet.md\": [\n\t\t146,\n\t\t14\n\t],\n\t\"./zh-cn/step.md\": [\n\t\t147,\n\t\t13\n\t],\n\t\"./zh-cn/switch.md\": [\n\t\t148,\n\t\t12\n\t],\n\t\"./zh-cn/tab.md\": [\n\t\t149,\n\t\t11\n\t],\n\t\"./zh-cn/table.md\": [\n\t\t150,\n\t\t10\n\t],\n\t\"./zh-cn/tag.md\": [\n\t\t151,\n\t\t9\n\t],\n\t\"./zh-cn/text-field.md\": [\n\t\t152,\n\t\t8\n\t],\n\t\"./zh-cn/theme.md\": [\n\t\t153,\n\t\t7\n\t],\n\t\"./zh-cn/to.md\": [\n\t\t154,\n\t\t6\n\t],\n\t\"./zh-cn/toast.md\": [\n\t\t155,\n\t\t5\n\t],\n\t\"./zh-cn/top-app-bar.md\": [\n\t\t156,\n\t\t4\n\t],\n\t\"./zh-cn/transfer-list.md\": [\n\t\t157,\n\t\t3\n\t],\n\t\"./zh-cn/transition.md\": [\n\t\t158,\n\t\t2\n\t],\n\t\"./zh-cn/tree.md\": [\n\t\t159,\n\t\t1\n\t],\n\t\"./zh-cn/typography.md\": [\n\t\t160,\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 36;\nmodule.exports = webpackAsyncContext;\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nif(typeof Promise==='undefined'){// Rejection tracking prevents a common issue where React gets into an\n// inconsistent state due to an error, but it gets swallowed by a Promise,\n// and the user has no idea what causes React's erratic future behavior.\n__webpack_require__(5).enable();window.Promise=__webpack_require__(7);}// fetch() polyfill for making API calls.\n__webpack_require__(8);// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign=__webpack_require__(9);// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif(false){require('raf').polyfill(global);}\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar Promise=__webpack_require__(3);var DEFAULT_WHITELIST=[ReferenceError,TypeError,RangeError];var enabled=false;exports.disable=disable;function disable(){enabled=false;Promise._47=null;Promise._71=null;}exports.enable=enable;function enable(options){options=options||{};if(enabled)disable();enabled=true;var id=0;var displayId=0;var rejections={};Promise._47=function(promise){if(promise._83===2&&// IS REJECTED\nrejections[promise._56]){if(rejections[promise._56].logged){onHandled(promise._56);}else{clearTimeout(rejections[promise._56].timeout);}delete rejections[promise._56];}};Promise._71=function(promise,err){if(promise._75===0){// not yet handled\npromise._56=id++;rejections[promise._56]={displayId:null,error:err,timeout:setTimeout(onUnhandled.bind(null,promise._56),// For reference errors and type errors, this almost always\n// means the programmer made a mistake, so log them after just\n// 100ms\n// otherwise, wait 2 seconds to see if they get handled\nmatchWhitelist(err,DEFAULT_WHITELIST)?100:2000),logged:false};}};function onUnhandled(id){if(options.allRejections||matchWhitelist(rejections[id].error,options.whitelist||DEFAULT_WHITELIST)){rejections[id].displayId=displayId++;if(options.onUnhandled){rejections[id].logged=true;options.onUnhandled(rejections[id].displayId,rejections[id].error);}else{rejections[id].logged=true;logError(rejections[id].displayId,rejections[id].error);}}}function onHandled(id){if(rejections[id].logged){if(options.onHandled){options.onHandled(rejections[id].displayId,rejections[id].error);}else if(!rejections[id].onUnhandled){console.warn('Promise Rejection Handled (id: '+rejections[id].displayId+'):');console.warn(' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id '+rejections[id].displayId+'.');}}}}function logError(id,error){console.warn('Possible Unhandled Promise Rejection (id: '+id+'):');var errStr=(error&&(error.stack||error))+'';errStr.split('\\n').forEach(function(line){console.warn(' '+line);});}function matchWhitelist(error,list){return list.some(function(cls){return error instanceof cls;});}\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports=rawAsap;function rawAsap(task){if(!queue.length){requestFlush();flushing=true;}// Equivalent to push, but avoids a function call.\nqueue[queue.length]=task;}var queue=[];// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing=false;// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index=0;// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity=1024;// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush(){while(indexcapacity){// Manually shift all values starting at the index back to the\n// beginning of the queue.\nfor(var scan=0,newLength=queue.length-index;scan-1;};}function normalizeName(name){if(typeof name!=='string'){name=String(name);}if(/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)){throw new TypeError('Invalid character in header field name');}return name.toLowerCase();}function normalizeValue(value){if(typeof value!=='string'){value=String(value);}return value;}// Build a destructive iterator for the value list\nfunction iteratorFor(items){var iterator={next:function next(){var value=items.shift();return{done:value===undefined,value:value};}};if(support.iterable){iterator[Symbol.iterator]=function(){return iterator;};}return iterator;}function Headers(headers){this.map={};if(headers instanceof Headers){headers.forEach(function(value,name){this.append(name,value);},this);}else if(Array.isArray(headers)){headers.forEach(function(header){this.append(header[0],header[1]);},this);}else if(headers){Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name]);},this);}}Headers.prototype.append=function(name,value){name=normalizeName(name);value=normalizeValue(value);var oldValue=this.map[name];this.map[name]=oldValue?oldValue+','+value:value;};Headers.prototype['delete']=function(name){delete this.map[normalizeName(name)];};Headers.prototype.get=function(name){name=normalizeName(name);return this.has(name)?this.map[name]:null;};Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name));};Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=normalizeValue(value);};Headers.prototype.forEach=function(callback,thisArg){for(var name in this.map){if(this.map.hasOwnProperty(name)){callback.call(thisArg,this.map[name],name,this);}}};Headers.prototype.keys=function(){var items=[];this.forEach(function(value,name){items.push(name);});return iteratorFor(items);};Headers.prototype.values=function(){var items=[];this.forEach(function(value){items.push(value);});return iteratorFor(items);};Headers.prototype.entries=function(){var items=[];this.forEach(function(value,name){items.push([name,value]);});return iteratorFor(items);};if(support.iterable){Headers.prototype[Symbol.iterator]=Headers.prototype.entries;}function consumed(body){if(body.bodyUsed){return Promise.reject(new TypeError('Already read'));}body.bodyUsed=true;}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result);};reader.onerror=function(){reject(reader.error);};});}function readBlobAsArrayBuffer(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsArrayBuffer(blob);return promise;}function readBlobAsText(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsText(blob);return promise;}function readArrayBufferAsText(buf){var view=new Uint8Array(buf);var chars=new Array(view.length);for(var i=0;i-1?upcased:method;}function Request(input,options){options=options||{};var body=options.body;if(input instanceof Request){if(input.bodyUsed){throw new TypeError('Already read');}this.url=input.url;this.credentials=input.credentials;if(!options.headers){this.headers=new Headers(input.headers);}this.method=input.method;this.mode=input.mode;if(!body&&input._bodyInit!=null){body=input._bodyInit;input.bodyUsed=true;}}else{this.url=String(input);}this.credentials=options.credentials||this.credentials||'omit';if(options.headers||!this.headers){this.headers=new Headers(options.headers);}this.method=normalizeMethod(options.method||this.method||'GET');this.mode=options.mode||this.mode||null;this.referrer=null;if((this.method==='GET'||this.method==='HEAD')&&body){throw new TypeError('Body not allowed for GET or HEAD requests');}this._initBody(body);}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit});};function decode(body){var form=new FormData();body.trim().split('&').forEach(function(bytes){if(bytes){var split=bytes.split('=');var name=split.shift().replace(/\\+/g,' ');var value=split.join('=').replace(/\\+/g,' ');form.append(decodeURIComponent(name),decodeURIComponent(value));}});return form;}function parseHeaders(rawHeaders){var headers=new Headers();rawHeaders.split(/\\r?\\n/).forEach(function(line){var parts=line.split(':');var key=parts.shift().trim();if(key){var value=parts.join(':').trim();headers.append(key,value);}});return headers;}Body.call(Request.prototype);function Response(bodyInit,options){if(!options){options={};}this.type='default';this.status='status'in options?options.status:200;this.ok=this.status>=200&&this.status<300;this.statusText='statusText'in options?options.statusText:'OK';this.headers=new Headers(options.headers);this.url=options.url||'';this._initBody(bodyInit);}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url});};Response.error=function(){var response=new Response(null,{status:0,statusText:''});response.type='error';return response;};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(redirectStatuses.indexOf(status)===-1){throw new RangeError('Invalid status code');}return new Response(null,{status:status,headers:{location:url}});};self.Headers=Headers;self.Request=Request;self.Response=Response;self.fetch=function(input,init){return new Promise(function(resolve,reject){var request=new Request(input,init);var xhr=new XMLHttpRequest();xhr.onload=function(){var options={status:xhr.status,statusText:xhr.statusText,headers:parseHeaders(xhr.getAllResponseHeaders()||'')};options.url='responseURL'in xhr?xhr.responseURL:options.headers.get('X-Request-URL');var body='response'in xhr?xhr.response:xhr.responseText;resolve(new Response(body,options));};xhr.onerror=function(){reject(new TypeError('Network request failed'));};xhr.ontimeout=function(){reject(new TypeError('Network request failed'));};xhr.open(request.method,request.url,true);if(request.credentials==='include'){xhr.withCredentials=true;}if('responseType'in xhr&&support.blob){xhr.responseType='blob';}request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value);});xhr.send(typeof request._bodyInit==='undefined'?null:request._bodyInit);});};self.fetch.polyfill=true;})(typeof self!=='undefined'?self:undefined);\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*//* eslint-disable no-unused-vars */var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');}return Object(val);}function shouldUseNative(){try{if(!Object.assign){return false;}// Detect buggy property enumeration order in older V8 versions.\n// https://bugs.chromium.org/p/v8/issues/detail?id=4118\nvar test1=new String('abc');// eslint-disable-line no-new-wrappers\ntest1[5]='de';if(Object.getOwnPropertyNames(test1)[0]==='5'){return false;}// https://bugs.chromium.org/p/v8/issues/detail?id=3056\nvar test2={};for(var i=0;i<10;i++){test2['_'+String.fromCharCode(i)]=i;}var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n];});if(order2.join('')!=='0123456789'){return false;}// https://bugs.chromium.org/p/v8/issues/detail?id=3056\nvar test3={};'abcdefghijklmnopqrst'.split('').forEach(function(letter){test3[letter]=letter;});if(Object.keys(Object.assign({},test3)).join('')!=='abcdefghijklmnopqrst'){return false;}return true;}catch(err){// We don't expect any of the above to throw, but better to be safe.\nreturn false;}}module.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;sHello!`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nfunction h(nodeName, attributes) {\n var children = [],\n lastSimple,\n child,\n simple,\n i;\n for (i = arguments.length; i-- > 2;) {\n stack.push(arguments[i]);\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children);\n delete attributes.children;\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--;) {\n stack.push(child[i]);\n }\n } else {\n if (typeof child === 'boolean') child = null;\n\n if (simple = typeof nodeName !== 'function') {\n if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child;\n } else if (children.length === 0) {\n children = [child];\n } else {\n children.push(child);\n }\n\n lastSimple = simple;\n }\n }\n\n var p = new VNode();\n p.nodeName = nodeName;\n p.children = children;\n p.attributes = attributes == null ? undefined : attributes;\n p.key = attributes == null ? undefined : attributes.key;\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p);\n\n return p;\n}\n\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction assign(target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var runListeners = function runListeners(oEvent) {\n if (!oEvent) {\n oEvent = window.event;\n }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) {\n oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);\n }\n break;\n }\n }\n };\n\n var oListeners = {};\n\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n nElIdx = iElId;break;\n }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) {\n return;\n }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) {\n return;\n }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n nElIdx = iElId;break;\n }\n }\n if (nElIdx === -1) {\n return;\n }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) {\n aElListeners.splice(iLstId, 1);\n }\n }\n };\n}\n\nif (typeof Object.create !== 'function') {\n Object.create = function (proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto);\n } else if (proto === null) {\n throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\");\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto;\n\n return new F();\n };\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n };\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nfunction extend(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nfunction applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value);else ref.current = value;\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nvar usePromise = typeof Promise == 'function';\n\n// for native\nif (typeof document !== 'object' && typeof global !== 'undefined' && global.__config__) {\n if (global.__config__.platform === 'android') {\n usePromise = true;\n } else {\n var systemVersion = global.__config__.systemVersion && global.__config__.systemVersion.split('.')[0] || 0;\n if (systemVersion > 8) {\n usePromise = true;\n }\n }\n}\n\nvar defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;\n\nfunction isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n}\n\nfunction nProps(props) {\n if (!props || isArray(props)) return {};\n var result = {};\n Object.keys(props).forEach(function (key) {\n result[key] = props[key].value;\n });\n return result;\n}\n\nfunction getUse(data, paths) {\n var obj = [];\n paths.forEach(function (path, index) {\n var isPath = typeof path === 'string';\n if (isPath) {\n obj[index] = getTargetByPath(data, path);\n } else {\n var key = Object.keys(path)[0];\n var value = path[key];\n if (typeof value === 'string') {\n obj[index] = getTargetByPath(data, value);\n } else {\n var tempPath = value[0];\n if (typeof tempPath === 'string') {\n var tempVal = getTargetByPath(data, tempPath);\n obj[index] = value[1] ? value[1](tempVal) : tempVal;\n } else {\n var args = [];\n tempPath.forEach(function (path) {\n args.push(getTargetByPath(data, path));\n });\n obj[index] = value[1].apply(null, args);\n }\n }\n obj[key] = obj[index];\n }\n });\n return obj;\n}\n\nfunction getTargetByPath(origin, path) {\n var arr = path.replace(/]/g, '').replace(/\\[/g, '.').split('.');\n var current = origin;\n for (var i = 0, len = arr.length; i < len; i++) {\n current = current[arr[i]];\n }\n return current;\n}\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nfunction cloneElement(vnode, props) {\n return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);\n}\n\n// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n\n/** Managed queue of dirty components to be re-rendered */\n\nvar items = [];\n\nfunction enqueueRender(component) {\n if (items.push(component) == 1) {\n(options.debounceRendering || defer)(rerender);\n }\n}\n\n/** Rerender all enqueued dirty components */\nfunction rerender() {\n var p;\n while (p = items.pop()) {\n renderComponent(p);\n }\n}\n\nvar mapping = options.mapping;\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nfunction isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined;\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName];\n if (ctor) {\n return hydrating || node._componentConstructor === ctor;\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName);\n }\n return hydrating || node._componentConstructor === vnode.nodeName;\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nfunction isNamedNode(node, nodeName) {\n return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nfunction getNodeProps(vnode) {\n var props = extend({}, vnode.attributes);\n props.children = vnode.children;\n\n var defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (var i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nfunction createNode(nodeName, isSvg) {\n var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);\n node.normalizedNodeName = nodeName;\n return node;\n}\n\nfunction parseCSSText(cssText) {\n var cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ');\n var style = {},\n _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt],\n a = _ref[0],\n b = _ref[1],\n rule = _ref[2];\n\n var cssToJs = function cssToJs(s) {\n return s.replace(/\\W+\\w/g, function (match) {\n return match.slice(-1).toUpperCase();\n });\n };\n var properties = rule.split(';').map(function (o) {\n return o.split(':').map(function (x) {\n return x && x.trim();\n });\n });\n for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator]();;) {\n var _ref3;\n\n if (i) {\n if (i >= i.length) break;\n _ref3 = i[i++];\n } else {\n i = i.next();\n if (i.done) break;\n _ref3 = i.value;\n }\n\n var _ref2 = _ref3;\n var property = _ref2[0];\n var value = _ref2[1];\n style[cssToJs(property)] = value;\n }return style;\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nfunction removeNode(node) {\n var parentNode = node.parentNode;\n if (parentNode) parentNode.removeChild(node);\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nfunction setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class';\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null);\n applyRef(value, node);\n } else if (name === 'class' && !isSvg) {\n node.className = value || '';\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || '';\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (var i in old) {\n if (!(i in value)) node.style[i] = '';\n }\n }\n for (var i in value) {\n node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL$1.test(i) === false ? value[i] + 'px' : value[i];\n }\n }\n } else {\n var oldJson = old,\n currentJson = value;\n if (typeof old === 'string') {\n oldJson = parseCSSText(old);\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value);\n }\n\n var result = {},\n changed = false;\n\n if (oldJson) {\n for (var key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = '';\n changed = true;\n }\n }\n\n for (var ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey];\n changed = true;\n }\n }\n\n if (changed) {\n node.setStyles(result);\n }\n } else {\n node.setStyles(currentJson);\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || '';\n } else if (name[0] == 'o' && name[1] == 'n') {\n var useCapture = name !== (name = name.replace(/Capture$/, ''));\n name = name.toLowerCase().substring(2);\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture);\n node.addEventListener('touchend', touchEnd, useCapture);\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture);\n node.removeEventListener('touchend', touchEnd, useCapture);\n }\n }\n(node._listeners || (node._listeners = {}))[name] = value;\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value);\n if (value == null || value === false) node.removeAttribute(name);\n } else {\n var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));\n if (value == null || value === false) {\n if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name);\n } else if (typeof value !== 'function') {\n if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value);\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value;\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type](options.event && options.event(e) || e);\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX;\n this.___touchY = e.touches[0].pageY;\n this.___scrollTop = document.body.scrollTop;\n}\n\nfunction touchEnd(e) {\n if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }));\n }\n}\n\nvar styleId = 0;\n\nfunction getCtorName(ctor) {\n for (var i = 0, len = options.styleCache.length; i < len; i++) {\n var item = options.styleCache[i];\n\n if (item.ctor === ctor) {\n return item.attrName;\n }\n }\n\n var attrName = 's' + styleId;\n options.styleCache.push({ ctor: ctor, attrName: attrName });\n styleId++;\n\n return attrName;\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nfunction scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']';\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '');\n // eslint-disable-next-line\n var re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g');\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, function (g0, g1, g2, g3) {\n if (typeof g2 === 'undefined') {\n g2 = '';\n }\n\n /* eslint-ignore-next-line */\n if (g1.match(/^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) {\n return g1 + g2 + g3;\n }\n\n var appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2;\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3;\n //return appendClass + ',' + prependClass + g3;\n });\n\n return css;\n}\n\nfunction addStyle(cssText, id) {\n id = id.toLowerCase();\n var ele = document.getElementById(id);\n var head = document.getElementsByTagName('head')[0];\n if (ele && ele.parentNode === head) {\n head.removeChild(ele);\n }\n\n var someThingStyles = document.createElement('style');\n head.appendChild(someThingStyles);\n someThingStyles.setAttribute('type', 'text/css');\n someThingStyles.setAttribute('id', id);\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText;\n } else {\n someThingStyles.textContent = cssText;\n }\n}\n\nfunction addStyleWithoutId(cssText) {\n var head = document.getElementsByTagName('head')[0];\n var someThingStyles = document.createElement('style');\n head.appendChild(someThingStyles);\n someThingStyles.setAttribute('type', 'text/css');\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText;\n } else {\n someThingStyles.textContent = cssText;\n }\n}\n\nfunction addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom);\n }\n}\n\nfunction addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr);\n options.staticStyleMapping[attr] = true;\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style);\n options.staticStyleMapping[attr] = true;\n }\n}\n\nfunction scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {};\n vdom.attributes[attr] = '';\n vdom.css = vdom.css || {};\n vdom.css[attr] = '';\n vdom.children.forEach(function (child) {\n return scopeVdom(attr, child);\n });\n }\n}\n\nfunction scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {};\n for (var key in css) {\n vdom.attributes[key] = '';\n }\n }\n}\n\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nvar mounts = [];\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nvar diffLevel = 0;\n\n/** Global flag indicating if the diff is currently within an SVG */\nvar isSvgMode = false;\n\n/** Global flag indicating if the diff is performing hydration */\nvar hydrating = false;\n\n/** Invoke queued componentDidMount lifecycle methods */\nfunction flushMounts() {\n var c;\n while (c = mounts.pop()) {\n if (options.afterMount) options.afterMount(c);\n if (c.installed) c.installed();\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css, '_s' + getCtorName(c.constructor));\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nfunction diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined;\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !('__omiattr_' in dom);\n }\n var ret;\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n };\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot);\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret);\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (! --diffLevel) {\n hydrating = false;\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts();\n }\n\n return ret;\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n var out = dom,\n prevSvgMode = isSvgMode;\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = '';\n\n // If the VNode represents a Component, perform a component diff:\n var vnodeName = vnode.nodeName;\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName];\n return buildComponentFromVNode(dom, vnode, context, mountAll);\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll);\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode;\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode);\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n recollectNodeTree(dom, true);\n }\n }\n\n //ie8 error\n try {\n out['__omiattr_'] = true;\n } catch (e) {}\n\n return out;\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName);\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode);\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) {\n out.appendChild(dom.firstChild);\n } // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true);\n }\n }\n\n var fc = out.firstChild,\n props = out['__omiattr_'],\n vchildren = vnode.children;\n\n if (props == null) {\n props = out['__omiattr_'] = {};\n for (var a = out.attributes, i = a.length; i--;) {\n props[a[i].name] = a[i].value;\n }\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0];\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if (vchildren && vchildren.length || fc != null) {\n innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props);\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode;\n\n return out;\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n var originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child;\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (var i = 0; i < len; i++) {\n var _child = originalChildren[i],\n props = _child['__omiattr_'],\n key = vlen && props ? _child._component ? _child._component.__key : props.key : null;\n if (key != null) {\n keyedLen++;\n keyed[key] = _child;\n } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {\n children[childrenLen++] = _child;\n }\n }\n }\n\n if (vlen !== 0) {\n for (var i = 0; i < vlen; i++) {\n vchild = vchildren[i];\n child = null;\n\n // attempt to find a node based on key matching\n var key = vchild.key;\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key];\n keyed[key] = undefined;\n keyedLen--;\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {\n child = c;\n children[j] = undefined;\n if (j === childrenLen - 1) childrenLen--;\n if (j === min) min++;\n break;\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll);\n\n f = originalChildren[i];\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child);\n } else if (child === f.nextSibling) {\n removeNode(f);\n } else {\n dom.insertBefore(child, f);\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (var i in keyed) {\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);\n }\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nfunction recollectNodeTree(node, unmountOnly) {\n var component = node._component;\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component);\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node['__omiattr_'] != null) applyRef(node['__omiattr_'].ref, null);\n\n if (unmountOnly === false || node['__omiattr_'] == null) {\n removeNode(node);\n }\n\n removeChildren(node);\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nfunction removeChildren(node) {\n node = node.lastChild;\n while (node) {\n var next = node.previousSibling;\n recollectNodeTree(node, true);\n node = next;\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n var name;\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {\n setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n }\n }\n}\n\nfunction define(name, ctor) {\n options.mapping[name] = ctor;\n if (ctor.use) {\n ctor.updatePath = getPath(ctor.use);\n } else if (ctor.data) {\n //Compatible with older versions\n ctor.updatePath = getUpdatePath(ctor.data);\n }\n}\n\nfunction getPath(obj) {\n if (Object.prototype.toString.call(obj) === '[object Array]') {\n var result = {};\n obj.forEach(function (item) {\n if (typeof item === 'string') {\n result[item] = true;\n } else {\n var tempPath = item[Object.keys(item)[0]];\n if (typeof tempPath === 'string') {\n result[tempPath] = true;\n } else {\n if (typeof tempPath[0] === 'string') {\n result[tempPath[0]] = true;\n } else {\n tempPath[0].forEach(function (path) {\n return result[path] = true;\n });\n }\n }\n }\n });\n return result;\n } else {\n return getUpdatePath(obj);\n }\n}\n\nfunction getUpdatePath(data) {\n var result = {};\n dataToPath(data, result);\n return result;\n}\n\nfunction dataToPath(data, result) {\n Object.keys(data).forEach(function (key) {\n result[key] = true;\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], key, result);\n }\n });\n}\n\nfunction _objToPath(data, path, result) {\n Object.keys(data).forEach(function (key) {\n result[path + '.' + key] = true;\n delete result[path];\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], path + '.' + key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], path + '.' + key, result);\n }\n });\n}\n\nfunction _arrayToPath(data, path, result) {\n data.forEach(function (item, index) {\n result[path + '[' + index + ']'] = true;\n delete result[path];\n var type = Object.prototype.toString.call(item);\n if (type === '[object Object]') {\n _objToPath(item, path + '[' + index + ']', result);\n } else if (type === '[object Array]') {\n _arrayToPath(item, path + '[' + index + ']', result);\n }\n });\n}\n\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nvar components = {};\n\n/** Reclaim a component for later re-use by the recycler. */\nfunction collectComponent(component) {\n var name = component.constructor.name;(components[name] || (components[name] = [])).push(component);\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nfunction createComponent(Ctor, props, context, vnode) {\n var list = components[Ctor.name],\n inst;\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context);\n Component.call(inst, props, context);\n } else {\n inst = new Component(props, context);\n inst.constructor = Ctor;\n inst.render = doRender;\n }\n vnode && (inst.scopedCssAttr = vnode.css);\n\n if (inst.store && inst.store.data) {\n if (inst.constructor.use) {\n inst.use = getUse(inst.store.data, inst.constructor.use);\n inst.store.instances.push(inst);\n } else if (inst.initUse) {\n var use = inst.initUse();\n inst._updatePath = getPath(use);\n inst.use = getUse(inst.store.data, use);\n inst.store.instances.push(inst);\n }\n }\n\n if (list) {\n for (var i = list.length; i--;) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase;\n list.splice(i, 1);\n break;\n }\n }\n }\n return inst;\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context);\n}\n\n/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function obaa(target, arr, callback) {\n var _observe = function _observe(target, arr, callback) {\n if (!target.$observer) target.$observer = this;\n var $observer = target.$observer;\n var eventPropArr = [];\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {};\n target.$observeProps.$observerPath = '#';\n }\n $observer.mock(target);\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n }\n } else {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n }\n }\n }\n $observer.target = target;\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];\n var propChanged = callback ? callback : arr;\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n });\n };\n _observe.prototype = {\n onPropertyChanged: function onPropertyChanged(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path);\n for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {\n var handler = this.propertyChangedHandler[i];\n if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || rootName.indexOf('Array-') === 0) {\n handler.propChanged.call(this.target, prop, value, oldValue, path);\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath);\n }\n },\n mock: function mock(target) {\n var self = this;\n obaa.methods.forEach(function (item) {\n target[item] = function () {\n var old = Array.prototype.slice.call(this, 0);\n var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath);\n }\n }\n //todo\n self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);\n }\n return result;\n };\n target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function () {\n return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));\n };\n });\n },\n watch: function watch(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return;\n if (obaa.isFunction(target[prop])) return;\n if (!target.$observeProps) target.$observeProps = {};\n if (path !== undefined) {\n target.$observeProps.$observerPath = path;\n } else {\n target.$observeProps.$observerPath = '#';\n }\n var self = this;\n var currentValue = target.$observeProps[prop] = target[prop];\n Object.defineProperty(target, prop, {\n get: function get() {\n return this.$observeProps[prop];\n },\n set: function set(value) {\n var old = this.$observeProps[prop];\n this.$observeProps[prop] = value;\n self.onPropertyChanged(prop, value, old, this, target.$observeProps.$observerPath);\n }\n });\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue);\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {};\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path;\n } else {\n currentValue.$observeProps.$observerPath = '#';\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);\n }\n }\n }\n }\n };\n return new _observe(target, arr, callback);\n};\n\nobaa.methods = ['concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size'];\nobaa.triggerStr = ['concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size'].join(',');\n\nobaa.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n};\n\nobaa.isString = function (obj) {\n return typeof obj === 'string';\n};\n\nobaa.isInArray = function (arr, item) {\n for (var i = arr.length; --i > -1;) {\n if (item === arr[i]) return true;\n }\n return false;\n};\n\nobaa.isFunction = function (obj) {\n return Object.prototype.toString.call(obj) == '[object Function]';\n};\n\nobaa._getRootName = function (prop, path) {\n if (path === '#') {\n return prop;\n }\n return path.split('-')[1];\n};\n\nobaa.add = function (obj, prop) {\n var $observer = obj.$observer;\n $observer.watch(obj, prop);\n};\n\nobaa.set = function (obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value;\n }\n var $observer = obj.$observer;\n $observer.watch(obj, prop);\n if (exec) {\n obj[prop] = value;\n }\n};\n\nArray.prototype.size = function (length) {\n this.length = length;\n};\n\nvar callbacks = [];\nvar nextTickCallback = [];\n\nfunction fireTick() {\n callbacks.forEach(function (item) {\n item.fn.call(item.scope);\n });\n\n nextTickCallback.forEach(function (nextItem) {\n nextItem.fn.call(nextItem.scope);\n });\n nextTickCallback.length = 0;\n}\n\nfunction proxyUpdate(ele) {\n var timeout = null;\n obaa(ele.data, function () {\n if (ele._willUpdate) {\n return;\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout);\n\n timeout = setTimeout(function () {\n ele.update();\n fireTick();\n }, 0);\n } else {\n ele.update();\n fireTick();\n }\n });\n}\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nfunction setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return;\n component._disable = true;\n\n if (component.__ref = props.ref) delete props.ref;\n if (component.__key = props.key) delete props.key;\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall();\n if (component.install) component.install();\n if (component.constructor.observe) {\n proxyUpdate(component);\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props);\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context;\n component.context = context;\n }\n\n if (!component.prevProps) component.prevProps = component.props;\n component.props = props;\n\n component._disable = false;\n\n if (opts !== 0) {\n if (opts === 1 || options.syncComponentUpdates !== false || !component.base) {\n renderComponent(component, 1, mountAll);\n } else {\n enqueueRender(component);\n }\n }\n\n applyRef(component.__ref, component);\n}\n\nfunction shallowComparison(old, attrs) {\n var name;\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true;\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true;\n }\n\n for (name in attrs) {\n if (name != 'children') {\n var type = typeof attrs[name];\n if (type == 'function' || type == 'object') {\n return true;\n } else if (attrs[name] != old[name]) {\n return true;\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nfunction renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return;\n\n var props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase;\n\n // if updating\n if (isUpdate) {\n component.props = previousProps;\n component.data = previousState;\n component.context = previousContext;\n if (component.store || opts == 2 || shallowComparison(previousProps, props)) {\n skip = false;\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context);\n }\n } else {\n skip = true;\n }\n component.props = props;\n component.data = data;\n component.context = context;\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null;\n\n if (!skip) {\n component.beforeRender && component.beforeRender();\n rendered = component.render(props, data, context);\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));\n }\n\n scopeHost(rendered, component.scopedCssAttr);\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext());\n }\n\n var childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent];\n\n if (ctor) {\n // set up high order component link\n\n var childProps = getNodeProps(rendered);\n inst = initialChildComponent;\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, 1, context, false);\n } else {\n toUnmount = inst;\n\n component._component = inst = createComponent(ctor, childProps, context);\n inst.nextBase = inst.nextBase || nextBase;\n inst._parentComponent = component;\n setComponentProps(inst, childProps, 0, context, false);\n renderComponent(inst, 1, mountAll, true);\n }\n\n base = inst.base;\n } else {\n cbase = initialBase;\n\n // destroy high order component link\n toUnmount = initialChildComponent;\n if (toUnmount) {\n cbase = component._component = null;\n }\n\n if (initialBase || opts === 1) {\n if (cbase) cbase._component = null;\n base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true);\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n var baseParent = initialBase.parentNode;\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase);\n\n if (!toUnmount) {\n initialBase._component = null;\n recollectNodeTree(initialBase, false);\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount);\n }\n\n component.base = base;\n if (base && !isChild) {\n var componentRef = component,\n t = component;\n while (t = t._parentComponent) {\n(componentRef = t).base = base;\n }\n base._component = componentRef;\n base._componentConstructor = componentRef.constructor;\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component);\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext);\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext);\n }\n if (options.afterUpdate) options.afterUpdate(component);\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length) {\n component._renderCallbacks.pop().call(component);\n }\n }\n\n if (!diffLevel && !isChild) flushMounts();\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nfunction buildComponentFromVNode(dom, vnode, context, mountAll) {\n var c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode);\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName;\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, 3, context, mountAll);\n dom = c.base;\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent);\n dom = oldDom = null;\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode);\n if (dom && !c.nextBase) {\n c.nextBase = dom;\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null;\n }\n setComponentProps(c, props, 1, context, mountAll);\n dom = c.base;\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null;\n recollectNodeTree(oldDom, false);\n }\n }\n\n return dom;\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nfunction unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component);\n\n var base = component.base;\n\n component._disable = true;\n\n if (component.uninstall) component.uninstall();\n\n if (component.store && component.store.instances) {\n for (var i = 0, len = component.store.instances.length; i < len; i++) {\n if (component.store.instances[i] === component) {\n component.store.instances.splice(i, 1);\n break;\n }\n }\n }\n\n component.base = null;\n\n // recursively tear down & recollect high-order component children:\n var inner = component._component;\n if (inner) {\n unmountComponent(inner);\n } else if (base) {\n if (base['__omiattr_'] != null) applyRef(base['__omiattr_'].ref, null);\n\n component.nextBase = base;\n\n removeNode(base);\n collectComponent(component);\n\n removeChildren(base);\n }\n\n applyRef(component.__ref, null);\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar id = 0;\n\nvar Component = function () {\n function Component(props, store) {\n _classCallCheck(this, Component);\n\n this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);\n this.elementId = id++;\n this.data = this.constructor.data || this.data || {};\n\n this._preCss = null;\n\n this.store = store;\n }\n\n Component.prototype.update = function update(callback) {\n this._willUpdate = true;\n if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback);\n renderComponent(this, 2);\n if (options.componentChange) options.componentChange(this, this.base);\n this._willUpdate = false;\n };\n\n Component.prototype.fire = function fire(type, data) {\n var _this = this;\n\n Object.keys(this.props).every(function (key) {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n _this.props[key]({ detail: data });\n return false;\n }\n return true;\n });\n };\n\n Component.prototype.render = function render() {};\n\n return Component;\n}();\n\nComponent.is = 'WeElement';\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nfunction render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent;\n obsStore(store);\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n }\n\n if (merge) {\n merge = typeof merge === 'string' ? document.querySelector(merge) : merge;\n }\n\n return diff(merge, vnode, store, false, parent, false);\n}\n\nfunction obsStore(store) {\n if (store && store.data) {\n store.instances = [];\n extendStoreUpate(store);\n\n obaa(store.data, function (prop, val, old, path) {\n var patchs = {};\n var key = fixPath(path + '-' + prop);\n patchs[key] = true;\n store.update(patchs);\n });\n }\n}\n\nfunction merge(vnode, merge, store) {\n obsStore(store);\n\n merge = typeof merge === 'string' ? document.querySelector(merge) : merge;\n\n return diff(merge, vnode, store);\n}\n\nfunction extendStoreUpate(store) {\n store.update = function (patch) {\n var _this = this;\n\n var updateAll = matchGlobalData(this.globalData, patch);\n if (Object.keys(patch).length > 0) {\n this.instances.forEach(function (instance) {\n if (updateAll || _this.updateAll || instance.constructor.updatePath && needUpdate(patch, instance.constructor.updatePath) || instance._updatePath && needUpdate(patch, instance._updatePath)) {\n //update this.use\n if (instance.constructor.use) {\n instance.use = getUse(store.data, instance.constructor.use);\n } else if (instance.initUse) {\n instance.use = getUse(store.data, instance.initUse());\n }\n\n instance.update();\n }\n });\n this.onChange && this.onChange(patch);\n }\n };\n}\n\nfunction matchGlobalData(globalData, diffResult) {\n if (!globalData) return false;\n for (var keyA in diffResult) {\n if (globalData.indexOf(keyA) > -1) {\n return true;\n }\n for (var i = 0, len = globalData.length; i < len; i++) {\n if (includePath(keyA, globalData[i])) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction needUpdate(diffResult, updatePath) {\n for (var keyA in diffResult) {\n if (updatePath[keyA]) {\n return true;\n }\n for (var keyB in updatePath) {\n if (includePath(keyA, keyB)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction includePath(pathA, pathB) {\n if (pathA.indexOf(pathB) === 0) {\n var next = pathA.substr(pathB.length, 1);\n if (next === '[' || next === '.') {\n return true;\n }\n }\n return false;\n}\n\nfunction fixPath(path) {\n var mpPath = '';\n var arr = path.replace('#-', '').split('-');\n arr.forEach(function (item, index) {\n if (index) {\n if (isNaN(Number(item))) {\n mpPath += '.' + item;\n } else {\n mpPath += '[' + item + ']';\n }\n } else {\n mpPath += item;\n }\n });\n return mpPath;\n}\n\nfunction rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, function (a, b) {\n return window.innerWidth * Number(b) / 750 + 'px';\n });\n}\n\nfunction tag(name) {\n return function (target) {\n define(name, target);\n };\n}\n\nfunction _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ModelView = function (_Component) {\n _inherits(ModelView, _Component);\n\n function ModelView() {\n _classCallCheck$1(this, ModelView);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n ModelView.prototype.beforeInstall = function beforeInstall() {\n this.data = this.vm.data;\n };\n\n return ModelView;\n}(Component);\n\nModelView.observe = true;\nModelView.mergeUpdate = true;\n\n/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty;\n\nfunction classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n\nfunction extractClass() {\n var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),\n props = _Array$prototype$slic[0],\n args = _Array$prototype$slic.slice(1);\n\n if (props) {\n if (props['class']) {\n args.unshift(props['class']);\n delete props['class'];\n } else if (props.className) {\n args.unshift(props.className);\n delete props.className;\n }\n }\n if (args.length > 0) {\n return { 'class': classNames.apply(null, args) };\n }\n}\n\nfunction getHost(component) {\n var base = component.base;\n if (base) {\n while (base.parentNode) {\n if (base.parentNode._component) {\n return base.parentNode._component;\n } else {\n base = base.parentNode;\n }\n }\n }\n}\n\n/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nvar encodeEntities = function encodeEntities(s) {\n return String(s).replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"');\n};\n\nvar indent = function indent(s, char) {\n return String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n};\n\nvar mapping$1 = options.mapping;\n\nvar VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nvar isLargeString = function isLargeString(s, length, ignoreLines) {\n return String(s).length > (length || 40) || !ignoreLines && String(s).indexOf('\\n') !== -1 || String(s).indexOf('<') !== -1;\n};\n\nvar JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n var str = '';\n for (var prop in s) {\n var val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\nfunction renderToString(vnode, opts, store, isSvgMode) {\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n }, opts);\n var css = {};\n var html = _renderToString(vnode, opts, store, isSvgMode, css);\n return {\n css: Object.values(css),\n html: html\n };\n}\n\n/** The default export is an alias of `render()`. */\nfunction _renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n var nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n\n var pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n var ctor = mapping$1[nodeName];\n if (ctor) {\n isComponent = true;\n\n var props = getNodeProps$1(vnode),\n rendered;\n // class-based components\n var c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n\n if (opts.scopedCSS) {\n\n if (c.constructor.css || c.css) {\n\n var cssStr = c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css;\n var cssAttr = '_s' + getCtorName(c.constructor);\n css[cssAttr] = {\n id: cssAttr,\n css: scoper(cssStr, cssAttr)\n };\n addScopedAttrStatic(rendered, cssAttr);\n }\n\n c.scopedCSSAttr = vnode.css;\n scopeHost(rendered, c.scopedCSSAttr);\n }\n\n return _renderToString(rendered, opts, store, false, css);\n }\n\n // render JSX to HTML\n var s = '',\n html;\n\n if (attributes) {\n var attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (var i = 0; i < attrs.length; i++) {\n var name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes['class']) continue;\n name = 'class';\n } else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n } else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ' ' + name + '=\"' + encodeEntities(v) + '\"';\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n var sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = '<' + nodeName + s + '>';\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n var isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n var pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n } else if (vnode.children) {\n var hasLarge = pretty && ~s.indexOf('\\n');\n for (var i = 0; i < vnode.children.length; i++) {\n var child = vnode.children[i];\n if (child != null && child !== false) {\n var childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = _renderToString(child, opts, store, childSvgMode, css);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (var i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n } else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += '' + nodeName + '>';\n }\n\n return s;\n}\n\nfunction assign$1(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\nfunction getNodeProps$1(vnode) {\n var props = assign$1({}, vnode.attributes);\n props.children = vnode.children;\n\n var defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (var i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}\n\nvar n=function(t,r,u,e){for(var p=1;p\"===t?(a(), u=1):u&&(\"=\"===t?(u=4, r=e, e=\"\"):\"/\"===t?(a(), 3===u&&(s=s[0]), u=s, (s=s[0]).push(u,4), u=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(a(), u=2):e+=t);}return a(), s},r=\"function\"==typeof Map,u=r?new Map:{},e=r?function(n){var r=u.get(n);return r||u.set(n,r=t(n)), r}:function(n){for(var r=\"\",e=0;e1?r:r[0]}\n\nvar html = htm.bind(h);\n\nvar WeElement = Component;\nvar defineElement = define;\nfunction createRef() {\n return {};\n}\n\noptions.root.Omi = {\n h: h,\n createElement: h,\n cloneElement: cloneElement,\n createRef: createRef,\n Component: Component,\n render: render,\n rerender: rerender,\n options: options,\n WeElement: WeElement,\n define: define,\n rpx: rpx,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n getHost: getHost,\n renderToString: renderToString,\n tag: tag,\n merge: merge,\n html: html,\n htm: htm\n};\noptions.root.omi = options.root.Omi;\noptions.root.Omi.version = 'omio-2.2.1';\n\nvar omi = {\n h: h,\n createElement: h,\n cloneElement: cloneElement,\n createRef: createRef,\n Component: Component,\n render: render,\n rerender: rerender,\n options: options,\n WeElement: WeElement,\n define: define,\n rpx: rpx,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n getHost: getHost,\n renderToString: renderToString,\n tag: tag,\n merge: merge,\n html: html,\n htm: htm\n};\n\nexport default omi;\nexport { h, h as createElement, cloneElement, createRef, Component, render, rerender, options, WeElement, define, rpx, ModelView, defineElement, classNames, extractClass, getHost, renderToString, tag, merge, html, htm };\n//# sourceMappingURL=omi.esm.js.map\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/omio/dist/omi.esm.js","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/css-loader/lib/css-base.js","import { define, WeElement } from 'omi'\n\nimport './my-head'\nimport './my-content'\nimport './my-sidebar'\nimport './my-demo'\n\ndefine('my-frame', class extends WeElement {\n\n installed(){\n this.store.init()\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-frame.js","import { define, WeElement } from 'omi'\nimport logo from './omi-logo2019.svg'\n\ndefine('my-head', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position'\n ]\n\n toggleMenus = evt => {\n this.store.toogleSidebar()\n evt.stopPropagation()\n }\n\n hideSidebar = evt => {\n this.store.hideSidebar()\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-head/index.js","module.exports = __webpack_public_path__ + \"static/media/omi-logo2019.923166c3.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/omi-logo2019.svg\n// module id = 13\n// module chunks = 124 125","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAqklEQVRoQ+2WQQ6AMAgE4f+Pxg+oSTNbDXR7Z5UZQpvR/GTz/w838LdBG7ABSMAjBAHichvACGHAXANVVRCOtDwzb2E/GnADUv4R5xkQA9wWN3cLbUMmDrYBMdDluLkGfJEtD8N7wXkXWfsREk/Atri5W2gbMnGwDYiBLsfNNdB+jbqB5Wn2U0KM7KO4uVvoI4D4MzaAEcIAG4AAcbkNYIQwwAYgQFze3sAFU6MwMZGH3LoAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/menu.png\n// module id = 14\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/_index.css\n// module id = 15\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".head{\\n position:fixed;\\n height:60px;\\n line-height: 60px;\\n border-bottom: 1px solid #eee;\\n width:100%;\\n background-color:#24292e;\\n z-index:100;\\n top: 0;\\n}\\n\\nul,li{\\n display: inline-block;\\n}\\n\\n.logo_box{\\n width:100px;\\n display: inline-block;\\n text-align:center;\\n line-height: 60px;\\n}\\n\\n.menu a,.logo_box a{\\n display: inline-block;\\n height:60px;\\n color: white;\\n}\\n\\n.menu{\\n position: absolute;\\n right:20px;\\n}\\n\\n.menu li{\\n margin-left:15px;\\n}\\n\\n.logo_box a{\\n font-size: 34px;\\n font-weight: bold;\\n color: #00bff3;\\n padding: 0px 15px;\\n line-height: 60px;\\n cursor: pointer;\\n}\\n\\n.menu a:hover{\\n color: white;\\n}\\n\\n.m_menu{\\n position:fixed;\\n display:none;\\n cursor: pointer;\\n}\\n\\n.menu li{\\n display:inline-block;\\n}\\n\\n.logo{\\n width: 40px;\\n height: 40px;\\n margin-left: 10px;\\n margin-top: 10px;\\n cursor: pointer;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n\\n .logo_box{\\n display:inline-block;\\n }\\n\\n .logo{\\n display: none;\\n }\\n\\n .head{\\n text-align:center;\\n }\\n\\n .m_menu{\\n top:0;\\n left:0;\\n display:block;\\n width:50px;\\n height:50px;\\n padding-top: 6px;\\n }\\n\\n .m_menu img{\\n width:30px;\\n }\\n\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-head/_index.css\n// module id = 16\n// module chunks = 124 125","import { render } from 'omi'\nimport './assets/index.css'\nimport './elements/my-frame.js'\nimport Store from './store'\n\nrender(, '#root', new Store({ lan: 'zh-cn' }))\n\n\n\n// WEBPACK FOOTER //\n// ./src/cn.js","import { define, WeElement } from 'omi'\nimport '../my-footer'\n\ndefine('my-content', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'html'\n ]\n\n install() {\n this.store.myContent = this\n }\n\n installed() {\n this.initCodeStyle()\n }\n\n afterUpdate() {\n this.initCodeStyle()\n }\n\n touchEnd = () => {\n this.store.hideSidebar()\n }\n\n initCodeStyle() {\n let codes = document.querySelectorAll('code')\n\n let codesArr = Array.prototype.slice.call(codes);\n let codeHlNumArr = []\n codesArr.forEach(code => {\n let arr = code.className.match(/{([\\S\\s]*)}/)\n let pre = code.parentNode\n //bug!\n arr && pre.setAttribute('data-line', arr[1])\n if (code.className) {\n pre.className = code.className\n\n const temp = code.className.match(/language-\\w*/g)[0]\n if (temp) {\n code.innerHTML = Prism.highlight(code.innerText, Prism.languages[temp.split('-')[1]], temp.split('-')[1])\n }\n } else {\n let pre = code.parentNode\n code.className = 'language-markup'\n pre.className = 'language-markup'\n code.innerHTML = Prism.highlight(code.innerText, Prism.languages.markup, 'markup')\n }\n // let hllNums = null\n // if (arr) {\n // let numArr = arr[0].replace(/[{|}]/g, '').split(',')\n // hllNums = this._arrToNumber(numArr)\n // }\n //codeHlNumArr.push(hllNums)\n })\n\n // codesArr.forEach((code, index) => {\n // let newP = document.createElement('div')\n // newP.className = '_code-ctn'\n // let pre = code.parentNode\n // let ctn = pre.parentNode\n // if (pre.nodeName === 'PRE') {\n // ctn.insertBefore(newP, pre)\n\n // let hl = document.createElement('div')\n // hl.className = '_hl'\n // newP.appendChild(hl)\n // newP.appendChild(pre)\n // let nums = codeHlNumArr[index]\n\n // let max = Math.max.apply(null, nums)\n\n // let inner = ''\n // for (let i = 0; i <= max; i++) {\n // if (nums.indexOf(i) == -1) {\n // inner += '
'\n // } else {\n // inner += ''\n // }\n // }\n // hl.innerHTML = inner\n // }\n // })\n //fix line-highlight\n window.dispatchEvent(new Event('resize'));\n }\n\n _arrToNumber(numArr) {\n let arr = []\n numArr.forEach(item => {\n if (item.indexOf('-') !== -1) {\n const tempArr = item.split('-')\n const begin = Number(tempArr[0])\n const end = Number(tempArr[1])\n for (let i = begin; i < end + 1; i++) {\n arr.push(i)\n }\n } else {\n arr.push(Number(item))\n }\n })\n return arr\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-content/index.js","import { define, WeElement } from 'omi'\n\ndefine('my-footer', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position',\n 'menu'\n ]\n\n render() {\n const [\n position,\n menus\n ] = this.use\n const pre = this.store.getPre()\n const next = this.store.getNext()\n // console.log(pre,next)\n return (\n \n )\n }\n\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-footer/index.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-footer/_index.css\n// module id = 19\n// module chunks = 124 125","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\n} catch(e) {\n\t// This works if the window reference is available\n\tif(typeof window === \"object\")\n\t\tg = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n\n// WEBPACK FOOTER //\n// (webpack)/buildin/global.js","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".ft{\\n position: relative;\\n margin-top: 20px\\n}\\n\\n.pre{\\n position: absolute;\\n left:15px;\\n}\\n\\n.next{\\n position: absolute;\\n right: 15px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-footer/_index.css\n// module id = 20\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-content/_index.css\n// module id = 21\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".content{\\n margin-top: 60px;\\n margin-bottom: 30px;\\n margin-left: 260px;\\n padding: 1px 10px 10px 20px;\\n color: #24292e;\\n /* overflow: hidden; */\\n max-width: 900px;\\n}\\n\\nh3{\\n color:#444444;\\n}\\n\\npre{\\n border: 1px solid #eee;\\n width: 100%;\\n}\\nli{\\n text-indent: 20px;\\n list-style:disc inside ;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n .content{\\n margin-left: 0;\\n border-left: none;\\n padding: 1px 10px 10px 10px;\\n }\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-content/_index.css\n// module id = 22\n// module chunks = 124 125","import { define, WeElement } from 'omi'\nimport '../my-list'\n\ndefine('my-sidebar', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'menus',\n 'sideBarShow',\n 'lan'\n ]\n\n render() {\n const [menus, sideBarShow, lan] = this.use\n\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-sidebar/index.js","import { define, WeElement } from 'omi'\n\ndefine('my-list', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position'\n ]\n\n render(props) {\n const [position] = this.use\n\n return (\n \n - {props.menu.title}
\n {props.menu.list &&\n props.menu.list.map((item, subIndex) => {\n const cls = position[0] === props.index && position[1] === subIndex ? { class: 'current' } : null\n return - \n \n {item.name}\n \n
\n })}\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-list/index.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-list/_index.css\n// module id = 25\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"li.title{\\n font-size: 14px;\\n font-weight: bold;\\n margin-bottom:10px;\\n margin-top:10px;\\n text-indent: 23px;\\n}\\nli{\\n margin-bottom:1px;\\n text-indent: 33px;\\n}\\nli a{\\n display:block;\\n font-size:14px;\\n height:30px;\\n line-height:30px;\\n color: black;\\n background-color:#eee;\\n}\\nli a.current,li a.current:hover{\\n background-color:#24292e;\\n color: white;\\n cursor: default;\\n}\\nli a:hover{\\n background-color:#f0f8ff;\\n}\\n\\n\\nul,li{\\n list-style:none;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-list/_index.css\n// module id = 26\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-sidebar/_index.css\n// module id = 27\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"@media only screen and (max-width: 768px) {\\n .list{\\n transform: translateX(-100%);\\n background-color:white;\\n left:0 !important;\\n -moz-transition: all .6s ease;\\n -o-transition: all .6s ease;\\n -webkit-transition: all .6s ease;\\n transition: all .6s ease;\\n width: 70% !important;\\n z-index: 100000;\\n border-right: none !important;\\n }\\n\\n .list.show {\\n -moz-transform: translateX(0%) translateZ(0);\\n -ms-transform: translateX(0%) translateZ(0);\\n -o-transform: translateX(0%) translateZ(0);\\n -webkit-transform: translateX(0%) translateZ(0);\\n transform: translateX(0%) translateZ(0);\\n }\\n}\\n\\n.list{\\n width: 261px;\\n text-indent: 20px;\\n border-right: 1px solid #eee;\\n overflow-x: hidden;\\n overflow-y: auto;\\n position:fixed;\\n top:60px;\\n background-color: white;\\n height: 100%;\\n border-right: 1px solid #ccc;\\n padding-bottom: 100px;\\n}\\n.version{\\n height:20px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-sidebar/_index.css\n// module id = 28\n// module chunks = 124 125","import { define, WeElement } from 'omi'\nimport css from './_index.css'\n\ndefine('my-demo', class extends WeElement {\n install() {\n this.store.myDemo = this\n if (this.checkPc())\n this.show = true\n else\n this.show = false\n this.demo = this.store.demo\n }\n\n css() {\n return css\n }\n\n checkPc() {\n let userAgentInfo = navigator.userAgent\n let mp = [\"Android\", \"iPhone\", \"SymbianOS\", \"Windows Phone\", \"iPad\", \"iPod\"]\n for (let i = 0; i < mp.length; i++)\n if (userAgentInfo.indexOf(mp[i]) > 0)\n return false\n return true\n }\n\n toggle = () => {\n this.show = !this.show\n this.update()\n }\n\n render() {\n if (!this.demo) return\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-demo/index.js","'use strict';\n\nvar asap = require('asap/raw');\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/core.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-demo/_index.css\n// module id = 30\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"iframe{\\n width: 750px;\\n height: 100%;\\n top: 60px;\\n right: 0;\\n position: fixed;\\n border: none;\\n z-index: 9999;\\n border-left: 2px solid #24292E; \\n min-width: 320px;\\n background-color: white;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n iframe{\\n width: 100%;\\n min-width: 100%;\\n }\\n}\\n\\n.icon{\\n position: fixed;\\n right: 50px;\\n bottom: 50px;\\n cursor: pointer;\\n width:50px;\\n height:50px;\\n background-color: rgb(96, 101, 114);\\n text-align: center;\\n height: 50px;\\n line-height: 56px;\\n border-radius: 50%;\\n z-index: 10000;\\n \\n}\\n\\nsvg{\\n transition: left .5s ease;\\n left:0;\\n color: white;\\n position: relative;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-demo/_index.css\n// module id = 31\n// module chunks = 124 125","import config from '../docs/config.js'\nimport 'omi-router'\n\nclass Store {\n constructor(data) {\n this.data = {\n position: [-1, -1],\n menus: config.menus,\n lan: data.lan,\n html: '',\n sideBarShow: window.innerWidth > 768\n }\n let id = 0\n this.map = {}\n this.positionMap = {}\n config.menus[this.data.lan].forEach((menu, index) => {\n menu.list.forEach((item, subIndex) => {\n item.id = id++\n item.position = [index, subIndex]\n this.map[item.id] = item\n item.index = index\n item.subIndex = subIndex\n this.positionMap[index+'-'+subIndex] = item\n })\n })\n this.preIndex = 0\n this.preSubIndex = 0\n }\n\n getNext(){\n const item = this.positionMap[this.data.position.join('-')]\n if(item){\n return this.map[item.id+1]\n }\n }\n\n getPre(){\n const item = this.positionMap[this.data.position.join('-')]\n if(item){\n return this.map[item.id-1]\n }\n }\n\n init() {\n this.remarkable = new Remarkable({ html: true })\n if (location.hash === \"\") {\n this.data.position = [0, 0]\n this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md, this.data.lan, m => {\n this.data.html = this.remarkable.render(m)\n })\n }\n this.demo = this.data.menus[this.data.lan][0].list[0].demo\n this.initRouter()\n }\n\n toogleSidebar() {\n this.data.sideBarShow = !this.data.sideBarShow\n }\n\n hideSidebar() {\n this.data.sideBarShow = false\n }\n\n initRouter() {\n const menus = this.data.menus[this.data.lan]\n menus.forEach(item => {\n item.list.forEach(subItem => {\n route('/' + subItem.md, evt => {\n menus[this.preIndex].list[this.preSubIndex].selected = false\n this.preIndex = evt.query.index\n this.preSubIndex = evt.query.subIndex\n this.data.position = [Number(evt.query.index), Number(evt.query.subIndex)]\n this.data.sideBarShow = false\n this.myDemo.demo = menus[this.preIndex].list[this.preSubIndex].demo\n this.myDemo.update()\n\n this.getMarkDown(subItem.md, this.data.lan, m => {\n this.data.html = this.remarkable.render(m)\n document.body.scrollTop = 0\n document.documentElement.scrollTop = 0\n })\n })\n })\n })\n }\n\n getMarkDown(name, lan, callback) {\n import('../docs/' + lan + '/' + name + '.md').then(m => {\n callback(m)\n })\n }\n}\n\nexport default Store\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","const config = {\n menus: {\n 'zh-cn': [\n {\n title: 'Omim',\n list: [\n { name: '简介', md: 'introduction' }\n ]\n },\n {\n title: '基础',\n list: [\n { name: 'Button 按钮', md: 'button', demo: './repl/button.html' },\n { name: 'Fab 动作按钮', md: 'fab', demo: './repl/fab.html' },\n { name: 'Icon 图标', md: 'icon', demo: './repl/icon.html' },\n { name: 'IconButton 图标按钮', md: 'icon-button', demo: './repl/icon-button.html' },\n { name: 'Avatar 头像', md: 'avatar', demo: './repl/avatar.html' },\n { name: 'Loading 加载', md: 'loading', demo: './repl/loading.html' },\n { name: 'Breadcrumb 面包屑', md: 'breadcrumb', demo: './repl/breadcrumb.html' }\n ]\n },\n {\n title: '公用',\n list: [\n { name: 'Transition 过渡', md: 'transition', demo: 'https://tencent.github.io/omi/packages/omim/demos/transition/index.html' },\n { name: 'To 运动', md: 'to', demo: 'https://tencent.github.io/omi/packages/omim/demos/to/index.html' },\n { name: 'Theme 主题', md: 'theme', demo: 'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html' },\n { name: 'Typography 排版', md: 'typography', demo: './repl/typography.html' },\n { name: 'Layout Grid 网格布局', md: 'layout-grid', demo: 'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html' }\n ]\n },\n {\n title: '布局',\n list: [\n { name: 'Row 行', md: 'row', demo: './repl/row.html' },\n\n { name: 'Elevation 高度盒', md: 'elevation', demo: './repl/elevation.html' },\n { name: 'Image List 图片列表', md: 'image-list', demo: './repl/image-list.html' }\n ]\n },\n {\n title: '导航',\n list: [\n { name: 'Menu 菜单', md: 'menu', demo: './repl/menu.html' },\n { name: 'Drawer 抽屉', md: 'drawer', demo: 'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html' },\n { name: 'Tab 标签切换', md: 'tab', demo: './repl/tab.html' },\n { name: 'Nav 导航', md: 'nav', demo: './repl/nav.html' },\n { name: 'Pagination 分页', md: 'pagination', demo: 'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html' },\n { name: 'Top App Bar 顶部栏', md: 'top-app-bar', demo: 'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html' }\n ]\n },\n {\n title: '操作反馈',\n list: [\n {name: 'Dialog 对话框', md: 'dialog', demo: './repl/dialog.html'},\n {name: 'Snackbar 提醒', md: 'snackbar', demo: './repl/snackbar.html'},\n {name: 'ActionSheet 行动表', md: 'action-sheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},\n {name: 'ColorPicker 颜色选择机', md: 'color-picker', demo: './repl/color-picker.html'},\n { name: 'Popover 提示', md: 'popover', demo: 'https://tencent.github.io/omi/packages/omim/demos/popover/index.html' },\n { name: 'Toast 弹出提示', md: 'toast', demo: 'https://tencent.github.io/omi/packages/omim/demos/toast/index.html' }\n ]\n },\n {\n title: '表单',\n list: [\n { name: 'Text Field 文本输入', md: 'text-field', demo: './repl/text-field.html' },\n { name: 'Select 下拉选择', md: 'select', demo: './repl/select.html' },\n { name: 'Checkbox 复选框', md: 'checkbox', demo: './repl/checkbox.html' },\n { name: 'Radio 单选框', md: 'radio', demo: './repl/radio.html' },\n { name: 'Switch 切换', md: 'switch', demo: './repl/switch.html' },\n { name: 'DateTimePicker 时间日期选择器', md: 'date-time-picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html' },\n { name: 'Picker 原生选择器', md: 'picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html' },\n { name: 'TransferList 穿梭列表', md: 'transfer-list', demo: 'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html' }\n ]\n },\n {\n title: '数据',\n list: [\n { name: 'List 列表', md: 'list', demo: './repl/list.html' },\n { name: 'Table 表格', md: 'table', demo: 'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html' },\n { name: 'Linear Progress 线性进度', md: 'linear-progress', demo: './repl/linear-progress.html' },\n { name: 'Slider 滑块', md: 'slider', demo: './repl/slider.html' },\n { name: 'Chips 标签', md: 'chips', demo: './repl/chips.html' },\n { name: 'Tag 标签', md: 'tag', demo: './repl/tag.html' },\n { name: 'Badge 徽章', md: 'badge', demo: './repl/badge.html' },\n { name: 'Tree 树', md: 'tree', demo: './repl/tree.html' },\n { name: 'Card 卡片', md: 'card', demo: './repl/card.html' },\n { name: 'Path Progress 路径进度', md: 'path-progress', demo: './repl/path-progress.html' },\n { name: 'Paper 纸片', md: 'paper', demo: './repl/paper.html' },\n { name: 'Step 步骤', md: 'step', demo: './repl/step.html' },\n { name: 'Simple Card 简单卡片', md: 'simple-card', demo: './repl/simple-card.html' },\n { name: 'Editor 富文本编辑器', md: 'editor', demo: 'https://tencent.github.io/omi/packages/omim/demos/editor/index.html' },\n { name: 'Spreadsheet 电子表格', md: 'spreadsheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html' },\n { name: 'Rate 评分', md: 'rate', demo: 'https://tencent.github.io/omi/packages/omim/demos/rate/index.html' }\n ]\n },\n {\n title: '图表',\n list: [\n { name: '简介', md: 'introduction-chart' },\n { name: '柱状图', md: 'bar', demo: './repl/bar.html' },\n { name: '线状图', md: 'line', demo: './repl/line.html' },\n { name: '散点图', md: 'scatter', demo: './repl/scatter.html' },\n { name: '饼图', md: 'pie', demo: './repl/pie.html' },\n { name: '环状图', md: 'doughnut', demo: './repl/doughnut.html' },\n { name: '雷达图', md: 'radar', demo: './repl/radar.html' },\n { name: '极区图', md: 'polar-area', demo: './repl/polar-area.html' },\n { name: '气泡图', md: 'bubble', demo: './repl/bubble.html' },\n { name: '合成图', md: 'bar-line', demo: './repl/bar-line.html' }\n ]\n }\n ],\n en: [\n {\n title: 'Omim',\n list: [\n { name: 'Introduction', md: 'introduction' }\n ]\n },\n {\n title: 'Base',\n list: [\n { name: 'Button', md: 'button', demo: './repl/button.html' },\n { name: 'Fab', md: 'fab', demo: './repl/fab.html' },\n { name: 'Icon', md: 'icon', demo: './repl/icon.html' },\n { name: 'IconButton', md: 'icon-button', demo: './repl/icon-button.html' },\n { name: 'Avatar', md: 'avatar', demo: './repl/avatar.html' },\n { name: 'Loading', md: 'loading', demo: './repl/loading.html' },\n { name: 'Breadcrumb', md: 'breadcrumb', demo: './repl/breadcrumb.html' }\n ]\n },\n {\n title: 'Util',\n list: [\n { name: 'Transition', md: 'transition', demo: 'https://tencent.github.io/omi/packages/omim/demos/transition/index.html' },\n { name: 'To', md: 'to', demo: 'https://tencent.github.io/omi/packages/omim/demos/to/index.html' },\n { name: 'Theme', md: 'theme', demo: 'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html' },\n { name: 'Typography', md: 'typography', demo: './repl/typography.html' },\n { name: 'Layout Grid', md: 'layout-grid', demo: 'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html' }\n ]\n },\n {\n title: 'Layout',\n list: [\n { name: 'Row', md: 'row', demo: './repl/row.html' },\n { name: 'Elevation', md: 'elevation', demo: './repl/elevation.html' },\n { name: 'Image List', md: 'image-list', demo: './repl/image-list.html' }\n ]\n },\n {\n title: 'Navigation',\n list: [\n { name: 'Menu', md: 'menu', demo: './repl/menu.html' },\n { name: 'Drawer', md: 'drawer', demo: 'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html' },\n { name: 'Tab', md: 'tab', demo: './repl/tab.html' },\n { name: 'Nav', md: 'nav', demo: './repl/nav.html' },\n { name: 'Pagination', md: 'pagination', demo: 'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html' },\n { name: 'Top App Bar', md: 'top-app-bar', demo: 'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html' }\n ]\n },\n {\n title: 'Operational Feedback',\n list: [\n {name: 'Dialog', md: 'dialog', demo: './repl/dialog.html'},\n {name: 'Snackbar', md: 'snackbar', demo: './repl/snackbar.html'},\n {name: 'ActionSheet', md: 'action-sheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},\n {name: 'ColorPicker', md: 'color-picker', demo: './repl/color-picker.html'},\n { name: 'Popover', md: 'popover', demo: 'https://tencent.github.io/omi/packages/omim/demos/popover/index.html' },\n { name: 'Toast', md: 'toast', demo: 'https://tencent.github.io/omi/packages/omim/demos/toast/index.html' }\n ]\n },\n {\n title: 'Form',\n list: [\n { name: 'Text Field', md: 'text-field', demo: './repl/text-field.html' },\n { name: 'Select', md: 'select', demo: './repl/select.html' },\n { name: 'Checkbox', md: 'checkbox', demo: './repl/checkbox.html' },\n { name: 'Radio', md: 'radio', demo: './repl/radio.html' },\n { name: 'Switch', md: 'switch', demo: './repl/switch.html' },\n { name: 'DateTimePicker', md: 'date-time-picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html' },\n { name: 'Picker', md: 'picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html' },\n { name: 'TransferList', md: 'transfer-list', demo: 'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html' }\n ]\n },\n {\n title: 'Data',\n list: [\n { name: 'List', md: 'list', demo: './repl/list.html' },\n { name: 'Table', md: 'table', demo: 'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html' },\n { name: 'Linear Progress', md: 'linear-progress', demo: './repl/linear-progress.html' },\n { name: 'Slider', md: 'slider', demo: './repl/slider.html' },\n { name: 'Chips', md: 'chips', demo: './repl/chips.html' },\n { name: 'Tag', md: 'tag', demo: './repl/tag.html' },\n { name: 'Badge', md: 'badge', demo: './repl/badge.html' },\n { name: 'Tree', md: 'tree', demo: './repl/tree.html' },\n { name: 'Card', md: 'card', demo: './repl/card.html' },\n { name: 'Path Progress', md: 'path-progress', demo: './repl/path-progress.html' },\n { name: 'Paper', md: 'paper', demo: './repl/paper.html' },\n { name: 'Step', md: 'step', demo: './repl/step.html' },\n { name: 'Simple Card', md: 'simple-card', demo: './repl/simple-card.html' },\n { name: 'Editor', md: 'editor', demo: 'https://tencent.github.io/omi/packages/omim/demos/editor/index.html' },\n { name: 'Spreadsheet', md: 'spreadsheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html' },\n { name: 'Rate', md: 'rate', demo: 'https://tencent.github.io/omi/packages/omim/demos/rate/index.html' }\n ]\n },\n {\n title: 'Chart',\n list: [\n { name: 'Introduction', md: 'introduction-chart' },\n { name: 'Bar', md: 'bar', demo: './repl/bar.html' },\n { name: 'Line', md: 'line', demo: './repl/line.html' },\n { name: 'Scatter', md: 'scatter', demo: './repl/scatter.html' },\n { name: 'Pie', md: 'pie', demo: './repl/pie.html' },\n { name: 'Doughnut', md: 'doughnut', demo: './repl/doughnut.html' },\n { name: 'Radar', md: 'radar', demo: './repl/radar.html' },\n { name: 'PolarArea', md: 'polar-area', demo: './repl/polar-area.html' },\n { name: 'Bubble', md: 'bubble', demo: './repl/bubble.html' },\n { name: 'BarLine', md: 'bar-line', demo: './repl/bar-line.html' }\n\n\n ]\n }\n ]\n }\n}\n\nexport default config\n\n\n\n// WEBPACK FOOTER //\n// ./src/docs/config.js","/*!\n * omi-router v2.0.8 by dntzhang\n * Router for Omi.\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar p2r = require('path-to-regexp')\nvar mapping = {}\nvar root = getGlobal()\n\nroot.route = route\nroot.route.params = null\nroot.historyLength = 0\n\nroot.route.to = function (path, data) {\n root.route._routeByTo = true\n root.route.data = data\n if (path[0] === '#') {\n location.hash = path\n } else {\n location.hash = '#' + path\n }\n}\n\nwindow.addEventListener('hashchange', change)\n\nfunction change(evt) {\n var byNative = false\n //need to fix a line by omi-link\n if(window.history.length === root.historyLength && !root.route._routeByTo){\n //keep alive mode\n byNative = true\n }\n root.route._routeByTo = false\n root.historyLength = window.history.length\n var prevent = false\n if (evt.type === 'hashchange' && root.route.before) {\n prevent = root.route.before(evt) === false\n }\n if (prevent) return\n var path = window.location.hash.replace('#', '')\n var notFound = true\n Object.keys(mapping).every(function(key){\n var toArr = path.split('?')[0].match(mapping[key].reg)\n if (toArr) {\n var pathArr = key.match(mapping[key].reg)\n root.route.params = getParams(toArr, pathArr)\n root.route.query = getUrlParams(path)\n mapping[key].callback({\n params: root.route.params,\n query: getUrlParams(path),\n data: root.route.data,\n byNative: byNative\n })\n root.route.data = null\n notFound = false\n return false\n }\n return true\n })\n\n if (notFound) {\n mapping['*'] && mapping['*'].callback({ byNative: byNative })\n }\n\n if (evt.type === 'hashchange' && root.route.after) {\n root.route.after(evt)\n }\n}\n\ndocument.addEventListener('DOMContentLoaded', change)\n\nfunction getParams(toArr, pathArr) {\n var params = {}\n toArr.forEach(function (item, index) {\n if (index > 0) {\n params[pathArr[index].replace(':', '')] = item\n }\n })\n return params\n}\n\n\nexport default function route(path, callback) {\n mapping[path] = {\n callback: callback,\n reg: p2r(path)\n }\n}\n\nfunction getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n return (\n self ||\n window ||\n global ||\n (function () {\n return this\n })()\n )\n }\n return global\n}\n\nfunction getUrlParams(url) {\n url = url.replace(/#.*$/, '')\n var queryArray = url.split(/[?&]/).slice(1)\n var i, args = {}\n for (i = 0; i < queryArray.length; i++) {\n var match = queryArray[i].match(/([^=]+)=([^=]+)/)\n if (match !== null) {\n args[match[1]] = decodeURIComponent(match[2])\n }\n }\n return args\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/omi-router/index.js","/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * Default configs.\n */\nvar DEFAULT_DELIMITER = '/'\nvar DEFAULT_DELIMITERS = './'\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \":test(\\\\d+)?\" => [\"test\", \"\\d+\", undefined, \"?\"]\n // \"(\\\\d+)\" => [undefined, undefined, \"\\d+\", undefined]\n '(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = (options && options.delimiter) || DEFAULT_DELIMITER\n var delimiters = (options && options.delimiters) || DEFAULT_DELIMITERS\n var pathEscaped = false\n var res\n\n while ((res = PATH_REGEXP.exec(str)) !== null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n pathEscaped = true\n continue\n }\n\n var prev = ''\n var next = str[index]\n var name = res[2]\n var capture = res[3]\n var group = res[4]\n var modifier = res[5]\n\n if (!pathEscaped && path.length) {\n var k = path.length - 1\n\n if (delimiters.indexOf(path[k]) > -1) {\n prev = path[k]\n path = path.slice(0, k)\n }\n }\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n pathEscaped = false\n }\n\n var partial = prev !== '' && next !== undefined && next !== prev\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = prev || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prev,\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n pattern: pattern ? escapeGroup(pattern) : '[^' + escapeString(delimiter) + ']+?'\n })\n }\n\n // Push any remaining characters.\n if (path || index < str.length) {\n tokens.push(path + str.substr(index))\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (data, options) {\n var path = ''\n var encode = (options && options.encode) || encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n continue\n }\n\n var value = data ? data[token.name] : undefined\n var segment\n\n if (Array.isArray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but got array')\n }\n\n if (value.length === 0) {\n if (token.optional) continue\n\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j], token)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\"')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n segment = encode(String(value), token)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but got \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n continue\n }\n\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) path += token.prefix\n\n continue\n }\n\n throw new TypeError('Expected \"' + token.name + '\" to be ' + (token.repeat ? 'an array' : 'a string'))\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$/()])/g, '\\\\$1')\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {Array=} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n if (!keys) return path\n\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n pattern: null\n })\n }\n }\n\n return path\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n return new RegExp('(?:' + parts.join('|') + ')', flags(options))\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n options = options || {}\n\n var strict = options.strict\n var start = options.start !== false\n var end = options.end !== false\n var delimiter = escapeString(options.delimiter || DEFAULT_DELIMITER)\n var delimiters = options.delimiters || DEFAULT_DELIMITERS\n var endsWith = [].concat(options.endsWith || []).map(escapeString).concat('$').join('|')\n var route = start ? '^' : ''\n var isEndDelimited = tokens.length === 0\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n isEndDelimited = i === tokens.length - 1 && delimiters.indexOf(token[token.length - 1]) > -1\n } else {\n var capture = token.repeat\n ? '(?:' + token.pattern + ')(?:' + escapeString(token.delimiter) + '(?:' + token.pattern + '))*'\n : token.pattern\n\n if (keys) keys.push(token)\n\n if (token.optional) {\n if (token.partial) {\n route += escapeString(token.prefix) + '(' + capture + ')?'\n } else {\n route += '(?:' + escapeString(token.prefix) + '(' + capture + '))?'\n }\n } else {\n route += escapeString(token.prefix) + '(' + capture + ')'\n }\n }\n }\n\n if (end) {\n if (!strict) route += '(?:' + delimiter + ')?'\n\n route += endsWith === '$' ? '$' : '(?=' + endsWith + ')'\n } else {\n if (!strict) route += '(?:' + delimiter + '(?=' + endsWith + '))?'\n if (!isEndDelimited) route += '(?=' + delimiter + '|' + endsWith + ')'\n }\n\n return new RegExp(route, flags(options))\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (path instanceof RegExp) {\n return regexpToRegexp(path, keys)\n }\n\n if (Array.isArray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), keys, options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), keys, options)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/path-to-regexp/index.js","var map = {\n\t\"./en/action-sheet.md\": [\n\t\t37,\n\t\t123\n\t],\n\t\"./en/avatar.md\": [\n\t\t38,\n\t\t122\n\t],\n\t\"./en/badge.md\": [\n\t\t39,\n\t\t121\n\t],\n\t\"./en/bar-line.md\": [\n\t\t40,\n\t\t120\n\t],\n\t\"./en/bar.md\": [\n\t\t41,\n\t\t119\n\t],\n\t\"./en/breadcrumb.md\": [\n\t\t42,\n\t\t118\n\t],\n\t\"./en/bubble.md\": [\n\t\t43,\n\t\t117\n\t],\n\t\"./en/button.md\": [\n\t\t44,\n\t\t116\n\t],\n\t\"./en/card.md\": [\n\t\t45,\n\t\t115\n\t],\n\t\"./en/checkbox.md\": [\n\t\t46,\n\t\t114\n\t],\n\t\"./en/chips.md\": [\n\t\t47,\n\t\t113\n\t],\n\t\"./en/color-picker.md\": [\n\t\t48,\n\t\t112\n\t],\n\t\"./en/date-time-picker.md\": [\n\t\t49,\n\t\t111\n\t],\n\t\"./en/dialog.md\": [\n\t\t50,\n\t\t110\n\t],\n\t\"./en/doughnut.md\": [\n\t\t51,\n\t\t109\n\t],\n\t\"./en/drawer.md\": [\n\t\t52,\n\t\t108\n\t],\n\t\"./en/editor.md\": [\n\t\t53,\n\t\t107\n\t],\n\t\"./en/elevation.md\": [\n\t\t54,\n\t\t106\n\t],\n\t\"./en/fab.md\": [\n\t\t55,\n\t\t105\n\t],\n\t\"./en/icon-button.md\": [\n\t\t56,\n\t\t104\n\t],\n\t\"./en/icon.md\": [\n\t\t57,\n\t\t103\n\t],\n\t\"./en/image-list.md\": [\n\t\t58,\n\t\t102\n\t],\n\t\"./en/introduction-chart.md\": [\n\t\t59,\n\t\t101\n\t],\n\t\"./en/introduction.md\": [\n\t\t60,\n\t\t100\n\t],\n\t\"./en/layout-grid.md\": [\n\t\t61,\n\t\t99\n\t],\n\t\"./en/line.md\": [\n\t\t62,\n\t\t98\n\t],\n\t\"./en/linear-progress.md\": [\n\t\t63,\n\t\t97\n\t],\n\t\"./en/list.md\": [\n\t\t64,\n\t\t96\n\t],\n\t\"./en/loading.md\": [\n\t\t65,\n\t\t95\n\t],\n\t\"./en/menu.md\": [\n\t\t66,\n\t\t94\n\t],\n\t\"./en/nav.md\": [\n\t\t67,\n\t\t93\n\t],\n\t\"./en/pagination.md\": [\n\t\t68,\n\t\t92\n\t],\n\t\"./en/paper.md\": [\n\t\t69,\n\t\t91\n\t],\n\t\"./en/path-progress.md\": [\n\t\t70,\n\t\t90\n\t],\n\t\"./en/picker.md\": [\n\t\t71,\n\t\t89\n\t],\n\t\"./en/pie.md\": [\n\t\t72,\n\t\t88\n\t],\n\t\"./en/polar-area.md\": [\n\t\t73,\n\t\t87\n\t],\n\t\"./en/popover.md\": [\n\t\t74,\n\t\t86\n\t],\n\t\"./en/radar.md\": [\n\t\t75,\n\t\t85\n\t],\n\t\"./en/radio.md\": [\n\t\t76,\n\t\t84\n\t],\n\t\"./en/rate.md\": [\n\t\t77,\n\t\t83\n\t],\n\t\"./en/row.md\": [\n\t\t78,\n\t\t82\n\t],\n\t\"./en/scatter.md\": [\n\t\t79,\n\t\t81\n\t],\n\t\"./en/select.md\": [\n\t\t80,\n\t\t80\n\t],\n\t\"./en/simple-card.md\": [\n\t\t81,\n\t\t79\n\t],\n\t\"./en/slider.md\": [\n\t\t82,\n\t\t78\n\t],\n\t\"./en/snackbar.md\": [\n\t\t83,\n\t\t77\n\t],\n\t\"./en/spreadsheet.md\": [\n\t\t84,\n\t\t76\n\t],\n\t\"./en/step.md\": [\n\t\t85,\n\t\t75\n\t],\n\t\"./en/switch.md\": [\n\t\t86,\n\t\t74\n\t],\n\t\"./en/tab.md\": [\n\t\t87,\n\t\t73\n\t],\n\t\"./en/table.md\": [\n\t\t88,\n\t\t72\n\t],\n\t\"./en/tag.md\": [\n\t\t89,\n\t\t71\n\t],\n\t\"./en/text-field.md\": [\n\t\t90,\n\t\t70\n\t],\n\t\"./en/theme.md\": [\n\t\t91,\n\t\t69\n\t],\n\t\"./en/to.md\": [\n\t\t92,\n\t\t68\n\t],\n\t\"./en/toast.md\": [\n\t\t93,\n\t\t67\n\t],\n\t\"./en/top-app-bar.md\": [\n\t\t94,\n\t\t66\n\t],\n\t\"./en/transfer-list.md\": [\n\t\t95,\n\t\t65\n\t],\n\t\"./en/transition.md\": [\n\t\t96,\n\t\t64\n\t],\n\t\"./en/tree.md\": [\n\t\t97,\n\t\t63\n\t],\n\t\"./en/typography.md\": [\n\t\t98,\n\t\t62\n\t],\n\t\"./zh-cn/action-sheet.md\": [\n\t\t99,\n\t\t61\n\t],\n\t\"./zh-cn/avatar.md\": [\n\t\t100,\n\t\t60\n\t],\n\t\"./zh-cn/badge.md\": [\n\t\t101,\n\t\t59\n\t],\n\t\"./zh-cn/bar-line.md\": [\n\t\t102,\n\t\t58\n\t],\n\t\"./zh-cn/bar.md\": [\n\t\t103,\n\t\t57\n\t],\n\t\"./zh-cn/breadcrumb.md\": [\n\t\t104,\n\t\t56\n\t],\n\t\"./zh-cn/bubble.md\": [\n\t\t105,\n\t\t55\n\t],\n\t\"./zh-cn/button.md\": [\n\t\t106,\n\t\t54\n\t],\n\t\"./zh-cn/card.md\": [\n\t\t107,\n\t\t53\n\t],\n\t\"./zh-cn/checkbox.md\": [\n\t\t108,\n\t\t52\n\t],\n\t\"./zh-cn/chips.md\": [\n\t\t109,\n\t\t51\n\t],\n\t\"./zh-cn/color-picker.md\": [\n\t\t110,\n\t\t50\n\t],\n\t\"./zh-cn/date-time-picker.md\": [\n\t\t111,\n\t\t49\n\t],\n\t\"./zh-cn/dialog.md\": [\n\t\t112,\n\t\t48\n\t],\n\t\"./zh-cn/doughnut.md\": [\n\t\t113,\n\t\t47\n\t],\n\t\"./zh-cn/drawer.md\": [\n\t\t114,\n\t\t46\n\t],\n\t\"./zh-cn/editor.md\": [\n\t\t115,\n\t\t45\n\t],\n\t\"./zh-cn/elevation.md\": [\n\t\t116,\n\t\t44\n\t],\n\t\"./zh-cn/fab.md\": [\n\t\t117,\n\t\t43\n\t],\n\t\"./zh-cn/icon-button.md\": [\n\t\t118,\n\t\t42\n\t],\n\t\"./zh-cn/icon.md\": [\n\t\t119,\n\t\t41\n\t],\n\t\"./zh-cn/image-list.md\": [\n\t\t120,\n\t\t40\n\t],\n\t\"./zh-cn/introduction-chart.md\": [\n\t\t121,\n\t\t39\n\t],\n\t\"./zh-cn/introduction.md\": [\n\t\t122,\n\t\t38\n\t],\n\t\"./zh-cn/layout-grid.md\": [\n\t\t123,\n\t\t37\n\t],\n\t\"./zh-cn/line.md\": [\n\t\t124,\n\t\t36\n\t],\n\t\"./zh-cn/linear-progress.md\": [\n\t\t125,\n\t\t35\n\t],\n\t\"./zh-cn/list.md\": [\n\t\t126,\n\t\t34\n\t],\n\t\"./zh-cn/loading.md\": [\n\t\t127,\n\t\t33\n\t],\n\t\"./zh-cn/menu.md\": [\n\t\t128,\n\t\t32\n\t],\n\t\"./zh-cn/nav.md\": [\n\t\t129,\n\t\t31\n\t],\n\t\"./zh-cn/pagination.md\": [\n\t\t130,\n\t\t30\n\t],\n\t\"./zh-cn/paper.md\": [\n\t\t131,\n\t\t29\n\t],\n\t\"./zh-cn/path-progress.md\": [\n\t\t132,\n\t\t28\n\t],\n\t\"./zh-cn/picker.md\": [\n\t\t133,\n\t\t27\n\t],\n\t\"./zh-cn/pie.md\": [\n\t\t134,\n\t\t26\n\t],\n\t\"./zh-cn/polar-area.md\": [\n\t\t135,\n\t\t25\n\t],\n\t\"./zh-cn/popover.md\": [\n\t\t136,\n\t\t24\n\t],\n\t\"./zh-cn/radar.md\": [\n\t\t137,\n\t\t23\n\t],\n\t\"./zh-cn/radio.md\": [\n\t\t138,\n\t\t22\n\t],\n\t\"./zh-cn/rate.md\": [\n\t\t139,\n\t\t21\n\t],\n\t\"./zh-cn/row.md\": [\n\t\t140,\n\t\t20\n\t],\n\t\"./zh-cn/scatter.md\": [\n\t\t141,\n\t\t19\n\t],\n\t\"./zh-cn/select.md\": [\n\t\t142,\n\t\t18\n\t],\n\t\"./zh-cn/simple-card.md\": [\n\t\t143,\n\t\t17\n\t],\n\t\"./zh-cn/slider.md\": [\n\t\t144,\n\t\t16\n\t],\n\t\"./zh-cn/snackbar.md\": [\n\t\t145,\n\t\t15\n\t],\n\t\"./zh-cn/spreadsheet.md\": [\n\t\t146,\n\t\t14\n\t],\n\t\"./zh-cn/step.md\": [\n\t\t147,\n\t\t13\n\t],\n\t\"./zh-cn/switch.md\": [\n\t\t148,\n\t\t12\n\t],\n\t\"./zh-cn/tab.md\": [\n\t\t149,\n\t\t11\n\t],\n\t\"./zh-cn/table.md\": [\n\t\t150,\n\t\t10\n\t],\n\t\"./zh-cn/tag.md\": [\n\t\t151,\n\t\t9\n\t],\n\t\"./zh-cn/text-field.md\": [\n\t\t152,\n\t\t8\n\t],\n\t\"./zh-cn/theme.md\": [\n\t\t153,\n\t\t7\n\t],\n\t\"./zh-cn/to.md\": [\n\t\t154,\n\t\t6\n\t],\n\t\"./zh-cn/toast.md\": [\n\t\t155,\n\t\t5\n\t],\n\t\"./zh-cn/top-app-bar.md\": [\n\t\t156,\n\t\t4\n\t],\n\t\"./zh-cn/transfer-list.md\": [\n\t\t157,\n\t\t3\n\t],\n\t\"./zh-cn/transition.md\": [\n\t\t158,\n\t\t2\n\t],\n\t\"./zh-cn/tree.md\": [\n\t\t159,\n\t\t1\n\t],\n\t\"./zh-cn/typography.md\": [\n\t\t160,\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 36;\nmodule.exports = webpackAsyncContext;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs lazy ^\\.\\/.*\\.md$\n// module id = 36\n// module chunks = 124 125","'use strict';\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n require('promise/lib/rejection-tracking').enable();\n window.Promise = require('promise/lib/es6-extensions.js');\n}\n\n// fetch() polyfill for making API calls.\nrequire('whatwg-fetch');\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = require('object-assign');\n\n// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif (process.env.NODE_ENV === 'test') {\n require('raf').polyfill(global);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./config/polyfills.js","'use strict';\n\nvar Promise = require('./core');\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/rejection-tracking.js","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/asap/browser-raw.js","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/es6-extensions.js","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/whatwg-fetch/fetch.js","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/object-assign/index.js"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omim/docs/build/static/js/index.80bc2275.js b/packages/omim/docs/build/static/js/index.1ae9695c.js
similarity index 99%
rename from packages/omim/docs/build/static/js/index.80bc2275.js
rename to packages/omim/docs/build/static/js/index.1ae9695c.js
index d1a0197b3..9858cb224 100644
--- a/packages/omim/docs/build/static/js/index.80bc2275.js
+++ b/packages/omim/docs/build/static/js/index.1ae9695c.js
@@ -1,2 +1,2 @@
-!function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n=window.webpackJsonp;window.webpackJsonp=function(t,r,i){for(var a,s,c=0,l=[];c2;)Ae.push(arguments[a]);for(t&&null!=t.children&&(Ae.length||Ae.push(t.children),delete t.children);Ae.length;)if((o=Ae.pop())&&void 0!==o.pop)for(a=o.length;a--;)Ae.push(o[a]);else"boolean"===typeof o&&(o=null),(i="function"!==typeof e)&&(null==o?o="":"number"===typeof o?o=String(o):"string"!==typeof o&&(i=!1)),i&&r?s[s.length-1]+=o:0===s.length?s=[o]:s.push(o),r=i;var c=new n;return c.nodeName=e,c.children=s,c.attributes=null==t?void 0:t,c.key=null==t?void 0:t.key,void 0!==Pe.vnode&&Pe.vnode(c),c}function o(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function i(e,t){for(var n,r,i=o(e),a=1;a2?[].slice.call(arguments,2):e.children)}function p(e){1==Ue.push(e)&&(Pe.debounceRendering||Le)(m)}function m(){for(var e;e=Ue.pop();)ee(e)}function h(e,t,n){if("string"===typeof t||"number"===typeof t)return void 0!==e.splitText;if("string"===typeof t.nodeName){var r=$e[t.nodeName];return r?n||e._componentConstructor===r:!e._componentConstructor&&b(e,t.nodeName)}return n||e._componentConstructor===t.nodeName}function b(e,t){return e.normalizedNodeName===t||e.nodeName.toLowerCase()===t.toLowerCase()}function y(e){var t=a({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function g(e,t){var n=t?Pe.doc.createElementNS("http://www.w3.org/2000/svg",e):Pe.doc.createElement(e);return n.normalizedNodeName=e,n}function v(e){for(var t=e.replace(/\/\*(.|\s)*?\*\//g," ").replace(/\s+/g," "),n={},r=t.match(/ ?(.*?) ?{([^}]*)}/)||[o,i,t],o=r[0],i=r[1],a=r[2],s=a.split(";").map(function(e){return e.split(":").map(function(e){return e&&e.trim()})}),c=s,c=Array.isArray(c),c=0,c=c||c[Symbol.iterator]();;){var l;if(c){if(c>=c.length)break;l=c[c++]}else{if(c=c.next(),c.done)break;l=c.value}var u=l,d=u[0],f=u[1];n[function(e){return e.replace(/\W+\w/g,function(e){return e.slice(-1).toUpperCase()})}(d)]=f}return n}function w(e){var t=e.parentNode;t&&t.removeChild(e)}function x(e,t,n,r,o){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)s(n,null),s(r,e);else if("class"!==t||o)if("style"===t)if(Pe.isWeb){if(r&&"string"!==typeof r&&"string"!==typeof n||(e.style.cssText=r||""),r&&"object"===("undefined"===typeof r?"undefined":Se(r))){if("string"!==typeof n)for(var i in n)i in r||(e.style[i]="");for(var i in r)e.style[i]="number"===typeof r[i]&&!1===Me.test(i)?r[i]+"px":r[i]}}else{var a=n,c=r;"string"===typeof n&&(a=v(n)),"string"==typeof r&&(c=v(r));var l={},u=!1;if(a){for(var d in a)"object"!=("undefined"===typeof c?"undefined":Se(c))||d in c||(l[d]="",u=!0);for(var f in c)c[f]!==a[f]&&(l[f]=c[f],u=!0);u&&e.setStyles(l)}else e.setStyles(c)}else if("dangerouslySetInnerHTML"===t)r&&(e.innerHTML=r.__html||"");else if("o"==t[0]&&"n"==t[1]){var p=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),r?n||(e.addEventListener(t,O,p),"tap"==t&&(e.addEventListener("touchstart",k,p),e.addEventListener("touchend",E,p))):(e.removeEventListener(t,O,p),"tap"==t&&(e.removeEventListener("touchstart",k,p),e.removeEventListener("touchend",E,p))),(e._listeners||(e._listeners={}))[t]=r}else if("list"!==t&&"type"!==t&&!o&&t in e)_(e,t,null==r?"":r),null!=r&&!1!==r||e.removeAttribute(t);else{var m=o&&t!==(t=t.replace(/^xlink:?/,""));null==r||!1===r?m?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!==typeof r&&(m?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),r):e.setAttribute(t,r))}else e.className=r||""}function _(e,t,n){try{e[t]=n}catch(e){}}function O(e){return this._listeners[e.type](Pe.event&&Pe.event(e)||e)}function k(e){this.___touchX=e.touches[0].pageX,this.___touchY=e.touches[0].pageY,this.___scrollTop=document.body.scrollTop}function E(e){Math.abs(e.changedTouches[0].pageX-this.___touchX)<30&&Math.abs(e.changedTouches[0].pageY-this.___touchY)<30&&Math.abs(document.body.scrollTop-this.___scrollTop)<30&&this.dispatchEvent(new CustomEvent("tap",{detail:e}))}function j(e){for(var t=0,n=Pe.styleCache.length;t0||t.children.length>0)return!0;for(n in t)if("children"!=n){var r=Se(t[n]);if("function"==r||"object"==r)return!0;if(t[n]!=e[n])return!0}}function ee(e,t,n,r){if(!e._disable){var o,i,s,c=e.props,l=e.data,u=e.context,d=e.prevProps||c,f=e.prevState||l,p=e.prevContext||u,m=e.base,h=e.nextBase,b=m||h,g=e._component,v=!1;if(m&&(e.props=d,e.data=f,e.context=p,e.store||2==t||J(d,c)?(v=!1,e.beforeUpdate&&e.beforeUpdate(c,l,u)):v=!0,e.props=c,e.data=l,e.context=u),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,!v){e.beforeRender&&e.beforeRender(),o=e.render(c,l,u),(e.constructor.css||e.css)&&T(o,"_s"+j(e.constructor)),z(o,e.scopedCssAttr),e.getChildContext&&(u=a(a({},u),e.getChildContext()));var w,x,_=o&&o.nodeName,O=Pe.mapping[_];if(O){var k=y(o);i=g,i&&i.constructor===O&&k.key==i.__key?K(i,k,1,u,!1):(w=i,e._component=i=G(O,k,u),i.nextBase=i.nextBase||h,i._parentComponent=e,K(i,k,0,u,!1),ee(i,1,n,!0)),x=i.base}else s=b,w=g,w&&(s=e._component=null),(b||1===t)&&(s&&(s._component=null),x=I(s,o,u,n||!m,b&&b.parentNode,!0));if(b&&x!==b&&i!==g){var E=b.parentNode;E&&x!==E&&(E.replaceChild(x,b),w||(b._component=null,M(b,!1)))}if(w&&ne(w),e.base=x,x&&!r){for(var S=e,P=e;P=P._parentComponent;)(S=P).base=x;x._component=S,x._componentConstructor=S.constructor}}if(!m||n?Fe.unshift(e):v||(e.afterUpdate&&e.afterUpdate(d,f,p),e.updated&&e.updated(d,f,p),Pe.afterUpdate&&Pe.afterUpdate(e)),null!=e._renderCallbacks)for(;e._renderCallbacks.length;)e._renderCallbacks.pop().call(e);He||r||B()}}function te(e,t,n,r){for(var o=e&&e._component,i=o,a=e,s=o&&e._componentConstructor===t.nodeName,c=s,l=y(t);o&&!c&&(o=o._parentComponent);)c=o.constructor===t.nodeName;return o&&c&&(!r||o._component)?(K(o,l,3,n,r),e=o.base):(i&&!s&&(ne(i),e=a=null),o=G(t.nodeName,l,n,t),e&&!o.nextBase&&(o.nextBase=e,a=null),K(o,l,1,n,r),e=o.base,a&&e!==a&&(a._component=null,M(a,!1))),e}function ne(e){Pe.beforeUnmount&&Pe.beforeUnmount(e);var t=e.base;if(e._disable=!0,e.uninstall&&e.uninstall(),e.store&&e.store.instances)for(var n=0,r=e.store.instances.length;n0&&(this.instances.forEach(function(o){(r||n.updateAll||o.constructor.updatePath&&le(t,o.constructor.updatePath)||o._updatePath&&le(t,o._updatePath))&&(o.constructor.use?o.use=u(e.data,o.constructor.use):o.initUse&&(o.use=u(e.data,o.initUse())),o.update())}),this.onChange&&this.onChange(t))}}function ce(e,t){if(!e)return!1;for(var n in t){if(e.indexOf(n)>-1)return!0;for(var r=0,o=e.length;r0)return{class:ye.apply(null,n)}}function ve(e){var t=e.base;if(t)for(;t.parentNode;){if(t.parentNode._component)return t.parentNode._component;t=t.parentNode}}function we(e){var t="";for(var n in e){var r=e[n];null!=r&&(t&&(t+=" "),t+=it[n]||(it[n]=n.replace(/([A-Z])/g,"-$1").toLowerCase()),t+=": ",t+=r,"number"===typeof r&&!1===IS_NON_DIMENSIONAL.test(n)&&(t+="px"),t+=";")}return t||void 0}function xe(e,t,n,r){n=n||{},t=Object.assign({scopedCSS:!0},t);var o={},i=_e(e,t,n,r,o);return{css:Object.values(o),html:i}}function _e(e,t,n,r,o){if(null==e||"boolean"===typeof e)return"";var i=e.nodeName,a=e.attributes,s=!1,c=t.pretty,l=c&&"string"===typeof c?c:"\t";if("object"!==("undefined"===typeof e?"undefined":Se(e))&&!i)return et(e);var u=nt[i];if(u){s=!0;var d,f=ke(e),p=new u(f,n);if(p._disable=p.__x=!0,p.props=f,p.store=n,p.install&&p.install(),p.beforeRender&&p.beforeRender(),d=p.render(p.props,p.data,p.store),t.scopedCSS){if(p.constructor.css||p.css){var m=p.constructor.css?p.constructor.css:"function"===typeof p.css?p.css():p.css,h="_s"+j(p.constructor);o[h]={id:h,css:S(m,h)},T(d,h)}p.scopedCSSAttr=e.css,z(d,p.scopedCSSAttr)}return _e(d,t,n,!1,o)}var b,y="";if(a){var g=Object.keys(a);t&&!0===t.sortAttributes&&g.sort();for(var v=0;v]/)&&(t&&t.allAttributes||"key"!==w&&"ref"!==w))){if("className"===w){if(a.class)continue;w="class"}else r&&w.match(/^xlink:?./)&&(w=w.toLowerCase().replace(/^xlink:?/,"xlink:"));"style"===w&&x&&"object"===("undefined"===typeof x?"undefined":Se(x))&&(x=we(x));var _=t.attributeHook&&t.attributeHook(w,x,n,t,s);if(_||""===_)y+=_;else if("dangerouslySetInnerHTML"===w)b=x&&x.__html;else if((x||0===x||""===x)&&"function"!==typeof x){if((!0===x||""===x)&&(x=w,!t||!t.xml)){y+=" "+w;continue}y+=" "+w+'="'+et(x)+'"'}}}}if(c){var O=y.replace(/^\n\s*/," ");O===y||~O.indexOf("\n")?c&&~y.indexOf("\n")&&(y+="\n"):y=O}if(y="<"+i+y+">",String(i).match(/[\s\n\\\/='"\0<>]/))throw y;var k=String(i).match(rt);k&&(y=y.replace(/>$/," />"));var E=[];if(b)c&&ot(b)&&(b="\n"+l+tt(b,l)),y+=b;else if(e.children){for(var P=c&&~y.indexOf("\n"),v=0;v";return k||(c&&~y.indexOf("\n")&&(y+="\n"),y+=""+i+">"),y}function Oe(e,t){for(var n in t)e[n]=t[n];return e}function ke(e){var t=Oe({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function Ee(e){var t=at(this,ut(e),arguments,[]);return t.length>1?t:t[0]}function je(){return{}}Object.defineProperty(t,"__esModule",{value:!0});var Se="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe={scopedStyle:!0,mapping:{},isWeb:!0,staticStyleMapping:{},doc:"object"===("undefined"===typeof document?"undefined":Se(document))?document:null,root:function(){return"object"===("undefined"===typeof e?"undefined":Se(e))&&e&&e.Math===Math&&e.Array===Array?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof e?e:function(){return this}()}(),styleCache:[]},Ae=[],Te=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable;if("undefined"!==typeof Element&&!Element.prototype.addEventListener){var ze=function(e){e||(e=window.event);for(var t=0,n=0,r=Be[e.type];n8&&(Ie=!0)}var Le=Ie?Promise.resolve().then.bind(Promise.resolve()):setTimeout,Me=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,Ue=[],$e=Pe.mapping,De=0,Fe=[],He=0,We=!1,qe=!1,Ve={},Xe=function e(t,n,r){var o=function(t,n,r){t.$observer||(t.$observer=this);var o=t.$observer,i=[];e.isArray(t)&&(0===t.length&&(t.$observeProps={},t.$observeProps.$observerPath="#"),o.mock(t));for(var a in t)t.hasOwnProperty(a)&&(r?e.isArray(n)&&e.isInArray(n,a)?(i.push(a),o.watch(t,a)):e.isString(n)&&a==n&&(i.push(a),o.watch(t,a)):(i.push(a),o.watch(t,a)));o.target=t,o.propertyChangedHandler||(o.propertyChangedHandler=[]);var s=r||n;o.propertyChangedHandler.push({all:!r,propChanged:s,eventPropArr:i})};return o.prototype={onPropertyChanged:function(t,n,r,o,i){if(n!==r&&this.propertyChangedHandler)for(var a=e._getRootName(t,i),s=0,c=this.propertyChangedHandler.length;s-1;)if(t===e[n])return!0;return!1},Xe.isFunction=function(e){return"[object Function]"==Object.prototype.toString.call(e)},Xe._getRootName=function(e,t){return"#"===t?e:t.split("-")[1]},Xe.add=function(e,t){e.$observer.watch(e,t)},Xe.set=function(e,t,n,r){r||(e[t]=n),e.$observer.watch(e,t),r&&(e[t]=n)},Array.prototype.size=function(e){this.length=e};var Ge=[],Ye=[],Ze=0,Qe=function(){function e(t,n){re(this,e),this.props=i(l(this.constructor.props),this.constructor.defaultProps,t),this.elementId=Ze++,this.data=this.constructor.data||this.data||{},this._preCss=null,this.store=n}return e.prototype.update=function(e){this._willUpdate=!0,e&&(this._renderCallbacks=this._renderCallbacks||[]).push(e),ee(this,2),Pe.componentChange&&Pe.componentChange(this,this.base),this._willUpdate=!1},e.prototype.fire=function(e,t){var n=this;Object.keys(this.props).every(function(r){return"on"+e.toLowerCase()!==r.toLowerCase()||(n.props[r]({detail:t}),!1)})},e.prototype.render=function(){},e}();Qe.is="WeElement";var Ke=function(e){function t(){return me(this,t),he(this,e.apply(this,arguments))}return be(t,e),t.prototype.beforeInstall=function(){this.data=this.vm.data},t}(Qe);Ke.observe=!0,Ke.mergeUpdate=!0;var Je={}.hasOwnProperty,et=function(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},tt=function(e,t){return String(e).replace(/(\n+)/g,"$1"+(t||"\t"))},nt=Pe.mapping,rt=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,ot=function(e,t,n){return String(e).length>(t||40)||!n&&-1!==String(e).indexOf("\n")||-1!==String(e).indexOf("<")},it={},at=function e(t,n,r,o){for(var i=1;i"===t?(s(),r=1):r&&("="===t?(r=4,n=o,o=""):"/"===t?(s(),3===r&&(a=a[0]),r=a,(a=a[0]).push(r,4),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(s(),r=2):o+=t)}return s(),a},ct="function"==typeof Map,lt=ct?new Map:{},ut=ct?function(e){var t=lt.get(e);return t||lt.set(e,t=st(e)),t}:function(e){for(var t="",n=0;n0)return!1;return!0}},{key:"render",value:function(){if(this.demo)return Omi.h("div",null,Omi.h("iframe",{style:"width:"+(window.innerWidth-1180)+"px;height:"+(window.innerHeight-59)+"px;visibility:"+(this.show?"visible":"hidden")+";",src:this.demo}),Omi.h("div",{class:"icon",onClick:this.toggle},Omi.h("svg",{viewBox:"64 64 896 896",class:"",style:"left:"+(this.show?"14px":"0px")+";","data-icon":"left",width:"1.2em",height:"1.2em",fill:"currentColor","aria-hidden":"true",focusable:"false"},Omi.h("path",{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"})),Omi.h("svg",{viewBox:"64 64 896 896",class:"",style:"left:"+(this.show?"-14px":"0px")+";","data-icon":"right",width:"1.2em",height:"1.2em",fill:"currentColor","aria-hidden":"true",focusable:"false"},Omi.h("path",{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"}))))}}]),t}(s.WeElement))},3:function(e,t,n){"use strict";function r(){}function o(e){try{return e.then}catch(e){return g=e,v}}function i(e,t){try{return e(t)}catch(e){return g=e,v}}function a(e,t,n){try{e(t,n)}catch(e){return g=e,v}}function s(e){if("object"!==b(this))throw new TypeError("Promises must be constructed via new");if("function"!==typeof e)throw new TypeError("Promise constructor's argument is not a function");this._75=0,this._83=0,this._18=null,this._38=null,e!==r&&h(e,this)}function c(e,t,n){return new e.constructor(function(o,i){var a=new s(r);a.then(o,i),l(e,new m(t,n,a))})}function l(e,t){for(;3===e._83;)e=e._18;if(s._47&&s._47(e),0===e._83)return 0===e._75?(e._75=1,void(e._38=t)):1===e._75?(e._75=2,void(e._38=[e._38,t])):void e._38.push(t);u(e,t)}function u(e,t){y(function(){var n=1===e._83?t.onFulfilled:t.onRejected;if(null===n)return void(1===e._83?d(t.promise,e._18):f(t.promise,e._18));var r=i(n,e._18);r===v?f(t.promise,g):d(t.promise,r)})}function d(e,t){if(t===e)return f(e,new TypeError("A promise cannot be resolved with itself."));if(t&&("object"===("undefined"===typeof t?"undefined":b(t))||"function"===typeof t)){var n=o(t);if(n===v)return f(e,g);if(n===e.then&&t instanceof s)return e._83=3,e._18=t,void p(e);if("function"===typeof n)return void h(n.bind(t),e)}e._83=1,e._18=t,p(e)}function f(e,t){e._83=2,e._18=t,s._71&&s._71(e,t),p(e)}function p(e){if(1===e._75&&(l(e,e._38),e._38=null),2===e._75){for(var t=0;t768};var o=0;this.map={},this.positionMap={},a.default.menus[this.data.lan].forEach(function(e,t){e.list.forEach(function(e,r){e.id=o++,e.position=[t,r],n.map[e.id]=e,e.index=t,e.subIndex=r,n.positionMap[t+"-"+r]=e})}),this.preIndex=0,this.preSubIndex=0}return o(e,[{key:"getNext",value:function(){var e=this.positionMap[this.data.position.join("-")];if(e)return this.map[e.id+1]}},{key:"getPre",value:function(){var e=this.positionMap[this.data.position.join("-")];if(e)return this.map[e.id-1]}},{key:"init",value:function(){var e=this;this.remarkable=new Remarkable({html:!0}),""===location.hash&&(this.data.position=[0,0],this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md,this.data.lan,function(t){e.data.html=e.remarkable.render(t)})),this.demo=this.data.menus[this.data.lan][0].list[0].demo,this.initRouter()}},{key:"toogleSidebar",value:function(){this.data.sideBarShow=!this.data.sideBarShow}},{key:"hideSidebar",value:function(){this.data.sideBarShow=!1}},{key:"initRouter",value:function(){var e=this,t=this.data.menus[this.data.lan];t.forEach(function(n){n.list.forEach(function(n){route("/"+n.md,function(r){t[e.preIndex].list[e.preSubIndex].selected=!1,e.preIndex=r.query.index,e.preSubIndex=r.query.subIndex,e.data.position=[Number(r.query.index),Number(r.query.subIndex)],e.data.sideBarShow=!1,e.myDemo.demo=t[e.preIndex].list[e.preSubIndex].demo,e.myDemo.update(),e.getMarkDown(n.md,e.data.lan,function(t){e.data.html=e.remarkable.render(t),document.body.scrollTop=0,document.documentElement.scrollTop=0})})})})}},{key:"getMarkDown",value:function(e,t,r){n(36)("./"+t+"/"+e+".md").then(function(e){r(e)})}}]),e}();t.default=s},33:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={menus:{"zh-cn":[{title:"Omim",list:[{name:"\u7b80\u4ecb",md:"introduction"}]},{title:"\u57fa\u7840",list:[{name:"Button \u6309\u94ae",md:"button",demo:"./repl/button.html"},{name:"Fab \u52a8\u4f5c\u6309\u94ae",md:"fab",demo:"./repl/fab.html"},{name:"Icon \u56fe\u6807",md:"icon",demo:"./repl/icon.html"},{name:"IconButton \u56fe\u6807\u6309\u94ae",md:"icon-button",demo:"./repl/icon-button.html"},{name:"Avatar \u5934\u50cf",md:"avatar",demo:"./repl/avatar.html"},{name:"Loading \u52a0\u8f7d",md:"loading",demo:"./repl/loading.html"},{name:"Breadcrumb \u9762\u5305\u5c51",md:"breadcrumb",demo:"./repl/breadcrumb.html"}]},{title:"\u516c\u7528",list:[{name:"Transition \u8fc7\u6e21",md:"transition",demo:"https://tencent.github.io/omi/packages/omim/demos/transition/index.html"},{name:"To \u8fd0\u52a8",md:"to",demo:"https://tencent.github.io/omi/packages/omim/demos/to/index.html"},{name:"Theme \u4e3b\u9898",md:"theme",demo:"https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html"},{name:"Typography \u6392\u7248",md:"typography",demo:"./repl/typography.html"},{name:"Layout Grid \u7f51\u683c\u5e03\u5c40",md:"layout-grid",demo:"https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html"}]},{title:"\u5e03\u5c40",list:[{name:"Row \u884c",md:"row",demo:"./repl/row.html"},{name:"Elevation \u9ad8\u5ea6\u76d2",md:"elevation",demo:"./repl/elevation.html"},{name:"Image List \u56fe\u7247\u5217\u8868",md:"image-list",demo:"./repl/image-list.html"}]},{title:"\u5bfc\u822a",list:[{name:"Menu \u83dc\u5355",md:"menu",demo:"./repl/menu.html"},{name:"Drawer \u62bd\u5c49",md:"drawer",demo:"https://tencent.github.io/omi/packages/omim/demos/drawer/index.html"},{name:"Tab \u6807\u7b7e\u5207\u6362",md:"tab",demo:"./repl/tab.html"},{name:"Nav \u5bfc\u822a",md:"nav",demo:"./repl/nav.html"},{name:"Pagination \u5206\u9875",md:"pagination",demo:"https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html"},{name:"Top App Bar \u9876\u90e8\u680f",md:"top-app-bar",demo:"https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html"}]},{title:"\u64cd\u4f5c\u53cd\u9988",list:[{name:"Dialog \u5bf9\u8bdd\u6846",md:"dialog",demo:"./repl/dialog.html"},{name:"Snackbar \u63d0\u9192",md:"snackbar",demo:"./repl/snackbar.html"},{name:"ActionSheet \u884c\u52a8\u8868",md:"action-sheet",demo:"https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html"},{name:"ColorPicker \u989c\u8272\u9009\u62e9\u673a",md:"color-picker",demo:"./repl/color-picker.html"},{name:"Popover \u63d0\u793a",md:"popover",demo:"https://tencent.github.io/omi/packages/omim/demos/popover/index.html"},{name:"Toast \u5f39\u51fa\u63d0\u793a",md:"toast",demo:"https://tencent.github.io/omi/packages/omim/demos/toast/index.html"}]},{title:"\u8868\u5355",list:[{name:"Text Field \u6587\u672c\u8f93\u5165",md:"text-field",demo:"./repl/text-field.html"},{name:"Select \u4e0b\u62c9\u9009\u62e9",md:"select",demo:"./repl/select.html"},{name:"Checkbox \u590d\u9009\u6846",md:"checkbox",demo:"./repl/checkbox.html"},{name:"Radio \u5355\u9009\u6846",md:"radio",demo:"./repl/radio.html"},{name:"Switch \u5207\u6362",md:"switch",demo:"./repl/switch.html"},{name:"DateTimePicker \u65f6\u95f4\u65e5\u671f\u9009\u62e9\u5668",md:"date-time-picker",demo:"https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html"},{name:"Picker \u539f\u751f\u9009\u62e9\u5668",md:"picker",demo:"https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html"},{name:"TransferList \u7a7f\u68ad\u5217\u8868",md:"transfer-list",demo:"https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html"}]},{title:"\u6570\u636e",list:[{name:"List \u5217\u8868",md:"list",demo:"./repl/list.html"},{name:"Table \u8868\u683c",md:"table",demo:"https://tencent.github.io/omi/packages/omim/demos/table/index.script.html"},{name:"Linear Progress \u7ebf\u6027\u8fdb\u5ea6",md:"linear-progress",demo:"./repl/linear-progress.html"},{name:"Slider \u6ed1\u5757",md:"slider",demo:"./repl/slider.html"},{name:"Chips \u6807\u7b7e",md:"chips",demo:"./repl/chips.html"},{name:"Tag \u6807\u7b7e",md:"tag",demo:"./repl/tag.html"},{name:"Badge \u5fbd\u7ae0",md:"badge",demo:"./repl/badge.html"},{name:"Tree \u6811",md:"tree",demo:"./repl/tree.html"},{name:"Card \u5361\u7247",md:"card",demo:"./repl/card.html"},{name:"Path Progress \u8def\u5f84\u8fdb\u5ea6",md:"path-progress",demo:"./repl/path-progress.html"},{name:"Paper \u7eb8\u7247",md:"paper",demo:"./repl/paper.html"},{name:"Step \u6b65\u9aa4",md:"step",demo:"./repl/step.html"},{name:"Simple Card \u7b80\u5355\u5361\u7247",md:"simple-card",demo:"./repl/simple-card.html"},{name:"Editor \u5bcc\u6587\u672c\u7f16\u8f91\u5668",md:"editor",demo:"https://tencent.github.io/omi/packages/omim/demos/editor/index.html"},{name:"Spreadsheet \u7535\u5b50\u8868\u683c",md:"spreadsheet",demo:"https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html"},{name:"Rate \u8bc4\u5206",md:"rate",demo:"https://tencent.github.io/omi/packages/omim/demos/rate/index.html"}]},{title:"\u56fe\u8868",list:[{name:"\u7b80\u4ecb",md:"introduction-chart"},{name:"\u67f1\u72b6\u56fe",md:"bar",demo:"./repl/bar.html"},{name:"\u7ebf\u72b6\u56fe",md:"line",demo:"./repl/line.html"},{name:"\u6563\u70b9\u56fe",md:"scatter",demo:"./repl/scatter.html"},{name:"\u997c\u56fe",md:"pie",demo:"./repl/pie.html"},{name:"\u73af\u72b6\u56fe",md:"doughnut",demo:"./repl/doughnut.html"},{name:"\u96f7\u8fbe\u56fe",md:"radar",demo:"./repl/radar.html"},{name:"\u6781\u533a\u56fe",md:"polar-area",demo:"./repl/polar-area.html"},{name:"\u6c14\u6ce1\u56fe",md:"bubble",demo:"./repl/bubble.html"},{name:"\u5408\u6210\u56fe",md:"bar-line",demo:"./repl/bar-line.html"}]}],en:[{title:"Omim",list:[{name:"Introduction",md:"introduction"}]},{title:"Base",list:[{name:"Button",md:"button",demo:"./repl/button.html"},{name:"Fab",md:"fab",demo:"./repl/fab.html"},{name:"Icon",md:"icon",demo:"./repl/icon.html"},{name:"IconButton",md:"icon-button",demo:"./repl/icon-button.html"},{name:"Avatar",md:"avatar",demo:"./repl/avatar.html"},{name:"Loading",md:"loading",demo:"./repl/loading.html"},{name:"Breadcrumb",md:"breadcrumb",demo:"./repl/breadcrumb.html"}]},{title:"Util",list:[{name:"Transition",md:"transition",demo:"https://tencent.github.io/omi/packages/omim/demos/transition/index.html"},{name:"To",md:"to",demo:"https://tencent.github.io/omi/packages/omim/demos/to/index.html"},{name:"Theme",md:"theme",demo:"https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html"},{name:"Typography",md:"typography",demo:"./repl/typography.html"},{name:"Layout Grid",md:"layout-grid",demo:"https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html"}]},{title:"Layout",list:[{name:"Row",md:"row",demo:"./repl/row.html"},{name:"Elevation",md:"elevation",demo:"./repl/elevation.html"},{name:"Image List",md:"image-list",demo:"./repl/image-list.html"}]},{title:"Navigation",list:[{name:"Menu",md:"menu",demo:"./repl/menu.html"},{name:"Drawer",md:"drawer",demo:"https://tencent.github.io/omi/packages/omim/demos/drawer/index.html"},{name:"Tab",md:"tab",demo:"./repl/tab.html"},{name:"Nav",md:"nav",demo:"./repl/nav.html"},{name:"Pagination",md:"pagination",demo:"https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html"},{name:"Top App Bar",md:"top-app-bar",demo:"https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html"}]},{title:"Operational Feedback",list:[{name:"Dialog",md:"dialog",demo:"./repl/dialog.html"},{name:"Snackbar",md:"snackbar",demo:"./repl/snackbar.html"},{name:"ActionSheet",md:"action-sheet",demo:"https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html"},{name:"ColorPicker",md:"color-picker",demo:"./repl/color-picker.html"},{name:"Popover",md:"popover",demo:"https://tencent.github.io/omi/packages/omim/demos/popover/index.html"},{name:"Toast",md:"toast",demo:"https://tencent.github.io/omi/packages/omim/demos/toast/index.html"}]},{title:"Form",list:[{name:"Text Field",md:"text-field",demo:"./repl/text-field.html"},{name:"Select",md:"select",demo:"./repl/select.html"},{name:"Checkbox",md:"checkbox",demo:"./repl/checkbox.html"},{name:"Radio",md:"radio",demo:"./repl/radio.html"},{name:"Switch",md:"switch",demo:"./repl/switch.html"},{name:"DateTimePicker",md:"date-time-picker",demo:"https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html"},{name:"Picker",md:"picker",demo:"https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html"},{name:"TransferList",md:"transfer-list",demo:"https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html"}]},{title:"Data",list:[{name:"List",md:"list",demo:"./repl/list.html"},{name:"Table",md:"table",demo:"https://tencent.github.io/omi/packages/omim/demos/table/index.script.html"},{name:"Linear Progress",md:"linear-progress",demo:"./repl/linear-progress.html"},{name:"Slider",md:"slider",demo:"./repl/slider.html"},{name:"Chips",md:"chips",demo:"./repl/chips.html"},{name:"Tag",md:"tag",demo:"./repl/tag.html"},{name:"Badge",md:"badge",demo:"./repl/badge.html"},{name:"Tree",md:"tree",demo:"./repl/tree.html"},{name:"Card",md:"card",demo:"./repl/card.html"},{name:"Path Progress",md:"path-progress",demo:"./repl/path-progress.html"},{name:"Paper",md:"paper",demo:"./repl/paper.html"},{name:"Step",md:"step",demo:"./repl/step.html"},{name:"Simple Card",md:"simple-card",demo:"./repl/simple-card.html"},{name:"Editor",md:"editor",demo:"https://tencent.github.io/omi/packages/omim/demos/editor/index.html"},{name:"Spreadsheet",md:"spreadsheet",demo:"https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html"},{name:"Rate",md:"rate",demo:"https://tencent.github.io/omi/packages/omim/demos/rate/index.html"}]},{title:"Chart",list:[{name:"Introduction",md:"introduction-chart"},{name:"Bar",md:"bar",demo:"./repl/bar.html"},{name:"Line",md:"line",demo:"./repl/line.html"},{name:"Scatter",md:"scatter",demo:"./repl/scatter.html"},{name:"Pie",md:"pie",demo:"./repl/pie.html"},{name:"Doughnut",md:"doughnut",demo:"./repl/doughnut.html"},{name:"Radar",md:"radar",demo:"./repl/radar.html"},{name:"PolarArea",md:"polar-area",demo:"./repl/polar-area.html"},{name:"Bubble",md:"bubble",demo:"./repl/bubble.html"},{name:"BarLine",md:"bar-line",demo:"./repl/bar-line.html"}]}]}};t.default=r},34:function(e,t,n){"use strict";(function(e){function r(e){var t=!1;window.history.length!==u.historyLength||u.route._routeByTo||(t=!0),u.route._routeByTo=!1,u.historyLength=window.history.length;var n=!1;if("hashchange"===e.type&&u.route.before&&(n=!1===u.route.before(e)),!n){var r=window.location.hash.replace("#",""),i=!0;Object.keys(l).every(function(e){var n=r.split("?")[0].match(l[e].reg);if(n){var s=e.match(l[e].reg);return u.route.params=o(n,s),u.route.query=a(r),l[e].callback({params:u.route.params,query:a(r),data:u.route.data,byNative:t}),u.route.data=null,i=!1,!1}return!0}),i&&l["*"]&&l["*"].callback({byNative:t}),"hashchange"===e.type&&u.route.after&&u.route.after(e)}}function o(e,t){var n={};return e.forEach(function(e,r){r>0&&(n[t[r].replace(":","")]=e)}),n}function i(e,t){l[e]={callback:t,reg:c(e)}}function a(e){e=e.replace(/#.*$/,"");var t,n=e.split(/[?&]/).slice(1),r={};for(t=0;t-1&&(g=c[k],c=c.slice(0,k))}c&&(r.push(c),c="",d=!1);var E=""!==g&&void 0!==v&&v!==g,j="+"===O||"*"===O,S="?"===O||"*"===O,P=g||l,A=x||_;r.push({name:w||o++,prefix:g,delimiter:P,optional:S,repeat:j,partial:E,pattern:A?s(A):"[^"+a(P)+"]+?"})}}return(c||i-1;else{var y=m.repeat?"(?:"+m.pattern+")(?:"+a(m.delimiter)+"(?:"+m.pattern+"))*":m.pattern;t&&t.push(m),m.optional?m.partial?d+=a(m.prefix)+"("+y+")?":d+="(?:"+a(m.prefix)+"("+y+"))?":d+=a(m.prefix)+"("+y+")"}}return i?(r||(d+="(?:"+s+")?"),d+="$"===u?"$":"(?="+u+")"):(r||(d+="(?:"+s+"(?="+u+"))?"),f||(d+="(?="+s+"|"+u+")")),new RegExp(d,c(n))}function p(e,t,n){return e instanceof RegExp?l(e,t):Array.isArray(e)?u(e,t,n):d(e,t,n)}var m="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=p,e.exports.parse=r,e.exports.compile=o,e.exports.tokensToFunction=i,e.exports.tokensToRegExp=f;var h="/",b="./",y=new RegExp(["(\\\\.)","(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?"].join("|"),"g")},36:function(e,t,n){function r(e){var t=o[e];return t?n.e(t[1]).then(function(){return n(t[0])}):Promise.reject(new Error("Cannot find module '"+e+"'."))}var o={"./en/action-sheet.md":[37,123],"./en/avatar.md":[38,122],"./en/badge.md":[39,121],"./en/bar-line.md":[40,120],"./en/bar.md":[41,119],"./en/breadcrumb.md":[42,118],"./en/bubble.md":[43,117],"./en/button.md":[44,116],"./en/card.md":[45,115],"./en/checkbox.md":[46,114],"./en/chips.md":[47,113],"./en/color-picker.md":[48,112],"./en/date-time-picker.md":[49,111],"./en/dialog.md":[50,110],"./en/doughnut.md":[51,109],"./en/drawer.md":[52,108],"./en/editor.md":[53,107],"./en/elevation.md":[54,106],"./en/fab.md":[55,105],"./en/icon-button.md":[56,104],"./en/icon.md":[57,103],"./en/image-list.md":[58,102],"./en/introduction-chart.md":[59,101],"./en/introduction.md":[60,100],"./en/layout-grid.md":[61,99],"./en/line.md":[62,98],"./en/linear-progress.md":[63,97],"./en/list.md":[64,96],"./en/loading.md":[65,95],"./en/menu.md":[66,94],"./en/nav.md":[67,93],"./en/pagination.md":[68,92],"./en/paper.md":[69,91],"./en/path-progress.md":[70,90],"./en/picker.md":[71,89],"./en/pie.md":[72,88],"./en/polar-area.md":[73,87],"./en/popover.md":[74,86],"./en/radar.md":[75,85],"./en/radio.md":[76,84],"./en/rate.md":[77,83],"./en/row.md":[78,82],"./en/scatter.md":[79,81],"./en/select.md":[80,80],"./en/simple-card.md":[81,79],"./en/slider.md":[82,78],"./en/snackbar.md":[83,77],"./en/spreadsheet.md":[84,76],"./en/step.md":[85,75],"./en/switch.md":[86,74],"./en/tab.md":[87,73],"./en/table.md":[88,72],"./en/tag.md":[89,71],"./en/text-field.md":[90,70],"./en/theme.md":[91,69],"./en/to.md":[92,68],"./en/toast.md":[93,67],"./en/top-app-bar.md":[94,66],"./en/transfer-list.md":[95,65],"./en/transition.md":[96,64],"./en/tree.md":[97,63],"./en/typography.md":[98,62],"./zh-cn/action-sheet.md":[99,61],"./zh-cn/avatar.md":[100,60],"./zh-cn/badge.md":[101,59],"./zh-cn/bar-line.md":[102,58],"./zh-cn/bar.md":[103,57],"./zh-cn/breadcrumb.md":[104,56],"./zh-cn/bubble.md":[105,55],"./zh-cn/button.md":[106,54],"./zh-cn/card.md":[107,53],"./zh-cn/checkbox.md":[108,52],"./zh-cn/chips.md":[109,51],"./zh-cn/color-picker.md":[110,50],"./zh-cn/date-time-picker.md":[111,49],"./zh-cn/dialog.md":[112,48],"./zh-cn/doughnut.md":[113,47],"./zh-cn/drawer.md":[114,46],"./zh-cn/editor.md":[115,45],"./zh-cn/elevation.md":[116,44],"./zh-cn/fab.md":[117,43],"./zh-cn/icon-button.md":[118,42],"./zh-cn/icon.md":[119,41],"./zh-cn/image-list.md":[120,40],"./zh-cn/introduction-chart.md":[121,39],"./zh-cn/introduction.md":[122,38],"./zh-cn/layout-grid.md":[123,37],"./zh-cn/line.md":[124,36],"./zh-cn/linear-progress.md":[125,35],"./zh-cn/list.md":[126,34],"./zh-cn/loading.md":[127,33],"./zh-cn/menu.md":[128,32],"./zh-cn/nav.md":[129,31],"./zh-cn/pagination.md":[130,30],"./zh-cn/paper.md":[131,29],"./zh-cn/path-progress.md":[132,28],"./zh-cn/picker.md":[133,27],"./zh-cn/pie.md":[134,26],"./zh-cn/polar-area.md":[135,25],"./zh-cn/popover.md":[136,24],"./zh-cn/radar.md":[137,23],"./zh-cn/radio.md":[138,22],"./zh-cn/rate.md":[139,21],"./zh-cn/row.md":[140,20],"./zh-cn/scatter.md":[141,19],"./zh-cn/select.md":[142,18],"./zh-cn/simple-card.md":[143,17],"./zh-cn/slider.md":[144,16],"./zh-cn/snackbar.md":[145,15],"./zh-cn/spreadsheet.md":[146,14],"./zh-cn/step.md":[147,13],"./zh-cn/switch.md":[148,12],"./zh-cn/tab.md":[149,11],"./zh-cn/table.md":[150,10],"./zh-cn/tag.md":[151,9],"./zh-cn/text-field.md":[152,8],"./zh-cn/theme.md":[153,7],"./zh-cn/to.md":[154,6],"./zh-cn/toast.md":[155,5],"./zh-cn/top-app-bar.md":[156,4],"./zh-cn/transfer-list.md":[157,3],"./zh-cn/transition.md":[158,2],"./zh-cn/tree.md":[159,1],"./zh-cn/typography.md":[160,0]};r.keys=function(){return Object.keys(o)},r.id=36,e.exports=r},4:function(e,t,n){"use strict";"undefined"===typeof Promise&&(n(5).enable(),window.Promise=n(7)),n(8),Object.assign=n(9)},5:function(e,t,n){"use strict";function r(){l=!1,s._47=null,s._71=null}function o(e){function t(t){(e.allRejections||a(d[t].error,e.whitelist||c))&&(d[t].displayId=u++,e.onUnhandled?(d[t].logged=!0,e.onUnhandled(d[t].displayId,d[t].error)):(d[t].logged=!0,i(d[t].displayId,d[t].error)))}function n(t){d[t].logged&&(e.onHandled?e.onHandled(d[t].displayId,d[t].error):d[t].onUnhandled||(console.warn("Promise Rejection Handled (id: "+d[t].displayId+"):"),console.warn(' This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id '+d[t].displayId+".")))}e=e||{},l&&r(),l=!0;var o=0,u=0,d={};s._47=function(e){2===e._83&&d[e._56]&&(d[e._56].logged?n(e._56):clearTimeout(d[e._56].timeout),delete d[e._56])},s._71=function(e,n){0===e._75&&(e._56=o++,d[e._56]={displayId:null,error:n,timeout:setTimeout(t.bind(null,e._56),a(n,c)?100:2e3),logged:!1})}}function i(e,t){console.warn("Possible Unhandled Promise Rejection (id: "+e+"):"),((t&&(t.stack||t))+"").split("\n").forEach(function(e){console.warn(" "+e)})}function a(e,t){return t.some(function(t){return e instanceof t})}var s=n(3),c=[ReferenceError,TypeError,RangeError],l=!1;t.disable=r,t.enable=o},6:function(e,t,n){"use strict";(function(t){function n(e){a.length||(i(),s=!0),a[a.length]=e}function r(){for(;cl){for(var t=0,n=a.length-c;t-1?t:e}function p(e,t){t=t||{};var n=t.body;if(e instanceof p){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new o(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new o(t.headers)),this.method=f(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function m(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function h(e){var t=new o;return e.split(/\r?\n/).forEach(function(e){var n=e.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();t.append(r,o)}}),t}function b(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new o(t.headers),this.url=t.url||"",this._initBody(e)}if(!e.fetch){var y={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(y.arrayBuffer)var g=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],v=function(e){return e&&DataView.prototype.isPrototypeOf(e)},w=ArrayBuffer.isView||function(e){return e&&g.indexOf(Object.prototype.toString.call(e))>-1};o.prototype.append=function(e,r){e=t(e),r=n(r);var o=this.map[e];this.map[e]=o?o+","+r:r},o.prototype.delete=function(e){delete this.map[t(e)]},o.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},o.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},o.prototype.set=function(e,r){this.map[t(e)]=n(r)},o.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},o.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),r(e)},o.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),r(e)},o.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),r(e)},y.iterable&&(o.prototype[Symbol.iterator]=o.prototype.entries);var x=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];p.prototype.clone=function(){return new p(this,{body:this._bodyInit})},d.call(p.prototype),d.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},b.error=function(){var e=new b(null,{status:0,statusText:""});return e.type="error",e};var _=[301,302,303,307,308];b.redirect=function(e,t){if(-1===_.indexOf(t))throw new RangeError("Invalid status code");return new b(null,{status:t,headers:{location:e}})},e.Headers=o,e.Request=p,e.Response=b,e.fetch=function(e,t){return new Promise(function(n,r){var o=new p(e,t),i=new XMLHttpRequest;i.onload=function(){var e={status:i.status,statusText:i.statusText,headers:h(i.getAllResponseHeaders()||"")};e.url="responseURL"in i?i.responseURL:e.headers.get("X-Request-URL");var t="response"in i?i.response:i.responseText;n(new b(t,e))},i.onerror=function(){r(new TypeError("Network request failed"))},i.ontimeout=function(){r(new TypeError("Network request failed"))},i.open(o.method,o.url,!0),"include"===o.credentials&&(i.withCredentials=!0),"responseType"in i&&y.blob&&(i.responseType="blob"),o.headers.forEach(function(e,t){i.setRequestHeader(t,e)}),i.send("undefined"===typeof o._bodyInit?null:o._bodyInit)})},e.fetch.polyfill=!0}}("undefined"!==typeof self?self:void 0)},9:function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,c=r(e),l=1;l2;)Ae.push(arguments[a]);for(t&&null!=t.children&&(Ae.length||Ae.push(t.children),delete t.children);Ae.length;)if((o=Ae.pop())&&void 0!==o.pop)for(a=o.length;a--;)Ae.push(o[a]);else"boolean"===typeof o&&(o=null),(i="function"!==typeof e)&&(null==o?o="":"number"===typeof o?o=String(o):"string"!==typeof o&&(i=!1)),i&&r?s[s.length-1]+=o:0===s.length?s=[o]:s.push(o),r=i;var c=new n;return c.nodeName=e,c.children=s,c.attributes=null==t?void 0:t,c.key=null==t?void 0:t.key,void 0!==Pe.vnode&&Pe.vnode(c),c}function o(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function i(e,t){for(var n,r,i=o(e),a=1;a2?[].slice.call(arguments,2):e.children)}function p(e){1==Ue.push(e)&&(Pe.debounceRendering||Le)(m)}function m(){for(var e;e=Ue.pop();)ee(e)}function h(e,t,n){if("string"===typeof t||"number"===typeof t)return void 0!==e.splitText;if("string"===typeof t.nodeName){var r=$e[t.nodeName];return r?n||e._componentConstructor===r:!e._componentConstructor&&b(e,t.nodeName)}return n||e._componentConstructor===t.nodeName}function b(e,t){return e.normalizedNodeName===t||e.nodeName.toLowerCase()===t.toLowerCase()}function y(e){var t=a({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function g(e,t){var n=t?Pe.doc.createElementNS("http://www.w3.org/2000/svg",e):Pe.doc.createElement(e);return n.normalizedNodeName=e,n}function v(e){for(var t=e.replace(/\/\*(.|\s)*?\*\//g," ").replace(/\s+/g," "),n={},r=t.match(/ ?(.*?) ?{([^}]*)}/)||[o,i,t],o=r[0],i=r[1],a=r[2],s=a.split(";").map(function(e){return e.split(":").map(function(e){return e&&e.trim()})}),c=s,c=Array.isArray(c),c=0,c=c||c[Symbol.iterator]();;){var l;if(c){if(c>=c.length)break;l=c[c++]}else{if(c=c.next(),c.done)break;l=c.value}var u=l,d=u[0],f=u[1];n[function(e){return e.replace(/\W+\w/g,function(e){return e.slice(-1).toUpperCase()})}(d)]=f}return n}function w(e){var t=e.parentNode;t&&t.removeChild(e)}function x(e,t,n,r,o){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)s(n,null),s(r,e);else if("class"!==t||o)if("style"===t)if(Pe.isWeb){if(r&&"string"!==typeof r&&"string"!==typeof n||(e.style.cssText=r||""),r&&"object"===("undefined"===typeof r?"undefined":Se(r))){if("string"!==typeof n)for(var i in n)i in r||(e.style[i]="");for(var i in r)e.style[i]="number"===typeof r[i]&&!1===Me.test(i)?r[i]+"px":r[i]}}else{var a=n,c=r;"string"===typeof n&&(a=v(n)),"string"==typeof r&&(c=v(r));var l={},u=!1;if(a){for(var d in a)"object"!=("undefined"===typeof c?"undefined":Se(c))||d in c||(l[d]="",u=!0);for(var f in c)c[f]!==a[f]&&(l[f]=c[f],u=!0);u&&e.setStyles(l)}else e.setStyles(c)}else if("dangerouslySetInnerHTML"===t)r&&(e.innerHTML=r.__html||"");else if("o"==t[0]&&"n"==t[1]){var p=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),r?n||(e.addEventListener(t,O,p),"tap"==t&&(e.addEventListener("touchstart",k,p),e.addEventListener("touchend",E,p))):(e.removeEventListener(t,O,p),"tap"==t&&(e.removeEventListener("touchstart",k,p),e.removeEventListener("touchend",E,p))),(e._listeners||(e._listeners={}))[t]=r}else if("list"!==t&&"type"!==t&&!o&&t in e)_(e,t,null==r?"":r),null!=r&&!1!==r||e.removeAttribute(t);else{var m=o&&t!==(t=t.replace(/^xlink:?/,""));null==r||!1===r?m?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!==typeof r&&(m?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),r):e.setAttribute(t,r))}else e.className=r||""}function _(e,t,n){try{e[t]=n}catch(e){}}function O(e){return this._listeners[e.type](Pe.event&&Pe.event(e)||e)}function k(e){this.___touchX=e.touches[0].pageX,this.___touchY=e.touches[0].pageY,this.___scrollTop=document.body.scrollTop}function E(e){Math.abs(e.changedTouches[0].pageX-this.___touchX)<30&&Math.abs(e.changedTouches[0].pageY-this.___touchY)<30&&Math.abs(document.body.scrollTop-this.___scrollTop)<30&&this.dispatchEvent(new CustomEvent("tap",{detail:e}))}function j(e){for(var t=0,n=Pe.styleCache.length;t0||t.children.length>0)return!0;for(n in t)if("children"!=n){var r=Se(t[n]);if("function"==r||"object"==r)return!0;if(t[n]!=e[n])return!0}}function ee(e,t,n,r){if(!e._disable){var o,i,s,c=e.props,l=e.data,u=e.context,d=e.prevProps||c,f=e.prevState||l,p=e.prevContext||u,m=e.base,h=e.nextBase,b=m||h,g=e._component,v=!1;if(m&&(e.props=d,e.data=f,e.context=p,e.store||2==t||J(d,c)?(v=!1,e.beforeUpdate&&e.beforeUpdate(c,l,u)):v=!0,e.props=c,e.data=l,e.context=u),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,!v){e.beforeRender&&e.beforeRender(),o=e.render(c,l,u),(e.constructor.css||e.css)&&T(o,"_s"+j(e.constructor)),z(o,e.scopedCssAttr),e.getChildContext&&(u=a(a({},u),e.getChildContext()));var w,x,_=o&&o.nodeName,O=Pe.mapping[_];if(O){var k=y(o);i=g,i&&i.constructor===O&&k.key==i.__key?K(i,k,1,u,!1):(w=i,e._component=i=G(O,k,u),i.nextBase=i.nextBase||h,i._parentComponent=e,K(i,k,0,u,!1),ee(i,1,n,!0)),x=i.base}else s=b,w=g,w&&(s=e._component=null),(b||1===t)&&(s&&(s._component=null),x=I(s,o,u,n||!m,b&&b.parentNode,!0));if(b&&x!==b&&i!==g){var E=b.parentNode;E&&x!==E&&(E.replaceChild(x,b),w||(b._component=null,M(b,!1)))}if(w&&ne(w),e.base=x,x&&!r){for(var S=e,P=e;P=P._parentComponent;)(S=P).base=x;x._component=S,x._componentConstructor=S.constructor}}if(!m||n?Fe.unshift(e):v||(e.afterUpdate&&e.afterUpdate(d,f,p),e.updated&&e.updated(d,f,p),Pe.afterUpdate&&Pe.afterUpdate(e)),null!=e._renderCallbacks)for(;e._renderCallbacks.length;)e._renderCallbacks.pop().call(e);He||r||B()}}function te(e,t,n,r){for(var o=e&&e._component,i=o,a=e,s=o&&e._componentConstructor===t.nodeName,c=s,l=y(t);o&&!c&&(o=o._parentComponent);)c=o.constructor===t.nodeName;return o&&c&&(!r||o._component)?(K(o,l,3,n,r),e=o.base):(i&&!s&&(ne(i),e=a=null),o=G(t.nodeName,l,n,t),e&&!o.nextBase&&(o.nextBase=e,a=null),K(o,l,1,n,r),e=o.base,a&&e!==a&&(a._component=null,M(a,!1))),e}function ne(e){Pe.beforeUnmount&&Pe.beforeUnmount(e);var t=e.base;if(e._disable=!0,e.uninstall&&e.uninstall(),e.store&&e.store.instances)for(var n=0,r=e.store.instances.length;n0&&(this.instances.forEach(function(o){(r||n.updateAll||o.constructor.updatePath&&le(t,o.constructor.updatePath)||o._updatePath&&le(t,o._updatePath))&&(o.constructor.use?o.use=u(e.data,o.constructor.use):o.initUse&&(o.use=u(e.data,o.initUse())),o.update())}),this.onChange&&this.onChange(t))}}function ce(e,t){if(!e)return!1;for(var n in t){if(e.indexOf(n)>-1)return!0;for(var r=0,o=e.length;r0)return{class:ye.apply(null,n)}}function ve(e){var t=e.base;if(t)for(;t.parentNode;){if(t.parentNode._component)return t.parentNode._component;t=t.parentNode}}function we(e){var t="";for(var n in e){var r=e[n];null!=r&&(t&&(t+=" "),t+=it[n]||(it[n]=n.replace(/([A-Z])/g,"-$1").toLowerCase()),t+=": ",t+=r,"number"===typeof r&&!1===IS_NON_DIMENSIONAL.test(n)&&(t+="px"),t+=";")}return t||void 0}function xe(e,t,n,r){n=n||{},t=Object.assign({scopedCSS:!0},t);var o={},i=_e(e,t,n,r,o);return{css:Object.values(o),html:i}}function _e(e,t,n,r,o){if(null==e||"boolean"===typeof e)return"";var i=e.nodeName,a=e.attributes,s=!1,c=t.pretty,l=c&&"string"===typeof c?c:"\t";if("object"!==("undefined"===typeof e?"undefined":Se(e))&&!i)return et(e);var u=nt[i];if(u){s=!0;var d,f=ke(e),p=new u(f,n);if(p._disable=p.__x=!0,p.props=f,p.store=n,p.install&&p.install(),p.beforeRender&&p.beforeRender(),d=p.render(p.props,p.data,p.store),t.scopedCSS){if(p.constructor.css||p.css){var m=p.constructor.css?p.constructor.css:"function"===typeof p.css?p.css():p.css,h="_s"+j(p.constructor);o[h]={id:h,css:S(m,h)},T(d,h)}p.scopedCSSAttr=e.css,z(d,p.scopedCSSAttr)}return _e(d,t,n,!1,o)}var b,y="";if(a){var g=Object.keys(a);t&&!0===t.sortAttributes&&g.sort();for(var v=0;v]/)&&(t&&t.allAttributes||"key"!==w&&"ref"!==w))){if("className"===w){if(a.class)continue;w="class"}else r&&w.match(/^xlink:?./)&&(w=w.toLowerCase().replace(/^xlink:?/,"xlink:"));"style"===w&&x&&"object"===("undefined"===typeof x?"undefined":Se(x))&&(x=we(x));var _=t.attributeHook&&t.attributeHook(w,x,n,t,s);if(_||""===_)y+=_;else if("dangerouslySetInnerHTML"===w)b=x&&x.__html;else if((x||0===x||""===x)&&"function"!==typeof x){if((!0===x||""===x)&&(x=w,!t||!t.xml)){y+=" "+w;continue}y+=" "+w+'="'+et(x)+'"'}}}}if(c){var O=y.replace(/^\n\s*/," ");O===y||~O.indexOf("\n")?c&&~y.indexOf("\n")&&(y+="\n"):y=O}if(y="<"+i+y+">",String(i).match(/[\s\n\\\/='"\0<>]/))throw y;var k=String(i).match(rt);k&&(y=y.replace(/>$/," />"));var E=[];if(b)c&&ot(b)&&(b="\n"+l+tt(b,l)),y+=b;else if(e.children){for(var P=c&&~y.indexOf("\n"),v=0;v";return k||(c&&~y.indexOf("\n")&&(y+="\n"),y+=""+i+">"),y}function Oe(e,t){for(var n in t)e[n]=t[n];return e}function ke(e){var t=Oe({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var r in n)void 0===t[r]&&(t[r]=n[r]);return t}function Ee(e){var t=at(this,ut(e),arguments,[]);return t.length>1?t:t[0]}function je(){return{}}Object.defineProperty(t,"__esModule",{value:!0});var Se="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe={scopedStyle:!0,mapping:{},isWeb:!0,staticStyleMapping:{},doc:"object"===("undefined"===typeof document?"undefined":Se(document))?document:null,root:function(){return"object"===("undefined"===typeof e?"undefined":Se(e))&&e&&e.Math===Math&&e.Array===Array?e:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof e?e:function(){return this}()}(),styleCache:[]},Ae=[],Te=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable;if("undefined"!==typeof Element&&!Element.prototype.addEventListener){var ze=function(e){e||(e=window.event);for(var t=0,n=0,r=Be[e.type];n8&&(Ie=!0)}var Le=Ie?Promise.resolve().then.bind(Promise.resolve()):setTimeout,Me=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,Ue=[],$e=Pe.mapping,De=0,Fe=[],He=0,We=!1,qe=!1,Ve={},Xe=function e(t,n,r){var o=function(t,n,r){t.$observer||(t.$observer=this);var o=t.$observer,i=[];e.isArray(t)&&(0===t.length&&(t.$observeProps={},t.$observeProps.$observerPath="#"),o.mock(t));for(var a in t)t.hasOwnProperty(a)&&(r?e.isArray(n)&&e.isInArray(n,a)?(i.push(a),o.watch(t,a)):e.isString(n)&&a==n&&(i.push(a),o.watch(t,a)):(i.push(a),o.watch(t,a)));o.target=t,o.propertyChangedHandler||(o.propertyChangedHandler=[]);var s=r||n;o.propertyChangedHandler.push({all:!r,propChanged:s,eventPropArr:i})};return o.prototype={onPropertyChanged:function(t,n,r,o,i){if(n!==r&&this.propertyChangedHandler)for(var a=e._getRootName(t,i),s=0,c=this.propertyChangedHandler.length;s-1;)if(t===e[n])return!0;return!1},Xe.isFunction=function(e){return"[object Function]"==Object.prototype.toString.call(e)},Xe._getRootName=function(e,t){return"#"===t?e:t.split("-")[1]},Xe.add=function(e,t){e.$observer.watch(e,t)},Xe.set=function(e,t,n,r){r||(e[t]=n),e.$observer.watch(e,t),r&&(e[t]=n)},Array.prototype.size=function(e){this.length=e};var Ge=[],Ye=[],Ze=0,Qe=function(){function e(t,n){re(this,e),this.props=i(l(this.constructor.props),this.constructor.defaultProps,t),this.elementId=Ze++,this.data=this.constructor.data||this.data||{},this._preCss=null,this.store=n}return e.prototype.update=function(e){this._willUpdate=!0,e&&(this._renderCallbacks=this._renderCallbacks||[]).push(e),ee(this,2),Pe.componentChange&&Pe.componentChange(this,this.base),this._willUpdate=!1},e.prototype.fire=function(e,t){var n=this;Object.keys(this.props).every(function(r){return"on"+e.toLowerCase()!==r.toLowerCase()||(n.props[r]({detail:t}),!1)})},e.prototype.render=function(){},e}();Qe.is="WeElement";var Ke=function(e){function t(){return me(this,t),he(this,e.apply(this,arguments))}return be(t,e),t.prototype.beforeInstall=function(){this.data=this.vm.data},t}(Qe);Ke.observe=!0,Ke.mergeUpdate=!0;var Je={}.hasOwnProperty,et=function(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},tt=function(e,t){return String(e).replace(/(\n+)/g,"$1"+(t||"\t"))},nt=Pe.mapping,rt=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,ot=function(e,t,n){return String(e).length>(t||40)||!n&&-1!==String(e).indexOf("\n")||-1!==String(e).indexOf("<")},it={},at=function e(t,n,r,o){for(var i=1;i"===t?(s(),r=1):r&&("="===t?(r=4,n=o,o=""):"/"===t?(s(),3===r&&(a=a[0]),r=a,(a=a[0]).push(r,4),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(s(),r=2):o+=t)}return s(),a},ct="function"==typeof Map,lt=ct?new Map:{},ut=ct?function(e){var t=lt.get(e);return t||lt.set(e,t=st(e)),t}:function(e){for(var t="",n=0;n0)return!1;return!0}},{key:"render",value:function(){if(this.demo)return Omi.h("div",null,Omi.h("iframe",{style:"width:"+(window.innerWidth-1180)+"px;height:"+(window.innerHeight-59)+"px;visibility:"+(this.show?"visible":"hidden")+";",src:this.demo}),Omi.h("div",{class:"icon",onClick:this.toggle},Omi.h("svg",{viewBox:"64 64 896 896",class:"",style:"left:"+(this.show?"14px":"0px")+";","data-icon":"left",width:"1.2em",height:"1.2em",fill:"currentColor","aria-hidden":"true",focusable:"false"},Omi.h("path",{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"})),Omi.h("svg",{viewBox:"64 64 896 896",class:"",style:"left:"+(this.show?"-14px":"0px")+";","data-icon":"right",width:"1.2em",height:"1.2em",fill:"currentColor","aria-hidden":"true",focusable:"false"},Omi.h("path",{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z"}))))}}]),t}(s.WeElement))},3:function(e,t,n){"use strict";function r(){}function o(e){try{return e.then}catch(e){return g=e,v}}function i(e,t){try{return e(t)}catch(e){return g=e,v}}function a(e,t,n){try{e(t,n)}catch(e){return g=e,v}}function s(e){if("object"!==b(this))throw new TypeError("Promises must be constructed via new");if("function"!==typeof e)throw new TypeError("Promise constructor's argument is not a function");this._75=0,this._83=0,this._18=null,this._38=null,e!==r&&h(e,this)}function c(e,t,n){return new e.constructor(function(o,i){var a=new s(r);a.then(o,i),l(e,new m(t,n,a))})}function l(e,t){for(;3===e._83;)e=e._18;if(s._47&&s._47(e),0===e._83)return 0===e._75?(e._75=1,void(e._38=t)):1===e._75?(e._75=2,void(e._38=[e._38,t])):void e._38.push(t);u(e,t)}function u(e,t){y(function(){var n=1===e._83?t.onFulfilled:t.onRejected;if(null===n)return void(1===e._83?d(t.promise,e._18):f(t.promise,e._18));var r=i(n,e._18);r===v?f(t.promise,g):d(t.promise,r)})}function d(e,t){if(t===e)return f(e,new TypeError("A promise cannot be resolved with itself."));if(t&&("object"===("undefined"===typeof t?"undefined":b(t))||"function"===typeof t)){var n=o(t);if(n===v)return f(e,g);if(n===e.then&&t instanceof s)return e._83=3,e._18=t,void p(e);if("function"===typeof n)return void h(n.bind(t),e)}e._83=1,e._18=t,p(e)}function f(e,t){e._83=2,e._18=t,s._71&&s._71(e,t),p(e)}function p(e){if(1===e._75&&(l(e,e._38),e._38=null),2===e._75){for(var t=0;t768};var o=0;this.map={},this.positionMap={},a.default.menus[this.data.lan].forEach(function(e,t){e.list.forEach(function(e,r){e.id=o++,e.position=[t,r],n.map[e.id]=e,e.index=t,e.subIndex=r,n.positionMap[t+"-"+r]=e})}),this.preIndex=0,this.preSubIndex=0}return o(e,[{key:"getNext",value:function(){var e=this.positionMap[this.data.position.join("-")];if(e)return this.map[e.id+1]}},{key:"getPre",value:function(){var e=this.positionMap[this.data.position.join("-")];if(e)return this.map[e.id-1]}},{key:"init",value:function(){var e=this;this.remarkable=new Remarkable({html:!0}),""===location.hash&&(this.data.position=[0,0],this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md,this.data.lan,function(t){e.data.html=e.remarkable.render(t)})),this.demo=this.data.menus[this.data.lan][0].list[0].demo,this.initRouter()}},{key:"toogleSidebar",value:function(){this.data.sideBarShow=!this.data.sideBarShow}},{key:"hideSidebar",value:function(){this.data.sideBarShow=!1}},{key:"initRouter",value:function(){var e=this,t=this.data.menus[this.data.lan];t.forEach(function(n){n.list.forEach(function(n){route("/"+n.md,function(r){t[e.preIndex].list[e.preSubIndex].selected=!1,e.preIndex=r.query.index,e.preSubIndex=r.query.subIndex,e.data.position=[Number(r.query.index),Number(r.query.subIndex)],e.data.sideBarShow=!1,e.myDemo.demo=t[e.preIndex].list[e.preSubIndex].demo,e.myDemo.update(),e.getMarkDown(n.md,e.data.lan,function(t){e.data.html=e.remarkable.render(t),document.body.scrollTop=0,document.documentElement.scrollTop=0})})})})}},{key:"getMarkDown",value:function(e,t,r){n(36)("./"+t+"/"+e+".md").then(function(e){r(e)})}}]),e}();t.default=s},33:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={menus:{"zh-cn":[{title:"Omim",list:[{name:"\u7b80\u4ecb",md:"introduction"}]},{title:"\u57fa\u7840",list:[{name:"Button \u6309\u94ae",md:"button",demo:"./repl/button.html"},{name:"Fab \u52a8\u4f5c\u6309\u94ae",md:"fab",demo:"./repl/fab.html"},{name:"Icon \u56fe\u6807",md:"icon",demo:"./repl/icon.html"},{name:"IconButton \u56fe\u6807\u6309\u94ae",md:"icon-button",demo:"./repl/icon-button.html"},{name:"Avatar \u5934\u50cf",md:"avatar",demo:"./repl/avatar.html"},{name:"Loading \u52a0\u8f7d",md:"loading",demo:"./repl/loading.html"},{name:"Breadcrumb \u9762\u5305\u5c51",md:"breadcrumb",demo:"./repl/breadcrumb.html"}]},{title:"\u516c\u7528",list:[{name:"Transition \u8fc7\u6e21",md:"transition",demo:"https://tencent.github.io/omi/packages/omim/demos/transition/index.html"},{name:"To \u8fd0\u52a8",md:"to",demo:"https://tencent.github.io/omi/packages/omim/demos/to/index.html"},{name:"Theme \u4e3b\u9898",md:"theme",demo:"https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html"},{name:"Typography \u6392\u7248",md:"typography",demo:"./repl/typography.html"},{name:"Layout Grid \u7f51\u683c\u5e03\u5c40",md:"layout-grid",demo:"https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html"}]},{title:"\u5e03\u5c40",list:[{name:"Row \u884c",md:"row",demo:"./repl/row.html"},{name:"Elevation \u9ad8\u5ea6\u76d2",md:"elevation",demo:"./repl/elevation.html"},{name:"Image List \u56fe\u7247\u5217\u8868",md:"image-list",demo:"./repl/image-list.html"}]},{title:"\u5bfc\u822a",list:[{name:"Menu \u83dc\u5355",md:"menu",demo:"./repl/menu.html"},{name:"Drawer \u62bd\u5c49",md:"drawer",demo:"https://tencent.github.io/omi/packages/omim/demos/drawer/index.html"},{name:"Tab \u6807\u7b7e\u5207\u6362",md:"tab",demo:"./repl/tab.html"},{name:"Nav \u5bfc\u822a",md:"nav",demo:"./repl/nav.html"},{name:"Pagination \u5206\u9875",md:"pagination",demo:"https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html"},{name:"Top App Bar \u9876\u90e8\u680f",md:"top-app-bar",demo:"https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html"}]},{title:"\u64cd\u4f5c\u53cd\u9988",list:[{name:"Dialog \u5bf9\u8bdd\u6846",md:"dialog",demo:"./repl/dialog.html"},{name:"Snackbar \u63d0\u9192",md:"snackbar",demo:"./repl/snackbar.html"},{name:"ActionSheet \u884c\u52a8\u8868",md:"action-sheet",demo:"https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html"},{name:"ColorPicker \u989c\u8272\u9009\u62e9\u673a",md:"color-picker",demo:"./repl/color-picker.html"},{name:"Popover \u63d0\u793a",md:"popover",demo:"https://tencent.github.io/omi/packages/omim/demos/popover/index.html"},{name:"Toast \u5f39\u51fa\u63d0\u793a",md:"toast",demo:"https://tencent.github.io/omi/packages/omim/demos/toast/index.html"}]},{title:"\u8868\u5355",list:[{name:"Text Field \u6587\u672c\u8f93\u5165",md:"text-field",demo:"./repl/text-field.html"},{name:"Select \u4e0b\u62c9\u9009\u62e9",md:"select",demo:"./repl/select.html"},{name:"Checkbox \u590d\u9009\u6846",md:"checkbox",demo:"./repl/checkbox.html"},{name:"Radio \u5355\u9009\u6846",md:"radio",demo:"./repl/radio.html"},{name:"Switch \u5207\u6362",md:"switch",demo:"./repl/switch.html"},{name:"DateTimePicker \u65f6\u95f4\u65e5\u671f\u9009\u62e9\u5668",md:"date-time-picker",demo:"https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html"},{name:"Picker \u539f\u751f\u9009\u62e9\u5668",md:"picker",demo:"https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html"},{name:"TransferList \u7a7f\u68ad\u5217\u8868",md:"transfer-list",demo:"https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html"}]},{title:"\u6570\u636e",list:[{name:"List \u5217\u8868",md:"list",demo:"./repl/list.html"},{name:"Table \u8868\u683c",md:"table",demo:"https://tencent.github.io/omi/packages/omim/demos/table/index.script.html"},{name:"Linear Progress \u7ebf\u6027\u8fdb\u5ea6",md:"linear-progress",demo:"./repl/linear-progress.html"},{name:"Slider \u6ed1\u5757",md:"slider",demo:"./repl/slider.html"},{name:"Chips \u6807\u7b7e",md:"chips",demo:"./repl/chips.html"},{name:"Tag \u6807\u7b7e",md:"tag",demo:"./repl/tag.html"},{name:"Badge \u5fbd\u7ae0",md:"badge",demo:"./repl/badge.html"},{name:"Tree \u6811",md:"tree",demo:"./repl/tree.html"},{name:"Card \u5361\u7247",md:"card",demo:"./repl/card.html"},{name:"Path Progress \u8def\u5f84\u8fdb\u5ea6",md:"path-progress",demo:"./repl/path-progress.html"},{name:"Paper \u7eb8\u7247",md:"paper",demo:"./repl/paper.html"},{name:"Step \u6b65\u9aa4",md:"step",demo:"./repl/step.html"},{name:"Simple Card \u7b80\u5355\u5361\u7247",md:"simple-card",demo:"./repl/simple-card.html"},{name:"Editor \u5bcc\u6587\u672c\u7f16\u8f91\u5668",md:"editor",demo:"https://tencent.github.io/omi/packages/omim/demos/editor/index.html"},{name:"Spreadsheet \u7535\u5b50\u8868\u683c",md:"spreadsheet",demo:"https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html"},{name:"Rate \u8bc4\u5206",md:"rate",demo:"https://tencent.github.io/omi/packages/omim/demos/rate/index.html"}]},{title:"\u56fe\u8868",list:[{name:"\u7b80\u4ecb",md:"introduction-chart"},{name:"\u67f1\u72b6\u56fe",md:"bar",demo:"./repl/bar.html"},{name:"\u7ebf\u72b6\u56fe",md:"line",demo:"./repl/line.html"},{name:"\u6563\u70b9\u56fe",md:"scatter",demo:"./repl/scatter.html"},{name:"\u997c\u56fe",md:"pie",demo:"./repl/pie.html"},{name:"\u73af\u72b6\u56fe",md:"doughnut",demo:"./repl/doughnut.html"},{name:"\u96f7\u8fbe\u56fe",md:"radar",demo:"./repl/radar.html"},{name:"\u6781\u533a\u56fe",md:"polar-area",demo:"./repl/polar-area.html"},{name:"\u6c14\u6ce1\u56fe",md:"bubble",demo:"./repl/bubble.html"},{name:"\u5408\u6210\u56fe",md:"bar-line",demo:"./repl/bar-line.html"}]}],en:[{title:"Omim",list:[{name:"Introduction",md:"introduction"}]},{title:"Base",list:[{name:"Button",md:"button",demo:"./repl/button.html"},{name:"Fab",md:"fab",demo:"./repl/fab.html"},{name:"Icon",md:"icon",demo:"./repl/icon.html"},{name:"IconButton",md:"icon-button",demo:"./repl/icon-button.html"},{name:"Avatar",md:"avatar",demo:"./repl/avatar.html"},{name:"Loading",md:"loading",demo:"./repl/loading.html"},{name:"Breadcrumb",md:"breadcrumb",demo:"./repl/breadcrumb.html"}]},{title:"Util",list:[{name:"Transition",md:"transition",demo:"https://tencent.github.io/omi/packages/omim/demos/transition/index.html"},{name:"To",md:"to",demo:"https://tencent.github.io/omi/packages/omim/demos/to/index.html"},{name:"Theme",md:"theme",demo:"https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html"},{name:"Typography",md:"typography",demo:"./repl/typography.html"},{name:"Layout Grid",md:"layout-grid",demo:"https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html"}]},{title:"Layout",list:[{name:"Row",md:"row",demo:"./repl/row.html"},{name:"Elevation",md:"elevation",demo:"./repl/elevation.html"},{name:"Image List",md:"image-list",demo:"./repl/image-list.html"}]},{title:"Navigation",list:[{name:"Menu",md:"menu",demo:"./repl/menu.html"},{name:"Drawer",md:"drawer",demo:"https://tencent.github.io/omi/packages/omim/demos/drawer/index.html"},{name:"Tab",md:"tab",demo:"./repl/tab.html"},{name:"Nav",md:"nav",demo:"./repl/nav.html"},{name:"Pagination",md:"pagination",demo:"https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html"},{name:"Top App Bar",md:"top-app-bar",demo:"https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html"}]},{title:"Operational Feedback",list:[{name:"Dialog",md:"dialog",demo:"./repl/dialog.html"},{name:"Snackbar",md:"snackbar",demo:"./repl/snackbar.html"},{name:"ActionSheet",md:"action-sheet",demo:"https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html"},{name:"ColorPicker",md:"color-picker",demo:"./repl/color-picker.html"},{name:"Popover",md:"popover",demo:"https://tencent.github.io/omi/packages/omim/demos/popover/index.html"},{name:"Toast",md:"toast",demo:"https://tencent.github.io/omi/packages/omim/demos/toast/index.html"}]},{title:"Form",list:[{name:"Text Field",md:"text-field",demo:"./repl/text-field.html"},{name:"Select",md:"select",demo:"./repl/select.html"},{name:"Checkbox",md:"checkbox",demo:"./repl/checkbox.html"},{name:"Radio",md:"radio",demo:"./repl/radio.html"},{name:"Switch",md:"switch",demo:"./repl/switch.html"},{name:"DateTimePicker",md:"date-time-picker",demo:"https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html"},{name:"Picker",md:"picker",demo:"https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html"},{name:"TransferList",md:"transfer-list",demo:"https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html"}]},{title:"Data",list:[{name:"List",md:"list",demo:"./repl/list.html"},{name:"Table",md:"table",demo:"https://tencent.github.io/omi/packages/omim/demos/table/index.script.html"},{name:"Linear Progress",md:"linear-progress",demo:"./repl/linear-progress.html"},{name:"Slider",md:"slider",demo:"./repl/slider.html"},{name:"Chips",md:"chips",demo:"./repl/chips.html"},{name:"Tag",md:"tag",demo:"./repl/tag.html"},{name:"Badge",md:"badge",demo:"./repl/badge.html"},{name:"Tree",md:"tree",demo:"./repl/tree.html"},{name:"Card",md:"card",demo:"./repl/card.html"},{name:"Path Progress",md:"path-progress",demo:"./repl/path-progress.html"},{name:"Paper",md:"paper",demo:"./repl/paper.html"},{name:"Step",md:"step",demo:"./repl/step.html"},{name:"Simple Card",md:"simple-card",demo:"./repl/simple-card.html"},{name:"Editor",md:"editor",demo:"https://tencent.github.io/omi/packages/omim/demos/editor/index.html"},{name:"Spreadsheet",md:"spreadsheet",demo:"https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html"},{name:"Rate",md:"rate",demo:"https://tencent.github.io/omi/packages/omim/demos/rate/index.html"}]},{title:"Chart",list:[{name:"Introduction",md:"introduction-chart"},{name:"Bar",md:"bar",demo:"./repl/bar.html"},{name:"Line",md:"line",demo:"./repl/line.html"},{name:"Scatter",md:"scatter",demo:"./repl/scatter.html"},{name:"Pie",md:"pie",demo:"./repl/pie.html"},{name:"Doughnut",md:"doughnut",demo:"./repl/doughnut.html"},{name:"Radar",md:"radar",demo:"./repl/radar.html"},{name:"PolarArea",md:"polar-area",demo:"./repl/polar-area.html"},{name:"Bubble",md:"bubble",demo:"./repl/bubble.html"},{name:"BarLine",md:"bar-line",demo:"./repl/bar-line.html"}]}]}};t.default=r},34:function(e,t,n){"use strict";(function(e){function r(e){var t=!1;window.history.length!==u.historyLength||u.route._routeByTo||(t=!0),u.route._routeByTo=!1,u.historyLength=window.history.length;var n=!1;if("hashchange"===e.type&&u.route.before&&(n=!1===u.route.before(e)),!n){var r=window.location.hash.replace("#",""),i=!0;Object.keys(l).every(function(e){var n=r.split("?")[0].match(l[e].reg);if(n){var s=e.match(l[e].reg);return u.route.params=o(n,s),u.route.query=a(r),l[e].callback({params:u.route.params,query:a(r),data:u.route.data,byNative:t}),u.route.data=null,i=!1,!1}return!0}),i&&l["*"]&&l["*"].callback({byNative:t}),"hashchange"===e.type&&u.route.after&&u.route.after(e)}}function o(e,t){var n={};return e.forEach(function(e,r){r>0&&(n[t[r].replace(":","")]=e)}),n}function i(e,t){l[e]={callback:t,reg:c(e)}}function a(e){e=e.replace(/#.*$/,"");var t,n=e.split(/[?&]/).slice(1),r={};for(t=0;t-1&&(g=c[k],c=c.slice(0,k))}c&&(r.push(c),c="",d=!1);var E=""!==g&&void 0!==v&&v!==g,j="+"===O||"*"===O,S="?"===O||"*"===O,P=g||l,A=x||_;r.push({name:w||o++,prefix:g,delimiter:P,optional:S,repeat:j,partial:E,pattern:A?s(A):"[^"+a(P)+"]+?"})}}return(c||i-1;else{var y=m.repeat?"(?:"+m.pattern+")(?:"+a(m.delimiter)+"(?:"+m.pattern+"))*":m.pattern;t&&t.push(m),m.optional?m.partial?d+=a(m.prefix)+"("+y+")?":d+="(?:"+a(m.prefix)+"("+y+"))?":d+=a(m.prefix)+"("+y+")"}}return i?(r||(d+="(?:"+s+")?"),d+="$"===u?"$":"(?="+u+")"):(r||(d+="(?:"+s+"(?="+u+"))?"),f||(d+="(?="+s+"|"+u+")")),new RegExp(d,c(n))}function p(e,t,n){return e instanceof RegExp?l(e,t):Array.isArray(e)?u(e,t,n):d(e,t,n)}var m="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=p,e.exports.parse=r,e.exports.compile=o,e.exports.tokensToFunction=i,e.exports.tokensToRegExp=f;var h="/",b="./",y=new RegExp(["(\\\\.)","(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?"].join("|"),"g")},36:function(e,t,n){function r(e){var t=o[e];return t?n.e(t[1]).then(function(){return n(t[0])}):Promise.reject(new Error("Cannot find module '"+e+"'."))}var o={"./en/action-sheet.md":[37,123],"./en/avatar.md":[38,122],"./en/badge.md":[39,121],"./en/bar-line.md":[40,120],"./en/bar.md":[41,119],"./en/breadcrumb.md":[42,118],"./en/bubble.md":[43,117],"./en/button.md":[44,116],"./en/card.md":[45,115],"./en/checkbox.md":[46,114],"./en/chips.md":[47,113],"./en/color-picker.md":[48,112],"./en/date-time-picker.md":[49,111],"./en/dialog.md":[50,110],"./en/doughnut.md":[51,109],"./en/drawer.md":[52,108],"./en/editor.md":[53,107],"./en/elevation.md":[54,106],"./en/fab.md":[55,105],"./en/icon-button.md":[56,104],"./en/icon.md":[57,103],"./en/image-list.md":[58,102],"./en/introduction-chart.md":[59,101],"./en/introduction.md":[60,100],"./en/layout-grid.md":[61,99],"./en/line.md":[62,98],"./en/linear-progress.md":[63,97],"./en/list.md":[64,96],"./en/loading.md":[65,95],"./en/menu.md":[66,94],"./en/nav.md":[67,93],"./en/pagination.md":[68,92],"./en/paper.md":[69,91],"./en/path-progress.md":[70,90],"./en/picker.md":[71,89],"./en/pie.md":[72,88],"./en/polar-area.md":[73,87],"./en/popover.md":[74,86],"./en/radar.md":[75,85],"./en/radio.md":[76,84],"./en/rate.md":[77,83],"./en/row.md":[78,82],"./en/scatter.md":[79,81],"./en/select.md":[80,80],"./en/simple-card.md":[81,79],"./en/slider.md":[82,78],"./en/snackbar.md":[83,77],"./en/spreadsheet.md":[84,76],"./en/step.md":[85,75],"./en/switch.md":[86,74],"./en/tab.md":[87,73],"./en/table.md":[88,72],"./en/tag.md":[89,71],"./en/text-field.md":[90,70],"./en/theme.md":[91,69],"./en/to.md":[92,68],"./en/toast.md":[93,67],"./en/top-app-bar.md":[94,66],"./en/transfer-list.md":[95,65],"./en/transition.md":[96,64],"./en/tree.md":[97,63],"./en/typography.md":[98,62],"./zh-cn/action-sheet.md":[99,61],"./zh-cn/avatar.md":[100,60],"./zh-cn/badge.md":[101,59],"./zh-cn/bar-line.md":[102,58],"./zh-cn/bar.md":[103,57],"./zh-cn/breadcrumb.md":[104,56],"./zh-cn/bubble.md":[105,55],"./zh-cn/button.md":[106,54],"./zh-cn/card.md":[107,53],"./zh-cn/checkbox.md":[108,52],"./zh-cn/chips.md":[109,51],"./zh-cn/color-picker.md":[110,50],"./zh-cn/date-time-picker.md":[111,49],"./zh-cn/dialog.md":[112,48],"./zh-cn/doughnut.md":[113,47],"./zh-cn/drawer.md":[114,46],"./zh-cn/editor.md":[115,45],"./zh-cn/elevation.md":[116,44],"./zh-cn/fab.md":[117,43],"./zh-cn/icon-button.md":[118,42],"./zh-cn/icon.md":[119,41],"./zh-cn/image-list.md":[120,40],"./zh-cn/introduction-chart.md":[121,39],"./zh-cn/introduction.md":[122,38],"./zh-cn/layout-grid.md":[123,37],"./zh-cn/line.md":[124,36],"./zh-cn/linear-progress.md":[125,35],"./zh-cn/list.md":[126,34],"./zh-cn/loading.md":[127,33],"./zh-cn/menu.md":[128,32],"./zh-cn/nav.md":[129,31],"./zh-cn/pagination.md":[130,30],"./zh-cn/paper.md":[131,29],"./zh-cn/path-progress.md":[132,28],"./zh-cn/picker.md":[133,27],"./zh-cn/pie.md":[134,26],"./zh-cn/polar-area.md":[135,25],"./zh-cn/popover.md":[136,24],"./zh-cn/radar.md":[137,23],"./zh-cn/radio.md":[138,22],"./zh-cn/rate.md":[139,21],"./zh-cn/row.md":[140,20],"./zh-cn/scatter.md":[141,19],"./zh-cn/select.md":[142,18],"./zh-cn/simple-card.md":[143,17],"./zh-cn/slider.md":[144,16],"./zh-cn/snackbar.md":[145,15],"./zh-cn/spreadsheet.md":[146,14],"./zh-cn/step.md":[147,13],"./zh-cn/switch.md":[148,12],"./zh-cn/tab.md":[149,11],"./zh-cn/table.md":[150,10],"./zh-cn/tag.md":[151,9],"./zh-cn/text-field.md":[152,8],"./zh-cn/theme.md":[153,7],"./zh-cn/to.md":[154,6],"./zh-cn/toast.md":[155,5],"./zh-cn/top-app-bar.md":[156,4],"./zh-cn/transfer-list.md":[157,3],"./zh-cn/transition.md":[158,2],"./zh-cn/tree.md":[159,1],"./zh-cn/typography.md":[160,0]};r.keys=function(){return Object.keys(o)},r.id=36,e.exports=r},4:function(e,t,n){"use strict";"undefined"===typeof Promise&&(n(5).enable(),window.Promise=n(7)),n(8),Object.assign=n(9)},5:function(e,t,n){"use strict";function r(){l=!1,s._47=null,s._71=null}function o(e){function t(t){(e.allRejections||a(d[t].error,e.whitelist||c))&&(d[t].displayId=u++,e.onUnhandled?(d[t].logged=!0,e.onUnhandled(d[t].displayId,d[t].error)):(d[t].logged=!0,i(d[t].displayId,d[t].error)))}function n(t){d[t].logged&&(e.onHandled?e.onHandled(d[t].displayId,d[t].error):d[t].onUnhandled||(console.warn("Promise Rejection Handled (id: "+d[t].displayId+"):"),console.warn(' This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id '+d[t].displayId+".")))}e=e||{},l&&r(),l=!0;var o=0,u=0,d={};s._47=function(e){2===e._83&&d[e._56]&&(d[e._56].logged?n(e._56):clearTimeout(d[e._56].timeout),delete d[e._56])},s._71=function(e,n){0===e._75&&(e._56=o++,d[e._56]={displayId:null,error:n,timeout:setTimeout(t.bind(null,e._56),a(n,c)?100:2e3),logged:!1})}}function i(e,t){console.warn("Possible Unhandled Promise Rejection (id: "+e+"):"),((t&&(t.stack||t))+"").split("\n").forEach(function(e){console.warn(" "+e)})}function a(e,t){return t.some(function(t){return e instanceof t})}var s=n(3),c=[ReferenceError,TypeError,RangeError],l=!1;t.disable=r,t.enable=o},6:function(e,t,n){"use strict";(function(t){function n(e){a.length||(i(),s=!0),a[a.length]=e}function r(){for(;cl){for(var t=0,n=a.length-c;t-1?t:e}function p(e,t){t=t||{};var n=t.body;if(e instanceof p){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new o(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new o(t.headers)),this.method=f(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function m(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function h(e){var t=new o;return e.split(/\r?\n/).forEach(function(e){var n=e.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();t.append(r,o)}}),t}function b(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new o(t.headers),this.url=t.url||"",this._initBody(e)}if(!e.fetch){var y={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(y.arrayBuffer)var g=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],v=function(e){return e&&DataView.prototype.isPrototypeOf(e)},w=ArrayBuffer.isView||function(e){return e&&g.indexOf(Object.prototype.toString.call(e))>-1};o.prototype.append=function(e,r){e=t(e),r=n(r);var o=this.map[e];this.map[e]=o?o+","+r:r},o.prototype.delete=function(e){delete this.map[t(e)]},o.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},o.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},o.prototype.set=function(e,r){this.map[t(e)]=n(r)},o.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},o.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),r(e)},o.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),r(e)},o.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),r(e)},y.iterable&&(o.prototype[Symbol.iterator]=o.prototype.entries);var x=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];p.prototype.clone=function(){return new p(this,{body:this._bodyInit})},d.call(p.prototype),d.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},b.error=function(){var e=new b(null,{status:0,statusText:""});return e.type="error",e};var _=[301,302,303,307,308];b.redirect=function(e,t){if(-1===_.indexOf(t))throw new RangeError("Invalid status code");return new b(null,{status:t,headers:{location:e}})},e.Headers=o,e.Request=p,e.Response=b,e.fetch=function(e,t){return new Promise(function(n,r){var o=new p(e,t),i=new XMLHttpRequest;i.onload=function(){var e={status:i.status,statusText:i.statusText,headers:h(i.getAllResponseHeaders()||"")};e.url="responseURL"in i?i.responseURL:e.headers.get("X-Request-URL");var t="response"in i?i.response:i.responseText;n(new b(t,e))},i.onerror=function(){r(new TypeError("Network request failed"))},i.ontimeout=function(){r(new TypeError("Network request failed"))},i.open(o.method,o.url,!0),"include"===o.credentials&&(i.withCredentials=!0),"responseType"in i&&y.blob&&(i.responseType="blob"),o.headers.forEach(function(e,t){i.setRequestHeader(t,e)}),i.send("undefined"===typeof o._bodyInit?null:o._bodyInit)})},e.fetch.polyfill=!0}}("undefined"!==typeof self?self:void 0)},9:function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,c=r(e),l=1;lHello!`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */function h(nodeName,attributes){var children=[],lastSimple,child,simple,i;for(i=arguments.length;i-->2;){stack.push(arguments[i]);}if(attributes&&attributes.children!=null){if(!stack.length)stack.push(attributes.children);delete attributes.children;}while(stack.length){if((child=stack.pop())&&child.pop!==undefined){for(i=child.length;i--;){stack.push(child[i]);}}else{if(typeof child==='boolean')child=null;if(simple=typeof nodeName!=='function'){if(child==null)child='';else if(typeof child==='number')child=String(child);else if(typeof child!=='string')simple=false;}if(simple&&lastSimple){children[children.length-1]+=child;}else if(children.length===0){children=[child];}else{children.push(child);}lastSimple=simple;}}var p=new VNode();p.nodeName=nodeName;p.children=children;p.attributes=attributes==null?undefined:attributes;p.key=attributes==null?undefined:attributes.key;// if a \"vnode hook\" is defined, pass every created VNode to it\nif(options.vnode!==undefined)options.vnode(p);return p;}/* eslint-disable no-unused-vars */var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');}return Object(val);}function assign(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s8){usePromise=true;}}}var defer=usePromise?Promise.resolve().then.bind(Promise.resolve()):setTimeout;function isArray(obj){return Object.prototype.toString.call(obj)==='[object Array]';}function nProps(props){if(!props||isArray(props))return{};var result={};Object.keys(props).forEach(function(key){result[key]=props[key].value;});return result;}function getUse(data,paths){var obj=[];paths.forEach(function(path,index){var isPath=typeof path==='string';if(isPath){obj[index]=getTargetByPath(data,path);}else{var key=Object.keys(path)[0];var value=path[key];if(typeof value==='string'){obj[index]=getTargetByPath(data,value);}else{var tempPath=value[0];if(typeof tempPath==='string'){var tempVal=getTargetByPath(data,tempPath);obj[index]=value[1]?value[1](tempVal):tempVal;}else{var args=[];tempPath.forEach(function(path){args.push(getTargetByPath(data,path));});obj[index]=value[1].apply(null,args);}}obj[key]=obj[index];}});return obj;}function getTargetByPath(origin,path){var arr=path.replace(/]/g,'').replace(/\\[/g,'.').split('.');var current=origin;for(var i=0,len=arr.length;i2?[].slice.call(arguments,2):vnode.children);}// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL$1=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;/** Managed queue of dirty components to be re-rendered */var items=[];function enqueueRender(component){if(items.push(component)==1){(options.debounceRendering||defer)(rerender);}}/** Rerender all enqueued dirty components */function rerender(){var p;while(p=items.pop()){renderComponent(p);}}var mapping=options.mapping;/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */function isSameNodeType(node,vnode,hydrating){if(typeof vnode==='string'||typeof vnode==='number'){return node.splitText!==undefined;}if(typeof vnode.nodeName==='string'){var ctor=mapping[vnode.nodeName];if(ctor){return hydrating||node._componentConstructor===ctor;}return!node._componentConstructor&&isNamedNode(node,vnode.nodeName);}return hydrating||node._componentConstructor===vnode.nodeName;}/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */function isNamedNode(node,nodeName){return node.normalizedNodeName===nodeName||node.nodeName.toLowerCase()===nodeName.toLowerCase();}/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */function getNodeProps(vnode){var props=extend({},vnode.attributes);props.children=vnode.children;var defaultProps=vnode.nodeName.defaultProps;if(defaultProps!==undefined){for(var i in defaultProps){if(props[i]===undefined){props[i]=defaultProps[i];}}}return props;}/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */function createNode(nodeName,isSvg){var node=isSvg?options.doc.createElementNS('http://www.w3.org/2000/svg',nodeName):options.doc.createElement(nodeName);node.normalizedNodeName=nodeName;return node;}function parseCSSText(cssText){var cssTxt=cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g,' ').replace(/\\s+/g,' ');var style={},_ref=cssTxt.match(/ ?(.*?) ?{([^}]*)}/)||[a,b,cssTxt],a=_ref[0],b=_ref[1],rule=_ref[2];var cssToJs=function cssToJs(s){return s.replace(/\\W+\\w/g,function(match){return match.slice(-1).toUpperCase();});};var properties=rule.split(';').map(function(o){return o.split(':').map(function(x){return x&&x.trim();});});for(var i=properties,i=Array.isArray(i),i=0,i=i?i:i[Symbol.iterator]();;){var _ref3;if(i){if(i>=i.length)break;_ref3=i[i++];}else{i=i.next();if(i.done)break;_ref3=i.value;}var _ref2=_ref3;var property=_ref2[0];var value=_ref2[1];style[cssToJs(property)]=value;}return style;}/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */function removeNode(node){var parentNode=node.parentNode;if(parentNode)parentNode.removeChild(node);}/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */function setAccessor(node,name,old,value,isSvg){if(name==='className')name='class';if(name==='key'){// ignore\n}else if(name==='ref'){applyRef(old,null);applyRef(value,node);}else if(name==='class'&&!isSvg){node.className=value||'';}else if(name==='style'){if(options.isWeb){if(!value||typeof value==='string'||typeof old==='string'){node.style.cssText=value||'';}if(value&&(typeof value==='undefined'?'undefined':_typeof(value))==='object'){if(typeof old!=='string'){for(var i in old){if(!(i in value))node.style[i]='';}}for(var i in value){node.style[i]=typeof value[i]==='number'&&IS_NON_DIMENSIONAL$1.test(i)===false?value[i]+'px':value[i];}}}else{var oldJson=old,currentJson=value;if(typeof old==='string'){oldJson=parseCSSText(old);}if(typeof value=='string'){currentJson=parseCSSText(value);}var result={},changed=false;if(oldJson){for(var key in oldJson){if((typeof currentJson==='undefined'?'undefined':_typeof(currentJson))=='object'&&!(key in currentJson)){result[key]='';changed=true;}}for(var ckey in currentJson){if(currentJson[ckey]!==oldJson[ckey]){result[ckey]=currentJson[ckey];changed=true;}}if(changed){node.setStyles(result);}}else{node.setStyles(currentJson);}}}else if(name==='dangerouslySetInnerHTML'){if(value)node.innerHTML=value.__html||'';}else if(name[0]=='o'&&name[1]=='n'){var useCapture=name!==(name=name.replace(/Capture$/,''));name=name.toLowerCase().substring(2);if(value){if(!old){node.addEventListener(name,eventProxy,useCapture);if(name=='tap'){node.addEventListener('touchstart',touchStart,useCapture);node.addEventListener('touchend',touchEnd,useCapture);}}}else{node.removeEventListener(name,eventProxy,useCapture);if(name=='tap'){node.removeEventListener('touchstart',touchStart,useCapture);node.removeEventListener('touchend',touchEnd,useCapture);}}(node._listeners||(node._listeners={}))[name]=value;}else if(name!=='list'&&name!=='type'&&!isSvg&&name in node){setProperty(node,name,value==null?'':value);if(value==null||value===false)node.removeAttribute(name);}else{var ns=isSvg&&name!==(name=name.replace(/^xlink:?/,''));if(value==null||value===false){if(ns)node.removeAttributeNS('http://www.w3.org/1999/xlink',name.toLowerCase());else node.removeAttribute(name);}else if(typeof value!=='function'){if(ns)node.setAttributeNS('http://www.w3.org/1999/xlink',name.toLowerCase(),value);else node.setAttribute(name,value);}}}/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */function setProperty(node,name,value){try{node[name]=value;}catch(e){}}/** Proxy an event to hooked event handlers\n *\t@private\n */function eventProxy(e){return this._listeners[e.type](options.event&&options.event(e)||e);}function touchStart(e){this.___touchX=e.touches[0].pageX;this.___touchY=e.touches[0].pageY;this.___scrollTop=document.body.scrollTop;}function touchEnd(e){if(Math.abs(e.changedTouches[0].pageX-this.___touchX)<30&&Math.abs(e.changedTouches[0].pageY-this.___touchY)<30&&Math.abs(document.body.scrollTop-this.___scrollTop)<30){this.dispatchEvent(new CustomEvent('tap',{detail:e}));}}var styleId=0;function getCtorName(ctor){for(var i=0,len=options.styleCache.length;i-1;){if(item===arr[i])return true;}return false;};obaa.isFunction=function(obj){return Object.prototype.toString.call(obj)=='[object Function]';};obaa._getRootName=function(prop,path){if(path==='#'){return prop;}return path.split('-')[1];};obaa.add=function(obj,prop){var $observer=obj.$observer;$observer.watch(obj,prop);};obaa.set=function(obj,prop,value,exec){if(!exec){obj[prop]=value;}var $observer=obj.$observer;$observer.watch(obj,prop);if(exec){obj[prop]=value;}};Array.prototype.size=function(length){this.length=length;};var callbacks=[];var nextTickCallback=[];function fireTick(){callbacks.forEach(function(item){item.fn.call(item.scope);});nextTickCallback.forEach(function(nextItem){nextItem.fn.call(nextItem.scope);});nextTickCallback.length=0;}function proxyUpdate(ele){var timeout=null;obaa(ele.data,function(){if(ele._willUpdate){return;}if(ele.constructor.mergeUpdate){clearTimeout(timeout);timeout=setTimeout(function(){ele.update();fireTick();},0);}else{ele.update();fireTick();}});}/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */function setComponentProps(component,props,opts,context,mountAll){if(component._disable)return;component._disable=true;if(component.__ref=props.ref)delete props.ref;if(component.__key=props.key)delete props.key;if(!component.base||mountAll){if(component.beforeInstall)component.beforeInstall();if(component.install)component.install();if(component.constructor.observe){proxyUpdate(component);}}else if(component.receiveProps){component.receiveProps(props,component.data,component.props);}if(context&&context!==component.context){if(!component.prevContext)component.prevContext=component.context;component.context=context;}if(!component.prevProps)component.prevProps=component.props;component.props=props;component._disable=false;if(opts!==0){if(opts===1||options.syncComponentUpdates!==false||!component.base){renderComponent(component,1,mountAll);}else{enqueueRender(component);}}applyRef(component.__ref,component);}function shallowComparison(old,attrs){var name;for(name in old){if(attrs[name]==null&&old[name]!=null){return true;}}if(old.children.length>0||attrs.children.length>0){return true;}for(name in attrs){if(name!='children'){var type=_typeof(attrs[name]);if(type=='function'||type=='object'){return true;}else if(attrs[name]!=old[name]){return true;}}}}/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */function renderComponent(component,opts,mountAll,isChild){if(component._disable)return;var props=component.props,data=component.data,context=component.context,previousProps=component.prevProps||props,previousState=component.prevState||data,previousContext=component.prevContext||context,isUpdate=component.base,nextBase=component.nextBase,initialBase=isUpdate||nextBase,initialChildComponent=component._component,skip=false,rendered,inst,cbase;// if updating\nif(isUpdate){component.props=previousProps;component.data=previousState;component.context=previousContext;if(component.store||opts==2||shallowComparison(previousProps,props)){skip=false;if(component.beforeUpdate){component.beforeUpdate(props,data,context);}}else{skip=true;}component.props=props;component.data=data;component.context=context;}component.prevProps=component.prevState=component.prevContext=component.nextBase=null;if(!skip){component.beforeRender&&component.beforeRender();rendered=component.render(props,data,context);//don't rerender\nif(component.constructor.css||component.css){addScopedAttrStatic(rendered,'_s'+getCtorName(component.constructor));}scopeHost(rendered,component.scopedCssAttr);// context to pass to the child, can be updated via (grand-)parent component\nif(component.getChildContext){context=extend(extend({},context),component.getChildContext());}var childComponent=rendered&&rendered.nodeName,toUnmount,base,ctor=options.mapping[childComponent];if(ctor){// set up high order component link\nvar childProps=getNodeProps(rendered);inst=initialChildComponent;if(inst&&inst.constructor===ctor&&childProps.key==inst.__key){setComponentProps(inst,childProps,1,context,false);}else{toUnmount=inst;component._component=inst=createComponent(ctor,childProps,context);inst.nextBase=inst.nextBase||nextBase;inst._parentComponent=component;setComponentProps(inst,childProps,0,context,false);renderComponent(inst,1,mountAll,true);}base=inst.base;}else{cbase=initialBase;// destroy high order component link\ntoUnmount=initialChildComponent;if(toUnmount){cbase=component._component=null;}if(initialBase||opts===1){if(cbase)cbase._component=null;base=diff(cbase,rendered,context,mountAll||!isUpdate,initialBase&&initialBase.parentNode,true);}}if(initialBase&&base!==initialBase&&inst!==initialChildComponent){var baseParent=initialBase.parentNode;if(baseParent&&base!==baseParent){baseParent.replaceChild(base,initialBase);if(!toUnmount){initialBase._component=null;recollectNodeTree(initialBase,false);}}}if(toUnmount){unmountComponent(toUnmount);}component.base=base;if(base&&!isChild){var componentRef=component,t=component;while(t=t._parentComponent){(componentRef=t).base=base;}base._component=componentRef;base._componentConstructor=componentRef.constructor;}}if(!isUpdate||mountAll){mounts.unshift(component);}else if(!skip){// Ensure that pending componentDidMount() hooks of child components\n// are called before the componentDidUpdate() hook in the parent.\n// Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n// flushMounts();\nif(component.afterUpdate){//deprecated\ncomponent.afterUpdate(previousProps,previousState,previousContext);}if(component.updated){component.updated(previousProps,previousState,previousContext);}if(options.afterUpdate)options.afterUpdate(component);}if(component._renderCallbacks!=null){while(component._renderCallbacks.length){component._renderCallbacks.pop().call(component);}}if(!diffLevel&&!isChild)flushMounts();}/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */function buildComponentFromVNode(dom,vnode,context,mountAll){var c=dom&&dom._component,originalComponent=c,oldDom=dom,isDirectOwner=c&&dom._componentConstructor===vnode.nodeName,isOwner=isDirectOwner,props=getNodeProps(vnode);while(c&&!isOwner&&(c=c._parentComponent)){isOwner=c.constructor===vnode.nodeName;}if(c&&isOwner&&(!mountAll||c._component)){setComponentProps(c,props,3,context,mountAll);dom=c.base;}else{if(originalComponent&&!isDirectOwner){unmountComponent(originalComponent);dom=oldDom=null;}c=createComponent(vnode.nodeName,props,context,vnode);if(dom&&!c.nextBase){c.nextBase=dom;// passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\noldDom=null;}setComponentProps(c,props,1,context,mountAll);dom=c.base;if(oldDom&&dom!==oldDom){oldDom._component=null;recollectNodeTree(oldDom,false);}}return dom;}/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */function unmountComponent(component){if(options.beforeUnmount)options.beforeUnmount(component);var base=component.base;component._disable=true;if(component.uninstall)component.uninstall();if(component.store&&component.store.instances){for(var i=0,len=component.store.instances.length;i0){this.instances.forEach(function(instance){if(updateAll||_this.updateAll||instance.constructor.updatePath&&needUpdate(patch,instance.constructor.updatePath)||instance._updatePath&&needUpdate(patch,instance._updatePath)){//update this.use\nif(instance.constructor.use){instance.use=getUse(store.data,instance.constructor.use);}else if(instance.initUse){instance.use=getUse(store.data,instance.initUse());}instance.update();}});this.onChange&&this.onChange(patch);}};}function matchGlobalData(globalData,diffResult){if(!globalData)return false;for(var keyA in diffResult){if(globalData.indexOf(keyA)>-1){return true;}for(var i=0,len=globalData.length;i0){return{'class':classNames.apply(null,args)};}}function getHost(component){var base=component.base;if(base){while(base.parentNode){if(base.parentNode._component){return base.parentNode._component;}else{base=base.parentNode;}}}}/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */var encodeEntities=function encodeEntities(s){return String(s).replace(/&/g,'&').replace(//g,'>').replace(/\"/g,'"');};var indent=function indent(s,char){return String(s).replace(/(\\n+)/g,'$1'+(char||'\\t'));};var mapping$1=options.mapping;var VOID_ELEMENTS=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;var isLargeString=function isLargeString(s,length,ignoreLines){return String(s).length>(length||40)||!ignoreLines&&String(s).indexOf('\\n')!==-1||String(s).indexOf('<')!==-1;};var JS_TO_CSS={};// Convert an Object style to a CSSText string\nfunction styleObjToCss(s){var str='';for(var prop in s){var val=s[prop];if(val!=null){if(str)str+=' ';// str += jsToCss(prop);\nstr+=JS_TO_CSS[prop]||(JS_TO_CSS[prop]=prop.replace(/([A-Z])/g,'-$1').toLowerCase());str+=': ';str+=val;if(typeof val==='number'&&IS_NON_DIMENSIONAL.test(prop)===false){str+='px';}str+=';';}}return str||undefined;}function renderToString(vnode,opts,store,isSvgMode){store=store||{};opts=Object.assign({scopedCSS:true},opts);var css={};var html=_renderToString(vnode,opts,store,isSvgMode,css);return{css:Object.values(css),html:html};}/** The default export is an alias of `render()`. */function _renderToString(vnode,opts,store,isSvgMode,css){if(vnode==null||typeof vnode==='boolean'){return'';}var nodeName=vnode.nodeName,attributes=vnode.attributes,isComponent=false;var pretty=true&&opts.pretty,indentChar=pretty&&typeof pretty==='string'?pretty:'\\t';// #text nodes\nif((typeof vnode==='undefined'?'undefined':_typeof(vnode))!=='object'&&!nodeName){return encodeEntities(vnode);}// components\nvar ctor=mapping$1[nodeName];if(ctor){isComponent=true;var props=getNodeProps$1(vnode),rendered;// class-based components\nvar c=new ctor(props,store);// turn off stateful re-rendering:\nc._disable=c.__x=true;c.props=props;c.store=store;if(c.install)c.install();if(c.beforeRender)c.beforeRender();rendered=c.render(c.props,c.data,c.store);if(opts.scopedCSS){if(c.constructor.css||c.css){var cssStr=c.constructor.css?c.constructor.css:typeof c.css==='function'?c.css():c.css;var cssAttr='_s'+getCtorName(c.constructor);css[cssAttr]={id:cssAttr,css:scoper(cssStr,cssAttr)};addScopedAttrStatic(rendered,cssAttr);}c.scopedCSSAttr=vnode.css;scopeHost(rendered,c.scopedCSSAttr);}return _renderToString(rendered,opts,store,false,css);}// render JSX to HTML\nvar s='',html;if(attributes){var attrs=Object.keys(attributes);// allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\nif(opts&&opts.sortAttributes===true)attrs.sort();for(var i=0;i]/))continue;if(!(opts&&opts.allAttributes)&&(name==='key'||name==='ref'))continue;if(name==='className'){if(attributes['class'])continue;name='class';}else if(isSvgMode&&name.match(/^xlink:?./)){name=name.toLowerCase().replace(/^xlink:?/,'xlink:');}if(name==='style'&&v&&(typeof v==='undefined'?'undefined':_typeof(v))==='object'){v=styleObjToCss(v);}var hooked=opts.attributeHook&&opts.attributeHook(name,v,store,opts,isComponent);if(hooked||hooked===''){s+=hooked;continue;}if(name==='dangerouslySetInnerHTML'){html=v&&v.__html;}else if((v||v===0||v==='')&&typeof v!=='function'){if(v===true||v===''){v=name;// in non-xml mode, allow boolean attributes\nif(!opts||!opts.xml){s+=' '+name;continue;}}s+=' '+name+'=\"'+encodeEntities(v)+'\"';}}}// account for >1 multiline attribute\nif(pretty){var sub=s.replace(/^\\n\\s*/,' ');if(sub!==s&&!~sub.indexOf('\\n'))s=sub;else if(pretty&&~s.indexOf('\\n'))s+='\\n';}s='<'+nodeName+s+'>';if(String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/))throw s;var isVoid=String(nodeName).match(VOID_ELEMENTS);if(isVoid)s=s.replace(/>$/,' />');var pieces=[];if(html){// if multiline, indent.\nif(pretty&&isLargeString(html)){html='\\n'+indentChar+indent(html,indentChar);}s+=html;}else if(vnode.children){var hasLarge=pretty&&~s.indexOf('\\n');for(var i=0;i';}if(!isVoid){if(pretty&&~s.indexOf('\\n'))s+='\\n';s+=''+nodeName+'>';}return s;}function assign$1(obj,props){for(var i in props){obj[i]=props[i];}return obj;}function getNodeProps$1(vnode){var props=assign$1({},vnode.attributes);props.children=vnode.children;var defaultProps=vnode.nodeName.defaultProps;if(defaultProps!==undefined){for(var i in defaultProps){if(props[i]===undefined){props[i]=defaultProps[i];}}}return props;}var n=function n(t,r,u,e){for(var p=1;p\"===t?(a(),u=1):u&&(\"=\"===t?(u=4,r=e,e=\"\"):\"/\"===t?(a(),3===u&&(s=s[0]),u=s,(s=s[0]).push(u,4),u=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(a(),u=2):e+=t);}}return a(),s;},r=\"function\"==typeof Map,u=r?new Map():{},e=r?function(n){var r=u.get(n);return r||u.set(n,r=t(n)),r;}:function(n){for(var r=\"\",e=0;e1?r:r[0];}var html=htm.bind(h);var WeElement=Component;var defineElement=define;function createRef(){return{};}options.root.Omi={h:h,createElement:h,cloneElement:cloneElement,createRef:createRef,Component:Component,render:render,rerender:rerender,options:options,WeElement:WeElement,define:define,rpx:rpx,ModelView:ModelView,defineElement:defineElement,classNames:classNames,extractClass:extractClass,getHost:getHost,renderToString:renderToString,tag:tag,merge:merge,html:html,htm:htm};options.root.omi=options.root.Omi;options.root.Omi.version='omio-2.2.1';var omi={h:h,createElement:h,cloneElement:cloneElement,createRef:createRef,Component:Component,render:render,rerender:rerender,options:options,WeElement:WeElement,define:define,rpx:rpx,ModelView:ModelView,defineElement:defineElement,classNames:classNames,extractClass:extractClass,getHost:getHost,renderToString:renderToString,tag:tag,merge:merge,html:html,htm:htm};exports.default=omi;exports.h=h;exports.createElement=h;exports.cloneElement=cloneElement;exports.createRef=createRef;exports.Component=Component;exports.render=render;exports.rerender=rerender;exports.options=options;exports.WeElement=WeElement;exports.define=define;exports.rpx=rpx;exports.ModelView=ModelView;exports.defineElement=defineElement;exports.classNames=classNames;exports.extractClass=extractClass;exports.getHost=getHost;exports.renderToString=renderToString;exports.tag=tag;exports.merge=merge;exports.html=html;exports.htm=htm;//# sourceMappingURL=omi.esm.js.map\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/// css base code, injected by the css-loader\nmodule.exports=function(useSourceMap){var list=[];// return the list of modules as css string\nlist.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\nlist.i=function(modules,mediaQuery){if(typeof modules===\"string\")modules=[[null,modules,\"\"]];var alreadyImportedModules={};for(var i=0;i {\n// let newP = document.createElement('div')\n// newP.className = '_code-ctn'\n// let pre = code.parentNode\n// let ctn = pre.parentNode\n// if (pre.nodeName === 'PRE') {\n// ctn.insertBefore(newP, pre)\n// let hl = document.createElement('div')\n// hl.className = '_hl'\n// newP.appendChild(hl)\n// newP.appendChild(pre)\n// let nums = codeHlNumArr[index]\n// let max = Math.max.apply(null, nums)\n// let inner = ''\n// for (let i = 0; i <= max; i++) {\n// if (nums.indexOf(i) == -1) {\n// inner += '
'\n// } else {\n// inner += ''\n// }\n// }\n// hl.innerHTML = inner\n// }\n// })\n//fix line-highlight\nwindow.dispatchEvent(new Event('resize'));}},{key:'_arrToNumber',value:function _arrToNumber(numArr){var arr=[];numArr.forEach(function(item){if(item.indexOf('-')!==-1){var tempArr=item.split('-');var begin=Number(tempArr[0]);var end=Number(tempArr[1]);for(var i=begin;i0)return false;}return true;}},{key:'render',value:function render(){if(!this.demo)return;return Omi.h('div',null,Omi.h('iframe',{style:'width:'+(window.innerWidth-1180)+'px;height:'+(window.innerHeight-59)+'px;visibility:'+(this.show?'visible':'hidden')+';',src:this.demo}),Omi.h('div',{'class':'icon',onClick:this.toggle},Omi.h('svg',{viewBox:'64 64 896 896','class':'',style:'left:'+(this.show?'14px':'0px')+';','data-icon':'left',width:'1.2em',height:'1.2em',fill:'currentColor','aria-hidden':'true',focusable:'false'},Omi.h('path',{d:'M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z'})),Omi.h('svg',{viewBox:'64 64 896 896','class':'',style:'left:'+(this.show?'-14px':'0px')+';','data-icon':'right',width:'1.2em',height:'1.2em',fill:'currentColor','aria-hidden':'true',focusable:'false'},Omi.h('path',{d:'M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z'}))));}}]);return _class2;}(_omi.WeElement));\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};var asap=__webpack_require__(6);function noop(){}// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR=null;var IS_ERROR={};function getThen(obj){try{return obj.then;}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}function tryCallOne(fn,a){try{return fn(a);}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}function tryCallTwo(fn,a,b){try{fn(a,b);}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}module.exports=Promise;function Promise(fn){if(_typeof(this)!=='object'){throw new TypeError('Promises must be constructed via new');}if(typeof fn!=='function'){throw new TypeError('Promise constructor\\'s argument is not a function');}this._75=0;this._83=0;this._18=null;this._38=null;if(fn===noop)return;doResolve(fn,this);}Promise._47=null;Promise._71=null;Promise._44=noop;Promise.prototype.then=function(onFulfilled,onRejected){if(this.constructor!==Promise){return safeThen(this,onFulfilled,onRejected);}var res=new Promise(noop);handle(this,new Handler(onFulfilled,onRejected,res));return res;};function safeThen(self,onFulfilled,onRejected){return new self.constructor(function(resolve,reject){var res=new Promise(noop);res.then(resolve,reject);handle(self,new Handler(onFulfilled,onRejected,res));});}function handle(self,deferred){while(self._83===3){self=self._18;}if(Promise._47){Promise._47(self);}if(self._83===0){if(self._75===0){self._75=1;self._38=deferred;return;}if(self._75===1){self._75=2;self._38=[self._38,deferred];return;}self._38.push(deferred);return;}handleResolved(self,deferred);}function handleResolved(self,deferred){asap(function(){var cb=self._83===1?deferred.onFulfilled:deferred.onRejected;if(cb===null){if(self._83===1){resolve(deferred.promise,self._18);}else{reject(deferred.promise,self._18);}return;}var ret=tryCallOne(cb,self._18);if(ret===IS_ERROR){reject(deferred.promise,LAST_ERROR);}else{resolve(deferred.promise,ret);}});}function resolve(self,newValue){// Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\nif(newValue===self){return reject(self,new TypeError('A promise cannot be resolved with itself.'));}if(newValue&&((typeof newValue==='undefined'?'undefined':_typeof(newValue))==='object'||typeof newValue==='function')){var then=getThen(newValue);if(then===IS_ERROR){return reject(self,LAST_ERROR);}if(then===self.then&&newValue instanceof Promise){self._83=3;self._18=newValue;finale(self);return;}else if(typeof then==='function'){doResolve(then.bind(newValue),self);return;}}self._83=1;self._18=newValue;finale(self);}function reject(self,newValue){self._83=2;self._18=newValue;if(Promise._71){Promise._71(self,newValue);}finale(self);}function finale(self){if(self._75===1){handle(self,self._38);self._38=null;}if(self._75===2){for(var i=0;i768};var id=0;this.map={};this.positionMap={};_config2.default.menus[this.data.lan].forEach(function(menu,index){menu.list.forEach(function(item,subIndex){item.id=id++;item.position=[index,subIndex];_this.map[item.id]=item;item.index=index;item.subIndex=subIndex;_this.positionMap[index+'-'+subIndex]=item;});});this.preIndex=0;this.preSubIndex=0;}_createClass(Store,[{key:'getNext',value:function getNext(){var item=this.positionMap[this.data.position.join('-')];if(item){return this.map[item.id+1];}}},{key:'getPre',value:function getPre(){var item=this.positionMap[this.data.position.join('-')];if(item){return this.map[item.id-1];}}},{key:'init',value:function init(){var _this2=this;this.remarkable=new Remarkable({html:true});if(location.hash===\"\"){this.data.position=[0,0];this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md,this.data.lan,function(m){_this2.data.html=_this2.remarkable.render(m);});}this.demo=this.data.menus[this.data.lan][0].list[0].demo;this.initRouter();}},{key:'toogleSidebar',value:function toogleSidebar(){this.data.sideBarShow=!this.data.sideBarShow;}},{key:'hideSidebar',value:function hideSidebar(){this.data.sideBarShow=false;}},{key:'initRouter',value:function initRouter(){var _this3=this;var menus=this.data.menus[this.data.lan];menus.forEach(function(item){item.list.forEach(function(subItem){route('/'+subItem.md,function(evt){menus[_this3.preIndex].list[_this3.preSubIndex].selected=false;_this3.preIndex=evt.query.index;_this3.preSubIndex=evt.query.subIndex;_this3.data.position=[Number(evt.query.index),Number(evt.query.subIndex)];_this3.data.sideBarShow=false;_this3.myDemo.demo=menus[_this3.preIndex].list[_this3.preSubIndex].demo;_this3.myDemo.update();_this3.getMarkDown(subItem.md,_this3.data.lan,function(m){_this3.data.html=_this3.remarkable.render(m);document.body.scrollTop=0;document.documentElement.scrollTop=0;});});});});}},{key:'getMarkDown',value:function getMarkDown(name,lan,callback){__webpack_require__(36)(\"./\"+lan+'/'+name+'.md').then(function(m){callback(m);});}}]);return Store;}();exports.default=Store;\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(exports,\"__esModule\",{value:true});var config={menus:{'zh-cn':[{title:'Omim',list:[{name:'简介',md:'introduction'}]},{title:'基础',list:[{name:'Button 按钮',md:'button',demo:'./repl/button.html'},{name:'Fab 动作按钮',md:'fab',demo:'./repl/fab.html'},{name:'Icon 图标',md:'icon',demo:'./repl/icon.html'},{name:'IconButton 图标按钮',md:'icon-button',demo:'./repl/icon-button.html'},{name:'Avatar 头像',md:'avatar',demo:'./repl/avatar.html'},{name:'Loading 加载',md:'loading',demo:'./repl/loading.html'},{name:'Breadcrumb 面包屑',md:'breadcrumb',demo:'./repl/breadcrumb.html'}]},{title:'公用',list:[{name:'Transition 过渡',md:'transition',demo:'https://tencent.github.io/omi/packages/omim/demos/transition/index.html'},{name:'To 运动',md:'to',demo:'https://tencent.github.io/omi/packages/omim/demos/to/index.html'},{name:'Theme 主题',md:'theme',demo:'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html'},{name:'Typography 排版',md:'typography',demo:'./repl/typography.html'},{name:'Layout Grid 网格布局',md:'layout-grid',demo:'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html'}]},{title:'布局',list:[{name:'Row 行',md:'row',demo:'./repl/row.html'},{name:'Elevation 高度盒',md:'elevation',demo:'./repl/elevation.html'},{name:'Image List 图片列表',md:'image-list',demo:'./repl/image-list.html'}]},{title:'导航',list:[{name:'Menu 菜单',md:'menu',demo:'./repl/menu.html'},{name:'Drawer 抽屉',md:'drawer',demo:'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html'},{name:'Tab 标签切换',md:'tab',demo:'./repl/tab.html'},{name:'Nav 导航',md:'nav',demo:'./repl/nav.html'},{name:'Pagination 分页',md:'pagination',demo:'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html'},{name:'Top App Bar 顶部栏',md:'top-app-bar',demo:'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html'}]},{title:'操作反馈',list:[{name:'Dialog 对话框',md:'dialog',demo:'./repl/dialog.html'},{name:'Snackbar 提醒',md:'snackbar',demo:'./repl/snackbar.html'},{name:'ActionSheet 行动表',md:'action-sheet',demo:'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},{name:'ColorPicker 颜色选择机',md:'color-picker',demo:'./repl/color-picker.html'},{name:'Popover 提示',md:'popover',demo:'https://tencent.github.io/omi/packages/omim/demos/popover/index.html'},{name:'Toast 弹出提示',md:'toast',demo:'https://tencent.github.io/omi/packages/omim/demos/toast/index.html'}]},{title:'表单',list:[{name:'Text Field 文本输入',md:'text-field',demo:'./repl/text-field.html'},{name:'Select 下拉选择',md:'select',demo:'./repl/select.html'},{name:'Checkbox 复选框',md:'checkbox',demo:'./repl/checkbox.html'},{name:'Radio 单选框',md:'radio',demo:'./repl/radio.html'},{name:'Switch 切换',md:'switch',demo:'./repl/switch.html'},{name:'DateTimePicker 时间日期选择器',md:'date-time-picker',demo:'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html'},{name:'Picker 原生选择器',md:'picker',demo:'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html'},{name:'TransferList 穿梭列表',md:'transfer-list',demo:'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html'}]},{title:'数据',list:[{name:'List 列表',md:'list',demo:'./repl/list.html'},{name:'Table 表格',md:'table',demo:'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html'},{name:'Linear Progress 线性进度',md:'linear-progress',demo:'./repl/linear-progress.html'},{name:'Slider 滑块',md:'slider',demo:'./repl/slider.html'},{name:'Chips 标签',md:'chips',demo:'./repl/chips.html'},{name:'Tag 标签',md:'tag',demo:'./repl/tag.html'},{name:'Badge 徽章',md:'badge',demo:'./repl/badge.html'},{name:'Tree 树',md:'tree',demo:'./repl/tree.html'},{name:'Card 卡片',md:'card',demo:'./repl/card.html'},{name:'Path Progress 路径进度',md:'path-progress',demo:'./repl/path-progress.html'},{name:'Paper 纸片',md:'paper',demo:'./repl/paper.html'},{name:'Step 步骤',md:'step',demo:'./repl/step.html'},{name:'Simple Card 简单卡片',md:'simple-card',demo:'./repl/simple-card.html'},{name:'Editor 富文本编辑器',md:'editor',demo:'https://tencent.github.io/omi/packages/omim/demos/editor/index.html'},{name:'Spreadsheet 电子表格',md:'spreadsheet',demo:'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html'},{name:'Rate 评分',md:'rate',demo:'https://tencent.github.io/omi/packages/omim/demos/rate/index.html'}]},{title:'图表',list:[{name:'简介',md:'introduction-chart'},{name:'柱状图',md:'bar',demo:'./repl/bar.html'},{name:'线状图',md:'line',demo:'./repl/line.html'},{name:'散点图',md:'scatter',demo:'./repl/scatter.html'},{name:'饼图',md:'pie',demo:'./repl/pie.html'},{name:'环状图',md:'doughnut',demo:'./repl/doughnut.html'},{name:'雷达图',md:'radar',demo:'./repl/radar.html'},{name:'极区图',md:'polar-area',demo:'./repl/polar-area.html'},{name:'气泡图',md:'bubble',demo:'./repl/bubble.html'},{name:'合成图',md:'bar-line',demo:'./repl/bar-line.html'}]}],en:[{title:'Omim',list:[{name:'Introduction',md:'introduction'}]},{title:'Base',list:[{name:'Button',md:'button',demo:'./repl/button.html'},{name:'Fab',md:'fab',demo:'./repl/fab.html'},{name:'Icon',md:'icon',demo:'./repl/icon.html'},{name:'IconButton',md:'icon-button',demo:'./repl/icon-button.html'},{name:'Avatar',md:'avatar',demo:'./repl/avatar.html'},{name:'Loading',md:'loading',demo:'./repl/loading.html'},{name:'Breadcrumb',md:'breadcrumb',demo:'./repl/breadcrumb.html'}]},{title:'Util',list:[{name:'Transition',md:'transition',demo:'https://tencent.github.io/omi/packages/omim/demos/transition/index.html'},{name:'To',md:'to',demo:'https://tencent.github.io/omi/packages/omim/demos/to/index.html'},{name:'Theme',md:'theme',demo:'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html'},{name:'Typography',md:'typography',demo:'./repl/typography.html'},{name:'Layout Grid',md:'layout-grid',demo:'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html'}]},{title:'Layout',list:[{name:'Row',md:'row',demo:'./repl/row.html'},{name:'Elevation',md:'elevation',demo:'./repl/elevation.html'},{name:'Image List',md:'image-list',demo:'./repl/image-list.html'}]},{title:'Navigation',list:[{name:'Menu',md:'menu',demo:'./repl/menu.html'},{name:'Drawer',md:'drawer',demo:'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html'},{name:'Tab',md:'tab',demo:'./repl/tab.html'},{name:'Nav',md:'nav',demo:'./repl/nav.html'},{name:'Pagination',md:'pagination',demo:'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html'},{name:'Top App Bar',md:'top-app-bar',demo:'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html'}]},{title:'Operational Feedback',list:[{name:'Dialog',md:'dialog',demo:'./repl/dialog.html'},{name:'Snackbar',md:'snackbar',demo:'./repl/snackbar.html'},{name:'ActionSheet',md:'action-sheet',demo:'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},{name:'ColorPicker',md:'color-picker',demo:'./repl/color-picker.html'},{name:'Popover',md:'popover',demo:'https://tencent.github.io/omi/packages/omim/demos/popover/index.html'},{name:'Toast',md:'toast',demo:'https://tencent.github.io/omi/packages/omim/demos/toast/index.html'}]},{title:'Form',list:[{name:'Text Field',md:'text-field',demo:'./repl/text-field.html'},{name:'Select',md:'select',demo:'./repl/select.html'},{name:'Checkbox',md:'checkbox',demo:'./repl/checkbox.html'},{name:'Radio',md:'radio',demo:'./repl/radio.html'},{name:'Switch',md:'switch',demo:'./repl/switch.html'},{name:'DateTimePicker',md:'date-time-picker',demo:'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html'},{name:'Picker',md:'picker',demo:'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html'},{name:'TransferList',md:'transfer-list',demo:'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html'}]},{title:'Data',list:[{name:'List',md:'list',demo:'./repl/list.html'},{name:'Table',md:'table',demo:'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html'},{name:'Linear Progress',md:'linear-progress',demo:'./repl/linear-progress.html'},{name:'Slider',md:'slider',demo:'./repl/slider.html'},{name:'Chips',md:'chips',demo:'./repl/chips.html'},{name:'Tag',md:'tag',demo:'./repl/tag.html'},{name:'Badge',md:'badge',demo:'./repl/badge.html'},{name:'Tree',md:'tree',demo:'./repl/tree.html'},{name:'Card',md:'card',demo:'./repl/card.html'},{name:'Path Progress',md:'path-progress',demo:'./repl/path-progress.html'},{name:'Paper',md:'paper',demo:'./repl/paper.html'},{name:'Step',md:'step',demo:'./repl/step.html'},{name:'Simple Card',md:'simple-card',demo:'./repl/simple-card.html'},{name:'Editor',md:'editor',demo:'https://tencent.github.io/omi/packages/omim/demos/editor/index.html'},{name:'Spreadsheet',md:'spreadsheet',demo:'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html'},{name:'Rate',md:'rate',demo:'https://tencent.github.io/omi/packages/omim/demos/rate/index.html'}]},{title:'Chart',list:[{name:'Introduction',md:'introduction-chart'},{name:'Bar',md:'bar',demo:'./repl/bar.html'},{name:'Line',md:'line',demo:'./repl/line.html'},{name:'Scatter',md:'scatter',demo:'./repl/scatter.html'},{name:'Pie',md:'pie',demo:'./repl/pie.html'},{name:'Doughnut',md:'doughnut',demo:'./repl/doughnut.html'},{name:'Radar',md:'radar',demo:'./repl/radar.html'},{name:'PolarArea',md:'polar-area',demo:'./repl/polar-area.html'},{name:'Bubble',md:'bubble',demo:'./repl/bubble.html'},{name:'BarLine',md:'bar-line',demo:'./repl/bar-line.html'}]}]}};exports.default=config;\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {Object.defineProperty(exports,\"__esModule\",{value:true});var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};exports.default=route;/*!\n * omi-router v2.0.8 by dntzhang\n * Router for Omi.\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */var p2r=__webpack_require__(35);var mapping={};var root=getGlobal();root.route=route;root.route.params=null;root.historyLength=0;root.route.to=function(path,data){root.route._routeByTo=true;root.route.data=data;if(path[0]==='#'){location.hash=path;}else{location.hash='#'+path;}};window.addEventListener('hashchange',change);function change(evt){var byNative=false;//need to fix a line by omi-link\nif(window.history.length===root.historyLength&&!root.route._routeByTo){//keep alive mode\nbyNative=true;}root.route._routeByTo=false;root.historyLength=window.history.length;var prevent=false;if(evt.type==='hashchange'&&root.route.before){prevent=root.route.before(evt)===false;}if(prevent)return;var path=window.location.hash.replace('#','');var notFound=true;Object.keys(mapping).every(function(key){var toArr=path.split('?')[0].match(mapping[key].reg);if(toArr){var pathArr=key.match(mapping[key].reg);root.route.params=getParams(toArr,pathArr);root.route.query=getUrlParams(path);mapping[key].callback({params:root.route.params,query:getUrlParams(path),data:root.route.data,byNative:byNative});root.route.data=null;notFound=false;return false;}return true;});if(notFound){mapping['*']&&mapping['*'].callback({byNative:byNative});}if(evt.type==='hashchange'&&root.route.after){root.route.after(evt);}}document.addEventListener('DOMContentLoaded',change);function getParams(toArr,pathArr){var params={};toArr.forEach(function(item,index){if(index>0){params[pathArr[index].replace(':','')]=item;}});return params;}function route(path,callback){mapping[path]={callback:callback,reg:p2r(path)};}function getGlobal(){if((typeof global==='undefined'?'undefined':_typeof(global))!=='object'||!global||global.Math!==Math||global.Array!==Array){return self||window||global||function(){return this;}();}return global;}function getUrlParams(url){url=url.replace(/#.*$/,'');var queryArray=url.split(/[?&]/).slice(1);var i,args={};for(i=0;i [\"test\", \"\\d+\", undefined, \"?\"]\n// \"(\\\\d+)\" => [undefined, undefined, \"\\d+\", undefined]\n'(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'].join('|'),'g');/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */function parse(str,options){var tokens=[];var key=0;var index=0;var path='';var defaultDelimiter=options&&options.delimiter||DEFAULT_DELIMITER;var delimiters=options&&options.delimiters||DEFAULT_DELIMITERS;var pathEscaped=false;var res;while((res=PATH_REGEXP.exec(str))!==null){var m=res[0];var escaped=res[1];var offset=res.index;path+=str.slice(index,offset);index=offset+m.length;// Ignore already escaped sequences.\nif(escaped){path+=escaped[1];pathEscaped=true;continue;}var prev='';var next=str[index];var name=res[2];var capture=res[3];var group=res[4];var modifier=res[5];if(!pathEscaped&&path.length){var k=path.length-1;if(delimiters.indexOf(path[k])>-1){prev=path[k];path=path.slice(0,k);}}// Push the current path onto the tokens.\nif(path){tokens.push(path);path='';pathEscaped=false;}var partial=prev!==''&&next!==undefined&&next!==prev;var repeat=modifier==='+'||modifier==='*';var optional=modifier==='?'||modifier==='*';var delimiter=prev||defaultDelimiter;var pattern=capture||group;tokens.push({name:name||key++,prefix:prev,delimiter:delimiter,optional:optional,repeat:repeat,partial:partial,pattern:pattern?escapeGroup(pattern):'[^'+escapeString(delimiter)+']+?'});}// Push any remaining characters.\nif(path||index-1;}else{var capture=token.repeat?'(?:'+token.pattern+')(?:'+escapeString(token.delimiter)+'(?:'+token.pattern+'))*':token.pattern;if(keys)keys.push(token);if(token.optional){if(token.partial){route+=escapeString(token.prefix)+'('+capture+')?';}else{route+='(?:'+escapeString(token.prefix)+'('+capture+'))?';}}else{route+=escapeString(token.prefix)+'('+capture+')';}}}if(end){if(!strict)route+='(?:'+delimiter+')?';route+=endsWith==='$'?'$':'(?='+endsWith+')';}else{if(!strict)route+='(?:'+delimiter+'(?='+endsWith+'))?';if(!isEndDelimited)route+='(?='+delimiter+'|'+endsWith+')';}return new RegExp(route,flags(options));}/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */function pathToRegexp(path,keys,options){if(path instanceof RegExp){return regexpToRegexp(path,keys);}if(Array.isArray(path)){return arrayToRegexp(/** @type {!Array} */path,keys,options);}return stringToRegexp(/** @type {string} */path,keys,options);}\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./en/action-sheet.md\": [\n\t\t37,\n\t\t123\n\t],\n\t\"./en/avatar.md\": [\n\t\t38,\n\t\t122\n\t],\n\t\"./en/badge.md\": [\n\t\t39,\n\t\t121\n\t],\n\t\"./en/bar-line.md\": [\n\t\t40,\n\t\t120\n\t],\n\t\"./en/bar.md\": [\n\t\t41,\n\t\t119\n\t],\n\t\"./en/breadcrumb.md\": [\n\t\t42,\n\t\t118\n\t],\n\t\"./en/bubble.md\": [\n\t\t43,\n\t\t117\n\t],\n\t\"./en/button.md\": [\n\t\t44,\n\t\t116\n\t],\n\t\"./en/card.md\": [\n\t\t45,\n\t\t115\n\t],\n\t\"./en/checkbox.md\": [\n\t\t46,\n\t\t114\n\t],\n\t\"./en/chips.md\": [\n\t\t47,\n\t\t113\n\t],\n\t\"./en/color-picker.md\": [\n\t\t48,\n\t\t112\n\t],\n\t\"./en/date-time-picker.md\": [\n\t\t49,\n\t\t111\n\t],\n\t\"./en/dialog.md\": [\n\t\t50,\n\t\t110\n\t],\n\t\"./en/doughnut.md\": [\n\t\t51,\n\t\t109\n\t],\n\t\"./en/drawer.md\": [\n\t\t52,\n\t\t108\n\t],\n\t\"./en/editor.md\": [\n\t\t53,\n\t\t107\n\t],\n\t\"./en/elevation.md\": [\n\t\t54,\n\t\t106\n\t],\n\t\"./en/fab.md\": [\n\t\t55,\n\t\t105\n\t],\n\t\"./en/icon-button.md\": [\n\t\t56,\n\t\t104\n\t],\n\t\"./en/icon.md\": [\n\t\t57,\n\t\t103\n\t],\n\t\"./en/image-list.md\": [\n\t\t58,\n\t\t102\n\t],\n\t\"./en/introduction-chart.md\": [\n\t\t59,\n\t\t101\n\t],\n\t\"./en/introduction.md\": [\n\t\t60,\n\t\t100\n\t],\n\t\"./en/layout-grid.md\": [\n\t\t61,\n\t\t99\n\t],\n\t\"./en/line.md\": [\n\t\t62,\n\t\t98\n\t],\n\t\"./en/linear-progress.md\": [\n\t\t63,\n\t\t97\n\t],\n\t\"./en/list.md\": [\n\t\t64,\n\t\t96\n\t],\n\t\"./en/loading.md\": [\n\t\t65,\n\t\t95\n\t],\n\t\"./en/menu.md\": [\n\t\t66,\n\t\t94\n\t],\n\t\"./en/nav.md\": [\n\t\t67,\n\t\t93\n\t],\n\t\"./en/pagination.md\": [\n\t\t68,\n\t\t92\n\t],\n\t\"./en/paper.md\": [\n\t\t69,\n\t\t91\n\t],\n\t\"./en/path-progress.md\": [\n\t\t70,\n\t\t90\n\t],\n\t\"./en/picker.md\": [\n\t\t71,\n\t\t89\n\t],\n\t\"./en/pie.md\": [\n\t\t72,\n\t\t88\n\t],\n\t\"./en/polar-area.md\": [\n\t\t73,\n\t\t87\n\t],\n\t\"./en/popover.md\": [\n\t\t74,\n\t\t86\n\t],\n\t\"./en/radar.md\": [\n\t\t75,\n\t\t85\n\t],\n\t\"./en/radio.md\": [\n\t\t76,\n\t\t84\n\t],\n\t\"./en/rate.md\": [\n\t\t77,\n\t\t83\n\t],\n\t\"./en/row.md\": [\n\t\t78,\n\t\t82\n\t],\n\t\"./en/scatter.md\": [\n\t\t79,\n\t\t81\n\t],\n\t\"./en/select.md\": [\n\t\t80,\n\t\t80\n\t],\n\t\"./en/simple-card.md\": [\n\t\t81,\n\t\t79\n\t],\n\t\"./en/slider.md\": [\n\t\t82,\n\t\t78\n\t],\n\t\"./en/snackbar.md\": [\n\t\t83,\n\t\t77\n\t],\n\t\"./en/spreadsheet.md\": [\n\t\t84,\n\t\t76\n\t],\n\t\"./en/step.md\": [\n\t\t85,\n\t\t75\n\t],\n\t\"./en/switch.md\": [\n\t\t86,\n\t\t74\n\t],\n\t\"./en/tab.md\": [\n\t\t87,\n\t\t73\n\t],\n\t\"./en/table.md\": [\n\t\t88,\n\t\t72\n\t],\n\t\"./en/tag.md\": [\n\t\t89,\n\t\t71\n\t],\n\t\"./en/text-field.md\": [\n\t\t90,\n\t\t70\n\t],\n\t\"./en/theme.md\": [\n\t\t91,\n\t\t69\n\t],\n\t\"./en/to.md\": [\n\t\t92,\n\t\t68\n\t],\n\t\"./en/toast.md\": [\n\t\t93,\n\t\t67\n\t],\n\t\"./en/top-app-bar.md\": [\n\t\t94,\n\t\t66\n\t],\n\t\"./en/transfer-list.md\": [\n\t\t95,\n\t\t65\n\t],\n\t\"./en/transition.md\": [\n\t\t96,\n\t\t64\n\t],\n\t\"./en/tree.md\": [\n\t\t97,\n\t\t63\n\t],\n\t\"./en/typography.md\": [\n\t\t98,\n\t\t62\n\t],\n\t\"./zh-cn/action-sheet.md\": [\n\t\t99,\n\t\t61\n\t],\n\t\"./zh-cn/avatar.md\": [\n\t\t100,\n\t\t60\n\t],\n\t\"./zh-cn/badge.md\": [\n\t\t101,\n\t\t59\n\t],\n\t\"./zh-cn/bar-line.md\": [\n\t\t102,\n\t\t58\n\t],\n\t\"./zh-cn/bar.md\": [\n\t\t103,\n\t\t57\n\t],\n\t\"./zh-cn/breadcrumb.md\": [\n\t\t104,\n\t\t56\n\t],\n\t\"./zh-cn/bubble.md\": [\n\t\t105,\n\t\t55\n\t],\n\t\"./zh-cn/button.md\": [\n\t\t106,\n\t\t54\n\t],\n\t\"./zh-cn/card.md\": [\n\t\t107,\n\t\t53\n\t],\n\t\"./zh-cn/checkbox.md\": [\n\t\t108,\n\t\t52\n\t],\n\t\"./zh-cn/chips.md\": [\n\t\t109,\n\t\t51\n\t],\n\t\"./zh-cn/color-picker.md\": [\n\t\t110,\n\t\t50\n\t],\n\t\"./zh-cn/date-time-picker.md\": [\n\t\t111,\n\t\t49\n\t],\n\t\"./zh-cn/dialog.md\": [\n\t\t112,\n\t\t48\n\t],\n\t\"./zh-cn/doughnut.md\": [\n\t\t113,\n\t\t47\n\t],\n\t\"./zh-cn/drawer.md\": [\n\t\t114,\n\t\t46\n\t],\n\t\"./zh-cn/editor.md\": [\n\t\t115,\n\t\t45\n\t],\n\t\"./zh-cn/elevation.md\": [\n\t\t116,\n\t\t44\n\t],\n\t\"./zh-cn/fab.md\": [\n\t\t117,\n\t\t43\n\t],\n\t\"./zh-cn/icon-button.md\": [\n\t\t118,\n\t\t42\n\t],\n\t\"./zh-cn/icon.md\": [\n\t\t119,\n\t\t41\n\t],\n\t\"./zh-cn/image-list.md\": [\n\t\t120,\n\t\t40\n\t],\n\t\"./zh-cn/introduction-chart.md\": [\n\t\t121,\n\t\t39\n\t],\n\t\"./zh-cn/introduction.md\": [\n\t\t122,\n\t\t38\n\t],\n\t\"./zh-cn/layout-grid.md\": [\n\t\t123,\n\t\t37\n\t],\n\t\"./zh-cn/line.md\": [\n\t\t124,\n\t\t36\n\t],\n\t\"./zh-cn/linear-progress.md\": [\n\t\t125,\n\t\t35\n\t],\n\t\"./zh-cn/list.md\": [\n\t\t126,\n\t\t34\n\t],\n\t\"./zh-cn/loading.md\": [\n\t\t127,\n\t\t33\n\t],\n\t\"./zh-cn/menu.md\": [\n\t\t128,\n\t\t32\n\t],\n\t\"./zh-cn/nav.md\": [\n\t\t129,\n\t\t31\n\t],\n\t\"./zh-cn/pagination.md\": [\n\t\t130,\n\t\t30\n\t],\n\t\"./zh-cn/paper.md\": [\n\t\t131,\n\t\t29\n\t],\n\t\"./zh-cn/path-progress.md\": [\n\t\t132,\n\t\t28\n\t],\n\t\"./zh-cn/picker.md\": [\n\t\t133,\n\t\t27\n\t],\n\t\"./zh-cn/pie.md\": [\n\t\t134,\n\t\t26\n\t],\n\t\"./zh-cn/polar-area.md\": [\n\t\t135,\n\t\t25\n\t],\n\t\"./zh-cn/popover.md\": [\n\t\t136,\n\t\t24\n\t],\n\t\"./zh-cn/radar.md\": [\n\t\t137,\n\t\t23\n\t],\n\t\"./zh-cn/radio.md\": [\n\t\t138,\n\t\t22\n\t],\n\t\"./zh-cn/rate.md\": [\n\t\t139,\n\t\t21\n\t],\n\t\"./zh-cn/row.md\": [\n\t\t140,\n\t\t20\n\t],\n\t\"./zh-cn/scatter.md\": [\n\t\t141,\n\t\t19\n\t],\n\t\"./zh-cn/select.md\": [\n\t\t142,\n\t\t18\n\t],\n\t\"./zh-cn/simple-card.md\": [\n\t\t143,\n\t\t17\n\t],\n\t\"./zh-cn/slider.md\": [\n\t\t144,\n\t\t16\n\t],\n\t\"./zh-cn/snackbar.md\": [\n\t\t145,\n\t\t15\n\t],\n\t\"./zh-cn/spreadsheet.md\": [\n\t\t146,\n\t\t14\n\t],\n\t\"./zh-cn/step.md\": [\n\t\t147,\n\t\t13\n\t],\n\t\"./zh-cn/switch.md\": [\n\t\t148,\n\t\t12\n\t],\n\t\"./zh-cn/tab.md\": [\n\t\t149,\n\t\t11\n\t],\n\t\"./zh-cn/table.md\": [\n\t\t150,\n\t\t10\n\t],\n\t\"./zh-cn/tag.md\": [\n\t\t151,\n\t\t9\n\t],\n\t\"./zh-cn/text-field.md\": [\n\t\t152,\n\t\t8\n\t],\n\t\"./zh-cn/theme.md\": [\n\t\t153,\n\t\t7\n\t],\n\t\"./zh-cn/to.md\": [\n\t\t154,\n\t\t6\n\t],\n\t\"./zh-cn/toast.md\": [\n\t\t155,\n\t\t5\n\t],\n\t\"./zh-cn/top-app-bar.md\": [\n\t\t156,\n\t\t4\n\t],\n\t\"./zh-cn/transfer-list.md\": [\n\t\t157,\n\t\t3\n\t],\n\t\"./zh-cn/transition.md\": [\n\t\t158,\n\t\t2\n\t],\n\t\"./zh-cn/tree.md\": [\n\t\t159,\n\t\t1\n\t],\n\t\"./zh-cn/typography.md\": [\n\t\t160,\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 36;\nmodule.exports = webpackAsyncContext;\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nif(typeof Promise==='undefined'){// Rejection tracking prevents a common issue where React gets into an\n// inconsistent state due to an error, but it gets swallowed by a Promise,\n// and the user has no idea what causes React's erratic future behavior.\n__webpack_require__(5).enable();window.Promise=__webpack_require__(7);}// fetch() polyfill for making API calls.\n__webpack_require__(8);// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign=__webpack_require__(9);// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif(false){require('raf').polyfill(global);}\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar Promise=__webpack_require__(3);var DEFAULT_WHITELIST=[ReferenceError,TypeError,RangeError];var enabled=false;exports.disable=disable;function disable(){enabled=false;Promise._47=null;Promise._71=null;}exports.enable=enable;function enable(options){options=options||{};if(enabled)disable();enabled=true;var id=0;var displayId=0;var rejections={};Promise._47=function(promise){if(promise._83===2&&// IS REJECTED\nrejections[promise._56]){if(rejections[promise._56].logged){onHandled(promise._56);}else{clearTimeout(rejections[promise._56].timeout);}delete rejections[promise._56];}};Promise._71=function(promise,err){if(promise._75===0){// not yet handled\npromise._56=id++;rejections[promise._56]={displayId:null,error:err,timeout:setTimeout(onUnhandled.bind(null,promise._56),// For reference errors and type errors, this almost always\n// means the programmer made a mistake, so log them after just\n// 100ms\n// otherwise, wait 2 seconds to see if they get handled\nmatchWhitelist(err,DEFAULT_WHITELIST)?100:2000),logged:false};}};function onUnhandled(id){if(options.allRejections||matchWhitelist(rejections[id].error,options.whitelist||DEFAULT_WHITELIST)){rejections[id].displayId=displayId++;if(options.onUnhandled){rejections[id].logged=true;options.onUnhandled(rejections[id].displayId,rejections[id].error);}else{rejections[id].logged=true;logError(rejections[id].displayId,rejections[id].error);}}}function onHandled(id){if(rejections[id].logged){if(options.onHandled){options.onHandled(rejections[id].displayId,rejections[id].error);}else if(!rejections[id].onUnhandled){console.warn('Promise Rejection Handled (id: '+rejections[id].displayId+'):');console.warn(' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id '+rejections[id].displayId+'.');}}}}function logError(id,error){console.warn('Possible Unhandled Promise Rejection (id: '+id+'):');var errStr=(error&&(error.stack||error))+'';errStr.split('\\n').forEach(function(line){console.warn(' '+line);});}function matchWhitelist(error,list){return list.some(function(cls){return error instanceof cls;});}\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports=rawAsap;function rawAsap(task){if(!queue.length){requestFlush();flushing=true;}// Equivalent to push, but avoids a function call.\nqueue[queue.length]=task;}var queue=[];// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing=false;// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index=0;// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity=1024;// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush(){while(indexcapacity){// Manually shift all values starting at the index back to the\n// beginning of the queue.\nfor(var scan=0,newLength=queue.length-index;scan-1;};}function normalizeName(name){if(typeof name!=='string'){name=String(name);}if(/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)){throw new TypeError('Invalid character in header field name');}return name.toLowerCase();}function normalizeValue(value){if(typeof value!=='string'){value=String(value);}return value;}// Build a destructive iterator for the value list\nfunction iteratorFor(items){var iterator={next:function next(){var value=items.shift();return{done:value===undefined,value:value};}};if(support.iterable){iterator[Symbol.iterator]=function(){return iterator;};}return iterator;}function Headers(headers){this.map={};if(headers instanceof Headers){headers.forEach(function(value,name){this.append(name,value);},this);}else if(Array.isArray(headers)){headers.forEach(function(header){this.append(header[0],header[1]);},this);}else if(headers){Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name]);},this);}}Headers.prototype.append=function(name,value){name=normalizeName(name);value=normalizeValue(value);var oldValue=this.map[name];this.map[name]=oldValue?oldValue+','+value:value;};Headers.prototype['delete']=function(name){delete this.map[normalizeName(name)];};Headers.prototype.get=function(name){name=normalizeName(name);return this.has(name)?this.map[name]:null;};Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name));};Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=normalizeValue(value);};Headers.prototype.forEach=function(callback,thisArg){for(var name in this.map){if(this.map.hasOwnProperty(name)){callback.call(thisArg,this.map[name],name,this);}}};Headers.prototype.keys=function(){var items=[];this.forEach(function(value,name){items.push(name);});return iteratorFor(items);};Headers.prototype.values=function(){var items=[];this.forEach(function(value){items.push(value);});return iteratorFor(items);};Headers.prototype.entries=function(){var items=[];this.forEach(function(value,name){items.push([name,value]);});return iteratorFor(items);};if(support.iterable){Headers.prototype[Symbol.iterator]=Headers.prototype.entries;}function consumed(body){if(body.bodyUsed){return Promise.reject(new TypeError('Already read'));}body.bodyUsed=true;}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result);};reader.onerror=function(){reject(reader.error);};});}function readBlobAsArrayBuffer(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsArrayBuffer(blob);return promise;}function readBlobAsText(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsText(blob);return promise;}function readArrayBufferAsText(buf){var view=new Uint8Array(buf);var chars=new Array(view.length);for(var i=0;i-1?upcased:method;}function Request(input,options){options=options||{};var body=options.body;if(input instanceof Request){if(input.bodyUsed){throw new TypeError('Already read');}this.url=input.url;this.credentials=input.credentials;if(!options.headers){this.headers=new Headers(input.headers);}this.method=input.method;this.mode=input.mode;if(!body&&input._bodyInit!=null){body=input._bodyInit;input.bodyUsed=true;}}else{this.url=String(input);}this.credentials=options.credentials||this.credentials||'omit';if(options.headers||!this.headers){this.headers=new Headers(options.headers);}this.method=normalizeMethod(options.method||this.method||'GET');this.mode=options.mode||this.mode||null;this.referrer=null;if((this.method==='GET'||this.method==='HEAD')&&body){throw new TypeError('Body not allowed for GET or HEAD requests');}this._initBody(body);}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit});};function decode(body){var form=new FormData();body.trim().split('&').forEach(function(bytes){if(bytes){var split=bytes.split('=');var name=split.shift().replace(/\\+/g,' ');var value=split.join('=').replace(/\\+/g,' ');form.append(decodeURIComponent(name),decodeURIComponent(value));}});return form;}function parseHeaders(rawHeaders){var headers=new Headers();rawHeaders.split(/\\r?\\n/).forEach(function(line){var parts=line.split(':');var key=parts.shift().trim();if(key){var value=parts.join(':').trim();headers.append(key,value);}});return headers;}Body.call(Request.prototype);function Response(bodyInit,options){if(!options){options={};}this.type='default';this.status='status'in options?options.status:200;this.ok=this.status>=200&&this.status<300;this.statusText='statusText'in options?options.statusText:'OK';this.headers=new Headers(options.headers);this.url=options.url||'';this._initBody(bodyInit);}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url});};Response.error=function(){var response=new Response(null,{status:0,statusText:''});response.type='error';return response;};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(redirectStatuses.indexOf(status)===-1){throw new RangeError('Invalid status code');}return new Response(null,{status:status,headers:{location:url}});};self.Headers=Headers;self.Request=Request;self.Response=Response;self.fetch=function(input,init){return new Promise(function(resolve,reject){var request=new Request(input,init);var xhr=new XMLHttpRequest();xhr.onload=function(){var options={status:xhr.status,statusText:xhr.statusText,headers:parseHeaders(xhr.getAllResponseHeaders()||'')};options.url='responseURL'in xhr?xhr.responseURL:options.headers.get('X-Request-URL');var body='response'in xhr?xhr.response:xhr.responseText;resolve(new Response(body,options));};xhr.onerror=function(){reject(new TypeError('Network request failed'));};xhr.ontimeout=function(){reject(new TypeError('Network request failed'));};xhr.open(request.method,request.url,true);if(request.credentials==='include'){xhr.withCredentials=true;}if('responseType'in xhr&&support.blob){xhr.responseType='blob';}request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value);});xhr.send(typeof request._bodyInit==='undefined'?null:request._bodyInit);});};self.fetch.polyfill=true;})(typeof self!=='undefined'?self:undefined);\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*//* eslint-disable no-unused-vars */var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');}return Object(val);}function shouldUseNative(){try{if(!Object.assign){return false;}// Detect buggy property enumeration order in older V8 versions.\n// https://bugs.chromium.org/p/v8/issues/detail?id=4118\nvar test1=new String('abc');// eslint-disable-line no-new-wrappers\ntest1[5]='de';if(Object.getOwnPropertyNames(test1)[0]==='5'){return false;}// https://bugs.chromium.org/p/v8/issues/detail?id=3056\nvar test2={};for(var i=0;i<10;i++){test2['_'+String.fromCharCode(i)]=i;}var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n];});if(order2.join('')!=='0123456789'){return false;}// https://bugs.chromium.org/p/v8/issues/detail?id=3056\nvar test3={};'abcdefghijklmnopqrst'.split('').forEach(function(letter){test3[letter]=letter;});if(Object.keys(Object.assign({},test3)).join('')!=='abcdefghijklmnopqrst'){return false;}return true;}catch(err){// We don't expect any of the above to throw, but better to be safe.\nreturn false;}}module.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;sHello!`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nfunction h(nodeName, attributes) {\n var children = [],\n lastSimple,\n child,\n simple,\n i;\n for (i = arguments.length; i-- > 2;) {\n stack.push(arguments[i]);\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children);\n delete attributes.children;\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--;) {\n stack.push(child[i]);\n }\n } else {\n if (typeof child === 'boolean') child = null;\n\n if (simple = typeof nodeName !== 'function') {\n if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child;\n } else if (children.length === 0) {\n children = [child];\n } else {\n children.push(child);\n }\n\n lastSimple = simple;\n }\n }\n\n var p = new VNode();\n p.nodeName = nodeName;\n p.children = children;\n p.attributes = attributes == null ? undefined : attributes;\n p.key = attributes == null ? undefined : attributes.key;\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p);\n\n return p;\n}\n\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction assign(target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var runListeners = function runListeners(oEvent) {\n if (!oEvent) {\n oEvent = window.event;\n }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) {\n oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);\n }\n break;\n }\n }\n };\n\n var oListeners = {};\n\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n nElIdx = iElId;break;\n }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) {\n return;\n }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) {\n return;\n }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n nElIdx = iElId;break;\n }\n }\n if (nElIdx === -1) {\n return;\n }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) {\n aElListeners.splice(iLstId, 1);\n }\n }\n };\n}\n\nif (typeof Object.create !== 'function') {\n Object.create = function (proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto);\n } else if (proto === null) {\n throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\");\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto;\n\n return new F();\n };\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n };\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nfunction extend(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nfunction applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value);else ref.current = value;\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nvar usePromise = typeof Promise == 'function';\n\n// for native\nif (typeof document !== 'object' && typeof global !== 'undefined' && global.__config__) {\n if (global.__config__.platform === 'android') {\n usePromise = true;\n } else {\n var systemVersion = global.__config__.systemVersion && global.__config__.systemVersion.split('.')[0] || 0;\n if (systemVersion > 8) {\n usePromise = true;\n }\n }\n}\n\nvar defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;\n\nfunction isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n}\n\nfunction nProps(props) {\n if (!props || isArray(props)) return {};\n var result = {};\n Object.keys(props).forEach(function (key) {\n result[key] = props[key].value;\n });\n return result;\n}\n\nfunction getUse(data, paths) {\n var obj = [];\n paths.forEach(function (path, index) {\n var isPath = typeof path === 'string';\n if (isPath) {\n obj[index] = getTargetByPath(data, path);\n } else {\n var key = Object.keys(path)[0];\n var value = path[key];\n if (typeof value === 'string') {\n obj[index] = getTargetByPath(data, value);\n } else {\n var tempPath = value[0];\n if (typeof tempPath === 'string') {\n var tempVal = getTargetByPath(data, tempPath);\n obj[index] = value[1] ? value[1](tempVal) : tempVal;\n } else {\n var args = [];\n tempPath.forEach(function (path) {\n args.push(getTargetByPath(data, path));\n });\n obj[index] = value[1].apply(null, args);\n }\n }\n obj[key] = obj[index];\n }\n });\n return obj;\n}\n\nfunction getTargetByPath(origin, path) {\n var arr = path.replace(/]/g, '').replace(/\\[/g, '.').split('.');\n var current = origin;\n for (var i = 0, len = arr.length; i < len; i++) {\n current = current[arr[i]];\n }\n return current;\n}\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nfunction cloneElement(vnode, props) {\n return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);\n}\n\n// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n\n/** Managed queue of dirty components to be re-rendered */\n\nvar items = [];\n\nfunction enqueueRender(component) {\n if (items.push(component) == 1) {\n(options.debounceRendering || defer)(rerender);\n }\n}\n\n/** Rerender all enqueued dirty components */\nfunction rerender() {\n var p;\n while (p = items.pop()) {\n renderComponent(p);\n }\n}\n\nvar mapping = options.mapping;\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nfunction isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined;\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName];\n if (ctor) {\n return hydrating || node._componentConstructor === ctor;\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName);\n }\n return hydrating || node._componentConstructor === vnode.nodeName;\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nfunction isNamedNode(node, nodeName) {\n return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nfunction getNodeProps(vnode) {\n var props = extend({}, vnode.attributes);\n props.children = vnode.children;\n\n var defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (var i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nfunction createNode(nodeName, isSvg) {\n var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);\n node.normalizedNodeName = nodeName;\n return node;\n}\n\nfunction parseCSSText(cssText) {\n var cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ');\n var style = {},\n _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt],\n a = _ref[0],\n b = _ref[1],\n rule = _ref[2];\n\n var cssToJs = function cssToJs(s) {\n return s.replace(/\\W+\\w/g, function (match) {\n return match.slice(-1).toUpperCase();\n });\n };\n var properties = rule.split(';').map(function (o) {\n return o.split(':').map(function (x) {\n return x && x.trim();\n });\n });\n for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator]();;) {\n var _ref3;\n\n if (i) {\n if (i >= i.length) break;\n _ref3 = i[i++];\n } else {\n i = i.next();\n if (i.done) break;\n _ref3 = i.value;\n }\n\n var _ref2 = _ref3;\n var property = _ref2[0];\n var value = _ref2[1];\n style[cssToJs(property)] = value;\n }return style;\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nfunction removeNode(node) {\n var parentNode = node.parentNode;\n if (parentNode) parentNode.removeChild(node);\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nfunction setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class';\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null);\n applyRef(value, node);\n } else if (name === 'class' && !isSvg) {\n node.className = value || '';\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || '';\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (var i in old) {\n if (!(i in value)) node.style[i] = '';\n }\n }\n for (var i in value) {\n node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL$1.test(i) === false ? value[i] + 'px' : value[i];\n }\n }\n } else {\n var oldJson = old,\n currentJson = value;\n if (typeof old === 'string') {\n oldJson = parseCSSText(old);\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value);\n }\n\n var result = {},\n changed = false;\n\n if (oldJson) {\n for (var key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = '';\n changed = true;\n }\n }\n\n for (var ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey];\n changed = true;\n }\n }\n\n if (changed) {\n node.setStyles(result);\n }\n } else {\n node.setStyles(currentJson);\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || '';\n } else if (name[0] == 'o' && name[1] == 'n') {\n var useCapture = name !== (name = name.replace(/Capture$/, ''));\n name = name.toLowerCase().substring(2);\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture);\n node.addEventListener('touchend', touchEnd, useCapture);\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture);\n node.removeEventListener('touchend', touchEnd, useCapture);\n }\n }\n(node._listeners || (node._listeners = {}))[name] = value;\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value);\n if (value == null || value === false) node.removeAttribute(name);\n } else {\n var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));\n if (value == null || value === false) {\n if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name);\n } else if (typeof value !== 'function') {\n if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value);\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value;\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type](options.event && options.event(e) || e);\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX;\n this.___touchY = e.touches[0].pageY;\n this.___scrollTop = document.body.scrollTop;\n}\n\nfunction touchEnd(e) {\n if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }));\n }\n}\n\nvar styleId = 0;\n\nfunction getCtorName(ctor) {\n for (var i = 0, len = options.styleCache.length; i < len; i++) {\n var item = options.styleCache[i];\n\n if (item.ctor === ctor) {\n return item.attrName;\n }\n }\n\n var attrName = 's' + styleId;\n options.styleCache.push({ ctor: ctor, attrName: attrName });\n styleId++;\n\n return attrName;\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nfunction scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']';\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '');\n // eslint-disable-next-line\n var re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g');\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, function (g0, g1, g2, g3) {\n if (typeof g2 === 'undefined') {\n g2 = '';\n }\n\n /* eslint-ignore-next-line */\n if (g1.match(/^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) {\n return g1 + g2 + g3;\n }\n\n var appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2;\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3;\n //return appendClass + ',' + prependClass + g3;\n });\n\n return css;\n}\n\nfunction addStyle(cssText, id) {\n id = id.toLowerCase();\n var ele = document.getElementById(id);\n var head = document.getElementsByTagName('head')[0];\n if (ele && ele.parentNode === head) {\n head.removeChild(ele);\n }\n\n var someThingStyles = document.createElement('style');\n head.appendChild(someThingStyles);\n someThingStyles.setAttribute('type', 'text/css');\n someThingStyles.setAttribute('id', id);\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText;\n } else {\n someThingStyles.textContent = cssText;\n }\n}\n\nfunction addStyleWithoutId(cssText) {\n var head = document.getElementsByTagName('head')[0];\n var someThingStyles = document.createElement('style');\n head.appendChild(someThingStyles);\n someThingStyles.setAttribute('type', 'text/css');\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText;\n } else {\n someThingStyles.textContent = cssText;\n }\n}\n\nfunction addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom);\n }\n}\n\nfunction addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr);\n options.staticStyleMapping[attr] = true;\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style);\n options.staticStyleMapping[attr] = true;\n }\n}\n\nfunction scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {};\n vdom.attributes[attr] = '';\n vdom.css = vdom.css || {};\n vdom.css[attr] = '';\n vdom.children.forEach(function (child) {\n return scopeVdom(attr, child);\n });\n }\n}\n\nfunction scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {};\n for (var key in css) {\n vdom.attributes[key] = '';\n }\n }\n}\n\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nvar mounts = [];\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nvar diffLevel = 0;\n\n/** Global flag indicating if the diff is currently within an SVG */\nvar isSvgMode = false;\n\n/** Global flag indicating if the diff is performing hydration */\nvar hydrating = false;\n\n/** Invoke queued componentDidMount lifecycle methods */\nfunction flushMounts() {\n var c;\n while (c = mounts.pop()) {\n if (options.afterMount) options.afterMount(c);\n if (c.installed) c.installed();\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css, '_s' + getCtorName(c.constructor));\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nfunction diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined;\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !('__omiattr_' in dom);\n }\n var ret;\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n };\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot);\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret);\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (! --diffLevel) {\n hydrating = false;\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts();\n }\n\n return ret;\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n var out = dom,\n prevSvgMode = isSvgMode;\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = '';\n\n // If the VNode represents a Component, perform a component diff:\n var vnodeName = vnode.nodeName;\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName];\n return buildComponentFromVNode(dom, vnode, context, mountAll);\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll);\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode;\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode);\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n recollectNodeTree(dom, true);\n }\n }\n\n //ie8 error\n try {\n out['__omiattr_'] = true;\n } catch (e) {}\n\n return out;\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName);\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode);\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) {\n out.appendChild(dom.firstChild);\n } // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true);\n }\n }\n\n var fc = out.firstChild,\n props = out['__omiattr_'],\n vchildren = vnode.children;\n\n if (props == null) {\n props = out['__omiattr_'] = {};\n for (var a = out.attributes, i = a.length; i--;) {\n props[a[i].name] = a[i].value;\n }\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0];\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if (vchildren && vchildren.length || fc != null) {\n innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props);\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode;\n\n return out;\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n var originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child;\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (var i = 0; i < len; i++) {\n var _child = originalChildren[i],\n props = _child['__omiattr_'],\n key = vlen && props ? _child._component ? _child._component.__key : props.key : null;\n if (key != null) {\n keyedLen++;\n keyed[key] = _child;\n } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {\n children[childrenLen++] = _child;\n }\n }\n }\n\n if (vlen !== 0) {\n for (var i = 0; i < vlen; i++) {\n vchild = vchildren[i];\n child = null;\n\n // attempt to find a node based on key matching\n var key = vchild.key;\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key];\n keyed[key] = undefined;\n keyedLen--;\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {\n child = c;\n children[j] = undefined;\n if (j === childrenLen - 1) childrenLen--;\n if (j === min) min++;\n break;\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll);\n\n f = originalChildren[i];\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child);\n } else if (child === f.nextSibling) {\n removeNode(f);\n } else {\n dom.insertBefore(child, f);\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (var i in keyed) {\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);\n }\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nfunction recollectNodeTree(node, unmountOnly) {\n var component = node._component;\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component);\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node['__omiattr_'] != null) applyRef(node['__omiattr_'].ref, null);\n\n if (unmountOnly === false || node['__omiattr_'] == null) {\n removeNode(node);\n }\n\n removeChildren(node);\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nfunction removeChildren(node) {\n node = node.lastChild;\n while (node) {\n var next = node.previousSibling;\n recollectNodeTree(node, true);\n node = next;\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n var name;\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {\n setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n }\n }\n}\n\nfunction define(name, ctor) {\n options.mapping[name] = ctor;\n if (ctor.use) {\n ctor.updatePath = getPath(ctor.use);\n } else if (ctor.data) {\n //Compatible with older versions\n ctor.updatePath = getUpdatePath(ctor.data);\n }\n}\n\nfunction getPath(obj) {\n if (Object.prototype.toString.call(obj) === '[object Array]') {\n var result = {};\n obj.forEach(function (item) {\n if (typeof item === 'string') {\n result[item] = true;\n } else {\n var tempPath = item[Object.keys(item)[0]];\n if (typeof tempPath === 'string') {\n result[tempPath] = true;\n } else {\n if (typeof tempPath[0] === 'string') {\n result[tempPath[0]] = true;\n } else {\n tempPath[0].forEach(function (path) {\n return result[path] = true;\n });\n }\n }\n }\n });\n return result;\n } else {\n return getUpdatePath(obj);\n }\n}\n\nfunction getUpdatePath(data) {\n var result = {};\n dataToPath(data, result);\n return result;\n}\n\nfunction dataToPath(data, result) {\n Object.keys(data).forEach(function (key) {\n result[key] = true;\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], key, result);\n }\n });\n}\n\nfunction _objToPath(data, path, result) {\n Object.keys(data).forEach(function (key) {\n result[path + '.' + key] = true;\n delete result[path];\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], path + '.' + key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], path + '.' + key, result);\n }\n });\n}\n\nfunction _arrayToPath(data, path, result) {\n data.forEach(function (item, index) {\n result[path + '[' + index + ']'] = true;\n delete result[path];\n var type = Object.prototype.toString.call(item);\n if (type === '[object Object]') {\n _objToPath(item, path + '[' + index + ']', result);\n } else if (type === '[object Array]') {\n _arrayToPath(item, path + '[' + index + ']', result);\n }\n });\n}\n\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nvar components = {};\n\n/** Reclaim a component for later re-use by the recycler. */\nfunction collectComponent(component) {\n var name = component.constructor.name;(components[name] || (components[name] = [])).push(component);\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nfunction createComponent(Ctor, props, context, vnode) {\n var list = components[Ctor.name],\n inst;\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context);\n Component.call(inst, props, context);\n } else {\n inst = new Component(props, context);\n inst.constructor = Ctor;\n inst.render = doRender;\n }\n vnode && (inst.scopedCssAttr = vnode.css);\n\n if (inst.store && inst.store.data) {\n if (inst.constructor.use) {\n inst.use = getUse(inst.store.data, inst.constructor.use);\n inst.store.instances.push(inst);\n } else if (inst.initUse) {\n var use = inst.initUse();\n inst._updatePath = getPath(use);\n inst.use = getUse(inst.store.data, use);\n inst.store.instances.push(inst);\n }\n }\n\n if (list) {\n for (var i = list.length; i--;) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase;\n list.splice(i, 1);\n break;\n }\n }\n }\n return inst;\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context);\n}\n\n/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function obaa(target, arr, callback) {\n var _observe = function _observe(target, arr, callback) {\n if (!target.$observer) target.$observer = this;\n var $observer = target.$observer;\n var eventPropArr = [];\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {};\n target.$observeProps.$observerPath = '#';\n }\n $observer.mock(target);\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n }\n } else {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n }\n }\n }\n $observer.target = target;\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];\n var propChanged = callback ? callback : arr;\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n });\n };\n _observe.prototype = {\n onPropertyChanged: function onPropertyChanged(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path);\n for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {\n var handler = this.propertyChangedHandler[i];\n if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || rootName.indexOf('Array-') === 0) {\n handler.propChanged.call(this.target, prop, value, oldValue, path);\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath);\n }\n },\n mock: function mock(target) {\n var self = this;\n obaa.methods.forEach(function (item) {\n target[item] = function () {\n var old = Array.prototype.slice.call(this, 0);\n var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath);\n }\n }\n //todo\n self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);\n }\n return result;\n };\n target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function () {\n return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));\n };\n });\n },\n watch: function watch(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return;\n if (obaa.isFunction(target[prop])) return;\n if (!target.$observeProps) target.$observeProps = {};\n if (path !== undefined) {\n target.$observeProps.$observerPath = path;\n } else {\n target.$observeProps.$observerPath = '#';\n }\n var self = this;\n var currentValue = target.$observeProps[prop] = target[prop];\n Object.defineProperty(target, prop, {\n get: function get() {\n return this.$observeProps[prop];\n },\n set: function set(value) {\n var old = this.$observeProps[prop];\n this.$observeProps[prop] = value;\n self.onPropertyChanged(prop, value, old, this, target.$observeProps.$observerPath);\n }\n });\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue);\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {};\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path;\n } else {\n currentValue.$observeProps.$observerPath = '#';\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);\n }\n }\n }\n }\n };\n return new _observe(target, arr, callback);\n};\n\nobaa.methods = ['concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size'];\nobaa.triggerStr = ['concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size'].join(',');\n\nobaa.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n};\n\nobaa.isString = function (obj) {\n return typeof obj === 'string';\n};\n\nobaa.isInArray = function (arr, item) {\n for (var i = arr.length; --i > -1;) {\n if (item === arr[i]) return true;\n }\n return false;\n};\n\nobaa.isFunction = function (obj) {\n return Object.prototype.toString.call(obj) == '[object Function]';\n};\n\nobaa._getRootName = function (prop, path) {\n if (path === '#') {\n return prop;\n }\n return path.split('-')[1];\n};\n\nobaa.add = function (obj, prop) {\n var $observer = obj.$observer;\n $observer.watch(obj, prop);\n};\n\nobaa.set = function (obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value;\n }\n var $observer = obj.$observer;\n $observer.watch(obj, prop);\n if (exec) {\n obj[prop] = value;\n }\n};\n\nArray.prototype.size = function (length) {\n this.length = length;\n};\n\nvar callbacks = [];\nvar nextTickCallback = [];\n\nfunction fireTick() {\n callbacks.forEach(function (item) {\n item.fn.call(item.scope);\n });\n\n nextTickCallback.forEach(function (nextItem) {\n nextItem.fn.call(nextItem.scope);\n });\n nextTickCallback.length = 0;\n}\n\nfunction proxyUpdate(ele) {\n var timeout = null;\n obaa(ele.data, function () {\n if (ele._willUpdate) {\n return;\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout);\n\n timeout = setTimeout(function () {\n ele.update();\n fireTick();\n }, 0);\n } else {\n ele.update();\n fireTick();\n }\n });\n}\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nfunction setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return;\n component._disable = true;\n\n if (component.__ref = props.ref) delete props.ref;\n if (component.__key = props.key) delete props.key;\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall();\n if (component.install) component.install();\n if (component.constructor.observe) {\n proxyUpdate(component);\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props);\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context;\n component.context = context;\n }\n\n if (!component.prevProps) component.prevProps = component.props;\n component.props = props;\n\n component._disable = false;\n\n if (opts !== 0) {\n if (opts === 1 || options.syncComponentUpdates !== false || !component.base) {\n renderComponent(component, 1, mountAll);\n } else {\n enqueueRender(component);\n }\n }\n\n applyRef(component.__ref, component);\n}\n\nfunction shallowComparison(old, attrs) {\n var name;\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true;\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true;\n }\n\n for (name in attrs) {\n if (name != 'children') {\n var type = typeof attrs[name];\n if (type == 'function' || type == 'object') {\n return true;\n } else if (attrs[name] != old[name]) {\n return true;\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nfunction renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return;\n\n var props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase;\n\n // if updating\n if (isUpdate) {\n component.props = previousProps;\n component.data = previousState;\n component.context = previousContext;\n if (component.store || opts == 2 || shallowComparison(previousProps, props)) {\n skip = false;\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context);\n }\n } else {\n skip = true;\n }\n component.props = props;\n component.data = data;\n component.context = context;\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null;\n\n if (!skip) {\n component.beforeRender && component.beforeRender();\n rendered = component.render(props, data, context);\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));\n }\n\n scopeHost(rendered, component.scopedCssAttr);\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext());\n }\n\n var childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent];\n\n if (ctor) {\n // set up high order component link\n\n var childProps = getNodeProps(rendered);\n inst = initialChildComponent;\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, 1, context, false);\n } else {\n toUnmount = inst;\n\n component._component = inst = createComponent(ctor, childProps, context);\n inst.nextBase = inst.nextBase || nextBase;\n inst._parentComponent = component;\n setComponentProps(inst, childProps, 0, context, false);\n renderComponent(inst, 1, mountAll, true);\n }\n\n base = inst.base;\n } else {\n cbase = initialBase;\n\n // destroy high order component link\n toUnmount = initialChildComponent;\n if (toUnmount) {\n cbase = component._component = null;\n }\n\n if (initialBase || opts === 1) {\n if (cbase) cbase._component = null;\n base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true);\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n var baseParent = initialBase.parentNode;\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase);\n\n if (!toUnmount) {\n initialBase._component = null;\n recollectNodeTree(initialBase, false);\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount);\n }\n\n component.base = base;\n if (base && !isChild) {\n var componentRef = component,\n t = component;\n while (t = t._parentComponent) {\n(componentRef = t).base = base;\n }\n base._component = componentRef;\n base._componentConstructor = componentRef.constructor;\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component);\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext);\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext);\n }\n if (options.afterUpdate) options.afterUpdate(component);\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length) {\n component._renderCallbacks.pop().call(component);\n }\n }\n\n if (!diffLevel && !isChild) flushMounts();\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nfunction buildComponentFromVNode(dom, vnode, context, mountAll) {\n var c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode);\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName;\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, 3, context, mountAll);\n dom = c.base;\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent);\n dom = oldDom = null;\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode);\n if (dom && !c.nextBase) {\n c.nextBase = dom;\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null;\n }\n setComponentProps(c, props, 1, context, mountAll);\n dom = c.base;\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null;\n recollectNodeTree(oldDom, false);\n }\n }\n\n return dom;\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nfunction unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component);\n\n var base = component.base;\n\n component._disable = true;\n\n if (component.uninstall) component.uninstall();\n\n if (component.store && component.store.instances) {\n for (var i = 0, len = component.store.instances.length; i < len; i++) {\n if (component.store.instances[i] === component) {\n component.store.instances.splice(i, 1);\n break;\n }\n }\n }\n\n component.base = null;\n\n // recursively tear down & recollect high-order component children:\n var inner = component._component;\n if (inner) {\n unmountComponent(inner);\n } else if (base) {\n if (base['__omiattr_'] != null) applyRef(base['__omiattr_'].ref, null);\n\n component.nextBase = base;\n\n removeNode(base);\n collectComponent(component);\n\n removeChildren(base);\n }\n\n applyRef(component.__ref, null);\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar id = 0;\n\nvar Component = function () {\n function Component(props, store) {\n _classCallCheck(this, Component);\n\n this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);\n this.elementId = id++;\n this.data = this.constructor.data || this.data || {};\n\n this._preCss = null;\n\n this.store = store;\n }\n\n Component.prototype.update = function update(callback) {\n this._willUpdate = true;\n if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback);\n renderComponent(this, 2);\n if (options.componentChange) options.componentChange(this, this.base);\n this._willUpdate = false;\n };\n\n Component.prototype.fire = function fire(type, data) {\n var _this = this;\n\n Object.keys(this.props).every(function (key) {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n _this.props[key]({ detail: data });\n return false;\n }\n return true;\n });\n };\n\n Component.prototype.render = function render() {};\n\n return Component;\n}();\n\nComponent.is = 'WeElement';\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nfunction render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent;\n obsStore(store);\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n }\n\n if (merge) {\n merge = typeof merge === 'string' ? document.querySelector(merge) : merge;\n }\n\n return diff(merge, vnode, store, false, parent, false);\n}\n\nfunction obsStore(store) {\n if (store && store.data) {\n store.instances = [];\n extendStoreUpate(store);\n\n obaa(store.data, function (prop, val, old, path) {\n var patchs = {};\n var key = fixPath(path + '-' + prop);\n patchs[key] = true;\n store.update(patchs);\n });\n }\n}\n\nfunction merge(vnode, merge, store) {\n obsStore(store);\n\n merge = typeof merge === 'string' ? document.querySelector(merge) : merge;\n\n return diff(merge, vnode, store);\n}\n\nfunction extendStoreUpate(store) {\n store.update = function (patch) {\n var _this = this;\n\n var updateAll = matchGlobalData(this.globalData, patch);\n if (Object.keys(patch).length > 0) {\n this.instances.forEach(function (instance) {\n if (updateAll || _this.updateAll || instance.constructor.updatePath && needUpdate(patch, instance.constructor.updatePath) || instance._updatePath && needUpdate(patch, instance._updatePath)) {\n //update this.use\n if (instance.constructor.use) {\n instance.use = getUse(store.data, instance.constructor.use);\n } else if (instance.initUse) {\n instance.use = getUse(store.data, instance.initUse());\n }\n\n instance.update();\n }\n });\n this.onChange && this.onChange(patch);\n }\n };\n}\n\nfunction matchGlobalData(globalData, diffResult) {\n if (!globalData) return false;\n for (var keyA in diffResult) {\n if (globalData.indexOf(keyA) > -1) {\n return true;\n }\n for (var i = 0, len = globalData.length; i < len; i++) {\n if (includePath(keyA, globalData[i])) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction needUpdate(diffResult, updatePath) {\n for (var keyA in diffResult) {\n if (updatePath[keyA]) {\n return true;\n }\n for (var keyB in updatePath) {\n if (includePath(keyA, keyB)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction includePath(pathA, pathB) {\n if (pathA.indexOf(pathB) === 0) {\n var next = pathA.substr(pathB.length, 1);\n if (next === '[' || next === '.') {\n return true;\n }\n }\n return false;\n}\n\nfunction fixPath(path) {\n var mpPath = '';\n var arr = path.replace('#-', '').split('-');\n arr.forEach(function (item, index) {\n if (index) {\n if (isNaN(Number(item))) {\n mpPath += '.' + item;\n } else {\n mpPath += '[' + item + ']';\n }\n } else {\n mpPath += item;\n }\n });\n return mpPath;\n}\n\nfunction rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, function (a, b) {\n return window.innerWidth * Number(b) / 750 + 'px';\n });\n}\n\nfunction tag(name) {\n return function (target) {\n define(name, target);\n };\n}\n\nfunction _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ModelView = function (_Component) {\n _inherits(ModelView, _Component);\n\n function ModelView() {\n _classCallCheck$1(this, ModelView);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n ModelView.prototype.beforeInstall = function beforeInstall() {\n this.data = this.vm.data;\n };\n\n return ModelView;\n}(Component);\n\nModelView.observe = true;\nModelView.mergeUpdate = true;\n\n/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty;\n\nfunction classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n\nfunction extractClass() {\n var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),\n props = _Array$prototype$slic[0],\n args = _Array$prototype$slic.slice(1);\n\n if (props) {\n if (props['class']) {\n args.unshift(props['class']);\n delete props['class'];\n } else if (props.className) {\n args.unshift(props.className);\n delete props.className;\n }\n }\n if (args.length > 0) {\n return { 'class': classNames.apply(null, args) };\n }\n}\n\nfunction getHost(component) {\n var base = component.base;\n if (base) {\n while (base.parentNode) {\n if (base.parentNode._component) {\n return base.parentNode._component;\n } else {\n base = base.parentNode;\n }\n }\n }\n}\n\n/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nvar encodeEntities = function encodeEntities(s) {\n return String(s).replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"');\n};\n\nvar indent = function indent(s, char) {\n return String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n};\n\nvar mapping$1 = options.mapping;\n\nvar VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nvar isLargeString = function isLargeString(s, length, ignoreLines) {\n return String(s).length > (length || 40) || !ignoreLines && String(s).indexOf('\\n') !== -1 || String(s).indexOf('<') !== -1;\n};\n\nvar JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n var str = '';\n for (var prop in s) {\n var val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\nfunction renderToString(vnode, opts, store, isSvgMode) {\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n }, opts);\n var css = {};\n var html = _renderToString(vnode, opts, store, isSvgMode, css);\n return {\n css: Object.values(css),\n html: html\n };\n}\n\n/** The default export is an alias of `render()`. */\nfunction _renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n var nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n\n var pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n var ctor = mapping$1[nodeName];\n if (ctor) {\n isComponent = true;\n\n var props = getNodeProps$1(vnode),\n rendered;\n // class-based components\n var c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n\n if (opts.scopedCSS) {\n\n if (c.constructor.css || c.css) {\n\n var cssStr = c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css;\n var cssAttr = '_s' + getCtorName(c.constructor);\n css[cssAttr] = {\n id: cssAttr,\n css: scoper(cssStr, cssAttr)\n };\n addScopedAttrStatic(rendered, cssAttr);\n }\n\n c.scopedCSSAttr = vnode.css;\n scopeHost(rendered, c.scopedCSSAttr);\n }\n\n return _renderToString(rendered, opts, store, false, css);\n }\n\n // render JSX to HTML\n var s = '',\n html;\n\n if (attributes) {\n var attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (var i = 0; i < attrs.length; i++) {\n var name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes['class']) continue;\n name = 'class';\n } else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n } else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ' ' + name + '=\"' + encodeEntities(v) + '\"';\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n var sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = '<' + nodeName + s + '>';\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n var isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n var pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n } else if (vnode.children) {\n var hasLarge = pretty && ~s.indexOf('\\n');\n for (var i = 0; i < vnode.children.length; i++) {\n var child = vnode.children[i];\n if (child != null && child !== false) {\n var childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = _renderToString(child, opts, store, childSvgMode, css);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (var i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n } else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += '' + nodeName + '>';\n }\n\n return s;\n}\n\nfunction assign$1(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\nfunction getNodeProps$1(vnode) {\n var props = assign$1({}, vnode.attributes);\n props.children = vnode.children;\n\n var defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (var i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}\n\nvar n=function(t,r,u,e){for(var p=1;p\"===t?(a(), u=1):u&&(\"=\"===t?(u=4, r=e, e=\"\"):\"/\"===t?(a(), 3===u&&(s=s[0]), u=s, (s=s[0]).push(u,4), u=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(a(), u=2):e+=t);}return a(), s},r=\"function\"==typeof Map,u=r?new Map:{},e=r?function(n){var r=u.get(n);return r||u.set(n,r=t(n)), r}:function(n){for(var r=\"\",e=0;e1?r:r[0]}\n\nvar html = htm.bind(h);\n\nvar WeElement = Component;\nvar defineElement = define;\nfunction createRef() {\n return {};\n}\n\noptions.root.Omi = {\n h: h,\n createElement: h,\n cloneElement: cloneElement,\n createRef: createRef,\n Component: Component,\n render: render,\n rerender: rerender,\n options: options,\n WeElement: WeElement,\n define: define,\n rpx: rpx,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n getHost: getHost,\n renderToString: renderToString,\n tag: tag,\n merge: merge,\n html: html,\n htm: htm\n};\noptions.root.omi = options.root.Omi;\noptions.root.Omi.version = 'omio-2.2.1';\n\nvar omi = {\n h: h,\n createElement: h,\n cloneElement: cloneElement,\n createRef: createRef,\n Component: Component,\n render: render,\n rerender: rerender,\n options: options,\n WeElement: WeElement,\n define: define,\n rpx: rpx,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n getHost: getHost,\n renderToString: renderToString,\n tag: tag,\n merge: merge,\n html: html,\n htm: htm\n};\n\nexport default omi;\nexport { h, h as createElement, cloneElement, createRef, Component, render, rerender, options, WeElement, define, rpx, ModelView, defineElement, classNames, extractClass, getHost, renderToString, tag, merge, html, htm };\n//# sourceMappingURL=omi.esm.js.map\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/omio/dist/omi.esm.js","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/css-loader/lib/css-base.js","import { define, WeElement } from 'omi'\n\nimport './my-head'\nimport './my-content'\nimport './my-sidebar'\nimport './my-demo'\n\ndefine('my-frame', class extends WeElement {\n\n installed(){\n this.store.init()\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-frame.js","import { define, WeElement } from 'omi'\nimport logo from './omi-logo2019.svg'\n\ndefine('my-head', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position'\n ]\n\n toggleMenus = evt => {\n this.store.toogleSidebar()\n evt.stopPropagation()\n }\n\n hideSidebar = evt => {\n this.store.hideSidebar()\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-head/index.js","module.exports = __webpack_public_path__ + \"static/media/omi-logo2019.923166c3.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/omi-logo2019.svg\n// module id = 13\n// module chunks = 124 125","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAqklEQVRoQ+2WQQ6AMAgE4f+Pxg+oSTNbDXR7Z5UZQpvR/GTz/w838LdBG7ABSMAjBAHichvACGHAXANVVRCOtDwzb2E/GnADUv4R5xkQA9wWN3cLbUMmDrYBMdDluLkGfJEtD8N7wXkXWfsREk/Atri5W2gbMnGwDYiBLsfNNdB+jbqB5Wn2U0KM7KO4uVvoI4D4MzaAEcIAG4AAcbkNYIQwwAYgQFze3sAFU6MwMZGH3LoAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/menu.png\n// module id = 14\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/_index.css\n// module id = 15\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".head{\\n position:fixed;\\n height:60px;\\n line-height: 60px;\\n border-bottom: 1px solid #eee;\\n width:100%;\\n background-color:#24292e;\\n z-index:100;\\n top: 0;\\n}\\n\\nul,li{\\n display: inline-block;\\n}\\n\\n.logo_box{\\n width:100px;\\n display: inline-block;\\n text-align:center;\\n line-height: 60px;\\n}\\n\\n.menu a,.logo_box a{\\n display: inline-block;\\n height:60px;\\n color: white;\\n}\\n\\n.menu{\\n position: absolute;\\n right:20px;\\n}\\n\\n.menu li{\\n margin-left:15px;\\n}\\n\\n.logo_box a{\\n font-size: 34px;\\n font-weight: bold;\\n color: #00bff3;\\n padding: 0px 15px;\\n line-height: 60px;\\n cursor: pointer;\\n}\\n\\n.menu a:hover{\\n color: white;\\n}\\n\\n.m_menu{\\n position:fixed;\\n display:none;\\n cursor: pointer;\\n}\\n\\n.menu li{\\n display:inline-block;\\n}\\n\\n.logo{\\n width: 40px;\\n height: 40px;\\n margin-left: 10px;\\n margin-top: 10px;\\n cursor: pointer;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n\\n .logo_box{\\n display:inline-block;\\n }\\n\\n .logo{\\n display: none;\\n }\\n\\n .head{\\n text-align:center;\\n }\\n\\n .m_menu{\\n top:0;\\n left:0;\\n display:block;\\n width:50px;\\n height:50px;\\n padding-top: 6px;\\n }\\n\\n .m_menu img{\\n width:30px;\\n }\\n\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-head/_index.css\n// module id = 16\n// module chunks = 124 125","import { render } from 'omi'\nimport './assets/index.css'\nimport './elements/my-frame.js'\nimport Store from './store'\n\nrender(, '#root', new Store({ lan: 'en' }))\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","import { define, WeElement } from 'omi'\nimport '../my-footer'\n\ndefine('my-content', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'html'\n ]\n\n install() {\n this.store.myContent = this\n }\n\n installed() {\n this.initCodeStyle()\n }\n\n afterUpdate() {\n this.initCodeStyle()\n }\n\n touchEnd = () => {\n this.store.hideSidebar()\n }\n\n initCodeStyle() {\n let codes = document.querySelectorAll('code')\n\n let codesArr = Array.prototype.slice.call(codes);\n let codeHlNumArr = []\n codesArr.forEach(code => {\n let arr = code.className.match(/{([\\S\\s]*)}/)\n let pre = code.parentNode\n //bug!\n arr && pre.setAttribute('data-line', arr[1])\n if (code.className) {\n pre.className = code.className\n\n const temp = code.className.match(/language-\\w*/g)[0]\n if (temp) {\n code.innerHTML = Prism.highlight(code.innerText, Prism.languages[temp.split('-')[1]], temp.split('-')[1])\n }\n } else {\n let pre = code.parentNode\n code.className = 'language-markup'\n pre.className = 'language-markup'\n code.innerHTML = Prism.highlight(code.innerText, Prism.languages.markup, 'markup')\n }\n // let hllNums = null\n // if (arr) {\n // let numArr = arr[0].replace(/[{|}]/g, '').split(',')\n // hllNums = this._arrToNumber(numArr)\n // }\n //codeHlNumArr.push(hllNums)\n })\n\n // codesArr.forEach((code, index) => {\n // let newP = document.createElement('div')\n // newP.className = '_code-ctn'\n // let pre = code.parentNode\n // let ctn = pre.parentNode\n // if (pre.nodeName === 'PRE') {\n // ctn.insertBefore(newP, pre)\n\n // let hl = document.createElement('div')\n // hl.className = '_hl'\n // newP.appendChild(hl)\n // newP.appendChild(pre)\n // let nums = codeHlNumArr[index]\n\n // let max = Math.max.apply(null, nums)\n\n // let inner = ''\n // for (let i = 0; i <= max; i++) {\n // if (nums.indexOf(i) == -1) {\n // inner += '
'\n // } else {\n // inner += ''\n // }\n // }\n // hl.innerHTML = inner\n // }\n // })\n //fix line-highlight\n window.dispatchEvent(new Event('resize'));\n }\n\n _arrToNumber(numArr) {\n let arr = []\n numArr.forEach(item => {\n if (item.indexOf('-') !== -1) {\n const tempArr = item.split('-')\n const begin = Number(tempArr[0])\n const end = Number(tempArr[1])\n for (let i = begin; i < end + 1; i++) {\n arr.push(i)\n }\n } else {\n arr.push(Number(item))\n }\n })\n return arr\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-content/index.js","import { define, WeElement } from 'omi'\n\ndefine('my-footer', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position',\n 'menu'\n ]\n\n render() {\n const [\n position,\n menus\n ] = this.use\n const pre = this.store.getPre()\n const next = this.store.getNext()\n // console.log(pre,next)\n return (\n \n )\n }\n\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-footer/index.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-footer/_index.css\n// module id = 19\n// module chunks = 124 125","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\n} catch(e) {\n\t// This works if the window reference is available\n\tif(typeof window === \"object\")\n\t\tg = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n\n// WEBPACK FOOTER //\n// (webpack)/buildin/global.js","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".ft{\\n position: relative;\\n margin-top: 20px\\n}\\n\\n.pre{\\n position: absolute;\\n left:15px;\\n}\\n\\n.next{\\n position: absolute;\\n right: 15px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-footer/_index.css\n// module id = 20\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-content/_index.css\n// module id = 21\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".content{\\n margin-top: 60px;\\n margin-bottom: 30px;\\n margin-left: 260px;\\n padding: 1px 10px 10px 20px;\\n color: #24292e;\\n /* overflow: hidden; */\\n max-width: 900px;\\n}\\n\\nh3{\\n color:#444444;\\n}\\n\\npre{\\n border: 1px solid #eee;\\n width: 100%;\\n}\\nli{\\n text-indent: 20px;\\n list-style:disc inside ;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n .content{\\n margin-left: 0;\\n border-left: none;\\n padding: 1px 10px 10px 10px;\\n }\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-content/_index.css\n// module id = 22\n// module chunks = 124 125","import { define, WeElement } from 'omi'\nimport '../my-list'\n\ndefine('my-sidebar', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'menus',\n 'sideBarShow',\n 'lan'\n ]\n\n render() {\n const [menus, sideBarShow, lan] = this.use\n\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-sidebar/index.js","import { define, WeElement } from 'omi'\n\ndefine('my-list', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position'\n ]\n\n render(props) {\n const [position] = this.use\n\n return (\n \n - {props.menu.title}
\n {props.menu.list &&\n props.menu.list.map((item, subIndex) => {\n const cls = position[0] === props.index && position[1] === subIndex ? { class: 'current' } : null\n return - \n \n {item.name}\n \n
\n })}\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-list/index.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-list/_index.css\n// module id = 25\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"li.title{\\n font-size: 14px;\\n font-weight: bold;\\n margin-bottom:10px;\\n margin-top:10px;\\n text-indent: 23px;\\n}\\nli{\\n margin-bottom:1px;\\n text-indent: 33px;\\n}\\nli a{\\n display:block;\\n font-size:14px;\\n height:30px;\\n line-height:30px;\\n color: black;\\n background-color:#eee;\\n}\\nli a.current,li a.current:hover{\\n background-color:#24292e;\\n color: white;\\n cursor: default;\\n}\\nli a:hover{\\n background-color:#f0f8ff;\\n}\\n\\n\\nul,li{\\n list-style:none;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-list/_index.css\n// module id = 26\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-sidebar/_index.css\n// module id = 27\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"@media only screen and (max-width: 768px) {\\n .list{\\n transform: translateX(-100%);\\n background-color:white;\\n left:0 !important;\\n -moz-transition: all .6s ease;\\n -o-transition: all .6s ease;\\n -webkit-transition: all .6s ease;\\n transition: all .6s ease;\\n width: 70% !important;\\n z-index: 100000;\\n border-right: none !important;\\n }\\n\\n .list.show {\\n -moz-transform: translateX(0%) translateZ(0);\\n -ms-transform: translateX(0%) translateZ(0);\\n -o-transform: translateX(0%) translateZ(0);\\n -webkit-transform: translateX(0%) translateZ(0);\\n transform: translateX(0%) translateZ(0);\\n }\\n}\\n\\n.list{\\n width: 261px;\\n text-indent: 20px;\\n border-right: 1px solid #eee;\\n overflow-x: hidden;\\n overflow-y: auto;\\n position:fixed;\\n top:60px;\\n background-color: white;\\n height: 100%;\\n border-right: 1px solid #ccc;\\n padding-bottom: 100px;\\n}\\n.version{\\n height:20px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-sidebar/_index.css\n// module id = 28\n// module chunks = 124 125","import { define, WeElement } from 'omi'\nimport css from './_index.css'\n\ndefine('my-demo', class extends WeElement {\n install() {\n this.store.myDemo = this\n if (this.checkPc())\n this.show = true\n else\n this.show = false\n this.demo = this.store.demo\n }\n\n css() {\n return css\n }\n\n checkPc() {\n let userAgentInfo = navigator.userAgent\n let mp = [\"Android\", \"iPhone\", \"SymbianOS\", \"Windows Phone\", \"iPad\", \"iPod\"]\n for (let i = 0; i < mp.length; i++)\n if (userAgentInfo.indexOf(mp[i]) > 0)\n return false\n return true\n }\n\n toggle = () => {\n this.show = !this.show\n this.update()\n }\n\n render() {\n if (!this.demo) return\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-demo/index.js","'use strict';\n\nvar asap = require('asap/raw');\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/core.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-demo/_index.css\n// module id = 30\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"iframe{\\n width: 750px;\\n height: 100%;\\n top: 60px;\\n right: 0;\\n position: fixed;\\n border: none;\\n z-index: 9999;\\n border-left: 2px solid #24292E; \\n min-width: 320px;\\n background-color: white;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n iframe{\\n width: 100%;\\n min-width: 100%;\\n }\\n}\\n\\n.icon{\\n position: fixed;\\n right: 50px;\\n bottom: 50px;\\n cursor: pointer;\\n width:50px;\\n height:50px;\\n background-color: rgb(96, 101, 114);\\n text-align: center;\\n height: 50px;\\n line-height: 56px;\\n border-radius: 50%;\\n z-index: 10000;\\n \\n}\\n\\nsvg{\\n transition: left .5s ease;\\n left:0;\\n color: white;\\n position: relative;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-demo/_index.css\n// module id = 31\n// module chunks = 124 125","import config from '../docs/config.js'\nimport 'omi-router'\n\nclass Store {\n constructor(data) {\n this.data = {\n position: [-1, -1],\n menus: config.menus,\n lan: data.lan,\n html: '',\n sideBarShow: window.innerWidth > 768\n }\n let id = 0\n this.map = {}\n this.positionMap = {}\n config.menus[this.data.lan].forEach((menu, index) => {\n menu.list.forEach((item, subIndex) => {\n item.id = id++\n item.position = [index, subIndex]\n this.map[item.id] = item\n item.index = index\n item.subIndex = subIndex\n this.positionMap[index+'-'+subIndex] = item\n })\n })\n this.preIndex = 0\n this.preSubIndex = 0\n }\n\n getNext(){\n const item = this.positionMap[this.data.position.join('-')]\n if(item){\n return this.map[item.id+1]\n }\n }\n\n getPre(){\n const item = this.positionMap[this.data.position.join('-')]\n if(item){\n return this.map[item.id-1]\n }\n }\n\n init() {\n this.remarkable = new Remarkable({ html: true })\n if (location.hash === \"\") {\n this.data.position = [0, 0]\n this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md, this.data.lan, m => {\n this.data.html = this.remarkable.render(m)\n })\n }\n this.demo = this.data.menus[this.data.lan][0].list[0].demo\n this.initRouter()\n }\n\n toogleSidebar() {\n this.data.sideBarShow = !this.data.sideBarShow\n }\n\n hideSidebar() {\n this.data.sideBarShow = false\n }\n\n initRouter() {\n const menus = this.data.menus[this.data.lan]\n menus.forEach(item => {\n item.list.forEach(subItem => {\n route('/' + subItem.md, evt => {\n menus[this.preIndex].list[this.preSubIndex].selected = false\n this.preIndex = evt.query.index\n this.preSubIndex = evt.query.subIndex\n this.data.position = [Number(evt.query.index), Number(evt.query.subIndex)]\n this.data.sideBarShow = false\n this.myDemo.demo = menus[this.preIndex].list[this.preSubIndex].demo\n this.myDemo.update()\n\n this.getMarkDown(subItem.md, this.data.lan, m => {\n this.data.html = this.remarkable.render(m)\n document.body.scrollTop = 0\n document.documentElement.scrollTop = 0\n })\n })\n })\n })\n }\n\n getMarkDown(name, lan, callback) {\n import('../docs/' + lan + '/' + name + '.md').then(m => {\n callback(m)\n })\n }\n}\n\nexport default Store\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","const config = {\n menus: {\n 'zh-cn': [\n {\n title: 'Omim',\n list: [\n { name: '简介', md: 'introduction' }\n ]\n },\n {\n title: '基础',\n list: [\n { name: 'Button 按钮', md: 'button', demo: './repl/button.html' },\n { name: 'Fab 动作按钮', md: 'fab', demo: './repl/fab.html' },\n { name: 'Icon 图标', md: 'icon', demo: './repl/icon.html' },\n { name: 'IconButton 图标按钮', md: 'icon-button', demo: './repl/icon-button.html' },\n { name: 'Avatar 头像', md: 'avatar', demo: './repl/avatar.html' },\n { name: 'Loading 加载', md: 'loading', demo: './repl/loading.html' },\n { name: 'Breadcrumb 面包屑', md: 'breadcrumb', demo: './repl/breadcrumb.html' }\n ]\n },\n {\n title: '公用',\n list: [\n { name: 'Transition 过渡', md: 'transition', demo: 'https://tencent.github.io/omi/packages/omim/demos/transition/index.html' },\n { name: 'To 运动', md: 'to', demo: 'https://tencent.github.io/omi/packages/omim/demos/to/index.html' },\n { name: 'Theme 主题', md: 'theme', demo: 'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html' },\n { name: 'Typography 排版', md: 'typography', demo: './repl/typography.html' },\n { name: 'Layout Grid 网格布局', md: 'layout-grid', demo: 'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html' }\n ]\n },\n {\n title: '布局',\n list: [\n { name: 'Row 行', md: 'row', demo: './repl/row.html' },\n\n { name: 'Elevation 高度盒', md: 'elevation', demo: './repl/elevation.html' },\n { name: 'Image List 图片列表', md: 'image-list', demo: './repl/image-list.html' }\n ]\n },\n {\n title: '导航',\n list: [\n { name: 'Menu 菜单', md: 'menu', demo: './repl/menu.html' },\n { name: 'Drawer 抽屉', md: 'drawer', demo: 'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html' },\n { name: 'Tab 标签切换', md: 'tab', demo: './repl/tab.html' },\n { name: 'Nav 导航', md: 'nav', demo: './repl/nav.html' },\n { name: 'Pagination 分页', md: 'pagination', demo: 'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html' },\n { name: 'Top App Bar 顶部栏', md: 'top-app-bar', demo: 'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html' }\n ]\n },\n {\n title: '操作反馈',\n list: [\n {name: 'Dialog 对话框', md: 'dialog', demo: './repl/dialog.html'},\n {name: 'Snackbar 提醒', md: 'snackbar', demo: './repl/snackbar.html'},\n {name: 'ActionSheet 行动表', md: 'action-sheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},\n {name: 'ColorPicker 颜色选择机', md: 'color-picker', demo: './repl/color-picker.html'},\n { name: 'Popover 提示', md: 'popover', demo: 'https://tencent.github.io/omi/packages/omim/demos/popover/index.html' },\n { name: 'Toast 弹出提示', md: 'toast', demo: 'https://tencent.github.io/omi/packages/omim/demos/toast/index.html' }\n ]\n },\n {\n title: '表单',\n list: [\n { name: 'Text Field 文本输入', md: 'text-field', demo: './repl/text-field.html' },\n { name: 'Select 下拉选择', md: 'select', demo: './repl/select.html' },\n { name: 'Checkbox 复选框', md: 'checkbox', demo: './repl/checkbox.html' },\n { name: 'Radio 单选框', md: 'radio', demo: './repl/radio.html' },\n { name: 'Switch 切换', md: 'switch', demo: './repl/switch.html' },\n { name: 'DateTimePicker 时间日期选择器', md: 'date-time-picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html' },\n { name: 'Picker 原生选择器', md: 'picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html' },\n { name: 'TransferList 穿梭列表', md: 'transfer-list', demo: 'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html' }\n ]\n },\n {\n title: '数据',\n list: [\n { name: 'List 列表', md: 'list', demo: './repl/list.html' },\n { name: 'Table 表格', md: 'table', demo: 'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html' },\n { name: 'Linear Progress 线性进度', md: 'linear-progress', demo: './repl/linear-progress.html' },\n { name: 'Slider 滑块', md: 'slider', demo: './repl/slider.html' },\n { name: 'Chips 标签', md: 'chips', demo: './repl/chips.html' },\n { name: 'Tag 标签', md: 'tag', demo: './repl/tag.html' },\n { name: 'Badge 徽章', md: 'badge', demo: './repl/badge.html' },\n { name: 'Tree 树', md: 'tree', demo: './repl/tree.html' },\n { name: 'Card 卡片', md: 'card', demo: './repl/card.html' },\n { name: 'Path Progress 路径进度', md: 'path-progress', demo: './repl/path-progress.html' },\n { name: 'Paper 纸片', md: 'paper', demo: './repl/paper.html' },\n { name: 'Step 步骤', md: 'step', demo: './repl/step.html' },\n { name: 'Simple Card 简单卡片', md: 'simple-card', demo: './repl/simple-card.html' },\n { name: 'Editor 富文本编辑器', md: 'editor', demo: 'https://tencent.github.io/omi/packages/omim/demos/editor/index.html' },\n { name: 'Spreadsheet 电子表格', md: 'spreadsheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html' },\n { name: 'Rate 评分', md: 'rate', demo: 'https://tencent.github.io/omi/packages/omim/demos/rate/index.html' }\n ]\n },\n {\n title: '图表',\n list: [\n { name: '简介', md: 'introduction-chart' },\n { name: '柱状图', md: 'bar', demo: './repl/bar.html' },\n { name: '线状图', md: 'line', demo: './repl/line.html' },\n { name: '散点图', md: 'scatter', demo: './repl/scatter.html' },\n { name: '饼图', md: 'pie', demo: './repl/pie.html' },\n { name: '环状图', md: 'doughnut', demo: './repl/doughnut.html' },\n { name: '雷达图', md: 'radar', demo: './repl/radar.html' },\n { name: '极区图', md: 'polar-area', demo: './repl/polar-area.html' },\n { name: '气泡图', md: 'bubble', demo: './repl/bubble.html' },\n { name: '合成图', md: 'bar-line', demo: './repl/bar-line.html' }\n ]\n }\n ],\n en: [\n {\n title: 'Omim',\n list: [\n { name: 'Introduction', md: 'introduction' }\n ]\n },\n {\n title: 'Base',\n list: [\n { name: 'Button', md: 'button', demo: './repl/button.html' },\n { name: 'Fab', md: 'fab', demo: './repl/fab.html' },\n { name: 'Icon', md: 'icon', demo: './repl/icon.html' },\n { name: 'IconButton', md: 'icon-button', demo: './repl/icon-button.html' },\n { name: 'Avatar', md: 'avatar', demo: './repl/avatar.html' },\n { name: 'Loading', md: 'loading', demo: './repl/loading.html' },\n { name: 'Breadcrumb', md: 'breadcrumb', demo: './repl/breadcrumb.html' }\n ]\n },\n {\n title: 'Util',\n list: [\n { name: 'Transition', md: 'transition', demo: 'https://tencent.github.io/omi/packages/omim/demos/transition/index.html' },\n { name: 'To', md: 'to', demo: 'https://tencent.github.io/omi/packages/omim/demos/to/index.html' },\n { name: 'Theme', md: 'theme', demo: 'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html' },\n { name: 'Typography', md: 'typography', demo: './repl/typography.html' },\n { name: 'Layout Grid', md: 'layout-grid', demo: 'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html' }\n ]\n },\n {\n title: 'Layout',\n list: [\n { name: 'Row', md: 'row', demo: './repl/row.html' },\n { name: 'Elevation', md: 'elevation', demo: './repl/elevation.html' },\n { name: 'Image List', md: 'image-list', demo: './repl/image-list.html' }\n ]\n },\n {\n title: 'Navigation',\n list: [\n { name: 'Menu', md: 'menu', demo: './repl/menu.html' },\n { name: 'Drawer', md: 'drawer', demo: 'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html' },\n { name: 'Tab', md: 'tab', demo: './repl/tab.html' },\n { name: 'Nav', md: 'nav', demo: './repl/nav.html' },\n { name: 'Pagination', md: 'pagination', demo: 'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html' },\n { name: 'Top App Bar', md: 'top-app-bar', demo: 'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html' }\n ]\n },\n {\n title: 'Operational Feedback',\n list: [\n {name: 'Dialog', md: 'dialog', demo: './repl/dialog.html'},\n {name: 'Snackbar', md: 'snackbar', demo: './repl/snackbar.html'},\n {name: 'ActionSheet', md: 'action-sheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},\n {name: 'ColorPicker', md: 'color-picker', demo: './repl/color-picker.html'},\n { name: 'Popover', md: 'popover', demo: 'https://tencent.github.io/omi/packages/omim/demos/popover/index.html' },\n { name: 'Toast', md: 'toast', demo: 'https://tencent.github.io/omi/packages/omim/demos/toast/index.html' }\n ]\n },\n {\n title: 'Form',\n list: [\n { name: 'Text Field', md: 'text-field', demo: './repl/text-field.html' },\n { name: 'Select', md: 'select', demo: './repl/select.html' },\n { name: 'Checkbox', md: 'checkbox', demo: './repl/checkbox.html' },\n { name: 'Radio', md: 'radio', demo: './repl/radio.html' },\n { name: 'Switch', md: 'switch', demo: './repl/switch.html' },\n { name: 'DateTimePicker', md: 'date-time-picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html' },\n { name: 'Picker', md: 'picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html' },\n { name: 'TransferList', md: 'transfer-list', demo: 'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html' }\n ]\n },\n {\n title: 'Data',\n list: [\n { name: 'List', md: 'list', demo: './repl/list.html' },\n { name: 'Table', md: 'table', demo: 'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html' },\n { name: 'Linear Progress', md: 'linear-progress', demo: './repl/linear-progress.html' },\n { name: 'Slider', md: 'slider', demo: './repl/slider.html' },\n { name: 'Chips', md: 'chips', demo: './repl/chips.html' },\n { name: 'Tag', md: 'tag', demo: './repl/tag.html' },\n { name: 'Badge', md: 'badge', demo: './repl/badge.html' },\n { name: 'Tree', md: 'tree', demo: './repl/tree.html' },\n { name: 'Card', md: 'card', demo: './repl/card.html' },\n { name: 'Path Progress', md: 'path-progress', demo: './repl/path-progress.html' },\n { name: 'Paper', md: 'paper', demo: './repl/paper.html' },\n { name: 'Step', md: 'step', demo: './repl/step.html' },\n { name: 'Simple Card', md: 'simple-card', demo: './repl/simple-card.html' },\n { name: 'Editor', md: 'editor', demo: 'https://tencent.github.io/omi/packages/omim/demos/editor/index.html' },\n { name: 'Spreadsheet', md: 'spreadsheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html' },\n { name: 'Rate', md: 'rate', demo: 'https://tencent.github.io/omi/packages/omim/demos/rate/index.html' }\n ]\n },\n {\n title: 'Chart',\n list: [\n { name: 'Introduction', md: 'introduction-chart' },\n { name: 'Bar', md: 'bar', demo: './repl/bar.html' },\n { name: 'Line', md: 'line', demo: './repl/line.html' },\n { name: 'Scatter', md: 'scatter', demo: './repl/scatter.html' },\n { name: 'Pie', md: 'pie', demo: './repl/pie.html' },\n { name: 'Doughnut', md: 'doughnut', demo: './repl/doughnut.html' },\n { name: 'Radar', md: 'radar', demo: './repl/radar.html' },\n { name: 'PolarArea', md: 'polar-area', demo: './repl/polar-area.html' },\n { name: 'Bubble', md: 'bubble', demo: './repl/bubble.html' },\n { name: 'BarLine', md: 'bar-line', demo: './repl/bar-line.html' }\n\n\n ]\n }\n ]\n }\n}\n\nexport default config\n\n\n\n// WEBPACK FOOTER //\n// ./src/docs/config.js","/*!\n * omi-router v2.0.8 by dntzhang\n * Router for Omi.\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar p2r = require('path-to-regexp')\nvar mapping = {}\nvar root = getGlobal()\n\nroot.route = route\nroot.route.params = null\nroot.historyLength = 0\n\nroot.route.to = function (path, data) {\n root.route._routeByTo = true\n root.route.data = data\n if (path[0] === '#') {\n location.hash = path\n } else {\n location.hash = '#' + path\n }\n}\n\nwindow.addEventListener('hashchange', change)\n\nfunction change(evt) {\n var byNative = false\n //need to fix a line by omi-link\n if(window.history.length === root.historyLength && !root.route._routeByTo){\n //keep alive mode\n byNative = true\n }\n root.route._routeByTo = false\n root.historyLength = window.history.length\n var prevent = false\n if (evt.type === 'hashchange' && root.route.before) {\n prevent = root.route.before(evt) === false\n }\n if (prevent) return\n var path = window.location.hash.replace('#', '')\n var notFound = true\n Object.keys(mapping).every(function(key){\n var toArr = path.split('?')[0].match(mapping[key].reg)\n if (toArr) {\n var pathArr = key.match(mapping[key].reg)\n root.route.params = getParams(toArr, pathArr)\n root.route.query = getUrlParams(path)\n mapping[key].callback({\n params: root.route.params,\n query: getUrlParams(path),\n data: root.route.data,\n byNative: byNative\n })\n root.route.data = null\n notFound = false\n return false\n }\n return true\n })\n\n if (notFound) {\n mapping['*'] && mapping['*'].callback({ byNative: byNative })\n }\n\n if (evt.type === 'hashchange' && root.route.after) {\n root.route.after(evt)\n }\n}\n\ndocument.addEventListener('DOMContentLoaded', change)\n\nfunction getParams(toArr, pathArr) {\n var params = {}\n toArr.forEach(function (item, index) {\n if (index > 0) {\n params[pathArr[index].replace(':', '')] = item\n }\n })\n return params\n}\n\n\nexport default function route(path, callback) {\n mapping[path] = {\n callback: callback,\n reg: p2r(path)\n }\n}\n\nfunction getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n return (\n self ||\n window ||\n global ||\n (function () {\n return this\n })()\n )\n }\n return global\n}\n\nfunction getUrlParams(url) {\n url = url.replace(/#.*$/, '')\n var queryArray = url.split(/[?&]/).slice(1)\n var i, args = {}\n for (i = 0; i < queryArray.length; i++) {\n var match = queryArray[i].match(/([^=]+)=([^=]+)/)\n if (match !== null) {\n args[match[1]] = decodeURIComponent(match[2])\n }\n }\n return args\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/omi-router/index.js","/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * Default configs.\n */\nvar DEFAULT_DELIMITER = '/'\nvar DEFAULT_DELIMITERS = './'\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \":test(\\\\d+)?\" => [\"test\", \"\\d+\", undefined, \"?\"]\n // \"(\\\\d+)\" => [undefined, undefined, \"\\d+\", undefined]\n '(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = (options && options.delimiter) || DEFAULT_DELIMITER\n var delimiters = (options && options.delimiters) || DEFAULT_DELIMITERS\n var pathEscaped = false\n var res\n\n while ((res = PATH_REGEXP.exec(str)) !== null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n pathEscaped = true\n continue\n }\n\n var prev = ''\n var next = str[index]\n var name = res[2]\n var capture = res[3]\n var group = res[4]\n var modifier = res[5]\n\n if (!pathEscaped && path.length) {\n var k = path.length - 1\n\n if (delimiters.indexOf(path[k]) > -1) {\n prev = path[k]\n path = path.slice(0, k)\n }\n }\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n pathEscaped = false\n }\n\n var partial = prev !== '' && next !== undefined && next !== prev\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = prev || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prev,\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n pattern: pattern ? escapeGroup(pattern) : '[^' + escapeString(delimiter) + ']+?'\n })\n }\n\n // Push any remaining characters.\n if (path || index < str.length) {\n tokens.push(path + str.substr(index))\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (data, options) {\n var path = ''\n var encode = (options && options.encode) || encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n continue\n }\n\n var value = data ? data[token.name] : undefined\n var segment\n\n if (Array.isArray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but got array')\n }\n\n if (value.length === 0) {\n if (token.optional) continue\n\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j], token)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\"')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n segment = encode(String(value), token)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but got \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n continue\n }\n\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) path += token.prefix\n\n continue\n }\n\n throw new TypeError('Expected \"' + token.name + '\" to be ' + (token.repeat ? 'an array' : 'a string'))\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$/()])/g, '\\\\$1')\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {Array=} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n if (!keys) return path\n\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n pattern: null\n })\n }\n }\n\n return path\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n return new RegExp('(?:' + parts.join('|') + ')', flags(options))\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n options = options || {}\n\n var strict = options.strict\n var start = options.start !== false\n var end = options.end !== false\n var delimiter = escapeString(options.delimiter || DEFAULT_DELIMITER)\n var delimiters = options.delimiters || DEFAULT_DELIMITERS\n var endsWith = [].concat(options.endsWith || []).map(escapeString).concat('$').join('|')\n var route = start ? '^' : ''\n var isEndDelimited = tokens.length === 0\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n isEndDelimited = i === tokens.length - 1 && delimiters.indexOf(token[token.length - 1]) > -1\n } else {\n var capture = token.repeat\n ? '(?:' + token.pattern + ')(?:' + escapeString(token.delimiter) + '(?:' + token.pattern + '))*'\n : token.pattern\n\n if (keys) keys.push(token)\n\n if (token.optional) {\n if (token.partial) {\n route += escapeString(token.prefix) + '(' + capture + ')?'\n } else {\n route += '(?:' + escapeString(token.prefix) + '(' + capture + '))?'\n }\n } else {\n route += escapeString(token.prefix) + '(' + capture + ')'\n }\n }\n }\n\n if (end) {\n if (!strict) route += '(?:' + delimiter + ')?'\n\n route += endsWith === '$' ? '$' : '(?=' + endsWith + ')'\n } else {\n if (!strict) route += '(?:' + delimiter + '(?=' + endsWith + '))?'\n if (!isEndDelimited) route += '(?=' + delimiter + '|' + endsWith + ')'\n }\n\n return new RegExp(route, flags(options))\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (path instanceof RegExp) {\n return regexpToRegexp(path, keys)\n }\n\n if (Array.isArray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), keys, options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), keys, options)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/path-to-regexp/index.js","var map = {\n\t\"./en/action-sheet.md\": [\n\t\t37,\n\t\t123\n\t],\n\t\"./en/avatar.md\": [\n\t\t38,\n\t\t122\n\t],\n\t\"./en/badge.md\": [\n\t\t39,\n\t\t121\n\t],\n\t\"./en/bar-line.md\": [\n\t\t40,\n\t\t120\n\t],\n\t\"./en/bar.md\": [\n\t\t41,\n\t\t119\n\t],\n\t\"./en/breadcrumb.md\": [\n\t\t42,\n\t\t118\n\t],\n\t\"./en/bubble.md\": [\n\t\t43,\n\t\t117\n\t],\n\t\"./en/button.md\": [\n\t\t44,\n\t\t116\n\t],\n\t\"./en/card.md\": [\n\t\t45,\n\t\t115\n\t],\n\t\"./en/checkbox.md\": [\n\t\t46,\n\t\t114\n\t],\n\t\"./en/chips.md\": [\n\t\t47,\n\t\t113\n\t],\n\t\"./en/color-picker.md\": [\n\t\t48,\n\t\t112\n\t],\n\t\"./en/date-time-picker.md\": [\n\t\t49,\n\t\t111\n\t],\n\t\"./en/dialog.md\": [\n\t\t50,\n\t\t110\n\t],\n\t\"./en/doughnut.md\": [\n\t\t51,\n\t\t109\n\t],\n\t\"./en/drawer.md\": [\n\t\t52,\n\t\t108\n\t],\n\t\"./en/editor.md\": [\n\t\t53,\n\t\t107\n\t],\n\t\"./en/elevation.md\": [\n\t\t54,\n\t\t106\n\t],\n\t\"./en/fab.md\": [\n\t\t55,\n\t\t105\n\t],\n\t\"./en/icon-button.md\": [\n\t\t56,\n\t\t104\n\t],\n\t\"./en/icon.md\": [\n\t\t57,\n\t\t103\n\t],\n\t\"./en/image-list.md\": [\n\t\t58,\n\t\t102\n\t],\n\t\"./en/introduction-chart.md\": [\n\t\t59,\n\t\t101\n\t],\n\t\"./en/introduction.md\": [\n\t\t60,\n\t\t100\n\t],\n\t\"./en/layout-grid.md\": [\n\t\t61,\n\t\t99\n\t],\n\t\"./en/line.md\": [\n\t\t62,\n\t\t98\n\t],\n\t\"./en/linear-progress.md\": [\n\t\t63,\n\t\t97\n\t],\n\t\"./en/list.md\": [\n\t\t64,\n\t\t96\n\t],\n\t\"./en/loading.md\": [\n\t\t65,\n\t\t95\n\t],\n\t\"./en/menu.md\": [\n\t\t66,\n\t\t94\n\t],\n\t\"./en/nav.md\": [\n\t\t67,\n\t\t93\n\t],\n\t\"./en/pagination.md\": [\n\t\t68,\n\t\t92\n\t],\n\t\"./en/paper.md\": [\n\t\t69,\n\t\t91\n\t],\n\t\"./en/path-progress.md\": [\n\t\t70,\n\t\t90\n\t],\n\t\"./en/picker.md\": [\n\t\t71,\n\t\t89\n\t],\n\t\"./en/pie.md\": [\n\t\t72,\n\t\t88\n\t],\n\t\"./en/polar-area.md\": [\n\t\t73,\n\t\t87\n\t],\n\t\"./en/popover.md\": [\n\t\t74,\n\t\t86\n\t],\n\t\"./en/radar.md\": [\n\t\t75,\n\t\t85\n\t],\n\t\"./en/radio.md\": [\n\t\t76,\n\t\t84\n\t],\n\t\"./en/rate.md\": [\n\t\t77,\n\t\t83\n\t],\n\t\"./en/row.md\": [\n\t\t78,\n\t\t82\n\t],\n\t\"./en/scatter.md\": [\n\t\t79,\n\t\t81\n\t],\n\t\"./en/select.md\": [\n\t\t80,\n\t\t80\n\t],\n\t\"./en/simple-card.md\": [\n\t\t81,\n\t\t79\n\t],\n\t\"./en/slider.md\": [\n\t\t82,\n\t\t78\n\t],\n\t\"./en/snackbar.md\": [\n\t\t83,\n\t\t77\n\t],\n\t\"./en/spreadsheet.md\": [\n\t\t84,\n\t\t76\n\t],\n\t\"./en/step.md\": [\n\t\t85,\n\t\t75\n\t],\n\t\"./en/switch.md\": [\n\t\t86,\n\t\t74\n\t],\n\t\"./en/tab.md\": [\n\t\t87,\n\t\t73\n\t],\n\t\"./en/table.md\": [\n\t\t88,\n\t\t72\n\t],\n\t\"./en/tag.md\": [\n\t\t89,\n\t\t71\n\t],\n\t\"./en/text-field.md\": [\n\t\t90,\n\t\t70\n\t],\n\t\"./en/theme.md\": [\n\t\t91,\n\t\t69\n\t],\n\t\"./en/to.md\": [\n\t\t92,\n\t\t68\n\t],\n\t\"./en/toast.md\": [\n\t\t93,\n\t\t67\n\t],\n\t\"./en/top-app-bar.md\": [\n\t\t94,\n\t\t66\n\t],\n\t\"./en/transfer-list.md\": [\n\t\t95,\n\t\t65\n\t],\n\t\"./en/transition.md\": [\n\t\t96,\n\t\t64\n\t],\n\t\"./en/tree.md\": [\n\t\t97,\n\t\t63\n\t],\n\t\"./en/typography.md\": [\n\t\t98,\n\t\t62\n\t],\n\t\"./zh-cn/action-sheet.md\": [\n\t\t99,\n\t\t61\n\t],\n\t\"./zh-cn/avatar.md\": [\n\t\t100,\n\t\t60\n\t],\n\t\"./zh-cn/badge.md\": [\n\t\t101,\n\t\t59\n\t],\n\t\"./zh-cn/bar-line.md\": [\n\t\t102,\n\t\t58\n\t],\n\t\"./zh-cn/bar.md\": [\n\t\t103,\n\t\t57\n\t],\n\t\"./zh-cn/breadcrumb.md\": [\n\t\t104,\n\t\t56\n\t],\n\t\"./zh-cn/bubble.md\": [\n\t\t105,\n\t\t55\n\t],\n\t\"./zh-cn/button.md\": [\n\t\t106,\n\t\t54\n\t],\n\t\"./zh-cn/card.md\": [\n\t\t107,\n\t\t53\n\t],\n\t\"./zh-cn/checkbox.md\": [\n\t\t108,\n\t\t52\n\t],\n\t\"./zh-cn/chips.md\": [\n\t\t109,\n\t\t51\n\t],\n\t\"./zh-cn/color-picker.md\": [\n\t\t110,\n\t\t50\n\t],\n\t\"./zh-cn/date-time-picker.md\": [\n\t\t111,\n\t\t49\n\t],\n\t\"./zh-cn/dialog.md\": [\n\t\t112,\n\t\t48\n\t],\n\t\"./zh-cn/doughnut.md\": [\n\t\t113,\n\t\t47\n\t],\n\t\"./zh-cn/drawer.md\": [\n\t\t114,\n\t\t46\n\t],\n\t\"./zh-cn/editor.md\": [\n\t\t115,\n\t\t45\n\t],\n\t\"./zh-cn/elevation.md\": [\n\t\t116,\n\t\t44\n\t],\n\t\"./zh-cn/fab.md\": [\n\t\t117,\n\t\t43\n\t],\n\t\"./zh-cn/icon-button.md\": [\n\t\t118,\n\t\t42\n\t],\n\t\"./zh-cn/icon.md\": [\n\t\t119,\n\t\t41\n\t],\n\t\"./zh-cn/image-list.md\": [\n\t\t120,\n\t\t40\n\t],\n\t\"./zh-cn/introduction-chart.md\": [\n\t\t121,\n\t\t39\n\t],\n\t\"./zh-cn/introduction.md\": [\n\t\t122,\n\t\t38\n\t],\n\t\"./zh-cn/layout-grid.md\": [\n\t\t123,\n\t\t37\n\t],\n\t\"./zh-cn/line.md\": [\n\t\t124,\n\t\t36\n\t],\n\t\"./zh-cn/linear-progress.md\": [\n\t\t125,\n\t\t35\n\t],\n\t\"./zh-cn/list.md\": [\n\t\t126,\n\t\t34\n\t],\n\t\"./zh-cn/loading.md\": [\n\t\t127,\n\t\t33\n\t],\n\t\"./zh-cn/menu.md\": [\n\t\t128,\n\t\t32\n\t],\n\t\"./zh-cn/nav.md\": [\n\t\t129,\n\t\t31\n\t],\n\t\"./zh-cn/pagination.md\": [\n\t\t130,\n\t\t30\n\t],\n\t\"./zh-cn/paper.md\": [\n\t\t131,\n\t\t29\n\t],\n\t\"./zh-cn/path-progress.md\": [\n\t\t132,\n\t\t28\n\t],\n\t\"./zh-cn/picker.md\": [\n\t\t133,\n\t\t27\n\t],\n\t\"./zh-cn/pie.md\": [\n\t\t134,\n\t\t26\n\t],\n\t\"./zh-cn/polar-area.md\": [\n\t\t135,\n\t\t25\n\t],\n\t\"./zh-cn/popover.md\": [\n\t\t136,\n\t\t24\n\t],\n\t\"./zh-cn/radar.md\": [\n\t\t137,\n\t\t23\n\t],\n\t\"./zh-cn/radio.md\": [\n\t\t138,\n\t\t22\n\t],\n\t\"./zh-cn/rate.md\": [\n\t\t139,\n\t\t21\n\t],\n\t\"./zh-cn/row.md\": [\n\t\t140,\n\t\t20\n\t],\n\t\"./zh-cn/scatter.md\": [\n\t\t141,\n\t\t19\n\t],\n\t\"./zh-cn/select.md\": [\n\t\t142,\n\t\t18\n\t],\n\t\"./zh-cn/simple-card.md\": [\n\t\t143,\n\t\t17\n\t],\n\t\"./zh-cn/slider.md\": [\n\t\t144,\n\t\t16\n\t],\n\t\"./zh-cn/snackbar.md\": [\n\t\t145,\n\t\t15\n\t],\n\t\"./zh-cn/spreadsheet.md\": [\n\t\t146,\n\t\t14\n\t],\n\t\"./zh-cn/step.md\": [\n\t\t147,\n\t\t13\n\t],\n\t\"./zh-cn/switch.md\": [\n\t\t148,\n\t\t12\n\t],\n\t\"./zh-cn/tab.md\": [\n\t\t149,\n\t\t11\n\t],\n\t\"./zh-cn/table.md\": [\n\t\t150,\n\t\t10\n\t],\n\t\"./zh-cn/tag.md\": [\n\t\t151,\n\t\t9\n\t],\n\t\"./zh-cn/text-field.md\": [\n\t\t152,\n\t\t8\n\t],\n\t\"./zh-cn/theme.md\": [\n\t\t153,\n\t\t7\n\t],\n\t\"./zh-cn/to.md\": [\n\t\t154,\n\t\t6\n\t],\n\t\"./zh-cn/toast.md\": [\n\t\t155,\n\t\t5\n\t],\n\t\"./zh-cn/top-app-bar.md\": [\n\t\t156,\n\t\t4\n\t],\n\t\"./zh-cn/transfer-list.md\": [\n\t\t157,\n\t\t3\n\t],\n\t\"./zh-cn/transition.md\": [\n\t\t158,\n\t\t2\n\t],\n\t\"./zh-cn/tree.md\": [\n\t\t159,\n\t\t1\n\t],\n\t\"./zh-cn/typography.md\": [\n\t\t160,\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 36;\nmodule.exports = webpackAsyncContext;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs lazy ^\\.\\/.*\\.md$\n// module id = 36\n// module chunks = 124 125","'use strict';\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n require('promise/lib/rejection-tracking').enable();\n window.Promise = require('promise/lib/es6-extensions.js');\n}\n\n// fetch() polyfill for making API calls.\nrequire('whatwg-fetch');\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = require('object-assign');\n\n// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif (process.env.NODE_ENV === 'test') {\n require('raf').polyfill(global);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./config/polyfills.js","'use strict';\n\nvar Promise = require('./core');\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/rejection-tracking.js","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/asap/browser-raw.js","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/es6-extensions.js","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/whatwg-fetch/fetch.js","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/object-assign/index.js"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["../static/js/index.1ae9695c.js","../webpack/bootstrap e68d10b426e26f711201","../node_modules/omio/dist/omi.esm.js","../node_modules/css-loader/lib/css-base.js","elements/my-frame.js","elements/my-head/index.js","elements/my-head/omi-logo2019.svg","elements/my-head/menu.png","webpack:///./src/elements/my-head/_index.css?911a","elements/my-head/_index.css","index.js","elements/my-content/index.js","elements/my-footer/index.js","webpack:///./src/elements/my-footer/_index.css?4020","../node_modules/webpack/buildin/global.js","elements/my-footer/_index.css","webpack:///./src/elements/my-content/_index.css?ea33","elements/my-content/_index.css","elements/my-sidebar/index.js","elements/my-list/index.js","webpack:///./src/elements/my-list/_index.css?7382","elements/my-list/_index.css","webpack:///./src/elements/my-sidebar/_index.css?a491","elements/my-sidebar/_index.css","elements/my-demo/index.js","../node_modules/promise/lib/core.js","webpack:///./src/elements/my-demo/_index.css?fba4","elements/my-demo/_index.css","store/index.js","docs/config.js","../node_modules/omi-router/index.js","../node_modules/path-to-regexp/index.js","docs lazy /^/.//.*/.md$","../config/polyfills.js","../node_modules/promise/lib/rejection-tracking.js","../node_modules/asap/browser-raw.js","../node_modules/promise/lib/es6-extensions.js","../node_modules/whatwg-fetch/fetch.js","../node_modules/object-assign/index.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","parentJsonpFunction","window","chunkIds","moreModules","executeModules","chunkId","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","shift","124","e","onScriptComplete","script","onerror","onload","clearTimeout","timeout","chunk","Error","undefined","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","createElement","type","charset","async","nc","setAttribute","src","p","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","setTimeout","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error","s","global","VNode","h","nodeName","attributes","lastSimple","child","simple","children","arguments","stack","pop","String","key","options","vnode","toObject","val","TypeError","assign","target","source","from","symbols","to","getOwnPropertySymbols","propIsEnumerable","extend","obj","props","applyRef","ref","value","current","isArray","toString","nProps","result","keys","forEach","getUse","data","paths","path","index","getTargetByPath","tempPath","tempVal","args","apply","origin","arr","replace","split","len","cloneElement","slice","enqueueRender","component","items","debounceRendering","defer","rerender","renderComponent","isSameNodeType","node","hydrating","splitText","ctor","mapping","_componentConstructor","isNamedNode","normalizedNodeName","toLowerCase","getNodeProps","defaultProps","createNode","isSvg","doc","createElementNS","parseCSSText","cssText","cssTxt","style","_ref","match","a","b","rule","properties","map","x","trim","Array","Symbol","iterator","_ref3","next","done","_ref2","toUpperCase","removeNode","parentNode","removeChild","setAccessor","old","isWeb","_typeof","IS_NON_DIMENSIONAL$1","test","oldJson","currentJson","changed","ckey","setStyles","innerHTML","__html","useCapture","substring","addEventListener","eventProxy","touchStart","touchEnd","removeEventListener","_listeners","setProperty","removeAttribute","ns","removeAttributeNS","setAttributeNS","className","this","event","___touchX","touches","pageX","___touchY","pageY","___scrollTop","body","scrollTop","Math","abs","changedTouches","dispatchEvent","CustomEvent","detail","getCtorName","styleCache","item","attrName","styleId","scoper","css","prefix","re","RegExp","g0","g1","g2","g3","addStyle","id","ele","getElementById","someThingStyles","ActiveXObject","styleSheet","textContent","addStyleWithoutId","addScopedAttrStatic","vdom","attr","scopedStyle","scopeVdom","addStyleToHead","staticStyleMapping","scopeHost","flushMounts","mounts","afterMount","installed","constructor","diff","dom","context","mountAll","parent","componentRoot","diffLevel","isSvgMode","ownerSVGElement","ret","idiff","out","prevSvgMode","vnodeName","buildComponentFromVNode","_component","nodeValue","createTextNode","replaceChild","recollectNodeTree","firstChild","fc","vchildren","nextSibling","innerDiffNode","dangerouslySetInnerHTML","diffAttributes","isHydrating","j","f","vchild","originalChildren","childNodes","keyed","keyedLen","min","childrenLen","vlen","_child","__key","insertBefore","unmountOnly","unmountComponent","removeChildren","lastChild","previousSibling","attrs","define","use","updatePath","getPath","getUpdatePath","dataToPath","_objToPath","_arrayToPath","collectComponent","components","createComponent","Ctor","inst","list","render","Component","doRender","scopedCssAttr","store","instances","initUse","_updatePath","nextBase","splice","fireTick","callbacks","fn","scope","nextTickCallback","nextItem","proxyUpdate","obaa","_willUpdate","mergeUpdate","update","setComponentProps","opts","_disable","__ref","base","beforeInstall","install","observe","receiveProps","prevContext","prevProps","syncComponentUpdates","shallowComparison","isChild","rendered","cbase","previousProps","previousState","prevState","previousContext","isUpdate","initialBase","initialChildComponent","skip","beforeUpdate","beforeRender","getChildContext","toUnmount","childComponent","childProps","_parentComponent","baseParent","componentRef","t","unshift","afterUpdate","updated","_renderCallbacks","originalComponent","oldDom","isDirectOwner","isOwner","beforeUnmount","uninstall","inner","_classCallCheck","instance","Constructor","empty","merge","querySelector","obsStore","extendStoreUpate","prop","patchs","fixPath","patch","_this","updateAll","matchGlobalData","globalData","needUpdate","onChange","diffResult","keyA","indexOf","includePath","keyB","pathA","pathB","substr","mpPath","isNaN","Number","rpx","str","innerWidth","tag","_classCallCheck$1","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","writable","setPrototypeOf","__proto__","classNames","classes","arg","argType","hasOwn","join","extractClass","_Array$prototype$slic","class","getHost","styleObjToCss","JS_TO_CSS","IS_NON_DIMENSIONAL","renderToString","scopedCSS","html","_renderToString","values","isComponent","pretty","indentChar","encodeEntities","mapping$1","getNodeProps$1","__x","cssStr","cssAttr","scopedCSSAttr","sortAttributes","sort","v","allAttributes","hooked","attributeHook","xml","sub","isVoid","VOID_ELEMENTS","pieces","isLargeString","indent","hasLarge","childSvgMode","assign$1","htm","r","createRef","root","propertyIsEnumerable","Element","runListeners","oEvent","iLstId","iElId","oEvtListeners","oListeners","aEls","aEvts","sEventType","fListener","nElIdx","aElListeners","proto","propertiesObject","F","usePromise","__config__","platform","systemVersion","then","bind","callback","_observe","$observer","eventPropArr","$observeProps","$observerPath","mock","isInArray","watch","isString","propertyChangedHandler","propChanged","all","onPropertyChanged","oldValue","rootName","_getRootName","handler","methods","triggerStr","cprop","isFunction","currentValue","set","add","exec","size","elementId","_preCss","componentChange","fire","every","is","ModelView","_Component","vm","char","ignoreLines","u","Map","WeElement","defineElement","Omi","omi","version","default","cssWithMappingToString","useSourceMap","content","cssMapping","btoa","sourceMapping","toComment","concat","sources","sourceRoot","sourceMap","unescape","encodeURIComponent","JSON","stringify","mediaQuery","alreadyImportedModules","_createClass","defineProperties","descriptor","protoProps","staticProps","_omi","_WeElement","_class","getPrototypeOf","init","_temp2","_omiLogo","_omiLogo2","_temp","_ret","_len","_key","toggleMenus","evt","toogleSidebar","stopPropagation","hideSidebar","onClick","require","alt","href","logo","lan","location","hash","163","164","_store","_store2","Store","myContent","initCodeStyle","codes","querySelectorAll","codesArr","code","pre","temp","Prism","highlight","innerText","languages","markup","Event","numArr","tempArr","begin","end","ontouchend","_slicedToArray","sliceIterator","_arr","_n","_d","_e","_s","_i","_use","getPre","getNext","md","subIndex","g","Function","eval","menus","sideBarShow","menu","_extends","position","title","cls","_index","_index2","_class2","toggle","show","myDemo","checkPc","demo","userAgentInfo","navigator","userAgent","mp","innerHeight","viewBox","data-icon","width","height","fill","aria-hidden","focusable","noop","getThen","ex","LAST_ERROR","IS_ERROR","tryCallOne","tryCallTwo","_75","_83","_18","_38","doResolve","safeThen","onFulfilled","onRejected","res","handle","Handler","deferred","_47","handleResolved","asap","cb","newValue","finale","_71","reason","_44","_config","_config2","config","positionMap","preIndex","preSubIndex","_this2","remarkable","Remarkable","getMarkDown","initRouter","_this3","subItem","route","selected","query","documentElement","zh-cn","en","change","byNative","history","historyLength","_routeByTo","prevent","before","notFound","toArr","reg","pathArr","params","getParams","getUrlParams","after","p2r","url","queryArray","decodeURIComponent","parse","tokens","defaultDelimiter","delimiter","DEFAULT_DELIMITER","delimiters","DEFAULT_DELIMITERS","pathEscaped","PATH_REGEXP","escaped","offset","prev","capture","group","modifier","k","partial","repeat","optional","pattern","escapeGroup","escapeString","compile","tokensToFunction","matches","encode","token","segment","flags","sensitive","regexpToRegexp","groups","arrayToRegexp","parts","pathToRegexp","stringToRegexp","tokensToRegExp","strict","start","endsWith","isEndDelimited","webpackAsyncContext","req","ids","./en/action-sheet.md","./en/avatar.md","./en/badge.md","./en/bar-line.md","./en/bar.md","./en/breadcrumb.md","./en/bubble.md","./en/button.md","./en/card.md","./en/checkbox.md","./en/chips.md","./en/color-picker.md","./en/date-time-picker.md","./en/dialog.md","./en/doughnut.md","./en/drawer.md","./en/editor.md","./en/elevation.md","./en/fab.md","./en/icon-button.md","./en/icon.md","./en/image-list.md","./en/introduction-chart.md","./en/introduction.md","./en/layout-grid.md","./en/line.md","./en/linear-progress.md","./en/list.md","./en/loading.md","./en/menu.md","./en/nav.md","./en/pagination.md","./en/paper.md","./en/path-progress.md","./en/picker.md","./en/pie.md","./en/polar-area.md","./en/popover.md","./en/radar.md","./en/radio.md","./en/rate.md","./en/row.md","./en/scatter.md","./en/select.md","./en/simple-card.md","./en/slider.md","./en/snackbar.md","./en/spreadsheet.md","./en/step.md","./en/switch.md","./en/tab.md","./en/table.md","./en/tag.md","./en/text-field.md","./en/theme.md","./en/to.md","./en/toast.md","./en/top-app-bar.md","./en/transfer-list.md","./en/transition.md","./en/tree.md","./en/typography.md","./zh-cn/action-sheet.md","./zh-cn/avatar.md","./zh-cn/badge.md","./zh-cn/bar-line.md","./zh-cn/bar.md","./zh-cn/breadcrumb.md","./zh-cn/bubble.md","./zh-cn/button.md","./zh-cn/card.md","./zh-cn/checkbox.md","./zh-cn/chips.md","./zh-cn/color-picker.md","./zh-cn/date-time-picker.md","./zh-cn/dialog.md","./zh-cn/doughnut.md","./zh-cn/drawer.md","./zh-cn/editor.md","./zh-cn/elevation.md","./zh-cn/fab.md","./zh-cn/icon-button.md","./zh-cn/icon.md","./zh-cn/image-list.md","./zh-cn/introduction-chart.md","./zh-cn/introduction.md","./zh-cn/layout-grid.md","./zh-cn/line.md","./zh-cn/linear-progress.md","./zh-cn/list.md","./zh-cn/loading.md","./zh-cn/menu.md","./zh-cn/nav.md","./zh-cn/pagination.md","./zh-cn/paper.md","./zh-cn/path-progress.md","./zh-cn/picker.md","./zh-cn/pie.md","./zh-cn/polar-area.md","./zh-cn/popover.md","./zh-cn/radar.md","./zh-cn/radio.md","./zh-cn/rate.md","./zh-cn/row.md","./zh-cn/scatter.md","./zh-cn/select.md","./zh-cn/simple-card.md","./zh-cn/slider.md","./zh-cn/snackbar.md","./zh-cn/spreadsheet.md","./zh-cn/step.md","./zh-cn/switch.md","./zh-cn/tab.md","./zh-cn/table.md","./zh-cn/tag.md","./zh-cn/text-field.md","./zh-cn/theme.md","./zh-cn/to.md","./zh-cn/toast.md","./zh-cn/top-app-bar.md","./zh-cn/transfer-list.md","./zh-cn/transition.md","./zh-cn/tree.md","./zh-cn/typography.md","enable","disable","enabled","onUnhandled","allRejections","matchWhitelist","rejections","whitelist","DEFAULT_WHITELIST","displayId","logged","logError","onHandled","warn","_56","line","some","RangeError","rawAsap","task","queue","requestFlush","flushing","flush","currentIndex","capacity","scan","newLength","makeRequestCallFromTimer","handleTimer","timeoutHandle","clearInterval","intervalHandle","setInterval","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","observer","characterData","valuePromise","TRUE","FALSE","NULL","UNDEFINED","ZERO","EMPTYSTRING","remaining","race","normalizeName","normalizeValue","iteratorFor","support","iterable","Headers","headers","append","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","view","Uint8Array","chars","fromCharCode","bufferClone","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","Blob","isPrototypeOf","_bodyBlob","formData","FormData","_bodyFormData","searchParams","URLSearchParams","arrayBuffer","isDataView","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","rejected","text","decode","json","normalizeMethod","method","upcased","Request","input","credentials","mode","referrer","form","bytes","parseHeaders","rawHeaders","Response","bodyInit","status","ok","statusText","fetch","viewClasses","DataView","isView","has","thisArg","entries","clone","response","redirectStatuses","redirect","request","xhr","XMLHttpRequest","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","send","polyfill","test1","test2","test3","letter"],"mappings":"CAAS,SAAUA,GCkCnB,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAI,EAAAJ,EACAK,GAAA,EACAH,WAUA,OANAJ,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,GAGAI,EAAAE,GAAA,EAGAF,EAAAD,QArDA,GAAAK,GAAAC,OAAA,YACAA,QAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,GAAAX,GAAAY,EAAAR,EAAA,EAAAS,KACQT,EAAAK,EAAAK,OAAoBV,IAC5BQ,EAAAH,EAAAL,GACAW,EAAAH,IACAC,EAAAG,KAAAD,EAAAH,GAAA,IAEAG,EAAAH,GAAA,CAEA,KAAAZ,IAAAU,GACAO,OAAAC,UAAAC,eAAAb,KAAAI,EAAAV,KACAF,EAAAE,GAAAU,EAAAV,GAIA,KADAO,KAAAE,EAAAC,EAAAC,GACAE,EAAAC,QACAD,EAAAO,UAMA,IAAAnB,MAGAc,GACAM,IAAA,EA6BAtB,GAAAuB,EAAA,SAAAV,GA+BA,QAAAW,KAEAC,EAAAC,QAAAD,EAAAE,OAAA,KACAC,aAAAC,EACA,IAAAC,GAAAd,EAAAH,EACA,KAAAiB,IACAA,GACAA,EAAA,MAAAC,OAAA,iBAAAlB,EAAA,aAEAG,EAAAH,OAAAmB,IAvCA,GAAAC,GAAAjB,EAAAH,EACA,QAAAoB,EACA,UAAAC,SAAA,SAAAC,GAA0CA,KAI1C,IAAAF,EACA,MAAAA,GAAA,EAIA,IAAAG,GAAA,GAAAF,SAAA,SAAAC,EAAAE,GACAJ,EAAAjB,EAAAH,IAAAsB,EAAAE,IAEAJ,GAAA,GAAAG,CAGA,IAAAE,GAAAC,SAAAC,qBAAA,WACAf,EAAAc,SAAAE,cAAA,SACAhB,GAAAiB,KAAA,kBACAjB,EAAAkB,QAAA,QACAlB,EAAAmB,OAAA,EACAnB,EAAAI,QAAA,KAEA7B,EAAA6C,IACApB,EAAAqB,aAAA,QAAA9C,EAAA6C,IAEApB,EAAAsB,IAAA/C,EAAAgD,EAAA,iBAA0DnC,OAAA,KAA6BoC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,GAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAAA,WAAAC,IAA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AEAC,gBACA,GACA,IAEAC,kBACA,GACA,IAEAC,eACA,GACA,IAEAC,iBACA,GACA,IAEAC,eACA,GACA,IAEAC,sBACA,GACA,IAEAC,iBACA,GACA,IAEAC,cACA,GACA,IAEAC,iBACA,GACA,IAEAC,uBACA,GACA,IAEAC,yBACA,GACA,IAEAC,sBACA,GACA,IAEAC,gBACA,GACA,IAEAC,sBACA,GACA,IAEAC,2BACA,GACA,IAEAC,qBACA,IACA,IAEAC,oBACA,IACA,IAEAC,uBACA,IACA,IAEAC,kBACA,IACA,IAEAC,yBACA,IACA,IAEAC,qBACA,IACA,IAEAC,qBACA,IACA,IAEAC,mBACA,IACA,IAEAC,uBACA,IACA,IAEAC,oBACA,IACA,IAEAC,2BACA,IACA,IAEAC,+BACA,IACA,IAEAC,qBACA,IACA,IAEAC,uBACA,IACA,IAEAC,qBACA,IACA,IAEAC,qBACA,IACA,IAEAC,wBACA,IACA,IAEAC,kBACA,IACA,IAEAC,0BACA,IACA,IAEAC,mBACA,IACA,IAEAC,yBACA,IACA,IAEAC,iCACA,IACA,IAEAC,2BACA,IACA,IAEAC,0BACA,IACA,IAEAC,mBACA,IACA,IAEAC,8BACA,IACA,IAEAC,mBACA,IACA,IAEAC,sBACA,IACA,IAEAC,mBACA,IACA,IAEAC,kBACA,IACA,IAEAC,yBACA,IACA,IAEAC,oBACA,IACA,IAEAC,4BACA,IACA,IAEAC,qBACA,IACA,IAEAC,kBACA,IACA,IAEAC,yBACA,IACA,IAEAC,sBACA,IACA,IAEAC,oBACA,IACA,IAEAC,oBACA,IACA,IAEAC,mBACA,IACA,IAEAC,kBACA,IACA,IAEAC,sBACA,IACA,IAEAC,qBACA,IACA,IAEAC,0BACA,IACA,IAEAC,qBACA,IACA,IAEAC,uBACA,IACA,IAEAC,0BACA,IACA,IAEAC,mBACA,IACA,IAEAC,qBACA,IACA,IAEAC,kBACA,IACA,IAEAC,oBACA,IACA,IAEAC,kBACA,IACA,GAEAC,yBACA,IACA,GAEAC,oBACA,IACA,GAEAC,iBACA,IACA,GAEAC,oBACA,IA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","file":"static/js/index.1ae9695c.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId]) {\n/******/ \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n/******/ \t\t\t}\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n/******/ \t\twhile(resolves.length) {\n/******/ \t\t\tresolves.shift()();\n/******/ \t\t}\n/******/\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// objects to store loaded and loading chunks\n/******/ \tvar installedChunks = {\n/******/ \t\t124: 0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\tvar installedChunkData = installedChunks[chunkId];\n/******/ \t\tif(installedChunkData === 0) {\n/******/ \t\t\treturn new Promise(function(resolve) { resolve(); });\n/******/ \t\t}\n/******/\n/******/ \t\t// a Promise means \"currently loading\".\n/******/ \t\tif(installedChunkData) {\n/******/ \t\t\treturn installedChunkData[2];\n/******/ \t\t}\n/******/\n/******/ \t\t// setup Promise in chunk cache\n/******/ \t\tvar promise = new Promise(function(resolve, reject) {\n/******/ \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n/******/ \t\t});\n/******/ \t\tinstalledChunkData[2] = promise;\n/******/\n/******/ \t\t// start chunk loading\n/******/ \t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\tvar script = document.createElement('script');\n/******/ \t\tscript.type = 'text/javascript';\n/******/ \t\tscript.charset = 'utf-8';\n/******/ \t\tscript.async = true;\n/******/ \t\tscript.timeout = 120000;\n/******/\n/******/ \t\tif (__webpack_require__.nc) {\n/******/ \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n/******/ \t\t}\n/******/ \t\tscript.src = __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"0\":\"68c12e8d\",\"1\":\"759c1ca5\",\"2\":\"5da46b4f\",\"3\":\"424ee7ae\",\"4\":\"8f014cf8\",\"5\":\"d99c8a5e\",\"6\":\"beace45d\",\"7\":\"485dc0c0\",\"8\":\"7c8e5167\",\"9\":\"454f9913\",\"10\":\"a55f66f8\",\"11\":\"828ab9c2\",\"12\":\"6493ac19\",\"13\":\"bd46662f\",\"14\":\"c564f4f5\",\"15\":\"0ad3ce9e\",\"16\":\"64eea67b\",\"17\":\"911d59a3\",\"18\":\"3a59bf17\",\"19\":\"1cb285fb\",\"20\":\"63bdf696\",\"21\":\"21057d15\",\"22\":\"a5edb9e4\",\"23\":\"3345eab8\",\"24\":\"f4c78202\",\"25\":\"b146659a\",\"26\":\"311eb972\",\"27\":\"18354e09\",\"28\":\"eb1f164c\",\"29\":\"a5d00496\",\"30\":\"c8b7e142\",\"31\":\"fb1f2749\",\"32\":\"8c43e92b\",\"33\":\"6ef29d4e\",\"34\":\"eed9267e\",\"35\":\"530004da\",\"36\":\"84601bbf\",\"37\":\"85d026c3\",\"38\":\"feb89c19\",\"39\":\"221cbf16\",\"40\":\"c21360b5\",\"41\":\"cb75788c\",\"42\":\"21c0d3d5\",\"43\":\"3bac18ea\",\"44\":\"8bc80906\",\"45\":\"2a88466d\",\"46\":\"8e4cc305\",\"47\":\"1fa3737f\",\"48\":\"c6b3bb91\",\"49\":\"77859d35\",\"50\":\"108a5256\",\"51\":\"49566405\",\"52\":\"10fd2f1c\",\"53\":\"17e4b19f\",\"54\":\"83fe6204\",\"55\":\"dde20276\",\"56\":\"fc53502d\",\"57\":\"120d630f\",\"58\":\"2162a17b\",\"59\":\"6c9f85cd\",\"60\":\"8daa8271\",\"61\":\"34d584e8\",\"62\":\"d1425fa2\",\"63\":\"9c777607\",\"64\":\"3974c3b5\",\"65\":\"dff2a8fb\",\"66\":\"f8c55b42\",\"67\":\"4bdfe795\",\"68\":\"e7a3183f\",\"69\":\"c9175fe8\",\"70\":\"dcfc2032\",\"71\":\"068d5018\",\"72\":\"12043964\",\"73\":\"8e57cc1c\",\"74\":\"9626352e\",\"75\":\"e8f3fcfb\",\"76\":\"3f2d8c5c\",\"77\":\"e6a42ed6\",\"78\":\"9600d7d9\",\"79\":\"5c7a178d\",\"80\":\"06e7feaa\",\"81\":\"775f9ba6\",\"82\":\"67abc511\",\"83\":\"5f6ef24c\",\"84\":\"1498ca01\",\"85\":\"cfe7f665\",\"86\":\"a77fd66f\",\"87\":\"d7b52ba6\",\"88\":\"7be09236\",\"89\":\"e8d7dee0\",\"90\":\"bb267610\",\"91\":\"4ce2659f\",\"92\":\"ef19e972\",\"93\":\"9c4e9b3a\",\"94\":\"22c3777e\",\"95\":\"4d31338b\",\"96\":\"18491fd0\",\"97\":\"d49f1382\",\"98\":\"f4b83ca0\",\"99\":\"5a70fd4c\",\"100\":\"a34f51ad\",\"101\":\"8766f7bb\",\"102\":\"ac3be313\",\"103\":\"c72365da\",\"104\":\"f2217ba6\",\"105\":\"cb506b6c\",\"106\":\"584bbeb0\",\"107\":\"9e5af966\",\"108\":\"ac7d5acc\",\"109\":\"50839a1c\",\"110\":\"5437dcda\",\"111\":\"f40ed45c\",\"112\":\"fc30f62e\",\"113\":\"20ede2ba\",\"114\":\"f65bf497\",\"115\":\"d7db9c10\",\"116\":\"ebdfd097\",\"117\":\"b52978d5\",\"118\":\"a85e99e9\",\"119\":\"21303178\",\"120\":\"6306416b\",\"121\":\"8dadbfdb\",\"122\":\"311401ac\",\"123\":\"8bcc4836\"}[chunkId] + \".chunk.js\";\n/******/ \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n/******/ \t\tscript.onerror = script.onload = onScriptComplete;\n/******/ \t\tfunction onScriptComplete() {\n/******/ \t\t\t// avoid mem leaks in IE.\n/******/ \t\t\tscript.onerror = script.onload = null;\n/******/ \t\t\tclearTimeout(timeout);\n/******/ \t\t\tvar chunk = installedChunks[chunkId];\n/******/ \t\t\tif(chunk !== 0) {\n/******/ \t\t\t\tif(chunk) {\n/******/ \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n/******/ \t\t\t\t}\n/******/ \t\t\t\tinstalledChunks[chunkId] = undefined;\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t\thead.appendChild(script);\n/******/\n/******/ \t\treturn promise;\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./\";\n/******/\n/******/ \t// on error function for async loading\n/******/ \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 163);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {Object.defineProperty(exports,\"__esModule\",{value:true});var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};/**\n * omi v2.2.1 http://omijs.org\n * Omi === Preact + Scoped CSS + Store System + Native Support in 3kb javascript.\n * By dntzhang https://github.com/dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n *//** Virtual DOM Node */function VNode(){}function getGlobal(){if((typeof global==='undefined'?'undefined':_typeof(global))!=='object'||!global||global.Math!==Math||global.Array!==Array){if(typeof self!=='undefined'){return self;}else if(typeof window!=='undefined'){return window;}else if(typeof global!=='undefined'){return global;}return function(){return this;}();}return global;}/** Global options\n *\t@public\n *\t@namespace options {Object}\n */var options={scopedStyle:true,mapping:{},isWeb:true,staticStyleMapping:{},doc:(typeof document==='undefined'?'undefined':_typeof(document))==='object'?document:null,root:getGlobal(),//styleCache :[{ctor:ctor,ctorName:ctorName,style:style}]\nstyleCache:[]//componentChange(component, element) { },\n/** If `true`, `prop` changes trigger synchronous component updates.\n *\t@name syncComponentUpdates\n *\t@type Boolean\n *\t@default true\n *///syncComponentUpdates: true,\n/** Processes all created VNodes.\n *\t@param {VNode} vnode\tA newly-created VNode to normalize/process\n *///vnode(vnode) { }\n/** Hook invoked after a component is mounted. *///afterMount(component) { },\n/** Hook invoked after the DOM is updated with a component's latest render. *///afterUpdate(component) { }\n/** Hook invoked immediately before a component is unmounted. */// beforeUnmount(component) { }\n};var stack=[];/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a lightweight representation\n * of the structure of a DOM tree. This structure can be realized by recursively comparing it against\n * the current _actual_ DOM structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `Hello!
`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */function h(nodeName,attributes){var children=[],lastSimple,child,simple,i;for(i=arguments.length;i-->2;){stack.push(arguments[i]);}if(attributes&&attributes.children!=null){if(!stack.length)stack.push(attributes.children);delete attributes.children;}while(stack.length){if((child=stack.pop())&&child.pop!==undefined){for(i=child.length;i--;){stack.push(child[i]);}}else{if(typeof child==='boolean')child=null;if(simple=typeof nodeName!=='function'){if(child==null)child='';else if(typeof child==='number')child=String(child);else if(typeof child!=='string')simple=false;}if(simple&&lastSimple){children[children.length-1]+=child;}else if(children.length===0){children=[child];}else{children.push(child);}lastSimple=simple;}}var p=new VNode();p.nodeName=nodeName;p.children=children;p.attributes=attributes==null?undefined:attributes;p.key=attributes==null?undefined:attributes.key;// if a \"vnode hook\" is defined, pass every created VNode to it\nif(options.vnode!==undefined)options.vnode(p);return p;}/* eslint-disable no-unused-vars */var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');}return Object(val);}function assign(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s8){usePromise=true;}}}var defer=usePromise?Promise.resolve().then.bind(Promise.resolve()):setTimeout;function isArray(obj){return Object.prototype.toString.call(obj)==='[object Array]';}function nProps(props){if(!props||isArray(props))return{};var result={};Object.keys(props).forEach(function(key){result[key]=props[key].value;});return result;}function getUse(data,paths){var obj=[];paths.forEach(function(path,index){var isPath=typeof path==='string';if(isPath){obj[index]=getTargetByPath(data,path);}else{var key=Object.keys(path)[0];var value=path[key];if(typeof value==='string'){obj[index]=getTargetByPath(data,value);}else{var tempPath=value[0];if(typeof tempPath==='string'){var tempVal=getTargetByPath(data,tempPath);obj[index]=value[1]?value[1](tempVal):tempVal;}else{var args=[];tempPath.forEach(function(path){args.push(getTargetByPath(data,path));});obj[index]=value[1].apply(null,args);}}obj[key]=obj[index];}});return obj;}function getTargetByPath(origin,path){var arr=path.replace(/]/g,'').replace(/\\[/g,'.').split('.');var current=origin;for(var i=0,len=arr.length;i2?[].slice.call(arguments,2):vnode.children);}// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL$1=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;/** Managed queue of dirty components to be re-rendered */var items=[];function enqueueRender(component){if(items.push(component)==1){(options.debounceRendering||defer)(rerender);}}/** Rerender all enqueued dirty components */function rerender(){var p;while(p=items.pop()){renderComponent(p);}}var mapping=options.mapping;/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */function isSameNodeType(node,vnode,hydrating){if(typeof vnode==='string'||typeof vnode==='number'){return node.splitText!==undefined;}if(typeof vnode.nodeName==='string'){var ctor=mapping[vnode.nodeName];if(ctor){return hydrating||node._componentConstructor===ctor;}return!node._componentConstructor&&isNamedNode(node,vnode.nodeName);}return hydrating||node._componentConstructor===vnode.nodeName;}/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */function isNamedNode(node,nodeName){return node.normalizedNodeName===nodeName||node.nodeName.toLowerCase()===nodeName.toLowerCase();}/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */function getNodeProps(vnode){var props=extend({},vnode.attributes);props.children=vnode.children;var defaultProps=vnode.nodeName.defaultProps;if(defaultProps!==undefined){for(var i in defaultProps){if(props[i]===undefined){props[i]=defaultProps[i];}}}return props;}/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */function createNode(nodeName,isSvg){var node=isSvg?options.doc.createElementNS('http://www.w3.org/2000/svg',nodeName):options.doc.createElement(nodeName);node.normalizedNodeName=nodeName;return node;}function parseCSSText(cssText){var cssTxt=cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g,' ').replace(/\\s+/g,' ');var style={},_ref=cssTxt.match(/ ?(.*?) ?{([^}]*)}/)||[a,b,cssTxt],a=_ref[0],b=_ref[1],rule=_ref[2];var cssToJs=function cssToJs(s){return s.replace(/\\W+\\w/g,function(match){return match.slice(-1).toUpperCase();});};var properties=rule.split(';').map(function(o){return o.split(':').map(function(x){return x&&x.trim();});});for(var i=properties,i=Array.isArray(i),i=0,i=i?i:i[Symbol.iterator]();;){var _ref3;if(i){if(i>=i.length)break;_ref3=i[i++];}else{i=i.next();if(i.done)break;_ref3=i.value;}var _ref2=_ref3;var property=_ref2[0];var value=_ref2[1];style[cssToJs(property)]=value;}return style;}/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */function removeNode(node){var parentNode=node.parentNode;if(parentNode)parentNode.removeChild(node);}/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */function setAccessor(node,name,old,value,isSvg){if(name==='className')name='class';if(name==='key'){// ignore\n}else if(name==='ref'){applyRef(old,null);applyRef(value,node);}else if(name==='class'&&!isSvg){node.className=value||'';}else if(name==='style'){if(options.isWeb){if(!value||typeof value==='string'||typeof old==='string'){node.style.cssText=value||'';}if(value&&(typeof value==='undefined'?'undefined':_typeof(value))==='object'){if(typeof old!=='string'){for(var i in old){if(!(i in value))node.style[i]='';}}for(var i in value){node.style[i]=typeof value[i]==='number'&&IS_NON_DIMENSIONAL$1.test(i)===false?value[i]+'px':value[i];}}}else{var oldJson=old,currentJson=value;if(typeof old==='string'){oldJson=parseCSSText(old);}if(typeof value=='string'){currentJson=parseCSSText(value);}var result={},changed=false;if(oldJson){for(var key in oldJson){if((typeof currentJson==='undefined'?'undefined':_typeof(currentJson))=='object'&&!(key in currentJson)){result[key]='';changed=true;}}for(var ckey in currentJson){if(currentJson[ckey]!==oldJson[ckey]){result[ckey]=currentJson[ckey];changed=true;}}if(changed){node.setStyles(result);}}else{node.setStyles(currentJson);}}}else if(name==='dangerouslySetInnerHTML'){if(value)node.innerHTML=value.__html||'';}else if(name[0]=='o'&&name[1]=='n'){var useCapture=name!==(name=name.replace(/Capture$/,''));name=name.toLowerCase().substring(2);if(value){if(!old){node.addEventListener(name,eventProxy,useCapture);if(name=='tap'){node.addEventListener('touchstart',touchStart,useCapture);node.addEventListener('touchend',touchEnd,useCapture);}}}else{node.removeEventListener(name,eventProxy,useCapture);if(name=='tap'){node.removeEventListener('touchstart',touchStart,useCapture);node.removeEventListener('touchend',touchEnd,useCapture);}}(node._listeners||(node._listeners={}))[name]=value;}else if(name!=='list'&&name!=='type'&&!isSvg&&name in node){setProperty(node,name,value==null?'':value);if(value==null||value===false)node.removeAttribute(name);}else{var ns=isSvg&&name!==(name=name.replace(/^xlink:?/,''));if(value==null||value===false){if(ns)node.removeAttributeNS('http://www.w3.org/1999/xlink',name.toLowerCase());else node.removeAttribute(name);}else if(typeof value!=='function'){if(ns)node.setAttributeNS('http://www.w3.org/1999/xlink',name.toLowerCase(),value);else node.setAttribute(name,value);}}}/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */function setProperty(node,name,value){try{node[name]=value;}catch(e){}}/** Proxy an event to hooked event handlers\n *\t@private\n */function eventProxy(e){return this._listeners[e.type](options.event&&options.event(e)||e);}function touchStart(e){this.___touchX=e.touches[0].pageX;this.___touchY=e.touches[0].pageY;this.___scrollTop=document.body.scrollTop;}function touchEnd(e){if(Math.abs(e.changedTouches[0].pageX-this.___touchX)<30&&Math.abs(e.changedTouches[0].pageY-this.___touchY)<30&&Math.abs(document.body.scrollTop-this.___scrollTop)<30){this.dispatchEvent(new CustomEvent('tap',{detail:e}));}}var styleId=0;function getCtorName(ctor){for(var i=0,len=options.styleCache.length;i-1;){if(item===arr[i])return true;}return false;};obaa.isFunction=function(obj){return Object.prototype.toString.call(obj)=='[object Function]';};obaa._getRootName=function(prop,path){if(path==='#'){return prop;}return path.split('-')[1];};obaa.add=function(obj,prop){var $observer=obj.$observer;$observer.watch(obj,prop);};obaa.set=function(obj,prop,value,exec){if(!exec){obj[prop]=value;}var $observer=obj.$observer;$observer.watch(obj,prop);if(exec){obj[prop]=value;}};Array.prototype.size=function(length){this.length=length;};var callbacks=[];var nextTickCallback=[];function fireTick(){callbacks.forEach(function(item){item.fn.call(item.scope);});nextTickCallback.forEach(function(nextItem){nextItem.fn.call(nextItem.scope);});nextTickCallback.length=0;}function proxyUpdate(ele){var timeout=null;obaa(ele.data,function(){if(ele._willUpdate){return;}if(ele.constructor.mergeUpdate){clearTimeout(timeout);timeout=setTimeout(function(){ele.update();fireTick();},0);}else{ele.update();fireTick();}});}/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */function setComponentProps(component,props,opts,context,mountAll){if(component._disable)return;component._disable=true;if(component.__ref=props.ref)delete props.ref;if(component.__key=props.key)delete props.key;if(!component.base||mountAll){if(component.beforeInstall)component.beforeInstall();if(component.install)component.install();if(component.constructor.observe){proxyUpdate(component);}}else if(component.receiveProps){component.receiveProps(props,component.data,component.props);}if(context&&context!==component.context){if(!component.prevContext)component.prevContext=component.context;component.context=context;}if(!component.prevProps)component.prevProps=component.props;component.props=props;component._disable=false;if(opts!==0){if(opts===1||options.syncComponentUpdates!==false||!component.base){renderComponent(component,1,mountAll);}else{enqueueRender(component);}}applyRef(component.__ref,component);}function shallowComparison(old,attrs){var name;for(name in old){if(attrs[name]==null&&old[name]!=null){return true;}}if(old.children.length>0||attrs.children.length>0){return true;}for(name in attrs){if(name!='children'){var type=_typeof(attrs[name]);if(type=='function'||type=='object'){return true;}else if(attrs[name]!=old[name]){return true;}}}}/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */function renderComponent(component,opts,mountAll,isChild){if(component._disable)return;var props=component.props,data=component.data,context=component.context,previousProps=component.prevProps||props,previousState=component.prevState||data,previousContext=component.prevContext||context,isUpdate=component.base,nextBase=component.nextBase,initialBase=isUpdate||nextBase,initialChildComponent=component._component,skip=false,rendered,inst,cbase;// if updating\nif(isUpdate){component.props=previousProps;component.data=previousState;component.context=previousContext;if(component.store||opts==2||shallowComparison(previousProps,props)){skip=false;if(component.beforeUpdate){component.beforeUpdate(props,data,context);}}else{skip=true;}component.props=props;component.data=data;component.context=context;}component.prevProps=component.prevState=component.prevContext=component.nextBase=null;if(!skip){component.beforeRender&&component.beforeRender();rendered=component.render(props,data,context);//don't rerender\nif(component.constructor.css||component.css){addScopedAttrStatic(rendered,'_s'+getCtorName(component.constructor));}scopeHost(rendered,component.scopedCssAttr);// context to pass to the child, can be updated via (grand-)parent component\nif(component.getChildContext){context=extend(extend({},context),component.getChildContext());}var childComponent=rendered&&rendered.nodeName,toUnmount,base,ctor=options.mapping[childComponent];if(ctor){// set up high order component link\nvar childProps=getNodeProps(rendered);inst=initialChildComponent;if(inst&&inst.constructor===ctor&&childProps.key==inst.__key){setComponentProps(inst,childProps,1,context,false);}else{toUnmount=inst;component._component=inst=createComponent(ctor,childProps,context);inst.nextBase=inst.nextBase||nextBase;inst._parentComponent=component;setComponentProps(inst,childProps,0,context,false);renderComponent(inst,1,mountAll,true);}base=inst.base;}else{cbase=initialBase;// destroy high order component link\ntoUnmount=initialChildComponent;if(toUnmount){cbase=component._component=null;}if(initialBase||opts===1){if(cbase)cbase._component=null;base=diff(cbase,rendered,context,mountAll||!isUpdate,initialBase&&initialBase.parentNode,true);}}if(initialBase&&base!==initialBase&&inst!==initialChildComponent){var baseParent=initialBase.parentNode;if(baseParent&&base!==baseParent){baseParent.replaceChild(base,initialBase);if(!toUnmount){initialBase._component=null;recollectNodeTree(initialBase,false);}}}if(toUnmount){unmountComponent(toUnmount);}component.base=base;if(base&&!isChild){var componentRef=component,t=component;while(t=t._parentComponent){(componentRef=t).base=base;}base._component=componentRef;base._componentConstructor=componentRef.constructor;}}if(!isUpdate||mountAll){mounts.unshift(component);}else if(!skip){// Ensure that pending componentDidMount() hooks of child components\n// are called before the componentDidUpdate() hook in the parent.\n// Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n// flushMounts();\nif(component.afterUpdate){//deprecated\ncomponent.afterUpdate(previousProps,previousState,previousContext);}if(component.updated){component.updated(previousProps,previousState,previousContext);}if(options.afterUpdate)options.afterUpdate(component);}if(component._renderCallbacks!=null){while(component._renderCallbacks.length){component._renderCallbacks.pop().call(component);}}if(!diffLevel&&!isChild)flushMounts();}/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */function buildComponentFromVNode(dom,vnode,context,mountAll){var c=dom&&dom._component,originalComponent=c,oldDom=dom,isDirectOwner=c&&dom._componentConstructor===vnode.nodeName,isOwner=isDirectOwner,props=getNodeProps(vnode);while(c&&!isOwner&&(c=c._parentComponent)){isOwner=c.constructor===vnode.nodeName;}if(c&&isOwner&&(!mountAll||c._component)){setComponentProps(c,props,3,context,mountAll);dom=c.base;}else{if(originalComponent&&!isDirectOwner){unmountComponent(originalComponent);dom=oldDom=null;}c=createComponent(vnode.nodeName,props,context,vnode);if(dom&&!c.nextBase){c.nextBase=dom;// passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\noldDom=null;}setComponentProps(c,props,1,context,mountAll);dom=c.base;if(oldDom&&dom!==oldDom){oldDom._component=null;recollectNodeTree(oldDom,false);}}return dom;}/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */function unmountComponent(component){if(options.beforeUnmount)options.beforeUnmount(component);var base=component.base;component._disable=true;if(component.uninstall)component.uninstall();if(component.store&&component.store.instances){for(var i=0,len=component.store.instances.length;i0){this.instances.forEach(function(instance){if(updateAll||_this.updateAll||instance.constructor.updatePath&&needUpdate(patch,instance.constructor.updatePath)||instance._updatePath&&needUpdate(patch,instance._updatePath)){//update this.use\nif(instance.constructor.use){instance.use=getUse(store.data,instance.constructor.use);}else if(instance.initUse){instance.use=getUse(store.data,instance.initUse());}instance.update();}});this.onChange&&this.onChange(patch);}};}function matchGlobalData(globalData,diffResult){if(!globalData)return false;for(var keyA in diffResult){if(globalData.indexOf(keyA)>-1){return true;}for(var i=0,len=globalData.length;i0){return{'class':classNames.apply(null,args)};}}function getHost(component){var base=component.base;if(base){while(base.parentNode){if(base.parentNode._component){return base.parentNode._component;}else{base=base.parentNode;}}}}/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */var encodeEntities=function encodeEntities(s){return String(s).replace(/&/g,'&').replace(//g,'>').replace(/\"/g,'"');};var indent=function indent(s,char){return String(s).replace(/(\\n+)/g,'$1'+(char||'\\t'));};var mapping$1=options.mapping;var VOID_ELEMENTS=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;var isLargeString=function isLargeString(s,length,ignoreLines){return String(s).length>(length||40)||!ignoreLines&&String(s).indexOf('\\n')!==-1||String(s).indexOf('<')!==-1;};var JS_TO_CSS={};// Convert an Object style to a CSSText string\nfunction styleObjToCss(s){var str='';for(var prop in s){var val=s[prop];if(val!=null){if(str)str+=' ';// str += jsToCss(prop);\nstr+=JS_TO_CSS[prop]||(JS_TO_CSS[prop]=prop.replace(/([A-Z])/g,'-$1').toLowerCase());str+=': ';str+=val;if(typeof val==='number'&&IS_NON_DIMENSIONAL.test(prop)===false){str+='px';}str+=';';}}return str||undefined;}function renderToString(vnode,opts,store,isSvgMode){store=store||{};opts=Object.assign({scopedCSS:true},opts);var css={};var html=_renderToString(vnode,opts,store,isSvgMode,css);return{css:Object.values(css),html:html};}/** The default export is an alias of `render()`. */function _renderToString(vnode,opts,store,isSvgMode,css){if(vnode==null||typeof vnode==='boolean'){return'';}var nodeName=vnode.nodeName,attributes=vnode.attributes,isComponent=false;var pretty=true&&opts.pretty,indentChar=pretty&&typeof pretty==='string'?pretty:'\\t';// #text nodes\nif((typeof vnode==='undefined'?'undefined':_typeof(vnode))!=='object'&&!nodeName){return encodeEntities(vnode);}// components\nvar ctor=mapping$1[nodeName];if(ctor){isComponent=true;var props=getNodeProps$1(vnode),rendered;// class-based components\nvar c=new ctor(props,store);// turn off stateful re-rendering:\nc._disable=c.__x=true;c.props=props;c.store=store;if(c.install)c.install();if(c.beforeRender)c.beforeRender();rendered=c.render(c.props,c.data,c.store);if(opts.scopedCSS){if(c.constructor.css||c.css){var cssStr=c.constructor.css?c.constructor.css:typeof c.css==='function'?c.css():c.css;var cssAttr='_s'+getCtorName(c.constructor);css[cssAttr]={id:cssAttr,css:scoper(cssStr,cssAttr)};addScopedAttrStatic(rendered,cssAttr);}c.scopedCSSAttr=vnode.css;scopeHost(rendered,c.scopedCSSAttr);}return _renderToString(rendered,opts,store,false,css);}// render JSX to HTML\nvar s='',html;if(attributes){var attrs=Object.keys(attributes);// allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\nif(opts&&opts.sortAttributes===true)attrs.sort();for(var i=0;i]/))continue;if(!(opts&&opts.allAttributes)&&(name==='key'||name==='ref'))continue;if(name==='className'){if(attributes['class'])continue;name='class';}else if(isSvgMode&&name.match(/^xlink:?./)){name=name.toLowerCase().replace(/^xlink:?/,'xlink:');}if(name==='style'&&v&&(typeof v==='undefined'?'undefined':_typeof(v))==='object'){v=styleObjToCss(v);}var hooked=opts.attributeHook&&opts.attributeHook(name,v,store,opts,isComponent);if(hooked||hooked===''){s+=hooked;continue;}if(name==='dangerouslySetInnerHTML'){html=v&&v.__html;}else if((v||v===0||v==='')&&typeof v!=='function'){if(v===true||v===''){v=name;// in non-xml mode, allow boolean attributes\nif(!opts||!opts.xml){s+=' '+name;continue;}}s+=' '+name+'=\"'+encodeEntities(v)+'\"';}}}// account for >1 multiline attribute\nif(pretty){var sub=s.replace(/^\\n\\s*/,' ');if(sub!==s&&!~sub.indexOf('\\n'))s=sub;else if(pretty&&~s.indexOf('\\n'))s+='\\n';}s='<'+nodeName+s+'>';if(String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/))throw s;var isVoid=String(nodeName).match(VOID_ELEMENTS);if(isVoid)s=s.replace(/>$/,' />');var pieces=[];if(html){// if multiline, indent.\nif(pretty&&isLargeString(html)){html='\\n'+indentChar+indent(html,indentChar);}s+=html;}else if(vnode.children){var hasLarge=pretty&&~s.indexOf('\\n');for(var i=0;i';}if(!isVoid){if(pretty&&~s.indexOf('\\n'))s+='\\n';s+=''+nodeName+'>';}return s;}function assign$1(obj,props){for(var i in props){obj[i]=props[i];}return obj;}function getNodeProps$1(vnode){var props=assign$1({},vnode.attributes);props.children=vnode.children;var defaultProps=vnode.nodeName.defaultProps;if(defaultProps!==undefined){for(var i in defaultProps){if(props[i]===undefined){props[i]=defaultProps[i];}}}return props;}var n=function n(t,r,u,e){for(var p=1;p\"===t?(a(),u=1):u&&(\"=\"===t?(u=4,r=e,e=\"\"):\"/\"===t?(a(),3===u&&(s=s[0]),u=s,(s=s[0]).push(u,4),u=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(a(),u=2):e+=t);}}return a(),s;},r=\"function\"==typeof Map,u=r?new Map():{},e=r?function(n){var r=u.get(n);return r||u.set(n,r=t(n)),r;}:function(n){for(var r=\"\",e=0;e1?r:r[0];}var html=htm.bind(h);var WeElement=Component;var defineElement=define;function createRef(){return{};}options.root.Omi={h:h,createElement:h,cloneElement:cloneElement,createRef:createRef,Component:Component,render:render,rerender:rerender,options:options,WeElement:WeElement,define:define,rpx:rpx,ModelView:ModelView,defineElement:defineElement,classNames:classNames,extractClass:extractClass,getHost:getHost,renderToString:renderToString,tag:tag,merge:merge,html:html,htm:htm};options.root.omi=options.root.Omi;options.root.Omi.version='omio-2.2.1';var omi={h:h,createElement:h,cloneElement:cloneElement,createRef:createRef,Component:Component,render:render,rerender:rerender,options:options,WeElement:WeElement,define:define,rpx:rpx,ModelView:ModelView,defineElement:defineElement,classNames:classNames,extractClass:extractClass,getHost:getHost,renderToString:renderToString,tag:tag,merge:merge,html:html,htm:htm};exports.default=omi;exports.h=h;exports.createElement=h;exports.cloneElement=cloneElement;exports.createRef=createRef;exports.Component=Component;exports.render=render;exports.rerender=rerender;exports.options=options;exports.WeElement=WeElement;exports.define=define;exports.rpx=rpx;exports.ModelView=ModelView;exports.defineElement=defineElement;exports.classNames=classNames;exports.extractClass=extractClass;exports.getHost=getHost;exports.renderToString=renderToString;exports.tag=tag;exports.merge=merge;exports.html=html;exports.htm=htm;//# sourceMappingURL=omi.esm.js.map\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))\n\n/***/ }),\n\n/***/ 1:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/// css base code, injected by the css-loader\nmodule.exports=function(useSourceMap){var list=[];// return the list of modules as css string\nlist.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\nlist.i=function(modules,mediaQuery){if(typeof modules===\"string\")modules=[[null,modules,\"\"]];var alreadyImportedModules={};for(var i=0;i {\n// let newP = document.createElement('div')\n// newP.className = '_code-ctn'\n// let pre = code.parentNode\n// let ctn = pre.parentNode\n// if (pre.nodeName === 'PRE') {\n// ctn.insertBefore(newP, pre)\n// let hl = document.createElement('div')\n// hl.className = '_hl'\n// newP.appendChild(hl)\n// newP.appendChild(pre)\n// let nums = codeHlNumArr[index]\n// let max = Math.max.apply(null, nums)\n// let inner = ''\n// for (let i = 0; i <= max; i++) {\n// if (nums.indexOf(i) == -1) {\n// inner += '
'\n// } else {\n// inner += ''\n// }\n// }\n// hl.innerHTML = inner\n// }\n// })\n//fix line-highlight\nwindow.dispatchEvent(new Event('resize'));}},{key:'_arrToNumber',value:function _arrToNumber(numArr){var arr=[];numArr.forEach(function(item){if(item.indexOf('-')!==-1){var tempArr=item.split('-');var begin=Number(tempArr[0]);var end=Number(tempArr[1]);for(var i=begin;i0)return false;}return true;}},{key:'render',value:function render(){if(!this.demo)return;return Omi.h('div',null,Omi.h('iframe',{style:'width:'+(window.innerWidth-1180)+'px;height:'+(window.innerHeight-59)+'px;visibility:'+(this.show?'visible':'hidden')+';',src:this.demo}),Omi.h('div',{'class':'icon',onClick:this.toggle},Omi.h('svg',{viewBox:'64 64 896 896','class':'',style:'left:'+(this.show?'14px':'0px')+';','data-icon':'left',width:'1.2em',height:'1.2em',fill:'currentColor','aria-hidden':'true',focusable:'false'},Omi.h('path',{d:'M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z'})),Omi.h('svg',{viewBox:'64 64 896 896','class':'',style:'left:'+(this.show?'-14px':'0px')+';','data-icon':'right',width:'1.2em',height:'1.2em',fill:'currentColor','aria-hidden':'true',focusable:'false'},Omi.h('path',{d:'M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z'}))));}}]);return _class2;}(_omi.WeElement));\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};var asap=__webpack_require__(6);function noop(){}// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR=null;var IS_ERROR={};function getThen(obj){try{return obj.then;}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}function tryCallOne(fn,a){try{return fn(a);}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}function tryCallTwo(fn,a,b){try{fn(a,b);}catch(ex){LAST_ERROR=ex;return IS_ERROR;}}module.exports=Promise;function Promise(fn){if(_typeof(this)!=='object'){throw new TypeError('Promises must be constructed via new');}if(typeof fn!=='function'){throw new TypeError('Promise constructor\\'s argument is not a function');}this._75=0;this._83=0;this._18=null;this._38=null;if(fn===noop)return;doResolve(fn,this);}Promise._47=null;Promise._71=null;Promise._44=noop;Promise.prototype.then=function(onFulfilled,onRejected){if(this.constructor!==Promise){return safeThen(this,onFulfilled,onRejected);}var res=new Promise(noop);handle(this,new Handler(onFulfilled,onRejected,res));return res;};function safeThen(self,onFulfilled,onRejected){return new self.constructor(function(resolve,reject){var res=new Promise(noop);res.then(resolve,reject);handle(self,new Handler(onFulfilled,onRejected,res));});}function handle(self,deferred){while(self._83===3){self=self._18;}if(Promise._47){Promise._47(self);}if(self._83===0){if(self._75===0){self._75=1;self._38=deferred;return;}if(self._75===1){self._75=2;self._38=[self._38,deferred];return;}self._38.push(deferred);return;}handleResolved(self,deferred);}function handleResolved(self,deferred){asap(function(){var cb=self._83===1?deferred.onFulfilled:deferred.onRejected;if(cb===null){if(self._83===1){resolve(deferred.promise,self._18);}else{reject(deferred.promise,self._18);}return;}var ret=tryCallOne(cb,self._18);if(ret===IS_ERROR){reject(deferred.promise,LAST_ERROR);}else{resolve(deferred.promise,ret);}});}function resolve(self,newValue){// Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\nif(newValue===self){return reject(self,new TypeError('A promise cannot be resolved with itself.'));}if(newValue&&((typeof newValue==='undefined'?'undefined':_typeof(newValue))==='object'||typeof newValue==='function')){var then=getThen(newValue);if(then===IS_ERROR){return reject(self,LAST_ERROR);}if(then===self.then&&newValue instanceof Promise){self._83=3;self._18=newValue;finale(self);return;}else if(typeof then==='function'){doResolve(then.bind(newValue),self);return;}}self._83=1;self._18=newValue;finale(self);}function reject(self,newValue){self._83=2;self._18=newValue;if(Promise._71){Promise._71(self,newValue);}finale(self);}function finale(self){if(self._75===1){handle(self,self._38);self._38=null;}if(self._75===2){for(var i=0;i768};var id=0;this.map={};this.positionMap={};_config2.default.menus[this.data.lan].forEach(function(menu,index){menu.list.forEach(function(item,subIndex){item.id=id++;item.position=[index,subIndex];_this.map[item.id]=item;item.index=index;item.subIndex=subIndex;_this.positionMap[index+'-'+subIndex]=item;});});this.preIndex=0;this.preSubIndex=0;}_createClass(Store,[{key:'getNext',value:function getNext(){var item=this.positionMap[this.data.position.join('-')];if(item){return this.map[item.id+1];}}},{key:'getPre',value:function getPre(){var item=this.positionMap[this.data.position.join('-')];if(item){return this.map[item.id-1];}}},{key:'init',value:function init(){var _this2=this;this.remarkable=new Remarkable({html:true});if(location.hash===\"\"){this.data.position=[0,0];this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md,this.data.lan,function(m){_this2.data.html=_this2.remarkable.render(m);});}this.demo=this.data.menus[this.data.lan][0].list[0].demo;this.initRouter();}},{key:'toogleSidebar',value:function toogleSidebar(){this.data.sideBarShow=!this.data.sideBarShow;}},{key:'hideSidebar',value:function hideSidebar(){this.data.sideBarShow=false;}},{key:'initRouter',value:function initRouter(){var _this3=this;var menus=this.data.menus[this.data.lan];menus.forEach(function(item){item.list.forEach(function(subItem){route('/'+subItem.md,function(evt){menus[_this3.preIndex].list[_this3.preSubIndex].selected=false;_this3.preIndex=evt.query.index;_this3.preSubIndex=evt.query.subIndex;_this3.data.position=[Number(evt.query.index),Number(evt.query.subIndex)];_this3.data.sideBarShow=false;_this3.myDemo.demo=menus[_this3.preIndex].list[_this3.preSubIndex].demo;_this3.myDemo.update();_this3.getMarkDown(subItem.md,_this3.data.lan,function(m){_this3.data.html=_this3.remarkable.render(m);document.body.scrollTop=0;document.documentElement.scrollTop=0;});});});});}},{key:'getMarkDown',value:function getMarkDown(name,lan,callback){__webpack_require__(36)(\"./\"+lan+'/'+name+'.md').then(function(m){callback(m);});}}]);return Store;}();exports.default=Store;\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(exports,\"__esModule\",{value:true});var config={menus:{'zh-cn':[{title:'Omim',list:[{name:'简介',md:'introduction'}]},{title:'基础',list:[{name:'Button 按钮',md:'button',demo:'./repl/button.html'},{name:'Fab 动作按钮',md:'fab',demo:'./repl/fab.html'},{name:'Icon 图标',md:'icon',demo:'./repl/icon.html'},{name:'IconButton 图标按钮',md:'icon-button',demo:'./repl/icon-button.html'},{name:'Avatar 头像',md:'avatar',demo:'./repl/avatar.html'},{name:'Loading 加载',md:'loading',demo:'./repl/loading.html'},{name:'Breadcrumb 面包屑',md:'breadcrumb',demo:'./repl/breadcrumb.html'}]},{title:'公用',list:[{name:'Transition 过渡',md:'transition',demo:'https://tencent.github.io/omi/packages/omim/demos/transition/index.html'},{name:'To 运动',md:'to',demo:'https://tencent.github.io/omi/packages/omim/demos/to/index.html'},{name:'Theme 主题',md:'theme',demo:'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html'},{name:'Typography 排版',md:'typography',demo:'./repl/typography.html'},{name:'Layout Grid 网格布局',md:'layout-grid',demo:'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html'}]},{title:'布局',list:[{name:'Row 行',md:'row',demo:'./repl/row.html'},{name:'Elevation 高度盒',md:'elevation',demo:'./repl/elevation.html'},{name:'Image List 图片列表',md:'image-list',demo:'./repl/image-list.html'}]},{title:'导航',list:[{name:'Menu 菜单',md:'menu',demo:'./repl/menu.html'},{name:'Drawer 抽屉',md:'drawer',demo:'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html'},{name:'Tab 标签切换',md:'tab',demo:'./repl/tab.html'},{name:'Nav 导航',md:'nav',demo:'./repl/nav.html'},{name:'Pagination 分页',md:'pagination',demo:'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html'},{name:'Top App Bar 顶部栏',md:'top-app-bar',demo:'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html'}]},{title:'操作反馈',list:[{name:'Dialog 对话框',md:'dialog',demo:'./repl/dialog.html'},{name:'Snackbar 提醒',md:'snackbar',demo:'./repl/snackbar.html'},{name:'ActionSheet 行动表',md:'action-sheet',demo:'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},{name:'ColorPicker 颜色选择机',md:'color-picker',demo:'./repl/color-picker.html'},{name:'Popover 提示',md:'popover',demo:'https://tencent.github.io/omi/packages/omim/demos/popover/index.html'},{name:'Toast 弹出提示',md:'toast',demo:'https://tencent.github.io/omi/packages/omim/demos/toast/index.html'}]},{title:'表单',list:[{name:'Text Field 文本输入',md:'text-field',demo:'./repl/text-field.html'},{name:'Select 下拉选择',md:'select',demo:'./repl/select.html'},{name:'Checkbox 复选框',md:'checkbox',demo:'./repl/checkbox.html'},{name:'Radio 单选框',md:'radio',demo:'./repl/radio.html'},{name:'Switch 切换',md:'switch',demo:'./repl/switch.html'},{name:'DateTimePicker 时间日期选择器',md:'date-time-picker',demo:'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html'},{name:'Picker 原生选择器',md:'picker',demo:'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html'},{name:'TransferList 穿梭列表',md:'transfer-list',demo:'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html'}]},{title:'数据',list:[{name:'List 列表',md:'list',demo:'./repl/list.html'},{name:'Table 表格',md:'table',demo:'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html'},{name:'Linear Progress 线性进度',md:'linear-progress',demo:'./repl/linear-progress.html'},{name:'Slider 滑块',md:'slider',demo:'./repl/slider.html'},{name:'Chips 标签',md:'chips',demo:'./repl/chips.html'},{name:'Tag 标签',md:'tag',demo:'./repl/tag.html'},{name:'Badge 徽章',md:'badge',demo:'./repl/badge.html'},{name:'Tree 树',md:'tree',demo:'./repl/tree.html'},{name:'Card 卡片',md:'card',demo:'./repl/card.html'},{name:'Path Progress 路径进度',md:'path-progress',demo:'./repl/path-progress.html'},{name:'Paper 纸片',md:'paper',demo:'./repl/paper.html'},{name:'Step 步骤',md:'step',demo:'./repl/step.html'},{name:'Simple Card 简单卡片',md:'simple-card',demo:'./repl/simple-card.html'},{name:'Editor 富文本编辑器',md:'editor',demo:'https://tencent.github.io/omi/packages/omim/demos/editor/index.html'},{name:'Spreadsheet 电子表格',md:'spreadsheet',demo:'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html'},{name:'Rate 评分',md:'rate',demo:'https://tencent.github.io/omi/packages/omim/demos/rate/index.html'}]},{title:'图表',list:[{name:'简介',md:'introduction-chart'},{name:'柱状图',md:'bar',demo:'./repl/bar.html'},{name:'线状图',md:'line',demo:'./repl/line.html'},{name:'散点图',md:'scatter',demo:'./repl/scatter.html'},{name:'饼图',md:'pie',demo:'./repl/pie.html'},{name:'环状图',md:'doughnut',demo:'./repl/doughnut.html'},{name:'雷达图',md:'radar',demo:'./repl/radar.html'},{name:'极区图',md:'polar-area',demo:'./repl/polar-area.html'},{name:'气泡图',md:'bubble',demo:'./repl/bubble.html'},{name:'合成图',md:'bar-line',demo:'./repl/bar-line.html'}]}],en:[{title:'Omim',list:[{name:'Introduction',md:'introduction'}]},{title:'Base',list:[{name:'Button',md:'button',demo:'./repl/button.html'},{name:'Fab',md:'fab',demo:'./repl/fab.html'},{name:'Icon',md:'icon',demo:'./repl/icon.html'},{name:'IconButton',md:'icon-button',demo:'./repl/icon-button.html'},{name:'Avatar',md:'avatar',demo:'./repl/avatar.html'},{name:'Loading',md:'loading',demo:'./repl/loading.html'},{name:'Breadcrumb',md:'breadcrumb',demo:'./repl/breadcrumb.html'}]},{title:'Util',list:[{name:'Transition',md:'transition',demo:'https://tencent.github.io/omi/packages/omim/demos/transition/index.html'},{name:'To',md:'to',demo:'https://tencent.github.io/omi/packages/omim/demos/to/index.html'},{name:'Theme',md:'theme',demo:'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html'},{name:'Typography',md:'typography',demo:'./repl/typography.html'},{name:'Layout Grid',md:'layout-grid',demo:'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html'}]},{title:'Layout',list:[{name:'Row',md:'row',demo:'./repl/row.html'},{name:'Elevation',md:'elevation',demo:'./repl/elevation.html'},{name:'Image List',md:'image-list',demo:'./repl/image-list.html'}]},{title:'Navigation',list:[{name:'Menu',md:'menu',demo:'./repl/menu.html'},{name:'Drawer',md:'drawer',demo:'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html'},{name:'Tab',md:'tab',demo:'./repl/tab.html'},{name:'Nav',md:'nav',demo:'./repl/nav.html'},{name:'Pagination',md:'pagination',demo:'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html'},{name:'Top App Bar',md:'top-app-bar',demo:'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html'}]},{title:'Operational Feedback',list:[{name:'Dialog',md:'dialog',demo:'./repl/dialog.html'},{name:'Snackbar',md:'snackbar',demo:'./repl/snackbar.html'},{name:'ActionSheet',md:'action-sheet',demo:'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},{name:'ColorPicker',md:'color-picker',demo:'./repl/color-picker.html'},{name:'Popover',md:'popover',demo:'https://tencent.github.io/omi/packages/omim/demos/popover/index.html'},{name:'Toast',md:'toast',demo:'https://tencent.github.io/omi/packages/omim/demos/toast/index.html'}]},{title:'Form',list:[{name:'Text Field',md:'text-field',demo:'./repl/text-field.html'},{name:'Select',md:'select',demo:'./repl/select.html'},{name:'Checkbox',md:'checkbox',demo:'./repl/checkbox.html'},{name:'Radio',md:'radio',demo:'./repl/radio.html'},{name:'Switch',md:'switch',demo:'./repl/switch.html'},{name:'DateTimePicker',md:'date-time-picker',demo:'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html'},{name:'Picker',md:'picker',demo:'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html'},{name:'TransferList',md:'transfer-list',demo:'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html'}]},{title:'Data',list:[{name:'List',md:'list',demo:'./repl/list.html'},{name:'Table',md:'table',demo:'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html'},{name:'Linear Progress',md:'linear-progress',demo:'./repl/linear-progress.html'},{name:'Slider',md:'slider',demo:'./repl/slider.html'},{name:'Chips',md:'chips',demo:'./repl/chips.html'},{name:'Tag',md:'tag',demo:'./repl/tag.html'},{name:'Badge',md:'badge',demo:'./repl/badge.html'},{name:'Tree',md:'tree',demo:'./repl/tree.html'},{name:'Card',md:'card',demo:'./repl/card.html'},{name:'Path Progress',md:'path-progress',demo:'./repl/path-progress.html'},{name:'Paper',md:'paper',demo:'./repl/paper.html'},{name:'Step',md:'step',demo:'./repl/step.html'},{name:'Simple Card',md:'simple-card',demo:'./repl/simple-card.html'},{name:'Editor',md:'editor',demo:'https://tencent.github.io/omi/packages/omim/demos/editor/index.html'},{name:'Spreadsheet',md:'spreadsheet',demo:'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html'},{name:'Rate',md:'rate',demo:'https://tencent.github.io/omi/packages/omim/demos/rate/index.html'}]},{title:'Chart',list:[{name:'Introduction',md:'introduction-chart'},{name:'Bar',md:'bar',demo:'./repl/bar.html'},{name:'Line',md:'line',demo:'./repl/line.html'},{name:'Scatter',md:'scatter',demo:'./repl/scatter.html'},{name:'Pie',md:'pie',demo:'./repl/pie.html'},{name:'Doughnut',md:'doughnut',demo:'./repl/doughnut.html'},{name:'Radar',md:'radar',demo:'./repl/radar.html'},{name:'PolarArea',md:'polar-area',demo:'./repl/polar-area.html'},{name:'Bubble',md:'bubble',demo:'./repl/bubble.html'},{name:'BarLine',md:'bar-line',demo:'./repl/bar-line.html'}]}]}};exports.default=config;\n\n/***/ }),\n\n/***/ 34:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {Object.defineProperty(exports,\"__esModule\",{value:true});var _typeof=typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj;};exports.default=route;/*!\n * omi-router v2.0.8 by dntzhang\n * Router for Omi.\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */var p2r=__webpack_require__(35);var mapping={};var root=getGlobal();root.route=route;root.route.params=null;root.historyLength=0;root.route.to=function(path,data){root.route._routeByTo=true;root.route.data=data;if(path[0]==='#'){location.hash=path;}else{location.hash='#'+path;}};window.addEventListener('hashchange',change);function change(evt){var byNative=false;//need to fix a line by omi-link\nif(window.history.length===root.historyLength&&!root.route._routeByTo){//keep alive mode\nbyNative=true;}root.route._routeByTo=false;root.historyLength=window.history.length;var prevent=false;if(evt.type==='hashchange'&&root.route.before){prevent=root.route.before(evt)===false;}if(prevent)return;var path=window.location.hash.replace('#','');var notFound=true;Object.keys(mapping).every(function(key){var toArr=path.split('?')[0].match(mapping[key].reg);if(toArr){var pathArr=key.match(mapping[key].reg);root.route.params=getParams(toArr,pathArr);root.route.query=getUrlParams(path);mapping[key].callback({params:root.route.params,query:getUrlParams(path),data:root.route.data,byNative:byNative});root.route.data=null;notFound=false;return false;}return true;});if(notFound){mapping['*']&&mapping['*'].callback({byNative:byNative});}if(evt.type==='hashchange'&&root.route.after){root.route.after(evt);}}document.addEventListener('DOMContentLoaded',change);function getParams(toArr,pathArr){var params={};toArr.forEach(function(item,index){if(index>0){params[pathArr[index].replace(':','')]=item;}});return params;}function route(path,callback){mapping[path]={callback:callback,reg:p2r(path)};}function getGlobal(){if((typeof global==='undefined'?'undefined':_typeof(global))!=='object'||!global||global.Math!==Math||global.Array!==Array){return self||window||global||function(){return this;}();}return global;}function getUrlParams(url){url=url.replace(/#.*$/,'');var queryArray=url.split(/[?&]/).slice(1);var i,args={};for(i=0;i [\"test\", \"\\d+\", undefined, \"?\"]\n// \"(\\\\d+)\" => [undefined, undefined, \"\\d+\", undefined]\n'(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'].join('|'),'g');/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */function parse(str,options){var tokens=[];var key=0;var index=0;var path='';var defaultDelimiter=options&&options.delimiter||DEFAULT_DELIMITER;var delimiters=options&&options.delimiters||DEFAULT_DELIMITERS;var pathEscaped=false;var res;while((res=PATH_REGEXP.exec(str))!==null){var m=res[0];var escaped=res[1];var offset=res.index;path+=str.slice(index,offset);index=offset+m.length;// Ignore already escaped sequences.\nif(escaped){path+=escaped[1];pathEscaped=true;continue;}var prev='';var next=str[index];var name=res[2];var capture=res[3];var group=res[4];var modifier=res[5];if(!pathEscaped&&path.length){var k=path.length-1;if(delimiters.indexOf(path[k])>-1){prev=path[k];path=path.slice(0,k);}}// Push the current path onto the tokens.\nif(path){tokens.push(path);path='';pathEscaped=false;}var partial=prev!==''&&next!==undefined&&next!==prev;var repeat=modifier==='+'||modifier==='*';var optional=modifier==='?'||modifier==='*';var delimiter=prev||defaultDelimiter;var pattern=capture||group;tokens.push({name:name||key++,prefix:prev,delimiter:delimiter,optional:optional,repeat:repeat,partial:partial,pattern:pattern?escapeGroup(pattern):'[^'+escapeString(delimiter)+']+?'});}// Push any remaining characters.\nif(path||index-1;}else{var capture=token.repeat?'(?:'+token.pattern+')(?:'+escapeString(token.delimiter)+'(?:'+token.pattern+'))*':token.pattern;if(keys)keys.push(token);if(token.optional){if(token.partial){route+=escapeString(token.prefix)+'('+capture+')?';}else{route+='(?:'+escapeString(token.prefix)+'('+capture+'))?';}}else{route+=escapeString(token.prefix)+'('+capture+')';}}}if(end){if(!strict)route+='(?:'+delimiter+')?';route+=endsWith==='$'?'$':'(?='+endsWith+')';}else{if(!strict)route+='(?:'+delimiter+'(?='+endsWith+'))?';if(!isEndDelimited)route+='(?='+delimiter+'|'+endsWith+')';}return new RegExp(route,flags(options));}/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */function pathToRegexp(path,keys,options){if(path instanceof RegExp){return regexpToRegexp(path,keys);}if(Array.isArray(path)){return arrayToRegexp(/** @type {!Array} */path,keys,options);}return stringToRegexp(/** @type {string} */path,keys,options);}\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./en/action-sheet.md\": [\n\t\t37,\n\t\t123\n\t],\n\t\"./en/avatar.md\": [\n\t\t38,\n\t\t122\n\t],\n\t\"./en/badge.md\": [\n\t\t39,\n\t\t121\n\t],\n\t\"./en/bar-line.md\": [\n\t\t40,\n\t\t120\n\t],\n\t\"./en/bar.md\": [\n\t\t41,\n\t\t119\n\t],\n\t\"./en/breadcrumb.md\": [\n\t\t42,\n\t\t118\n\t],\n\t\"./en/bubble.md\": [\n\t\t43,\n\t\t117\n\t],\n\t\"./en/button.md\": [\n\t\t44,\n\t\t116\n\t],\n\t\"./en/card.md\": [\n\t\t45,\n\t\t115\n\t],\n\t\"./en/checkbox.md\": [\n\t\t46,\n\t\t114\n\t],\n\t\"./en/chips.md\": [\n\t\t47,\n\t\t113\n\t],\n\t\"./en/color-picker.md\": [\n\t\t48,\n\t\t112\n\t],\n\t\"./en/date-time-picker.md\": [\n\t\t49,\n\t\t111\n\t],\n\t\"./en/dialog.md\": [\n\t\t50,\n\t\t110\n\t],\n\t\"./en/doughnut.md\": [\n\t\t51,\n\t\t109\n\t],\n\t\"./en/drawer.md\": [\n\t\t52,\n\t\t108\n\t],\n\t\"./en/editor.md\": [\n\t\t53,\n\t\t107\n\t],\n\t\"./en/elevation.md\": [\n\t\t54,\n\t\t106\n\t],\n\t\"./en/fab.md\": [\n\t\t55,\n\t\t105\n\t],\n\t\"./en/icon-button.md\": [\n\t\t56,\n\t\t104\n\t],\n\t\"./en/icon.md\": [\n\t\t57,\n\t\t103\n\t],\n\t\"./en/image-list.md\": [\n\t\t58,\n\t\t102\n\t],\n\t\"./en/introduction-chart.md\": [\n\t\t59,\n\t\t101\n\t],\n\t\"./en/introduction.md\": [\n\t\t60,\n\t\t100\n\t],\n\t\"./en/layout-grid.md\": [\n\t\t61,\n\t\t99\n\t],\n\t\"./en/line.md\": [\n\t\t62,\n\t\t98\n\t],\n\t\"./en/linear-progress.md\": [\n\t\t63,\n\t\t97\n\t],\n\t\"./en/list.md\": [\n\t\t64,\n\t\t96\n\t],\n\t\"./en/loading.md\": [\n\t\t65,\n\t\t95\n\t],\n\t\"./en/menu.md\": [\n\t\t66,\n\t\t94\n\t],\n\t\"./en/nav.md\": [\n\t\t67,\n\t\t93\n\t],\n\t\"./en/pagination.md\": [\n\t\t68,\n\t\t92\n\t],\n\t\"./en/paper.md\": [\n\t\t69,\n\t\t91\n\t],\n\t\"./en/path-progress.md\": [\n\t\t70,\n\t\t90\n\t],\n\t\"./en/picker.md\": [\n\t\t71,\n\t\t89\n\t],\n\t\"./en/pie.md\": [\n\t\t72,\n\t\t88\n\t],\n\t\"./en/polar-area.md\": [\n\t\t73,\n\t\t87\n\t],\n\t\"./en/popover.md\": [\n\t\t74,\n\t\t86\n\t],\n\t\"./en/radar.md\": [\n\t\t75,\n\t\t85\n\t],\n\t\"./en/radio.md\": [\n\t\t76,\n\t\t84\n\t],\n\t\"./en/rate.md\": [\n\t\t77,\n\t\t83\n\t],\n\t\"./en/row.md\": [\n\t\t78,\n\t\t82\n\t],\n\t\"./en/scatter.md\": [\n\t\t79,\n\t\t81\n\t],\n\t\"./en/select.md\": [\n\t\t80,\n\t\t80\n\t],\n\t\"./en/simple-card.md\": [\n\t\t81,\n\t\t79\n\t],\n\t\"./en/slider.md\": [\n\t\t82,\n\t\t78\n\t],\n\t\"./en/snackbar.md\": [\n\t\t83,\n\t\t77\n\t],\n\t\"./en/spreadsheet.md\": [\n\t\t84,\n\t\t76\n\t],\n\t\"./en/step.md\": [\n\t\t85,\n\t\t75\n\t],\n\t\"./en/switch.md\": [\n\t\t86,\n\t\t74\n\t],\n\t\"./en/tab.md\": [\n\t\t87,\n\t\t73\n\t],\n\t\"./en/table.md\": [\n\t\t88,\n\t\t72\n\t],\n\t\"./en/tag.md\": [\n\t\t89,\n\t\t71\n\t],\n\t\"./en/text-field.md\": [\n\t\t90,\n\t\t70\n\t],\n\t\"./en/theme.md\": [\n\t\t91,\n\t\t69\n\t],\n\t\"./en/to.md\": [\n\t\t92,\n\t\t68\n\t],\n\t\"./en/toast.md\": [\n\t\t93,\n\t\t67\n\t],\n\t\"./en/top-app-bar.md\": [\n\t\t94,\n\t\t66\n\t],\n\t\"./en/transfer-list.md\": [\n\t\t95,\n\t\t65\n\t],\n\t\"./en/transition.md\": [\n\t\t96,\n\t\t64\n\t],\n\t\"./en/tree.md\": [\n\t\t97,\n\t\t63\n\t],\n\t\"./en/typography.md\": [\n\t\t98,\n\t\t62\n\t],\n\t\"./zh-cn/action-sheet.md\": [\n\t\t99,\n\t\t61\n\t],\n\t\"./zh-cn/avatar.md\": [\n\t\t100,\n\t\t60\n\t],\n\t\"./zh-cn/badge.md\": [\n\t\t101,\n\t\t59\n\t],\n\t\"./zh-cn/bar-line.md\": [\n\t\t102,\n\t\t58\n\t],\n\t\"./zh-cn/bar.md\": [\n\t\t103,\n\t\t57\n\t],\n\t\"./zh-cn/breadcrumb.md\": [\n\t\t104,\n\t\t56\n\t],\n\t\"./zh-cn/bubble.md\": [\n\t\t105,\n\t\t55\n\t],\n\t\"./zh-cn/button.md\": [\n\t\t106,\n\t\t54\n\t],\n\t\"./zh-cn/card.md\": [\n\t\t107,\n\t\t53\n\t],\n\t\"./zh-cn/checkbox.md\": [\n\t\t108,\n\t\t52\n\t],\n\t\"./zh-cn/chips.md\": [\n\t\t109,\n\t\t51\n\t],\n\t\"./zh-cn/color-picker.md\": [\n\t\t110,\n\t\t50\n\t],\n\t\"./zh-cn/date-time-picker.md\": [\n\t\t111,\n\t\t49\n\t],\n\t\"./zh-cn/dialog.md\": [\n\t\t112,\n\t\t48\n\t],\n\t\"./zh-cn/doughnut.md\": [\n\t\t113,\n\t\t47\n\t],\n\t\"./zh-cn/drawer.md\": [\n\t\t114,\n\t\t46\n\t],\n\t\"./zh-cn/editor.md\": [\n\t\t115,\n\t\t45\n\t],\n\t\"./zh-cn/elevation.md\": [\n\t\t116,\n\t\t44\n\t],\n\t\"./zh-cn/fab.md\": [\n\t\t117,\n\t\t43\n\t],\n\t\"./zh-cn/icon-button.md\": [\n\t\t118,\n\t\t42\n\t],\n\t\"./zh-cn/icon.md\": [\n\t\t119,\n\t\t41\n\t],\n\t\"./zh-cn/image-list.md\": [\n\t\t120,\n\t\t40\n\t],\n\t\"./zh-cn/introduction-chart.md\": [\n\t\t121,\n\t\t39\n\t],\n\t\"./zh-cn/introduction.md\": [\n\t\t122,\n\t\t38\n\t],\n\t\"./zh-cn/layout-grid.md\": [\n\t\t123,\n\t\t37\n\t],\n\t\"./zh-cn/line.md\": [\n\t\t124,\n\t\t36\n\t],\n\t\"./zh-cn/linear-progress.md\": [\n\t\t125,\n\t\t35\n\t],\n\t\"./zh-cn/list.md\": [\n\t\t126,\n\t\t34\n\t],\n\t\"./zh-cn/loading.md\": [\n\t\t127,\n\t\t33\n\t],\n\t\"./zh-cn/menu.md\": [\n\t\t128,\n\t\t32\n\t],\n\t\"./zh-cn/nav.md\": [\n\t\t129,\n\t\t31\n\t],\n\t\"./zh-cn/pagination.md\": [\n\t\t130,\n\t\t30\n\t],\n\t\"./zh-cn/paper.md\": [\n\t\t131,\n\t\t29\n\t],\n\t\"./zh-cn/path-progress.md\": [\n\t\t132,\n\t\t28\n\t],\n\t\"./zh-cn/picker.md\": [\n\t\t133,\n\t\t27\n\t],\n\t\"./zh-cn/pie.md\": [\n\t\t134,\n\t\t26\n\t],\n\t\"./zh-cn/polar-area.md\": [\n\t\t135,\n\t\t25\n\t],\n\t\"./zh-cn/popover.md\": [\n\t\t136,\n\t\t24\n\t],\n\t\"./zh-cn/radar.md\": [\n\t\t137,\n\t\t23\n\t],\n\t\"./zh-cn/radio.md\": [\n\t\t138,\n\t\t22\n\t],\n\t\"./zh-cn/rate.md\": [\n\t\t139,\n\t\t21\n\t],\n\t\"./zh-cn/row.md\": [\n\t\t140,\n\t\t20\n\t],\n\t\"./zh-cn/scatter.md\": [\n\t\t141,\n\t\t19\n\t],\n\t\"./zh-cn/select.md\": [\n\t\t142,\n\t\t18\n\t],\n\t\"./zh-cn/simple-card.md\": [\n\t\t143,\n\t\t17\n\t],\n\t\"./zh-cn/slider.md\": [\n\t\t144,\n\t\t16\n\t],\n\t\"./zh-cn/snackbar.md\": [\n\t\t145,\n\t\t15\n\t],\n\t\"./zh-cn/spreadsheet.md\": [\n\t\t146,\n\t\t14\n\t],\n\t\"./zh-cn/step.md\": [\n\t\t147,\n\t\t13\n\t],\n\t\"./zh-cn/switch.md\": [\n\t\t148,\n\t\t12\n\t],\n\t\"./zh-cn/tab.md\": [\n\t\t149,\n\t\t11\n\t],\n\t\"./zh-cn/table.md\": [\n\t\t150,\n\t\t10\n\t],\n\t\"./zh-cn/tag.md\": [\n\t\t151,\n\t\t9\n\t],\n\t\"./zh-cn/text-field.md\": [\n\t\t152,\n\t\t8\n\t],\n\t\"./zh-cn/theme.md\": [\n\t\t153,\n\t\t7\n\t],\n\t\"./zh-cn/to.md\": [\n\t\t154,\n\t\t6\n\t],\n\t\"./zh-cn/toast.md\": [\n\t\t155,\n\t\t5\n\t],\n\t\"./zh-cn/top-app-bar.md\": [\n\t\t156,\n\t\t4\n\t],\n\t\"./zh-cn/transfer-list.md\": [\n\t\t157,\n\t\t3\n\t],\n\t\"./zh-cn/transition.md\": [\n\t\t158,\n\t\t2\n\t],\n\t\"./zh-cn/tree.md\": [\n\t\t159,\n\t\t1\n\t],\n\t\"./zh-cn/typography.md\": [\n\t\t160,\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 36;\nmodule.exports = webpackAsyncContext;\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nif(typeof Promise==='undefined'){// Rejection tracking prevents a common issue where React gets into an\n// inconsistent state due to an error, but it gets swallowed by a Promise,\n// and the user has no idea what causes React's erratic future behavior.\n__webpack_require__(5).enable();window.Promise=__webpack_require__(7);}// fetch() polyfill for making API calls.\n__webpack_require__(8);// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign=__webpack_require__(9);// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif(false){require('raf').polyfill(global);}\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar Promise=__webpack_require__(3);var DEFAULT_WHITELIST=[ReferenceError,TypeError,RangeError];var enabled=false;exports.disable=disable;function disable(){enabled=false;Promise._47=null;Promise._71=null;}exports.enable=enable;function enable(options){options=options||{};if(enabled)disable();enabled=true;var id=0;var displayId=0;var rejections={};Promise._47=function(promise){if(promise._83===2&&// IS REJECTED\nrejections[promise._56]){if(rejections[promise._56].logged){onHandled(promise._56);}else{clearTimeout(rejections[promise._56].timeout);}delete rejections[promise._56];}};Promise._71=function(promise,err){if(promise._75===0){// not yet handled\npromise._56=id++;rejections[promise._56]={displayId:null,error:err,timeout:setTimeout(onUnhandled.bind(null,promise._56),// For reference errors and type errors, this almost always\n// means the programmer made a mistake, so log them after just\n// 100ms\n// otherwise, wait 2 seconds to see if they get handled\nmatchWhitelist(err,DEFAULT_WHITELIST)?100:2000),logged:false};}};function onUnhandled(id){if(options.allRejections||matchWhitelist(rejections[id].error,options.whitelist||DEFAULT_WHITELIST)){rejections[id].displayId=displayId++;if(options.onUnhandled){rejections[id].logged=true;options.onUnhandled(rejections[id].displayId,rejections[id].error);}else{rejections[id].logged=true;logError(rejections[id].displayId,rejections[id].error);}}}function onHandled(id){if(rejections[id].logged){if(options.onHandled){options.onHandled(rejections[id].displayId,rejections[id].error);}else if(!rejections[id].onUnhandled){console.warn('Promise Rejection Handled (id: '+rejections[id].displayId+'):');console.warn(' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id '+rejections[id].displayId+'.');}}}}function logError(id,error){console.warn('Possible Unhandled Promise Rejection (id: '+id+'):');var errStr=(error&&(error.stack||error))+'';errStr.split('\\n').forEach(function(line){console.warn(' '+line);});}function matchWhitelist(error,list){return list.some(function(cls){return error instanceof cls;});}\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports=rawAsap;function rawAsap(task){if(!queue.length){requestFlush();flushing=true;}// Equivalent to push, but avoids a function call.\nqueue[queue.length]=task;}var queue=[];// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing=false;// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index=0;// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity=1024;// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush(){while(indexcapacity){// Manually shift all values starting at the index back to the\n// beginning of the queue.\nfor(var scan=0,newLength=queue.length-index;scan-1;};}function normalizeName(name){if(typeof name!=='string'){name=String(name);}if(/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)){throw new TypeError('Invalid character in header field name');}return name.toLowerCase();}function normalizeValue(value){if(typeof value!=='string'){value=String(value);}return value;}// Build a destructive iterator for the value list\nfunction iteratorFor(items){var iterator={next:function next(){var value=items.shift();return{done:value===undefined,value:value};}};if(support.iterable){iterator[Symbol.iterator]=function(){return iterator;};}return iterator;}function Headers(headers){this.map={};if(headers instanceof Headers){headers.forEach(function(value,name){this.append(name,value);},this);}else if(Array.isArray(headers)){headers.forEach(function(header){this.append(header[0],header[1]);},this);}else if(headers){Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name]);},this);}}Headers.prototype.append=function(name,value){name=normalizeName(name);value=normalizeValue(value);var oldValue=this.map[name];this.map[name]=oldValue?oldValue+','+value:value;};Headers.prototype['delete']=function(name){delete this.map[normalizeName(name)];};Headers.prototype.get=function(name){name=normalizeName(name);return this.has(name)?this.map[name]:null;};Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name));};Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=normalizeValue(value);};Headers.prototype.forEach=function(callback,thisArg){for(var name in this.map){if(this.map.hasOwnProperty(name)){callback.call(thisArg,this.map[name],name,this);}}};Headers.prototype.keys=function(){var items=[];this.forEach(function(value,name){items.push(name);});return iteratorFor(items);};Headers.prototype.values=function(){var items=[];this.forEach(function(value){items.push(value);});return iteratorFor(items);};Headers.prototype.entries=function(){var items=[];this.forEach(function(value,name){items.push([name,value]);});return iteratorFor(items);};if(support.iterable){Headers.prototype[Symbol.iterator]=Headers.prototype.entries;}function consumed(body){if(body.bodyUsed){return Promise.reject(new TypeError('Already read'));}body.bodyUsed=true;}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result);};reader.onerror=function(){reject(reader.error);};});}function readBlobAsArrayBuffer(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsArrayBuffer(blob);return promise;}function readBlobAsText(blob){var reader=new FileReader();var promise=fileReaderReady(reader);reader.readAsText(blob);return promise;}function readArrayBufferAsText(buf){var view=new Uint8Array(buf);var chars=new Array(view.length);for(var i=0;i-1?upcased:method;}function Request(input,options){options=options||{};var body=options.body;if(input instanceof Request){if(input.bodyUsed){throw new TypeError('Already read');}this.url=input.url;this.credentials=input.credentials;if(!options.headers){this.headers=new Headers(input.headers);}this.method=input.method;this.mode=input.mode;if(!body&&input._bodyInit!=null){body=input._bodyInit;input.bodyUsed=true;}}else{this.url=String(input);}this.credentials=options.credentials||this.credentials||'omit';if(options.headers||!this.headers){this.headers=new Headers(options.headers);}this.method=normalizeMethod(options.method||this.method||'GET');this.mode=options.mode||this.mode||null;this.referrer=null;if((this.method==='GET'||this.method==='HEAD')&&body){throw new TypeError('Body not allowed for GET or HEAD requests');}this._initBody(body);}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit});};function decode(body){var form=new FormData();body.trim().split('&').forEach(function(bytes){if(bytes){var split=bytes.split('=');var name=split.shift().replace(/\\+/g,' ');var value=split.join('=').replace(/\\+/g,' ');form.append(decodeURIComponent(name),decodeURIComponent(value));}});return form;}function parseHeaders(rawHeaders){var headers=new Headers();rawHeaders.split(/\\r?\\n/).forEach(function(line){var parts=line.split(':');var key=parts.shift().trim();if(key){var value=parts.join(':').trim();headers.append(key,value);}});return headers;}Body.call(Request.prototype);function Response(bodyInit,options){if(!options){options={};}this.type='default';this.status='status'in options?options.status:200;this.ok=this.status>=200&&this.status<300;this.statusText='statusText'in options?options.statusText:'OK';this.headers=new Headers(options.headers);this.url=options.url||'';this._initBody(bodyInit);}Body.call(Response.prototype);Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url});};Response.error=function(){var response=new Response(null,{status:0,statusText:''});response.type='error';return response;};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(redirectStatuses.indexOf(status)===-1){throw new RangeError('Invalid status code');}return new Response(null,{status:status,headers:{location:url}});};self.Headers=Headers;self.Request=Request;self.Response=Response;self.fetch=function(input,init){return new Promise(function(resolve,reject){var request=new Request(input,init);var xhr=new XMLHttpRequest();xhr.onload=function(){var options={status:xhr.status,statusText:xhr.statusText,headers:parseHeaders(xhr.getAllResponseHeaders()||'')};options.url='responseURL'in xhr?xhr.responseURL:options.headers.get('X-Request-URL');var body='response'in xhr?xhr.response:xhr.responseText;resolve(new Response(body,options));};xhr.onerror=function(){reject(new TypeError('Network request failed'));};xhr.ontimeout=function(){reject(new TypeError('Network request failed'));};xhr.open(request.method,request.url,true);if(request.credentials==='include'){xhr.withCredentials=true;}if('responseType'in xhr&&support.blob){xhr.responseType='blob';}request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value);});xhr.send(typeof request._bodyInit==='undefined'?null:request._bodyInit);});};self.fetch.polyfill=true;})(typeof self!=='undefined'?self:undefined);\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*//* eslint-disable no-unused-vars */var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');}return Object(val);}function shouldUseNative(){try{if(!Object.assign){return false;}// Detect buggy property enumeration order in older V8 versions.\n// https://bugs.chromium.org/p/v8/issues/detail?id=4118\nvar test1=new String('abc');// eslint-disable-line no-new-wrappers\ntest1[5]='de';if(Object.getOwnPropertyNames(test1)[0]==='5'){return false;}// https://bugs.chromium.org/p/v8/issues/detail?id=3056\nvar test2={};for(var i=0;i<10;i++){test2['_'+String.fromCharCode(i)]=i;}var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n];});if(order2.join('')!=='0123456789'){return false;}// https://bugs.chromium.org/p/v8/issues/detail?id=3056\nvar test3={};'abcdefghijklmnopqrst'.split('').forEach(function(letter){test3[letter]=letter;});if(Object.keys(Object.assign({},test3)).join('')!=='abcdefghijklmnopqrst'){return false;}return true;}catch(err){// We don't expect any of the above to throw, but better to be safe.\nreturn false;}}module.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;sHello!`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string} nodeName\tAn element name. Ex: `div`, `a`, `span`, etc.\n * @param {Object} attributes\tAny attributes/props to set on the created element.\n * @param rest\t\t\tAdditional arguments are taken to be children to append. Can be infinitely nested Arrays.\n *\n * @public\n */\nfunction h(nodeName, attributes) {\n var children = [],\n lastSimple,\n child,\n simple,\n i;\n for (i = arguments.length; i-- > 2;) {\n stack.push(arguments[i]);\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children);\n delete attributes.children;\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--;) {\n stack.push(child[i]);\n }\n } else {\n if (typeof child === 'boolean') child = null;\n\n if (simple = typeof nodeName !== 'function') {\n if (child == null) child = '';else if (typeof child === 'number') child = String(child);else if (typeof child !== 'string') simple = false;\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child;\n } else if (children.length === 0) {\n children = [child];\n } else {\n children.push(child);\n }\n\n lastSimple = simple;\n }\n }\n\n var p = new VNode();\n p.nodeName = nodeName;\n p.children = children;\n p.attributes = attributes == null ? undefined : attributes;\n p.key = attributes == null ? undefined : attributes.key;\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p);\n\n return p;\n}\n\n/* eslint-disable no-unused-vars */\n\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n}\n\nfunction assign(target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.addEventListener) {\n var runListeners = function runListeners(oEvent) {\n if (!oEvent) {\n oEvent = window.event;\n }\n for (var iLstId = 0, iElId = 0, oEvtListeners = oListeners[oEvent.type]; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n for (iLstId; iLstId < oEvtListeners.aEvts[iElId].length; iLstId++) {\n oEvtListeners.aEvts[iElId][iLstId].call(this, oEvent);\n }\n break;\n }\n }\n };\n\n var oListeners = {};\n\n Element.prototype.addEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (oListeners.hasOwnProperty(sEventType)) {\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n nElIdx = iElId;break;\n }\n }\n if (nElIdx === -1) {\n oEvtListeners.aEls.push(this);\n oEvtListeners.aEvts.push([fListener]);\n this[\"on\" + sEventType] = runListeners;\n } else {\n var aElListeners = oEvtListeners.aEvts[nElIdx];\n if (this[\"on\" + sEventType] !== runListeners) {\n aElListeners.splice(0);\n this[\"on\" + sEventType] = runListeners;\n }\n for (var iLstId = 0; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) {\n return;\n }\n }\n aElListeners.push(fListener);\n }\n } else {\n oListeners[sEventType] = { aEls: [this], aEvts: [[fListener]] };\n this[\"on\" + sEventType] = runListeners;\n }\n };\n Element.prototype.removeEventListener = function (sEventType, fListener /*, useCapture (will be ignored!) */) {\n if (!oListeners.hasOwnProperty(sEventType)) {\n return;\n }\n var oEvtListeners = oListeners[sEventType];\n for (var nElIdx = -1, iElId = 0; iElId < oEvtListeners.aEls.length; iElId++) {\n if (oEvtListeners.aEls[iElId] === this) {\n nElIdx = iElId;break;\n }\n }\n if (nElIdx === -1) {\n return;\n }\n for (var iLstId = 0, aElListeners = oEvtListeners.aEvts[nElIdx]; iLstId < aElListeners.length; iLstId++) {\n if (aElListeners[iLstId] === fListener) {\n aElListeners.splice(iLstId, 1);\n }\n }\n };\n}\n\nif (typeof Object.create !== 'function') {\n Object.create = function (proto, propertiesObject) {\n if (typeof proto !== 'object' && typeof proto !== 'function') {\n throw new TypeError('Object prototype may only be an Object: ' + proto);\n } else if (proto === null) {\n throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support 'null' as the first argument.\");\n }\n\n // if (typeof propertiesObject != 'undefined') {\n // throw new Error(\"This browser's implementation of Object.create is a shim and doesn't support a second argument.\");\n // }\n\n function F() {}\n F.prototype = proto;\n\n return new F();\n };\n}\n\nif (!String.prototype.trim) {\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n };\n}\n\n/**\n * Copy all properties from `props` onto `obj`.\n * @param {Object} obj\t\tObject onto which properties should be copied.\n * @param {Object} props\tObject from which to copy properties.\n * @returns obj\n * @private\n */\nfunction extend(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nfunction applyRef(ref, value) {\n if (ref) {\n if (typeof ref == 'function') ref(value);else ref.current = value;\n }\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n *\n * @param {Function} callback\n */\n\nvar usePromise = typeof Promise == 'function';\n\n// for native\nif (typeof document !== 'object' && typeof global !== 'undefined' && global.__config__) {\n if (global.__config__.platform === 'android') {\n usePromise = true;\n } else {\n var systemVersion = global.__config__.systemVersion && global.__config__.systemVersion.split('.')[0] || 0;\n if (systemVersion > 8) {\n usePromise = true;\n }\n }\n}\n\nvar defer = usePromise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;\n\nfunction isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n}\n\nfunction nProps(props) {\n if (!props || isArray(props)) return {};\n var result = {};\n Object.keys(props).forEach(function (key) {\n result[key] = props[key].value;\n });\n return result;\n}\n\nfunction getUse(data, paths) {\n var obj = [];\n paths.forEach(function (path, index) {\n var isPath = typeof path === 'string';\n if (isPath) {\n obj[index] = getTargetByPath(data, path);\n } else {\n var key = Object.keys(path)[0];\n var value = path[key];\n if (typeof value === 'string') {\n obj[index] = getTargetByPath(data, value);\n } else {\n var tempPath = value[0];\n if (typeof tempPath === 'string') {\n var tempVal = getTargetByPath(data, tempPath);\n obj[index] = value[1] ? value[1](tempVal) : tempVal;\n } else {\n var args = [];\n tempPath.forEach(function (path) {\n args.push(getTargetByPath(data, path));\n });\n obj[index] = value[1].apply(null, args);\n }\n }\n obj[key] = obj[index];\n }\n });\n return obj;\n}\n\nfunction getTargetByPath(origin, path) {\n var arr = path.replace(/]/g, '').replace(/\\[/g, '.').split('.');\n var current = origin;\n for (var i = 0, len = arr.length; i < len; i++) {\n current = current[arr[i]];\n }\n return current;\n}\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode\t\tThe virtual DOM element to clone\n * @param {Object} props\tAttributes/props to add when cloning\n * @param {VNode} rest\t\tAny additional arguments will be used as replacement children.\n */\nfunction cloneElement(vnode, props) {\n return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);\n}\n\n// DOM properties that should NOT have \"px\" added when numeric\nvar IS_NON_DIMENSIONAL$1 = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n\n/** Managed queue of dirty components to be re-rendered */\n\nvar items = [];\n\nfunction enqueueRender(component) {\n if (items.push(component) == 1) {\n(options.debounceRendering || defer)(rerender);\n }\n}\n\n/** Rerender all enqueued dirty components */\nfunction rerender() {\n var p;\n while (p = items.pop()) {\n renderComponent(p);\n }\n}\n\nvar mapping = options.mapping;\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node\t\t\tDOM Node to compare\n * @param {VNode} vnode\t\t\tVirtual DOM node to compare\n * @param {boolean} [hydrating=false]\tIf true, ignores component constructors when comparing.\n * @private\n */\nfunction isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined;\n }\n if (typeof vnode.nodeName === 'string') {\n var ctor = mapping[vnode.nodeName];\n if (ctor) {\n return hydrating || node._componentConstructor === ctor;\n }\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName);\n }\n return hydrating || node._componentConstructor === vnode.nodeName;\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} node\tA DOM Element to inspect the name of.\n * @param {String} nodeName\tUnnormalized name to compare against.\n */\nfunction isNamedNode(node, nodeName) {\n return node.normalizedNodeName === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();\n}\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nfunction getNodeProps(vnode) {\n var props = extend({}, vnode.attributes);\n props.children = vnode.children;\n\n var defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (var i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}\n\n/** Create an element with the given nodeName.\n *\t@param {String} nodeName\n *\t@param {Boolean} [isSvg=false]\tIf `true`, creates an element within the SVG namespace.\n *\t@returns {Element} node\n */\nfunction createNode(nodeName, isSvg) {\n var node = isSvg ? options.doc.createElementNS('http://www.w3.org/2000/svg', nodeName) : options.doc.createElement(nodeName);\n node.normalizedNodeName = nodeName;\n return node;\n}\n\nfunction parseCSSText(cssText) {\n var cssTxt = cssText.replace(/\\/\\*(.|\\s)*?\\*\\//g, ' ').replace(/\\s+/g, ' ');\n var style = {},\n _ref = cssTxt.match(/ ?(.*?) ?{([^}]*)}/) || [a, b, cssTxt],\n a = _ref[0],\n b = _ref[1],\n rule = _ref[2];\n\n var cssToJs = function cssToJs(s) {\n return s.replace(/\\W+\\w/g, function (match) {\n return match.slice(-1).toUpperCase();\n });\n };\n var properties = rule.split(';').map(function (o) {\n return o.split(':').map(function (x) {\n return x && x.trim();\n });\n });\n for (var i = properties, i = Array.isArray(i), i = 0, i = i ? i : i[Symbol.iterator]();;) {\n var _ref3;\n\n if (i) {\n if (i >= i.length) break;\n _ref3 = i[i++];\n } else {\n i = i.next();\n if (i.done) break;\n _ref3 = i.value;\n }\n\n var _ref2 = _ref3;\n var property = _ref2[0];\n var value = _ref2[1];\n style[cssToJs(property)] = value;\n }return style;\n}\n\n/** Remove a child node from its parent if attached.\n *\t@param {Element} node\t\tThe node to remove\n */\nfunction removeNode(node) {\n var parentNode = node.parentNode;\n if (parentNode) parentNode.removeChild(node);\n}\n\n/** Set a named attribute on the given Node, with special behavior for some names and event handlers.\n *\tIf `value` is `null`, the attribute/handler will be removed.\n *\t@param {Element} node\tAn element to mutate\n *\t@param {string} name\tThe name/key to set, such as an event or attribute name\n *\t@param {any} old\tThe last value that was set for this name/node pair\n *\t@param {any} value\tAn attribute value, such as a function to be used as an event handler\n *\t@param {Boolean} isSvg\tAre we currently diffing inside an svg?\n *\t@private\n */\nfunction setAccessor(node, name, old, value, isSvg) {\n if (name === 'className') name = 'class';\n\n if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null);\n applyRef(value, node);\n } else if (name === 'class' && !isSvg) {\n node.className = value || '';\n } else if (name === 'style') {\n if (options.isWeb) {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || '';\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (var i in old) {\n if (!(i in value)) node.style[i] = '';\n }\n }\n for (var i in value) {\n node.style[i] = typeof value[i] === 'number' && IS_NON_DIMENSIONAL$1.test(i) === false ? value[i] + 'px' : value[i];\n }\n }\n } else {\n var oldJson = old,\n currentJson = value;\n if (typeof old === 'string') {\n oldJson = parseCSSText(old);\n }\n if (typeof value == 'string') {\n currentJson = parseCSSText(value);\n }\n\n var result = {},\n changed = false;\n\n if (oldJson) {\n for (var key in oldJson) {\n if (typeof currentJson == 'object' && !(key in currentJson)) {\n result[key] = '';\n changed = true;\n }\n }\n\n for (var ckey in currentJson) {\n if (currentJson[ckey] !== oldJson[ckey]) {\n result[ckey] = currentJson[ckey];\n changed = true;\n }\n }\n\n if (changed) {\n node.setStyles(result);\n }\n } else {\n node.setStyles(currentJson);\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || '';\n } else if (name[0] == 'o' && name[1] == 'n') {\n var useCapture = name !== (name = name.replace(/Capture$/, ''));\n name = name.toLowerCase().substring(2);\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.addEventListener('touchstart', touchStart, useCapture);\n node.addEventListener('touchend', touchEnd, useCapture);\n }\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture);\n if (name == 'tap') {\n node.removeEventListener('touchstart', touchStart, useCapture);\n node.removeEventListener('touchend', touchEnd, useCapture);\n }\n }\n(node._listeners || (node._listeners = {}))[name] = value;\n } else if (name !== 'list' && name !== 'type' && !isSvg && name in node) {\n setProperty(node, name, value == null ? '' : value);\n if (value == null || value === false) node.removeAttribute(name);\n } else {\n var ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''));\n if (value == null || value === false) {\n if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());else node.removeAttribute(name);\n } else if (typeof value !== 'function') {\n if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);else node.setAttribute(name, value);\n }\n }\n}\n\n/** Attempt to set a DOM property to the given value.\n *\tIE & FF throw for certain property-value combinations.\n */\nfunction setProperty(node, name, value) {\n try {\n node[name] = value;\n } catch (e) {}\n}\n\n/** Proxy an event to hooked event handlers\n *\t@private\n */\nfunction eventProxy(e) {\n return this._listeners[e.type](options.event && options.event(e) || e);\n}\n\nfunction touchStart(e) {\n this.___touchX = e.touches[0].pageX;\n this.___touchY = e.touches[0].pageY;\n this.___scrollTop = document.body.scrollTop;\n}\n\nfunction touchEnd(e) {\n if (Math.abs(e.changedTouches[0].pageX - this.___touchX) < 30 && Math.abs(e.changedTouches[0].pageY - this.___touchY) < 30 && Math.abs(document.body.scrollTop - this.___scrollTop) < 30) {\n this.dispatchEvent(new CustomEvent('tap', { detail: e }));\n }\n}\n\nvar styleId = 0;\n\nfunction getCtorName(ctor) {\n for (var i = 0, len = options.styleCache.length; i < len; i++) {\n var item = options.styleCache[i];\n\n if (item.ctor === ctor) {\n return item.attrName;\n }\n }\n\n var attrName = 's' + styleId;\n options.styleCache.push({ ctor: ctor, attrName: attrName });\n styleId++;\n\n return attrName;\n}\n\n// many thanks to https://github.com/thomaspark/scoper/\nfunction scoper(css, prefix) {\n prefix = '[' + prefix.toLowerCase() + ']';\n // https://www.w3.org/TR/css-syntax-3/#lexical\n css = css.replace(/\\/\\*[^*]*\\*+([^/][^*]*\\*+)*\\//g, '');\n // eslint-disable-next-line\n var re = new RegExp('([^\\r\\n,{}:]+)(:[^\\r\\n,{}]+)?(,(?=[^{}]*{)|\\s*{)', 'g');\n /**\n * Example:\n *\n * .classname::pesudo { color:red }\n *\n * g1 is normal selector `.classname`\n * g2 is pesudo class or pesudo element\n * g3 is the suffix\n */\n css = css.replace(re, function (g0, g1, g2, g3) {\n if (typeof g2 === 'undefined') {\n g2 = '';\n }\n\n /* eslint-ignore-next-line */\n if (g1.match(/^\\s*(@media|\\d+%?|@-webkit-keyframes|@keyframes|to|from|@font-face)/)) {\n return g1 + g2 + g3;\n }\n\n var appendClass = g1.replace(/(\\s*)$/, '') + prefix + g2;\n //let prependClass = prefix + ' ' + g1.trim() + g2;\n\n return appendClass + g3;\n //return appendClass + ',' + prependClass + g3;\n });\n\n return css;\n}\n\nfunction addStyle(cssText, id) {\n id = id.toLowerCase();\n var ele = document.getElementById(id);\n var head = document.getElementsByTagName('head')[0];\n if (ele && ele.parentNode === head) {\n head.removeChild(ele);\n }\n\n var someThingStyles = document.createElement('style');\n head.appendChild(someThingStyles);\n someThingStyles.setAttribute('type', 'text/css');\n someThingStyles.setAttribute('id', id);\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText;\n } else {\n someThingStyles.textContent = cssText;\n }\n}\n\nfunction addStyleWithoutId(cssText) {\n var head = document.getElementsByTagName('head')[0];\n var someThingStyles = document.createElement('style');\n head.appendChild(someThingStyles);\n someThingStyles.setAttribute('type', 'text/css');\n\n if (window.ActiveXObject) {\n someThingStyles.styleSheet.cssText = cssText;\n } else {\n someThingStyles.textContent = cssText;\n }\n}\n\nfunction addScopedAttrStatic(vdom, attr) {\n if (options.scopedStyle) {\n scopeVdom(attr, vdom);\n }\n}\n\nfunction addStyleToHead(style, attr) {\n if (options.scopedStyle) {\n if (!options.staticStyleMapping[attr]) {\n addStyle(scoper(style, attr), attr);\n options.staticStyleMapping[attr] = true;\n }\n } else if (!options.staticStyleMapping[attr]) {\n addStyleWithoutId(style);\n options.staticStyleMapping[attr] = true;\n }\n}\n\nfunction scopeVdom(attr, vdom) {\n if (typeof vdom === 'object') {\n vdom.attributes = vdom.attributes || {};\n vdom.attributes[attr] = '';\n vdom.css = vdom.css || {};\n vdom.css[attr] = '';\n vdom.children.forEach(function (child) {\n return scopeVdom(attr, child);\n });\n }\n}\n\nfunction scopeHost(vdom, css) {\n if (typeof vdom === 'object' && css) {\n vdom.attributes = vdom.attributes || {};\n for (var key in css) {\n vdom.attributes[key] = '';\n }\n }\n}\n\n/** Queue of components that have been mounted and are awaiting componentDidMount */\nvar mounts = [];\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nvar diffLevel = 0;\n\n/** Global flag indicating if the diff is currently within an SVG */\nvar isSvgMode = false;\n\n/** Global flag indicating if the diff is performing hydration */\nvar hydrating = false;\n\n/** Invoke queued componentDidMount lifecycle methods */\nfunction flushMounts() {\n var c;\n while (c = mounts.pop()) {\n if (options.afterMount) options.afterMount(c);\n if (c.installed) c.installed();\n if (c.constructor.css || c.css) {\n addStyleToHead(c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css, '_s' + getCtorName(c.constructor));\n }\n }\n}\n\n/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n *\t@param {Element} [dom=null]\t\tA DOM node to mutate into the shape of the `vnode`\n *\t@param {VNode} vnode\t\t\tA VNode (with descendants forming a tree) representing the desired DOM structure\n *\t@returns {Element} dom\t\t\tThe created/mutated element\n *\t@private\n */\nfunction diff(dom, vnode, context, mountAll, parent, componentRoot) {\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined;\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !('__omiattr_' in dom);\n }\n var ret;\n\n if (isArray(vnode)) {\n vnode = {\n nodeName: 'span',\n children: vnode\n };\n }\n\n ret = idiff(dom, vnode, context, mountAll, componentRoot);\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret);\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (! --diffLevel) {\n hydrating = false;\n // invoke queued componentDidMount lifecycle methods\n if (!componentRoot) flushMounts();\n }\n\n return ret;\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n var out = dom,\n prevSvgMode = isSvgMode;\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = '';\n\n // If the VNode represents a Component, perform a component diff:\n var vnodeName = vnode.nodeName;\n if (options.mapping[vnodeName]) {\n vnode.nodeName = options.mapping[vnodeName];\n return buildComponentFromVNode(dom, vnode, context, mountAll);\n }\n if (typeof vnodeName == 'function') {\n return buildComponentFromVNode(dom, vnode, context, mountAll);\n }\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (dom && dom.splitText !== undefined && dom.parentNode && (!dom._component || componentRoot)) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode;\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode);\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n recollectNodeTree(dom, true);\n }\n }\n\n //ie8 error\n try {\n out['__omiattr_'] = true;\n } catch (e) {}\n\n return out;\n }\n\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode = vnodeName === 'svg' ? true : vnodeName === 'foreignObject' ? false : isSvgMode;\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName);\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode);\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) {\n out.appendChild(dom.firstChild);\n } // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true);\n }\n }\n\n var fc = out.firstChild,\n props = out['__omiattr_'],\n vchildren = vnode.children;\n\n if (props == null) {\n props = out['__omiattr_'] = {};\n for (var a = out.attributes, i = a.length; i--;) {\n props[a[i].name] = a[i].value;\n }\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (!hydrating && vchildren && vchildren.length === 1 && typeof vchildren[0] === 'string' && fc != null && fc.splitText !== undefined && fc.nextSibling == null) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0];\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if (vchildren && vchildren.length || fc != null) {\n innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML != null);\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props);\n\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode;\n\n return out;\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n *\t@param {Element} dom\t\t\tElement whose children should be compared & mutated\n *\t@param {Array} vchildren\t\tArray of VNodes to compare to `dom.childNodes`\n *\t@param {Object} context\t\t\tImplicitly descendant context object (from most recent `getChildContext()`)\n *\t@param {Boolean} mountAll\n *\t@param {Boolean} isHydrating\tIf `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n var originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child;\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (var i = 0; i < len; i++) {\n var _child = originalChildren[i],\n props = _child['__omiattr_'],\n key = vlen && props ? _child._component ? _child._component.__key : props.key : null;\n if (key != null) {\n keyedLen++;\n keyed[key] = _child;\n } else if (props || (_child.splitText !== undefined ? isHydrating ? _child.nodeValue.trim() : true : isHydrating)) {\n children[childrenLen++] = _child;\n }\n }\n }\n\n if (vlen !== 0) {\n for (var i = 0; i < vlen; i++) {\n vchild = vchildren[i];\n child = null;\n\n // attempt to find a node based on key matching\n var key = vchild.key;\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key];\n keyed[key] = undefined;\n keyedLen--;\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (children[j] !== undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {\n child = c;\n children[j] = undefined;\n if (j === childrenLen - 1) childrenLen--;\n if (j === min) min++;\n break;\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, context, mountAll);\n\n f = originalChildren[i];\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child);\n } else if (child === f.nextSibling) {\n removeNode(f);\n } else {\n dom.insertBefore(child, f);\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (var i in keyed) {\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false);\n }\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined) recollectNodeTree(child, false);\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n *\t@param {Node} node\t\t\t\t\t\tDOM node to start unmount/removal from\n *\t@param {Boolean} [unmountOnly=false]\tIf `true`, only triggers unmount lifecycle, skips removal\n */\nfunction recollectNodeTree(node, unmountOnly) {\n var component = node._component;\n if (component) {\n // if node is owned by a Component, unmount that component (ends up recursing back here)\n unmountComponent(component);\n } else {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node['__omiattr_'] != null) applyRef(node['__omiattr_'].ref, null);\n\n if (unmountOnly === false || node['__omiattr_'] == null) {\n removeNode(node);\n }\n\n removeChildren(node);\n }\n}\n\n/** Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nfunction removeChildren(node) {\n node = node.lastChild;\n while (node) {\n var next = node.previousSibling;\n recollectNodeTree(node, true);\n node = next;\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n *\t@param {Element} dom\t\tElement with attributes to diff `attrs` against\n *\t@param {Object} attrs\t\tThe desired end-state key-value attribute pairs\n *\t@param {Object} old\t\t\tCurrent/previous attributes (from previous VNode or element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n var name;\n\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (name !== 'children' && name !== 'innerHTML' && (!(name in old) || attrs[name] !== (name === 'value' || name === 'checked' ? dom[name] : old[name]))) {\n setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n }\n }\n}\n\nfunction define(name, ctor) {\n options.mapping[name] = ctor;\n if (ctor.use) {\n ctor.updatePath = getPath(ctor.use);\n } else if (ctor.data) {\n //Compatible with older versions\n ctor.updatePath = getUpdatePath(ctor.data);\n }\n}\n\nfunction getPath(obj) {\n if (Object.prototype.toString.call(obj) === '[object Array]') {\n var result = {};\n obj.forEach(function (item) {\n if (typeof item === 'string') {\n result[item] = true;\n } else {\n var tempPath = item[Object.keys(item)[0]];\n if (typeof tempPath === 'string') {\n result[tempPath] = true;\n } else {\n if (typeof tempPath[0] === 'string') {\n result[tempPath[0]] = true;\n } else {\n tempPath[0].forEach(function (path) {\n return result[path] = true;\n });\n }\n }\n }\n });\n return result;\n } else {\n return getUpdatePath(obj);\n }\n}\n\nfunction getUpdatePath(data) {\n var result = {};\n dataToPath(data, result);\n return result;\n}\n\nfunction dataToPath(data, result) {\n Object.keys(data).forEach(function (key) {\n result[key] = true;\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], key, result);\n }\n });\n}\n\nfunction _objToPath(data, path, result) {\n Object.keys(data).forEach(function (key) {\n result[path + '.' + key] = true;\n delete result[path];\n var type = Object.prototype.toString.call(data[key]);\n if (type === '[object Object]') {\n _objToPath(data[key], path + '.' + key, result);\n } else if (type === '[object Array]') {\n _arrayToPath(data[key], path + '.' + key, result);\n }\n });\n}\n\nfunction _arrayToPath(data, path, result) {\n data.forEach(function (item, index) {\n result[path + '[' + index + ']'] = true;\n delete result[path];\n var type = Object.prototype.toString.call(item);\n if (type === '[object Object]') {\n _objToPath(item, path + '[' + index + ']', result);\n } else if (type === '[object Array]') {\n _arrayToPath(item, path + '[' + index + ']', result);\n }\n });\n}\n\n/** Retains a pool of Components for re-use, keyed on component name.\n *\tNote: since component names are not unique or even necessarily available, these are primarily a form of sharding.\n *\t@private\n */\nvar components = {};\n\n/** Reclaim a component for later re-use by the recycler. */\nfunction collectComponent(component) {\n var name = component.constructor.name;(components[name] || (components[name] = [])).push(component);\n}\n\n/** Create a component. Normalizes differences between PFC's and classful Components. */\nfunction createComponent(Ctor, props, context, vnode) {\n var list = components[Ctor.name],\n inst;\n\n if (Ctor.prototype && Ctor.prototype.render) {\n inst = new Ctor(props, context);\n Component.call(inst, props, context);\n } else {\n inst = new Component(props, context);\n inst.constructor = Ctor;\n inst.render = doRender;\n }\n vnode && (inst.scopedCssAttr = vnode.css);\n\n if (inst.store && inst.store.data) {\n if (inst.constructor.use) {\n inst.use = getUse(inst.store.data, inst.constructor.use);\n inst.store.instances.push(inst);\n } else if (inst.initUse) {\n var use = inst.initUse();\n inst._updatePath = getPath(use);\n inst.use = getUse(inst.store.data, use);\n inst.store.instances.push(inst);\n }\n }\n\n if (list) {\n for (var i = list.length; i--;) {\n if (list[i].constructor === Ctor) {\n inst.nextBase = list[i].nextBase;\n list.splice(i, 1);\n break;\n }\n }\n }\n return inst;\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, data, context) {\n return this.constructor(props, context);\n}\n\n/* obaa 1.0.0\n * By dntzhang\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar obaa = function obaa(target, arr, callback) {\n var _observe = function _observe(target, arr, callback) {\n if (!target.$observer) target.$observer = this;\n var $observer = target.$observer;\n var eventPropArr = [];\n if (obaa.isArray(target)) {\n if (target.length === 0) {\n target.$observeProps = {};\n target.$observeProps.$observerPath = '#';\n }\n $observer.mock(target);\n }\n for (var prop in target) {\n if (target.hasOwnProperty(prop)) {\n if (callback) {\n if (obaa.isArray(arr) && obaa.isInArray(arr, prop)) {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n } else if (obaa.isString(arr) && prop == arr) {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n }\n } else {\n eventPropArr.push(prop);\n $observer.watch(target, prop);\n }\n }\n }\n $observer.target = target;\n if (!$observer.propertyChangedHandler) $observer.propertyChangedHandler = [];\n var propChanged = callback ? callback : arr;\n $observer.propertyChangedHandler.push({\n all: !callback,\n propChanged: propChanged,\n eventPropArr: eventPropArr\n });\n };\n _observe.prototype = {\n onPropertyChanged: function onPropertyChanged(prop, value, oldValue, target, path) {\n if (value !== oldValue && this.propertyChangedHandler) {\n var rootName = obaa._getRootName(prop, path);\n for (var i = 0, len = this.propertyChangedHandler.length; i < len; i++) {\n var handler = this.propertyChangedHandler[i];\n if (handler.all || obaa.isInArray(handler.eventPropArr, rootName) || rootName.indexOf('Array-') === 0) {\n handler.propChanged.call(this.target, prop, value, oldValue, path);\n }\n }\n }\n if (prop.indexOf('Array-') !== 0 && typeof value === 'object') {\n this.watch(target, prop, target.$observeProps.$observerPath);\n }\n },\n mock: function mock(target) {\n var self = this;\n obaa.methods.forEach(function (item) {\n target[item] = function () {\n var old = Array.prototype.slice.call(this, 0);\n var result = Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));\n if (new RegExp('\\\\b' + item + '\\\\b').test(obaa.triggerStr)) {\n for (var cprop in this) {\n if (this.hasOwnProperty(cprop) && !obaa.isFunction(this[cprop])) {\n self.watch(this, cprop, this.$observeProps.$observerPath);\n }\n }\n //todo\n self.onPropertyChanged('Array-' + item, this, old, this, this.$observeProps.$observerPath);\n }\n return result;\n };\n target['pure' + item.substring(0, 1).toUpperCase() + item.substring(1)] = function () {\n return Array.prototype[item].apply(this, Array.prototype.slice.call(arguments));\n };\n });\n },\n watch: function watch(target, prop, path) {\n if (prop === '$observeProps' || prop === '$observer') return;\n if (obaa.isFunction(target[prop])) return;\n if (!target.$observeProps) target.$observeProps = {};\n if (path !== undefined) {\n target.$observeProps.$observerPath = path;\n } else {\n target.$observeProps.$observerPath = '#';\n }\n var self = this;\n var currentValue = target.$observeProps[prop] = target[prop];\n Object.defineProperty(target, prop, {\n get: function get() {\n return this.$observeProps[prop];\n },\n set: function set(value) {\n var old = this.$observeProps[prop];\n this.$observeProps[prop] = value;\n self.onPropertyChanged(prop, value, old, this, target.$observeProps.$observerPath);\n }\n });\n if (typeof currentValue == 'object') {\n if (obaa.isArray(currentValue)) {\n this.mock(currentValue);\n if (currentValue.length === 0) {\n if (!currentValue.$observeProps) currentValue.$observeProps = {};\n if (path !== undefined) {\n currentValue.$observeProps.$observerPath = path;\n } else {\n currentValue.$observeProps.$observerPath = '#';\n }\n }\n }\n for (var cprop in currentValue) {\n if (currentValue.hasOwnProperty(cprop)) {\n this.watch(currentValue, cprop, target.$observeProps.$observerPath + '-' + prop);\n }\n }\n }\n }\n };\n return new _observe(target, arr, callback);\n};\n\nobaa.methods = ['concat', 'copyWithin', 'entries', 'every', 'fill', 'filter', 'find', 'findIndex', 'forEach', 'includes', 'indexOf', 'join', 'keys', 'lastIndexOf', 'map', 'pop', 'push', 'reduce', 'reduceRight', 'reverse', 'shift', 'slice', 'some', 'sort', 'splice', 'toLocaleString', 'toString', 'unshift', 'values', 'size'];\nobaa.triggerStr = ['concat', 'copyWithin', 'fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift', 'size'].join(',');\n\nobaa.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n};\n\nobaa.isString = function (obj) {\n return typeof obj === 'string';\n};\n\nobaa.isInArray = function (arr, item) {\n for (var i = arr.length; --i > -1;) {\n if (item === arr[i]) return true;\n }\n return false;\n};\n\nobaa.isFunction = function (obj) {\n return Object.prototype.toString.call(obj) == '[object Function]';\n};\n\nobaa._getRootName = function (prop, path) {\n if (path === '#') {\n return prop;\n }\n return path.split('-')[1];\n};\n\nobaa.add = function (obj, prop) {\n var $observer = obj.$observer;\n $observer.watch(obj, prop);\n};\n\nobaa.set = function (obj, prop, value, exec) {\n if (!exec) {\n obj[prop] = value;\n }\n var $observer = obj.$observer;\n $observer.watch(obj, prop);\n if (exec) {\n obj[prop] = value;\n }\n};\n\nArray.prototype.size = function (length) {\n this.length = length;\n};\n\nvar callbacks = [];\nvar nextTickCallback = [];\n\nfunction fireTick() {\n callbacks.forEach(function (item) {\n item.fn.call(item.scope);\n });\n\n nextTickCallback.forEach(function (nextItem) {\n nextItem.fn.call(nextItem.scope);\n });\n nextTickCallback.length = 0;\n}\n\nfunction proxyUpdate(ele) {\n var timeout = null;\n obaa(ele.data, function () {\n if (ele._willUpdate) {\n return;\n }\n if (ele.constructor.mergeUpdate) {\n clearTimeout(timeout);\n\n timeout = setTimeout(function () {\n ele.update();\n fireTick();\n }, 0);\n } else {\n ele.update();\n fireTick();\n }\n });\n}\n\n/** Set a component's `props` (generally derived from JSX attributes).\n *\t@param {Object} props\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.renderSync=false]\tIf `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering.\n *\t@param {boolean} [opts.render=true]\t\t\tIf `false`, no render will be triggered.\n */\nfunction setComponentProps(component, props, opts, context, mountAll) {\n if (component._disable) return;\n component._disable = true;\n\n if (component.__ref = props.ref) delete props.ref;\n if (component.__key = props.key) delete props.key;\n\n if (!component.base || mountAll) {\n if (component.beforeInstall) component.beforeInstall();\n if (component.install) component.install();\n if (component.constructor.observe) {\n proxyUpdate(component);\n }\n } else if (component.receiveProps) {\n component.receiveProps(props, component.data, component.props);\n }\n\n if (context && context !== component.context) {\n if (!component.prevContext) component.prevContext = component.context;\n component.context = context;\n }\n\n if (!component.prevProps) component.prevProps = component.props;\n component.props = props;\n\n component._disable = false;\n\n if (opts !== 0) {\n if (opts === 1 || options.syncComponentUpdates !== false || !component.base) {\n renderComponent(component, 1, mountAll);\n } else {\n enqueueRender(component);\n }\n }\n\n applyRef(component.__ref, component);\n}\n\nfunction shallowComparison(old, attrs) {\n var name;\n\n for (name in old) {\n if (attrs[name] == null && old[name] != null) {\n return true;\n }\n }\n\n if (old.children.length > 0 || attrs.children.length > 0) {\n return true;\n }\n\n for (name in attrs) {\n if (name != 'children') {\n var type = typeof attrs[name];\n if (type == 'function' || type == 'object') {\n return true;\n } else if (attrs[name] != old[name]) {\n return true;\n }\n }\n }\n}\n\n/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account.\n *\t@param {Component} component\n *\t@param {Object} [opts]\n *\t@param {boolean} [opts.build=false]\t\tIf `true`, component will build and store a DOM node if not already associated with one.\n *\t@private\n */\nfunction renderComponent(component, opts, mountAll, isChild) {\n if (component._disable) return;\n\n var props = component.props,\n data = component.data,\n context = component.context,\n previousProps = component.prevProps || props,\n previousState = component.prevState || data,\n previousContext = component.prevContext || context,\n isUpdate = component.base,\n nextBase = component.nextBase,\n initialBase = isUpdate || nextBase,\n initialChildComponent = component._component,\n skip = false,\n rendered,\n inst,\n cbase;\n\n // if updating\n if (isUpdate) {\n component.props = previousProps;\n component.data = previousState;\n component.context = previousContext;\n if (component.store || opts == 2 || shallowComparison(previousProps, props)) {\n skip = false;\n if (component.beforeUpdate) {\n component.beforeUpdate(props, data, context);\n }\n } else {\n skip = true;\n }\n component.props = props;\n component.data = data;\n component.context = context;\n }\n\n component.prevProps = component.prevState = component.prevContext = component.nextBase = null;\n\n if (!skip) {\n component.beforeRender && component.beforeRender();\n rendered = component.render(props, data, context);\n\n //don't rerender\n if (component.constructor.css || component.css) {\n addScopedAttrStatic(rendered, '_s' + getCtorName(component.constructor));\n }\n\n scopeHost(rendered, component.scopedCssAttr);\n\n // context to pass to the child, can be updated via (grand-)parent component\n if (component.getChildContext) {\n context = extend(extend({}, context), component.getChildContext());\n }\n\n var childComponent = rendered && rendered.nodeName,\n toUnmount,\n base,\n ctor = options.mapping[childComponent];\n\n if (ctor) {\n // set up high order component link\n\n var childProps = getNodeProps(rendered);\n inst = initialChildComponent;\n\n if (inst && inst.constructor === ctor && childProps.key == inst.__key) {\n setComponentProps(inst, childProps, 1, context, false);\n } else {\n toUnmount = inst;\n\n component._component = inst = createComponent(ctor, childProps, context);\n inst.nextBase = inst.nextBase || nextBase;\n inst._parentComponent = component;\n setComponentProps(inst, childProps, 0, context, false);\n renderComponent(inst, 1, mountAll, true);\n }\n\n base = inst.base;\n } else {\n cbase = initialBase;\n\n // destroy high order component link\n toUnmount = initialChildComponent;\n if (toUnmount) {\n cbase = component._component = null;\n }\n\n if (initialBase || opts === 1) {\n if (cbase) cbase._component = null;\n base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true);\n }\n }\n\n if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n var baseParent = initialBase.parentNode;\n if (baseParent && base !== baseParent) {\n baseParent.replaceChild(base, initialBase);\n\n if (!toUnmount) {\n initialBase._component = null;\n recollectNodeTree(initialBase, false);\n }\n }\n }\n\n if (toUnmount) {\n unmountComponent(toUnmount);\n }\n\n component.base = base;\n if (base && !isChild) {\n var componentRef = component,\n t = component;\n while (t = t._parentComponent) {\n(componentRef = t).base = base;\n }\n base._component = componentRef;\n base._componentConstructor = componentRef.constructor;\n }\n }\n\n if (!isUpdate || mountAll) {\n mounts.unshift(component);\n } else if (!skip) {\n // Ensure that pending componentDidMount() hooks of child components\n // are called before the componentDidUpdate() hook in the parent.\n // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n // flushMounts();\n\n if (component.afterUpdate) {\n //deprecated\n component.afterUpdate(previousProps, previousState, previousContext);\n }\n if (component.updated) {\n component.updated(previousProps, previousState, previousContext);\n }\n if (options.afterUpdate) options.afterUpdate(component);\n }\n\n if (component._renderCallbacks != null) {\n while (component._renderCallbacks.length) {\n component._renderCallbacks.pop().call(component);\n }\n }\n\n if (!diffLevel && !isChild) flushMounts();\n}\n\n/** Apply the Component referenced by a VNode to the DOM.\n *\t@param {Element} dom\tThe DOM node to mutate\n *\t@param {VNode} vnode\tA Component-referencing VNode\n *\t@returns {Element} dom\tThe created/mutated element\n *\t@private\n */\nfunction buildComponentFromVNode(dom, vnode, context, mountAll) {\n var c = dom && dom._component,\n originalComponent = c,\n oldDom = dom,\n isDirectOwner = c && dom._componentConstructor === vnode.nodeName,\n isOwner = isDirectOwner,\n props = getNodeProps(vnode);\n while (c && !isOwner && (c = c._parentComponent)) {\n isOwner = c.constructor === vnode.nodeName;\n }\n\n if (c && isOwner && (!mountAll || c._component)) {\n setComponentProps(c, props, 3, context, mountAll);\n dom = c.base;\n } else {\n if (originalComponent && !isDirectOwner) {\n unmountComponent(originalComponent);\n dom = oldDom = null;\n }\n\n c = createComponent(vnode.nodeName, props, context, vnode);\n if (dom && !c.nextBase) {\n c.nextBase = dom;\n // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n oldDom = null;\n }\n setComponentProps(c, props, 1, context, mountAll);\n dom = c.base;\n\n if (oldDom && dom !== oldDom) {\n oldDom._component = null;\n recollectNodeTree(oldDom, false);\n }\n }\n\n return dom;\n}\n\n/** Remove a component from the DOM and recycle it.\n *\t@param {Component} component\tThe Component instance to unmount\n *\t@private\n */\nfunction unmountComponent(component) {\n if (options.beforeUnmount) options.beforeUnmount(component);\n\n var base = component.base;\n\n component._disable = true;\n\n if (component.uninstall) component.uninstall();\n\n if (component.store && component.store.instances) {\n for (var i = 0, len = component.store.instances.length; i < len; i++) {\n if (component.store.instances[i] === component) {\n component.store.instances.splice(i, 1);\n break;\n }\n }\n }\n\n component.base = null;\n\n // recursively tear down & recollect high-order component children:\n var inner = component._component;\n if (inner) {\n unmountComponent(inner);\n } else if (base) {\n if (base['__omiattr_'] != null) applyRef(base['__omiattr_'].ref, null);\n\n component.nextBase = base;\n\n removeNode(base);\n collectComponent(component);\n\n removeChildren(base);\n }\n\n applyRef(component.__ref, null);\n}\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar id = 0;\n\nvar Component = function () {\n function Component(props, store) {\n _classCallCheck(this, Component);\n\n this.props = assign(nProps(this.constructor.props), this.constructor.defaultProps, props);\n this.elementId = id++;\n this.data = this.constructor.data || this.data || {};\n\n this._preCss = null;\n\n this.store = store;\n }\n\n Component.prototype.update = function update(callback) {\n this._willUpdate = true;\n if (callback) (this._renderCallbacks = this._renderCallbacks || []).push(callback);\n renderComponent(this, 2);\n if (options.componentChange) options.componentChange(this, this.base);\n this._willUpdate = false;\n };\n\n Component.prototype.fire = function fire(type, data) {\n var _this = this;\n\n Object.keys(this.props).every(function (key) {\n if ('on' + type.toLowerCase() === key.toLowerCase()) {\n _this.props[key]({ detail: data });\n return false;\n }\n return true;\n });\n };\n\n Component.prototype.render = function render() {};\n\n return Component;\n}();\n\nComponent.is = 'WeElement';\n\n/** Render JSX into a `parent` Element.\n *\t@param {VNode} vnode\t\tA (JSX) VNode to render\n *\t@param {Element} parent\t\tDOM element to render into\n *\t@param {object} [store]\n *\t@public\n */\nfunction render(vnode, parent, store, empty, merge) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent;\n obsStore(store);\n\n if (empty) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n }\n\n if (merge) {\n merge = typeof merge === 'string' ? document.querySelector(merge) : merge;\n }\n\n return diff(merge, vnode, store, false, parent, false);\n}\n\nfunction obsStore(store) {\n if (store && store.data) {\n store.instances = [];\n extendStoreUpate(store);\n\n obaa(store.data, function (prop, val, old, path) {\n var patchs = {};\n var key = fixPath(path + '-' + prop);\n patchs[key] = true;\n store.update(patchs);\n });\n }\n}\n\nfunction merge(vnode, merge, store) {\n obsStore(store);\n\n merge = typeof merge === 'string' ? document.querySelector(merge) : merge;\n\n return diff(merge, vnode, store);\n}\n\nfunction extendStoreUpate(store) {\n store.update = function (patch) {\n var _this = this;\n\n var updateAll = matchGlobalData(this.globalData, patch);\n if (Object.keys(patch).length > 0) {\n this.instances.forEach(function (instance) {\n if (updateAll || _this.updateAll || instance.constructor.updatePath && needUpdate(patch, instance.constructor.updatePath) || instance._updatePath && needUpdate(patch, instance._updatePath)) {\n //update this.use\n if (instance.constructor.use) {\n instance.use = getUse(store.data, instance.constructor.use);\n } else if (instance.initUse) {\n instance.use = getUse(store.data, instance.initUse());\n }\n\n instance.update();\n }\n });\n this.onChange && this.onChange(patch);\n }\n };\n}\n\nfunction matchGlobalData(globalData, diffResult) {\n if (!globalData) return false;\n for (var keyA in diffResult) {\n if (globalData.indexOf(keyA) > -1) {\n return true;\n }\n for (var i = 0, len = globalData.length; i < len; i++) {\n if (includePath(keyA, globalData[i])) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction needUpdate(diffResult, updatePath) {\n for (var keyA in diffResult) {\n if (updatePath[keyA]) {\n return true;\n }\n for (var keyB in updatePath) {\n if (includePath(keyA, keyB)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction includePath(pathA, pathB) {\n if (pathA.indexOf(pathB) === 0) {\n var next = pathA.substr(pathB.length, 1);\n if (next === '[' || next === '.') {\n return true;\n }\n }\n return false;\n}\n\nfunction fixPath(path) {\n var mpPath = '';\n var arr = path.replace('#-', '').split('-');\n arr.forEach(function (item, index) {\n if (index) {\n if (isNaN(Number(item))) {\n mpPath += '.' + item;\n } else {\n mpPath += '[' + item + ']';\n }\n } else {\n mpPath += item;\n }\n });\n return mpPath;\n}\n\nfunction rpx(str) {\n return str.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, function (a, b) {\n return window.innerWidth * Number(b) / 750 + 'px';\n });\n}\n\nfunction tag(name) {\n return function (target) {\n define(name, target);\n };\n}\n\nfunction _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ModelView = function (_Component) {\n _inherits(ModelView, _Component);\n\n function ModelView() {\n _classCallCheck$1(this, ModelView);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n ModelView.prototype.beforeInstall = function beforeInstall() {\n this.data = this.vm.data;\n };\n\n return ModelView;\n}(Component);\n\nModelView.observe = true;\nModelView.mergeUpdate = true;\n\n/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty;\n\nfunction classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n\nfunction extractClass() {\n var _Array$prototype$slic = Array.prototype.slice.call(arguments, 0),\n props = _Array$prototype$slic[0],\n args = _Array$prototype$slic.slice(1);\n\n if (props) {\n if (props['class']) {\n args.unshift(props['class']);\n delete props['class'];\n } else if (props.className) {\n args.unshift(props.className);\n delete props.className;\n }\n }\n if (args.length > 0) {\n return { 'class': classNames.apply(null, args) };\n }\n}\n\nfunction getHost(component) {\n var base = component.base;\n if (base) {\n while (base.parentNode) {\n if (base.parentNode._component) {\n return base.parentNode._component;\n } else {\n base = base.parentNode;\n }\n }\n }\n}\n\n/**\n * preact-render-to-string based on preact-render-to-string\n * by Jason Miller\n * Licensed under the MIT License\n * https://github.com/developit/preact-render-to-string\n *\n * modified by dntzhang\n */\n\nvar encodeEntities = function encodeEntities(s) {\n return String(s).replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"');\n};\n\nvar indent = function indent(s, char) {\n return String(s).replace(/(\\n+)/g, '$1' + (char || '\\t'));\n};\n\nvar mapping$1 = options.mapping;\n\nvar VOID_ELEMENTS = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/;\n\nvar isLargeString = function isLargeString(s, length, ignoreLines) {\n return String(s).length > (length || 40) || !ignoreLines && String(s).indexOf('\\n') !== -1 || String(s).indexOf('<') !== -1;\n};\n\nvar JS_TO_CSS = {};\n\n// Convert an Object style to a CSSText string\nfunction styleObjToCss(s) {\n var str = '';\n for (var prop in s) {\n var val = s[prop];\n if (val != null) {\n if (str) str += ' ';\n // str += jsToCss(prop);\n str += JS_TO_CSS[prop] || (JS_TO_CSS[prop] = prop.replace(/([A-Z])/g, '-$1').toLowerCase());\n str += ': ';\n str += val;\n if (typeof val === 'number' && IS_NON_DIMENSIONAL.test(prop) === false) {\n str += 'px';\n }\n str += ';';\n }\n }\n return str || undefined;\n}\n\nfunction renderToString(vnode, opts, store, isSvgMode) {\n store = store || {};\n opts = Object.assign({\n scopedCSS: true\n }, opts);\n var css = {};\n var html = _renderToString(vnode, opts, store, isSvgMode, css);\n return {\n css: Object.values(css),\n html: html\n };\n}\n\n/** The default export is an alias of `render()`. */\nfunction _renderToString(vnode, opts, store, isSvgMode, css) {\n if (vnode == null || typeof vnode === 'boolean') {\n return '';\n }\n\n var nodeName = vnode.nodeName,\n attributes = vnode.attributes,\n isComponent = false;\n\n var pretty = true && opts.pretty,\n indentChar = pretty && typeof pretty === 'string' ? pretty : '\\t';\n\n // #text nodes\n if (typeof vnode !== 'object' && !nodeName) {\n return encodeEntities(vnode);\n }\n\n // components\n var ctor = mapping$1[nodeName];\n if (ctor) {\n isComponent = true;\n\n var props = getNodeProps$1(vnode),\n rendered;\n // class-based components\n var c = new ctor(props, store);\n // turn off stateful re-rendering:\n c._disable = c.__x = true;\n c.props = props;\n c.store = store;\n if (c.install) c.install();\n if (c.beforeRender) c.beforeRender();\n rendered = c.render(c.props, c.data, c.store);\n\n if (opts.scopedCSS) {\n\n if (c.constructor.css || c.css) {\n\n var cssStr = c.constructor.css ? c.constructor.css : typeof c.css === 'function' ? c.css() : c.css;\n var cssAttr = '_s' + getCtorName(c.constructor);\n css[cssAttr] = {\n id: cssAttr,\n css: scoper(cssStr, cssAttr)\n };\n addScopedAttrStatic(rendered, cssAttr);\n }\n\n c.scopedCSSAttr = vnode.css;\n scopeHost(rendered, c.scopedCSSAttr);\n }\n\n return _renderToString(rendered, opts, store, false, css);\n }\n\n // render JSX to HTML\n var s = '',\n html;\n\n if (attributes) {\n var attrs = Object.keys(attributes);\n\n // allow sorting lexicographically for more determinism (useful for tests, such as via preact-jsx-chai)\n if (opts && opts.sortAttributes === true) attrs.sort();\n\n for (var i = 0; i < attrs.length; i++) {\n var name = attrs[i],\n v = attributes[name];\n if (name === 'children') continue;\n\n if (name.match(/[\\s\\n\\\\/='\"\\0<>]/)) continue;\n\n if (!(opts && opts.allAttributes) && (name === 'key' || name === 'ref')) continue;\n\n if (name === 'className') {\n if (attributes['class']) continue;\n name = 'class';\n } else if (isSvgMode && name.match(/^xlink:?./)) {\n name = name.toLowerCase().replace(/^xlink:?/, 'xlink:');\n }\n\n if (name === 'style' && v && typeof v === 'object') {\n v = styleObjToCss(v);\n }\n\n var hooked = opts.attributeHook && opts.attributeHook(name, v, store, opts, isComponent);\n if (hooked || hooked === '') {\n s += hooked;\n continue;\n }\n\n if (name === 'dangerouslySetInnerHTML') {\n html = v && v.__html;\n } else if ((v || v === 0 || v === '') && typeof v !== 'function') {\n if (v === true || v === '') {\n v = name;\n // in non-xml mode, allow boolean attributes\n if (!opts || !opts.xml) {\n s += ' ' + name;\n continue;\n }\n }\n s += ' ' + name + '=\"' + encodeEntities(v) + '\"';\n }\n }\n }\n\n // account for >1 multiline attribute\n if (pretty) {\n var sub = s.replace(/^\\n\\s*/, ' ');\n if (sub !== s && !~sub.indexOf('\\n')) s = sub;else if (pretty && ~s.indexOf('\\n')) s += '\\n';\n }\n\n s = '<' + nodeName + s + '>';\n if (String(nodeName).match(/[\\s\\n\\\\/='\"\\0<>]/)) throw s;\n\n var isVoid = String(nodeName).match(VOID_ELEMENTS);\n if (isVoid) s = s.replace(/>$/, ' />');\n\n var pieces = [];\n if (html) {\n // if multiline, indent.\n if (pretty && isLargeString(html)) {\n html = '\\n' + indentChar + indent(html, indentChar);\n }\n s += html;\n } else if (vnode.children) {\n var hasLarge = pretty && ~s.indexOf('\\n');\n for (var i = 0; i < vnode.children.length; i++) {\n var child = vnode.children[i];\n if (child != null && child !== false) {\n var childSvgMode = nodeName === 'svg' ? true : nodeName === 'foreignObject' ? false : isSvgMode,\n ret = _renderToString(child, opts, store, childSvgMode, css);\n if (pretty && !hasLarge && isLargeString(ret)) hasLarge = true;\n if (ret) pieces.push(ret);\n }\n }\n if (pretty && hasLarge) {\n for (var i = pieces.length; i--;) {\n pieces[i] = '\\n' + indentChar + indent(pieces[i], indentChar);\n }\n }\n }\n\n if (pieces.length) {\n s += pieces.join('');\n } else if (opts && opts.xml) {\n return s.substring(0, s.length - 1) + ' />';\n }\n\n if (!isVoid) {\n if (pretty && ~s.indexOf('\\n')) s += '\\n';\n s += '' + nodeName + '>';\n }\n\n return s;\n}\n\nfunction assign$1(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }return obj;\n}\n\nfunction getNodeProps$1(vnode) {\n var props = assign$1({}, vnode.attributes);\n props.children = vnode.children;\n\n var defaultProps = vnode.nodeName.defaultProps;\n if (defaultProps !== undefined) {\n for (var i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i];\n }\n }\n }\n\n return props;\n}\n\nvar n=function(t,r,u,e){for(var p=1;p\"===t?(a(), u=1):u&&(\"=\"===t?(u=4, r=e, e=\"\"):\"/\"===t?(a(), 3===u&&(s=s[0]), u=s, (s=s[0]).push(u,4), u=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(a(), u=2):e+=t);}return a(), s},r=\"function\"==typeof Map,u=r?new Map:{},e=r?function(n){var r=u.get(n);return r||u.set(n,r=t(n)), r}:function(n){for(var r=\"\",e=0;e1?r:r[0]}\n\nvar html = htm.bind(h);\n\nvar WeElement = Component;\nvar defineElement = define;\nfunction createRef() {\n return {};\n}\n\noptions.root.Omi = {\n h: h,\n createElement: h,\n cloneElement: cloneElement,\n createRef: createRef,\n Component: Component,\n render: render,\n rerender: rerender,\n options: options,\n WeElement: WeElement,\n define: define,\n rpx: rpx,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n getHost: getHost,\n renderToString: renderToString,\n tag: tag,\n merge: merge,\n html: html,\n htm: htm\n};\noptions.root.omi = options.root.Omi;\noptions.root.Omi.version = 'omio-2.2.1';\n\nvar omi = {\n h: h,\n createElement: h,\n cloneElement: cloneElement,\n createRef: createRef,\n Component: Component,\n render: render,\n rerender: rerender,\n options: options,\n WeElement: WeElement,\n define: define,\n rpx: rpx,\n ModelView: ModelView,\n defineElement: defineElement,\n classNames: classNames,\n extractClass: extractClass,\n getHost: getHost,\n renderToString: renderToString,\n tag: tag,\n merge: merge,\n html: html,\n htm: htm\n};\n\nexport default omi;\nexport { h, h as createElement, cloneElement, createRef, Component, render, rerender, options, WeElement, define, rpx, ModelView, defineElement, classNames, extractClass, getHost, renderToString, tag, merge, html, htm };\n//# sourceMappingURL=omi.esm.js.map\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/omio/dist/omi.esm.js","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/css-loader/lib/css-base.js","import { define, WeElement } from 'omi'\n\nimport './my-head'\nimport './my-content'\nimport './my-sidebar'\nimport './my-demo'\n\ndefine('my-frame', class extends WeElement {\n\n installed(){\n this.store.init()\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-frame.js","import { define, WeElement } from 'omi'\nimport logo from './omi-logo2019.svg'\n\ndefine('my-head', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position'\n ]\n\n toggleMenus = evt => {\n this.store.toogleSidebar()\n evt.stopPropagation()\n }\n\n hideSidebar = evt => {\n this.store.hideSidebar()\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-head/index.js","module.exports = __webpack_public_path__ + \"static/media/omi-logo2019.923166c3.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/omi-logo2019.svg\n// module id = 13\n// module chunks = 124 125","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAqklEQVRoQ+2WQQ6AMAgE4f+Pxg+oSTNbDXR7Z5UZQpvR/GTz/w838LdBG7ABSMAjBAHichvACGHAXANVVRCOtDwzb2E/GnADUv4R5xkQA9wWN3cLbUMmDrYBMdDluLkGfJEtD8N7wXkXWfsREk/Atri5W2gbMnGwDYiBLsfNNdB+jbqB5Wn2U0KM7KO4uVvoI4D4MzaAEcIAG4AAcbkNYIQwwAYgQFze3sAFU6MwMZGH3LoAAAAASUVORK5CYII=\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/menu.png\n// module id = 14\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-head/_index.css\n// module id = 15\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".head{\\n position:fixed;\\n height:60px;\\n line-height: 60px;\\n border-bottom: 1px solid #eee;\\n width:100%;\\n background-color:#24292e;\\n z-index:100;\\n top: 0;\\n}\\n\\nul,li{\\n display: inline-block;\\n}\\n\\n.logo_box{\\n width:100px;\\n display: inline-block;\\n text-align:center;\\n line-height: 60px;\\n}\\n\\n.menu a,.logo_box a{\\n display: inline-block;\\n height:60px;\\n color: white;\\n}\\n\\n.menu{\\n position: absolute;\\n right:20px;\\n}\\n\\n.menu li{\\n margin-left:15px;\\n}\\n\\n.logo_box a{\\n font-size: 34px;\\n font-weight: bold;\\n color: #00bff3;\\n padding: 0px 15px;\\n line-height: 60px;\\n cursor: pointer;\\n}\\n\\n.menu a:hover{\\n color: white;\\n}\\n\\n.m_menu{\\n position:fixed;\\n display:none;\\n cursor: pointer;\\n}\\n\\n.menu li{\\n display:inline-block;\\n}\\n\\n.logo{\\n width: 40px;\\n height: 40px;\\n margin-left: 10px;\\n margin-top: 10px;\\n cursor: pointer;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n\\n .logo_box{\\n display:inline-block;\\n }\\n\\n .logo{\\n display: none;\\n }\\n\\n .head{\\n text-align:center;\\n }\\n\\n .m_menu{\\n top:0;\\n left:0;\\n display:block;\\n width:50px;\\n height:50px;\\n padding-top: 6px;\\n }\\n\\n .m_menu img{\\n width:30px;\\n }\\n\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-head/_index.css\n// module id = 16\n// module chunks = 124 125","import { render } from 'omi'\nimport './assets/index.css'\nimport './elements/my-frame.js'\nimport Store from './store'\n\nrender(, '#root', new Store({ lan: 'en' }))\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","import { define, WeElement } from 'omi'\nimport '../my-footer'\n\ndefine('my-content', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'html'\n ]\n\n install() {\n this.store.myContent = this\n }\n\n installed() {\n this.initCodeStyle()\n }\n\n afterUpdate() {\n this.initCodeStyle()\n }\n\n touchEnd = () => {\n this.store.hideSidebar()\n }\n\n initCodeStyle() {\n let codes = document.querySelectorAll('code')\n\n let codesArr = Array.prototype.slice.call(codes);\n let codeHlNumArr = []\n codesArr.forEach(code => {\n let arr = code.className.match(/{([\\S\\s]*)}/)\n let pre = code.parentNode\n //bug!\n arr && pre.setAttribute('data-line', arr[1])\n if (code.className) {\n pre.className = code.className\n\n const temp = code.className.match(/language-\\w*/g)[0]\n if (temp) {\n code.innerHTML = Prism.highlight(code.innerText, Prism.languages[temp.split('-')[1]], temp.split('-')[1])\n }\n } else {\n let pre = code.parentNode\n code.className = 'language-markup'\n pre.className = 'language-markup'\n code.innerHTML = Prism.highlight(code.innerText, Prism.languages.markup, 'markup')\n }\n // let hllNums = null\n // if (arr) {\n // let numArr = arr[0].replace(/[{|}]/g, '').split(',')\n // hllNums = this._arrToNumber(numArr)\n // }\n //codeHlNumArr.push(hllNums)\n })\n\n // codesArr.forEach((code, index) => {\n // let newP = document.createElement('div')\n // newP.className = '_code-ctn'\n // let pre = code.parentNode\n // let ctn = pre.parentNode\n // if (pre.nodeName === 'PRE') {\n // ctn.insertBefore(newP, pre)\n\n // let hl = document.createElement('div')\n // hl.className = '_hl'\n // newP.appendChild(hl)\n // newP.appendChild(pre)\n // let nums = codeHlNumArr[index]\n\n // let max = Math.max.apply(null, nums)\n\n // let inner = ''\n // for (let i = 0; i <= max; i++) {\n // if (nums.indexOf(i) == -1) {\n // inner += '
'\n // } else {\n // inner += ''\n // }\n // }\n // hl.innerHTML = inner\n // }\n // })\n //fix line-highlight\n window.dispatchEvent(new Event('resize'));\n }\n\n _arrToNumber(numArr) {\n let arr = []\n numArr.forEach(item => {\n if (item.indexOf('-') !== -1) {\n const tempArr = item.split('-')\n const begin = Number(tempArr[0])\n const end = Number(tempArr[1])\n for (let i = begin; i < end + 1; i++) {\n arr.push(i)\n }\n } else {\n arr.push(Number(item))\n }\n })\n return arr\n }\n\n render() {\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-content/index.js","import { define, WeElement } from 'omi'\n\ndefine('my-footer', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position',\n 'menu'\n ]\n\n render() {\n const [\n position,\n menus\n ] = this.use\n const pre = this.store.getPre()\n const next = this.store.getNext()\n // console.log(pre,next)\n return (\n \n )\n }\n\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-footer/index.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-footer/_index.css\n// module id = 19\n// module chunks = 124 125","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\n} catch(e) {\n\t// This works if the window reference is available\n\tif(typeof window === \"object\")\n\t\tg = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n\n// WEBPACK FOOTER //\n// (webpack)/buildin/global.js","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".ft{\\n position: relative;\\n margin-top: 20px\\n}\\n\\n.pre{\\n position: absolute;\\n left:15px;\\n}\\n\\n.next{\\n position: absolute;\\n right: 15px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-footer/_index.css\n// module id = 20\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-content/_index.css\n// module id = 21\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \".content{\\n margin-top: 60px;\\n margin-bottom: 30px;\\n margin-left: 260px;\\n padding: 1px 10px 10px 20px;\\n color: #24292e;\\n /* overflow: hidden; */\\n max-width: 900px;\\n}\\n\\nh3{\\n color:#444444;\\n}\\n\\npre{\\n border: 1px solid #eee;\\n width: 100%;\\n}\\nli{\\n text-indent: 20px;\\n list-style:disc inside ;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n .content{\\n margin-left: 0;\\n border-left: none;\\n padding: 1px 10px 10px 10px;\\n }\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-content/_index.css\n// module id = 22\n// module chunks = 124 125","import { define, WeElement } from 'omi'\nimport '../my-list'\n\ndefine('my-sidebar', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'menus',\n 'sideBarShow',\n 'lan'\n ]\n\n render() {\n const [menus, sideBarShow, lan] = this.use\n\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-sidebar/index.js","import { define, WeElement } from 'omi'\n\ndefine('my-list', class extends WeElement {\n static css = require('./_index.css')\n\n static use = [\n 'position'\n ]\n\n render(props) {\n const [position] = this.use\n\n return (\n \n - {props.menu.title}
\n {props.menu.list &&\n props.menu.list.map((item, subIndex) => {\n const cls = position[0] === props.index && position[1] === subIndex ? { class: 'current' } : null\n return - \n \n {item.name}\n \n
\n })}\n
\n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-list/index.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-list/_index.css\n// module id = 25\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"li.title{\\n font-size: 14px;\\n font-weight: bold;\\n margin-bottom:10px;\\n margin-top:10px;\\n text-indent: 23px;\\n}\\nli{\\n margin-bottom:1px;\\n text-indent: 33px;\\n}\\nli a{\\n display:block;\\n font-size:14px;\\n height:30px;\\n line-height:30px;\\n color: black;\\n background-color:#eee;\\n}\\nli a.current,li a.current:hover{\\n background-color:#24292e;\\n color: white;\\n cursor: default;\\n}\\nli a:hover{\\n background-color:#f0f8ff;\\n}\\n\\n\\nul,li{\\n list-style:none;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-list/_index.css\n// module id = 26\n// module chunks = 124 125","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-sidebar/_index.css\n// module id = 27\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"@media only screen and (max-width: 768px) {\\n .list{\\n transform: translateX(-100%);\\n background-color:white;\\n left:0 !important;\\n -moz-transition: all .6s ease;\\n -o-transition: all .6s ease;\\n -webkit-transition: all .6s ease;\\n transition: all .6s ease;\\n width: 70% !important;\\n z-index: 100000;\\n border-right: none !important;\\n }\\n\\n .list.show {\\n -moz-transform: translateX(0%) translateZ(0);\\n -ms-transform: translateX(0%) translateZ(0);\\n -o-transform: translateX(0%) translateZ(0);\\n -webkit-transform: translateX(0%) translateZ(0);\\n transform: translateX(0%) translateZ(0);\\n }\\n}\\n\\n.list{\\n width: 261px;\\n text-indent: 20px;\\n border-right: 1px solid #eee;\\n overflow-x: hidden;\\n overflow-y: auto;\\n position:fixed;\\n top:60px;\\n background-color: white;\\n height: 100%;\\n border-right: 1px solid #ccc;\\n padding-bottom: 100px;\\n}\\n.version{\\n height:20px;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-sidebar/_index.css\n// module id = 28\n// module chunks = 124 125","import { define, WeElement } from 'omi'\nimport css from './_index.css'\n\ndefine('my-demo', class extends WeElement {\n install() {\n this.store.myDemo = this\n if (this.checkPc())\n this.show = true\n else\n this.show = false\n this.demo = this.store.demo\n }\n\n css() {\n return css\n }\n\n checkPc() {\n let userAgentInfo = navigator.userAgent\n let mp = [\"Android\", \"iPhone\", \"SymbianOS\", \"Windows Phone\", \"iPad\", \"iPod\"]\n for (let i = 0; i < mp.length; i++)\n if (userAgentInfo.indexOf(mp[i]) > 0)\n return false\n return true\n }\n\n toggle = () => {\n this.show = !this.show\n this.update()\n }\n\n render() {\n if (!this.demo) return\n return (\n \n )\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/elements/my-demo/index.js","'use strict';\n\nvar asap = require('asap/raw');\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/core.js","\n var result = require(\"!!../../../node_modules/css-loader/index.js!./_index.css\");\n\n if (typeof result === \"string\") {\n module.exports = result;\n } else {\n module.exports = result.toString();\n }\n \n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/elements/my-demo/_index.css\n// module id = 30\n// module chunks = 124 125","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(undefined);\n// imports\n\n\n// module\nexports.push([module.id, \"iframe{\\n width: 750px;\\n height: 100%;\\n top: 60px;\\n right: 0;\\n position: fixed;\\n border: none;\\n z-index: 9999;\\n border-left: 2px solid #24292E; \\n min-width: 320px;\\n background-color: white;\\n}\\n\\n@media only screen and (max-width: 768px) {\\n iframe{\\n width: 100%;\\n min-width: 100%;\\n }\\n}\\n\\n.icon{\\n position: fixed;\\n right: 50px;\\n bottom: 50px;\\n cursor: pointer;\\n width:50px;\\n height:50px;\\n background-color: rgb(96, 101, 114);\\n text-align: center;\\n height: 50px;\\n line-height: 56px;\\n border-radius: 50%;\\n z-index: 10000;\\n \\n}\\n\\nsvg{\\n transition: left .5s ease;\\n left:0;\\n color: white;\\n position: relative;\\n}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./src/elements/my-demo/_index.css\n// module id = 31\n// module chunks = 124 125","import config from '../docs/config.js'\nimport 'omi-router'\n\nclass Store {\n constructor(data) {\n this.data = {\n position: [-1, -1],\n menus: config.menus,\n lan: data.lan,\n html: '',\n sideBarShow: window.innerWidth > 768\n }\n let id = 0\n this.map = {}\n this.positionMap = {}\n config.menus[this.data.lan].forEach((menu, index) => {\n menu.list.forEach((item, subIndex) => {\n item.id = id++\n item.position = [index, subIndex]\n this.map[item.id] = item\n item.index = index\n item.subIndex = subIndex\n this.positionMap[index+'-'+subIndex] = item\n })\n })\n this.preIndex = 0\n this.preSubIndex = 0\n }\n\n getNext(){\n const item = this.positionMap[this.data.position.join('-')]\n if(item){\n return this.map[item.id+1]\n }\n }\n\n getPre(){\n const item = this.positionMap[this.data.position.join('-')]\n if(item){\n return this.map[item.id-1]\n }\n }\n\n init() {\n this.remarkable = new Remarkable({ html: true })\n if (location.hash === \"\") {\n this.data.position = [0, 0]\n this.getMarkDown(this.data.menus[this.data.lan][0].list[0].md, this.data.lan, m => {\n this.data.html = this.remarkable.render(m)\n })\n }\n this.demo = this.data.menus[this.data.lan][0].list[0].demo\n this.initRouter()\n }\n\n toogleSidebar() {\n this.data.sideBarShow = !this.data.sideBarShow\n }\n\n hideSidebar() {\n this.data.sideBarShow = false\n }\n\n initRouter() {\n const menus = this.data.menus[this.data.lan]\n menus.forEach(item => {\n item.list.forEach(subItem => {\n route('/' + subItem.md, evt => {\n menus[this.preIndex].list[this.preSubIndex].selected = false\n this.preIndex = evt.query.index\n this.preSubIndex = evt.query.subIndex\n this.data.position = [Number(evt.query.index), Number(evt.query.subIndex)]\n this.data.sideBarShow = false\n this.myDemo.demo = menus[this.preIndex].list[this.preSubIndex].demo\n this.myDemo.update()\n\n this.getMarkDown(subItem.md, this.data.lan, m => {\n this.data.html = this.remarkable.render(m)\n document.body.scrollTop = 0\n document.documentElement.scrollTop = 0\n })\n })\n })\n })\n }\n\n getMarkDown(name, lan, callback) {\n import('../docs/' + lan + '/' + name + '.md').then(m => {\n callback(m)\n })\n }\n}\n\nexport default Store\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","const config = {\n menus: {\n 'zh-cn': [\n {\n title: 'Omim',\n list: [\n { name: '简介', md: 'introduction' }\n ]\n },\n {\n title: '基础',\n list: [\n { name: 'Button 按钮', md: 'button', demo: './repl/button.html' },\n { name: 'Fab 动作按钮', md: 'fab', demo: './repl/fab.html' },\n { name: 'Icon 图标', md: 'icon', demo: './repl/icon.html' },\n { name: 'IconButton 图标按钮', md: 'icon-button', demo: './repl/icon-button.html' },\n { name: 'Avatar 头像', md: 'avatar', demo: './repl/avatar.html' },\n { name: 'Loading 加载', md: 'loading', demo: './repl/loading.html' },\n { name: 'Breadcrumb 面包屑', md: 'breadcrumb', demo: './repl/breadcrumb.html' }\n ]\n },\n {\n title: '公用',\n list: [\n { name: 'Transition 过渡', md: 'transition', demo: 'https://tencent.github.io/omi/packages/omim/demos/transition/index.html' },\n { name: 'To 运动', md: 'to', demo: 'https://tencent.github.io/omi/packages/omim/demos/to/index.html' },\n { name: 'Theme 主题', md: 'theme', demo: 'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html' },\n { name: 'Typography 排版', md: 'typography', demo: './repl/typography.html' },\n { name: 'Layout Grid 网格布局', md: 'layout-grid', demo: 'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html' }\n ]\n },\n {\n title: '布局',\n list: [\n { name: 'Row 行', md: 'row', demo: './repl/row.html' },\n\n { name: 'Elevation 高度盒', md: 'elevation', demo: './repl/elevation.html' },\n { name: 'Image List 图片列表', md: 'image-list', demo: './repl/image-list.html' }\n ]\n },\n {\n title: '导航',\n list: [\n { name: 'Menu 菜单', md: 'menu', demo: './repl/menu.html' },\n { name: 'Drawer 抽屉', md: 'drawer', demo: 'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html' },\n { name: 'Tab 标签切换', md: 'tab', demo: './repl/tab.html' },\n { name: 'Nav 导航', md: 'nav', demo: './repl/nav.html' },\n { name: 'Pagination 分页', md: 'pagination', demo: 'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html' },\n { name: 'Top App Bar 顶部栏', md: 'top-app-bar', demo: 'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html' }\n ]\n },\n {\n title: '操作反馈',\n list: [\n {name: 'Dialog 对话框', md: 'dialog', demo: './repl/dialog.html'},\n {name: 'Snackbar 提醒', md: 'snackbar', demo: './repl/snackbar.html'},\n {name: 'ActionSheet 行动表', md: 'action-sheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},\n {name: 'ColorPicker 颜色选择机', md: 'color-picker', demo: './repl/color-picker.html'},\n { name: 'Popover 提示', md: 'popover', demo: 'https://tencent.github.io/omi/packages/omim/demos/popover/index.html' },\n { name: 'Toast 弹出提示', md: 'toast', demo: 'https://tencent.github.io/omi/packages/omim/demos/toast/index.html' }\n ]\n },\n {\n title: '表单',\n list: [\n { name: 'Text Field 文本输入', md: 'text-field', demo: './repl/text-field.html' },\n { name: 'Select 下拉选择', md: 'select', demo: './repl/select.html' },\n { name: 'Checkbox 复选框', md: 'checkbox', demo: './repl/checkbox.html' },\n { name: 'Radio 单选框', md: 'radio', demo: './repl/radio.html' },\n { name: 'Switch 切换', md: 'switch', demo: './repl/switch.html' },\n { name: 'DateTimePicker 时间日期选择器', md: 'date-time-picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html' },\n { name: 'Picker 原生选择器', md: 'picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html' },\n { name: 'TransferList 穿梭列表', md: 'transfer-list', demo: 'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html' }\n ]\n },\n {\n title: '数据',\n list: [\n { name: 'List 列表', md: 'list', demo: './repl/list.html' },\n { name: 'Table 表格', md: 'table', demo: 'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html' },\n { name: 'Linear Progress 线性进度', md: 'linear-progress', demo: './repl/linear-progress.html' },\n { name: 'Slider 滑块', md: 'slider', demo: './repl/slider.html' },\n { name: 'Chips 标签', md: 'chips', demo: './repl/chips.html' },\n { name: 'Tag 标签', md: 'tag', demo: './repl/tag.html' },\n { name: 'Badge 徽章', md: 'badge', demo: './repl/badge.html' },\n { name: 'Tree 树', md: 'tree', demo: './repl/tree.html' },\n { name: 'Card 卡片', md: 'card', demo: './repl/card.html' },\n { name: 'Path Progress 路径进度', md: 'path-progress', demo: './repl/path-progress.html' },\n { name: 'Paper 纸片', md: 'paper', demo: './repl/paper.html' },\n { name: 'Step 步骤', md: 'step', demo: './repl/step.html' },\n { name: 'Simple Card 简单卡片', md: 'simple-card', demo: './repl/simple-card.html' },\n { name: 'Editor 富文本编辑器', md: 'editor', demo: 'https://tencent.github.io/omi/packages/omim/demos/editor/index.html' },\n { name: 'Spreadsheet 电子表格', md: 'spreadsheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html' },\n { name: 'Rate 评分', md: 'rate', demo: 'https://tencent.github.io/omi/packages/omim/demos/rate/index.html' }\n ]\n },\n {\n title: '图表',\n list: [\n { name: '简介', md: 'introduction-chart' },\n { name: '柱状图', md: 'bar', demo: './repl/bar.html' },\n { name: '线状图', md: 'line', demo: './repl/line.html' },\n { name: '散点图', md: 'scatter', demo: './repl/scatter.html' },\n { name: '饼图', md: 'pie', demo: './repl/pie.html' },\n { name: '环状图', md: 'doughnut', demo: './repl/doughnut.html' },\n { name: '雷达图', md: 'radar', demo: './repl/radar.html' },\n { name: '极区图', md: 'polar-area', demo: './repl/polar-area.html' },\n { name: '气泡图', md: 'bubble', demo: './repl/bubble.html' },\n { name: '合成图', md: 'bar-line', demo: './repl/bar-line.html' }\n ]\n }\n ],\n en: [\n {\n title: 'Omim',\n list: [\n { name: 'Introduction', md: 'introduction' }\n ]\n },\n {\n title: 'Base',\n list: [\n { name: 'Button', md: 'button', demo: './repl/button.html' },\n { name: 'Fab', md: 'fab', demo: './repl/fab.html' },\n { name: 'Icon', md: 'icon', demo: './repl/icon.html' },\n { name: 'IconButton', md: 'icon-button', demo: './repl/icon-button.html' },\n { name: 'Avatar', md: 'avatar', demo: './repl/avatar.html' },\n { name: 'Loading', md: 'loading', demo: './repl/loading.html' },\n { name: 'Breadcrumb', md: 'breadcrumb', demo: './repl/breadcrumb.html' }\n ]\n },\n {\n title: 'Util',\n list: [\n { name: 'Transition', md: 'transition', demo: 'https://tencent.github.io/omi/packages/omim/demos/transition/index.html' },\n { name: 'To', md: 'to', demo: 'https://tencent.github.io/omi/packages/omim/demos/to/index.html' },\n { name: 'Theme', md: 'theme', demo: 'https://tencent.github.io/omi/packages/omim/demos/button/index.theme.html' },\n { name: 'Typography', md: 'typography', demo: './repl/typography.html' },\n { name: 'Layout Grid', md: 'layout-grid', demo: 'https://tencent.github.io/omi/packages/omim/demos/layout-grid/index.repl.html' }\n ]\n },\n {\n title: 'Layout',\n list: [\n { name: 'Row', md: 'row', demo: './repl/row.html' },\n { name: 'Elevation', md: 'elevation', demo: './repl/elevation.html' },\n { name: 'Image List', md: 'image-list', demo: './repl/image-list.html' }\n ]\n },\n {\n title: 'Navigation',\n list: [\n { name: 'Menu', md: 'menu', demo: './repl/menu.html' },\n { name: 'Drawer', md: 'drawer', demo: 'https://tencent.github.io/omi/packages/omim/demos/drawer/index.html' },\n { name: 'Tab', md: 'tab', demo: './repl/tab.html' },\n { name: 'Nav', md: 'nav', demo: './repl/nav.html' },\n { name: 'Pagination', md: 'pagination', demo: 'https://tencent.github.io/omi/packages/omim/demos/pagination/index.script.html' },\n { name: 'Top App Bar', md: 'top-app-bar', demo: 'https://tencent.github.io/omi/packages/omim/demos/top-app-bar/index.html' }\n ]\n },\n {\n title: 'Operational Feedback',\n list: [\n {name: 'Dialog', md: 'dialog', demo: './repl/dialog.html'},\n {name: 'Snackbar', md: 'snackbar', demo: './repl/snackbar.html'},\n {name: 'ActionSheet', md: 'action-sheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/action-sheet/index.script.html'},\n {name: 'ColorPicker', md: 'color-picker', demo: './repl/color-picker.html'},\n { name: 'Popover', md: 'popover', demo: 'https://tencent.github.io/omi/packages/omim/demos/popover/index.html' },\n { name: 'Toast', md: 'toast', demo: 'https://tencent.github.io/omi/packages/omim/demos/toast/index.html' }\n ]\n },\n {\n title: 'Form',\n list: [\n { name: 'Text Field', md: 'text-field', demo: './repl/text-field.html' },\n { name: 'Select', md: 'select', demo: './repl/select.html' },\n { name: 'Checkbox', md: 'checkbox', demo: './repl/checkbox.html' },\n { name: 'Radio', md: 'radio', demo: './repl/radio.html' },\n { name: 'Switch', md: 'switch', demo: './repl/switch.html' },\n { name: 'DateTimePicker', md: 'date-time-picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/date-time-picker/index.script.html' },\n { name: 'Picker', md: 'picker', demo: 'https://tencent.github.io/omi/packages/omim/demos/picker/index.script.html' },\n { name: 'TransferList', md: 'transfer-list', demo: 'https://tencent.github.io/omi/packages/omim/demos/transfer-list/index.script.html' }\n ]\n },\n {\n title: 'Data',\n list: [\n { name: 'List', md: 'list', demo: './repl/list.html' },\n { name: 'Table', md: 'table', demo: 'https://tencent.github.io/omi/packages/omim/demos/table/index.script.html' },\n { name: 'Linear Progress', md: 'linear-progress', demo: './repl/linear-progress.html' },\n { name: 'Slider', md: 'slider', demo: './repl/slider.html' },\n { name: 'Chips', md: 'chips', demo: './repl/chips.html' },\n { name: 'Tag', md: 'tag', demo: './repl/tag.html' },\n { name: 'Badge', md: 'badge', demo: './repl/badge.html' },\n { name: 'Tree', md: 'tree', demo: './repl/tree.html' },\n { name: 'Card', md: 'card', demo: './repl/card.html' },\n { name: 'Path Progress', md: 'path-progress', demo: './repl/path-progress.html' },\n { name: 'Paper', md: 'paper', demo: './repl/paper.html' },\n { name: 'Step', md: 'step', demo: './repl/step.html' },\n { name: 'Simple Card', md: 'simple-card', demo: './repl/simple-card.html' },\n { name: 'Editor', md: 'editor', demo: 'https://tencent.github.io/omi/packages/omim/demos/editor/index.html' },\n { name: 'Spreadsheet', md: 'spreadsheet', demo: 'https://tencent.github.io/omi/packages/omim/demos/spreadsheet/index.html' },\n { name: 'Rate', md: 'rate', demo: 'https://tencent.github.io/omi/packages/omim/demos/rate/index.html' }\n ]\n },\n {\n title: 'Chart',\n list: [\n { name: 'Introduction', md: 'introduction-chart' },\n { name: 'Bar', md: 'bar', demo: './repl/bar.html' },\n { name: 'Line', md: 'line', demo: './repl/line.html' },\n { name: 'Scatter', md: 'scatter', demo: './repl/scatter.html' },\n { name: 'Pie', md: 'pie', demo: './repl/pie.html' },\n { name: 'Doughnut', md: 'doughnut', demo: './repl/doughnut.html' },\n { name: 'Radar', md: 'radar', demo: './repl/radar.html' },\n { name: 'PolarArea', md: 'polar-area', demo: './repl/polar-area.html' },\n { name: 'Bubble', md: 'bubble', demo: './repl/bubble.html' },\n { name: 'BarLine', md: 'bar-line', demo: './repl/bar-line.html' }\n\n\n ]\n }\n ]\n }\n}\n\nexport default config\n\n\n\n// WEBPACK FOOTER //\n// ./src/docs/config.js","/*!\n * omi-router v2.0.8 by dntzhang\n * Router for Omi.\n * Github: https://github.com/Tencent/omi\n * MIT Licensed.\n */\n\nvar p2r = require('path-to-regexp')\nvar mapping = {}\nvar root = getGlobal()\n\nroot.route = route\nroot.route.params = null\nroot.historyLength = 0\n\nroot.route.to = function (path, data) {\n root.route._routeByTo = true\n root.route.data = data\n if (path[0] === '#') {\n location.hash = path\n } else {\n location.hash = '#' + path\n }\n}\n\nwindow.addEventListener('hashchange', change)\n\nfunction change(evt) {\n var byNative = false\n //need to fix a line by omi-link\n if(window.history.length === root.historyLength && !root.route._routeByTo){\n //keep alive mode\n byNative = true\n }\n root.route._routeByTo = false\n root.historyLength = window.history.length\n var prevent = false\n if (evt.type === 'hashchange' && root.route.before) {\n prevent = root.route.before(evt) === false\n }\n if (prevent) return\n var path = window.location.hash.replace('#', '')\n var notFound = true\n Object.keys(mapping).every(function(key){\n var toArr = path.split('?')[0].match(mapping[key].reg)\n if (toArr) {\n var pathArr = key.match(mapping[key].reg)\n root.route.params = getParams(toArr, pathArr)\n root.route.query = getUrlParams(path)\n mapping[key].callback({\n params: root.route.params,\n query: getUrlParams(path),\n data: root.route.data,\n byNative: byNative\n })\n root.route.data = null\n notFound = false\n return false\n }\n return true\n })\n\n if (notFound) {\n mapping['*'] && mapping['*'].callback({ byNative: byNative })\n }\n\n if (evt.type === 'hashchange' && root.route.after) {\n root.route.after(evt)\n }\n}\n\ndocument.addEventListener('DOMContentLoaded', change)\n\nfunction getParams(toArr, pathArr) {\n var params = {}\n toArr.forEach(function (item, index) {\n if (index > 0) {\n params[pathArr[index].replace(':', '')] = item\n }\n })\n return params\n}\n\n\nexport default function route(path, callback) {\n mapping[path] = {\n callback: callback,\n reg: p2r(path)\n }\n}\n\nfunction getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n return (\n self ||\n window ||\n global ||\n (function () {\n return this\n })()\n )\n }\n return global\n}\n\nfunction getUrlParams(url) {\n url = url.replace(/#.*$/, '')\n var queryArray = url.split(/[?&]/).slice(1)\n var i, args = {}\n for (i = 0; i < queryArray.length; i++) {\n var match = queryArray[i].match(/([^=]+)=([^=]+)/)\n if (match !== null) {\n args[match[1]] = decodeURIComponent(match[2])\n }\n }\n return args\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/omi-router/index.js","/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * Default configs.\n */\nvar DEFAULT_DELIMITER = '/'\nvar DEFAULT_DELIMITERS = './'\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \":test(\\\\d+)?\" => [\"test\", \"\\d+\", undefined, \"?\"]\n // \"(\\\\d+)\" => [undefined, undefined, \"\\d+\", undefined]\n '(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = (options && options.delimiter) || DEFAULT_DELIMITER\n var delimiters = (options && options.delimiters) || DEFAULT_DELIMITERS\n var pathEscaped = false\n var res\n\n while ((res = PATH_REGEXP.exec(str)) !== null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n pathEscaped = true\n continue\n }\n\n var prev = ''\n var next = str[index]\n var name = res[2]\n var capture = res[3]\n var group = res[4]\n var modifier = res[5]\n\n if (!pathEscaped && path.length) {\n var k = path.length - 1\n\n if (delimiters.indexOf(path[k]) > -1) {\n prev = path[k]\n path = path.slice(0, k)\n }\n }\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n pathEscaped = false\n }\n\n var partial = prev !== '' && next !== undefined && next !== prev\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = prev || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prev,\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n pattern: pattern ? escapeGroup(pattern) : '[^' + escapeString(delimiter) + ']+?'\n })\n }\n\n // Push any remaining characters.\n if (path || index < str.length) {\n tokens.push(path + str.substr(index))\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (data, options) {\n var path = ''\n var encode = (options && options.encode) || encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n continue\n }\n\n var value = data ? data[token.name] : undefined\n var segment\n\n if (Array.isArray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but got array')\n }\n\n if (value.length === 0) {\n if (token.optional) continue\n\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j], token)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\"')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n segment = encode(String(value), token)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but got \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n continue\n }\n\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) path += token.prefix\n\n continue\n }\n\n throw new TypeError('Expected \"' + token.name + '\" to be ' + (token.repeat ? 'an array' : 'a string'))\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$/()])/g, '\\\\$1')\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {Array=} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n if (!keys) return path\n\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n pattern: null\n })\n }\n }\n\n return path\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n return new RegExp('(?:' + parts.join('|') + ')', flags(options))\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n options = options || {}\n\n var strict = options.strict\n var start = options.start !== false\n var end = options.end !== false\n var delimiter = escapeString(options.delimiter || DEFAULT_DELIMITER)\n var delimiters = options.delimiters || DEFAULT_DELIMITERS\n var endsWith = [].concat(options.endsWith || []).map(escapeString).concat('$').join('|')\n var route = start ? '^' : ''\n var isEndDelimited = tokens.length === 0\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n isEndDelimited = i === tokens.length - 1 && delimiters.indexOf(token[token.length - 1]) > -1\n } else {\n var capture = token.repeat\n ? '(?:' + token.pattern + ')(?:' + escapeString(token.delimiter) + '(?:' + token.pattern + '))*'\n : token.pattern\n\n if (keys) keys.push(token)\n\n if (token.optional) {\n if (token.partial) {\n route += escapeString(token.prefix) + '(' + capture + ')?'\n } else {\n route += '(?:' + escapeString(token.prefix) + '(' + capture + '))?'\n }\n } else {\n route += escapeString(token.prefix) + '(' + capture + ')'\n }\n }\n }\n\n if (end) {\n if (!strict) route += '(?:' + delimiter + ')?'\n\n route += endsWith === '$' ? '$' : '(?=' + endsWith + ')'\n } else {\n if (!strict) route += '(?:' + delimiter + '(?=' + endsWith + '))?'\n if (!isEndDelimited) route += '(?=' + delimiter + '|' + endsWith + ')'\n }\n\n return new RegExp(route, flags(options))\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (path instanceof RegExp) {\n return regexpToRegexp(path, keys)\n }\n\n if (Array.isArray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), keys, options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), keys, options)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/path-to-regexp/index.js","var map = {\n\t\"./en/action-sheet.md\": [\n\t\t37,\n\t\t123\n\t],\n\t\"./en/avatar.md\": [\n\t\t38,\n\t\t122\n\t],\n\t\"./en/badge.md\": [\n\t\t39,\n\t\t121\n\t],\n\t\"./en/bar-line.md\": [\n\t\t40,\n\t\t120\n\t],\n\t\"./en/bar.md\": [\n\t\t41,\n\t\t119\n\t],\n\t\"./en/breadcrumb.md\": [\n\t\t42,\n\t\t118\n\t],\n\t\"./en/bubble.md\": [\n\t\t43,\n\t\t117\n\t],\n\t\"./en/button.md\": [\n\t\t44,\n\t\t116\n\t],\n\t\"./en/card.md\": [\n\t\t45,\n\t\t115\n\t],\n\t\"./en/checkbox.md\": [\n\t\t46,\n\t\t114\n\t],\n\t\"./en/chips.md\": [\n\t\t47,\n\t\t113\n\t],\n\t\"./en/color-picker.md\": [\n\t\t48,\n\t\t112\n\t],\n\t\"./en/date-time-picker.md\": [\n\t\t49,\n\t\t111\n\t],\n\t\"./en/dialog.md\": [\n\t\t50,\n\t\t110\n\t],\n\t\"./en/doughnut.md\": [\n\t\t51,\n\t\t109\n\t],\n\t\"./en/drawer.md\": [\n\t\t52,\n\t\t108\n\t],\n\t\"./en/editor.md\": [\n\t\t53,\n\t\t107\n\t],\n\t\"./en/elevation.md\": [\n\t\t54,\n\t\t106\n\t],\n\t\"./en/fab.md\": [\n\t\t55,\n\t\t105\n\t],\n\t\"./en/icon-button.md\": [\n\t\t56,\n\t\t104\n\t],\n\t\"./en/icon.md\": [\n\t\t57,\n\t\t103\n\t],\n\t\"./en/image-list.md\": [\n\t\t58,\n\t\t102\n\t],\n\t\"./en/introduction-chart.md\": [\n\t\t59,\n\t\t101\n\t],\n\t\"./en/introduction.md\": [\n\t\t60,\n\t\t100\n\t],\n\t\"./en/layout-grid.md\": [\n\t\t61,\n\t\t99\n\t],\n\t\"./en/line.md\": [\n\t\t62,\n\t\t98\n\t],\n\t\"./en/linear-progress.md\": [\n\t\t63,\n\t\t97\n\t],\n\t\"./en/list.md\": [\n\t\t64,\n\t\t96\n\t],\n\t\"./en/loading.md\": [\n\t\t65,\n\t\t95\n\t],\n\t\"./en/menu.md\": [\n\t\t66,\n\t\t94\n\t],\n\t\"./en/nav.md\": [\n\t\t67,\n\t\t93\n\t],\n\t\"./en/pagination.md\": [\n\t\t68,\n\t\t92\n\t],\n\t\"./en/paper.md\": [\n\t\t69,\n\t\t91\n\t],\n\t\"./en/path-progress.md\": [\n\t\t70,\n\t\t90\n\t],\n\t\"./en/picker.md\": [\n\t\t71,\n\t\t89\n\t],\n\t\"./en/pie.md\": [\n\t\t72,\n\t\t88\n\t],\n\t\"./en/polar-area.md\": [\n\t\t73,\n\t\t87\n\t],\n\t\"./en/popover.md\": [\n\t\t74,\n\t\t86\n\t],\n\t\"./en/radar.md\": [\n\t\t75,\n\t\t85\n\t],\n\t\"./en/radio.md\": [\n\t\t76,\n\t\t84\n\t],\n\t\"./en/rate.md\": [\n\t\t77,\n\t\t83\n\t],\n\t\"./en/row.md\": [\n\t\t78,\n\t\t82\n\t],\n\t\"./en/scatter.md\": [\n\t\t79,\n\t\t81\n\t],\n\t\"./en/select.md\": [\n\t\t80,\n\t\t80\n\t],\n\t\"./en/simple-card.md\": [\n\t\t81,\n\t\t79\n\t],\n\t\"./en/slider.md\": [\n\t\t82,\n\t\t78\n\t],\n\t\"./en/snackbar.md\": [\n\t\t83,\n\t\t77\n\t],\n\t\"./en/spreadsheet.md\": [\n\t\t84,\n\t\t76\n\t],\n\t\"./en/step.md\": [\n\t\t85,\n\t\t75\n\t],\n\t\"./en/switch.md\": [\n\t\t86,\n\t\t74\n\t],\n\t\"./en/tab.md\": [\n\t\t87,\n\t\t73\n\t],\n\t\"./en/table.md\": [\n\t\t88,\n\t\t72\n\t],\n\t\"./en/tag.md\": [\n\t\t89,\n\t\t71\n\t],\n\t\"./en/text-field.md\": [\n\t\t90,\n\t\t70\n\t],\n\t\"./en/theme.md\": [\n\t\t91,\n\t\t69\n\t],\n\t\"./en/to.md\": [\n\t\t92,\n\t\t68\n\t],\n\t\"./en/toast.md\": [\n\t\t93,\n\t\t67\n\t],\n\t\"./en/top-app-bar.md\": [\n\t\t94,\n\t\t66\n\t],\n\t\"./en/transfer-list.md\": [\n\t\t95,\n\t\t65\n\t],\n\t\"./en/transition.md\": [\n\t\t96,\n\t\t64\n\t],\n\t\"./en/tree.md\": [\n\t\t97,\n\t\t63\n\t],\n\t\"./en/typography.md\": [\n\t\t98,\n\t\t62\n\t],\n\t\"./zh-cn/action-sheet.md\": [\n\t\t99,\n\t\t61\n\t],\n\t\"./zh-cn/avatar.md\": [\n\t\t100,\n\t\t60\n\t],\n\t\"./zh-cn/badge.md\": [\n\t\t101,\n\t\t59\n\t],\n\t\"./zh-cn/bar-line.md\": [\n\t\t102,\n\t\t58\n\t],\n\t\"./zh-cn/bar.md\": [\n\t\t103,\n\t\t57\n\t],\n\t\"./zh-cn/breadcrumb.md\": [\n\t\t104,\n\t\t56\n\t],\n\t\"./zh-cn/bubble.md\": [\n\t\t105,\n\t\t55\n\t],\n\t\"./zh-cn/button.md\": [\n\t\t106,\n\t\t54\n\t],\n\t\"./zh-cn/card.md\": [\n\t\t107,\n\t\t53\n\t],\n\t\"./zh-cn/checkbox.md\": [\n\t\t108,\n\t\t52\n\t],\n\t\"./zh-cn/chips.md\": [\n\t\t109,\n\t\t51\n\t],\n\t\"./zh-cn/color-picker.md\": [\n\t\t110,\n\t\t50\n\t],\n\t\"./zh-cn/date-time-picker.md\": [\n\t\t111,\n\t\t49\n\t],\n\t\"./zh-cn/dialog.md\": [\n\t\t112,\n\t\t48\n\t],\n\t\"./zh-cn/doughnut.md\": [\n\t\t113,\n\t\t47\n\t],\n\t\"./zh-cn/drawer.md\": [\n\t\t114,\n\t\t46\n\t],\n\t\"./zh-cn/editor.md\": [\n\t\t115,\n\t\t45\n\t],\n\t\"./zh-cn/elevation.md\": [\n\t\t116,\n\t\t44\n\t],\n\t\"./zh-cn/fab.md\": [\n\t\t117,\n\t\t43\n\t],\n\t\"./zh-cn/icon-button.md\": [\n\t\t118,\n\t\t42\n\t],\n\t\"./zh-cn/icon.md\": [\n\t\t119,\n\t\t41\n\t],\n\t\"./zh-cn/image-list.md\": [\n\t\t120,\n\t\t40\n\t],\n\t\"./zh-cn/introduction-chart.md\": [\n\t\t121,\n\t\t39\n\t],\n\t\"./zh-cn/introduction.md\": [\n\t\t122,\n\t\t38\n\t],\n\t\"./zh-cn/layout-grid.md\": [\n\t\t123,\n\t\t37\n\t],\n\t\"./zh-cn/line.md\": [\n\t\t124,\n\t\t36\n\t],\n\t\"./zh-cn/linear-progress.md\": [\n\t\t125,\n\t\t35\n\t],\n\t\"./zh-cn/list.md\": [\n\t\t126,\n\t\t34\n\t],\n\t\"./zh-cn/loading.md\": [\n\t\t127,\n\t\t33\n\t],\n\t\"./zh-cn/menu.md\": [\n\t\t128,\n\t\t32\n\t],\n\t\"./zh-cn/nav.md\": [\n\t\t129,\n\t\t31\n\t],\n\t\"./zh-cn/pagination.md\": [\n\t\t130,\n\t\t30\n\t],\n\t\"./zh-cn/paper.md\": [\n\t\t131,\n\t\t29\n\t],\n\t\"./zh-cn/path-progress.md\": [\n\t\t132,\n\t\t28\n\t],\n\t\"./zh-cn/picker.md\": [\n\t\t133,\n\t\t27\n\t],\n\t\"./zh-cn/pie.md\": [\n\t\t134,\n\t\t26\n\t],\n\t\"./zh-cn/polar-area.md\": [\n\t\t135,\n\t\t25\n\t],\n\t\"./zh-cn/popover.md\": [\n\t\t136,\n\t\t24\n\t],\n\t\"./zh-cn/radar.md\": [\n\t\t137,\n\t\t23\n\t],\n\t\"./zh-cn/radio.md\": [\n\t\t138,\n\t\t22\n\t],\n\t\"./zh-cn/rate.md\": [\n\t\t139,\n\t\t21\n\t],\n\t\"./zh-cn/row.md\": [\n\t\t140,\n\t\t20\n\t],\n\t\"./zh-cn/scatter.md\": [\n\t\t141,\n\t\t19\n\t],\n\t\"./zh-cn/select.md\": [\n\t\t142,\n\t\t18\n\t],\n\t\"./zh-cn/simple-card.md\": [\n\t\t143,\n\t\t17\n\t],\n\t\"./zh-cn/slider.md\": [\n\t\t144,\n\t\t16\n\t],\n\t\"./zh-cn/snackbar.md\": [\n\t\t145,\n\t\t15\n\t],\n\t\"./zh-cn/spreadsheet.md\": [\n\t\t146,\n\t\t14\n\t],\n\t\"./zh-cn/step.md\": [\n\t\t147,\n\t\t13\n\t],\n\t\"./zh-cn/switch.md\": [\n\t\t148,\n\t\t12\n\t],\n\t\"./zh-cn/tab.md\": [\n\t\t149,\n\t\t11\n\t],\n\t\"./zh-cn/table.md\": [\n\t\t150,\n\t\t10\n\t],\n\t\"./zh-cn/tag.md\": [\n\t\t151,\n\t\t9\n\t],\n\t\"./zh-cn/text-field.md\": [\n\t\t152,\n\t\t8\n\t],\n\t\"./zh-cn/theme.md\": [\n\t\t153,\n\t\t7\n\t],\n\t\"./zh-cn/to.md\": [\n\t\t154,\n\t\t6\n\t],\n\t\"./zh-cn/toast.md\": [\n\t\t155,\n\t\t5\n\t],\n\t\"./zh-cn/top-app-bar.md\": [\n\t\t156,\n\t\t4\n\t],\n\t\"./zh-cn/transfer-list.md\": [\n\t\t157,\n\t\t3\n\t],\n\t\"./zh-cn/transition.md\": [\n\t\t158,\n\t\t2\n\t],\n\t\"./zh-cn/tree.md\": [\n\t\t159,\n\t\t1\n\t],\n\t\"./zh-cn/typography.md\": [\n\t\t160,\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids)\n\t\treturn Promise.reject(new Error(\"Cannot find module '\" + req + \"'.\"));\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(ids[0]);\n\t});\n};\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 36;\nmodule.exports = webpackAsyncContext;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/docs lazy ^\\.\\/.*\\.md$\n// module id = 36\n// module chunks = 124 125","'use strict';\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n require('promise/lib/rejection-tracking').enable();\n window.Promise = require('promise/lib/es6-extensions.js');\n}\n\n// fetch() polyfill for making API calls.\nrequire('whatwg-fetch');\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = require('object-assign');\n\n// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif (process.env.NODE_ENV === 'test') {\n require('raf').polyfill(global);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./config/polyfills.js","'use strict';\n\nvar Promise = require('./core');\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/rejection-tracking.js","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/asap/browser-raw.js","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/promise/lib/es6-extensions.js","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/whatwg-fetch/fetch.js","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/object-assign/index.js"],"sourceRoot":""}
\ No newline at end of file
diff --git a/packages/omim/docs/src/docs/en/icon-button.md b/packages/omim/docs/src/docs/en/icon-button.md
index 5d2ec3f66..72e534827 100644
--- a/packages/omim/docs/src/docs/en/icon-button.md
+++ b/packages/omim/docs/src/docs/en/icon-button.md
@@ -30,7 +30,7 @@ JSX:
## More Icons
-[Material Icons](https://material.io/tools/icons/?style=baseline)
+[→ Material Icons](https://material.io/tools/icons/?style=baseline)
## API
diff --git a/packages/omim/docs/src/docs/en/icon.md b/packages/omim/docs/src/docs/en/icon.md
index 84875b27b..8d21365f9 100644
--- a/packages/omim/docs/src/docs/en/icon.md
+++ b/packages/omim/docs/src/docs/en/icon.md
@@ -60,6 +60,6 @@ Support multiple paths:
| color | string | black | color |
| rotate | bool | false | Rotate transform |
-* [→ You can use antd's SVG path directly](https://ant.design/components/icon/)
-* [→ You can find the path in the github of andt icons](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)
+* [→ SVG path by antd](https://ant.design/components/icon/) & [→ Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)
+* [→ SVG path by Material Icons](https://material.io/tools/icons/?style=baseline)
diff --git a/packages/omim/docs/src/docs/zh-cn/icon-button.md b/packages/omim/docs/src/docs/zh-cn/icon-button.md
index a4e67bec4..8cf4a00a5 100644
--- a/packages/omim/docs/src/docs/zh-cn/icon-button.md
+++ b/packages/omim/docs/src/docs/zh-cn/icon-button.md
@@ -49,5 +49,4 @@ JSX:
| onChange | function | -- | 图标变化触发 |
* [→ 你可以使用 Google 的字体图标素材](https://material.io/tools/icons)
-* [→ 也可以直接使用 antd 的海量 svg path 作为 icon 的 path](https://ant.design/components/icon-cn/),你可以通过开发者工具查看对应 icon 的 path
-* [→ 也可以直接上 antd github 获取 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)
+* [→ Antd 的 SVG path](https://ant.design/components/icon/) & [→ Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)
diff --git a/packages/omim/docs/src/docs/zh-cn/icon.md b/packages/omim/docs/src/docs/zh-cn/icon.md
index f4e787979..9b4a5306d 100644
--- a/packages/omim/docs/src/docs/zh-cn/icon.md
+++ b/packages/omim/docs/src/docs/zh-cn/icon.md
@@ -60,6 +60,6 @@ JSX:
| color | string | black | 颜色 |
| rotate | bool | false | 旋转动画 |
-* [→ 你可以直接使用 antd 的海量 svg path 作为 icon 的 path](https://ant.design/components/icon-cn/),你可以通过开发者工具查看对应 icon 的 path
-* [→ 也可以直接上 antd github 获取 svg path](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)
+* [→ 你可以使用 Google 的字体图标素材](https://material.io/tools/icons)
+* [→ Antd 的 SVG path](https://ant.design/components/icon/) & [→ Github](https://github.com/ant-design/ant-design-icons/tree/master/packages/icons/svg)