From 7ab8af11353ae9491fc3a25be8f1b453f284df6a Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Fri, 22 Jan 2021 12:10:14 +0800 Subject: [PATCH] build(deps): bump vite from 2.0.0-beta.4 to 2.0.0-beta.31 --- .eslintrc.js | 2 +- dist/assets/index-1ad3bda7.css | 1857 ++++ dist/uni-h5.esm.js | 9177 +++++++++++++++++ package.json | 4 +- packages/uni-api/src/helpers/api.ts | 2 +- .../uni-api/src/helpers/base64-arraybuffer.js | 4 +- packages/uni-api/src/helpers/interceptor.ts | 18 +- packages/uni-api/src/helpers/promise.ts | 12 +- packages/uni-api/src/helpers/protocol.ts | 4 +- packages/uni-api/src/index.ts | 2 +- packages/uni-api/src/protocols/base/base64.ts | 8 +- .../uni-api/src/protocols/base/canIUse.ts | 18 +- .../uni-api/src/protocols/base/eventBus.ts | 70 +- .../uni-api/src/protocols/base/interceptor.ts | 18 +- packages/uni-api/src/protocols/base/upx2px.ts | 18 +- .../uni-api/src/protocols/context/canvas.ts | 66 +- .../uni-api/src/protocols/context/context.ts | 48 +- .../src/protocols/device/makePhoneCall.ts | 26 +- .../src/protocols/device/setClipboardData.ts | 22 +- .../src/protocols/file/openDocument.ts | 6 +- .../src/protocols/location/chooseLocation.ts | 14 +- .../src/protocols/location/getLocation.ts | 60 +- .../src/protocols/location/openLocation.ts | 16 +- .../src/protocols/media/chooseImage.ts | 74 +- .../src/protocols/media/chooseVideo.ts | 34 +- .../src/protocols/media/getImageInfo.ts | 32 +- .../src/protocols/network/downloadFile.ts | 10 +- .../uni-api/src/protocols/network/socket.ts | 24 +- .../src/protocols/plugin/getProvider.ts | 4 +- .../src/protocols/plugin/loadSubPackage.ts | 34 +- .../uni-api/src/protocols/storage/storage.ts | 82 +- .../uni-api/src/protocols/ui/loadFontFace.ts | 8 +- .../uni-api/src/protocols/ui/navigationBar.ts | 92 +- .../uni-api/src/protocols/ui/pageScrollTo.ts | 24 +- packages/uni-api/src/service/base/base64.ts | 6 +- .../uni-api/src/service/base/interceptor.ts | 25 +- .../service/ui/createIntersectionObserver.ts | 8 +- .../uni-cli-shared/__tests__/easycom.spec.ts | 34 +- packages/uni-cli-shared/package.json | 2 +- .../uni-cli-shared/src/easycom/autoImport.ts | 4 +- packages/uni-cli-shared/src/easycom/index.ts | 16 +- packages/uni-cli-shared/src/index.ts | 1 + packages/uni-cli-shared/src/json.ts | 33 +- .../uni-cli-shared/src/preprocess/context.ts | 34 + .../uni-cli-shared/src/preprocess/index.ts | 14 + .../transforms/transformBuiltInComponent.ts | 6 +- .../src/transforms/transformBuiltInEasycom.ts | 2 +- .../src/transforms/transformEasycom.ts | 6 +- .../uni-cli-shared/src/vueCompilerOptions.ts | 6 +- .../uni-components/src/components/index.ts | 2 +- packages/uni-components/src/helpers/index.ts | 2 +- packages/uni-components/src/mixins/index.ts | 28 +- packages/uni-components/vite.config.ts | 4 +- packages/uni-core/src/helpers/bridge.ts | 4 +- .../src/service/plugin/componentWx.ts | 2 +- .../src/view/helpers/getWindowOffset.ts | 4 +- .../uni-core/src/view/plugin/appConfig.ts | 2 +- .../src/view/plugin/componentEvents.ts | 14 +- .../uni-core/src/view/plugin/componentWxs.ts | 18 +- .../uni-core/src/view/plugin/longPress.ts | 4 +- packages/uni-h5/src/framework/plugin/index.ts | 2 +- .../uni-h5/src/framework/plugin/router.ts | 4 +- packages/uni-h5/src/index.ts | 8 +- .../uni-h5/src/service/api/base/canIUse.ts | 2 +- .../service/api/device/getSystemInfoSync.ts | 8 +- .../src/service/api/device/makePhoneCall.ts | 4 +- .../src/service/api/file/openDocument.ts | 4 +- packages/uni-h5/src/service/api/index.ts | 2 +- .../src/service/api/media/getImageInfo.ts | 64 +- .../src/service/api/route/navigateTo.ts | 2 +- packages/uni-h5/src/service/bridge/index.ts | 2 +- packages/uni-h5/src/view/bridge/index.ts | 2 +- packages/uni-h5/vite.config.ts | 2 +- packages/uni-mp-alipay/dist/uni.api.esm.js | 246 +- packages/uni-mp-alipay/dist/uni.mp.esm.js | 105 +- packages/uni-mp-alipay/src/api/protocols.ts | 188 +- packages/uni-mp-alipay/src/api/shims.ts | 16 +- .../src/runtime/createComponent.ts | 16 +- .../uni-mp-alipay/src/runtime/createPage.ts | 10 +- .../uni-mp-alipay/src/runtime/deepEqual.ts | 94 +- .../src/runtime/parseAppOptions.ts | 2 +- packages/uni-mp-alipay/src/runtime/util.ts | 32 +- packages/uni-mp-baidu/dist/uni.api.esm.js | 86 +- packages/uni-mp-baidu/dist/uni.mp.esm.js | 97 +- packages/uni-mp-baidu/src/api/protocols.ts | 34 +- packages/uni-mp-baidu/src/api/shims.ts | 4 +- packages/uni-mp-baidu/src/runtime/index.ts | 2 +- .../src/runtime/parseAppOptions.ts | 2 +- .../src/runtime/parseComponentOptions.ts | 2 +- packages/uni-mp-core/__tests__/hooks.spec.ts | 8 +- packages/uni-mp-core/src/api/index.ts | 4 +- packages/uni-mp-core/src/api/protocols.ts | 13 +- packages/uni-mp-core/src/api/shims.ts | 6 +- packages/uni-mp-core/src/api/wrapper.ts | 8 +- packages/uni-mp-core/src/index.ts | 8 +- packages/uni-mp-core/src/runtime/app.ts | 6 +- packages/uni-mp-core/src/runtime/component.ts | 12 +- .../src/runtime/componentEvents.ts | 10 +- .../uni-mp-core/src/runtime/componentHooks.ts | 12 +- .../src/runtime/componentInstance.ts | 14 +- .../src/runtime/componentOptions.ts | 8 +- .../uni-mp-core/src/runtime/componentProps.ts | 20 +- packages/uni-mp-core/src/runtime/page.ts | 10 +- packages/uni-mp-core/src/runtime/polyfill.ts | 10 +- packages/uni-mp-core/src/runtime/util.ts | 12 +- packages/uni-mp-qq/dist/uni.api.esm.js | 52 +- packages/uni-mp-qq/dist/uni.mp.esm.js | 95 +- packages/uni-mp-qq/src/api/protocols.ts | 2 +- packages/uni-mp-qq/src/api/shims.ts | 2 +- packages/uni-mp-toutiao/dist/uni.api.esm.js | 100 +- packages/uni-mp-toutiao/dist/uni.mp.esm.js | 107 +- packages/uni-mp-toutiao/src/api/protocols.ts | 52 +- packages/uni-mp-toutiao/src/api/shims.ts | 2 +- packages/uni-mp-toutiao/src/index.ts | 4 +- .../uni-mp-toutiao/src/runtime/apiInject.ts | 2 +- .../src/runtime/componentLifetimes.ts | 14 +- packages/uni-mp-toutiao/src/runtime/index.ts | 2 +- .../src/runtime/pageLifetimes.ts | 6 +- .../src/runtime/parseComponentOptions.ts | 6 +- .../src/runtime/parsePageOptions.ts | 2 +- packages/uni-mp-vue/dist/vue.runtime.esm.js | 6 +- packages/uni-mp-vue/src/plugin.ts | 2 +- packages/uni-mp-weixin/dist/uni.api.esm.js | 52 +- packages/uni-mp-weixin/dist/uni.mp.esm.js | 95 +- packages/uni-mp-weixin/src/api/protocols.ts | 2 +- packages/uni-mp-weixin/src/api/shims.ts | 2 +- packages/uni-mp-weixin/src/runtime/index.ts | 2 +- .../uni-mp-weixin/src/runtime/lifetimes.ts | 14 +- .../uni-mp-weixin/src/runtime/parseOptions.ts | 5 +- .../uni-quickapp-webview/dist/uni.api.esm.js | 52 +- .../uni-quickapp-webview/dist/uni.mp.esm.js | 105 +- .../uni-quickapp-webview/src/api/protocols.ts | 2 +- .../uni-quickapp-webview/src/api/shims.ts | 2 +- .../uni-quickapp-webview/src/runtime/index.ts | 2 +- .../src/runtime/parseComponentOptions.ts | 14 +- .../src/runtime/parsePageOptions.ts | 4 +- packages/uni-shared/dist/uni-shared.cjs.js | 8 +- packages/uni-shared/dist/uni-shared.esm.js | 8 +- packages/uni-shared/src/debounce.ts | 4 +- packages/uni-shared/src/query.ts | 4 +- packages/uni-shared/src/tags.ts | 4 +- packages/uni-vue/src/apiLifecycle.ts | 2 +- packages/uni-vue/src/componentOptions.ts | 4 +- packages/vite-plugin-uni/package.json | 9 +- .../src/build/buildPluginCopy.ts | 2 +- .../src/build/buildPluginDynamicImport.ts | 4 +- .../src/build/buildPluginInject.ts | 28 +- .../src/build/buildPluginMainJs.ts | 14 - .../src/build/buildPluginPagesJson.ts | 27 - packages/vite-plugin-uni/src/build/index.ts | 2 - packages/vite-plugin-uni/src/config/alias.ts | 10 + packages/vite-plugin-uni/src/config/css.ts | 12 + packages/vite-plugin-uni/src/config/define.ts | 12 + packages/vite-plugin-uni/src/config/index.ts | 22 + .../src/config/optimizeDeps.ts | 16 + packages/vite-plugin-uni/src/config/server.ts | 12 + .../src/configResolved/index.ts | 13 + .../src/configResolved/plugins/baseJson.ts | 81 + .../src/configResolved/plugins/index.ts | 64 + .../src/configResolved/plugins/json.ts | 20 + .../src/configResolved/plugins/postVue.ts | 55 + .../src/configResolved/plugins/pre.ts | 45 + .../src/configResolved/plugins/preCss.ts | 35 + .../src/configureServer/easycom.ts | 36 + .../src/configureServer/index.ts | 12 + packages/vite-plugin-uni/src/index.ts | 108 +- packages/vite-plugin-uni/src/load/index.ts | 22 + packages/vite-plugin-uni/src/load/main.ts | 26 + .../src/{utils/pagesJson.ts => load/pages.ts} | 97 +- packages/vite-plugin-uni/src/resolveId.ts | 32 + packages/vite-plugin-uni/src/server/index.ts | 3 - .../src/server/serveEasycom.ts | 15 - .../vite-plugin-uni/src/server/serveMainJs.ts | 15 - .../src/server/servePagesJson.ts | 27 - .../src/utils/dynamicImport.ts | 14 - packages/vite-plugin-uni/src/utils/easycom.ts | 16 - packages/vite-plugin-uni/src/utils/index.ts | 5 - packages/vite-plugin-uni/src/utils/mainJs.ts | 21 - .../vite-plugin-uni/src/utils/transform.ts | 18 - scripts/build.js | 2 +- yarn.lock | 2537 +++-- 181 files changed, 14948 insertions(+), 2758 deletions(-) create mode 100644 dist/assets/index-1ad3bda7.css create mode 100644 dist/uni-h5.esm.js create mode 100644 packages/uni-cli-shared/src/preprocess/context.ts create mode 100644 packages/uni-cli-shared/src/preprocess/index.ts delete mode 100644 packages/vite-plugin-uni/src/build/buildPluginMainJs.ts delete mode 100644 packages/vite-plugin-uni/src/build/buildPluginPagesJson.ts create mode 100644 packages/vite-plugin-uni/src/config/alias.ts create mode 100644 packages/vite-plugin-uni/src/config/css.ts create mode 100644 packages/vite-plugin-uni/src/config/define.ts create mode 100644 packages/vite-plugin-uni/src/config/index.ts create mode 100644 packages/vite-plugin-uni/src/config/optimizeDeps.ts create mode 100644 packages/vite-plugin-uni/src/config/server.ts create mode 100644 packages/vite-plugin-uni/src/configResolved/index.ts create mode 100644 packages/vite-plugin-uni/src/configResolved/plugins/baseJson.ts create mode 100644 packages/vite-plugin-uni/src/configResolved/plugins/index.ts create mode 100644 packages/vite-plugin-uni/src/configResolved/plugins/json.ts create mode 100644 packages/vite-plugin-uni/src/configResolved/plugins/postVue.ts create mode 100644 packages/vite-plugin-uni/src/configResolved/plugins/pre.ts create mode 100644 packages/vite-plugin-uni/src/configResolved/plugins/preCss.ts create mode 100644 packages/vite-plugin-uni/src/configureServer/easycom.ts create mode 100644 packages/vite-plugin-uni/src/configureServer/index.ts create mode 100644 packages/vite-plugin-uni/src/load/index.ts create mode 100644 packages/vite-plugin-uni/src/load/main.ts rename packages/vite-plugin-uni/src/{utils/pagesJson.ts => load/pages.ts} (76%) create mode 100644 packages/vite-plugin-uni/src/resolveId.ts delete mode 100644 packages/vite-plugin-uni/src/server/index.ts delete mode 100644 packages/vite-plugin-uni/src/server/serveEasycom.ts delete mode 100644 packages/vite-plugin-uni/src/server/serveMainJs.ts delete mode 100644 packages/vite-plugin-uni/src/server/servePagesJson.ts delete mode 100644 packages/vite-plugin-uni/src/utils/dynamicImport.ts delete mode 100644 packages/vite-plugin-uni/src/utils/easycom.ts delete mode 100644 packages/vite-plugin-uni/src/utils/index.ts delete mode 100644 packages/vite-plugin-uni/src/utils/mainJs.ts delete mode 100644 packages/vite-plugin-uni/src/utils/transform.ts diff --git a/.eslintrc.js b/.eslintrc.js index 0aa33df31..9b8ea89f5 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -11,7 +11,7 @@ module.exports = { 'error', // we are only using this rule to check for unused arguments since TS // catches unused variables but not args. - { varsIgnorePattern: '.*', args: 'after-used', argsIgnorePattern: '^_' }, + { varsIgnorePattern: '.*', args: 'none' }, ], // most of the codebase are expected to be env agnostic 'no-restricted-globals': ['error', ...DOMGlobals, ...NodeGlobals], diff --git a/dist/assets/index-1ad3bda7.css b/dist/assets/index-1ad3bda7.css new file mode 100644 index 000000000..a3b6fc55e --- /dev/null +++ b/dist/assets/index-1ad3bda7.css @@ -0,0 +1,1857 @@ + +uni-tabbar { + display: block; + box-sizing: border-box; + position: fixed; + left: 0; + bottom: 0; + width: 100%; + z-index: 998; +} +uni-tabbar .uni-tabbar { + display: flex; + position: fixed; + left: 0; + bottom: 0; + width: 100%; + z-index: 998; + box-sizing: border-box; + padding-bottom: 0; + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); +} +uni-tabbar .uni-tabbar ~ .uni-placeholder { + width: 100%; + height: 50px; + margin-bottom: 0; + margin-bottom: constant(safe-area-inset-bottom); + margin-bottom: env(safe-area-inset-bottom); +} +uni-tabbar .uni-tabbar * { + box-sizing: border-box; +} +uni-tabbar .uni-tabbar__item { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + flex: 1; + font-size: 0; + text-align: center; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +uni-tabbar .uni-tabbar__bd { + position: relative; + height: 50px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + cursor: pointer; +} +uni-tabbar .uni-tabbar__icon { + position: relative; + display: inline-block; + margin-top: 5px; + width: 24px; + height: 24px; +} +uni-tabbar .uni-tabbar__icon.uni-tabbar__icon__diff { + margin-top: 0px; + width: 34px; + height: 34px; +} +uni-tabbar .uni-tabbar__icon img { + width: 100%; + height: 100%; +} +uni-tabbar .uni-tabbar__label { + position: relative; + text-align: center; + font-size: 10px; + line-height: 1.8; +} +uni-tabbar .uni-tabbar-border { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 1px; + transform: scaleY(0.5); +} +uni-tabbar .uni-tabbar__reddot { + position: absolute; + top: 0; + right: 0; + width: 12px; + height: 12px; + border-radius: 50%; + background-color: #f43530; + color: #ffffff; + transform: translate(40%, -20%); +} +uni-tabbar .uni-tabbar__badge { + width: auto; + height: 16px; + line-height: 16px; + border-radius: 16px; + min-width: 16px; + padding: 0 2px; + font-size: 12px; + text-align: center; + white-space: nowrap; +} + +uni-toast { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 999; + display: block; + box-sizing: border-box; + pointer-events: none; +} +uni-toast .uni-sample-toast { + position: fixed; + z-index: 999; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + text-align: center; + max-width: 80%; +} +uni-toast .uni-simple-toast__text { + display: inline-block; + vertical-align: middle; + color: #ffffff; + background-color: rgba(17, 17, 17, 0.7); + padding: 10px 20px; + border-radius: 5px; + font-size: 13px; + text-align: center; + max-width: 100%; + word-break: break-all; + white-space: normal; +} +uni-toast .uni-mask { + pointer-events: auto; +} +uni-toast .uni-toast { + position: fixed; + z-index: 999; + width: 8em; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: rgba(17, 17, 17, 0.7); + text-align: center; + border-radius: 5px; + color: #ffffff; +} +uni-toast .uni-toast * { + box-sizing: border-box; +} +uni-toast .uni-toast__icon { + margin: 20px 0 0; + width: 38px; + height: 38px; + vertical-align: baseline; +} +uni-toast .uni-icon_toast { + margin: 15px 0 0; +} +uni-toast .uni-icon_toast.uni-icon-success-no-circle:before { + color: #ffffff; + font-size: 55px; +} +uni-toast .uni-icon_toast.uni-loading { + margin: 20px 0 0; + width: 38px; + height: 38px; + vertical-align: baseline; +} +uni-toast .uni-toast__content { + margin: 0 0 15px; +} + +uni-modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 999; + display: block; + box-sizing: border-box; +} +uni-modal .uni-modal { + position: fixed; + z-index: 999; + width: 80%; + max-width: 300px; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background-color: #ffffff; + text-align: center; + border-radius: 3px; + overflow: hidden; +} +uni-modal .uni-modal * { + box-sizing: border-box; +} +uni-modal .uni-modal__hd { + padding: 1em 1.6em 0.3em; +} +uni-modal .uni-modal__title { + font-weight: 400; + font-size: 18px; + word-wrap:break-word; + word-break:break-all; + white-space: pre-wrap; + overflow : hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} +uni-modal .uni-modal__bd { + padding: 1.3em 1.6em 1.3em; + min-height: 40px; + font-size: 15px; + line-height: 1.4; + word-wrap: break-word; + word-break: break-all; + white-space: pre-wrap; + color: #999999; + max-height: 400px; + overflow-y: auto; +} +uni-modal .uni-modal__ft { + position: relative; + line-height: 48px; + font-size: 18px; + display: flex; +} +uni-modal .uni-modal__ft:after { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1px solid #d5d5d6; + color: #d5d5d6; + transform-origin: 0 0; + transform: scaleY(0.5); +} +uni-modal .uni-modal__btn { + display: block; + flex: 1; + color: #3cc51f; + text-decoration: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + position: relative; +} +uni-modal .uni-modal__btn:active { + background-color: #eeeeee; +} +uni-modal .uni-modal__btn:after { + content: " "; + position: absolute; + left: 0; + top: 0; + width: 1px; + bottom: 0; + border-left: 1px solid #d5d5d6; + color: #d5d5d6; + transform-origin: 0 0; + transform: scaleX(0.5); +} +uni-modal .uni-modal__btn:first-child:after { + display: none; +} +uni-modal .uni-modal__btn_default { + color: #353535; +} +uni-modal .uni-modal__btn_primary { + color: #007aff; +} + +uni-actionsheet { + display: block; + box-sizing: border-box; +} +uni-actionsheet .uni-actionsheet { + position: fixed; + left: 0; + bottom: 0; + transform: translate(0, 100%); + backface-visibility: hidden; + z-index: 999; + width: 100%; + background-color: #efeff4; + visibility: hidden; + transition: transform 0.3s, visibility 0.3s; +} +uni-actionsheet .uni-actionsheet.uni-actionsheet_toggle { + visibility: visible; + transform: translate(0, 0); +} +uni-actionsheet .uni-actionsheet * { + box-sizing: border-box; +} +uni-actionsheet .uni-actionsheet__menu { + background-color: #fcfcfd; +} +uni-actionsheet .uni-actionsheet__action { + margin-top: 6px; + background-color: #fcfcfd; +} +uni-actionsheet .uni-actionsheet__cell , + uni-actionsheet .uni-actionsheet__title { + position: relative; + padding: 10px 0; + text-align: center; + font-size: 18px; +} +uni-actionsheet .uni-actionsheet__cell:before { + content: " "; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 1px; + border-top: 1px solid #e5e5e5; + color: #e5e5e5; + transform-origin: 0 0; + transform: scaleY(0.5); +} +uni-actionsheet .uni-actionsheet__cell:active { + background-color: #ececec; +} +uni-actionsheet .uni-actionsheet__cell:first-child:before { + display: none; +} +* { + margin: 0; + -webkit-tap-highlight-color: transparent; +} +@font-face { + font-weight: normal; + font-style: normal; + font-family: "uni"; + src: url('data:application/octet-stream;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJAKEx+AAABfAAAAFZjbWFw65cFHQAAAhwAAAJQZ2x5ZvCRR/EAAASUAAAKtGhlYWQLKIN9AAAA4AAAADZoaGVhCCwD+gAAALwAAAAkaG10eEJo//8AAAHUAAAASGxvY2EYqhW6AAAEbAAAACZtYXhwASEAVQAAARgAAAAgbmFtZeNcHtgAAA9IAAAB5nBvc3T6bLhLAAARMAAAAOYAAQAAA+gAAABaA+j/////A+kAAQAAAAAAAAAAAAAAAAAAABIAAQAAAAEAACkCj3dfDzz1AAsD6AAAAADUER9XAAAAANQRH1f//wAAA+kD6gAAAAgAAgAAAAAAAAABAAAAEgBJAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQOwAZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6gHqEQPoAAAAWgPqAAAAAAABAAAAAAAAAAAAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+j//wPoAAAD6AAAAAAABQAAAAMAAAAsAAAABAAAAXQAAQAAAAAAbgADAAEAAAAsAAMACgAAAXQABABCAAAABAAEAAEAAOoR//8AAOoB//8AAAABAAQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAANwAAAAAAAAAEQAA6gEAAOoBAAAAAQAA6gIAAOoCAAAAAgAA6gMAAOoDAAAAAwAA6gQAAOoEAAAABAAA6gUAAOoFAAAABQAA6gYAAOoGAAAABgAA6gcAAOoHAAAABwAA6ggAAOoIAAAACAAA6gkAAOoJAAAACQAA6goAAOoKAAAACgAA6gsAAOoLAAAACwAA6gwAAOoMAAAADAAA6g0AAOoNAAAADQAA6g4AAOoOAAAADgAA6g8AAOoPAAAADwAA6hAAAOoQAAAAEAAA6hEAAOoRAAAAEQAAAAAARgCMANIBJgF4AcQCMgJgAqgC/ANIA6YD/gROBKAE9AVaAAAAAgAAAAADrwOtABQAKQAAASIHBgcGFBcWFxYyNzY3NjQnJicmAyInJicmNDc2NzYyFxYXFhQHBgcGAfV4Z2Q7PDw7ZGfwZmQ7PDw7ZGZ4bl5bNjc3Nlte215bNjc3NlteA608O2Rn8GdjOzw8O2Nn8GdkOzz8rzc1W17bXlw1Nzc1XF7bXls1NwAAAAACAAAAAAOzA7MAFwAtAAABIgcGBwYVFBcWFxYzMjc2NzY1NCcmJyYTBwYiLwEmNjsBETQ2OwEyFhURMzIWAe52Z2Q7PT07ZGd2fGpmOz4+O2ZpIXYOKA52Dg0XXQsHJgcLXRcNA7M+O2ZqfHZnZDs9PTtkZ3Z9aWY7Pv3wmhISmhIaARcICwsI/ukaAAMAAAAAA+UD5QAXACMALAAAASIHBgcGFRQXFhcWMzI3Njc2NTQnJicmAxQrASI1AzQ7ATIHJyImNDYyFhQGAe6Ecm9BRERBb3KEiXZxQkREQnF1aQIxAwgCQgMBIxIZGSQZGQPkREJxdomEcm9BRERBb3KEinVxQkT9HQICAWICAjEZIxkZIxkAAAAAAwAAAAADsQPkABsAKgAzAAABBgcGBwYHBjcRFBcWFxYXNjc2NzY1ESQXJicmBzMyFhUDFAYrASInAzQ2EyImNDYyFhQGAfVBQTg7LDt/IEc+bF5sbF1tPUj+2KhQQVVvNAQGDAMCJgUBCwYeDxYWHhUVA+QPEg4SDhIpCv6tj3VkST4dHT5JZHWPAVNeNRkSGPwGBP7GAgMFAToEBv5AFR8VFR8VAAAAAgAAAAADsQPkABkALgAAAQYHBgc2BREUFxYXFhc2NzY3NjURJBcmJyYTAQYvASY/ATYyHwEWNjclNjIfARYB9VVVQk+v/tFHPmxebGxdbT1I/tGvT0JVo/7VBASKAwMSAQUBcQEFAgESAgUBEQQD4xMYEhk3YP6sjnVlSD8cHD9IZXWOAVRgNxkSGP62/tkDA48EBBkCAVYCAQHlAQIQBAAAAAACAAAAAAPkA+QAFwAtAAABIgcGBwYVFBcWFxYzMjc2NzY1NCcmJyYTAQYiLwEmPwE2Mh8BFjI3ATYyHwEWAe6Ecm9BQ0NCbnODiXVxQkREQnF1kf6gAQUBowMDFgEFAYUCBQEBQwIFARUEA+NEQnF1iYNzbkJDQ0FvcoSJdXFCRP6j/qUBAagEBR4CAWYBAQENAgIVBAAAAAQAAAAAA68DrQAUACkAPwBDAAABIgcGBwYUFxYXFjI3Njc2NCcmJyYDIicmJyY0NzY3NjIXFhcWFAcGBwYTBQ4BLwEmBg8BBhYfARYyNwE+ASYiFzAfAQH1eGdkOzw8O2Rn8GZkOzw8O2RmeG5eWzY3NzZbXtteWzY3NzZbXmn+9gYSBmAGDwUDBQEGfQUQBgElBQELEBUBAQOtPDtkZ/BnYzs8PDtjZ/BnZDs8/K83NVte215cNTc3NVxe215bNTcCJt0FAQVJBQIGBAcRBoAGBQEhBQ8LBAEBAAABAAAAAAO7AzoAFwAAEy4BPwE+AR8BFjY3ATYWFycWFAcBBiInPQoGBwUHGgzLDCELAh0LHwsNCgr9uQoeCgGzCyEOCw0HCZMJAQoBvgkCCg0LHQv9sQsKAAAAAAIAAAAAA+UD5gAXACwAAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMHBi8BJicmNRM0NjsBMhYVExceAQHvhHJvQUNDQm5zg4l1cUJEREJxdVcQAwT6AwIEEAMCKwIDDsUCAQPlREJxdYmDc25CQ0NBb3KEiXVxQkT9VhwEAncCAgMGAXoCAwMC/q2FAgQAAAQAAAAAA68DrQADABgALQAzAAABMB8BAyIHBgcGFBcWFxYyNzY3NjQnJicmAyInJicmNDc2NzYyFxYXFhQHBgcGAyMVMzUjAuUBAfJ4Z2Q7PDw7ZGfwZmQ7PDw7ZGZ4bl5bNjc3Nlte215bNjc3NltemyT92QKDAQEBLDw7ZGfwZ2M7PDw7Y2fwZ2Q7PPyvNzVbXtteXDU3NzVcXtteWzU3AjH9JAAAAAMAAAAAA+QD5AAXACcAMAAAASIHBgcGFRQXFhcWMzI3Njc2NTQnJicmAzMyFhUDFAYrASImNQM0NhMiJjQ2MhYUBgHuhHJvQUNDQm5zg4l1cUJEREJxdZ42BAYMAwInAwMMBh8PFhYeFhYD40RCcXWJg3NuQkNDQW9yhIl1cUJE/vYGBf7AAgMDAgFABQb+NhYfFhYfFgAABAAAAAADwAPAAAgAEgAoAD0AAAEyNjQmIgYUFhcjFTMRIxUzNSMDIgcGBwYVFBYXFjMyNzY3NjU0Jy4BAyInJicmNDc2NzYyFxYXFhQHBgcGAfQYISEwISFRjzk5yTorhG5rPT99am+DdmhlPD4+PMyFbV5bNTc3NVte2l5bNTc3NVteAqAiLyIiLyI5Hf7EHBwCsT89a26Ed8w8Pj48ZWh2g29qffyjNzVbXtpeWzU3NzVbXtpeWzU3AAADAAAAAAOoA6gACwAgADUAAAEHJwcXBxc3FzcnNwMiBwYHBhQXFhcWMjc2NzY0JyYnJgMiJyYnJjQ3Njc2MhcWFxYUBwYHBgKOmpocmpocmpocmpq2dmZiOjs7OmJm7GZiOjs7OmJmdmtdWTQ2NjRZXdZdWTQ2NjRZXQKqmpocmpocmpocmpoBGTs6YmbsZmI6Ozs6YmbsZmI6O/zCNjRZXdZdWTQ2NjRZXdZdWTQ2AAMAAAAAA+kD6gAaAC8AMAAAAQYHBiMiJyYnJjQ3Njc2MhcWFxYVFAcGBwEHATI3Njc2NCcmJyYiBwYHBhQXFhcWMwKONUBCR21dWjU3NzVaXdpdWzU2GBcrASM5/eBXS0grKysrSEuuSkkqLCwqSUpXASMrFxg2NVtd2l1aNTc3NVpdbUdCQDX+3jkBGSsrSEuuSkkqLCwqSUquS0grKwAC//8AAAPoA+gAFAAwAAABIgcGBwYQFxYXFiA3Njc2ECcmJyYTFg4BIi8BBwYuATQ/AScmPgEWHwE3Nh4BBg8BAfSIdHFDRERDcXQBEHRxQ0REQ3F0SQoBFBsKoqgKGxMKqKIKARQbCqKoChsUAQqoA+hEQ3F0/vB0cUNERENxdAEQdHFDRP1jChsTCqiiCgEUGwqiqAobFAEKqKIKARQbCqIAAAIAAAAAA+QD5AAXADQAAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMUBiMFFxYUDwEGLwEuAT8BNh8BFhQPAQUyFh0BAe6Ecm9BQ0NCbnODiXVxQkREQnF1fwQC/pGDAQEVAwTsAgEC7AQEFAIBhAFwAgMD40RCcXWJg3NuQkNDQW9yhIl1cUJE/fYCAwuVAgQCFAQE0AIFAtEEBBQCBQGVCwMDJwAAAAUAAAAAA9QD0wAjACcANwBHAEgAAAERFAYjISImNREjIiY9ATQ2MyE1NDYzITIWHQEhMhYdARQGIyERIREHIgYVERQWOwEyNjURNCYjISIGFREUFjsBMjY1ETQmKwEDeyYb/XYbJkMJDQ0JAQYZEgEvExkBBgkNDQn9CQJc0QkNDQktCQ0NCf7sCQ0NCS0JDQ0JLQMi/TQbJiYbAswMCiwJDS4SGRkSLg0JLAoM/UwCtGsNCf5NCQ0NCQGzCQ0NCf5NCQ0NCQGzCQ0AAAAAEADGAAEAAAAAAAEABAAAAAEAAAAAAAIABwAEAAEAAAAAAAMABAALAAEAAAAAAAQABAAPAAEAAAAAAAUACwATAAEAAAAAAAYABAAeAAEAAAAAAAoAKwAiAAEAAAAAAAsAEwBNAAMAAQQJAAEACABgAAMAAQQJAAIADgBoAAMAAQQJAAMACAB2AAMAAQQJAAQACAB+AAMAAQQJAAUAFgCGAAMAAQQJAAYACACcAAMAAQQJAAoAVgCkAAMAAQQJAAsAJgD6d2V1aVJlZ3VsYXJ3ZXVpd2V1aVZlcnNpb24gMS4wd2V1aUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAHcAZQB1AGkAUgBlAGcAdQBsAGEAcgB3AGUAdQBpAHcAZQB1AGkAVgBlAHIAcwBpAG8AbgAgADEALgAwAHcAZQB1AGkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETAAZjaXJjbGUIZG93bmxvYWQEaW5mbwxzYWZlX3N1Y2Nlc3MJc2FmZV93YXJuB3N1Y2Nlc3MOc3VjY2Vzcy1jaXJjbGURc3VjY2Vzcy1uby1jaXJjbGUHd2FpdGluZw53YWl0aW5nLWNpcmNsZQR3YXJuC2luZm8tY2lyY2xlBmNhbmNlbAZzZWFyY2gFY2xlYXIEYmFjawZkZWxldGUAAAAA') format('truetype'); +} +@font-face { + font-weight: normal; + font-style: normal; + font-family: "unibtn"; + src: url('data:application/octet-stream;base64,AAEAAAALAIAAAwAwT1MvMg8SAzoAAAC8AAAAYGNtYXAAILNAAAABHAAAAGRnYXNwAAAAEAAAAYAAAAAIZ2x5ZnVT/G4AAAGIAAAEHGhlYWQOAdVuAAAFpAAAADZoaGVhB3wDzAAABdwAAAAkaG10eCIABqYAAAYAAAAALGxvY2EDqgTMAAAGLAAAABhtYXhwAA8ATQAABkQAAAAgbmFtZXBR8sQAAAZkAAAB2nBvc3QAAwAAAAAIQAAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmUAPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQASAAAAA4ACAACAAYAAQAg5gLmBuZQ//3//wAAAAAAIOYA5gTmUP/9//8AAf/jGgQaAxm6AAMAAQAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQFgAHkCwQLqABYAAAEmNDc2MhcBHgEVFAYHAQYiJyY0NwkBAWAICAcWBwE1BAQEBP7LBxYHCAgBIv7eAsUHFwcICP7cBAsFBgsE/twICAcXCAETARMAAAEBWAB5ArkC6gAXAAAJAhYUBwYiJwEuATU0NjcBNjIXFhQHMQK5/t4BIggICBUI/swFAwMFATQIFQgICALF/u3+7QgXBwgIASQECwYFCwQBJAgIBxcHAAACANAAaQO6Aw0AHAA2AAAlFAYjISImNRE0NjsBNSMiBhURFBYzITI2PQEjFRMnBxcHDgMPATM1PgE3PgE/AgcXNyc3A1IHBP3CBAYGBLDAERgYEQJfERcuaKQhbndKgmM9BQEvBTYtLXVABmpuIaQBAaUEBwcEAagFBjEZEf40ERkZEqWUAbysI3MBBjxffkcIBzxuKysyBAEBdCKsAgIAAgCXAF4DcwMbADEASgAAAS4BLwIuASMiBg8CDgEHBhYfAQcGFhceATMyNj8BFx4BMzI2Nz4BJzQwNSc3PgEnBTYmLwE3PgE/ARceAR8BBw4BHwEnJgYPAQNzAgoG42cDCgcGCgNk4wYKAgEDBKUlAQUFAwYEAgUDyswCBQMGCgMCAQEoowUDAv38AQMEjcIFCQJWWAIJBcOMBAMBIq4FCwSuAhQGCAEfzQYGBgbOIwEIBgYMBJ/iBgwEAgICAWxqAQEGBgMJAwEB3qEFDAa2BgoEiB0BBgWxsAUGARuJBAsFwVoDAQJcAAIAvwB1A1ADEQAhAD4AAAEiBh0BFAYjISImPQE0JiMiBh0BHgEzITI2PQE0JicuASM3AS4BIyIGBwEGFBceATMyNjcBNjIXARYyNz4BJwL3Cg4LB/51CAsOCgkPASYbAYwbJwQDAwkFWf7mChgNDRgJ/uYGBwMJBQQIBAEZBRAFARoHEwcGAQYBsA4J4gcLCwfiCQ4OCeIbJycb4gQJAwQDNAEaCgkJCf7lBxMGBAMDAwEZBQX+5wYHBhMHAAAAAAMA3AF2AzEB+gALABcAJAAAATI2NTQmIyIGFRQWITI2NTQmIyIGFRQWITI2NTQmIyIGFRQWMwEeHCcnHBsnJwEDHCcnHBsnJwEEGycnGxwnJxwBdicbGycnGxsnJxsbJycbGycnGxsnJxsbJwAAAAABAOwAnQMUAs4AJQAAATc2NCcmIg8BJyYiBwYUHwEHBhQXHgEzMjY/ARceATMyNjc2NCcCKOwJCQgYCOzqCBgICQnq7AkJBAoGBQsE7OwECwUGCgQJCQG76gkXCQgI6+sICAgYCOvrCBgIBAQEBOvtBQQFBAgXCQABAAAAAQAA3hDrLV8PPPUACwQAAAAAANWUyKsAAAAA1ZTIqwAAAAADugMbAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAO6AAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWAEAAFYBAAA0AQAAJcEAAC/BAAA3AQAAOwAAAAAAAoAFAAeAEoAdgDGAToBmgHSAg4AAQAAAAsASwADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAA4AAAABAAAAAAACAAcAnwABAAAAAAADAA4ASwABAAAAAAAEAA4AtAABAAAAAAAFAAsAKgABAAAAAAAGAA4AdQABAAAAAAAKABoA3gADAAEECQABABwADgADAAEECQACAA4ApgADAAEECQADABwAWQADAAEECQAEABwAwgADAAEECQAFABYANQADAAEECQAGABwAgwADAAEECQAKADQA+HN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdFZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdHN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdFJlZ3VsYXIAUgBlAGcAdQBsAGEAcnN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdEZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=') format('truetype') +} +html, +body { + -webkit-user-select: none; + user-select: none; + width: 100%; + height: 100%; +} +body { + overflow-x: hidden; +} +[class^="uni-icon-"], +[class*=" uni-icon-"] { + display: inline-block; + vertical-align: middle; + font: normal normal normal 14px/1 "uni"; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; +} +[class^="uni-btn-icon"], +[class*=" uni-btn-icon"] { + display: inline-block; + font: normal normal normal 14px/1 "unibtn"; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; +} +[class^="uni-btn-icon"]:before, +[class*=" uni-btn-icon"]:before { + margin: 0; + box-sizing: border-box; +} +.uni-icon-success-no-circle:before { + content: "\EA08"; +} +.uni-loading, +uni-button[loading]:before { + background: transparent url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=") no-repeat; +} +.uni-loading { + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + animation: uni-loading 1s steps(12, end) infinite; + background-size: 100%; +} +@keyframes uni-loading { +0% { + transform: rotate3d(0, 0, 1, 0deg); +} +100% { + transform: rotate3d(0, 0, 1, 360deg); +} +} +.uni-mask { + position: fixed; + z-index: 999; + top: 0; + right: 0; + left: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.6); +} +.uni-fade-enter-active, +.uni-fade-leave-active { + transition-duration: 0.25s; + transition-property: opacity; + transition-timing-function: ease; +} +.uni-fade-enter, +.uni-fade-leave-active { + opacity: 0 +} +[nvue] uni-view, +[nvue] uni-swiper-item, +[nvue] uni-scroll-view { + display: flex; + flex-shrink: 0; + flex-grow: 0; + flex-basis: auto; + align-items: stretch; + align-content: flex-start; +} +[nvue-dir-row] uni-view, +[nvue-dir-row] uni-swiper-item { + flex-direction: row; +} +[nvue-dir-column] uni-view, +[nvue-dir-column] uni-swiper-item { + flex-direction: column; +} +[nvue-dir-row-reverse] uni-view, +[nvue-dir-row-reverse] uni-swiper-item { + flex-direction: row-reverse; +} +[nvue-dir-column-reverse] uni-view, +[nvue-dir-column-reverse] uni-swiper-item { + flex-direction: column-reverse; +} +[nvue] uni-view, +[nvue] uni-image, +[nvue] uni-input, +[nvue] uni-scroll-view, +[nvue] uni-swiper, +[nvue] uni-swiper-item, +[nvue] uni-text, +[nvue] uni-textarea, +[nvue] uni-video { + position: relative; + border: 0px solid #000000; + box-sizing: border-box; +} +[nvue] uni-swiper-item { + position: absolute; +} +uni-app { + display: block; + box-sizing: border-box; + width: 100%; + height: 100%; +} + +uni-canvas { + width: 300px; + height: 150px; + display: block; + position: relative; +} +uni-canvas > canvas { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +uni-checkbox-group[hidden] { + display: none; +} +.ql-container { + display: block; + position: relative; + box-sizing: border-box; + -webkit-user-select: text; + user-select: text; + outline: none; + overflow: hidden; + width: 100%; + height: 200px; + min-height: 200px; +} +.ql-container[hidden] { + display: none; +} +.ql-container .ql-editor { + position: relative; + font-size: inherit; + line-height: inherit; + font-family: inherit; + min-height: inherit; + width: 100%; + height: 100%; + padding: 0; + overflow-x: hidden; + overflow-y: auto; + -webkit-tap-highlight-color: transparent; + -webkit-touch-callout: none; + -webkit-overflow-scrolling: touch; +} +.ql-container .ql-editor::-webkit-scrollbar { + width: 0 !important; +} +.ql-container .ql-editor.scroll-disabled { + overflow: hidden; +} +.ql-container .ql-image-overlay { + display: flex; + position: absolute; + box-sizing: border-box; + border: 1px dashed #ccc; + justify-content: center; + align-items: center; + -webkit-user-select: none; + user-select: none; +} +.ql-container .ql-image-overlay .ql-image-size { + position: absolute; + padding: 4px 8px; + text-align: center; + background-color: #fff; + color: #888; + border: 1px solid #ccc; + box-sizing: border-box; + opacity: 0.8; + right: 4px; + top: 4px; + font-size: 12px; + display: inline-block; + width: auto; +} +.ql-container .ql-image-overlay .ql-image-toolbar { + position: relative; + text-align: center; + box-sizing: border-box; + background: #000; + border-radius: 5px; + color: #fff; + font-size: 0; + min-height: 24px; + z-index: 100; +} +.ql-container .ql-image-overlay .ql-image-toolbar span { + display: inline-block; + cursor: pointer; + padding: 5px; + font-size: 12px; + border-right: 1px solid #fff; +} +.ql-container .ql-image-overlay .ql-image-toolbar span:last-child { + border-right: 0; +} +.ql-container .ql-image-overlay .ql-image-toolbar span.triangle-up { + padding: 0; + position: absolute; + top: -12px; + left: 50%; + transform: translatex(-50%); + width: 0; + height: 0; + border-width: 6px; + border-style: solid; + border-color: transparent transparent black transparent; +} +.ql-container .ql-image-overlay .ql-image-handle { + position: absolute; + height: 12px; + width: 12px; + border-radius: 50%; + border: 1px solid #ccc; + box-sizing: border-box; + background: #fff; +} +.ql-container img { + display: inline-block; + max-width: 100%; +} +.ql-clipboard p { + margin: 0; + padding: 0; +} +.ql-editor { + box-sizing: border-box; + height: 100%; + outline: none; + overflow-y: auto; + tab-size: 4; + -moz-tab-size: 4; + text-align: left; + white-space: pre-wrap; + word-wrap: break-word; +} +.ql-editor > * { + cursor: text; +} +.ql-editor p, +.ql-editor ol, +.ql-editor ul, +.ql-editor pre, +.ql-editor blockquote, +.ql-editor h1, +.ql-editor h2, +.ql-editor h3, +.ql-editor h4, +.ql-editor h5, +.ql-editor h6 { + margin: 0; + padding: 0; + counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9; +} +.ql-editor ol > li, +.ql-editor ul > li { + list-style-type: none; +} +.ql-editor ul > li::before { + content: '\2022'; +} +.ql-editor ul[data-checked=true], +.ql-editor ul[data-checked=false] { + pointer-events: none; +} +.ql-editor ul[data-checked=true] > li *, +.ql-editor ul[data-checked=false] > li * { + pointer-events: all; +} +.ql-editor ul[data-checked=true] > li::before, +.ql-editor ul[data-checked=false] > li::before { + color: #777; + cursor: pointer; + pointer-events: all; +} +.ql-editor ul[data-checked=true] > li::before { + content: '\2611'; +} +.ql-editor ul[data-checked=false] > li::before { + content: '\2610'; +} +.ql-editor li::before { + display: inline-block; + white-space: nowrap; + width: 2em; +} +.ql-editor ol li { + counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9; + counter-increment: list-0; +} +.ql-editor ol li:before { + content: counter(list-0, decimal) '. '; +} +.ql-editor ol li.ql-indent-1 { + counter-increment: list-1; +} +.ql-editor ol li.ql-indent-1:before { + content: counter(list-1, lower-alpha) '. '; +} +.ql-editor ol li.ql-indent-1 { + counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-2 { + counter-increment: list-2; +} +.ql-editor ol li.ql-indent-2:before { + content: counter(list-2, lower-roman) '. '; +} +.ql-editor ol li.ql-indent-2 { + counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-3 { + counter-increment: list-3; +} +.ql-editor ol li.ql-indent-3:before { + content: counter(list-3, decimal) '. '; +} +.ql-editor ol li.ql-indent-3 { + counter-reset: list-4 list-5 list-6 list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-4 { + counter-increment: list-4; +} +.ql-editor ol li.ql-indent-4:before { + content: counter(list-4, lower-alpha) '. '; +} +.ql-editor ol li.ql-indent-4 { + counter-reset: list-5 list-6 list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-5 { + counter-increment: list-5; +} +.ql-editor ol li.ql-indent-5:before { + content: counter(list-5, lower-roman) '. '; +} +.ql-editor ol li.ql-indent-5 { + counter-reset: list-6 list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-6 { + counter-increment: list-6; +} +.ql-editor ol li.ql-indent-6:before { + content: counter(list-6, decimal) '. '; +} +.ql-editor ol li.ql-indent-6 { + counter-reset: list-7 list-8 list-9; +} +.ql-editor ol li.ql-indent-7 { + counter-increment: list-7; +} +.ql-editor ol li.ql-indent-7:before { + content: counter(list-7, lower-alpha) '. '; +} +.ql-editor ol li.ql-indent-7 { + counter-reset: list-8 list-9; +} +.ql-editor ol li.ql-indent-8 { + counter-increment: list-8; +} +.ql-editor ol li.ql-indent-8:before { + content: counter(list-8, lower-roman) '. '; +} +.ql-editor ol li.ql-indent-8 { + counter-reset: list-9; +} +.ql-editor ol li.ql-indent-9 { + counter-increment: list-9; +} +.ql-editor ol li.ql-indent-9:before { + content: counter(list-9, decimal) '. '; +} +.ql-editor .ql-indent-1:not(.ql-direction-rtl) { + padding-left: 2em; +} +.ql-editor li.ql-indent-1:not(.ql-direction-rtl) { + padding-left: 2em; +} +.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right { + padding-right: 2em; +} +.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right { + padding-right: 2em; +} +.ql-editor .ql-indent-2:not(.ql-direction-rtl) { + padding-left: 4em; +} +.ql-editor li.ql-indent-2:not(.ql-direction-rtl) { + padding-left: 4em; +} +.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right { + padding-right: 4em; +} +.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right { + padding-right: 4em; +} +.ql-editor .ql-indent-3:not(.ql-direction-rtl) { + padding-left: 6em; +} +.ql-editor li.ql-indent-3:not(.ql-direction-rtl) { + padding-left: 6em; +} +.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right { + padding-right: 6em; +} +.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right { + padding-right: 6em; +} +.ql-editor .ql-indent-4:not(.ql-direction-rtl) { + padding-left: 8em; +} +.ql-editor li.ql-indent-4:not(.ql-direction-rtl) { + padding-left: 8em; +} +.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right { + padding-right: 8em; +} +.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right { + padding-right: 8em; +} +.ql-editor .ql-indent-5:not(.ql-direction-rtl) { + padding-left: 10em; +} +.ql-editor li.ql-indent-5:not(.ql-direction-rtl) { + padding-left: 10em; +} +.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right { + padding-right: 10em; +} +.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right { + padding-right: 10em; +} +.ql-editor .ql-indent-6:not(.ql-direction-rtl) { + padding-left: 12em; +} +.ql-editor li.ql-indent-6:not(.ql-direction-rtl) { + padding-left: 12em; +} +.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right { + padding-right: 12em; +} +.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right { + padding-right: 12em; +} +.ql-editor .ql-indent-7:not(.ql-direction-rtl) { + padding-left: 14em; +} +.ql-editor li.ql-indent-7:not(.ql-direction-rtl) { + padding-left: 14em; +} +.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right { + padding-right: 14em; +} +.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right { + padding-right: 14em; +} +.ql-editor .ql-indent-8:not(.ql-direction-rtl) { + padding-left: 16em; +} +.ql-editor li.ql-indent-8:not(.ql-direction-rtl) { + padding-left: 16em; +} +.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right { + padding-right: 16em; +} +.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right { + padding-right: 16em; +} +.ql-editor .ql-indent-9:not(.ql-direction-rtl) { + padding-left: 18em; +} +.ql-editor li.ql-indent-9:not(.ql-direction-rtl) { + padding-left: 18em; +} +.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right { + padding-right: 18em; +} +.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right { + padding-right: 18em; +} +.ql-editor .ql-direction-rtl { + direction: rtl; + text-align: inherit; +} +.ql-editor .ql-align-center { + text-align: center; +} +.ql-editor .ql-align-justify { + text-align: justify; +} +.ql-editor .ql-align-right { + text-align: right; +} +.ql-editor.ql-blank::before { + color: rgba(0, 0, 0, 0.6); + content: attr(data-placeholder); + font-style: italic; + pointer-events: none; + position: absolute; +} +.ql-container.ql-disabled .ql-editor ul[data-checked] > li::before { + pointer-events: none; +} +.ql-clipboard { + left: -100000px; + height: 1px; + overflow-y: hidden; + position: absolute; + top: 50%; +} + + + +uni-icon { + display: inline-block; + font-size: 0; + box-sizing: border-box; +} +uni-icon[hidden] { + display: none; +} +uni-icon > i { + font: normal normal normal 14px/1 'weui'; +} +uni-icon > i:before { + margin: 0; + box-sizing: border-box; +} +@font-face { + font-weight: normal; + font-style: normal; + font-family: 'weui'; + src: url('data:application/octet-stream;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJAKEx8AAABfAAAAFZjbWFw65cFHQAAAhwAAAJQZ2x5Zp+UEEcAAASUAAAIvGhlYWQUqc7xAAAA4AAAADZoaGVhB/YD+wAAALwAAAAkaG10eEJoAAAAAAHUAAAASGxvY2EUxhJeAAAEbAAAACZtYXhwASEAQwAAARgAAAAgbmFtZeNcHtgAAA1QAAAB5nBvc3T6OoZLAAAPOAAAAOYAAQAAA+gAAABaA+gAAAAAA7MAAQAAAAAAAAAAAAAAAAAAABIAAQAAAAEAAMCU2KdfDzz1AAsD6AAAAADY7EUUAAAAANjsRRQAAAAAA7MD5AAAAAgAAgAAAAAAAAABAAAAEgA3AAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQOwAZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6gHqEQPoAAAAWgPoAAAAAAABAAAAAAAAAAAAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAAAAABQAAAAMAAAAsAAAABAAAAXQAAQAAAAAAbgADAAEAAAAsAAMACgAAAXQABABCAAAABAAEAAEAAOoR//8AAOoB//8AAAABAAQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAANwAAAAAAAAAEQAA6gEAAOoBAAAAAQAA6gIAAOoCAAAAAgAA6gMAAOoDAAAAAwAA6gQAAOoEAAAABAAA6gUAAOoFAAAABQAA6gYAAOoGAAAABgAA6gcAAOoHAAAABwAA6ggAAOoIAAAACAAA6gkAAOoJAAAACQAA6goAAOoKAAAACgAA6gsAAOoLAAAACwAA6gwAAOoMAAAADAAA6g0AAOoNAAAADQAA6g4AAOoOAAAADgAA6g8AAOoPAAAADwAA6hAAAOoQAAAAEAAA6hEAAOoRAAAAEQAAAAAARACKAMQBEgFgAZIB4gH6AioCeAK0AwwDZAOiA9wEEAReAAAAAgAAAAADlQOVABQAKQAAJSInJicmNDc2NzYyFxYXFhQHBgcGJzI3Njc2NCcmJyYiBwYHBhQXFhcWAfRxYV83OTk3X2HiYV83OTk3X2FxZFVTMTIyMVNVyFVTMTIyMVNVUzk3X2HiYV83OTk3X2HiYV83OTIyMVNVyFVTMTIyMVNVyFVTMTIAAAIAAAAAA7MDswAXAC0AAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMHBiIvASY2OwERNDY7ATIWFREzMhYB7nZnZDs9PTtkZ3Z8amY7Pj47Zmkhdg4oDnYODRddCwcmBwtdFw0Dsz47Zmp8dmdkOz09O2Rndn1pZjs+/fCaEhKaEhoBFwgLCwj+6RoAAwAAAAADlQOVABQAGAAhAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYDETMRJzI2NCYiBhQWAfRxYV83OTk3X2HiYV83OTk3X2GQPh8RGRkiGRlTOTdfYeJhXzc5OTdfYeJhXzc5AfT+3QEjKhgjGBgjGAAAAAACAAAAAAOxA+QAFwAsAAABBgcGDwERFBcWFxYXNjc2NzY1EScmJyYTAQYvASY/ATYyHwEWNjclNjIfARYB9WlsP3A3Rz5sXmxsXW09SDdwQGuP/tUEBIoDAxIBBQFxAQUCARICBQERBAPjFyASJBL+rI51ZUg/HBw/SGV1jgFUEiQSIP66/tkDA48EBBkCAVYCAQHlAQIQBAAAAAADAAAAAAOxA+QAFwAmAC8AAAEGBwYPAREUFxYXFhc2NzY3NjURJyYnJgczMhYVAxQGKwEiJwM0NhMiJjQ2MhYUBgH1aWtAcDdHPmxebGxdbT1IN3BAa4M0BAYMAwImBQELBh4PFhYeFRUD5BggEiQS/q2PdWRJPh0dPklkdY8BUxIkEiD4BgT+xgIDBQE6BAb+QBUfFRUfFQAAAAACAAAAAAOVA5UAFAAaAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYDJwcXAScB9HFhXzc5OTdfYeJhXzc5OTdfYaJzLJ8BFi1TOTdfYeJhXzc5OTdfYeJhXzc5AUhzLJ8BFSwAAAAAAwAAAAADlQOVABQAKQAvAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYnMjc2NzY0JyYnJiIHBgcGFBcWFxYTNxcBJzcB9HFhXzc5OTdfYeJhXzc5OTdfYXFkVVMxMjIxU1XIVVMxMjIxU1Uz8iT+6p8jUzk3X2HiYV83OTk3X2HiYV83OTIyMVNVyFVTMTIyMVNVyFVTMTIBBPIj/uufJAAAAAEAAAAAA5kDGAAHAAAlATcXARcBBgGF/vg7zgHYOv3vAcsBCTvPAdg7/e4BAAAAAAIAAAAAA5UDlQAFABoAAAE1IxUXNwMiJyYnJjQ3Njc2MhcWFxYUBwYHBgITPrEsvnFhXzc5OTdfYeJhXzc5OTdfYQIO4PqxLP7kOTdfYeJhXzc5OTdfYeJhXzc5AAAAAAMAAAAAA5UDlQAFABoALwAAARcHJzUzAyInJicmNDc2NzYyFxYXFhQHBgcGJzI3Njc2NCcmJyYiBwYHBhQXFhcWAg2iI7EyGXFhXzc5OTdfYeJhXzc5OTdfYXFkVVMxMjIxU1XIVVMxMjIxU1UCCaIksfr9ZTk3X2HiYV83OTk3X2HiYV83OTIyMVNVyFVTMTIyMVNVyFVTMTIAAAMAAAAAA5UDlQAUABgAIQAAJSInJicmNDc2NzYyFxYXFhQHBgcGAxMzEwMyNjQmIg4BFgH0cWFfNzk5N19h4mFfNzk5N19hkQU2BSAQFRUgFQEWUzk3X2HiYV83OTk3X2HiYV83OQKV/sQBPP43Fh8VFR8WAAAAAAQAAAAAA5UDlQAUACkALQA2AAAlIicmJyY0NzY3NjIXFhcWFAcGBwYnMjc2NzY0JyYnJiIHBgcGFBcWFxYTMxEjEyImNDYyFhQGAfRxYV83OTk3X2HiYV83OTk3X2FxZFVTMTIyMVNVyFVTMTIyMVNVSzIyGREZGSIZGVM5N19h4mFfNzk5N19h4mFfNzkyMjFTVchVUzEyMjFTVchVUzEyAcL+3QFNGCMYGCMYAAAAAwAAAAADlQOVABQAKQA1AAAlIicmJyY0NzY3NjIXFhcWFAcGBwYnMjc2NzY0JyYnJiIHBgcGFBcWFxYTFwcnByc3JzcXNxcB9HFhXzc5OTdfYeJhXzc5OTdfYXFkVVMxMjIxU1XIVVMxMjIxU1WHgiOCgiOCgiOCgiNTOTdfYeJhXzc5OTdfYeJhXzc5MjIxU1XIVVMxMjIxU1XIVVMxMgFvgiOCgiOCgiOCgiMAAAACAAAAAANUA0IAGAAlAAABFwcnDgEjIicmJyY0NzY3NjIXFhcWFRQGJzQuASIOARQeATI+AQKoqyOsJ180T0RCJycnJ0JEn0RCJiglDUFvg29BQW+Db0EBYKwjrCAjKCZCRJ9EQicnJydCRE82YZdBb0FBb4NvQUFvAAAAAgAAAAADlQOVAAsAIAAAATcnBycHFwcXNxc3AyInJicmNDc2NzYyFxYXFhQHBgcGAiB9LH19LH19LH19LKlxYV83OTk3X2HiYV83OTk3X2EB9H0sfX0sfX0sfX0s/tw5N19h4mFfNzk5N19h4mFfNzkAAAACAAAAAAOVA5UAFAAcAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYDJzcnBwYfAQH0cWFfNzk5N19h4mFfNzk5N19hHoqKK7UBAbVTOTdfYeJhXzc5OTdfYeJhXzc5ARKPjy27AQG6AAAAAAUAAAAAA1cDbAAJAB0AJwArAC8AAAETHgEzITI2NxMzAw4BIyEiJicDIzU0NjMhMhYdASUyFh0BIzU0NjMHMxMjEzMDIwEaIgETDQEuDRMBIjIiAjAh/tIhMAIiVgwJApoJDP7xCQzQDAkVMhUyiTIVMgLd/cgOEhIOAjj9xSEuLiECOx4IDAwIHo4MCR0dCQz6/okBd/6JAAAAAAAAEADGAAEAAAAAAAEABAAAAAEAAAAAAAIABwAEAAEAAAAAAAMABAALAAEAAAAAAAQABAAPAAEAAAAAAAUACwATAAEAAAAAAAYABAAeAAEAAAAAAAoAKwAiAAEAAAAAAAsAEwBNAAMAAQQJAAEACABgAAMAAQQJAAIADgBoAAMAAQQJAAMACAB2AAMAAQQJAAQACAB+AAMAAQQJAAUAFgCGAAMAAQQJAAYACACcAAMAAQQJAAoAVgCkAAMAAQQJAAsAJgD6d2V1aVJlZ3VsYXJ3ZXVpd2V1aVZlcnNpb24gMS4wd2V1aUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAHcAZQB1AGkAUgBlAGcAdQBsAGEAcgB3AGUAdQBpAHcAZQB1AGkAVgBlAHIAcwBpAG8AbgAgADEALgAwAHcAZQB1AGkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETAAZjaXJjbGUIZG93bmxvYWQEaW5mbwxzYWZlLXN1Y2Nlc3MJc2FmZS13YXJuB3N1Y2Nlc3MOc3VjY2Vzcy1jaXJjbGURc3VjY2Vzcy1uby1jaXJjbGUHd2FpdGluZw53YWl0aW5nLWNpcmNsZQR3YXJuC2luZm8tY2lyY2xlBmNhbmNlbAZzZWFyY2gFY2xlYXIEYmFjawZkZWxldGUAAAAA') + format('truetype'); +} +.uni-icon-success:before { + content: '\EA06'; +} +.uni-icon-success_circle:before { + content: '\EA07'; +} +.uni-icon-success_no_circle:before { + content: '\EA08'; +} +.uni-icon-safe_success:before { + content: '\EA04'; +} +.uni-icon-safe_warn:before { + content: '\EA05'; +} +.uni-icon-info:before { + content: '\EA03'; +} +.uni-icon-info_circle:before { + content: '\EA0C'; +} +.uni-icon-warn:before { + content: '\EA0B'; +} +.uni-icon-waiting:before { + content: '\EA09'; +} +.uni-icon-waiting_circle:before { + content: '\EA0A'; +} +.uni-icon-circle:before { + content: '\EA01'; +} +.uni-icon-cancel:before { + content: '\EA0D'; +} +.uni-icon-download:before { + content: '\EA02'; +} +.uni-icon-search:before { + content: '\EA0E'; +} +.uni-icon-clear:before { + content: '\EA0F'; +} +.uni-icon-success { + color: #007aff; +} +.uni-icon-success_circle { + color: #007aff; +} +.uni-icon-success_no_circle { + color: #007aff; +} +.uni-icon-safe_success { + color: #007aff; +} +.uni-icon-safe_warn { + color: #ffbe00; +} +.uni-icon-info { + color: #10aeff; +} +.uni-icon-info_circle { + color: #007aff; +} +.uni-icon-warn { + color: #f76260; +} +.uni-icon-waiting { + color: #10aeff; +} +.uni-icon-waiting_circle { + color: #10aeff; +} +.uni-icon-circle { + color: #c9c9c9; +} +.uni-icon-cancel { + color: #f43530; +} +.uni-icon-download { + color: #007aff; +} +.uni-icon-search { + color: #b2b2b2; +} +.uni-icon-clear { + color: #b2b2b2; +} + +uni-image { + width: 320px; + height: 240px; + display: inline-block; + overflow: hidden; + position: relative; +} +uni-image[hidden] { + display: none; +} +uni-image>div { + width: 100%; + height: 100%; +} +uni-image>img { + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; +} +uni-image>.uni-image-will-change { + will-change: transform; +} + +uni-input { + display: block; + font-size: 16px; + line-height: 1.4em; + height: 1.4em; + min-height: 1.4em; + overflow: hidden; +} +uni-input[hidden] { + display: none; +} +.uni-input-wrapper, +.uni-input-placeholder, +.uni-input-form, +.uni-input-input { + outline: none; + border: none; + padding: 0; + margin: 0; + text-decoration: inherit; +} +.uni-input-wrapper, +.uni-input-form { + display: flex; + position: relative; + width: 100%; + height: 100%; + flex-direction: column; + justify-content: center; +} +.uni-input-placeholder, +.uni-input-input { + width: 100%; +} +.uni-input-placeholder { + position: absolute; + top: auto !important; + left: 0; + color: gray; + overflow: hidden; + text-overflow: clip; + white-space: pre; + word-break: keep-all; + pointer-events: none; + line-height: inherit; +} +.uni-input-input { + display: block; + height: 100%; + background: none; + color: inherit; + opacity: 1; + -webkit-text-fill-color: currentcolor; + font: inherit; + line-height: inherit; + letter-spacing: inherit; + text-align: inherit; + text-indent: inherit; + text-transform: inherit; + text-shadow: inherit; +} +.uni-input-input[type="search"]::-webkit-search-cancel-button { + display: none; +} +.uni-input-input::-webkit-outer-spin-button, +.uni-input-input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.uni-input-input[type="number"] { + -moz-appearance: textfield; +} + +.uni-label-pointer { + cursor: pointer; +} + +uni-movable-view { + display: inline-block; + width: 10px; + height: 10px; + top: 0px; + left: 0px; + position: absolute; + cursor: grab; +} +uni-movable-view[hidden] { + display: none; +} + +uni-navigator { + height: auto; + width: auto; + display: block; + cursor: pointer; +} +uni-navigator[hidden] { + display: none; +} +.navigator-hover { + background-color: rgba(0, 0, 0, 0.1); + opacity: 0.7; +} + +uni-radio { + -webkit-tap-highlight-color: transparent; + display: inline-block; + cursor: pointer; +} +uni-radio[hidden] { + display: none; +} +uni-radio[disabled] { + cursor: not-allowed; +} +uni-radio .uni-radio-wrapper { + display: -webkit-inline-flex; + display: inline-flex; + -webkit-align-items: center; + align-items: center; + vertical-align: middle; +} +uni-radio .uni-radio-input { + -webkit-appearance: none; + appearance: none; + margin-right: 5px; + outline: 0; + border: 1px solid #D1D1D1; + background-color: #ffffff; + border-radius: 50%; + width: 22px; + height: 22px; + position: relative; +} +uni-radio:not([disabled]) .uni-radio-input:hover { + border-color: #007aff; +} +uni-radio .uni-radio-input.uni-radio-input-checked:before { + font: normal normal normal 14px/1 "uni"; + content: "\EA08"; + color: #ffffff; + font-size: 18px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -48%) scale(0.73); + -webkit-transform: translate(-50%, -48%) scale(0.73); +} +uni-radio .uni-radio-input.uni-radio-input-disabled { + background-color: #E1E1E1; + border-color: #D1D1D1; +} +uni-radio .uni-radio-input.uni-radio-input-disabled:before { + color: #ADADAD; +} +uni-radio-group { + display: block; +} + +uni-radio-group[hidden] { + display: none; +} + +@keyframes once-show { +from { + top: 0; +} +} +uni-resize-sensor, +uni-resize-sensor > div { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + overflow: hidden; +} +uni-resize-sensor { + display: block; + z-index: -1; + visibility: hidden; + animation: once-show 1ms; +} +uni-resize-sensor > div > div { + position: absolute; + left: 0; + top: 0; +} +uni-resize-sensor > div:first-child > div { + width: 100000px; + height: 100000px; +} +uni-resize-sensor > div:last-child > div { + width: 200%; + height: 200%; +} + +uni-scroll-view { + display: block; + width: 100%; +} +uni-scroll-view[hidden] { + display: none; +} +.uni-scroll-view { + position: relative; + -webkit-overflow-scrolling: touch; + width: 100%; + + height: 100%; + max-height: inherit; +} +.uni-scroll-view-content { + width: 100%; + height: 100%; +} +.uni-scroll-view-refresher { + position: relative; + overflow: hidden; +} +.uni-scroll-view-refresh { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; +} +.uni-scroll-view-refresh-inner { + display: flex; + align-items: center; + justify-content: center; + line-height: 0; + width: 40px; + height: 40px; + border-radius: 50%; + background-color: #fff; + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.117647), + 0 1px 4px rgba(0, 0, 0, 0.117647); +} +.uni-scroll-view-refresh__spinner { + transform-origin: center center; + animation: uni-scroll-view-refresh-rotate 2s linear infinite; +} +.uni-scroll-view-refresh__spinner > circle { + stroke: currentColor; + stroke-linecap: round; + animation: uni-scroll-view-refresh-dash 2s linear infinite; +} +@keyframes uni-scroll-view-refresh-rotate { +0% { + transform: rotate(0deg); +} +100% { + transform: rotate(360deg); +} +} +@keyframes uni-scroll-view-refresh-dash { +0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; +} +50% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -35px; +} +100% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -124px; +} +} + +uni-swiper-item { + display: block; + overflow: hidden; + will-change: transform; + position: absolute; + width: 100%; + height: 100%; + cursor: grab; +} +uni-swiper-item[hidden] { + display: none; +} + +uni-switch { + -webkit-tap-highlight-color: transparent; + display: inline-block; + cursor: pointer; +} +uni-switch[hidden] { + display: none; +} +uni-switch[disabled] { + cursor: not-allowed; +} +uni-switch .uni-switch-wrapper { + display: -webkit-inline-flex; + display: inline-flex; + -webkit-align-items: center; + align-items: center; + vertical-align: middle; +} +uni-switch .uni-switch-input { + -webkit-appearance: none; + appearance: none; + position: relative; + width: 52px; + height: 32px; + margin-right: 5px; + border: 1px solid #DFDFDF; + outline: 0; + border-radius: 16px; + box-sizing: border-box; + background-color: #DFDFDF; + transition: background-color 0.1s, border 0.1s; +} +uni-switch[disabled] .uni-switch-input { + opacity: .7; +} +uni-switch .uni-switch-input:before { + content: " "; + position: absolute; + top: 0; + left: 0; + width: 50px; + height: 30px; + border-radius: 15px; + background-color: #FDFDFD; + transition: -webkit-transform 0.3s; + transition: transform 0.3s; + transition: transform 0.3s, -webkit-transform 0.3s; +} +uni-switch .uni-switch-input:after { + content: " "; + position: absolute; + top: 0; + left: 0; + width: 30px; + height: 30px; + border-radius: 15px; + background-color: #FFFFFF; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); + transition: -webkit-transform 0.3s; + transition: transform 0.3s; + transition: transform 0.3s, -webkit-transform 0.3s; +} +uni-switch .uni-switch-input.uni-switch-input-checked { + border-color: #007aff; + background-color: #007aff; +} +uni-switch .uni-switch-input.uni-switch-input-checked:before { + -webkit-transform: scale(0); + transform: scale(0); +} +uni-switch .uni-switch-input.uni-switch-input-checked:after { + -webkit-transform: translateX(20px); + transform: translateX(20px); +} +uni-switch .uni-checkbox-input { + margin-right: 5px; + -webkit-appearance: none; + appearance: none; + outline: 0; + border: 1px solid #D1D1D1; + background-color: #FFFFFF; + border-radius: 3px; + width: 22px; + height: 22px; + position: relative; + color: #007aff; +} +uni-switch:not([disabled]) .uni-checkbox-input:hover { + border-color: #007aff; +} +uni-switch .uni-checkbox-input.uni-checkbox-input-checked:before { + font: normal normal normal 14px/1 "uni"; + content: "\EA08"; + color: inherit; + font-size: 22px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -48%) scale(0.73); + -webkit-transform: translate(-50%, -48%) scale(0.73); +} +uni-switch .uni-checkbox-input.uni-checkbox-input-disabled { + background-color: #E1E1E1; +} +uni-switch .uni-checkbox-input.uni-checkbox-input-disabled:before { + color: #ADADAD; +} + +uni-textarea { + width: 300px; + height: 150px; + display: block; + position: relative; + font-size: 16px; + line-height: normal; + white-space: pre-wrap; + word-break: break-all; +} +uni-textarea[hidden] { + display: none; +} +.uni-textarea-wrapper, +.uni-textarea-placeholder, +.uni-textarea-line, +.uni-textarea-compute, +.uni-textarea-textarea { + outline: none; + border: none; + padding: 0; + margin: 0; + text-decoration: inherit; +} +.uni-textarea-wrapper { + display: block; + position: relative; + width: 100%; + height: 100%; +} +.uni-textarea-placeholder, +.uni-textarea-line, +.uni-textarea-compute, +.uni-textarea-textarea { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + white-space: inherit; + word-break: inherit; +} +.uni-textarea-placeholder { + color: grey; + overflow: hidden; +} +.uni-textarea-line, +.uni-textarea-compute { + visibility: hidden; + height: auto; +} +.uni-textarea-line { + width: 1em; +} +.uni-textarea-textarea { + resize: none; + background: none; + color: inherit; + opacity: 1; + -webkit-text-fill-color: currentcolor; + font: inherit; + line-height: inherit; + letter-spacing: inherit; + text-align: inherit; + text-indent: inherit; + text-transform: inherit; + text-shadow: inherit; +} +.uni-textarea-textarea-fix-margin { + width: auto; + right: 0; + margin: 0 -3px; +} + +uni-view { + display: block; +} +uni-view[hidden] { + display: none; +} + +uni-page-head { + display: block; + box-sizing: border-box; +} +uni-page-head .uni-page-head { + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 44px; + height: calc(44px + constant(safe-area-inset-top)); + height: calc(44px + env(safe-area-inset-top)); + padding: 7px 3px; + padding-top: calc(7px + constant(safe-area-inset-top)); + padding-top: calc(7px + env(safe-area-inset-top)); + display: flex; + overflow: hidden; + justify-content: space-between; + box-sizing: border-box; + z-index: 998; + color: #fff; + background-color: #000; + transition-property: all; +} +uni-page-head .uni-page-head-titlePenetrate, +uni-page-head .uni-page-head-titlePenetrate .uni-page-head-bd, +uni-page-head .uni-page-head-titlePenetrate .uni-page-head-bd * { + pointer-events: none; +} +uni-page-head .uni-page-head-titlePenetrate * { + pointer-events: auto; +} +uni-page-head .uni-page-head.uni-page-head-transparent .uni-page-head-ft > div { + justify-content: center; +} +uni-page-head .uni-page-head ~ .uni-placeholder { + width: 100%; + height: 44px; + height: calc(44px + constant(safe-area-inset-top)); + height: calc(44px + env(safe-area-inset-top)); +} +uni-page-head .uni-placeholder-titlePenetrate { + pointer-events: none; +} +uni-page-head .uni-page-head * { + box-sizing: border-box; +} +uni-page-head .uni-page-head-hd { + display: flex; + align-items: center; + font-size: 16px; +} +uni-page-head .uni-page-head-bd { + position: absolute; + left: 70px; + right: 70px; + min-width: 0; + user-select: auto; +} +.uni-page-head-btn { + position: relative; + width: auto; + margin: 0 2px; + word-break: keep-all; + white-space: pre; + cursor: pointer; +} +.uni-page-head-transparent .uni-page-head-btn { + display: flex; + align-items: center; + width: 32px; + height: 32px; + border-radius: 50%; + background-color: rgba(0, 0, 0, 0.5); +} +uni-page-head .uni-btn-icon { + overflow: hidden; + min-width: 1em; +} +.uni-page-head-btn-red-dot::after { + content: attr(badge-text); + position: absolute; + right: 0; + top: 0; + background-color: red; + color: white; + width: 18px; + height: 18px; + line-height: 18px; + border-radius: 18px; + overflow: hidden; + transform: scale(0.5) translate(40%, -40%); + transform-origin: 100% 0; +} +.uni-page-head-btn-red-dot[badge-text]::after { + font-size: 12px; + width: auto; + min-width: 18px; + max-width: 42px; + text-align: center; + padding: 0 3px; + transform: scale(0.7) translate(40%, -40%); +} +.uni-page-head-btn-select > .uni-btn-icon::after { + display: inline-block; + font-family: 'unibtn'; + content: '\e601'; + margin-left: 2px; + transform: rotate(-90deg) scale(0.8); +} +.uni-page-head-search { + position: relative; + display: flex; + flex: 1; + margin: 0 2px; + line-height: 30px; + font-size: 15px; +} +.uni-page-head-search-input { + width: 100%; + height: 100%; + padding-left: 34px; + text-align: left; +} +.uni-page-head-search-placeholder { + position: absolute; + max-width: 100%; + height: 100%; + padding-left: 34px; + overflow: hidden; + word-break: keep-all; + white-space: pre; +} +.uni-page-head-search-placeholder-right { + right: 0; +} +.uni-page-head-search-placeholder-center { + left: 50%; + transform: translateX(-50%); +} +.uni-page-head-search-placeholder::before { + position: absolute; + top: 0; + left: 2px; + width: 30px; + content: '\ea0e'; + display: block; + font-size: 20px; + font-family: 'uni'; + text-align: center; +} +uni-page-head .uni-page-head-ft { + display: flex; + align-items: center; + flex-direction: row-reverse; + font-size: 13px; +} +uni-page-head .uni-page-head__title { + font-weight: bold; + font-size: 16px; + line-height: 30px; + text-align: center; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +uni-page-head .uni-page-head__title .uni-loading { + width: 16px; + height: 16px; + margin-top: -3px; +} +uni-page-head .uni-page-head__title .uni-page-head__title_image { + width: auto; + height: 26px; + vertical-align: middle; +} +uni-page-head .uni-page-head-shadow { + overflow: visible; +} +uni-page-head .uni-page-head-shadow::after { + content: ''; + position: absolute; + left: 0; + right: 0; + top: 100%; + height: 5px; + background-size: 100% 100%; +} +uni-page-head .uni-page-head-shadow-grey::after { + background-image: url('https://cdn.dcloud.net.cn/img/shadow-grey.png'); +} +uni-page-head .uni-page-head-shadow-blue::after { + background-image: url('https://cdn.dcloud.net.cn/img/shadow-blue.png'); +} +uni-page-head .uni-page-head-shadow-green::after { + background-image: url('https://cdn.dcloud.net.cn/img/shadow-green.png'); +} +uni-page-head .uni-page-head-shadow-orange::after { + background-image: url('https://cdn.dcloud.net.cn/img/shadow-orange.png'); +} +uni-page-head .uni-page-head-shadow-red::after { + background-image: url('https://cdn.dcloud.net.cn/img/shadow-red.png'); +} +uni-page-head .uni-page-head-shadow-yellow::after { + background-image: url('https://cdn.dcloud.net.cn/img/shadow-yellow.png'); +} + +uni-page-wrapper { + display: block; + height: 100%; + position: relative; +} +uni-page-head[uni-page-head-type="default"] ~ uni-page-wrapper { + height: calc(100% - 44px); + height: calc(100% - 44px - constant(safe-area-inset-top)); + height: calc(100% - 44px - env(safe-area-inset-top)); +} +.uni-app--showtabbar uni-page-wrapper { + display: block; + height: calc(100% - 50px); + height: calc(100% - 50px - constant(safe-area-inset-bottom)); + height: calc(100% - 50px - env(safe-area-inset-bottom)); +} +.uni-app--showtabbar uni-page-wrapper::after { + content: ""; + display: block; + width: 100%; + height: 50px; + height: calc(50px + constant(safe-area-inset-bottom)); + height: calc(50px + env(safe-area-inset-bottom)); +} +.uni-app--showtabbar uni-page-head[uni-page-head-type="default"] ~ uni-page-wrapper { + height: calc(100% - 44px - 50px); + height: calc(100% - 44px - constant(safe-area-inset-top) - 50px - constant(safe-area-inset-bottom)); + height: calc(100% - 44px - env(safe-area-inset-top) - 50px - env(safe-area-inset-bottom)); +} +uni-page-body { + display: block; + box-sizing: border-box; + width: 100%; +} + +uni-page-refresh { + position: absolute; + top: 0; + width: 100%; + height: 40px; + display: block; + box-sizing: border-box; +} +uni-page-refresh .uni-page-refresh { + position: absolute; + top: -45px; + left: 50%; + transform: translate3d(-50%, 0, 0); + width: 40px; + height: 40px; + justify-content: center; + align-items: center; + background: #fff; + border-radius: 50%; + box-shadow: 0 1px 6px rgba(0, 0, 0, .117647), 0 1px 4px rgba(0, 0, 0, .117647); + display: none; + z-index: 997; +} +uni-page-refresh .uni-page-refresh-inner { + display: flex; + align-items: center; + justify-content: center; + line-height: 0; + width: 40px; + height: 40px; + border-radius: 50%; +} +uni-page-refresh.uni-page-refresh--pulling .uni-page-refresh, + uni-page-refresh.uni-page-refresh--aborting .uni-page-refresh, + uni-page-refresh.uni-page-refresh--reached .uni-page-refresh, + uni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh, + uni-page-refresh.uni-page-refresh--restoring .uni-page-refresh { + display: flex; +} +uni-page-refresh.uni-page-refresh--pulling .uni-page-refresh__spinner, + uni-page-refresh.uni-page-refresh--aborting .uni-page-refresh__spinner, + uni-page-refresh.uni-page-refresh--reached .uni-page-refresh__spinner, + uni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh__icon, + uni-page-refresh.uni-page-refresh--restoring .uni-page-refresh__icon { + display: none; +} +uni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh__spinner { + transform-origin: center center; + animation: uni-page-refresh-rotate 2s linear infinite; +} +uni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh__path { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + stroke-linecap: round; + animation: uni-page-refresh-dash 1.5s ease-in-out infinite, uni-page-refresh-colorful 6s ease-in-out infinite; +} +@keyframes uni-page-refresh-rotate { +100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); +} +} +@keyframes uni-page-refresh-dash { +0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; +} +50% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -35px; +} +100% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -124px; +} +} + +uni-page { + display: block; + width: 100%; + height: 100%; +} + +.uni-async-error { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + color: #999; + padding: 100px 0; + text-align: center; +} + +.uni-async-loading { + box-sizing: border-box; + width: 100%; + padding: 50px; + text-align: center; +} +.uni-async-loading .uni-loading { + width: 30px; + height: 30px; +} diff --git a/dist/uni-h5.esm.js b/dist/uni-h5.esm.js new file mode 100644 index 000000000..cb5f7a888 --- /dev/null +++ b/dist/uni-h5.esm.js @@ -0,0 +1,9177 @@ +var __assign = Object.assign; +import {isFunction, extend, isPlainObject, isPromise, isArray, hasOwn, hyphenate} from "@vue/shared"; +import {injectHook, openBlock, createBlock, createVNode, Fragment, renderList, toDisplayString, createCommentVNode, createTextVNode, Transition, withCtx, withModifiers, withDirectives, vShow, resolveComponent, KeepAlive, resolveDynamicComponent, mergeProps, toHandlers, renderSlot, vModelDynamic, vModelText} from "vue"; +import {TABBAR_HEIGHT, COMPONENT_NAME_PREFIX, isCustomElement, plusReady, debounce, NAVBAR_HEIGHT} from "@dcloudio/uni-shared"; +import {createWebHistory, createWebHashHistory, createRouter} from "vue-router"; +function applyOptions(options, instance2, publicThis) { + Object.keys(options).forEach((name) => { + if (name.indexOf("on") === 0) { + const hook = options[name]; + if (isFunction(hook)) { + injectHook(name, hook.bind(publicThis), instance2); + } + } + }); +} +function set(target, key, val) { + return target[key] = val; +} +function hasHook(name) { + const hooks = this.$[name]; + if (hooks && hooks.length) { + return true; + } + return false; +} +function callHook(name, args) { + const hooks = this.$[name]; + let ret; + if (hooks) { + for (let i = 0; i < hooks.length; i++) { + ret = hooks[i](args); + } + } + return ret; +} +function errorHandler(err, instance2, info) { + if (!instance2) { + throw err; + } + const appInstance = instance2.$.appContext.$appInstance; + if (!appInstance) { + throw err; + } + appInstance.$callHook("onError", err, info); +} +function initApp(app) { + const appConfig = app._context.config; + if (isFunction(app._component.onError)) { + appConfig.errorHandler = errorHandler; + } + const globalProperties = appConfig.globalProperties; + globalProperties.$hasHook = hasHook; + globalProperties.$callHook = callHook; + { + globalProperties.$set = set; + globalProperties.$applyOptions = applyOptions; + } +} +function initBridge(namespace) { + const {on, off, emit} = { + on(event2, callback) { + console.log(event2, callback); + }, + off(event2, callback) { + console.log(event2, callback); + }, + emit(event2, ...args) { + console.log(event2, args); + } + }; + return { + on, + off, + emit, + subscribe(event2, callback) { + return on(`${namespace}.${event2}`, callback); + }, + unsubscribe(event2, callback) { + return off(`${namespace}.${event2}`, callback); + }, + subscribeHandler(event2, args, pageId) { + { + console.log(`[${namespace}][subscribeHandler][${Date.now()}]:${event2}, ${JSON.stringify(args)}, ${pageId}`); + } + return emit(`${namespace}.${event2}`, args, pageId); + } + }; +} +const ViewJSBridge = initBridge("view"); +const LONGPRESS_TIMEOUT = 350; +const LONGPRESS_THRESHOLD = 10; +const passiveOptions = {passive: true}; +let longPressTimer = 0; +function clearLongPressTimer() { + if (longPressTimer) { + clearTimeout(longPressTimer); + longPressTimer = 0; + } +} +let startPageX = 0; +let startPageY = 0; +function touchstart(evt) { + clearLongPressTimer(); + if (evt.touches.length !== 1) { + return; + } + const {pageX, pageY} = evt.touches[0]; + startPageX = pageX; + startPageY = pageY; + longPressTimer = setTimeout(function() { + const customEvent = new CustomEvent("longpress", { + bubbles: true, + cancelable: true, + target: evt.target, + currentTarget: evt.currentTarget + }); + customEvent.touches = evt.touches; + customEvent.changedTouches = evt.changedTouches; + evt.target.dispatchEvent(customEvent); + }, LONGPRESS_TIMEOUT); +} +function touchmove(evt) { + if (!longPressTimer) { + return; + } + if (evt.touches.length !== 1) { + return clearLongPressTimer(); + } + const {pageX, pageY} = evt.touches[0]; + if (Math.abs(pageX - startPageX) > LONGPRESS_THRESHOLD || Math.abs(pageY - startPageY) > LONGPRESS_THRESHOLD) { + return clearLongPressTimer(); + } +} +function initLongPress() { + window.addEventListener("touchstart", touchstart, passiveOptions); + window.addEventListener("touchmove", touchmove, passiveOptions); + window.addEventListener("touchend", clearLongPressTimer, passiveOptions); + window.addEventListener("touchcancel", clearLongPressTimer, passiveOptions); +} +var attrs = ["top", "left", "right", "bottom"]; +var inited; +var elementComputedStyle = {}; +var support; +function getSupport() { + if (!("CSS" in window) || typeof CSS.supports != "function") { + support = ""; + } else if (CSS.supports("top: env(safe-area-inset-top)")) { + support = "env"; + } else if (CSS.supports("top: constant(safe-area-inset-top)")) { + support = "constant"; + } else { + support = ""; + } + return support; +} +function init() { + support = typeof support === "string" ? support : getSupport(); + if (!support) { + attrs.forEach(function(attr2) { + elementComputedStyle[attr2] = 0; + }); + return; + } + function setStyle(el, style) { + var elStyle = el.style; + Object.keys(style).forEach(function(key) { + var val = style[key]; + elStyle[key] = val; + }); + } + var cbs = []; + function parentReady(callback) { + if (callback) { + cbs.push(callback); + } else { + cbs.forEach(function(cb) { + cb(); + }); + } + } + var passiveEvents = false; + try { + var opts = Object.defineProperty({}, "passive", { + get: function() { + passiveEvents = {passive: true}; + } + }); + window.addEventListener("test", null, opts); + } catch (e2) { + } + function addChild(parent, attr2) { + var a1 = document.createElement("div"); + var a2 = document.createElement("div"); + var a1Children = document.createElement("div"); + var a2Children = document.createElement("div"); + var W = 100; + var MAX = 1e4; + var aStyle = { + position: "absolute", + width: W + "px", + height: "200px", + boxSizing: "border-box", + overflow: "hidden", + paddingBottom: support + "(safe-area-inset-" + attr2 + ")" + }; + setStyle(a1, aStyle); + setStyle(a2, aStyle); + setStyle(a1Children, { + transition: "0s", + animation: "none", + width: "400px", + height: "400px" + }); + setStyle(a2Children, { + transition: "0s", + animation: "none", + width: "250%", + height: "250%" + }); + a1.appendChild(a1Children); + a2.appendChild(a2Children); + parent.appendChild(a1); + parent.appendChild(a2); + parentReady(function() { + a1.scrollTop = a2.scrollTop = MAX; + var a1LastScrollTop = a1.scrollTop; + var a2LastScrollTop = a2.scrollTop; + function onScroll() { + if (this.scrollTop === (this === a1 ? a1LastScrollTop : a2LastScrollTop)) { + return; + } + a1.scrollTop = a2.scrollTop = MAX; + a1LastScrollTop = a1.scrollTop; + a2LastScrollTop = a2.scrollTop; + attrChange(attr2); + } + a1.addEventListener("scroll", onScroll, passiveEvents); + a2.addEventListener("scroll", onScroll, passiveEvents); + }); + var computedStyle = getComputedStyle(a1); + Object.defineProperty(elementComputedStyle, attr2, { + configurable: true, + get: function() { + return parseFloat(computedStyle.paddingBottom); + } + }); + } + var parentDiv = document.createElement("div"); + setStyle(parentDiv, { + position: "absolute", + left: "0", + top: "0", + width: "0", + height: "0", + zIndex: "-1", + overflow: "hidden", + visibility: "hidden" + }); + attrs.forEach(function(key) { + addChild(parentDiv, key); + }); + document.body.appendChild(parentDiv); + parentReady(); + inited = true; +} +function getAttr(attr2) { + if (!inited) { + init(); + } + return elementComputedStyle[attr2]; +} +var changeAttrs = []; +function attrChange(attr2) { + if (!changeAttrs.length) { + setTimeout(function() { + var style = {}; + changeAttrs.forEach(function(attr3) { + style[attr3] = elementComputedStyle[attr3]; + }); + changeAttrs.length = 0; + callbacks.forEach(function(callback) { + callback(style); + }); + }, 0); + } + changeAttrs.push(attr2); +} +var callbacks = []; +function onChange(callback) { + if (!getSupport()) { + return; + } + if (!inited) { + init(); + } + if (typeof callback === "function") { + callbacks.push(callback); + } +} +function offChange(callback) { + var index2 = callbacks.indexOf(callback); + if (index2 >= 0) { + callbacks.splice(index2, 1); + } +} +var safeAreaInsets = { + get support() { + return (typeof support === "string" ? support : getSupport()).length != 0; + }, + get top() { + return getAttr("top"); + }, + get left() { + return getAttr("left"); + }, + get right() { + return getAttr("right"); + }, + get bottom() { + return getAttr("bottom"); + }, + onChange, + offChange +}; +var out = safeAreaInsets; +function getWindowOffset() { + if (uni.canIUse("css.var")) { + const style = document.documentElement.style; + const top = parseInt(style.getPropertyValue("--window-top")); + const bottom = parseInt(style.getPropertyValue("--window-bottom")); + const left = parseInt(style.getPropertyValue("--window-left")); + const right = parseInt(style.getPropertyValue("--window-right")); + return { + top: top ? top + out.top : 0, + bottom: bottom ? bottom + out.bottom : 0, + left: left ? left + out.left : 0, + right: right ? right + out.right : 0 + }; + } + return { + top: 0, + bottom: 0, + left: 0, + right: 0 + }; +} +function findUniTarget($event, $el) { + let target = $event.target; + for (; target && target !== $el; target = target.parentNode) { + if (target.tagName && target.tagName.indexOf("UNI-") === 0) { + break; + } + } + return target; +} +function normalizeDataset(dataset = {}) { + const result = JSON.parse(JSON.stringify(dataset)); + return result; +} +function normalizeEvent(name, $event, detail = {}, target, currentTarget) { + if ($event._processed) { + $event.type = detail.type || name; + return $event; + } + if (isClickEvent($event, name)) { + const {top} = getWindowOffset(); + detail = { + x: $event.x, + y: $event.y - top + }; + normalizeClickEvent($event); + } + const ret = { + _processed: true, + type: detail.type || name, + timeStamp: $event.timeStamp || 0, + detail, + target: normalizeTarget(target, detail), + currentTarget: normalizeTarget(currentTarget), + touches: normalizeTouchList($event.touches), + changedTouches: normalizeTouchList($event.changedTouches), + preventDefault() { + }, + stopPropagation() { + } + }; + return ret; +} +function normalizeClickEvent($event) { + $event.touches = $event.changedTouches = [ + { + force: 1, + identifier: 0, + clientX: $event.clientX, + clientY: $event.clientY, + pageX: $event.pageX, + pageY: $event.pageY + } + ]; +} +function isClickEvent(val, name) { + return name === "click"; +} +function normalizeTarget(target, detail) { + if (!target) { + target = {}; + } + const res = { + id: target.id, + offsetLeft: target.offsetLeft, + offsetTop: target.offsetTop, + dataset: normalizeDataset(target.dataset) + }; + if (detail) { + extend(res, detail); + } + return res; +} +function normalizeTouchList(touches) { + if (touches && touches instanceof TouchList) { + const res = []; + const {top} = getWindowOffset(); + for (let i = 0; i < touches.length; i++) { + const touch = touches[i]; + res.push({ + identifier: touch.identifier, + pageX: touch.pageX, + pageY: touch.pageY - top, + clientX: touch.clientX, + clientY: touch.clientY - top, + force: touch.force || 0 + }); + } + return res; + } + return []; +} +function $trigger(name, $event, detail) { + const target = this.$el; + this.$emit(name, normalizeEvent(name, $event, detail, target, target)); +} +function $handleEvent($event) { + if ($event instanceof Event) { + const target = findUniTarget($event, this.$el); + return normalizeEvent($event.type, $event, {}, target || $event.target, $event.currentTarget); + } + return $event; +} +function $getRealPath(v2) { + return v2; +} +var instance = /* @__PURE__ */ Object.freeze({ + __proto__: null, + [Symbol.toStringTag]: "Module", + $trigger, + $handleEvent, + $getRealPath +}); +const CLASS_RE = /^\s+|\s+$/g; +const WXS_CLASS_RE = /\s+/; +function getWxsClsArr(clsArr, classList, isAdd) { + const wxsClsArr = []; + let checkClassList = function(cls) { + if (isAdd) { + checkClassList = function(cls2) { + return !classList.contains(cls2); + }; + } else { + checkClassList = function(cls2) { + return classList.contains(cls2); + }; + } + return checkClassList(cls); + }; + clsArr.forEach((cls) => { + cls = cls.replace(CLASS_RE, ""); + checkClassList(cls) && wxsClsArr.push(cls); + }); + return wxsClsArr; +} +function parseStyleText(cssText) { + const res = {}; + const listDelimiter = /;(?![^(]*\))/g; + const propertyDelimiter = /:(.+)/; + cssText.split(listDelimiter).forEach(function(item) { + if (item) { + const tmp = item.split(propertyDelimiter); + tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim()); + } + }); + return res; +} +class ComponentDescriptor { + constructor(vm) { + this.$vm = vm; + this.$el = vm.$el; + } + selectComponent(selector) { + if (!this.$el || !selector) { + return; + } + const el = this.$el.querySelector(selector); + return el && el.__vue__ && createComponentDescriptor(el.__vue__, false); + } + selectAllComponents(selector) { + if (!this.$el || !selector) { + return []; + } + const descriptors = []; + const els = this.$el.querySelectorAll(selector); + for (let i = 0; i < els.length; i++) { + const el = els[i]; + el.__vue__ && descriptors.push(createComponentDescriptor(el.__vue__, false)); + } + return descriptors; + } + setStyle(style) { + if (!this.$el || !style) { + return this; + } + if (typeof style === "string") { + style = parseStyleText(style); + } + if (isPlainObject(style)) { + this.$el.__wxsStyle = style; + this.$vm.$forceUpdate(); + } + return this; + } + addClass(...clsArr) { + if (!this.$el || !clsArr.length) { + return this; + } + const wxsClsArr = getWxsClsArr(clsArr, this.$el.classList, true); + if (wxsClsArr.length) { + const wxsClass = this.$el.__wxsAddClass || ""; + this.$el.__wxsAddClass = wxsClass + (wxsClass ? " " : "") + wxsClsArr.join(" "); + this.$vm.$forceUpdate(); + } + return this; + } + removeClass(...clsArr) { + if (!this.$el || !clsArr.length) { + return this; + } + const classList = this.$el.classList; + const addWxsClsArr = this.$el.__wxsAddClass ? this.$el.__wxsAddClass.split(WXS_CLASS_RE) : []; + const wxsClsArr = getWxsClsArr(clsArr, classList, false); + if (wxsClsArr.length) { + const removeWxsClsArr = []; + wxsClsArr.forEach((cls) => { + const clsIndex = addWxsClsArr.findIndex((oldCls) => oldCls === cls); + if (clsIndex !== -1) { + addWxsClsArr.splice(clsIndex, 1); + } + removeWxsClsArr.push(cls); + }); + this.$el.__wxsRemoveClass = removeWxsClsArr; + this.$el.__wxsAddClass = addWxsClsArr.join(" "); + this.$vm.$forceUpdate(); + } + return this; + } + hasClass(cls) { + return this.$el && this.$el.classList.contains(cls); + } + getComputedStyle() { + if (this.$el) { + return window.getComputedStyle(this.$el); + } + return {}; + } + getDataset() { + return this.$el && this.$el.dataset; + } + callMethod(funcName, args = {}) { + const func = this.$vm[funcName]; + if (isFunction(func)) { + func(JSON.parse(JSON.stringify(args))); + } else if (this.$vm._$id) { + UniViewJSBridge.publishHandler("onWxsInvokeCallMethod", { + cid: this.$vm._$id, + method: funcName, + args + }); + } + } + requestAnimationFrame(callback) { + return window.requestAnimationFrame(callback), this; + } + getState() { + return this.$el && (this.$el.__wxsState || (this.$el.__wxsState = {})); + } + triggerEvent(eventName, detail = {}) { + return this.$vm.$emit(eventName, detail), this; + } +} +function createComponentDescriptor(vm, isOwnerInstance = true) { + if (isOwnerInstance && vm && vm.$options.name && vm.$options.name.indexOf("VUni") === 0) { + vm = vm.$parent; + } + if (vm && vm.$el) { + if (!vm.$el.__wxsComponentDescriptor) { + vm.$el.__wxsComponentDescriptor = new ComponentDescriptor(vm); + } + return vm.$el.__wxsComponentDescriptor; + } +} +function getComponentDescriptor(instance2, isOwnerInstance) { + return createComponentDescriptor(instance2 || this, isOwnerInstance); +} +function handleWxsEvent($event) { + if (!($event instanceof Event)) { + return $event; + } + const currentTarget = $event.currentTarget; + const instance2 = currentTarget && currentTarget.__vue__ && getComponentDescriptor.call(this, currentTarget.__vue__, false); + const $origEvent = $event; + $event = normalizeEvent($origEvent.type, $origEvent, {}, findUniTarget($origEvent, this.$el) || $origEvent.target, $origEvent.currentTarget); + $event.instance = instance2; + $event.preventDefault = function() { + return $origEvent.preventDefault(); + }; + $event.stopPropagation = function() { + return $origEvent.stopPropagation(); + }; +} +function initAppConfig(appConfig) { + const globalProperties = appConfig.globalProperties; + extend(globalProperties, instance); + if (__UNI_WXS_API__) { + globalProperties.getComponentDescriptor = getComponentDescriptor; + Object.defineProperty(globalProperties, "$ownerInstance", { + get() { + return this.$getComponentDescriptor(this); + } + }); + globalProperties.$handleWxsEvent = handleWxsEvent; + } +} +function initView(app) { + initLongPress(); + initAppConfig(app._context.config); +} +const ServiceJSBridge = initBridge("service"); +function querySelector(vm, selector) { + const el = vm.$el.querySelector(selector); + return el && el.__vue__; +} +function querySelectorAll(vm, selector) { + const nodeList = vm.$el.querySelectorAll(selector); + if (nodeList) { + return [...nodeList].map((node) => node.__vue__).filter(Boolean); + } + return []; +} +function createSelectorQuery() { + return uni.createSelectorQuery().in(this); +} +function createIntersectionObserver(options) { + return uni.createIntersectionObserver(this, options); +} +function selectComponent(selector) { + return querySelector(this, selector); +} +function selectAllComponents(selector) { + return querySelectorAll(this, selector); +} +var wxInstance = /* @__PURE__ */ Object.freeze({ + __proto__: null, + [Symbol.toStringTag]: "Module", + createSelectorQuery, + createIntersectionObserver, + selectComponent, + selectAllComponents +}); +function initAppConfig$1(appConfig) { + const globalProperties = appConfig.globalProperties; + if (__UNI_WX_API__) { + extend(globalProperties, wxInstance); + } +} +function initService(app) { + initAppConfig$1(app._context.config); +} +function initRouter(app) { + const history = __UNI_ROUTER_MODE__ === "history" ? createWebHistory() : createWebHashHistory(); + app.use(createRouter({ + history, + strict: !!__uniConfig.router.strict, + routes: __uniRoutes, + scrollBehavior(to, from, savedPosition) { + if (savedPosition) { + return savedPosition; + } + } + })); +} +var tabBar_vue_vue_type_style_index_0_lang = "\nuni-tabbar {\r\n display: block;\r\n box-sizing: border-box;\r\n position: fixed;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n z-index: 998;\n}\nuni-tabbar .uni-tabbar {\r\n display: flex;\r\n position: fixed;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n z-index: 998;\r\n box-sizing: border-box;\r\n padding-bottom: 0;\r\n padding-bottom: constant(safe-area-inset-bottom);\r\n padding-bottom: env(safe-area-inset-bottom);\n}\nuni-tabbar .uni-tabbar ~ .uni-placeholder {\r\n width: 100%;\r\n height: 50px;\r\n margin-bottom: 0;\r\n margin-bottom: constant(safe-area-inset-bottom);\r\n margin-bottom: env(safe-area-inset-bottom);\n}\nuni-tabbar .uni-tabbar * {\r\n box-sizing: border-box;\n}\nuni-tabbar .uni-tabbar__item {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-direction: column;\r\n flex: 1;\r\n font-size: 0;\r\n text-align: center;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nuni-tabbar .uni-tabbar__bd {\r\n position: relative;\r\n height: 50px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\n}\nuni-tabbar .uni-tabbar__icon {\r\n position: relative;\r\n display: inline-block;\r\n margin-top: 5px;\r\n width: 24px;\r\n height: 24px;\n}\nuni-tabbar .uni-tabbar__icon.uni-tabbar__icon__diff {\r\n margin-top: 0px;\r\n width: 34px;\r\n height: 34px;\n}\nuni-tabbar .uni-tabbar__icon img {\r\n width: 100%;\r\n height: 100%;\n}\nuni-tabbar .uni-tabbar__label {\r\n position: relative;\r\n text-align: center;\r\n font-size: 10px;\r\n line-height: 1.8;\n}\nuni-tabbar .uni-tabbar-border {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n height: 1px;\r\n transform: scaleY(0.5);\n}\nuni-tabbar .uni-tabbar__reddot {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n width: 12px;\r\n height: 12px;\r\n border-radius: 50%;\r\n background-color: #f43530;\r\n color: #ffffff;\r\n transform: translate(40%, -20%);\n}\nuni-tabbar .uni-tabbar__badge {\r\n width: auto;\r\n height: 16px;\r\n line-height: 16px;\r\n border-radius: 16px;\r\n min-width: 16px;\r\n padding: 0 2px;\r\n font-size: 12px;\r\n text-align: center;\r\n white-space: nowrap;\n}\r\n"; +const _sfc_main = { + name: "TabBar", + props: { + position: { + default: "bottom", + validator(value) { + return ["bottom", "top"].indexOf(value) !== -1; + } + }, + color: { + type: String, + default: "#999" + }, + selectedColor: { + type: String, + default: "#007aff" + }, + backgroundColor: { + type: String, + default: "#f7f7fa" + }, + borderStyle: { + default: "black", + validator(value) { + return ["black", "white"].indexOf(value) !== -1; + } + }, + list: { + type: Array, + default: function() { + return []; + } + } + }, + computed: { + borderColor() { + return this.borderStyle === "white" ? "rgba(255, 255, 255, 0.33)" : "rgba(0, 0, 0, 0.33)"; + } + }, + watch: { + $route(to, from) { + if (to.meta.isTabBar) { + this.__path__ = to.path; + } + } + }, + beforeCreate() { + this.__path__ = this.$route.path; + }, + methods: { + _getRealPath(filePath) { + if (filePath.indexOf("/") !== 0) { + filePath = "/" + filePath; + } + return this.$getRealPath(filePath); + }, + _switchTab({ + text: text2, + pagePath + }, index2) { + let url = "/" + pagePath; + if (url === __uniRoutes[0].alias) { + url = "/"; + } + const detail = { + index: index2, + text: text2, + pagePath + }; + if (this.$route.path !== url) { + this.__path__ = this.$route.path; + uni.switchTab({ + from: "tabBar", + url, + detail + }); + } else { + UniServiceJSBridge.emit("onTabItemTap", detail); + } + } + } +}; +const _hoisted_1 = {class: "uni-tabbar__bd"}; +const _hoisted_2 = /* @__PURE__ */ createVNode("div", {class: "uni-placeholder"}, null, -1); +function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-tabbar", null, [ + createVNode("div", { + style: {backgroundColor: $props.backgroundColor}, + class: "uni-tabbar" + }, [ + createVNode("div", { + style: {backgroundColor: $options.borderColor}, + class: "uni-tabbar-border" + }, null, 4), + (openBlock(true), createBlock(Fragment, null, renderList($props.list, (item, index2) => { + return openBlock(), createBlock("div", { + key: item.pagePath, + class: "uni-tabbar__item", + onClick: ($event) => $options._switchTab(item, index2) + }, [ + createVNode("div", _hoisted_1, [ + item.iconPath ? (openBlock(), createBlock("div", { + key: 0, + class: [{"uni-tabbar__icon__diff": !item.text}, "uni-tabbar__icon"] + }, [ + createVNode("img", { + src: $options._getRealPath(_ctx.$route.meta.pagePath === item.pagePath ? item.selectedIconPath : item.iconPath) + }, null, 8, ["src"]), + item.redDot ? (openBlock(), createBlock("div", { + key: 0, + class: [{"uni-tabbar__badge": !!item.badge}, "uni-tabbar__reddot"] + }, toDisplayString(item.badge), 3)) : createCommentVNode("", true) + ], 2)) : createCommentVNode("", true), + item.text ? (openBlock(), createBlock("div", { + key: 1, + style: {color: _ctx.$route.meta.pagePath === item.pagePath ? $props.selectedColor : $props.color, fontSize: item.iconPath ? "10px" : "14px"}, + class: "uni-tabbar__label" + }, [ + createTextVNode(toDisplayString(item.text) + " ", 1), + item.redDot && !item.iconPath ? (openBlock(), createBlock("div", { + key: 0, + class: [{"uni-tabbar__badge": !!item.badge}, "uni-tabbar__reddot"] + }, toDisplayString(item.badge), 3)) : createCommentVNode("", true) + ], 4)) : createCommentVNode("", true) + ]) + ], 8, ["onClick"]); + }), 128)) + ], 4), + _hoisted_2 + ]); +} +_sfc_main.render = _sfc_render; +var Transtion = { + methods: { + beforeTransition() { + }, + afterTransition() { + } + } +}; +var toast_vue_vue_type_style_index_0_lang = "\nuni-toast {\r\n position: fixed;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 999;\r\n display: block;\r\n box-sizing: border-box;\r\n pointer-events: none;\n}\nuni-toast .uni-sample-toast {\r\n position: fixed;\r\n z-index: 999;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n text-align: center;\r\n max-width: 80%;\n}\nuni-toast .uni-simple-toast__text {\r\n display: inline-block;\r\n vertical-align: middle;\r\n color: #ffffff;\r\n background-color: rgba(17, 17, 17, 0.7);\r\n padding: 10px 20px;\r\n border-radius: 5px;\r\n font-size: 13px;\r\n text-align: center;\r\n max-width: 100%;\r\n word-break: break-all;\r\n white-space: normal;\n}\nuni-toast .uni-mask {\r\n pointer-events: auto;\n}\nuni-toast .uni-toast {\r\n position: fixed;\r\n z-index: 999;\r\n width: 8em;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n background: rgba(17, 17, 17, 0.7);\r\n text-align: center;\r\n border-radius: 5px;\r\n color: #ffffff;\n}\nuni-toast .uni-toast * {\r\n box-sizing: border-box;\n}\nuni-toast .uni-toast__icon {\r\n margin: 20px 0 0;\r\n width: 38px;\r\n height: 38px;\r\n vertical-align: baseline;\n}\nuni-toast .uni-icon_toast {\r\n margin: 15px 0 0;\n}\nuni-toast .uni-icon_toast.uni-icon-success-no-circle:before {\r\n color: #ffffff;\r\n font-size: 55px;\n}\nuni-toast .uni-icon_toast.uni-loading {\r\n margin: 20px 0 0;\r\n width: 38px;\r\n height: 38px;\r\n vertical-align: baseline;\n}\nuni-toast .uni-toast__content {\r\n margin: 0 0 15px;\n}\r\n"; +const _sfc_main$1 = { + name: "Toast", + mixins: [Transtion], + props: { + title: { + type: String, + default: "" + }, + icon: { + default: "success", + validator(value) { + return ["success", "loading", "none"].indexOf(value) !== -1; + } + }, + image: { + type: String, + default: "" + }, + duration: { + type: Number, + default: 1500 + }, + mask: { + type: Boolean, + default: false + }, + visible: { + type: Boolean, + default: false + } + }, + computed: { + iconClass() { + if (this.icon === "success") { + return "uni-icon-success-no-circle"; + } + if (this.icon === "loading") { + return "uni-loading"; + } + return ""; + } + }, + beforeUpdate() { + if (this.visible) { + this.timeoutId && clearTimeout(this.timeoutId); + this.timeoutId = setTimeout(() => { + UniServiceJSBridge.emit("onHideToast"); + }, this.duration); + } + } +}; +const _hoisted_1$1 = { + key: 1, + class: "uni-sample-toast" +}; +const _hoisted_2$1 = {class: "uni-simple-toast__text"}; +const _hoisted_3 = { + key: 2, + class: "uni-toast" +}; +const _hoisted_4 = {class: "uni-toast__content"}; +function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock(Transition, {name: "uni-fade"}, { + default: withCtx(() => [ + $props.visible ? (openBlock(), createBlock("uni-toast", { + key: 0, + "data-duration": $props.duration + }, [ + $props.mask ? (openBlock(), createBlock("div", { + key: 0, + class: "uni-mask", + style: {background: "transparent"}, + onTouchmovePassive: _cache[1] || (_cache[1] = withModifiers(() => { + }, ["prevent"])) + }, null, 32)) : createCommentVNode("", true), + !$props.image && !$options.iconClass ? (openBlock(), createBlock("div", _hoisted_1$1, [ + createVNode("p", _hoisted_2$1, toDisplayString($props.title), 1) + ])) : (openBlock(), createBlock("div", _hoisted_3, [ + $props.image ? (openBlock(), createBlock("img", { + key: 0, + src: $props.image, + class: "uni-toast__icon" + }, null, 8, ["src"])) : (openBlock(), createBlock("i", { + key: 1, + class: [$options.iconClass, "uni-icon_toast"] + }, null, 2)), + createVNode("p", _hoisted_4, toDisplayString($props.title), 1) + ])) + ], 8, ["data-duration"])) : createCommentVNode("", true) + ]), + _: 1 + }); +} +_sfc_main$1.render = _sfc_render$1; +var modal_vue_vue_type_style_index_0_lang = '\nuni-modal {\r\n position: fixed;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 999;\r\n display: block;\r\n box-sizing: border-box;\n}\nuni-modal .uni-modal {\r\n position: fixed;\r\n z-index: 999;\r\n width: 80%;\r\n max-width: 300px;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n background-color: #ffffff;\r\n text-align: center;\r\n border-radius: 3px;\r\n overflow: hidden;\n}\nuni-modal .uni-modal * {\r\n box-sizing: border-box;\n}\nuni-modal .uni-modal__hd {\r\n padding: 1em 1.6em 0.3em;\n}\nuni-modal .uni-modal__title {\r\n font-weight: 400;\r\n font-size: 18px;\r\n word-wrap:break-word;\r\n word-break:break-all;\r\n white-space: pre-wrap;\r\n overflow : hidden;\r\n text-overflow: ellipsis;\r\n display: -webkit-box;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical;\n}\nuni-modal .uni-modal__bd {\r\n padding: 1.3em 1.6em 1.3em;\r\n min-height: 40px;\r\n font-size: 15px;\r\n line-height: 1.4;\r\n word-wrap: break-word;\r\n word-break: break-all;\r\n white-space: pre-wrap;\r\n color: #999999;\r\n max-height: 400px;\r\n overflow-y: auto;\n}\nuni-modal .uni-modal__ft {\r\n position: relative;\r\n line-height: 48px;\r\n font-size: 18px;\r\n display: flex;\n}\nuni-modal .uni-modal__ft:after {\r\n content: " ";\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n right: 0;\r\n height: 1px;\r\n border-top: 1px solid #d5d5d6;\r\n color: #d5d5d6;\r\n transform-origin: 0 0;\r\n transform: scaleY(0.5);\n}\nuni-modal .uni-modal__btn {\r\n display: block;\r\n flex: 1;\r\n color: #3cc51f;\r\n text-decoration: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n position: relative;\n}\nuni-modal .uni-modal__btn:active {\r\n background-color: #eeeeee;\n}\nuni-modal .uni-modal__btn:after {\r\n content: " ";\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n width: 1px;\r\n bottom: 0;\r\n border-left: 1px solid #d5d5d6;\r\n color: #d5d5d6;\r\n transform-origin: 0 0;\r\n transform: scaleX(0.5);\n}\nuni-modal .uni-modal__btn:first-child:after {\r\n display: none;\n}\nuni-modal .uni-modal__btn_default {\r\n color: #353535;\n}\nuni-modal .uni-modal__btn_primary {\r\n color: #007aff;\n}\r\n'; +const _sfc_main$2 = { + name: "Modal", + mixins: [Transtion], + props: { + title: { + type: String, + default: "" + }, + content: { + type: String, + default: "" + }, + showCancel: { + type: Boolean, + default: true + }, + cancelText: { + type: String, + default: "\u53D6\u6D88" + }, + cancelColor: { + type: String, + default: "#000000" + }, + confirmText: { + type: String, + default: "\u786E\u5B9A" + }, + confirmColor: { + type: String, + default: "#007aff" + }, + visible: { + type: Boolean, + default: false + } + }, + methods: { + _close(type) { + this.$emit("close", type); + } + } +}; +const _hoisted_1$2 = /* @__PURE__ */ createVNode("div", {class: "uni-mask"}, null, -1); +const _hoisted_2$2 = {class: "uni-modal"}; +const _hoisted_3$1 = { + key: 0, + class: "uni-modal__hd" +}; +const _hoisted_4$1 = {class: "uni-modal__ft"}; +function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock(Transition, {name: "uni-fade"}, { + default: withCtx(() => [ + withDirectives(createVNode("uni-modal", { + onTouchmovePassive: _cache[4] || (_cache[4] = withModifiers(() => { + }, ["prevent"])) + }, [ + _hoisted_1$2, + createVNode("div", _hoisted_2$2, [ + $props.title ? (openBlock(), createBlock("div", _hoisted_3$1, [ + createVNode("strong", { + class: "uni-modal__title", + textContent: toDisplayString($props.title) + }, null, 8, ["textContent"]) + ])) : createCommentVNode("", true), + createVNode("div", { + class: "uni-modal__bd", + onTouchmovePassive: _cache[1] || (_cache[1] = withModifiers(() => { + }, ["stop"])), + textContent: toDisplayString($props.content) + }, null, 40, ["textContent"]), + createVNode("div", _hoisted_4$1, [ + $props.showCancel ? (openBlock(), createBlock("div", { + key: 0, + style: {color: $props.cancelColor}, + class: "uni-modal__btn uni-modal__btn_default", + onClick: _cache[2] || (_cache[2] = ($event) => $options._close("cancel")) + }, toDisplayString($props.cancelText), 5)) : createCommentVNode("", true), + createVNode("div", { + style: {color: $props.confirmColor}, + class: "uni-modal__btn uni-modal__btn_primary", + onClick: _cache[3] || (_cache[3] = ($event) => $options._close("confirm")) + }, toDisplayString($props.confirmText), 5) + ]) + ]) + ], 544), [ + [vShow, $props.visible] + ]) + ]), + _: 1 + }); +} +_sfc_main$2.render = _sfc_render$2; +var actionSheet_vue_vue_type_style_index_0_lang = '\nuni-actionsheet {\r\n display: block;\r\n box-sizing: border-box;\n}\nuni-actionsheet .uni-actionsheet {\r\n position: fixed;\r\n left: 0;\r\n bottom: 0;\r\n transform: translate(0, 100%);\r\n backface-visibility: hidden;\r\n z-index: 999;\r\n width: 100%;\r\n background-color: #efeff4;\r\n visibility: hidden;\r\n transition: transform 0.3s, visibility 0.3s;\n}\nuni-actionsheet .uni-actionsheet.uni-actionsheet_toggle {\r\n visibility: visible;\r\n transform: translate(0, 0);\n}\nuni-actionsheet .uni-actionsheet * {\r\n box-sizing: border-box;\n}\nuni-actionsheet .uni-actionsheet__menu {\r\n background-color: #fcfcfd;\n}\nuni-actionsheet .uni-actionsheet__action {\r\n margin-top: 6px;\r\n background-color: #fcfcfd;\n}\nuni-actionsheet .uni-actionsheet__cell ,\r\n uni-actionsheet .uni-actionsheet__title {\r\n position: relative;\r\n padding: 10px 0;\r\n text-align: center;\r\n font-size: 18px;\n}\nuni-actionsheet .uni-actionsheet__cell:before {\r\n content: " ";\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n right: 0;\r\n height: 1px;\r\n border-top: 1px solid #e5e5e5;\r\n color: #e5e5e5;\r\n transform-origin: 0 0;\r\n transform: scaleY(0.5);\n}\nuni-actionsheet .uni-actionsheet__cell:active {\r\n background-color: #ececec;\n}\nuni-actionsheet .uni-actionsheet__cell:first-child:before {\r\n display: none;\n}\r\n'; +const _sfc_main$3 = { + name: "ActionSheet", + props: { + title: { + type: String, + default: "" + }, + itemList: { + type: Array, + default() { + return []; + } + }, + itemColor: { + type: String, + default: "#000000" + }, + visible: { + type: Boolean, + default: false + } + }, + methods: { + _close(tapIndex) { + this.$emit("close", tapIndex); + } + } +}; +const _hoisted_1$3 = {class: "uni-actionsheet__menu"}; +const _hoisted_2$3 = { + key: 0, + class: "uni-actionsheet__title" +}; +const _hoisted_3$2 = {class: "uni-actionsheet__action"}; +function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-actionsheet", { + onTouchmovePassive: _cache[3] || (_cache[3] = withModifiers(() => { + }, ["prevent"])) + }, [ + createVNode(Transition, {name: "uni-fade"}, { + default: withCtx(() => [ + withDirectives(createVNode("div", { + class: "uni-mask", + onClick: _cache[1] || (_cache[1] = ($event) => $options._close(-1)) + }, null, 512), [ + [vShow, $props.visible] + ]) + ]), + _: 1 + }), + createVNode("div", { + class: [{"uni-actionsheet_toggle": $props.visible}, "uni-actionsheet"] + }, [ + createVNode("div", _hoisted_1$3, [ + $props.title ? (openBlock(), createBlock("div", _hoisted_2$3, toDisplayString($props.title), 1)) : createCommentVNode("", true), + (openBlock(true), createBlock(Fragment, null, renderList($props.itemList, (itemTitle, index2) => { + return openBlock(), createBlock("div", { + key: index2, + style: {color: $props.itemColor}, + class: "uni-actionsheet__cell", + onClick: ($event) => $options._close(index2) + }, toDisplayString(itemTitle), 13, ["onClick"]); + }), 128)) + ]), + createVNode("div", _hoisted_3$2, [ + createVNode("div", { + style: {color: $props.itemColor}, + class: "uni-actionsheet__cell", + onClick: _cache[2] || (_cache[2] = ($event) => $options._close(-1)) + }, " \u53D6\u6D88 ", 4) + ]) + ], 2) + ], 32); +} +_sfc_main$3.render = _sfc_render$3; +var Components = { + Toast: _sfc_main$1, + Modal: _sfc_main$2, + ActionSheet: _sfc_main$3 +}; +var components = __assign({ + TabBar: _sfc_main +}, Components); +var ActionSheet = { + data() { + return { + showActionSheet: { + visible: false + } + }; + }, + created() { + UniServiceJSBridge.on("onShowActionSheet", (args, callback) => { + this.showActionSheet = args; + this.onActionSheetCloseCallback = callback; + }); + UniServiceJSBridge.on("onHidePopup", (args) => { + this.showActionSheet.visible = false; + }); + }, + methods: { + _onActionSheetClose(type) { + this.showActionSheet.visible = false; + isFunction(this.onActionSheetCloseCallback) && this.onActionSheetCloseCallback(type); + } + } +}; +var Modal = { + data() { + return { + showModal: { + visible: false + } + }; + }, + created() { + UniServiceJSBridge.on("onShowModal", (args, callback) => { + this.showModal = args; + this.onModalCloseCallback = callback; + }); + UniServiceJSBridge.on("onHidePopup", (args) => { + this.showModal.visible = false; + }); + }, + methods: { + _onModalClose(type) { + this.showModal.visible = false; + isFunction(this.onModalCloseCallback) && this.onModalCloseCallback(type); + } + } +}; +var Toast = { + data() { + return { + showToast: { + visible: false + } + }; + }, + created() { + let showType = ""; + const createOnShow = (type) => { + return (args) => { + showType = type; + setTimeout(() => { + this.showToast = args; + }, 10); + }; + }; + UniServiceJSBridge.on("onShowToast", createOnShow("onShowToast")); + UniServiceJSBridge.on("onShowLoading", createOnShow("onShowLoading")); + const createOnHide = (type) => { + return () => { + if (!showType) { + return; + } + let warnMsg = ""; + if (type === "onHideToast" && showType !== "onShowToast") { + warnMsg = "\u8BF7\u6CE8\u610F showToast \u4E0E hideToast \u5FC5\u987B\u914D\u5BF9\u4F7F\u7528"; + } else if (type === "onHideLoading" && showType !== "onShowLoading") { + warnMsg = "\u8BF7\u6CE8\u610F showLoading \u4E0E hideLoading \u5FC5\u987B\u914D\u5BF9\u4F7F\u7528"; + } + if (warnMsg) { + return console.warn(warnMsg); + } + showType = ""; + setTimeout(() => { + this.showToast.visible = false; + }, 10); + }; + }; + UniServiceJSBridge.on("onHidePopup", createOnHide("onHidePopup")); + UniServiceJSBridge.on("onHideToast", createOnHide("onHideToast")); + UniServiceJSBridge.on("onHideLoading", createOnHide("onHideLoading")); + } +}; +var mixins = [ActionSheet, Modal, Toast, Transtion]; +var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +var lookup = new Uint8Array(256); +for (var i = 0; i < chars.length; i++) { + lookup[chars.charCodeAt(i)] = i; +} +function encode(arraybuffer) { + var bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = ""; + for (i = 0; i < len; i += 3) { + base64 += chars[bytes[i] >> 2]; + base64 += chars[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4]; + base64 += chars[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6]; + base64 += chars[bytes[i + 2] & 63]; + } + if (len % 3 === 2) { + base64 = base64.substring(0, base64.length - 1) + "="; + } else if (len % 3 === 1) { + base64 = base64.substring(0, base64.length - 2) + "=="; + } + return base64; +} +function decode(base64) { + var bufferLength = base64.length * 0.75, len = base64.length, i, p2 = 0, encoded1, encoded2, encoded3, encoded4; + if (base64[base64.length - 1] === "=") { + bufferLength--; + if (base64[base64.length - 2] === "=") { + bufferLength--; + } + } + var arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer); + for (i = 0; i < len; i += 4) { + encoded1 = lookup[base64.charCodeAt(i)]; + encoded2 = lookup[base64.charCodeAt(i + 1)]; + encoded3 = lookup[base64.charCodeAt(i + 2)]; + encoded4 = lookup[base64.charCodeAt(i + 3)]; + bytes[p2++] = encoded1 << 2 | encoded2 >> 4; + bytes[p2++] = (encoded2 & 15) << 4 | encoded3 >> 2; + bytes[p2++] = (encoded3 & 3) << 6 | encoded4 & 63; + } + return arraybuffer; +} +const API_TYPE_SYNC = 1; +const API_TYPE_ASYNC = 2; +const API_TYPE_RETURN = 3; +function validateProtocol(_name, _args, _protocol) { + return true; +} +function formatApiArgs(args, options) { + if (!options) { + return args; + } +} +function createApi({type, name, options}, fn, protocol) { + return function(...args) { + if (type === API_TYPE_SYNC) { + if (!(protocol && !validateProtocol())) { + return fn.apply(null, formatApiArgs(args, options)); + } + } + }; +} +const Base64ToArrayBufferProtocol = [ + { + name: "base64", + type: String, + required: true + } +]; +const ArrayBufferToBase64Protocol = [ + { + name: "arrayBuffer", + type: [ArrayBuffer, Uint8Array], + required: true + } +]; +const base64ToArrayBuffer = /* @__PURE__ */ createApi({type: API_TYPE_SYNC, name: "base64ToArrayBuffer"}, (base64) => { + return decode(base64); +}, Base64ToArrayBufferProtocol); +const arrayBufferToBase64 = /* @__PURE__ */ createApi({type: API_TYPE_SYNC, name: "arrayBufferToBase64"}, (arrayBuffer) => { + return encode(arrayBuffer); +}, ArrayBufferToBase64Protocol); +const Upx2pxProtocol = [ + { + name: "upx", + type: [Number, String], + required: true + } +]; +const EPS = 1e-4; +const BASE_DEVICE_WIDTH = 750; +let isIOS = false; +let deviceWidth = 0; +let deviceDPR = 0; +function checkDeviceWidth() { + const {platform, pixelRatio: pixelRatio2, windowWidth} = __GLOBAL__.getSystemInfoSync(); + deviceWidth = windowWidth; + deviceDPR = pixelRatio2; + isIOS = platform === "ios"; +} +const upx2px = /* @__PURE__ */ createApi({type: API_TYPE_SYNC, name: "upx2px"}, (number, newDeviceWidth) => { + if (deviceWidth === 0) { + checkDeviceWidth(); + } + number = Number(number); + if (number === 0) { + return 0; + } + let result = number / BASE_DEVICE_WIDTH * (newDeviceWidth || deviceWidth); + if (result < 0) { + result = -result; + } + result = Math.floor(result + EPS); + if (result === 0) { + if (deviceDPR === 1 || !isIOS) { + result = 1; + } else { + result = 0.5; + } + } + return number < 0 ? -result : result; +}, Upx2pxProtocol); +var HOOKS; +(function(HOOKS2) { + HOOKS2["INVOKE"] = "invoke"; + HOOKS2["SUCCESS"] = "success"; + HOOKS2["FAIL"] = "fail"; + HOOKS2["COMPLETE"] = "complete"; + HOOKS2["RETURN_VALUE"] = "returnValue"; +})(HOOKS || (HOOKS = {})); +const globalInterceptors = {}; +const scopedInterceptors = {}; +const AddInterceptorProtocol = [ + { + name: "method", + type: [String, Object], + required: true + } +]; +const RemoveInterceptorProtocol = AddInterceptorProtocol; +function mergeInterceptorHook(interceptors, interceptor) { + Object.keys(interceptor).forEach((hook) => { + if (isFunction(interceptor[hook])) { + interceptors[hook] = mergeHook(interceptors[hook], interceptor[hook]); + } + }); +} +function removeInterceptorHook(interceptors, interceptor) { + if (!interceptors || !interceptor) { + return; + } + Object.keys(interceptor).forEach((hook) => { + if (isFunction(interceptor[hook])) { + removeHook(interceptors[hook], interceptor[hook]); + } + }); +} +function mergeHook(parentVal, childVal) { + const res = childVal ? parentVal ? parentVal.concat(childVal) : isArray(childVal) ? childVal : [childVal] : parentVal; + return res ? dedupeHooks(res) : res; +} +function dedupeHooks(hooks) { + const res = []; + for (let i = 0; i < hooks.length; i++) { + if (res.indexOf(hooks[i]) === -1) { + res.push(hooks[i]); + } + } + return res; +} +function removeHook(hooks, hook) { + if (!hooks) { + return; + } + const index2 = hooks.indexOf(hook); + if (index2 !== -1) { + hooks.splice(index2, 1); + } +} +const addInterceptor = /* @__PURE__ */ createApi({type: API_TYPE_SYNC, name: "addInterceptor"}, (method, interceptor) => { + if (typeof method === "string" && isPlainObject(interceptor)) { + mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), interceptor); + } else if (isPlainObject(method)) { + mergeInterceptorHook(globalInterceptors, method); + } +}, AddInterceptorProtocol); +const removeInterceptor = /* @__PURE__ */ createApi({type: API_TYPE_SYNC, name: "removeInterceptor"}, (method, interceptor) => { + if (typeof method === "string") { + if (isPlainObject(interceptor)) { + removeInterceptorHook(scopedInterceptors[method], interceptor); + } else { + delete scopedInterceptors[method]; + } + } else if (isPlainObject(method)) { + removeInterceptorHook(globalInterceptors, method); + } +}, RemoveInterceptorProtocol); +const promiseInterceptor = { + returnValue(res) { + if (!isPromise(res)) { + return res; + } + return res.then((res2) => { + return res2[1]; + }).catch((res2) => { + return res2[0]; + }); + } +}; +function getCurrentPageVm() { + const pages = getCurrentPages(); + const len = pages.length; + const page = pages[len - 1]; + return page && page.$vm; +} +const defaultOptions = { + thresholds: [0], + initialRatio: 0, + observeAll: false +}; +let reqComponentObserverId = 1; +const reqComponentObserverCallbacks = {}; +ServiceJSBridge.subscribe("requestComponentObserver", ({reqId, reqEnd, res}) => { + const callback = reqComponentObserverCallbacks[reqId]; + if (callback) { + if (reqEnd) { + return delete reqComponentObserverCallbacks[reqId]; + } + callback(res); + } +}); +class ServiceIntersectionObserver { + constructor(component, options) { + this._pageId = component.$page.id; + this._component = component._$id || component; + this._options = extend({}, defaultOptions, options || {}); + this._relativeInfo = []; + } + relativeTo(selector, margins) { + if (this._reqId) { + throw new Error('Relative nodes cannot be added after "observe" call in IntersectionObserver'); + } + this._relativeInfo.push({ + selector, + margins + }); + return this; + } + relativeToViewport(margins) { + return this.relativeTo(null, margins); + } + observe(selector, callback) { + if (typeof callback !== "function") { + return; + } + if (this._reqId) { + throw new Error('"observe" call can be only called once in IntersectionObserver'); + } + this._reqId = reqComponentObserverId++; + reqComponentObserverCallbacks[this._reqId] = callback; + UniServiceJSBridge.publishHandler("addIntersectionObserver", { + selector, + reqId: this._reqId, + component: this._component, + options: this._options, + relativeInfo: this._relativeInfo + }, this._pageId); + } + disconnect() { + UniServiceJSBridge.publishHandler("removeIntersectionObserver", { + reqId: this._reqId + }, this._pageId); + } +} +const createIntersectionObserver$1 = /* @__PURE__ */ createApi({type: API_TYPE_RETURN}, (context, options) => { + if (!context) { + context = getCurrentPageVm(); + } + return new ServiceIntersectionObserver(context, options); +}); +const createSelectorQuery$1 = () => { +}; +const CanIUseProtocol = [ + { + name: "schema", + type: String, + required: true + } +]; +const MakePhoneCallProtocol = { + phoneNumber: { + type: String, + required: true, + validator(phoneNumber) { + if (!phoneNumber) { + return "makePhoneCall:fail parameter error: parameter.phoneNumber should not be empty String;"; + } + } + } +}; +const OpenDocumentProtocol = { + filePath: { + type: String, + required: true + }, + fileType: { + type: String + } +}; +const GetImageInfoOptions = { + formatArgs: { + src(src, params) { + params.src = uni.getRealPath(src); + } + } +}; +const GetImageInfoProtocol = { + src: { + type: String, + required: true + } +}; +if (!Promise.prototype.finally) { + Promise.prototype.finally = function(onfinally) { + const promise = this.constructor; + return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => { + throw reason; + })); + }; +} +function cssSupports(css) { + return window.CSS && window.CSS.supports && window.CSS.supports(css); +} +const SCHEMA_CSS = { + "css.var": cssSupports("--a:0"), + "css.env": cssSupports("top:env(a)"), + "css.constant": cssSupports("top:constant(a)") +}; +const canIUse = /* @__PURE__ */ createApi({type: API_TYPE_SYNC, name: "canIUse"}, (schema) => { + if (hasOwn(SCHEMA_CSS, schema)) { + return SCHEMA_CSS[schema]; + } + return true; +}, CanIUseProtocol); +const makePhoneCall = /* @__PURE__ */ createApi({type: API_TYPE_ASYNC, name: "makePhoneCall"}, (option) => { + window.location.href = `tel:${option.phoneNumber}`; +}, MakePhoneCallProtocol); +const ua = navigator.userAgent; +const isAndroid = /android/i.test(ua); +const isIOS$1 = /iphone|ipad|ipod/i.test(ua); +const getSystemInfoSync = /* @__PURE__ */ createApi({type: API_TYPE_SYNC}, () => { + var screen = window.screen; + var pixelRatio2 = window.devicePixelRatio; + const screenFix = /^Apple/.test(navigator.vendor) && typeof window.orientation === "number"; + const landscape = screenFix && Math.abs(window.orientation) === 90; + var screenWidth = screenFix ? Math[landscape ? "max" : "min"](screen.width, screen.height) : screen.width; + var screenHeight = screenFix ? Math[landscape ? "min" : "max"](screen.height, screen.width) : screen.height; + var windowWidth = Math.min(window.innerWidth, document.documentElement.clientWidth, screenWidth) || screenWidth; + var windowHeight = window.innerHeight; + var language = navigator.language; + var statusBarHeight = out.top; + var osname; + var osversion; + var model; + if (isIOS$1) { + osname = "iOS"; + const osversionFind = ua.match(/OS\s([\w_]+)\slike/); + if (osversionFind) { + osversion = osversionFind[1].replace(/_/g, "."); + } + const modelFind = ua.match(/\(([a-zA-Z]+);/); + if (modelFind) { + model = modelFind[1]; + } + } else if (isAndroid) { + osname = "Android"; + const osversionFind = ua.match(/Android[\s/]([\w\.]+)[;\s]/); + if (osversionFind) { + osversion = osversionFind[1]; + } + const infoFind = ua.match(/\((.+?)\)/); + const infos = infoFind ? infoFind[1].split(";") : ua.split(" "); + const otherInfo = [ + /\bAndroid\b/i, + /\bLinux\b/i, + /\bU\b/i, + /^\s?[a-z][a-z]$/i, + /^\s?[a-z][a-z]-[a-z][a-z]$/i, + /\bwv\b/i, + /\/[\d\.,]+$/, + /^\s?[\d\.,]+$/, + /\bBrowser\b/i, + /\bMobile\b/i + ]; + for (let i = 0; i < infos.length; i++) { + const info = infos[i]; + if (info.indexOf("Build") > 0) { + model = info.split("Build")[0].trim(); + break; + } + let other; + for (let o2 = 0; o2 < otherInfo.length; o2++) { + if (otherInfo[o2].test(info)) { + other = true; + break; + } + } + if (!other) { + model = info.trim(); + break; + } + } + } else { + osname = "Other"; + osversion = "0"; + } + var system = `${osname} ${osversion}`; + var platform = osname.toLocaleLowerCase(); + var safeArea = { + left: out.left, + right: windowWidth - out.right, + top: out.top, + bottom: windowHeight - out.bottom, + width: windowWidth - out.left - out.right, + height: windowHeight - out.top - out.bottom + }; + const {top: windowTop, bottom: windowBottom} = getWindowOffset(); + windowHeight -= windowTop; + windowHeight -= windowBottom; + return { + windowTop, + windowBottom, + windowWidth, + windowHeight, + pixelRatio: pixelRatio2, + screenWidth, + screenHeight, + language, + statusBarHeight, + system, + platform, + model, + safeArea, + safeAreaInsets: { + top: out.top, + right: out.right, + bottom: out.bottom, + left: out.left + } + }; +}); +const getSystemInfo = /* @__PURE__ */ createApi({type: API_TYPE_ASYNC, name: "getSystemInfo"}, () => { + return getSystemInfoSync(); +}); +const openDocument = /* @__PURE__ */ createApi({type: API_TYPE_ASYNC, name: "openDocument"}, (option) => { + window.open(option.filePath); +}, OpenDocumentProtocol); +function _getServiceAddress() { + return window.location.protocol + "//" + window.location.host; +} +const getImageInfo = /* @__PURE__ */ createApi({type: API_TYPE_ASYNC, name: "getImageInfo", options: GetImageInfoOptions}, ({src}, callback) => { + const img = new Image(); + img.onload = function() { + callback({ + errMsg: "getImageInfo:ok", + width: img.naturalWidth, + height: img.naturalHeight, + path: src.indexOf("/") === 0 ? _getServiceAddress() + src : src + }); + }; + img.onerror = function() { + callback({ + errMsg: "getImageInfo:fail" + }); + }; + img.src = src; +}, GetImageInfoProtocol); +const navigateBack = /* @__PURE__ */ createApi({type: API_TYPE_ASYNC}, () => { +}); +const navigateTo = /* @__PURE__ */ createApi({type: API_TYPE_ASYNC}, (options) => { + const router = getApp().$router; + router.push(options.url); +}); +const redirectTo = /* @__PURE__ */ createApi({type: API_TYPE_ASYNC}, () => { +}); +const reLaunch = /* @__PURE__ */ createApi({type: API_TYPE_ASYNC}, () => { +}); +const switchTab = /* @__PURE__ */ createApi({type: API_TYPE_ASYNC}, () => { +}); +const getRealPath = /* @__PURE__ */ createApi({type: API_TYPE_SYNC}, (path) => { + return path; +}); +var api = /* @__PURE__ */ Object.freeze({ + __proto__: null, + [Symbol.toStringTag]: "Module", + upx2px, + addInterceptor, + removeInterceptor, + promiseInterceptor, + arrayBufferToBase64, + base64ToArrayBuffer, + createIntersectionObserver: createIntersectionObserver$1, + createSelectorQuery: createSelectorQuery$1, + canIUse, + makePhoneCall, + getSystemInfo, + getSystemInfoSync, + openDocument, + getImageInfo, + navigateBack, + navigateTo, + redirectTo, + reLaunch, + switchTab, + getRealPath +}); +var index_vue_vue_type_style_index_0_lang = `* { + margin: 0; + -webkit-tap-highlight-color: transparent; +} +@font-face { + font-weight: normal; + font-style: normal; + font-family: "uni"; + src: url('data:application/octet-stream;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJAKEx+AAABfAAAAFZjbWFw65cFHQAAAhwAAAJQZ2x5ZvCRR/EAAASUAAAKtGhlYWQLKIN9AAAA4AAAADZoaGVhCCwD+gAAALwAAAAkaG10eEJo//8AAAHUAAAASGxvY2EYqhW6AAAEbAAAACZtYXhwASEAVQAAARgAAAAgbmFtZeNcHtgAAA9IAAAB5nBvc3T6bLhLAAARMAAAAOYAAQAAA+gAAABaA+j/////A+kAAQAAAAAAAAAAAAAAAAAAABIAAQAAAAEAACkCj3dfDzz1AAsD6AAAAADUER9XAAAAANQRH1f//wAAA+kD6gAAAAgAAgAAAAAAAAABAAAAEgBJAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQOwAZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6gHqEQPoAAAAWgPqAAAAAAABAAAAAAAAAAAAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+j//wPoAAAD6AAAAAAABQAAAAMAAAAsAAAABAAAAXQAAQAAAAAAbgADAAEAAAAsAAMACgAAAXQABABCAAAABAAEAAEAAOoR//8AAOoB//8AAAABAAQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAANwAAAAAAAAAEQAA6gEAAOoBAAAAAQAA6gIAAOoCAAAAAgAA6gMAAOoDAAAAAwAA6gQAAOoEAAAABAAA6gUAAOoFAAAABQAA6gYAAOoGAAAABgAA6gcAAOoHAAAABwAA6ggAAOoIAAAACAAA6gkAAOoJAAAACQAA6goAAOoKAAAACgAA6gsAAOoLAAAACwAA6gwAAOoMAAAADAAA6g0AAOoNAAAADQAA6g4AAOoOAAAADgAA6g8AAOoPAAAADwAA6hAAAOoQAAAAEAAA6hEAAOoRAAAAEQAAAAAARgCMANIBJgF4AcQCMgJgAqgC/ANIA6YD/gROBKAE9AVaAAAAAgAAAAADrwOtABQAKQAAASIHBgcGFBcWFxYyNzY3NjQnJicmAyInJicmNDc2NzYyFxYXFhQHBgcGAfV4Z2Q7PDw7ZGfwZmQ7PDw7ZGZ4bl5bNjc3Nlte215bNjc3NlteA608O2Rn8GdjOzw8O2Nn8GdkOzz8rzc1W17bXlw1Nzc1XF7bXls1NwAAAAACAAAAAAOzA7MAFwAtAAABIgcGBwYVFBcWFxYzMjc2NzY1NCcmJyYTBwYiLwEmNjsBETQ2OwEyFhURMzIWAe52Z2Q7PT07ZGd2fGpmOz4+O2ZpIXYOKA52Dg0XXQsHJgcLXRcNA7M+O2ZqfHZnZDs9PTtkZ3Z9aWY7Pv3wmhISmhIaARcICwsI/ukaAAMAAAAAA+UD5QAXACMALAAAASIHBgcGFRQXFhcWMzI3Njc2NTQnJicmAxQrASI1AzQ7ATIHJyImNDYyFhQGAe6Ecm9BRERBb3KEiXZxQkREQnF1aQIxAwgCQgMBIxIZGSQZGQPkREJxdomEcm9BRERBb3KEinVxQkT9HQICAWICAjEZIxkZIxkAAAAAAwAAAAADsQPkABsAKgAzAAABBgcGBwYHBjcRFBcWFxYXNjc2NzY1ESQXJicmBzMyFhUDFAYrASInAzQ2EyImNDYyFhQGAfVBQTg7LDt/IEc+bF5sbF1tPUj+2KhQQVVvNAQGDAMCJgUBCwYeDxYWHhUVA+QPEg4SDhIpCv6tj3VkST4dHT5JZHWPAVNeNRkSGPwGBP7GAgMFAToEBv5AFR8VFR8VAAAAAgAAAAADsQPkABkALgAAAQYHBgc2BREUFxYXFhc2NzY3NjURJBcmJyYTAQYvASY/ATYyHwEWNjclNjIfARYB9VVVQk+v/tFHPmxebGxdbT1I/tGvT0JVo/7VBASKAwMSAQUBcQEFAgESAgUBEQQD4xMYEhk3YP6sjnVlSD8cHD9IZXWOAVRgNxkSGP62/tkDA48EBBkCAVYCAQHlAQIQBAAAAAACAAAAAAPkA+QAFwAtAAABIgcGBwYVFBcWFxYzMjc2NzY1NCcmJyYTAQYiLwEmPwE2Mh8BFjI3ATYyHwEWAe6Ecm9BQ0NCbnODiXVxQkREQnF1kf6gAQUBowMDFgEFAYUCBQEBQwIFARUEA+NEQnF1iYNzbkJDQ0FvcoSJdXFCRP6j/qUBAagEBR4CAWYBAQENAgIVBAAAAAQAAAAAA68DrQAUACkAPwBDAAABIgcGBwYUFxYXFjI3Njc2NCcmJyYDIicmJyY0NzY3NjIXFhcWFAcGBwYTBQ4BLwEmBg8BBhYfARYyNwE+ASYiFzAfAQH1eGdkOzw8O2Rn8GZkOzw8O2RmeG5eWzY3NzZbXtteWzY3NzZbXmn+9gYSBmAGDwUDBQEGfQUQBgElBQELEBUBAQOtPDtkZ/BnYzs8PDtjZ/BnZDs8/K83NVte215cNTc3NVxe215bNTcCJt0FAQVJBQIGBAcRBoAGBQEhBQ8LBAEBAAABAAAAAAO7AzoAFwAAEy4BPwE+AR8BFjY3ATYWFycWFAcBBiInPQoGBwUHGgzLDCELAh0LHwsNCgr9uQoeCgGzCyEOCw0HCZMJAQoBvgkCCg0LHQv9sQsKAAAAAAIAAAAAA+UD5gAXACwAAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMHBi8BJicmNRM0NjsBMhYVExceAQHvhHJvQUNDQm5zg4l1cUJEREJxdVcQAwT6AwIEEAMCKwIDDsUCAQPlREJxdYmDc25CQ0NBb3KEiXVxQkT9VhwEAncCAgMGAXoCAwMC/q2FAgQAAAQAAAAAA68DrQADABgALQAzAAABMB8BAyIHBgcGFBcWFxYyNzY3NjQnJicmAyInJicmNDc2NzYyFxYXFhQHBgcGAyMVMzUjAuUBAfJ4Z2Q7PDw7ZGfwZmQ7PDw7ZGZ4bl5bNjc3Nlte215bNjc3NltemyT92QKDAQEBLDw7ZGfwZ2M7PDw7Y2fwZ2Q7PPyvNzVbXtteXDU3NzVcXtteWzU3AjH9JAAAAAMAAAAAA+QD5AAXACcAMAAAASIHBgcGFRQXFhcWMzI3Njc2NTQnJicmAzMyFhUDFAYrASImNQM0NhMiJjQ2MhYUBgHuhHJvQUNDQm5zg4l1cUJEREJxdZ42BAYMAwInAwMMBh8PFhYeFhYD40RCcXWJg3NuQkNDQW9yhIl1cUJE/vYGBf7AAgMDAgFABQb+NhYfFhYfFgAABAAAAAADwAPAAAgAEgAoAD0AAAEyNjQmIgYUFhcjFTMRIxUzNSMDIgcGBwYVFBYXFjMyNzY3NjU0Jy4BAyInJicmNDc2NzYyFxYXFhQHBgcGAfQYISEwISFRjzk5yTorhG5rPT99am+DdmhlPD4+PMyFbV5bNTc3NVte2l5bNTc3NVteAqAiLyIiLyI5Hf7EHBwCsT89a26Ed8w8Pj48ZWh2g29qffyjNzVbXtpeWzU3NzVbXtpeWzU3AAADAAAAAAOoA6gACwAgADUAAAEHJwcXBxc3FzcnNwMiBwYHBhQXFhcWMjc2NzY0JyYnJgMiJyYnJjQ3Njc2MhcWFxYUBwYHBgKOmpocmpocmpocmpq2dmZiOjs7OmJm7GZiOjs7OmJmdmtdWTQ2NjRZXdZdWTQ2NjRZXQKqmpocmpocmpocmpoBGTs6YmbsZmI6Ozs6YmbsZmI6O/zCNjRZXdZdWTQ2NjRZXdZdWTQ2AAMAAAAAA+kD6gAaAC8AMAAAAQYHBiMiJyYnJjQ3Njc2MhcWFxYVFAcGBwEHATI3Njc2NCcmJyYiBwYHBhQXFhcWMwKONUBCR21dWjU3NzVaXdpdWzU2GBcrASM5/eBXS0grKysrSEuuSkkqLCwqSUpXASMrFxg2NVtd2l1aNTc3NVpdbUdCQDX+3jkBGSsrSEuuSkkqLCwqSUquS0grKwAC//8AAAPoA+gAFAAwAAABIgcGBwYQFxYXFiA3Njc2ECcmJyYTFg4BIi8BBwYuATQ/AScmPgEWHwE3Nh4BBg8BAfSIdHFDRERDcXQBEHRxQ0REQ3F0SQoBFBsKoqgKGxMKqKIKARQbCqKoChsUAQqoA+hEQ3F0/vB0cUNERENxdAEQdHFDRP1jChsTCqiiCgEUGwqiqAobFAEKqKIKARQbCqIAAAIAAAAAA+QD5AAXADQAAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMUBiMFFxYUDwEGLwEuAT8BNh8BFhQPAQUyFh0BAe6Ecm9BQ0NCbnODiXVxQkREQnF1fwQC/pGDAQEVAwTsAgEC7AQEFAIBhAFwAgMD40RCcXWJg3NuQkNDQW9yhIl1cUJE/fYCAwuVAgQCFAQE0AIFAtEEBBQCBQGVCwMDJwAAAAUAAAAAA9QD0wAjACcANwBHAEgAAAERFAYjISImNREjIiY9ATQ2MyE1NDYzITIWHQEhMhYdARQGIyERIREHIgYVERQWOwEyNjURNCYjISIGFREUFjsBMjY1ETQmKwEDeyYb/XYbJkMJDQ0JAQYZEgEvExkBBgkNDQn9CQJc0QkNDQktCQ0NCf7sCQ0NCS0JDQ0JLQMi/TQbJiYbAswMCiwJDS4SGRkSLg0JLAoM/UwCtGsNCf5NCQ0NCQGzCQ0NCf5NCQ0NCQGzCQ0AAAAAEADGAAEAAAAAAAEABAAAAAEAAAAAAAIABwAEAAEAAAAAAAMABAALAAEAAAAAAAQABAAPAAEAAAAAAAUACwATAAEAAAAAAAYABAAeAAEAAAAAAAoAKwAiAAEAAAAAAAsAEwBNAAMAAQQJAAEACABgAAMAAQQJAAIADgBoAAMAAQQJAAMACAB2AAMAAQQJAAQACAB+AAMAAQQJAAUAFgCGAAMAAQQJAAYACACcAAMAAQQJAAoAVgCkAAMAAQQJAAsAJgD6d2V1aVJlZ3VsYXJ3ZXVpd2V1aVZlcnNpb24gMS4wd2V1aUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAHcAZQB1AGkAUgBlAGcAdQBsAGEAcgB3AGUAdQBpAHcAZQB1AGkAVgBlAHIAcwBpAG8AbgAgADEALgAwAHcAZQB1AGkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETAAZjaXJjbGUIZG93bmxvYWQEaW5mbwxzYWZlX3N1Y2Nlc3MJc2FmZV93YXJuB3N1Y2Nlc3MOc3VjY2Vzcy1jaXJjbGURc3VjY2Vzcy1uby1jaXJjbGUHd2FpdGluZw53YWl0aW5nLWNpcmNsZQR3YXJuC2luZm8tY2lyY2xlBmNhbmNlbAZzZWFyY2gFY2xlYXIEYmFjawZkZWxldGUAAAAA') format('truetype'); +} +@font-face { + font-weight: normal; + font-style: normal; + font-family: "unibtn"; + src: url('data:application/octet-stream;base64,AAEAAAALAIAAAwAwT1MvMg8SAzoAAAC8AAAAYGNtYXAAILNAAAABHAAAAGRnYXNwAAAAEAAAAYAAAAAIZ2x5ZnVT/G4AAAGIAAAEHGhlYWQOAdVuAAAFpAAAADZoaGVhB3wDzAAABdwAAAAkaG10eCIABqYAAAYAAAAALGxvY2EDqgTMAAAGLAAAABhtYXhwAA8ATQAABkQAAAAgbmFtZXBR8sQAAAZkAAAB2nBvc3QAAwAAAAAIQAAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmUAPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQASAAAAA4ACAACAAYAAQAg5gLmBuZQ//3//wAAAAAAIOYA5gTmUP/9//8AAf/jGgQaAxm6AAMAAQAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQFgAHkCwQLqABYAAAEmNDc2MhcBHgEVFAYHAQYiJyY0NwkBAWAICAcWBwE1BAQEBP7LBxYHCAgBIv7eAsUHFwcICP7cBAsFBgsE/twICAcXCAETARMAAAEBWAB5ArkC6gAXAAAJAhYUBwYiJwEuATU0NjcBNjIXFhQHMQK5/t4BIggICBUI/swFAwMFATQIFQgICALF/u3+7QgXBwgIASQECwYFCwQBJAgIBxcHAAACANAAaQO6Aw0AHAA2AAAlFAYjISImNRE0NjsBNSMiBhURFBYzITI2PQEjFRMnBxcHDgMPATM1PgE3PgE/AgcXNyc3A1IHBP3CBAYGBLDAERgYEQJfERcuaKQhbndKgmM9BQEvBTYtLXVABmpuIaQBAaUEBwcEAagFBjEZEf40ERkZEqWUAbysI3MBBjxffkcIBzxuKysyBAEBdCKsAgIAAgCXAF4DcwMbADEASgAAAS4BLwIuASMiBg8CDgEHBhYfAQcGFhceATMyNj8BFx4BMzI2Nz4BJzQwNSc3PgEnBTYmLwE3PgE/ARceAR8BBw4BHwEnJgYPAQNzAgoG42cDCgcGCgNk4wYKAgEDBKUlAQUFAwYEAgUDyswCBQMGCgMCAQEoowUDAv38AQMEjcIFCQJWWAIJBcOMBAMBIq4FCwSuAhQGCAEfzQYGBgbOIwEIBgYMBJ/iBgwEAgICAWxqAQEGBgMJAwEB3qEFDAa2BgoEiB0BBgWxsAUGARuJBAsFwVoDAQJcAAIAvwB1A1ADEQAhAD4AAAEiBh0BFAYjISImPQE0JiMiBh0BHgEzITI2PQE0JicuASM3AS4BIyIGBwEGFBceATMyNjcBNjIXARYyNz4BJwL3Cg4LB/51CAsOCgkPASYbAYwbJwQDAwkFWf7mChgNDRgJ/uYGBwMJBQQIBAEZBRAFARoHEwcGAQYBsA4J4gcLCwfiCQ4OCeIbJycb4gQJAwQDNAEaCgkJCf7lBxMGBAMDAwEZBQX+5wYHBhMHAAAAAAMA3AF2AzEB+gALABcAJAAAATI2NTQmIyIGFRQWITI2NTQmIyIGFRQWITI2NTQmIyIGFRQWMwEeHCcnHBsnJwEDHCcnHBsnJwEEGycnGxwnJxwBdicbGycnGxsnJxsbJycbGycnGxsnJxsbJwAAAAABAOwAnQMUAs4AJQAAATc2NCcmIg8BJyYiBwYUHwEHBhQXHgEzMjY/ARceATMyNjc2NCcCKOwJCQgYCOzqCBgICQnq7AkJBAoGBQsE7OwECwUGCgQJCQG76gkXCQgI6+sICAgYCOvrCBgIBAQEBOvtBQQFBAgXCQABAAAAAQAA3hDrLV8PPPUACwQAAAAAANWUyKsAAAAA1ZTIqwAAAAADugMbAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAO6AAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWAEAAFYBAAA0AQAAJcEAAC/BAAA3AQAAOwAAAAAAAoAFAAeAEoAdgDGAToBmgHSAg4AAQAAAAsASwADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAA4AAAABAAAAAAACAAcAnwABAAAAAAADAA4ASwABAAAAAAAEAA4AtAABAAAAAAAFAAsAKgABAAAAAAAGAA4AdQABAAAAAAAKABoA3gADAAEECQABABwADgADAAEECQACAA4ApgADAAEECQADABwAWQADAAEECQAEABwAwgADAAEECQAFABYANQADAAEECQAGABwAgwADAAEECQAKADQA+HN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdFZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdHN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdFJlZ3VsYXIAUgBlAGcAdQBsAGEAcnN0cmVhbWljb25mb250AHMAdAByAGUAYQBtAGkAYwBvAG4AZgBvAG4AdEZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=') format('truetype') +} +html, +body { + -webkit-user-select: none; + user-select: none; + width: 100%; + height: 100%; +} +body { + overflow-x: hidden; +} +[class^="uni-icon-"], +[class*=" uni-icon-"] { + display: inline-block; + vertical-align: middle; + font: normal normal normal 14px/1 "uni"; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; +} +[class^="uni-btn-icon"], +[class*=" uni-btn-icon"] { + display: inline-block; + font: normal normal normal 14px/1 "unibtn"; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; +} +[class^="uni-btn-icon"]:before, +[class*=" uni-btn-icon"]:before { + margin: 0; + box-sizing: border-box; +} +.uni-icon-success-no-circle:before { + content: "\\EA08"; +} +.uni-loading, +uni-button[loading]:before { + background: transparent url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=") no-repeat; +} +.uni-loading { + width: 20px; + height: 20px; + display: inline-block; + vertical-align: middle; + animation: uni-loading 1s steps(12, end) infinite; + background-size: 100%; +} +@keyframes uni-loading { +0% { + transform: rotate3d(0, 0, 1, 0deg); +} +100% { + transform: rotate3d(0, 0, 1, 360deg); +} +} +.uni-mask { + position: fixed; + z-index: 999; + top: 0; + right: 0; + left: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.6); +} +.uni-fade-enter-active, +.uni-fade-leave-active { + transition-duration: 0.25s; + transition-property: opacity; + transition-timing-function: ease; +} +.uni-fade-enter, +.uni-fade-leave-active { + opacity: 0 +} +[nvue] uni-view, +[nvue] uni-swiper-item, +[nvue] uni-scroll-view { + display: flex; + flex-shrink: 0; + flex-grow: 0; + flex-basis: auto; + align-items: stretch; + align-content: flex-start; +} +[nvue-dir-row] uni-view, +[nvue-dir-row] uni-swiper-item { + flex-direction: row; +} +[nvue-dir-column] uni-view, +[nvue-dir-column] uni-swiper-item { + flex-direction: column; +} +[nvue-dir-row-reverse] uni-view, +[nvue-dir-row-reverse] uni-swiper-item { + flex-direction: row-reverse; +} +[nvue-dir-column-reverse] uni-view, +[nvue-dir-column-reverse] uni-swiper-item { + flex-direction: column-reverse; +} +[nvue] uni-view, +[nvue] uni-image, +[nvue] uni-input, +[nvue] uni-scroll-view, +[nvue] uni-swiper, +[nvue] uni-swiper-item, +[nvue] uni-text, +[nvue] uni-textarea, +[nvue] uni-video { + position: relative; + border: 0px solid #000000; + box-sizing: border-box; +} +[nvue] uni-swiper-item { + position: absolute; +} +uni-app {\r + display: block;\r + box-sizing: border-box;\r + width: 100%;\r + height: 100%; +}\r +`; +const _sfc_main$4 = { + name: "App", + components, + mixins, + props: { + keepAliveInclude: { + type: Array, + default: function() { + return []; + } + } + }, + data() { + return { + transitionName: "fade", + hideTabBar: false, + tabBar: __uniConfig.tabBar || {}, + sysComponents: this.$sysComponents + }; + }, + computed: { + key() { + return this.$route.meta.name + "-" + this.$route.params.__id__ + "-" + (__uniConfig.reLaunch || 1); + }, + hasTabBar() { + return __uniConfig.tabBar && __uniConfig.tabBar.list && __uniConfig.tabBar.list.length; + }, + showTabBar() { + return this.$route.meta.isTabBar && !this.hideTabBar; + } + }, + watch: { + $route(newRoute, oldRoute) { + UniServiceJSBridge.emit("onHidePopup"); + }, + hideTabBar(newVal, oldVal) { + if (canIUse("css.var")) { + const windowBottomValue = !newVal ? TABBAR_HEIGHT : 0; + const envMethod = canIUse("css.env") ? "env" : canIUse("css.constant") ? "constant" : ""; + const windowBottom = windowBottomValue && envMethod ? `calc(${windowBottomValue}px + ${envMethod}(safe-area-inset-bottom))` : `${windowBottomValue}px`; + document.documentElement.style.setProperty("--window-bottom", windowBottom); + console.debug(`uni.${windowBottom ? "showTabBar" : "hideTabBar"}\uFF1A--window-bottom=${windowBottom}`); + } + window.dispatchEvent(new CustomEvent("resize")); + } + }, + created() { + if (canIUse("css.var")) { + document.documentElement.style.setProperty("--status-bar-height", "0px"); + } + }, + mounted() { + window.addEventListener("message", function(evt) { + if (isPlainObject(evt.data) && evt.data.type === "WEB_INVOKE_APPSERVICE") { + UniServiceJSBridge.emit("onWebInvokeAppService", evt.data.data, evt.data.pageId); + } + }); + document.addEventListener("visibilitychange", function() { + if (document.visibilityState === "visible") { + UniServiceJSBridge.emit("onAppEnterForeground"); + } else { + UniServiceJSBridge.emit("onAppEnterBackground"); + } + }); + } +}; +function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) { + const _component_router_view = resolveComponent("router-view"); + const _component_tab_bar = resolveComponent("tab-bar"); + const _component_toast = resolveComponent("toast"); + const _component_action_sheet = resolveComponent("action-sheet"); + const _component_modal = resolveComponent("modal"); + return openBlock(), createBlock("uni-app", { + class: {"uni-app--showtabbar": $options.showTabBar} + }, [ + createVNode(_component_router_view, {key: $options.key}, { + default: withCtx(({Component}) => [ + (openBlock(), createBlock(KeepAlive, {include: $props.keepAliveInclude}, [ + (openBlock(), createBlock(resolveDynamicComponent(Component))) + ], 1032, ["include"])) + ]), + _: 1 + }), + $options.hasTabBar ? withDirectives((openBlock(), createBlock(_component_tab_bar, mergeProps({key: 0}, $data.tabBar), null, 16)), [ + [vShow, $options.showTabBar] + ]) : createCommentVNode("", true), + _ctx.$options.components.Toast ? (openBlock(), createBlock(_component_toast, mergeProps({key: 1}, _ctx.showToast), null, 16)) : createCommentVNode("", true), + _ctx.$options.components.ActionSheet ? (openBlock(), createBlock(_component_action_sheet, mergeProps({key: 2}, _ctx.showActionSheet, {onClose: _ctx._onActionSheetClose}), null, 16, ["onClose"])) : createCommentVNode("", true), + _ctx.$options.components.Modal ? (openBlock(), createBlock(_component_modal, mergeProps({key: 3}, _ctx.showModal, {onClose: _ctx._onModalClose}), null, 16, ["onClose"])) : createCommentVNode("", true), + $data.sysComponents && $data.sysComponents.length ? (openBlock(true), createBlock(Fragment, {key: 4}, renderList($data.sysComponents, (item, index2) => { + return openBlock(), createBlock(resolveDynamicComponent(item), {key: index2}); + }), 128)) : createCommentVNode("", true) + ], 2); +} +_sfc_main$4.render = _sfc_render$4; +function initSystemComponents(app) { + _sfc_main$4.name = COMPONENT_NAME_PREFIX + _sfc_main$4.name; + app.component(_sfc_main$4.name, _sfc_main$4); +} +var index = { + install(app) { + app._context.config.isCustomElement = isCustomElement; + initApp(app); + initView(app); + initService(app); + initSystemComponents(app); + initRouter(app); + } +}; +function broadcast(componentName, eventName, ...params) { + const children = this.$children; + const len = children.length; + for (let i = 0; i < len; i++) { + const child = children[i]; + const name = child.$options.name && child.$options.name.substr(4); + if (~componentName.indexOf(name)) { + child.$emit.apply(child, [eventName].concat(params)); + return false; + } else { + if (broadcast.apply(child, [componentName, eventName].concat([params])) === false) { + return false; + } + } + } +} +var emitter = { + methods: { + $dispatch(componentName, eventName, ...params) { + if (typeof componentName === "string") { + componentName = [componentName]; + } + let parent = this.$parent || this.$root; + let name = parent.$options.name && parent.$options.name.substr(4); + while (parent && (!name || !~componentName.indexOf(name))) { + parent = parent.$parent; + if (parent) { + name = parent.$options.name && parent.$options.name.substr(4); + } + } + if (parent) { + parent.$emit.apply(parent, [eventName].concat(params)); + } + }, + $broadcast(componentName, eventName, ...params) { + if (typeof componentName === "string") { + componentName = [componentName]; + } + broadcast.apply(this, [componentName, eventName].concat(params)); + } + } +}; +var listeners = { + props: { + id: { + type: String, + default: "" + } + }, + created() { + this._addListeners(this.id); + this.$watch("id", (newId, oldId) => { + this._removeListeners(oldId, true); + this._addListeners(newId, true); + }); + }, + beforeDestroy() { + this._removeListeners(this.id); + }, + methods: { + _addListeners(id, watch) { + if (watch && !id) { + return; + } + const {listeners: listeners2} = this.$options; + if (!isPlainObject(listeners2)) { + return; + } + Object.keys(listeners2).forEach((name) => { + if (watch) { + if (name.indexOf("@") !== 0 && name.indexOf("uni-") !== 0) { + UniViewJSBridge.on(`uni-${name}-${this.$page.id}-${id}`, this[listeners2[name]]); + } + } else { + if (name.indexOf("@") === 0) { + this.$on(`uni-${name.substr(1)}`, this[listeners2[name]]); + } else if (name.indexOf("uni-") === 0) { + UniViewJSBridge.on(name, this[listeners2[name]]); + } else if (id) { + UniViewJSBridge.on(`uni-${name}-${this.$page.id}-${id}`, this[listeners2[name]]); + } + } + }); + }, + _removeListeners(id, watch) { + if (watch && !id) { + return; + } + const {listeners: listeners2} = this.$options; + if (!isPlainObject(listeners2)) { + return; + } + Object.keys(listeners2).forEach((name) => { + if (watch) { + if (name.indexOf("@") !== 0 && name.indexOf("uni-") !== 0) { + UniViewJSBridge.off(`uni-${name}-${this.$page.id}-${id}`, this[listeners2[name]]); + } + } else { + if (name.indexOf("@") === 0) { + this.$off(`uni-${name.substr(1)}`, this[listeners2[name]]); + } else if (name.indexOf("uni-") === 0) { + UniViewJSBridge.off(name, this[listeners2[name]]); + } else if (id) { + UniViewJSBridge.off(`uni-${name}-${this.$page.id}-${id}`, this[listeners2[name]]); + } + } + }); + } + } +}; +var hover = { + data() { + return { + hovering: false + }; + }, + props: { + hoverClass: { + type: String, + default: "none" + }, + hoverStopPropagation: { + type: Boolean, + default: false + }, + hoverStartTime: { + type: [Number, String], + default: 50 + }, + hoverStayTime: { + type: [Number, String], + default: 400 + } + }, + methods: { + _hoverTouchStart(evt) { + if (evt._hoverPropagationStopped) { + return; + } + if (!this.hoverClass || this.hoverClass === "none" || this.disabled) { + return; + } + if (evt.touches.length > 1) { + return; + } + if (this.hoverStopPropagation) { + evt._hoverPropagationStopped = true; + } + this._hoverTouch = true; + this._hoverStartTimer = setTimeout(() => { + this.hovering = true; + if (!this._hoverTouch) { + this._hoverReset(); + } + }, this.hoverStartTime); + }, + _hoverTouchEnd(evt) { + this._hoverTouch = false; + if (this.hovering) { + this._hoverReset(); + } + }, + _hoverReset() { + requestAnimationFrame(() => { + clearTimeout(this._hoverStayTimer); + this._hoverStayTimer = setTimeout(() => { + this.hovering = false; + }, this.hoverStayTime); + }); + }, + _hoverTouchCancel(evt) { + this._hoverTouch = false; + this.hovering = false; + clearTimeout(this._hoverStartTimer); + } + } +}; +var subscriber = { + mounted() { + this._toggleListeners("subscribe", this.id); + this.$watch("id", (newId, oldId) => { + this._toggleListeners("unsubscribe", oldId, true); + this._toggleListeners("subscribe", newId, true); + }); + }, + beforeDestroy() { + this._toggleListeners("unsubscribe", this.id); + if (this._contextId) { + this._toggleListeners("unsubscribe", this._contextId); + } + }, + methods: { + _toggleListeners(type, id, watch) { + if (watch && !id) { + return; + } + if (!isFunction(this._handleSubscribe)) { + return; + } + UniViewJSBridge[type](this.$page.id + "-" + this.$options.name.replace(/VUni([A-Z])/, "$1").toLowerCase() + "-" + id, this._handleSubscribe); + }, + _getContextInfo() { + const id = `context-${this._uid}`; + if (!this._contextId) { + this._toggleListeners("subscribe", id); + this._contextId = id; + } + return { + name: this.$options.name.replace(/VUni([A-Z])/, "$1").toLowerCase(), + id, + page: this.$page.id + }; + } + } +}; +function hideKeyboard() { + document.activeElement.blur(); +} +function iosHideKeyboard() { +} +var keyboard = { + name: "Keyboard", + props: { + cursorSpacing: { + type: [Number, String], + default: 0 + }, + showConfirmBar: { + type: [Boolean, String], + default: "auto" + }, + adjustPosition: { + type: Boolean, + default: true + } + }, + watch: { + focus(val) { + if (val && false) { + this.showSoftKeybord(); + } + } + }, + mounted() { + if (this.autoFocus || this.focus) { + this.showSoftKeybord(); + } + }, + beforeDestroy() { + this.onKeyboardHide(); + }, + methods: { + initKeyboard(el) { + el.addEventListener("focus", () => { + this.hideKeyboardTemp = function() { + hideKeyboard(); + }; + UniViewJSBridge.subscribe("hideKeyboard", this.hideKeyboardTemp); + document.addEventListener("click", iosHideKeyboard, false); + }); + el.addEventListener("blur", this.onKeyboardHide.bind(this)); + }, + showSoftKeybord() { + plusReady(() => { + plus.key.showSoftKeybord(); + }); + }, + setSoftinputTemporary() { + plusReady(() => { + const currentWebview = plus.webview.currentWebview(); + const style = currentWebview.getStyle() || {}; + const rect = this.$el.getBoundingClientRect(); + currentWebview.setSoftinputTemporary && currentWebview.setSoftinputTemporary({ + mode: style.softinputMode === "adjustResize" ? "adjustResize" : this.adjustPosition ? "adjustPan" : "nothing", + position: { + top: rect.top, + height: rect.height + (Number(this.cursorSpacing) || 0) + } + }); + }); + }, + setSoftinputNavBar() { + if (this.showConfirmBar === "auto") { + delete this.__softinputNavBar; + return; + } + plusReady(() => { + const currentWebview = plus.webview.currentWebview(); + const {softinputNavBar} = currentWebview.getStyle() || {}; + const showConfirmBar = softinputNavBar !== "none"; + if (showConfirmBar !== this.showConfirmBar) { + this.__softinputNavBar = softinputNavBar || "auto"; + currentWebview.setStyle({ + softinputNavBar: this.showConfirmBar ? "auto" : "none" + }); + } else { + delete this.__softinputNavBar; + } + }); + }, + resetSoftinputNavBar() { + const softinputNavBar = this.__softinputNavBar; + if (softinputNavBar) { + plusReady(() => { + const currentWebview = plus.webview.currentWebview(); + currentWebview.setStyle({ + softinputNavBar + }); + }); + } + }, + onKeyboardHide() { + UniViewJSBridge.unsubscribe("hideKeyboard", this.hideKeyboardTemp); + document.removeEventListener("click", iosHideKeyboard, false); + if (String(navigator.vendor).indexOf("Apple") === 0) { + document.documentElement.scrollTo(document.documentElement.scrollLeft, document.documentElement.scrollTop); + } + } + } +}; +function throttle(fn, wait) { + let last = 0; + let timeout; + const newFn = function(...arg) { + const now = Date.now(); + clearTimeout(timeout); + const waitCallback = () => { + last = now; + fn.apply(this, arg); + }; + if (now - last < wait) { + timeout = setTimeout(waitCallback, wait - (now - last)); + return; + } + waitCallback(); + }; + newFn.cancel = function() { + clearTimeout(timeout); + }; + return newFn; +} +var baseInput = { + name: "BaseInput", + mixins: [emitter, keyboard], + model: { + prop: "value", + event: "update:value" + }, + props: { + value: { + type: [String, Number], + default: "" + } + }, + data() { + return { + valueSync: this._getValueString(this.value) + }; + }, + created() { + const valueChange = this.__valueChange = debounce((val) => { + this.valueSync = this._getValueString(val); + }, 100); + this.$watch("value", valueChange); + this.__triggerInput = throttle(($event, detail) => { + this.$emit("update:value", detail.value); + this.$trigger("input", $event, detail); + }, 100); + this.$triggerInput = ($event, detail) => { + this.__valueChange.cancel(); + this.__triggerInput($event, detail); + }; + }, + beforeDestroy() { + this.__valueChange.cancel(); + this.__triggerInput.cancel(); + }, + methods: { + _getValueString(value) { + return value === null ? "" : String(value); + } + } +}; +let supportsPassive$1 = false; +try { + const opts = {}; + Object.defineProperty(opts, "passive", { + get() { + supportsPassive$1 = true; + } + }); + window.addEventListener("test-passive", null, opts); +} catch (e2) { +} +const passiveOptions$1 = supportsPassive$1 ? {passive: true} : false; +const _sfc_main$5 = { + name: "Audio", + mixins: [subscriber], + props: { + id: { + type: String, + default: "" + }, + src: { + type: String, + default: "" + }, + loop: { + type: [Boolean, String], + default: false + }, + controls: { + type: [Boolean, String], + default: false + }, + poster: { + type: String, + default: "" + }, + name: { + type: String, + default: "" + }, + author: { + type: String, + default: "" + } + }, + data() { + return { + playing: false, + currentTime: this.getTime(0) + }; + }, + watch: { + src(val) { + if (this.$refs.audio) { + this.$refs.audio.src = this.$getRealPath(val); + } + } + }, + mounted() { + const audio = this.$refs.audio; + audio.addEventListener("error", ($event) => { + this.playing = false; + this.$trigger("error", $event, {}); + }); + audio.addEventListener("play", ($event) => { + this.playing = true; + this.$trigger("play", $event, {}); + }); + audio.addEventListener("pause", ($event) => { + this.playing = false; + this.$trigger("pause", $event, {}); + }); + audio.addEventListener("ended", ($event) => { + this.playing = false; + this.$trigger("ended", $event, {}); + }); + audio.addEventListener("timeupdate", ($event) => { + var currentTime = audio.currentTime; + this.currentTime = this.getTime(currentTime); + var duration = audio.duration; + this.$trigger("timeupdate", $event, { + currentTime, + duration + }); + }); + audio.src = this.$getRealPath(this.src); + }, + methods: { + _handleSubscribe({ + type, + data = {} + }) { + var audio = this.$refs.audio; + switch (type) { + case "setSrc": + audio.src = this.$getRealPath(data.src); + this.$emit("update:src", data.src); + break; + case "play": + audio.play(); + break; + case "pause": + audio.pause(); + break; + case "seek": + audio.currentTime = data.position; + break; + } + }, + trigger() { + if (this.playing) { + this.$refs.audio.pause(); + } else { + this.$refs.audio.play(); + } + }, + getTime(time) { + var h = Math.floor(time / 3600); + var m = Math.floor(time % 3600 / 60); + var s = Math.floor(time % 3600 % 60); + h = (h < 10 ? "0" : "") + h; + m = (m < 10 ? "0" : "") + m; + s = (s < 10 ? "0" : "") + s; + var str = m + ":" + s; + if (h !== "00") { + str = h + ":" + str; + } + return str; + } + } +}; +const _hoisted_1$4 = {class: "uni-audio-default"}; +const _hoisted_2$4 = {class: "uni-audio-right"}; +const _hoisted_3$3 = {class: "uni-audio-time"}; +const _hoisted_4$2 = {class: "uni-audio-info"}; +const _hoisted_5 = {class: "uni-audio-name"}; +const _hoisted_6 = {class: "uni-audio-author"}; +function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-audio", mergeProps({ + id: $props.id, + controls: !!$props.controls + }, _ctx.$attrs), [ + createVNode("audio", { + ref: "audio", + loop: $props.loop, + style: {display: "none"} + }, null, 8, ["loop"]), + createVNode("div", _hoisted_1$4, [ + createVNode("div", { + style: "background-image: url(" + _ctx.$getRealPath($props.poster) + ");", + class: "uni-audio-left" + }, [ + createVNode("div", { + class: [{play: !$data.playing, pause: $data.playing}, "uni-audio-button"], + onClick: _cache[1] || (_cache[1] = (...args) => $options.trigger && $options.trigger(...args)) + }, null, 2) + ], 4), + createVNode("div", _hoisted_2$4, [ + createVNode("div", _hoisted_3$3, toDisplayString($data.currentTime), 1), + createVNode("div", _hoisted_4$2, [ + createVNode("div", _hoisted_5, toDisplayString($props.name), 1), + createVNode("div", _hoisted_6, toDisplayString($props.author), 1) + ]) + ]) + ]) + ], 16, ["id", "controls"]); +} +_sfc_main$5.render = _sfc_render$5; +const pixelRatio = function() { + const canvas = document.createElement("canvas"); + canvas.height = canvas.width = 0; + const context = canvas.getContext("2d"); + const backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1; + return (window.devicePixelRatio || 1) / backingStore; +}(); +const forEach = function(obj, func) { + for (const key in obj) { + if (hasOwn(obj, key)) { + func(obj[key], key); + } + } +}; +const ratioArgs = { + fillRect: "all", + clearRect: "all", + strokeRect: "all", + moveTo: "all", + lineTo: "all", + arc: [0, 1, 2], + arcTo: "all", + bezierCurveTo: "all", + isPointinPath: "all", + isPointinStroke: "all", + quadraticCurveTo: "all", + rect: "all", + translate: "all", + createRadialGradient: "all", + createLinearGradient: "all", + setTransform: [4, 5] +}; +const proto = CanvasRenderingContext2D.prototype; +proto.drawImageByCanvas = function(_super) { + return function(canvas, srcx, srcy, srcw, srch, desx, desy, desw, desh, isScale) { + if (!this.__hidpi__) { + return _super.apply(this, arguments); + } + srcx *= pixelRatio; + srcy *= pixelRatio; + srcw *= pixelRatio; + srch *= pixelRatio; + desx *= pixelRatio; + desy *= pixelRatio; + desw = isScale ? desw * pixelRatio : desw; + desh = isScale ? desh * pixelRatio : desh; + _super.call(this, canvas, srcx, srcy, srcw, srch, desx, desy, desw, desh); + }; +}(proto.drawImage); +if (pixelRatio !== 1) { + forEach(ratioArgs, function(value, key) { + proto[key] = function(_super) { + return function() { + if (!this.__hidpi__) { + return _super.apply(this, arguments); + } + let args = Array.prototype.slice.call(arguments); + if (value === "all") { + args = args.map(function(a2) { + return a2 * pixelRatio; + }); + } else if (Array.isArray(value)) { + for (let i = 0; i < value.length; i++) { + args[value[i]] *= pixelRatio; + } + } + return _super.apply(this, args); + }; + }(proto[key]); + }); + proto.stroke = function(_super) { + return function() { + if (!this.__hidpi__) { + return _super.apply(this, arguments); + } + this.lineWidth *= pixelRatio; + _super.apply(this, arguments); + this.lineWidth /= pixelRatio; + }; + }(proto.stroke); + proto.fillText = function(_super) { + return function() { + if (!this.__hidpi__) { + return _super.apply(this, arguments); + } + const args = Array.prototype.slice.call(arguments); + args[1] *= pixelRatio; + args[2] *= pixelRatio; + var font2 = this.font; + this.font = font2.replace(/(\d+\.?\d*)(px|em|rem|pt)/g, function(w, m, u) { + return m * pixelRatio + u; + }); + _super.apply(this, args); + this.font = font2; + }; + }(proto.fillText); + proto.strokeText = function(_super) { + return function() { + if (!this.__hidpi__) { + return _super.apply(this, arguments); + } + var args = Array.prototype.slice.call(arguments); + args[1] *= pixelRatio; + args[2] *= pixelRatio; + var font2 = this.font; + this.font = font2.replace(/(\d+\.?\d*)(px|em|rem|pt)/g, function(w, m, u) { + return m * pixelRatio + u; + }); + _super.apply(this, args); + this.font = font2; + }; + }(proto.strokeText); + proto.drawImage = function(_super) { + return function() { + if (!this.__hidpi__) { + return _super.apply(this, arguments); + } + this.scale(pixelRatio, pixelRatio); + _super.apply(this, arguments); + this.scale(1 / pixelRatio, 1 / pixelRatio); + }; + }(proto.drawImage); +} +function wrapper(canvas) { + canvas.width = canvas.offsetWidth * pixelRatio; + canvas.height = canvas.offsetHeight * pixelRatio; + canvas.getContext("2d").__hidpi__ = true; +} +var index_vue_vue_type_style_index_0_lang$1 = "\nuni-canvas {\r\n width: 300px;\r\n height: 150px;\r\n display: block;\r\n position: relative;\n}\nuni-canvas > canvas {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\n}\r\n"; +function resolveColor(color) { + color = color.slice(0); + color[3] = color[3] / 255; + return "rgba(" + color.join(",") + ")"; +} +function processTouches(target, touches) { + return [].map.call(touches, (touch) => { + var boundingClientRect = target.getBoundingClientRect(); + return { + identifier: touch.identifier, + x: touch.clientX - boundingClientRect.left, + y: touch.clientY - boundingClientRect.top + }; + }); +} +var tempCanvas; +function getTempCanvas(width = 0, height = 0) { + if (!tempCanvas) { + tempCanvas = document.createElement("canvas"); + } + tempCanvas.width = width; + tempCanvas.height = height; + return tempCanvas; +} +const _sfc_main$6 = { + name: "Canvas", + mixins: [subscriber], + props: { + canvasId: { + type: String, + default: "" + }, + disableScroll: { + type: [Boolean, String], + default: false + } + }, + data() { + return { + actionsWaiting: false + }; + }, + computed: { + id() { + return this.canvasId; + }, + _listeners() { + var $listeners = Object.assign({}, this.$listeners); + var events = ["touchstart", "touchmove", "touchend"]; + events.forEach((event2) => { + var existing = $listeners[event2]; + var eventHandler = []; + if (existing) { + eventHandler.push(($event) => { + this.$trigger(event2, Object.assign({}, $event, { + touches: processTouches($event.currentTarget, $event.touches), + changedTouches: processTouches($event.currentTarget, $event.changedTouches) + })); + }); + } + if (this.disableScroll && event2 === "touchmove") { + eventHandler.push(this._touchmove); + } + $listeners[event2] = eventHandler; + }); + return $listeners; + } + }, + created() { + this._actionsDefer = []; + this._images = {}; + }, + mounted() { + this._resize({ + width: this.$refs.sensor.$el.offsetWidth, + height: this.$refs.sensor.$el.offsetHeight + }); + }, + beforeDestroy() { + const canvas = this.$refs.canvas; + canvas.height = canvas.width = 0; + }, + methods: { + _handleSubscribe({ + type, + data = {} + }) { + var method = this[type]; + if (type.indexOf("_") !== 0 && typeof method === "function") { + method(data); + } + }, + _resize() { + var canvas = this.$refs.canvas; + if (canvas.width > 0 && canvas.height > 0) { + var context = canvas.getContext("2d"); + var imageData = context.getImageData(0, 0, canvas.width, canvas.height); + wrapper(this.$refs.canvas); + context.putImageData(imageData, 0, 0); + } else { + wrapper(this.$refs.canvas); + } + }, + _touchmove(event2) { + event2.preventDefault(); + }, + actionsChanged({ + actions, + reserve, + callbackId + }) { + var self = this; + if (!actions) { + return; + } + if (this.actionsWaiting) { + this._actionsDefer.push([actions, reserve, callbackId]); + return; + } + var canvas = this.$refs.canvas; + var c2d = canvas.getContext("2d"); + if (!reserve) { + c2d.fillStyle = "#000000"; + c2d.strokeStyle = "#000000"; + c2d.shadowColor = "#000000"; + c2d.shadowBlur = 0; + c2d.shadowOffsetX = 0; + c2d.shadowOffsetY = 0; + c2d.setTransform(1, 0, 0, 1, 0, 0); + c2d.clearRect(0, 0, canvas.width, canvas.height); + } + this.preloadImage(actions); + for (let index2 = 0; index2 < actions.length; index2++) { + const action = actions[index2]; + let method = action.method; + const data = action.data; + if (/^set/.test(method) && method !== "setTransform") { + const method1 = method[3].toLowerCase() + method.slice(4); + let color; + if (method1 === "fillStyle" || method1 === "strokeStyle") { + if (data[0] === "normal") { + color = resolveColor(data[1]); + } else if (data[0] === "linear") { + const LinearGradient = c2d.createLinearGradient(...data[1]); + data[2].forEach(function(data2) { + const offset = data2[0]; + const color2 = resolveColor(data2[1]); + LinearGradient.addColorStop(offset, color2); + }); + color = LinearGradient; + } else if (data[0] === "radial") { + const x = data[1][0]; + const y = data[1][1]; + const r = data[1][2]; + const LinearGradient = c2d.createRadialGradient(x, y, 0, x, y, r); + data[2].forEach(function(data2) { + const offset = data2[0]; + const color2 = resolveColor(data2[1]); + LinearGradient.addColorStop(offset, color2); + }); + color = LinearGradient; + } else if (data[0] === "pattern") { + const loaded = this.checkImageLoaded(data[1], actions.slice(index2 + 1), callbackId, function(image2) { + if (image2) { + c2d[method1] = c2d.createPattern(image2, data[2]); + } + }); + if (!loaded) { + break; + } + continue; + } + c2d[method1] = color; + } else if (method1 === "globalAlpha") { + c2d[method1] = data[0] / 255; + } else if (method1 === "shadow") { + var _ = ["shadowOffsetX", "shadowOffsetY", "shadowBlur", "shadowColor"]; + data.forEach(function(color_, method_) { + c2d[_[method_]] = _[method_] === "shadowColor" ? resolveColor(color_) : color_; + }); + } else { + if (method1 === "fontSize") { + c2d.font = c2d.font.replace(/\d+\.?\d*px/, data[0] + "px"); + } else { + if (method1 === "lineDash") { + c2d.setLineDash(data[0]); + c2d.lineDashOffset = data[1] || 0; + } else { + if (method1 === "textBaseline") { + if (data[0] === "normal") { + data[0] = "alphabetic"; + } + c2d[method1] = data[0]; + } else { + c2d[method1] = data[0]; + } + } + } + } + } else if (method === "fillPath" || method === "strokePath") { + method = method.replace(/Path/, ""); + c2d.beginPath(); + data.forEach(function(data_) { + c2d[data_.method].apply(c2d, data_.data); + }); + c2d[method](); + } else if (method === "fillText") { + c2d.fillText.apply(c2d, data); + } else if (method === "drawImage") { + var A = function() { + var dataArray = [...data]; + var url = dataArray[0]; + var otherData = dataArray.slice(1); + self._images = self._images || {}; + if (!self.checkImageLoaded(url, actions.slice(index2 + 1), callbackId, function(image2) { + if (image2) { + c2d.drawImage.apply(c2d, [image2].concat([...otherData.slice(4, 8)], [...otherData.slice(0, 4)])); + } + })) + return "break"; + }(); + if (A === "break") { + break; + } + } else { + if (method === "clip") { + data.forEach(function(data_) { + c2d[data_.method].apply(c2d, data_.data); + }); + c2d.clip(); + } else { + c2d[method].apply(c2d, data); + } + } + } + if (!this.actionsWaiting && callbackId) { + UniViewJSBridge.publishHandler("onDrawCanvas", { + callbackId, + data: { + errMsg: "drawCanvas:ok" + } + }, this.$page.id); + } + }, + preloadImage: function(actions) { + var self = this; + actions.forEach(function(action) { + var method = action.method; + var data = action.data; + var src = ""; + if (method === "drawImage") { + src = data[0]; + src = self.$getRealPath(src); + data[0] = src; + } else if (method === "setFillStyle" && data[0] === "pattern") { + src = data[1]; + src = self.$getRealPath(src); + data[1] = src; + } + if (src && !self._images[src]) { + loadImage(); + } + function loadImage() { + self._images[src] = new Image(); + self._images[src].onload = function() { + self._images[src].ready = true; + }; + function loadBlob(blob) { + self._images[src].src = (window.URL || window.webkitURL).createObjectURL(blob); + } + function loadFile(path) { + var bitmap = new plus.nativeObj.Bitmap("bitmap" + Date.now()); + bitmap.load(path, function() { + self._images[src].src = bitmap.toBase64Data(); + bitmap.clear(); + }, function() { + bitmap.clear(); + console.error("preloadImage error"); + }); + } + function loadUrl(url) { + function plusDownload() { + plus.downloader.createDownload(url, { + filename: "_doc/uniapp_temp/download/" + }, function(d, status) { + if (status === 200) { + loadFile(d.filename); + } else { + self._images[src].src = src; + } + }).start(); + } + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "blob"; + xhr.onload = function() { + if (this.status === 200) { + loadBlob(this.response); + } + }; + xhr.onerror = window.plus ? plusDownload : function() { + self._images[src].src = src; + }; + xhr.send(); + } + if (window.plus && (!window.webkit || !window.webkit.messageHandlers)) { + self._images[src].src = src; + } else { + if (window.plus && src.indexOf("http://") !== 0 && src.indexOf("https://") !== 0 && !/^data:.*,.*/.test(src)) { + loadFile(src); + } else if (/^data:.*,.*/.test(src)) { + self._images[src].src = src; + } else { + loadUrl(src); + } + } + } + }); + }, + checkImageLoaded: function(src, actions, callbackId, fn) { + var self = this; + var image2 = this._images[src]; + if (image2.ready) { + fn(image2); + return true; + } else { + this._actionsDefer.unshift([actions, true]); + this.actionsWaiting = true; + image2.onload = function() { + image2.ready = true; + fn(image2); + self.actionsWaiting = false; + var actions2 = self._actionsDefer.slice(0); + self._actionsDefer = []; + for (var action = actions2.shift(); action; ) { + self.actionsChanged({ + actions: action[0], + reserve: action[1], + callbackId + }); + action = actions2.shift(); + } + }; + return false; + } + }, + getImageData({ + x = 0, + y = 0, + width, + height, + destWidth, + destHeight, + hidpi = true, + callbackId + }) { + var imgData; + var canvas = this.$refs.canvas; + if (!width) { + width = canvas.offsetWidth - x; + } + if (!height) { + height = canvas.offsetHeight - y; + } + try { + if (!hidpi) { + if (!destWidth && !destHeight) { + destWidth = Math.round(width * pixelRatio); + destHeight = Math.round(height * pixelRatio); + } else if (!destWidth) { + destWidth = Math.round(width / height * destHeight); + } else if (!destHeight) { + destHeight = Math.round(height / width * destWidth); + } + } else { + destWidth = width; + destHeight = height; + } + const newCanvas = getTempCanvas(destWidth, destHeight); + const context = newCanvas.getContext("2d"); + context.__hidpi__ = true; + context.drawImageByCanvas(canvas, x, y, width, height, 0, 0, destWidth, destHeight, false); + imgData = context.getImageData(0, 0, destWidth, destHeight); + newCanvas.height = newCanvas.width = 0; + context.__hidpi__ = false; + } catch (error) { + if (!callbackId) { + return; + } + UniViewJSBridge.publishHandler("onCanvasMethodCallback", { + callbackId, + data: { + errMsg: "canvasGetImageData:fail" + } + }, this.$page.id); + return; + } + if (!callbackId) { + return { + data: Array.prototype.slice.call(imgData.data), + width: destWidth, + height: destHeight + }; + } else { + UniViewJSBridge.publishHandler("onCanvasMethodCallback", { + callbackId, + data: { + errMsg: "canvasGetImageData:ok", + data: [...imgData.data], + width: destWidth, + height: destHeight + } + }, this.$page.id); + } + }, + putImageData({ + data, + x, + y, + width, + height, + callbackId + }) { + try { + if (!height) { + height = Math.round(data.length / 4 / width); + } + const canvas = getTempCanvas(width, height); + const context = canvas.getContext("2d"); + context.putImageData(new ImageData(new Uint8ClampedArray(data), width, height), 0, 0); + this.$refs.canvas.getContext("2d").drawImage(canvas, x, y, width, height); + canvas.height = canvas.width = 0; + } catch (error) { + UniViewJSBridge.publishHandler("onCanvasMethodCallback", { + callbackId, + data: { + errMsg: "canvasPutImageData:fail" + } + }, this.$page.id); + return; + } + UniViewJSBridge.publishHandler("onCanvasMethodCallback", { + callbackId, + data: { + errMsg: "canvasPutImageData:ok" + } + }, this.$page.id); + }, + getDataUrl({ + x = 0, + y = 0, + width, + height, + destWidth, + destHeight, + hidpi = true, + fileType, + qualit, + callbackId + }) { + const res = this.getImageData({ + x, + y, + width, + height, + destWidth, + destHeight, + hidpi + }); + if (!res.data || !res.data.length) { + UniViewJSBridge.publishHandler("onCanvasMethodCallback", { + callbackId, + data: { + errMsg: "canvasGetDataUrl:fail" + } + }, this.$page.id); + return; + } + let imgData; + try { + imgData = new ImageData(new Uint8ClampedArray(res.data), res.width, res.height); + } catch (error) { + UniViewJSBridge.publishHandler("onCanvasMethodCallback", { + callbackId, + data: { + errMsg: "canvasGetDataUrl:fail" + } + }, this.$page.id); + return; + } + destWidth = res.width; + destHeight = res.height; + const canvas = getTempCanvas(destWidth, destHeight); + const c2d = canvas.getContext("2d"); + c2d.putImageData(imgData, 0, 0); + let base64 = canvas.toDataURL("image/png"); + canvas.height = canvas.width = 0; + const img = new Image(); + img.onload = () => { + const canvas2 = getTempCanvas(destWidth, destHeight); + if (fileType === "jpeg" || fileType === "jpg") { + fileType = "jpeg"; + c2d.fillStyle = "#fff"; + c2d.fillRect(0, 0, destWidth, destHeight); + } + c2d.drawImage(img, 0, 0); + base64 = canvas2.toDataURL(`image/${fileType}`, qualit); + canvas2.height = canvas2.width = 0; + UniViewJSBridge.publishHandler("onCanvasMethodCallback", { + callbackId, + data: { + errMsg: "canvasGetDataUrl:ok", + base64 + } + }, this.$page.id); + }; + img.src = base64; + } + } +}; +const _hoisted_1$5 = { + ref: "canvas", + width: "300", + height: "150" +}; +const _hoisted_2$5 = {style: {position: "absolute", top: "0", left: "0", width: "100%", height: "100%", overflow: "hidden"}}; +function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) { + const _component_v_uni_resize_sensor = resolveComponent("v-uni-resize-sensor"); + return openBlock(), createBlock("uni-canvas", mergeProps({ + "canvas-id": $props.canvasId, + "disable-scroll": $props.disableScroll + }, toHandlers($options._listeners)), [ + createVNode("canvas", _hoisted_1$5, null, 512), + createVNode("div", _hoisted_2$5, [ + renderSlot(_ctx.$slots, "default") + ]), + createVNode(_component_v_uni_resize_sensor, { + ref: "sensor", + onResize: $options._resize + }, null, 8, ["onResize"]) + ], 16, ["canvas-id", "disable-scroll"]); +} +_sfc_main$6.render = _sfc_render$6; +const _sfc_main$7 = { + name: "Checkbox", + mixins: [emitter, listeners], + props: { + checked: { + type: [Boolean, String], + default: false + }, + id: { + type: String, + default: "" + }, + disabled: { + type: [Boolean, String], + default: false + }, + color: { + type: String, + default: "#007aff" + }, + value: { + type: String, + default: "" + } + }, + data() { + return { + checkboxChecked: this.checked, + checkboxValue: this.value + }; + }, + watch: { + checked(val) { + this.checkboxChecked = val; + }, + value(val) { + this.checkboxValue = val; + } + }, + listeners: { + "label-click": "_onClick", + "@label-click": "_onClick" + }, + created() { + this.$dispatch("CheckboxGroup", "uni-checkbox-group-update", { + type: "add", + vm: this + }); + this.$dispatch("Form", "uni-form-group-update", { + type: "add", + vm: this + }); + }, + beforeDestroy() { + this.$dispatch("CheckboxGroup", "uni-checkbox-group-update", { + type: "remove", + vm: this + }); + this.$dispatch("Form", "uni-form-group-update", { + type: "remove", + vm: this + }); + }, + methods: { + _onClick($event) { + if (this.disabled) { + return; + } + this.checkboxChecked = !this.checkboxChecked; + this.$dispatch("CheckboxGroup", "uni-checkbox-change", $event); + }, + _resetFormData() { + this.checkboxChecked = false; + } + } +}; +const _hoisted_1$6 = {class: "uni-checkbox-wrapper"}; +function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-checkbox", mergeProps({disabled: $props.disabled}, _ctx.$attrs, { + onClick: _cache[1] || (_cache[1] = (...args) => $options._onClick && $options._onClick(...args)) + }), [ + createVNode("div", _hoisted_1$6, [ + createVNode("div", { + class: [[$data.checkboxChecked ? "uni-checkbox-input-checked" : ""], "uni-checkbox-input"], + style: {color: $props.color} + }, null, 6), + renderSlot(_ctx.$slots, "default") + ]) + ], 16, ["disabled"]); +} +_sfc_main$7.render = _sfc_render$7; +var index_vue_vue_type_style_index_0_lang$2 = "\nuni-checkbox-group[hidden] {\r\n display: none;\n}\r\n"; +const _sfc_main$8 = { + name: "CheckboxGroup", + mixins: [emitter, listeners], + props: { + name: { + type: String, + default: "" + } + }, + data() { + return { + checkboxList: [] + }; + }, + listeners: { + "@checkbox-change": "_changeHandler", + "@checkbox-group-update": "_checkboxGroupUpdateHandler" + }, + created() { + this.$dispatch("Form", "uni-form-group-update", { + type: "add", + vm: this + }); + }, + beforeDestroy() { + this.$dispatch("Form", "uni-form-group-update", { + type: "remove", + vm: this + }); + }, + methods: { + _changeHandler($event) { + const value = []; + this.checkboxList.forEach((vm) => { + if (vm.checkboxChecked) { + value.push(vm.value); + } + }); + this.$trigger("change", $event, { + value + }); + }, + _checkboxGroupUpdateHandler($event) { + if ($event.type === "add") { + this.checkboxList.push($event.vm); + } else { + const index2 = this.checkboxList.indexOf($event.vm); + this.checkboxList.splice(index2, 1); + } + }, + _getFormData() { + const data = {}; + if (this.name !== "") { + const value = []; + this.checkboxList.forEach((vm) => { + if (vm.checkboxChecked) { + value.push(vm.value); + } + }); + data.value = value; + data.key = this.name; + } + return data; + } + } +}; +function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-checkbox-group", _ctx.$attrs, [ + renderSlot(_ctx.$slots, "default") + ], 16); +} +_sfc_main$8.render = _sfc_render$8; +var startTag = /^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/; +var endTag = /^<\/([-A-Za-z0-9_]+)[^>]*>/; +var attr = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g; +var empty = makeMap("area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr"); +var block = makeMap("a,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video"); +var inline = makeMap("abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"); +var closeSelf = makeMap("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"); +var fillAttrs = makeMap("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"); +var special = makeMap("script,style"); +function HTMLParser(html, handler) { + var index2; + var chars2; + var match; + var stack = []; + var last = html; + stack.last = function() { + return this[this.length - 1]; + }; + while (html) { + chars2 = true; + if (!stack.last() || !special[stack.last()]) { + if (html.indexOf(""); + if (index2 >= 0) { + if (handler.comment) { + handler.comment(html.substring(4, index2)); + } + html = html.substring(index2 + 3); + chars2 = false; + } + } else if (html.indexOf("]*>"), function(all, text3) { + text3 = text3.replace(/|/g, "$1$2"); + if (handler.chars) { + handler.chars(text3); + } + return ""; + }); + parseEndTag("", stack.last()); + } + if (html == last) { + throw "Parse Error: " + html; + } + last = html; + } + parseEndTag(); + function parseStartTag(tag, tagName, rest, unary) { + tagName = tagName.toLowerCase(); + if (block[tagName]) { + while (stack.last() && inline[stack.last()]) { + parseEndTag("", stack.last()); + } + } + if (closeSelf[tagName] && stack.last() == tagName) { + parseEndTag("", tagName); + } + unary = empty[tagName] || !!unary; + if (!unary) { + stack.push(tagName); + } + if (handler.start) { + var attrs2 = []; + rest.replace(attr, function(match2, name) { + var value = arguments[2] ? arguments[2] : arguments[3] ? arguments[3] : arguments[4] ? arguments[4] : fillAttrs[name] ? name : ""; + attrs2.push({ + name, + value, + escaped: value.replace(/(^|[^\\])"/g, '$1\\"') + }); + }); + if (handler.start) { + handler.start(tagName, attrs2, unary); + } + } + } + function parseEndTag(tag, tagName) { + if (!tagName) { + var pos = 0; + } else { + for (var pos = stack.length - 1; pos >= 0; pos--) { + if (stack[pos] == tagName) { + break; + } + } + } + if (pos >= 0) { + for (var i = stack.length - 1; i >= pos; i--) { + if (handler.end) { + handler.end(stack[i]); + } + } + stack.length = pos; + } + } +} +function makeMap(str) { + var obj = {}; + var items = str.split(","); + for (var i = 0; i < items.length; i++) { + obj[items[i]] = true; + } + return obj; +} +function divider(Quill) { + const BlockEmbed = Quill.import("blots/block/embed"); + class Divider extends BlockEmbed { + } + Divider.blotName = "divider"; + Divider.tagName = "HR"; + return { + "formats/divider": Divider + }; +} +function ins(Quill) { + const Inline = Quill.import("blots/inline"); + class Ins extends Inline { + } + Ins.blotName = "ins"; + Ins.tagName = "INS"; + return { + "formats/ins": Ins + }; +} +function align(Quill) { + const {Scope, Attributor} = Quill.import("parchment"); + const config = { + scope: Scope.BLOCK, + whitelist: ["left", "right", "center", "justify"] + }; + const AlignStyle = new Attributor.Style("align", "text-align", config); + return { + "formats/align": AlignStyle + }; +} +function direction(Quill) { + const {Scope, Attributor} = Quill.import("parchment"); + const config = { + scope: Scope.BLOCK, + whitelist: ["rtl"] + }; + const DirectionStyle = new Attributor.Style("direction", "direction", config); + return { + "formats/direction": DirectionStyle + }; +} +function list(Quill) { + const Parchment = Quill.import("parchment"); + const Container = Quill.import("blots/container"); + const ListItem = Quill.import("formats/list/item"); + class List extends Container { + static create(value) { + const tagName = value === "ordered" ? "OL" : "UL"; + const node = super.create(tagName); + if (value === "checked" || value === "unchecked") { + node.setAttribute("data-checked", value === "checked"); + } + return node; + } + static formats(domNode) { + if (domNode.tagName === "OL") + return "ordered"; + if (domNode.tagName === "UL") { + if (domNode.hasAttribute("data-checked")) { + return domNode.getAttribute("data-checked") === "true" ? "checked" : "unchecked"; + } else { + return "bullet"; + } + } + return void 0; + } + constructor(domNode) { + super(domNode); + const listEventHandler = (e2) => { + if (e2.target.parentNode !== domNode) + return; + const format = this.statics.formats(domNode); + const blot = Parchment.find(e2.target); + if (format === "checked") { + blot.format("list", "unchecked"); + } else if (format === "unchecked") { + blot.format("list", "checked"); + } + }; + domNode.addEventListener("click", listEventHandler); + } + format(name, value) { + if (this.children.length > 0) { + this.children.tail.format(name, value); + } + } + formats() { + return {[this.statics.blotName]: this.statics.formats(this.domNode)}; + } + insertBefore(blot, ref) { + if (blot instanceof ListItem) { + super.insertBefore(blot, ref); + } else { + const index2 = ref == null ? this.length() : ref.offset(this); + const after = this.split(index2); + after.parent.insertBefore(blot, after); + } + } + optimize(context) { + super.optimize(context); + const next = this.next; + if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute("data-checked") === this.domNode.getAttribute("data-checked")) { + next.moveChildren(this); + next.remove(); + } + } + replace(target) { + if (target.statics.blotName !== this.statics.blotName) { + const item = Parchment.create(this.statics.defaultChild); + target.moveChildren(item); + this.appendChild(item); + } + super.replace(target); + } + } + List.blotName = "list"; + List.scope = Parchment.Scope.BLOCK_BLOT; + List.tagName = ["OL", "UL"]; + List.defaultChild = "list-item"; + List.allowedChildren = [ListItem]; + return { + "formats/list": List + }; +} +function background(Quill) { + const {Scope} = Quill.import("parchment"); + const BackgroundStyle = Quill.import("formats/background"); + const BackgroundColorStyle = new BackgroundStyle.constructor("backgroundColor", "background-color", { + scope: Scope.INLINE + }); + return { + "formats/backgroundColor": BackgroundColorStyle + }; +} +function box(Quill) { + const {Scope, Attributor} = Quill.import("parchment"); + const config = { + scope: Scope.BLOCK + }; + const margin = [ + "margin", + "marginTop", + "marginBottom", + "marginLeft", + "marginRight" + ]; + const padding = [ + "padding", + "paddingTop", + "paddingBottom", + "paddingLeft", + "paddingRight" + ]; + const result = {}; + margin.concat(padding).forEach((name) => { + result[`formats/${name}`] = new Attributor.Style(name, hyphenate(name), config); + }); + return result; +} +function font(Quill) { + const {Scope, Attributor} = Quill.import("parchment"); + const config = { + scope: Scope.INLINE + }; + const font2 = [ + "font", + "fontSize", + "fontStyle", + "fontVariant", + "fontWeight", + "fontFamily" + ]; + const result = {}; + font2.forEach((name) => { + result[`formats/${name}`] = new Attributor.Style(name, hyphenate(name), config); + }); + return result; +} +function text(Quill) { + const {Scope, Attributor} = Quill.import("parchment"); + const text2 = [ + { + name: "lineHeight", + scope: Scope.BLOCK + }, + { + name: "letterSpacing", + scope: Scope.INLINE + }, + { + name: "textDecoration", + scope: Scope.INLINE + }, + { + name: "textIndent", + scope: Scope.BLOCK + } + ]; + const result = {}; + text2.forEach(({name, scope}) => { + result[`formats/${name}`] = new Attributor.Style(name, hyphenate(name), { + scope + }); + }); + return result; +} +function image(Quill) { + const Image2 = Quill.import("formats/image"); + const ATTRIBUTES = [ + "alt", + "height", + "width", + "data-custom", + "class", + "data-local" + ]; + Image2.sanitize = (url) => url; + Image2.formats = function formats(domNode) { + return ATTRIBUTES.reduce(function(formats2, attribute) { + if (domNode.hasAttribute(attribute)) { + formats2[attribute] = domNode.getAttribute(attribute); + } + return formats2; + }, {}); + }; + const format = Image2.prototype.format; + Image2.prototype.format = function(name, value) { + if (ATTRIBUTES.indexOf(name) > -1) { + if (value) { + this.domNode.setAttribute(name, value); + } else { + this.domNode.removeAttribute(name); + } + } else { + format.call(this, name, value); + } + }; +} +function register(Quill) { + const formats = { + divider, + ins, + align, + direction, + list, + background, + box, + font, + text, + image + }; + const options = {}; + Object.values(formats).forEach((value) => Object.assign(options, value(Quill))); + Quill.register(options, true); +} +var editor_css_vue_type_style_index_0_src_lang = ".ql-container {\n display: block;\n position: relative;\n box-sizing: border-box;\n -webkit-user-select: text;\n user-select: text;\n outline: none;\n overflow: hidden;\n width: 100%;\n height: 200px;\n min-height: 200px;\n}\n.ql-container[hidden] {\n display: none;\n}\n.ql-container .ql-editor {\n position: relative;\n font-size: inherit;\n line-height: inherit;\n font-family: inherit;\n min-height: inherit;\n width: 100%;\n height: 100%;\n padding: 0;\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n -webkit-overflow-scrolling: touch;\n}\n.ql-container .ql-editor::-webkit-scrollbar {\n width: 0 !important;\n}\n.ql-container .ql-editor.scroll-disabled {\n overflow: hidden;\n}\n.ql-container .ql-image-overlay {\n display: flex;\n position: absolute;\n box-sizing: border-box;\n border: 1px dashed #ccc;\n justify-content: center;\n align-items: center;\n -webkit-user-select: none;\n user-select: none;\n}\n.ql-container .ql-image-overlay .ql-image-size {\n position: absolute;\n padding: 4px 8px;\n text-align: center;\n background-color: #fff;\n color: #888;\n border: 1px solid #ccc;\n box-sizing: border-box;\n opacity: 0.8;\n right: 4px;\n top: 4px;\n font-size: 12px;\n display: inline-block;\n width: auto;\n}\n.ql-container .ql-image-overlay .ql-image-toolbar {\n position: relative;\n text-align: center;\n box-sizing: border-box;\n background: #000;\n border-radius: 5px;\n color: #fff;\n font-size: 0;\n min-height: 24px;\n z-index: 100;\n}\n.ql-container .ql-image-overlay .ql-image-toolbar span {\n display: inline-block;\n cursor: pointer;\n padding: 5px;\n font-size: 12px;\n border-right: 1px solid #fff;\n}\n.ql-container .ql-image-overlay .ql-image-toolbar span:last-child {\n border-right: 0;\n}\n.ql-container .ql-image-overlay .ql-image-toolbar span.triangle-up {\n padding: 0;\n position: absolute;\n top: -12px;\n left: 50%;\n transform: translatex(-50%);\n width: 0;\n height: 0;\n border-width: 6px;\n border-style: solid;\n border-color: transparent transparent black transparent;\n}\n.ql-container .ql-image-overlay .ql-image-handle {\n position: absolute;\n height: 12px;\n width: 12px;\n border-radius: 50%;\n border: 1px solid #ccc;\n box-sizing: border-box;\n background: #fff;\n}\n.ql-container img {\n display: inline-block;\n max-width: 100%;\n}\n.ql-clipboard p {\n margin: 0;\n padding: 0;\n}\n.ql-editor {\n box-sizing: border-box;\n height: 100%;\n outline: none;\n overflow-y: auto;\n tab-size: 4;\n -moz-tab-size: 4;\n text-align: left;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n.ql-editor > * {\n cursor: text;\n}\n.ql-editor p,\n.ql-editor ol,\n.ql-editor ul,\n.ql-editor pre,\n.ql-editor blockquote,\n.ql-editor h1,\n.ql-editor h2,\n.ql-editor h3,\n.ql-editor h4,\n.ql-editor h5,\n.ql-editor h6 {\n margin: 0;\n padding: 0;\n counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol > li,\n.ql-editor ul > li {\n list-style-type: none;\n}\n.ql-editor ul > li::before {\n content: '\\2022';\n}\n.ql-editor ul[data-checked=true],\n.ql-editor ul[data-checked=false] {\n pointer-events: none;\n}\n.ql-editor ul[data-checked=true] > li *,\n.ql-editor ul[data-checked=false] > li * {\n pointer-events: all;\n}\n.ql-editor ul[data-checked=true] > li::before,\n.ql-editor ul[data-checked=false] > li::before {\n color: #777;\n cursor: pointer;\n pointer-events: all;\n}\n.ql-editor ul[data-checked=true] > li::before {\n content: '\\2611';\n}\n.ql-editor ul[data-checked=false] > li::before {\n content: '\\2610';\n}\n.ql-editor li::before {\n display: inline-block;\n white-space: nowrap;\n width: 2em;\n}\n.ql-editor ol li {\n counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n counter-increment: list-0;\n}\n.ql-editor ol li:before {\n content: counter(list-0, decimal) '. ';\n}\n.ql-editor ol li.ql-indent-1 {\n counter-increment: list-1;\n}\n.ql-editor ol li.ql-indent-1:before {\n content: counter(list-1, lower-alpha) '. ';\n}\n.ql-editor ol li.ql-indent-1 {\n counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-2 {\n counter-increment: list-2;\n}\n.ql-editor ol li.ql-indent-2:before {\n content: counter(list-2, lower-roman) '. ';\n}\n.ql-editor ol li.ql-indent-2 {\n counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-3 {\n counter-increment: list-3;\n}\n.ql-editor ol li.ql-indent-3:before {\n content: counter(list-3, decimal) '. ';\n}\n.ql-editor ol li.ql-indent-3 {\n counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-4 {\n counter-increment: list-4;\n}\n.ql-editor ol li.ql-indent-4:before {\n content: counter(list-4, lower-alpha) '. ';\n}\n.ql-editor ol li.ql-indent-4 {\n counter-reset: list-5 list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-5 {\n counter-increment: list-5;\n}\n.ql-editor ol li.ql-indent-5:before {\n content: counter(list-5, lower-roman) '. ';\n}\n.ql-editor ol li.ql-indent-5 {\n counter-reset: list-6 list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-6 {\n counter-increment: list-6;\n}\n.ql-editor ol li.ql-indent-6:before {\n content: counter(list-6, decimal) '. ';\n}\n.ql-editor ol li.ql-indent-6 {\n counter-reset: list-7 list-8 list-9;\n}\n.ql-editor ol li.ql-indent-7 {\n counter-increment: list-7;\n}\n.ql-editor ol li.ql-indent-7:before {\n content: counter(list-7, lower-alpha) '. ';\n}\n.ql-editor ol li.ql-indent-7 {\n counter-reset: list-8 list-9;\n}\n.ql-editor ol li.ql-indent-8 {\n counter-increment: list-8;\n}\n.ql-editor ol li.ql-indent-8:before {\n content: counter(list-8, lower-roman) '. ';\n}\n.ql-editor ol li.ql-indent-8 {\n counter-reset: list-9;\n}\n.ql-editor ol li.ql-indent-9 {\n counter-increment: list-9;\n}\n.ql-editor ol li.ql-indent-9:before {\n content: counter(list-9, decimal) '. ';\n}\n.ql-editor .ql-indent-1:not(.ql-direction-rtl) {\n padding-left: 2em;\n}\n.ql-editor li.ql-indent-1:not(.ql-direction-rtl) {\n padding-left: 2em;\n}\n.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {\n padding-right: 2em;\n}\n.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {\n padding-right: 2em;\n}\n.ql-editor .ql-indent-2:not(.ql-direction-rtl) {\n padding-left: 4em;\n}\n.ql-editor li.ql-indent-2:not(.ql-direction-rtl) {\n padding-left: 4em;\n}\n.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {\n padding-right: 4em;\n}\n.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {\n padding-right: 4em;\n}\n.ql-editor .ql-indent-3:not(.ql-direction-rtl) {\n padding-left: 6em;\n}\n.ql-editor li.ql-indent-3:not(.ql-direction-rtl) {\n padding-left: 6em;\n}\n.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {\n padding-right: 6em;\n}\n.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {\n padding-right: 6em;\n}\n.ql-editor .ql-indent-4:not(.ql-direction-rtl) {\n padding-left: 8em;\n}\n.ql-editor li.ql-indent-4:not(.ql-direction-rtl) {\n padding-left: 8em;\n}\n.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {\n padding-right: 8em;\n}\n.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {\n padding-right: 8em;\n}\n.ql-editor .ql-indent-5:not(.ql-direction-rtl) {\n padding-left: 10em;\n}\n.ql-editor li.ql-indent-5:not(.ql-direction-rtl) {\n padding-left: 10em;\n}\n.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {\n padding-right: 10em;\n}\n.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {\n padding-right: 10em;\n}\n.ql-editor .ql-indent-6:not(.ql-direction-rtl) {\n padding-left: 12em;\n}\n.ql-editor li.ql-indent-6:not(.ql-direction-rtl) {\n padding-left: 12em;\n}\n.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {\n padding-right: 12em;\n}\n.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {\n padding-right: 12em;\n}\n.ql-editor .ql-indent-7:not(.ql-direction-rtl) {\n padding-left: 14em;\n}\n.ql-editor li.ql-indent-7:not(.ql-direction-rtl) {\n padding-left: 14em;\n}\n.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {\n padding-right: 14em;\n}\n.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {\n padding-right: 14em;\n}\n.ql-editor .ql-indent-8:not(.ql-direction-rtl) {\n padding-left: 16em;\n}\n.ql-editor li.ql-indent-8:not(.ql-direction-rtl) {\n padding-left: 16em;\n}\n.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {\n padding-right: 16em;\n}\n.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {\n padding-right: 16em;\n}\n.ql-editor .ql-indent-9:not(.ql-direction-rtl) {\n padding-left: 18em;\n}\n.ql-editor li.ql-indent-9:not(.ql-direction-rtl) {\n padding-left: 18em;\n}\n.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {\n padding-right: 18em;\n}\n.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {\n padding-right: 18em;\n}\n.ql-editor .ql-direction-rtl {\n direction: rtl;\n text-align: inherit;\n}\n.ql-editor .ql-align-center {\n text-align: center;\n}\n.ql-editor .ql-align-justify {\n text-align: justify;\n}\n.ql-editor .ql-align-right {\n text-align: right;\n}\n.ql-editor.ql-blank::before {\n color: rgba(0, 0, 0, 0.6);\n content: attr(data-placeholder);\n font-style: italic;\n pointer-events: none;\n position: absolute;\n}\n.ql-container.ql-disabled .ql-editor ul[data-checked] > li::before {\n pointer-events: none;\n}\n.ql-clipboard {\n left: -100000px;\n height: 1px;\n overflow-y: hidden;\n position: absolute;\n top: 50%;\n}\n"; +var index_vue_vue_type_style_index_1_lang = "\n"; +const _sfc_main$9 = { + name: "Editor", + mixins: [subscriber, emitter, keyboard], + props: { + id: { + type: String, + default: "" + }, + readOnly: { + type: [Boolean, String], + default: false + }, + placeholder: { + type: String, + default: "" + }, + showImgSize: { + type: [Boolean, String], + default: false + }, + showImgToolbar: { + type: [Boolean, String], + default: false + }, + showImgResize: { + type: [Boolean, String], + default: false + } + }, + data() { + return { + quillReady: false + }; + }, + computed: {}, + watch: { + readOnly(value) { + if (this.quillReady) { + const quill = this.quill; + quill.enable(!value); + if (!value) { + quill.blur(); + } + } + }, + placeholder(value) { + if (this.quillReady) { + this.quill.root.setAttribute("data-placeholder", value); + } + } + }, + mounted() { + const imageResizeModules = []; + if (this.showImgSize) { + imageResizeModules.push("DisplaySize"); + } + if (this.showImgToolbar) { + imageResizeModules.push("Toolbar"); + } + if (this.showImgResize) { + imageResizeModules.push("Resize"); + } + this.loadQuill(() => { + if (imageResizeModules.length) { + this.loadImageResizeModule(() => { + this.initQuill(imageResizeModules); + }); + } else { + this.initQuill(imageResizeModules); + } + }); + }, + methods: { + _handleSubscribe({ + type, + data + }) { + const {options, callbackId} = data; + const quill = this.quill; + const Quill = window.Quill; + let res; + let range; + let errMsg; + if (this.quillReady) { + switch (type) { + case "format": + { + let {name = "", value = false} = options; + range = quill.getSelection(true); + let format = quill.getFormat(range)[name] || false; + if (["bold", "italic", "underline", "strike", "ins"].includes(name)) { + value = !format; + } else if (name === "direction") { + value = value === "rtl" && format ? false : value; + const align2 = quill.getFormat(range).align; + if (value === "rtl" && !align2) { + quill.format("align", "right", Quill.sources.USER); + } else if (!value && align2 === "right") { + quill.format("align", false, Quill.sources.USER); + } + } else if (name === "indent") { + const rtl = quill.getFormat(range).direction === "rtl"; + value = value === "+1"; + if (rtl) { + value = !value; + } + value = value ? "+1" : "-1"; + } else { + if (name === "list") { + value = value === "check" ? "unchecked" : value; + format = format === "checked" ? "unchecked" : format; + } + value = format && format !== (value || false) || !format && value ? value : !format; + } + quill.format(name, value, Quill.sources.USER); + } + break; + case "insertDivider": + range = quill.getSelection(true); + quill.insertText(range.index, "\n", Quill.sources.USER); + quill.insertEmbed(range.index + 1, "divider", true, Quill.sources.USER); + quill.setSelection(range.index + 2, Quill.sources.SILENT); + break; + case "insertImage": + { + range = quill.getSelection(true); + const {src = "", alt = "", width = "", height = "", extClass = "", data: data2 = {}} = options; + const path = this.$getRealPath(src); + quill.insertEmbed(range.index, "image", path, Quill.sources.USER); + const local = /^(file|blob):/.test(path) ? path : false; + quill.formatText(range.index, 1, "data-local", local); + quill.formatText(range.index, 1, "alt", alt); + quill.formatText(range.index, 1, "width", width); + quill.formatText(range.index, 1, "height", height); + quill.formatText(range.index, 1, "class", extClass); + quill.formatText(range.index, 1, "data-custom", Object.keys(data2).map((key) => `${key}=${data2[key]}`).join("&")); + quill.setSelection(range.index + 1, Quill.sources.SILENT); + } + break; + case "insertText": + { + range = quill.getSelection(true); + const {text: text2 = ""} = options; + quill.insertText(range.index, text2, Quill.sources.USER); + quill.setSelection(range.index + text2.length, 0, Quill.sources.SILENT); + } + break; + case "setContents": + { + const {delta, html} = options; + if (typeof delta === "object") { + quill.setContents(delta, Quill.sources.SILENT); + } else if (typeof html === "string") { + quill.setContents(this.html2delta(html), Quill.sources.SILENT); + } else { + errMsg = "contents is missing"; + } + } + break; + case "getContents": + res = this.getContents(); + break; + case "clear": + quill.setContents([]); + break; + case "removeFormat": + { + range = quill.getSelection(true); + const parchment = Quill.import("parchment"); + if (range.length) { + quill.removeFormat(range, Quill.sources.USER); + } else { + Object.keys(quill.getFormat(range)).forEach((key) => { + if (parchment.query(key, parchment.Scope.INLINE)) { + quill.format(key, false); + } + }); + } + } + break; + case "undo": + quill.history.undo(); + break; + case "redo": + quill.history.redo(); + break; + } + this.updateStatus(range); + } else { + errMsg = "not ready"; + } + if (callbackId) { + UniViewJSBridge.publishHandler("onEditorMethodCallback", { + callbackId, + data: Object.assign({}, res, { + errMsg: `${type}:${errMsg ? "fail " + errMsg : "ok"}` + }) + }, this.$page.id); + } + }, + loadQuill(callback) { + if (typeof window.Quill === "function") { + if (typeof callback === "function") { + callback(); + } + return; + } + const script = document.createElement("script"); + script.src = window.plus ? "./__uniappquill.js" : "https://unpkg.com/quill@1.3.7/dist/quill.min.js"; + document.body.appendChild(script); + script.onload = callback; + }, + loadImageResizeModule(callback) { + if (typeof window.ImageResize === "function") { + if (typeof callback === "function") { + callback(); + } + return; + } + const script = document.createElement("script"); + script.src = window.plus ? "./__uniappquillimageresize.js" : "https://unpkg.com/quill-image-resize-mp@3.0.1/image-resize.min.js"; + document.body.appendChild(script); + script.onload = callback; + }, + initQuill(imageResizeModules) { + const Quill = window.Quill; + register(Quill); + const options = { + toolbar: false, + readOnly: this.readOnly, + placeholder: this.placeholder, + modules: {} + }; + if (imageResizeModules.length) { + Quill.register("modules/ImageResize", window.ImageResize.default); + options.modules.ImageResize = { + modules: imageResizeModules + }; + } + const quill = this.quill = new Quill(this.$el, options); + const $el = quill.root; + const events = ["focus", "blur", "input"]; + events.forEach((name) => { + $el.addEventListener(name, ($event) => { + if (name === "input") { + $event.stopPropagation(); + } else { + this.$trigger(name, $event, this.getContents()); + } + }); + }); + quill.on(Quill.events.TEXT_CHANGE, () => { + this.$trigger("input", {}, this.getContents()); + }); + quill.on(Quill.events.SELECTION_CHANGE, this.updateStatus.bind(this)); + quill.on(Quill.events.SCROLL_OPTIMIZE, () => { + const range = quill.selection.getRange()[0]; + this.updateStatus(range); + }); + quill.clipboard.addMatcher(Node.ELEMENT_NODE, (node, delta) => { + if (this.skipMatcher) { + return delta; + } + delta.ops = delta.ops.filter(({insert}) => typeof insert === "string").map(({insert}) => ({insert})); + return delta; + }); + this.initKeyboard($el); + this.quillReady = true; + this.$trigger("ready", event, {}); + }, + getContents() { + const quill = this.quill; + const html = quill.root.innerHTML; + const text2 = quill.getText(); + const delta = quill.getContents(); + return { + html, + text: text2, + delta + }; + }, + html2delta(html) { + const tags = ["span", "strong", "b", "ins", "em", "i", "u", "a", "del", "s", "sub", "sup", "img", "div", "p", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ol", "ul", "li", "br"]; + let content = ""; + let disable; + HTMLParser(html, { + start: function(tag, attrs2, unary) { + if (!tags.includes(tag)) { + disable = !unary; + return; + } + disable = false; + const arrts = attrs2.map(({name, value}) => `${name}="${value}"`).join(" "); + const start = `<${tag} ${arrts} ${unary ? "/" : ""}>`; + content += start; + }, + end: function(tag) { + if (!disable) { + content += ``; + } + }, + chars: function(text2) { + if (!disable) { + content += text2; + } + } + }); + this.skipMatcher = true; + const delta = this.quill.clipboard.convert(content); + this.skipMatcher = false; + return delta; + }, + updateStatus(range) { + const status = range ? this.quill.getFormat(range) : {}; + const keys = Object.keys(status); + if (keys.length !== Object.keys(this.__status || {}).length || keys.find((key) => status[key] !== this.__status[key])) { + this.__status = status; + this.$trigger("statuschange", {}, status); + } + } + } +}; +function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-editor", mergeProps({ + id: $props.id, + class: "ql-container" + }, _ctx.$attrs), null, 16, ["id"]); +} +_sfc_main$9.render = _sfc_render$9; +var index_vue_vue_type_style_index_0_lang$3 = "\r\n"; +const _sfc_main$a = { + name: "Form", + mixins: [listeners], + data() { + return { + childrenList: [] + }; + }, + listeners: { + "@form-submit": "_onSubmit", + "@form-reset": "_onReset", + "@form-group-update": "_formGroupUpdateHandler" + }, + methods: { + _onSubmit($event) { + const data = {}; + this.childrenList.forEach((vm) => { + if (vm._getFormData && vm._getFormData().key) { + data[vm._getFormData().key] = vm._getFormData().value; + } + }); + this.$trigger("submit", $event, { + value: data + }); + }, + _onReset($event) { + this.$trigger("reset", $event, {}); + this.childrenList.forEach((vm) => { + vm._resetFormData && vm._resetFormData(); + }); + }, + _formGroupUpdateHandler($event) { + if ($event.type === "add") { + this.childrenList.push($event.vm); + } else { + const index2 = this.childrenList.indexOf($event.vm); + this.childrenList.splice(index2, 1); + } + } + } +}; +function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-form", _ctx.$attrs, [ + createVNode("span", null, [ + renderSlot(_ctx.$slots, "default") + ]) + ], 16); +} +_sfc_main$a.render = _sfc_render$a; +var index_vue_vue_type_style_index_0_lang$4 = "\nuni-icon {\r\n display: inline-block;\r\n font-size: 0;\r\n box-sizing: border-box;\n}\nuni-icon[hidden] {\r\n display: none;\n}\nuni-icon > i {\r\n font: normal normal normal 14px/1 'weui';\n}\nuni-icon > i:before {\r\n margin: 0;\r\n box-sizing: border-box;\n}\n@font-face {\r\n font-weight: normal;\r\n font-style: normal;\r\n font-family: 'weui';\r\n src: url('data:application/octet-stream;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJAKEx8AAABfAAAAFZjbWFw65cFHQAAAhwAAAJQZ2x5Zp+UEEcAAASUAAAIvGhlYWQUqc7xAAAA4AAAADZoaGVhB/YD+wAAALwAAAAkaG10eEJoAAAAAAHUAAAASGxvY2EUxhJeAAAEbAAAACZtYXhwASEAQwAAARgAAAAgbmFtZeNcHtgAAA1QAAAB5nBvc3T6OoZLAAAPOAAAAOYAAQAAA+gAAABaA+gAAAAAA7MAAQAAAAAAAAAAAAAAAAAAABIAAQAAAAEAAMCU2KdfDzz1AAsD6AAAAADY7EUUAAAAANjsRRQAAAAAA7MD5AAAAAgAAgAAAAAAAAABAAAAEgA3AAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQOwAZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6gHqEQPoAAAAWgPoAAAAAAABAAAAAAAAAAAAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAAAAABQAAAAMAAAAsAAAABAAAAXQAAQAAAAAAbgADAAEAAAAsAAMACgAAAXQABABCAAAABAAEAAEAAOoR//8AAOoB//8AAAABAAQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAANwAAAAAAAAAEQAA6gEAAOoBAAAAAQAA6gIAAOoCAAAAAgAA6gMAAOoDAAAAAwAA6gQAAOoEAAAABAAA6gUAAOoFAAAABQAA6gYAAOoGAAAABgAA6gcAAOoHAAAABwAA6ggAAOoIAAAACAAA6gkAAOoJAAAACQAA6goAAOoKAAAACgAA6gsAAOoLAAAACwAA6gwAAOoMAAAADAAA6g0AAOoNAAAADQAA6g4AAOoOAAAADgAA6g8AAOoPAAAADwAA6hAAAOoQAAAAEAAA6hEAAOoRAAAAEQAAAAAARACKAMQBEgFgAZIB4gH6AioCeAK0AwwDZAOiA9wEEAReAAAAAgAAAAADlQOVABQAKQAAJSInJicmNDc2NzYyFxYXFhQHBgcGJzI3Njc2NCcmJyYiBwYHBhQXFhcWAfRxYV83OTk3X2HiYV83OTk3X2FxZFVTMTIyMVNVyFVTMTIyMVNVUzk3X2HiYV83OTk3X2HiYV83OTIyMVNVyFVTMTIyMVNVyFVTMTIAAAIAAAAAA7MDswAXAC0AAAEiBwYHBhUUFxYXFjMyNzY3NjU0JyYnJhMHBiIvASY2OwERNDY7ATIWFREzMhYB7nZnZDs9PTtkZ3Z8amY7Pj47Zmkhdg4oDnYODRddCwcmBwtdFw0Dsz47Zmp8dmdkOz09O2Rndn1pZjs+/fCaEhKaEhoBFwgLCwj+6RoAAwAAAAADlQOVABQAGAAhAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYDETMRJzI2NCYiBhQWAfRxYV83OTk3X2HiYV83OTk3X2GQPh8RGRkiGRlTOTdfYeJhXzc5OTdfYeJhXzc5AfT+3QEjKhgjGBgjGAAAAAACAAAAAAOxA+QAFwAsAAABBgcGDwERFBcWFxYXNjc2NzY1EScmJyYTAQYvASY/ATYyHwEWNjclNjIfARYB9WlsP3A3Rz5sXmxsXW09SDdwQGuP/tUEBIoDAxIBBQFxAQUCARICBQERBAPjFyASJBL+rI51ZUg/HBw/SGV1jgFUEiQSIP66/tkDA48EBBkCAVYCAQHlAQIQBAAAAAADAAAAAAOxA+QAFwAmAC8AAAEGBwYPAREUFxYXFhc2NzY3NjURJyYnJgczMhYVAxQGKwEiJwM0NhMiJjQ2MhYUBgH1aWtAcDdHPmxebGxdbT1IN3BAa4M0BAYMAwImBQELBh4PFhYeFRUD5BggEiQS/q2PdWRJPh0dPklkdY8BUxIkEiD4BgT+xgIDBQE6BAb+QBUfFRUfFQAAAAACAAAAAAOVA5UAFAAaAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYDJwcXAScB9HFhXzc5OTdfYeJhXzc5OTdfYaJzLJ8BFi1TOTdfYeJhXzc5OTdfYeJhXzc5AUhzLJ8BFSwAAAAAAwAAAAADlQOVABQAKQAvAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYnMjc2NzY0JyYnJiIHBgcGFBcWFxYTNxcBJzcB9HFhXzc5OTdfYeJhXzc5OTdfYXFkVVMxMjIxU1XIVVMxMjIxU1Uz8iT+6p8jUzk3X2HiYV83OTk3X2HiYV83OTIyMVNVyFVTMTIyMVNVyFVTMTIBBPIj/uufJAAAAAEAAAAAA5kDGAAHAAAlATcXARcBBgGF/vg7zgHYOv3vAcsBCTvPAdg7/e4BAAAAAAIAAAAAA5UDlQAFABoAAAE1IxUXNwMiJyYnJjQ3Njc2MhcWFxYUBwYHBgITPrEsvnFhXzc5OTdfYeJhXzc5OTdfYQIO4PqxLP7kOTdfYeJhXzc5OTdfYeJhXzc5AAAAAAMAAAAAA5UDlQAFABoALwAAARcHJzUzAyInJicmNDc2NzYyFxYXFhQHBgcGJzI3Njc2NCcmJyYiBwYHBhQXFhcWAg2iI7EyGXFhXzc5OTdfYeJhXzc5OTdfYXFkVVMxMjIxU1XIVVMxMjIxU1UCCaIksfr9ZTk3X2HiYV83OTk3X2HiYV83OTIyMVNVyFVTMTIyMVNVyFVTMTIAAAMAAAAAA5UDlQAUABgAIQAAJSInJicmNDc2NzYyFxYXFhQHBgcGAxMzEwMyNjQmIg4BFgH0cWFfNzk5N19h4mFfNzk5N19hkQU2BSAQFRUgFQEWUzk3X2HiYV83OTk3X2HiYV83OQKV/sQBPP43Fh8VFR8WAAAAAAQAAAAAA5UDlQAUACkALQA2AAAlIicmJyY0NzY3NjIXFhcWFAcGBwYnMjc2NzY0JyYnJiIHBgcGFBcWFxYTMxEjEyImNDYyFhQGAfRxYV83OTk3X2HiYV83OTk3X2FxZFVTMTIyMVNVyFVTMTIyMVNVSzIyGREZGSIZGVM5N19h4mFfNzk5N19h4mFfNzkyMjFTVchVUzEyMjFTVchVUzEyAcL+3QFNGCMYGCMYAAAAAwAAAAADlQOVABQAKQA1AAAlIicmJyY0NzY3NjIXFhcWFAcGBwYnMjc2NzY0JyYnJiIHBgcGFBcWFxYTFwcnByc3JzcXNxcB9HFhXzc5OTdfYeJhXzc5OTdfYXFkVVMxMjIxU1XIVVMxMjIxU1WHgiOCgiOCgiOCgiNTOTdfYeJhXzc5OTdfYeJhXzc5MjIxU1XIVVMxMjIxU1XIVVMxMgFvgiOCgiOCgiOCgiMAAAACAAAAAANUA0IAGAAlAAABFwcnDgEjIicmJyY0NzY3NjIXFhcWFRQGJzQuASIOARQeATI+AQKoqyOsJ180T0RCJycnJ0JEn0RCJiglDUFvg29BQW+Db0EBYKwjrCAjKCZCRJ9EQicnJydCRE82YZdBb0FBb4NvQUFvAAAAAgAAAAADlQOVAAsAIAAAATcnBycHFwcXNxc3AyInJicmNDc2NzYyFxYXFhQHBgcGAiB9LH19LH19LH19LKlxYV83OTk3X2HiYV83OTk3X2EB9H0sfX0sfX0sfX0s/tw5N19h4mFfNzk5N19h4mFfNzkAAAACAAAAAAOVA5UAFAAcAAAlIicmJyY0NzY3NjIXFhcWFAcGBwYDJzcnBwYfAQH0cWFfNzk5N19h4mFfNzk5N19hHoqKK7UBAbVTOTdfYeJhXzc5OTdfYeJhXzc5ARKPjy27AQG6AAAAAAUAAAAAA1cDbAAJAB0AJwArAC8AAAETHgEzITI2NxMzAw4BIyEiJicDIzU0NjMhMhYdASUyFh0BIzU0NjMHMxMjEzMDIwEaIgETDQEuDRMBIjIiAjAh/tIhMAIiVgwJApoJDP7xCQzQDAkVMhUyiTIVMgLd/cgOEhIOAjj9xSEuLiECOx4IDAwIHo4MCR0dCQz6/okBd/6JAAAAAAAAEADGAAEAAAAAAAEABAAAAAEAAAAAAAIABwAEAAEAAAAAAAMABAALAAEAAAAAAAQABAAPAAEAAAAAAAUACwATAAEAAAAAAAYABAAeAAEAAAAAAAoAKwAiAAEAAAAAAAsAEwBNAAMAAQQJAAEACABgAAMAAQQJAAIADgBoAAMAAQQJAAMACAB2AAMAAQQJAAQACAB+AAMAAQQJAAUAFgCGAAMAAQQJAAYACACcAAMAAQQJAAoAVgCkAAMAAQQJAAsAJgD6d2V1aVJlZ3VsYXJ3ZXVpd2V1aVZlcnNpb24gMS4wd2V1aUdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAHcAZQB1AGkAUgBlAGcAdQBsAGEAcgB3AGUAdQBpAHcAZQB1AGkAVgBlAHIAcwBpAG8AbgAgADEALgAwAHcAZQB1AGkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETAAZjaXJjbGUIZG93bmxvYWQEaW5mbwxzYWZlLXN1Y2Nlc3MJc2FmZS13YXJuB3N1Y2Nlc3MOc3VjY2Vzcy1jaXJjbGURc3VjY2Vzcy1uby1jaXJjbGUHd2FpdGluZw53YWl0aW5nLWNpcmNsZQR3YXJuC2luZm8tY2lyY2xlBmNhbmNlbAZzZWFyY2gFY2xlYXIEYmFjawZkZWxldGUAAAAA')\r\n format('truetype');\n}\n.uni-icon-success:before {\r\n content: '\\EA06';\n}\n.uni-icon-success_circle:before {\r\n content: '\\EA07';\n}\n.uni-icon-success_no_circle:before {\r\n content: '\\EA08';\n}\n.uni-icon-safe_success:before {\r\n content: '\\EA04';\n}\n.uni-icon-safe_warn:before {\r\n content: '\\EA05';\n}\n.uni-icon-info:before {\r\n content: '\\EA03';\n}\n.uni-icon-info_circle:before {\r\n content: '\\EA0C';\n}\n.uni-icon-warn:before {\r\n content: '\\EA0B';\n}\n.uni-icon-waiting:before {\r\n content: '\\EA09';\n}\n.uni-icon-waiting_circle:before {\r\n content: '\\EA0A';\n}\n.uni-icon-circle:before {\r\n content: '\\EA01';\n}\n.uni-icon-cancel:before {\r\n content: '\\EA0D';\n}\n.uni-icon-download:before {\r\n content: '\\EA02';\n}\n.uni-icon-search:before {\r\n content: '\\EA0E';\n}\n.uni-icon-clear:before {\r\n content: '\\EA0F';\n}\n.uni-icon-success {\r\n color: #007aff;\n}\n.uni-icon-success_circle {\r\n color: #007aff;\n}\n.uni-icon-success_no_circle {\r\n color: #007aff;\n}\n.uni-icon-safe_success {\r\n color: #007aff;\n}\n.uni-icon-safe_warn {\r\n color: #ffbe00;\n}\n.uni-icon-info {\r\n color: #10aeff;\n}\n.uni-icon-info_circle {\r\n color: #007aff;\n}\n.uni-icon-warn {\r\n color: #f76260;\n}\n.uni-icon-waiting {\r\n color: #10aeff;\n}\n.uni-icon-waiting_circle {\r\n color: #10aeff;\n}\n.uni-icon-circle {\r\n color: #c9c9c9;\n}\n.uni-icon-cancel {\r\n color: #f43530;\n}\n.uni-icon-download {\r\n color: #007aff;\n}\n.uni-icon-search {\r\n color: #b2b2b2;\n}\n.uni-icon-clear {\r\n color: #b2b2b2;\n}\r\n"; +const _sfc_main$b = { + name: "Icon", + props: { + type: { + type: String, + required: true, + default: "" + }, + size: { + type: [String, Number], + default: 23 + }, + color: { + type: String, + default: "" + } + }, + methods: { + _converPx(value) { + if (/^-?\d+[ur]px$/i.test(value)) { + return value.replace(/(^-?\d+)[ur]px$/i, (text2, num) => { + return `${uni.upx2px(parseFloat(num))}px`; + }); + } else if (/^-?[\d\.]+$/.test(value)) { + return `${value}px`; + } + return value || ""; + } + } +}; +function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-icon", _ctx.$attrs, [ + createVNode("i", { + class: `uni-icon-${$props.type}`, + style: {"font-size": $options._converPx($props.size), color: $props.color}, + role: "img" + }, null, 6) + ], 16); +} +_sfc_main$b.render = _sfc_render$b; +var index_vue_vue_type_style_index_0_lang$5 = "\nuni-image {\r\n width: 320px;\r\n height: 240px;\r\n display: inline-block;\r\n overflow: hidden;\r\n position: relative;\n}\nuni-image[hidden] {\r\n display: none;\n}\nuni-image>div {\r\n width: 100%;\r\n height: 100%;\n}\nuni-image>img {\r\n -webkit-touch-callout: none;\r\n -webkit-user-select: none;\r\n -moz-user-select: none;\r\n display: block;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n opacity: 0;\n}\nuni-image>.uni-image-will-change {\r\n will-change: transform;\n}\r\n"; +const _sfc_main$c = { + name: "Image", + props: { + src: { + type: String, + default: "" + }, + mode: { + type: String, + default: "scaleToFill" + }, + lazyLoad: { + type: [Boolean, String], + default: false + } + }, + data() { + return { + originalWidth: 0, + originalHeight: 0, + availHeight: "" + }; + }, + computed: { + ratio() { + return this.originalWidth && this.originalHeight ? this.originalWidth / this.originalHeight : 0; + }, + realImagePath() { + return this.$getRealPath(this.src); + }, + modeStyle() { + let size = "auto"; + let position = ""; + const repeat = "no-repeat"; + switch (this.mode) { + case "aspectFit": + size = "contain"; + position = "center center"; + break; + case "aspectFill": + size = "cover"; + position = "center center"; + break; + case "widthFix": + size = "100% 100%"; + break; + case "top": + position = "center top"; + break; + case "bottom": + position = "center bottom"; + break; + case "center": + position = "center center"; + break; + case "left": + position = "left center"; + break; + case "right": + position = "right center"; + break; + case "top left": + position = "left top"; + break; + case "top right": + position = "right top"; + break; + case "bottom left": + position = "left bottom"; + break; + case "bottom right": + position = "right bottom"; + break; + default: + size = "100% 100%"; + position = "0% 0%"; + break; + } + return `background-position:${position};background-size:${size};background-repeat:${repeat};`; + } + }, + watch: { + src(newValue, oldValue) { + this._setContentImage(); + this._loadImage(); + }, + mode(newValue, oldValue) { + if (oldValue === "widthFix") { + this.$el.style.height = this.availHeight; + } + if (newValue === "widthFix" && this.ratio) { + this._fixSize(); + } + } + }, + mounted() { + this.availHeight = this.$el.style.height || ""; + this._setContentImage(); + if (!this.realImagePath) { + return; + } + this._loadImage(); + }, + methods: { + _resize() { + if (this.mode === "widthFix") { + this._fixSize(); + } + }, + _fixSize() { + const elWidth = this._getWidth(); + if (elWidth) { + let height = elWidth / this.ratio; + if (typeof navigator && navigator.vendor === "Google Inc." && height > 10) { + height = Math.round(height / 2) * 2; + } + this.$el.style.height = height + "px"; + } + }, + _setContentImage() { + this.$refs.content.style.backgroundImage = this.src ? `url("${this.realImagePath}")` : "none"; + }, + _loadImage() { + const _self = this; + const img = new Image(); + img.onload = function($event) { + _self.originalWidth = this.width; + _self.originalHeight = this.height; + if (_self.mode === "widthFix") { + _self._fixSize(); + } + _self.$trigger("load", $event, { + width: this.width, + height: this.height + }); + }; + img.onerror = function($event) { + _self.$trigger("error", $event, { + errMsg: `GET ${_self.src} 404 (Not Found)` + }); + }; + img.src = this.realImagePath; + }, + _getWidth() { + const computedStyle = window.getComputedStyle(this.$el); + const borderWidth = (parseFloat(computedStyle.borderLeftWidth, 10) || 0) + (parseFloat(computedStyle.borderRightWidth, 10) || 0); + const paddingWidth = (parseFloat(computedStyle.paddingLeft, 10) || 0) + (parseFloat(computedStyle.paddingRight, 10) || 0); + return this.$el.offsetWidth - borderWidth - paddingWidth; + } + } +}; +function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) { + const _component_v_uni_resize_sensor = resolveComponent("v-uni-resize-sensor"); + return openBlock(), createBlock("uni-image", _ctx.$attrs, [ + createVNode("div", { + ref: "content", + style: $options.modeStyle + }, null, 4), + createVNode("img", {src: $options.realImagePath}, null, 8, ["src"]), + $props.mode === "widthFix" ? (openBlock(), createBlock(_component_v_uni_resize_sensor, { + key: 0, + ref: "sensor", + onResize: $options._resize + }, null, 8, ["onResize"])) : createCommentVNode("", true) + ], 16); +} +_sfc_main$c.render = _sfc_render$c; +var index_vue_vue_type_style_index_0_lang$6 = '\nuni-input {\r\n display: block;\r\n font-size: 16px;\r\n line-height: 1.4em;\r\n height: 1.4em;\r\n min-height: 1.4em;\r\n overflow: hidden;\n}\nuni-input[hidden] {\r\n display: none;\n}\n.uni-input-wrapper,\r\n.uni-input-placeholder,\r\n.uni-input-form,\r\n.uni-input-input {\r\n outline: none;\r\n border: none;\r\n padding: 0;\r\n margin: 0;\r\n text-decoration: inherit;\n}\n.uni-input-wrapper,\r\n.uni-input-form {\r\n display: flex;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n flex-direction: column;\r\n justify-content: center;\n}\n.uni-input-placeholder,\r\n.uni-input-input {\r\n width: 100%;\n}\n.uni-input-placeholder {\r\n position: absolute;\r\n top: auto !important;\r\n left: 0;\r\n color: gray;\r\n overflow: hidden;\r\n text-overflow: clip;\r\n white-space: pre;\r\n word-break: keep-all;\r\n pointer-events: none;\r\n line-height: inherit;\n}\n.uni-input-input {\r\n display: block;\r\n height: 100%;\r\n background: none;\r\n color: inherit;\r\n opacity: 1;\r\n -webkit-text-fill-color: currentcolor;\r\n font: inherit;\r\n line-height: inherit;\r\n letter-spacing: inherit;\r\n text-align: inherit;\r\n text-indent: inherit;\r\n text-transform: inherit;\r\n text-shadow: inherit;\n}\n.uni-input-input[type="search"]::-webkit-search-cancel-button {\r\n display: none;\n}\n.uni-input-input::-webkit-outer-spin-button,\r\n.uni-input-input::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\n}\n.uni-input-input[type="number"] {\r\n -moz-appearance: textfield;\n}\r\n'; +const INPUT_TYPES = ["text", "number", "idcard", "digit", "password"]; +const NUMBER_TYPES = ["number", "digit"]; +const _sfc_main$d = { + name: "Input", + mixins: [baseInput], + props: { + name: { + type: String, + default: "" + }, + type: { + type: String, + default: "text" + }, + password: { + type: [Boolean, String], + default: false + }, + placeholder: { + type: String, + default: "" + }, + placeholderStyle: { + type: String, + default: "" + }, + placeholderClass: { + type: String, + default: "input-placeholder" + }, + disabled: { + type: [Boolean, String], + default: false + }, + maxlength: { + type: [Number, String], + default: 140 + }, + focus: { + type: [Boolean, String], + default: false + }, + confirmType: { + type: String, + default: "done" + } + }, + data() { + return { + composing: false, + wrapperHeight: 0, + cachedValue: "" + }; + }, + computed: { + inputType: function() { + let type = ""; + switch (this.type) { + case "text": + this.confirmType === "search" && (type = "search"); + break; + case "idcard": + type = "text"; + break; + case "digit": + type = "number"; + break; + default: + type = ~INPUT_TYPES.indexOf(this.type) ? this.type : "text"; + break; + } + return this.password ? "password" : type; + }, + step() { + return ~NUMBER_TYPES.indexOf(this.type) ? "0.000000000000000001" : ""; + } + }, + watch: { + focus(val) { + this.$refs.input && this.$refs.input[val ? "focus" : "blur"](); + }, + maxlength(value) { + const realValue = this.valueSync.slice(0, parseInt(value, 10)); + realValue !== this.valueSync && (this.valueSync = realValue); + } + }, + created() { + this.$dispatch("Form", "uni-form-group-update", { + type: "add", + vm: this + }); + }, + mounted() { + if (this.confirmType === "search") { + const formElem = document.createElement("form"); + formElem.action = ""; + formElem.onsubmit = function() { + return false; + }; + formElem.className = "uni-input-form"; + formElem.appendChild(this.$refs.input); + this.$refs.wrapper.appendChild(formElem); + } + let $vm = this; + while ($vm) { + const scopeId = $vm.$options._scopeId; + if (scopeId) { + this.$refs.placeholder.setAttribute(scopeId, ""); + } + $vm = $vm.$parent; + } + this.initKeyboard(this.$refs.input); + }, + beforeDestroy() { + this.$dispatch("Form", "uni-form-group-update", { + type: "remove", + vm: this + }); + }, + methods: { + _onKeyup($event) { + if ($event.keyCode === 13) { + this.$trigger("confirm", $event, { + value: $event.target.value + }); + } + }, + _onInput($event) { + if (this.composing) { + return; + } + if (~NUMBER_TYPES.indexOf(this.type)) { + if (this.$refs.input.validity && !this.$refs.input.validity.valid) { + $event.target.value = this.cachedValue; + this.valueSync = $event.target.value; + return; + } else { + this.cachedValue = this.valueSync; + } + } + if (this.inputType === "number") { + const maxlength = parseInt(this.maxlength, 10); + if (maxlength > 0 && $event.target.value.length > maxlength) { + $event.target.value = $event.target.value.slice(0, maxlength); + this.valueSync = $event.target.value; + return; + } + } + this.$triggerInput($event, { + value: this.valueSync + }); + }, + _onFocus($event) { + this.$trigger("focus", $event, { + value: $event.target.value + }); + }, + _onBlur($event) { + this.$trigger("blur", $event, { + value: $event.target.value + }); + }, + _onComposition($event) { + if ($event.type === "compositionstart") { + this.composing = true; + } else { + this.composing = false; + } + }, + _resetFormData() { + this.valueSync = ""; + }, + _getFormData() { + return this.name ? { + value: this.valueSync, + key: this.name + } : {}; + } + } +}; +const _hoisted_1$7 = { + ref: "wrapper", + class: "uni-input-wrapper" +}; +function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-input", mergeProps({ + onChange: _cache[8] || (_cache[8] = withModifiers(() => { + }, ["stop"])) + }, _ctx.$attrs), [ + createVNode("div", _hoisted_1$7, [ + withDirectives(createVNode("div", { + ref: "placeholder", + style: $props.placeholderStyle, + class: [$props.placeholderClass, "uni-input-placeholder"], + textContent: toDisplayString($props.placeholder) + }, null, 14, ["textContent"]), [ + [vShow, !($data.composing || _ctx.valueSync.length)] + ]), + withDirectives(createVNode("input", { + ref: "input", + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.valueSync = $event), + disabled: $props.disabled, + type: $options.inputType, + maxlength: $props.maxlength, + step: $options.step, + autofocus: $props.focus, + class: "uni-input-input", + autocomplete: "off", + onFocus: _cache[2] || (_cache[2] = (...args) => $options._onFocus && $options._onFocus(...args)), + onBlur: _cache[3] || (_cache[3] = (...args) => $options._onBlur && $options._onBlur(...args)), + onInput: _cache[4] || (_cache[4] = withModifiers((...args) => $options._onInput && $options._onInput(...args), ["stop"])), + onCompositionstart: _cache[5] || (_cache[5] = (...args) => $options._onComposition && $options._onComposition(...args)), + onCompositionend: _cache[6] || (_cache[6] = (...args) => $options._onComposition && $options._onComposition(...args)), + onKeyup: _cache[7] || (_cache[7] = withModifiers((...args) => $options._onKeyup && $options._onKeyup(...args), ["stop"])) + }, null, 40, ["disabled", "type", "maxlength", "step", "autofocus"]), [ + [vModelDynamic, _ctx.valueSync] + ]) + ], 512) + ], 16); +} +_sfc_main$d.render = _sfc_render$d; +var index_vue_vue_type_style_index_0_lang$7 = "\n.uni-label-pointer {\r\n cursor: pointer;\n}\r\n"; +const _sfc_main$e = { + name: "Label", + mixins: [emitter], + props: { + for: { + type: String, + default: "" + } + }, + computed: { + pointer() { + return this.for || this.$slots.default && this.$slots.default.length; + } + }, + methods: { + _onClick($event) { + let stopPropagation = /^uni-(checkbox|radio|switch)-/.test($event.target.className); + if (!stopPropagation) { + stopPropagation = /^uni-(checkbox|radio|switch|button)$/i.test($event.target.tagName); + } + if (stopPropagation) { + return; + } + if (this.for) { + UniViewJSBridge.emit("uni-label-click-" + this.$page.id + "-" + this.for, $event, true); + } else { + this.$broadcast(["Checkbox", "Radio", "Switch", "Button"], "uni-label-click", $event, true); + } + } + } +}; +function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-label", mergeProps({ + class: {"uni-label-pointer": $options.pointer} + }, _ctx.$attrs, { + onClick: _cache[1] || (_cache[1] = (...args) => $options._onClick && $options._onClick(...args)) + }), [ + renderSlot(_ctx.$slots, "default") + ], 16); +} +_sfc_main$e.render = _sfc_render$e; +const addListenerToElement = function(element, type, callback, capture) { + element.addEventListener(type, ($event) => { + if (typeof callback === "function") { + if (callback($event) === false) { + $event.preventDefault(); + $event.stopPropagation(); + } + } + }, { + passive: false + }); +}; +var touchtrack = { + beforeDestroy() { + document.removeEventListener("mousemove", this.__mouseMoveEventListener); + document.removeEventListener("mouseup", this.__mouseUpEventListener); + }, + methods: { + touchtrack: function(element, method, useCancel) { + const self = this; + let x0 = 0; + let y0 = 0; + let x1 = 0; + let y1 = 0; + const fn = function($event, state, x, y) { + if (self[method]({ + target: $event.target, + currentTarget: $event.currentTarget, + preventDefault: $event.preventDefault.bind($event), + stopPropagation: $event.stopPropagation.bind($event), + touches: $event.touches, + changedTouches: $event.changedTouches, + detail: { + state, + x0: x, + y0: y, + dx: x - x0, + dy: y - y0, + ddx: x - x1, + ddy: y - y1, + timeStamp: $event.timeStamp + } + }) === false) { + return false; + } + }; + let $eventOld = null; + let hasTouchStart; + let hasMouseDown; + addListenerToElement(element, "touchstart", function($event) { + hasTouchStart = true; + if ($event.touches.length === 1 && !$eventOld) { + $eventOld = $event; + x0 = x1 = $event.touches[0].pageX; + y0 = y1 = $event.touches[0].pageY; + return fn($event, "start", x0, y0); + } + }); + addListenerToElement(element, "mousedown", function($event) { + hasMouseDown = true; + if (!hasTouchStart && !$eventOld) { + $eventOld = $event; + x0 = x1 = $event.pageX; + y0 = y1 = $event.pageY; + return fn($event, "start", x0, y0); + } + }); + addListenerToElement(element, "touchmove", function($event) { + if ($event.touches.length === 1 && $eventOld) { + const res = fn($event, "move", $event.touches[0].pageX, $event.touches[0].pageY); + x1 = $event.touches[0].pageX; + y1 = $event.touches[0].pageY; + return res; + } + }); + const mouseMoveEventListener = this.__mouseMoveEventListener = function($event) { + if (!hasTouchStart && hasMouseDown && $eventOld) { + const res = fn($event, "move", $event.pageX, $event.pageY); + x1 = $event.pageX; + y1 = $event.pageY; + return res; + } + }; + document.addEventListener("mousemove", mouseMoveEventListener); + addListenerToElement(element, "touchend", function($event) { + if ($event.touches.length === 0 && $eventOld) { + hasTouchStart = false; + $eventOld = null; + return fn($event, "end", $event.changedTouches[0].pageX, $event.changedTouches[0].pageY); + } + }); + const mouseUpEventListener = this.__mouseUpEventListener = function($event) { + hasMouseDown = false; + if (!hasTouchStart && $eventOld) { + $eventOld = null; + return fn($event, "end", $event.pageX, $event.pageY); + } + }; + document.addEventListener("mouseup", mouseUpEventListener); + addListenerToElement(element, "touchcancel", function($event) { + if ($eventOld) { + hasTouchStart = false; + const $eventTemp = $eventOld; + $eventOld = null; + return fn($event, useCancel ? "cancel" : "end", $eventTemp.touches[0].pageX, $eventTemp.touches[0].pageY); + } + }); + } + } +}; +function e(e2, t2, n) { + return e2 > t2 - n && e2 < t2 + n; +} +function t(t2, n) { + return e(t2, 0, n); +} +function Decline() { +} +Decline.prototype.x = function(e2) { + return Math.sqrt(e2); +}; +function Friction(e2, t2) { + this._m = e2; + this._f = 1e3 * t2; + this._startTime = 0; + this._v = 0; +} +Friction.prototype.setV = function(x, y) { + var n = Math.pow(Math.pow(x, 2) + Math.pow(y, 2), 0.5); + this._x_v = x; + this._y_v = y; + this._x_a = -this._f * this._x_v / n; + this._y_a = -this._f * this._y_v / n; + this._t = Math.abs(x / this._x_a) || Math.abs(y / this._y_a); + this._lastDt = null; + this._startTime = new Date().getTime(); +}; +Friction.prototype.setS = function(x, y) { + this._x_s = x; + this._y_s = y; +}; +Friction.prototype.s = function(t2) { + if (t2 === void 0) { + t2 = (new Date().getTime() - this._startTime) / 1e3; + } + if (t2 > this._t) { + t2 = this._t; + this._lastDt = t2; + } + var x = this._x_v * t2 + 0.5 * this._x_a * Math.pow(t2, 2) + this._x_s; + var y = this._y_v * t2 + 0.5 * this._y_a * Math.pow(t2, 2) + this._y_s; + if (this._x_a > 0 && x < this._endPositionX || this._x_a < 0 && x > this._endPositionX) { + x = this._endPositionX; + } + if (this._y_a > 0 && y < this._endPositionY || this._y_a < 0 && y > this._endPositionY) { + y = this._endPositionY; + } + return { + x, + y + }; +}; +Friction.prototype.ds = function(t2) { + if (t2 === void 0) { + t2 = (new Date().getTime() - this._startTime) / 1e3; + } + if (t2 > this._t) { + t2 = this._t; + } + return { + dx: this._x_v + this._x_a * t2, + dy: this._y_v + this._y_a * t2 + }; +}; +Friction.prototype.delta = function() { + return { + x: -1.5 * Math.pow(this._x_v, 2) / this._x_a || 0, + y: -1.5 * Math.pow(this._y_v, 2) / this._y_a || 0 + }; +}; +Friction.prototype.dt = function() { + return -this._x_v / this._x_a; +}; +Friction.prototype.done = function() { + var t2 = e(this.s().x, this._endPositionX) || e(this.s().y, this._endPositionY) || this._lastDt === this._t; + this._lastDt = null; + return t2; +}; +Friction.prototype.setEnd = function(x, y) { + this._endPositionX = x; + this._endPositionY = y; +}; +Friction.prototype.reconfigure = function(m, f2) { + this._m = m; + this._f = 1e3 * f2; +}; +function Spring(m, k, c) { + this._m = m; + this._k = k; + this._c = c; + this._solution = null; + this._endPosition = 0; + this._startTime = 0; +} +Spring.prototype._solve = function(e2, t2) { + var n = this._c; + var i = this._m; + var r = this._k; + var o2 = n * n - 4 * i * r; + if (o2 === 0) { + const a2 = -n / (2 * i); + const s = e2; + const l = t2 / (a2 * e2); + return { + x: function(e3) { + return (s + l * e3) * Math.pow(Math.E, a2 * e3); + }, + dx: function(e3) { + var t3 = Math.pow(Math.E, a2 * e3); + return a2 * (s + l * e3) * t3 + l * t3; + } + }; + } + if (o2 > 0) { + const c = (-n - Math.sqrt(o2)) / (2 * i); + const u = (-n + Math.sqrt(o2)) / (2 * i); + const d = (t2 - c * e2) / (u - c); + const h = e2 - d; + return { + x: function(e3) { + var t3; + var n2; + if (e3 === this._t) { + t3 = this._powER1T; + n2 = this._powER2T; + } + this._t = e3; + if (!t3) { + t3 = this._powER1T = Math.pow(Math.E, c * e3); + } + if (!n2) { + n2 = this._powER2T = Math.pow(Math.E, u * e3); + } + return h * t3 + d * n2; + }, + dx: function(e3) { + var t3; + var n2; + if (e3 === this._t) { + t3 = this._powER1T; + n2 = this._powER2T; + } + this._t = e3; + if (!t3) { + t3 = this._powER1T = Math.pow(Math.E, c * e3); + } + if (!n2) { + n2 = this._powER2T = Math.pow(Math.E, u * e3); + } + return h * c * t3 + d * u * n2; + } + }; + } + var p2 = Math.sqrt(4 * i * r - n * n) / (2 * i); + var f2 = -n / 2 * i; + var v2 = e2; + var g2 = (t2 - f2 * e2) / p2; + return { + x: function(e3) { + return Math.pow(Math.E, f2 * e3) * (v2 * Math.cos(p2 * e3) + g2 * Math.sin(p2 * e3)); + }, + dx: function(e3) { + var t3 = Math.pow(Math.E, f2 * e3); + var n2 = Math.cos(p2 * e3); + var i2 = Math.sin(p2 * e3); + return t3 * (g2 * p2 * n2 - v2 * p2 * i2) + f2 * t3 * (g2 * i2 + v2 * n2); + } + }; +}; +Spring.prototype.x = function(e2) { + if (e2 === void 0) { + e2 = (new Date().getTime() - this._startTime) / 1e3; + } + return this._solution ? this._endPosition + this._solution.x(e2) : 0; +}; +Spring.prototype.dx = function(e2) { + if (e2 === void 0) { + e2 = (new Date().getTime() - this._startTime) / 1e3; + } + return this._solution ? this._solution.dx(e2) : 0; +}; +Spring.prototype.setEnd = function(e2, n, i) { + if (!i) { + i = new Date().getTime(); + } + if (e2 !== this._endPosition || !t(n, 0.1)) { + n = n || 0; + var r = this._endPosition; + if (this._solution) { + if (t(n, 0.1)) { + n = this._solution.dx((i - this._startTime) / 1e3); + } + r = this._solution.x((i - this._startTime) / 1e3); + if (t(n, 0.1)) { + n = 0; + } + if (t(r, 0.1)) { + r = 0; + } + r += this._endPosition; + } + if (!(this._solution && t(r - e2, 0.1) && t(n, 0.1))) { + this._endPosition = e2; + this._solution = this._solve(r - this._endPosition, n); + this._startTime = i; + } + } +}; +Spring.prototype.snap = function(e2) { + this._startTime = new Date().getTime(); + this._endPosition = e2; + this._solution = { + x: function() { + return 0; + }, + dx: function() { + return 0; + } + }; +}; +Spring.prototype.done = function(n) { + if (!n) { + n = new Date().getTime(); + } + return e(this.x(), this._endPosition, 0.1) && t(this.dx(), 0.1); +}; +Spring.prototype.reconfigure = function(m, t2, c) { + this._m = m; + this._k = t2; + this._c = c; + if (!this.done()) { + this._solution = this._solve(this.x() - this._endPosition, this.dx()); + this._startTime = new Date().getTime(); + } +}; +Spring.prototype.springConstant = function() { + return this._k; +}; +Spring.prototype.damping = function() { + return this._c; +}; +Spring.prototype.configuration = function() { + function e2(e3, t3) { + e3.reconfigure(1, t3, e3.damping()); + } + function t2(e3, t3) { + e3.reconfigure(1, e3.springConstant(), t3); + } + return [ + { + label: "Spring Constant", + read: this.springConstant.bind(this), + write: e2.bind(this, this), + min: 100, + max: 1e3 + }, + { + label: "Damping", + read: this.damping.bind(this), + write: t2.bind(this, this), + min: 1, + max: 500 + } + ]; +}; +function STD(e2, t2, n) { + this._springX = new Spring(e2, t2, n); + this._springY = new Spring(e2, t2, n); + this._springScale = new Spring(e2, t2, n); + this._startTime = 0; +} +STD.prototype.setEnd = function(e2, t2, n, i) { + var r = new Date().getTime(); + this._springX.setEnd(e2, i, r); + this._springY.setEnd(t2, i, r); + this._springScale.setEnd(n, i, r); + this._startTime = r; +}; +STD.prototype.x = function() { + var e2 = (new Date().getTime() - this._startTime) / 1e3; + return { + x: this._springX.x(e2), + y: this._springY.x(e2), + scale: this._springScale.x(e2) + }; +}; +STD.prototype.done = function() { + var e2 = new Date().getTime(); + return this._springX.done(e2) && this._springY.done(e2) && this._springScale.done(e2); +}; +STD.prototype.reconfigure = function(e2, t2, n) { + this._springX.reconfigure(e2, t2, n); + this._springY.reconfigure(e2, t2, n); + this._springScale.reconfigure(e2, t2, n); +}; +let view; +let pullToRefreshStyle; +let disabled; +const lastAction = {}; +function disableScrollBounce({disable}) { + function exec() { + if (!view) { + view = plus.webview.currentWebview(); + } + if (!disabled) { + pullToRefreshStyle = (view.getStyle() || {}).pullToRefresh || {}; + } + disabled = disable; + if (pullToRefreshStyle.support) { + view.setPullToRefresh(Object.assign({}, pullToRefreshStyle, { + support: !disable + })); + } + } + const time = Date.now(); + if (disable === lastAction.disable && time - lastAction.time < 20) { + return; + } + lastAction.disable = disable; + lastAction.time = time; + plusReady(() => { + if (plus.os.name === "iOS") { + setTimeout(exec, 20); + } else { + exec(); + } + }); +} +var index_vue_vue_type_style_index_0_lang$8 = "\nuni-movable-view {\n display: inline-block;\n width: 10px;\n height: 10px;\n top: 0px;\n left: 0px;\n position: absolute;\n cursor: grab;\n}\nuni-movable-view[hidden] {\n display: none;\n}\n"; +var requesting = false; +function _requestAnimationFrame(e2) { + if (!requesting) { + requesting = true; + requestAnimationFrame(function() { + e2(); + requesting = false; + }); + } +} +function p(t2, n) { + if (t2 === n) { + return 0; + } + var i = t2.offsetLeft; + return t2.offsetParent ? i += p(t2.offsetParent, n) : 0; +} +function f(t2, n) { + if (t2 === n) { + return 0; + } + var i = t2.offsetTop; + return t2.offsetParent ? i += f(t2.offsetParent, n) : 0; +} +function v(a2, b) { + return +((1e3 * a2 - 1e3 * b) / 1e3).toFixed(1); +} +function g(e2, t2, n) { + var i = function(e3) { + if (e3 && e3.id) { + cancelAnimationFrame(e3.id); + } + if (e3) { + e3.cancelled = true; + } + }; + var r = { + id: 0, + cancelled: false + }; + function fn(n2, i2, r2, o2) { + if (!n2 || !n2.cancelled) { + r2(i2); + var a2 = e2.done(); + if (!a2) { + if (!n2.cancelled) { + n2.id = requestAnimationFrame(fn.bind(null, n2, i2, r2, o2)); + } + } + if (a2 && o2) { + o2(i2); + } + } + } + fn(r, e2, t2, n); + return { + cancel: i.bind(null, r), + model: e2 + }; +} +const _sfc_main$f = { + name: "MovableView", + mixins: [touchtrack], + props: { + direction: { + type: String, + default: "none" + }, + inertia: { + type: [Boolean, String], + default: false + }, + outOfBounds: { + type: [Boolean, String], + default: false + }, + x: { + type: [Number, String], + default: 0 + }, + y: { + type: [Number, String], + default: 0 + }, + damping: { + type: [Number, String], + default: 20 + }, + friction: { + type: [Number, String], + default: 2 + }, + disabled: { + type: [Boolean, String], + default: false + }, + scale: { + type: [Boolean, String], + default: false + }, + scaleMin: { + type: [Number, String], + default: 0.5 + }, + scaleMax: { + type: [Number, String], + default: 10 + }, + scaleValue: { + type: [Number, String], + default: 1 + }, + animation: { + type: [Boolean, String], + default: true + } + }, + data() { + return { + xSync: this._getPx(this.x), + ySync: this._getPx(this.y), + scaleValueSync: Number(this.scaleValue) || 1, + width: 0, + height: 0, + minX: 0, + minY: 0, + maxX: 0, + maxY: 0 + }; + }, + computed: { + dampingNumber() { + var val = Number(this.damping); + return isNaN(val) ? 20 : val; + }, + frictionNumber() { + var val = Number(this.friction); + return isNaN(val) || val <= 0 ? 2 : val; + }, + scaleMinNumber() { + var val = Number(this.scaleMin); + return isNaN(val) ? 0.5 : val; + }, + scaleMaxNumber() { + var val = Number(this.scaleMax); + return isNaN(val) ? 10 : val; + }, + xMove() { + return this.direction === "all" || this.direction === "horizontal"; + }, + yMove() { + return this.direction === "all" || this.direction === "vertical"; + } + }, + watch: { + x(val) { + this.xSync = this._getPx(val); + }, + xSync(val) { + this._setX(val); + }, + y(val) { + this.ySync = this._getPx(val); + }, + ySync(val) { + this._setY(val); + }, + scaleValue(val) { + this.scaleValueSync = Number(val) || 0; + }, + scaleValueSync(val) { + this._setScaleValue(val); + }, + scaleMinNumber() { + this._setScaleMinOrMax(); + }, + scaleMaxNumber() { + this._setScaleMinOrMax(); + } + }, + created: function() { + this._offset = { + x: 0, + y: 0 + }; + this._scaleOffset = { + x: 0, + y: 0 + }; + this._translateX = 0; + this._translateY = 0; + this._scale = 1; + this._oldScale = 1; + this._STD = new STD(1, 9 * Math.pow(this.dampingNumber, 2) / 40, this.dampingNumber); + this._friction = new Friction(1, this.frictionNumber); + this._declineX = new Decline(); + this._declineY = new Decline(); + this.__touchInfo = { + historyX: [0, 0], + historyY: [0, 0], + historyT: [0, 0] + }; + }, + mounted: function() { + this.touchtrack(this.$el, "_onTrack"); + this.setParent(); + this._friction.reconfigure(1, this.frictionNumber); + this._STD.reconfigure(1, 9 * Math.pow(this.dampingNumber, 2) / 40, this.dampingNumber); + this.$el.style.transformOrigin = "center"; + }, + methods: { + _getPx(val) { + if (/\d+[ur]px$/i.test(val)) { + return uni.upx2px(parseFloat(val)); + } + return Number(val) || 0; + }, + _setX: function(val) { + if (this.xMove) { + if (val + this._scaleOffset.x === this._translateX) { + return this._translateX; + } else { + if (this._SFA) { + this._SFA.cancel(); + } + this._animationTo(val + this._scaleOffset.x, this.ySync + this._scaleOffset.y, this._scale); + } + } + return val; + }, + _setY: function(val) { + if (this.yMove) { + if (val + this._scaleOffset.y === this._translateY) { + return this._translateY; + } else { + if (this._SFA) { + this._SFA.cancel(); + } + this._animationTo(this.xSync + this._scaleOffset.x, val + this._scaleOffset.y, this._scale); + } + } + return val; + }, + _setScaleMinOrMax: function() { + if (!this.scale) { + return false; + } + this._updateScale(this._scale, true); + this._updateOldScale(this._scale); + }, + _setScaleValue: function(scale) { + if (!this.scale) { + return false; + } + scale = this._adjustScale(scale); + this._updateScale(scale, true); + this._updateOldScale(scale); + return scale; + }, + __handleTouchStart: function() { + if (!this._isScaling) { + if (!this.disabled) { + disableScrollBounce({ + disable: true + }); + if (this._FA) { + this._FA.cancel(); + } + if (this._SFA) { + this._SFA.cancel(); + } + this.__touchInfo.historyX = [0, 0]; + this.__touchInfo.historyY = [0, 0]; + this.__touchInfo.historyT = [0, 0]; + if (this.xMove) { + this.__baseX = this._translateX; + } + if (this.yMove) { + this.__baseY = this._translateY; + } + this.$el.style.willChange = "transform"; + this._checkCanMove = null; + this._firstMoveDirection = null; + this._isTouching = true; + } + } + }, + __handleTouchMove: function(event2) { + var self = this; + if (!this._isScaling && !this.disabled && this._isTouching) { + let x = this._translateX; + let y = this._translateY; + if (this._firstMoveDirection === null) { + this._firstMoveDirection = Math.abs(event2.detail.dx / event2.detail.dy) > 1 ? "htouchmove" : "vtouchmove"; + } + if (this.xMove) { + x = event2.detail.dx + this.__baseX; + this.__touchInfo.historyX.shift(); + this.__touchInfo.historyX.push(x); + if (!this.yMove && this._checkCanMove === null) { + this._checkCanMove = Math.abs(event2.detail.dx / event2.detail.dy) < 1; + } + } + if (this.yMove) { + y = event2.detail.dy + this.__baseY; + this.__touchInfo.historyY.shift(); + this.__touchInfo.historyY.push(y); + if (!this.xMove && this._checkCanMove === null) { + this._checkCanMove = Math.abs(event2.detail.dy / event2.detail.dx) < 1; + } + } + this.__touchInfo.historyT.shift(); + this.__touchInfo.historyT.push(event2.detail.timeStamp); + if (!this._checkCanMove) { + event2.preventDefault(); + let source = "touch"; + if (x < this.minX) { + if (this.outOfBounds) { + source = "touch-out-of-bounds"; + x = this.minX - this._declineX.x(this.minX - x); + } else { + x = this.minX; + } + } else if (x > this.maxX) { + if (this.outOfBounds) { + source = "touch-out-of-bounds"; + x = this.maxX + this._declineX.x(x - this.maxX); + } else { + x = this.maxX; + } + } + if (y < this.minY) { + if (this.outOfBounds) { + source = "touch-out-of-bounds"; + y = this.minY - this._declineY.x(this.minY - y); + } else { + y = this.minY; + } + } else { + if (y > this.maxY) { + if (this.outOfBounds) { + source = "touch-out-of-bounds"; + y = this.maxY + this._declineY.x(y - this.maxY); + } else { + y = this.maxY; + } + } + } + _requestAnimationFrame(function() { + self._setTransform(x, y, self._scale, source); + }); + } + } + }, + __handleTouchEnd: function() { + var self = this; + if (!this._isScaling && !this.disabled && this._isTouching) { + disableScrollBounce({ + disable: false + }); + this.$el.style.willChange = "auto"; + this._isTouching = false; + if (!this._checkCanMove && !this._revise("out-of-bounds") && this.inertia) { + const xv = 1e3 * (this.__touchInfo.historyX[1] - this.__touchInfo.historyX[0]) / (this.__touchInfo.historyT[1] - this.__touchInfo.historyT[0]); + const yv = 1e3 * (this.__touchInfo.historyY[1] - this.__touchInfo.historyY[0]) / (this.__touchInfo.historyT[1] - this.__touchInfo.historyT[0]); + this._friction.setV(xv, yv); + this._friction.setS(this._translateX, this._translateY); + const x0 = this._friction.delta().x; + const y0 = this._friction.delta().y; + let x = x0 + this._translateX; + let y = y0 + this._translateY; + if (x < this.minX) { + x = this.minX; + y = this._translateY + (this.minX - this._translateX) * y0 / x0; + } else { + if (x > this.maxX) { + x = this.maxX; + y = this._translateY + (this.maxX - this._translateX) * y0 / x0; + } + } + if (y < this.minY) { + y = this.minY; + x = this._translateX + (this.minY - this._translateY) * x0 / y0; + } else { + if (y > this.maxY) { + y = this.maxY; + x = this._translateX + (this.maxY - this._translateY) * x0 / y0; + } + } + this._friction.setEnd(x, y); + this._FA = g(this._friction, function() { + var t2 = self._friction.s(); + var x2 = t2.x; + var y2 = t2.y; + self._setTransform(x2, y2, self._scale, "friction"); + }, function() { + self._FA.cancel(); + }); + } + } + }, + _onTrack: function(event2) { + switch (event2.detail.state) { + case "start": + this.__handleTouchStart(); + break; + case "move": + this.__handleTouchMove(event2); + break; + case "end": + this.__handleTouchEnd(); + } + }, + _getLimitXY: function(x, y) { + var outOfBounds = false; + if (x > this.maxX) { + x = this.maxX; + outOfBounds = true; + } else { + if (x < this.minX) { + x = this.minX; + outOfBounds = true; + } + } + if (y > this.maxY) { + y = this.maxY; + outOfBounds = true; + } else { + if (y < this.minY) { + y = this.minY; + outOfBounds = true; + } + } + return { + x, + y, + outOfBounds + }; + }, + setParent: function() { + if (!this.$parent._isMounted) { + return; + } + if (this._FA) { + this._FA.cancel(); + } + if (this._SFA) { + this._SFA.cancel(); + } + var scale = this.scale ? this.scaleValueSync : 1; + this._updateOffset(); + this._updateWH(scale); + this._updateBoundary(); + this._translateX = this.xSync + this._scaleOffset.x; + this._translateY = this.ySync + this._scaleOffset.y; + var limitXY = this._getLimitXY(this._translateX, this._translateY); + var x = limitXY.x; + var y = limitXY.y; + this._setTransform(x, y, scale, "", true); + this._updateOldScale(scale); + }, + _updateOffset: function() { + this._offset.x = p(this.$el, this.$parent.$el); + this._offset.y = f(this.$el, this.$parent.$el); + }, + _updateWH: function(scale) { + scale = scale || this._scale; + scale = this._adjustScale(scale); + var rect = this.$el.getBoundingClientRect(); + this.height = rect.height / this._scale; + this.width = rect.width / this._scale; + var height = this.height * scale; + var width = this.width * scale; + this._scaleOffset.x = (width - this.width) / 2; + this._scaleOffset.y = (height - this.height) / 2; + }, + _updateBoundary: function() { + var x = 0 - this._offset.x + this._scaleOffset.x; + var width = this.$parent.width - this.width - this._offset.x - this._scaleOffset.x; + this.minX = Math.min(x, width); + this.maxX = Math.max(x, width); + var y = 0 - this._offset.y + this._scaleOffset.y; + var height = this.$parent.height - this.height - this._offset.y - this._scaleOffset.y; + this.minY = Math.min(y, height); + this.maxY = Math.max(y, height); + }, + _beginScale: function() { + this._isScaling = true; + }, + _endScale: function() { + this._isScaling = false; + this._updateOldScale(this._scale); + }, + _setScale: function(scale) { + if (this.scale) { + scale = this._adjustScale(scale); + scale = this._oldScale * scale; + this._beginScale(); + this._updateScale(scale); + } + }, + _updateScale: function(scale, animat) { + var self = this; + if (this.scale) { + scale = this._adjustScale(scale); + this._updateWH(scale); + this._updateBoundary(); + const limitXY = this._getLimitXY(this._translateX, this._translateY); + const x = limitXY.x; + const y = limitXY.y; + if (animat) { + this._animationTo(x, y, scale, "", true, true); + } else { + _requestAnimationFrame(function() { + self._setTransform(x, y, scale, "", true, true); + }); + } + } + }, + _updateOldScale: function(scale) { + this._oldScale = scale; + }, + _adjustScale: function(scale) { + scale = Math.max(0.5, this.scaleMinNumber, scale); + scale = Math.min(10, this.scaleMaxNumber, scale); + return scale; + }, + _animationTo: function(x, y, scale, source, r, o2) { + var self = this; + if (this._FA) { + this._FA.cancel(); + } + if (this._SFA) { + this._SFA.cancel(); + } + if (!this.xMove) { + x = this._translateX; + } + if (!this.yMove) { + y = this._translateY; + } + if (!this.scale) { + scale = this._scale; + } + var limitXY = this._getLimitXY(x, y); + x = limitXY.x; + y = limitXY.y; + if (!this.animation) { + this._setTransform(x, y, scale, source, r, o2); + return; + } + this._STD._springX._solution = null; + this._STD._springY._solution = null; + this._STD._springScale._solution = null; + this._STD._springX._endPosition = this._translateX; + this._STD._springY._endPosition = this._translateY; + this._STD._springScale._endPosition = this._scale; + this._STD.setEnd(x, y, scale, 1); + this._SFA = g(this._STD, function() { + var data = self._STD.x(); + var x2 = data.x; + var y2 = data.y; + var scale2 = data.scale; + self._setTransform(x2, y2, scale2, source, r, o2); + }, function() { + self._SFA.cancel(); + }); + }, + _revise: function(source) { + var limitXY = this._getLimitXY(this._translateX, this._translateY); + var x = limitXY.x; + var y = limitXY.y; + var outOfBounds = limitXY.outOfBounds; + if (outOfBounds) { + this._animationTo(x, y, this._scale, source); + } + return outOfBounds; + }, + _setTransform: function(x, y, scale, source = "", r, o2) { + if (!(x !== null && x.toString() !== "NaN" && typeof x === "number")) { + x = this._translateX || 0; + } + if (!(y !== null && y.toString() !== "NaN" && typeof y === "number")) { + y = this._translateY || 0; + } + x = Number(x.toFixed(1)); + y = Number(y.toFixed(1)); + scale = Number(scale.toFixed(1)); + if (!(this._translateX === x && this._translateY === y)) { + if (!r) { + this.$trigger("change", {}, { + x: v(x, this._scaleOffset.x), + y: v(y, this._scaleOffset.y), + source + }); + } + } + if (!this.scale) { + scale = this._scale; + } + scale = this._adjustScale(scale); + scale = +scale.toFixed(3); + if (o2 && scale !== this._scale) { + this.$trigger("scale", {}, { + x, + y, + scale + }); + } + var transform = "translateX(" + x + "px) translateY(" + y + "px) translateZ(0px) scale(" + scale + ")"; + this.$el.style.transform = transform; + this.$el.style.webkitTransform = transform; + this._translateX = x; + this._translateY = y; + this._scale = scale; + } + } +}; +function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) { + const _component_v_uni_resize_sensor = resolveComponent("v-uni-resize-sensor"); + return openBlock(), createBlock("uni-movable-view", _ctx.$attrs, [ + createVNode(_component_v_uni_resize_sensor, {onResize: $options.setParent}, null, 8, ["onResize"]), + renderSlot(_ctx.$slots, "default") + ], 16); +} +_sfc_main$f.render = _sfc_render$f; +var index_vue_vue_type_style_index_0_lang$9 = "\nuni-navigator {\r\n height: auto;\r\n width: auto;\r\n display: block;\r\n cursor: pointer;\n}\nuni-navigator[hidden] {\r\n display: none;\n}\n.navigator-hover {\r\n background-color: rgba(0, 0, 0, 0.1);\r\n opacity: 0.7;\n}\r\n"; +const OPEN_TYPES = ["navigate", "redirect", "switchTab", "reLaunch", "navigateBack"]; +const _sfc_main$g = { + name: "Navigator", + mixins: [hover], + props: { + hoverClass: { + type: String, + default: "navigator-hover" + }, + url: { + type: String, + default: "" + }, + openType: { + type: String, + default: "navigate", + validator(value) { + return ~OPEN_TYPES.indexOf(value); + } + }, + delta: { + type: Number, + default: 1 + }, + hoverStartTime: { + type: [Number, String], + default: 20 + }, + hoverStayTime: { + type: [Number, String], + default: 600 + } + }, + methods: { + _onClick($event) { + if (this.openType !== "navigateBack" && !this.url) { + console.error(" should have url attribute when using navigateTo, redirectTo, reLaunch or switchTab"); + return; + } + switch (this.openType) { + case "navigate": + uni.navigateTo({ + url: this.url + }); + break; + case "redirect": + uni.redirectTo({ + url: this.url + }); + break; + case "switchTab": + uni.switchTab({ + url: this.url + }); + break; + case "reLaunch": + uni.reLaunch({ + url: this.url + }); + break; + case "navigateBack": + uni.navigateBack({ + delta: this.delta + }); + break; + } + } + } +}; +function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) { + return $props.hoverClass && $props.hoverClass !== "none" ? (openBlock(), createBlock("uni-navigator", mergeProps({ + key: 0, + class: [_ctx.hovering ? $props.hoverClass : ""], + onTouchstart: _cache[1] || (_cache[1] = (...args) => _ctx._hoverTouchStart && _ctx._hoverTouchStart(...args)), + onTouchend: _cache[2] || (_cache[2] = (...args) => _ctx._hoverTouchEnd && _ctx._hoverTouchEnd(...args)), + onTouchcancel: _cache[3] || (_cache[3] = (...args) => _ctx._hoverTouchCancel && _ctx._hoverTouchCancel(...args)), + onClick: _cache[4] || (_cache[4] = (...args) => $options._onClick && $options._onClick(...args)) + }, _ctx.$attrs), [ + renderSlot(_ctx.$slots, "default") + ], 16)) : (openBlock(), createBlock("uni-navigator", mergeProps({ + key: 1, + onClick: _cache[5] || (_cache[5] = (...args) => $options._onClick && $options._onClick(...args)) + }, _ctx.$attrs), [ + renderSlot(_ctx.$slots, "default") + ], 16)); +} +_sfc_main$g.render = _sfc_render$g; +const VALUES = { + activeColor: "#007AFF", + backgroundColor: "#EBEBEB", + activeMode: "backwards" +}; +const _sfc_main$h = { + name: "Progress", + props: { + percent: { + type: [Number, String], + default: 0, + validator(value) { + return !isNaN(parseFloat(value, 10)); + } + }, + showInfo: { + type: [Boolean, String], + default: false + }, + strokeWidth: { + type: [Number, String], + default: 6, + validator(value) { + return !isNaN(parseFloat(value, 10)); + } + }, + color: { + type: String, + default: VALUES.activeColor + }, + activeColor: { + type: String, + default: VALUES.activeColor + }, + backgroundColor: { + type: String, + default: VALUES.backgroundColor + }, + active: { + type: [Boolean, String], + default: false + }, + activeMode: { + type: String, + default: VALUES.activeMode + } + }, + data() { + return { + currentPercent: 0, + strokeTimer: 0, + lastPercent: 0 + }; + }, + computed: { + outerBarStyle() { + return `background-color: ${this.backgroundColor}; height: ${this.strokeWidth}px;`; + }, + innerBarStyle() { + let backgroundColor = ""; + if (this.color !== VALUES.activeColor && this.activeColor === VALUES.activeColor) { + backgroundColor = this.color; + } else { + backgroundColor = this.activeColor; + } + return `width: ${this.currentPercent}%;background-color: ${backgroundColor}`; + }, + realPercent() { + let realValue = parseFloat(this.percent, 10); + realValue < 0 && (realValue = 0); + realValue > 100 && (realValue = 100); + return realValue; + } + }, + watch: { + realPercent(newValue, oldValue) { + this.strokeTimer && clearInterval(this.strokeTimer); + this.lastPercent = oldValue || 0; + this._activeAnimation(); + } + }, + created() { + this._activeAnimation(); + }, + methods: { + _activeAnimation() { + if (this.active) { + this.currentPercent = this.activeMode === VALUES.activeMode ? 0 : this.lastPercent; + this.strokeTimer = setInterval(() => { + if (this.currentPercent + 1 > this.realPercent) { + this.currentPercent = this.realPercent; + this.strokeTimer && clearInterval(this.strokeTimer); + } else { + this.currentPercent += 1; + } + }, 30); + } else { + this.currentPercent = this.realPercent; + } + } + } +}; +const _hoisted_1$8 = { + key: 0, + class: "uni-progress-info" +}; +function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-progress", mergeProps({class: "uni-progress"}, _ctx.$attrs), [ + createVNode("div", { + style: $options.outerBarStyle, + class: "uni-progress-bar" + }, [ + createVNode("div", { + style: $options.innerBarStyle, + class: "uni-progress-inner-bar" + }, null, 4) + ], 4), + $props.showInfo ? (openBlock(), createBlock("p", _hoisted_1$8, toDisplayString($data.currentPercent) + "% ", 1)) : createCommentVNode("", true) + ], 16); +} +_sfc_main$h.render = _sfc_render$h; +var index_vue_vue_type_style_index_0_lang$a = '\nuni-radio {\r\n -webkit-tap-highlight-color: transparent;\r\n display: inline-block;\r\n cursor: pointer;\n}\nuni-radio[hidden] {\r\n display: none;\n}\nuni-radio[disabled] {\r\n cursor: not-allowed;\n}\nuni-radio .uni-radio-wrapper {\r\n display: -webkit-inline-flex;\r\n display: inline-flex;\r\n -webkit-align-items: center;\r\n align-items: center;\r\n vertical-align: middle;\n}\nuni-radio .uni-radio-input {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n margin-right: 5px;\r\n outline: 0;\r\n border: 1px solid #D1D1D1;\r\n background-color: #ffffff;\r\n border-radius: 50%;\r\n width: 22px;\r\n height: 22px;\r\n position: relative;\n}\nuni-radio:not([disabled]) .uni-radio-input:hover {\r\n border-color: #007aff;\n}\nuni-radio .uni-radio-input.uni-radio-input-checked:before {\r\n font: normal normal normal 14px/1 "uni";\r\n content: "\\EA08";\r\n color: #ffffff;\r\n font-size: 18px;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -48%) scale(0.73);\r\n -webkit-transform: translate(-50%, -48%) scale(0.73);\n}\nuni-radio .uni-radio-input.uni-radio-input-disabled {\r\n background-color: #E1E1E1;\r\n border-color: #D1D1D1;\n}\nuni-radio .uni-radio-input.uni-radio-input-disabled:before {\r\n color: #ADADAD;\n}\nuni-radio-group {\r\n display: block;\n}\r\n'; +const _sfc_main$i = { + name: "Radio", + mixins: [emitter, listeners], + props: { + checked: { + type: [Boolean, String], + default: false + }, + id: { + type: String, + default: "" + }, + disabled: { + type: [Boolean, String], + default: false + }, + color: { + type: String, + default: "#007AFF" + }, + value: { + type: String, + default: "" + } + }, + data() { + return { + radioChecked: this.checked, + radioValue: this.value + }; + }, + computed: { + checkedStyle() { + return `background-color: ${this.color};border-color: ${this.color};`; + } + }, + watch: { + checked(val) { + this.radioChecked = val; + }, + value(val) { + this.radioValue = val; + } + }, + listeners: { + "label-click": "_onClick", + "@label-click": "_onClick" + }, + created() { + this.$dispatch("RadioGroup", "uni-radio-group-update", { + type: "add", + vm: this + }); + this.$dispatch("Form", "uni-form-group-update", { + type: "add", + vm: this + }); + }, + beforeDestroy() { + this.$dispatch("RadioGroup", "uni-radio-group-update", { + type: "remove", + vm: this + }); + this.$dispatch("Form", "uni-form-group-update", { + type: "remove", + vm: this + }); + }, + methods: { + _onClick($event) { + if (this.disabled || this.radioChecked) { + return; + } + this.radioChecked = true; + this.$dispatch("RadioGroup", "uni-radio-change", $event, this); + }, + _resetFormData() { + this.radioChecked = this.min; + } + } +}; +const _hoisted_1$9 = {class: "uni-radio-wrapper"}; +function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-radio", mergeProps({disabled: $props.disabled}, _ctx.$attrs, { + onClick: _cache[1] || (_cache[1] = (...args) => $options._onClick && $options._onClick(...args)) + }), [ + createVNode("div", _hoisted_1$9, [ + createVNode("div", { + class: [$data.radioChecked ? "uni-radio-input-checked" : "", "uni-radio-input"], + style: $data.radioChecked ? $options.checkedStyle : "" + }, null, 6), + renderSlot(_ctx.$slots, "default") + ]) + ], 16, ["disabled"]); +} +_sfc_main$i.render = _sfc_render$i; +var index_vue_vue_type_style_index_0_lang$b = "\nuni-radio-group[hidden] {\r\n display: none;\n}\r\n"; +const _sfc_main$j = { + name: "RadioGroup", + mixins: [emitter, listeners], + props: { + name: { + type: String, + default: "" + } + }, + data() { + return { + radioList: [] + }; + }, + listeners: { + "@radio-change": "_changeHandler", + "@radio-group-update": "_radioGroupUpdateHandler" + }, + mounted() { + this._resetRadioGroupValue(this.radioList.length - 1); + }, + created() { + this.$dispatch("Form", "uni-form-group-update", { + type: "add", + vm: this + }); + }, + beforeDestroy() { + this.$dispatch("Form", "uni-form-group-update", { + type: "remove", + vm: this + }); + }, + methods: { + _changeHandler($event, vm) { + const index2 = this.radioList.indexOf(vm); + this._resetRadioGroupValue(index2, true); + this.$trigger("change", $event, { + value: vm.radioValue + }); + }, + _radioGroupUpdateHandler($event) { + if ($event.type === "add") { + this.radioList.push($event.vm); + } else { + const index2 = this.radioList.indexOf($event.vm); + this.radioList.splice(index2, 1); + } + }, + _resetRadioGroupValue(key, change) { + this.radioList.forEach((value, index2) => { + if (index2 === key) { + return; + } + if (change) { + this.radioList[index2].radioChecked = false; + } else { + this.radioList.forEach((v2, i) => { + if (index2 >= i) { + return; + } + if (this.radioList[i].radioChecked) { + this.radioList[index2].radioChecked = false; + } + }); + } + }); + }, + _getFormData() { + const data = {}; + if (this.name !== "") { + let value = ""; + this.radioList.forEach((vm) => { + if (vm.radioChecked) { + value = vm.value; + } + }); + data.value = value; + data.key = this.name; + } + return data; + } + } +}; +function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-radio-group", _ctx.$attrs, [ + renderSlot(_ctx.$slots, "default") + ], 16); +} +_sfc_main$j.render = _sfc_render$j; +var index_vue_vue_type_style_index_0_lang$c = "\n@keyframes once-show {\nfrom {\n top: 0;\n}\n}\nuni-resize-sensor,\nuni-resize-sensor > div {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n}\nuni-resize-sensor {\n display: block;\n z-index: -1;\n visibility: hidden;\n animation: once-show 1ms;\n}\nuni-resize-sensor > div > div {\n position: absolute;\n left: 0;\n top: 0;\n}\nuni-resize-sensor > div:first-child > div {\n width: 100000px;\n height: 100000px;\n}\nuni-resize-sensor > div:last-child > div {\n width: 200%;\n height: 200%;\n}\n"; +const _sfc_main$k = { + name: "ResizeSensor", + props: { + initial: { + type: [Boolean, String], + default: false + } + }, + data: function() { + return { + size: { + width: -1, + height: -1 + } + }; + }, + watch: { + size: { + deep: true, + handler: function(size) { + this.$emit("resize", Object.assign({}, size)); + } + } + }, + mounted: function() { + if (this.initial === true) { + this.$nextTick(this.update); + } + if (this.$el.offsetParent !== this.$el.parentNode) { + this.$el.parentNode.style.position = "relative"; + } + if (!("AnimationEvent" in window)) { + this.reset(); + } + }, + methods: { + reset: function() { + var expand = this.$el.firstChild; + var shrink = this.$el.lastChild; + expand.scrollLeft = 1e5; + expand.scrollTop = 1e5; + shrink.scrollLeft = 1e5; + shrink.scrollTop = 1e5; + }, + update: function() { + this.size.width = this.$el.offsetWidth; + this.size.height = this.$el.offsetHeight; + this.reset(); + } + }, + render: function(create) { + return create("uni-resize-sensor", { + on: { + "~animationstart": this.update + } + }, [ + create("div", { + on: { + scroll: this.update + } + }, [ + create("div") + ]), + create("div", { + on: { + scroll: this.update + } + }, [ + create("div") + ]) + ]); + } +}; +function removeDOCTYPE(html) { + return html.replace(/<\?xml.*\?>\n/, "").replace(/\n/, "").replace(/\n/, ""); +} +function parseAttrs(attrs2) { + return attrs2.reduce(function(pre, attr2) { + let value = attr2.value; + const name = attr2.name; + if (value.match(/ /) && name !== "style") { + value = value.split(" "); + } + if (pre[name]) { + if (Array.isArray(pre[name])) { + pre[name].push(value); + } else { + pre[name] = [pre[name], value]; + } + } else { + pre[name] = value; + } + return pre; + }, {}); +} +function parseHtml(html) { + html = removeDOCTYPE(html); + const stacks = []; + const results = { + node: "root", + children: [] + }; + HTMLParser(html, { + start: function(tag, attrs2, unary) { + const node = { + name: tag + }; + if (attrs2.length !== 0) { + node.attrs = parseAttrs(attrs2); + } + if (unary) { + const parent = stacks[0] || results; + if (!parent.children) { + parent.children = []; + } + parent.children.push(node); + } else { + stacks.unshift(node); + } + }, + end: function(tag) { + const node = stacks.shift(); + if (node.name !== tag) + console.error("invalid state: mismatch end tag"); + if (stacks.length === 0) { + results.children.push(node); + } else { + const parent = stacks[0]; + if (!parent.children) { + parent.children = []; + } + parent.children.push(node); + } + }, + chars: function(text2) { + const node = { + type: "text", + text: text2 + }; + if (stacks.length === 0) { + results.children.push(node); + } else { + const parent = stacks[0]; + if (!parent.children) { + parent.children = []; + } + parent.children.push(node); + } + }, + comment: function(text2) { + const node = { + node: "comment", + text: text2 + }; + const parent = stacks[0]; + if (!parent.children) { + parent.children = []; + } + parent.children.push(node); + } + }); + return results.children; +} +const TAGS = { + a: "", + abbr: "", + b: "", + blockquote: "", + br: "", + code: "", + col: ["span", "width"], + colgroup: ["span", "width"], + dd: "", + del: "", + div: "", + dl: "", + dt: "", + em: "", + fieldset: "", + h1: "", + h2: "", + h3: "", + h4: "", + h5: "", + h6: "", + hr: "", + i: "", + img: ["alt", "src", "height", "width"], + ins: "", + label: "", + legend: "", + li: "", + ol: ["start", "type"], + p: "", + q: "", + span: "", + strong: "", + sub: "", + sup: "", + table: ["width"], + tbody: "", + td: ["colspan", "rowspan", "height", "width"], + tfoot: "", + th: ["colspan", "rowspan", "height", "width"], + thead: "", + tr: "", + ul: "" +}; +const CHARS = { + amp: "&", + gt: ">", + lt: "<", + nbsp: " ", + quot: '"', + apos: "'" +}; +function decodeEntities(htmlString) { + return htmlString.replace(/&(([a-zA-Z]+)|(#x{0,1}[\da-zA-Z]+));/gi, function(match, stage) { + if (hasOwn(CHARS, stage) && CHARS[stage]) { + return CHARS[stage]; + } + if (/^#[0-9]{1,4}$/.test(stage)) { + return String.fromCharCode(stage.slice(1)); + } + if (/^#x[0-9a-f]{1,4}$/i.test(stage)) { + return String.fromCharCode("0" + stage.slice(1)); + } + const wrap = document.createElement("div"); + wrap.innerHTML = match; + return wrap.innerText || wrap.textContent; + }); +} +function parseNodes(nodes, parentNode) { + nodes.forEach(function(node) { + if (!isPlainObject(node)) { + return; + } + if (!hasOwn(node, "type") || node.type === "node") { + if (!(typeof node.name === "string" && node.name)) { + return; + } + const tagName = node.name.toLowerCase(); + if (!hasOwn(TAGS, tagName)) { + return; + } + const elem = document.createElement(tagName); + if (!elem) { + return; + } + const attrs2 = node.attrs; + if (isPlainObject(attrs2)) { + const tagAttrs = TAGS[tagName] || []; + Object.keys(attrs2).forEach(function(name) { + let value = attrs2[name]; + switch (name) { + case "class": + Array.isArray(value) && (value = value.join(" ")); + case "style": + elem.setAttribute(name, value); + break; + default: + if (tagAttrs.indexOf(name) !== -1) { + elem.setAttribute(name, value); + } + } + }); + } + const children = node.children; + if (Array.isArray(children) && children.length) { + parseNodes(node.children, elem); + } + parentNode.appendChild(elem); + } else { + if (node.type === "text" && typeof node.text === "string" && node.text !== "") { + parentNode.appendChild(document.createTextNode(decodeEntities(node.text))); + } + } + }); + return parentNode; +} +const _sfc_main$l = { + name: "RichText", + props: { + nodes: { + type: [Array, String], + default: function() { + return []; + } + } + }, + watch: { + nodes(value) { + this._renderNodes(value); + } + }, + mounted() { + this._renderNodes(this.nodes); + }, + methods: { + _renderNodes(nodes) { + if (typeof nodes === "string") { + nodes = parseHtml(nodes); + } + const nodeList = parseNodes(nodes, document.createDocumentFragment()); + this.$el.firstChild.innerHTML = ""; + this.$el.firstChild.appendChild(nodeList); + } + } +}; +const _hoisted_1$a = /* @__PURE__ */ createVNode("div", null, null, -1); +function _sfc_render$k(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-rich-text", _ctx.$attrs, [ + _hoisted_1$a + ], 16); +} +_sfc_main$l.render = _sfc_render$k; +function Friction$1(e2) { + this._drag = e2; + this._dragLog = Math.log(e2); + this._x = 0; + this._v = 0; + this._startTime = 0; +} +Friction$1.prototype.set = function(e2, t2) { + this._x = e2; + this._v = t2; + this._startTime = new Date().getTime(); +}; +Friction$1.prototype.setVelocityByEnd = function(e2) { + this._v = (e2 - this._x) * this._dragLog / (Math.pow(this._drag, 100) - 1); +}; +Friction$1.prototype.x = function(e2) { + if (e2 === void 0) { + e2 = (new Date().getTime() - this._startTime) / 1e3; + } + var t2; + t2 = e2 === this._dt && this._powDragDt ? this._powDragDt : this._powDragDt = Math.pow(this._drag, e2); + this._dt = e2; + return this._x + this._v * t2 / this._dragLog - this._v / this._dragLog; +}; +Friction$1.prototype.dx = function(e2) { + if (e2 === void 0) { + e2 = (new Date().getTime() - this._startTime) / 1e3; + } + var t2; + t2 = e2 === this._dt && this._powDragDt ? this._powDragDt : this._powDragDt = Math.pow(this._drag, e2); + this._dt = e2; + return this._v * t2; +}; +Friction$1.prototype.done = function() { + return Math.abs(this.dx()) < 3; +}; +Friction$1.prototype.reconfigure = function(e2) { + var t2 = this.x(); + var n = this.dx(); + this._drag = e2; + this._dragLog = Math.log(e2); + this.set(t2, n); +}; +Friction$1.prototype.configuration = function() { + var e2 = this; + return [ + { + label: "Friction", + read: function() { + return e2._drag; + }, + write: function(t2) { + e2.reconfigure(t2); + }, + min: 1e-3, + max: 0.1, + step: 1e-3 + } + ]; +}; +function o(e2, t2, n) { + return e2 > t2 - n && e2 < t2 + n; +} +function a(e2, t2) { + return o(e2, 0, t2); +} +function Spring$1(e2, t2, n) { + this._m = e2; + this._k = t2; + this._c = n; + this._solution = null; + this._endPosition = 0; + this._startTime = 0; +} +Spring$1.prototype._solve = function(e2, t2) { + var n = this._c; + var i = this._m; + var r = this._k; + var o2 = n * n - 4 * i * r; + if (o2 === 0) { + const a3 = -n / (2 * i); + const s2 = e2; + const l2 = t2 / (a3 * e2); + return { + x: function(e3) { + return (s2 + l2 * e3) * Math.pow(Math.E, a3 * e3); + }, + dx: function(e3) { + var t3 = Math.pow(Math.E, a3 * e3); + return a3 * (s2 + l2 * e3) * t3 + l2 * t3; + } + }; + } + if (o2 > 0) { + const c = (-n - Math.sqrt(o2)) / (2 * i); + const u = (-n + Math.sqrt(o2)) / (2 * i); + const l2 = (t2 - c * e2) / (u - c); + const s2 = e2 - l2; + return { + x: function(e3) { + let t3; + let n2; + if (e3 === this._t) { + t3 = this._powER1T; + n2 = this._powER2T; + } + this._t = e3; + if (!t3) { + t3 = this._powER1T = Math.pow(Math.E, c * e3); + } + if (!n2) { + n2 = this._powER2T = Math.pow(Math.E, u * e3); + } + return s2 * t3 + l2 * n2; + }, + dx: function(e3) { + let t3; + let n2; + if (e3 === this._t) { + t3 = this._powER1T; + n2 = this._powER2T; + } + this._t = e3; + if (!t3) { + t3 = this._powER1T = Math.pow(Math.E, c * e3); + } + if (!n2) { + n2 = this._powER2T = Math.pow(Math.E, u * e3); + } + return s2 * c * t3 + l2 * u * n2; + } + }; + } + var d = Math.sqrt(4 * i * r - n * n) / (2 * i); + var a2 = -n / 2 * i; + var s = e2; + var l = (t2 - a2 * e2) / d; + return { + x: function(e3) { + return Math.pow(Math.E, a2 * e3) * (s * Math.cos(d * e3) + l * Math.sin(d * e3)); + }, + dx: function(e3) { + var t3 = Math.pow(Math.E, a2 * e3); + var n2 = Math.cos(d * e3); + var i2 = Math.sin(d * e3); + return t3 * (l * d * n2 - s * d * i2) + a2 * t3 * (l * i2 + s * n2); + } + }; +}; +Spring$1.prototype.x = function(e2) { + if (e2 === void 0) { + e2 = (new Date().getTime() - this._startTime) / 1e3; + } + return this._solution ? this._endPosition + this._solution.x(e2) : 0; +}; +Spring$1.prototype.dx = function(e2) { + if (e2 === void 0) { + e2 = (new Date().getTime() - this._startTime) / 1e3; + } + return this._solution ? this._solution.dx(e2) : 0; +}; +Spring$1.prototype.setEnd = function(e2, t2, n) { + if (!n) { + n = new Date().getTime(); + } + if (e2 !== this._endPosition || !a(t2, 0.4)) { + t2 = t2 || 0; + var i = this._endPosition; + if (this._solution) { + if (a(t2, 0.4)) { + t2 = this._solution.dx((n - this._startTime) / 1e3); + } + i = this._solution.x((n - this._startTime) / 1e3); + if (a(t2, 0.4)) { + t2 = 0; + } + if (a(i, 0.4)) { + i = 0; + } + i += this._endPosition; + } + if (!(this._solution && a(i - e2, 0.4) && a(t2, 0.4))) { + this._endPosition = e2; + this._solution = this._solve(i - this._endPosition, t2); + this._startTime = n; + } + } +}; +Spring$1.prototype.snap = function(e2) { + this._startTime = new Date().getTime(); + this._endPosition = e2; + this._solution = { + x: function() { + return 0; + }, + dx: function() { + return 0; + } + }; +}; +Spring$1.prototype.done = function(e2) { + if (!e2) { + e2 = new Date().getTime(); + } + return o(this.x(), this._endPosition, 0.4) && a(this.dx(), 0.4); +}; +Spring$1.prototype.reconfigure = function(e2, t2, n) { + this._m = e2; + this._k = t2; + this._c = n; + if (!this.done()) { + this._solution = this._solve(this.x() - this._endPosition, this.dx()); + this._startTime = new Date().getTime(); + } +}; +Spring$1.prototype.springConstant = function() { + return this._k; +}; +Spring$1.prototype.damping = function() { + return this._c; +}; +Spring$1.prototype.configuration = function() { + function e2(e3, t3) { + e3.reconfigure(1, t3, e3.damping()); + } + function t2(e3, t3) { + e3.reconfigure(1, e3.springConstant(), t3); + } + return [ + { + label: "Spring Constant", + read: this.springConstant.bind(this), + write: e2.bind(this, this), + min: 100, + max: 1e3 + }, + { + label: "Damping", + read: this.damping.bind(this), + write: t2.bind(this, this), + min: 1, + max: 500 + } + ]; +}; +function Scroll(extent, friction, spring) { + this._extent = extent; + this._friction = friction || new Friction$1(0.01); + this._spring = spring || new Spring$1(1, 90, 20); + this._startTime = 0; + this._springing = false; + this._springOffset = 0; +} +Scroll.prototype.snap = function(e2, t2) { + this._springOffset = 0; + this._springing = true; + this._spring.snap(e2); + this._spring.setEnd(t2); +}; +Scroll.prototype.set = function(e2, t2) { + this._friction.set(e2, t2); + if (e2 > 0 && t2 >= 0) { + this._springOffset = 0; + this._springing = true; + this._spring.snap(e2); + this._spring.setEnd(0); + } else { + if (e2 < -this._extent && t2 <= 0) { + this._springOffset = 0; + this._springing = true; + this._spring.snap(e2); + this._spring.setEnd(-this._extent); + } else { + this._springing = false; + } + } + this._startTime = new Date().getTime(); +}; +Scroll.prototype.x = function(e2) { + if (!this._startTime) { + return 0; + } + if (!e2) { + e2 = (new Date().getTime() - this._startTime) / 1e3; + } + if (this._springing) { + return this._spring.x() + this._springOffset; + } + var t2 = this._friction.x(e2); + var n = this.dx(e2); + if (t2 > 0 && n >= 0 || t2 < -this._extent && n <= 0) { + this._springing = true; + this._spring.setEnd(0, n); + if (t2 < -this._extent) { + this._springOffset = -this._extent; + } else { + this._springOffset = 0; + } + t2 = this._spring.x() + this._springOffset; + } + return t2; +}; +Scroll.prototype.dx = function(e2) { + var t2 = 0; + t2 = this._lastTime === e2 ? this._lastDx : this._springing ? this._spring.dx(e2) : this._friction.dx(e2); + this._lastTime = e2; + this._lastDx = t2; + return t2; +}; +Scroll.prototype.done = function() { + return this._springing ? this._spring.done() : this._friction.done(); +}; +Scroll.prototype.setVelocityByEnd = function(e2) { + this._friction.setVelocityByEnd(e2); +}; +Scroll.prototype.configuration = function() { + var e2 = this._friction.configuration(); + e2.push.apply(e2, this._spring.configuration()); + return e2; +}; +function i$1(scroll, t2, n) { + function i(t3, scroll2, r2, o3) { + if (!t3 || !t3.cancelled) { + r2(scroll2); + var a2 = scroll2.done(); + if (!a2) { + if (!t3.cancelled) { + t3.id = requestAnimationFrame(i.bind(null, t3, scroll2, r2, o3)); + } + } + if (a2 && o3) { + o3(scroll2); + } + } + } + function r(scroll2) { + if (scroll2 && scroll2.id) { + cancelAnimationFrame(scroll2.id); + } + if (scroll2) { + scroll2.cancelled = true; + } + } + var o2 = { + id: 0, + cancelled: false + }; + i(o2, scroll, t2, n); + return { + cancel: r.bind(null, o2), + model: scroll + }; +} +function Scroller(element, options) { + options = options || {}; + this._element = element; + this._options = options; + this._enableSnap = options.enableSnap || false; + this._itemSize = options.itemSize || 0; + this._enableX = options.enableX || false; + this._enableY = options.enableY || false; + this._shouldDispatchScrollEvent = !!options.onScroll; + if (this._enableX) { + this._extent = (options.scrollWidth || this._element.offsetWidth) - this._element.parentElement.offsetWidth; + this._scrollWidth = options.scrollWidth; + } else { + this._extent = (options.scrollHeight || this._element.offsetHeight) - this._element.parentElement.offsetHeight; + this._scrollHeight = options.scrollHeight; + } + this._position = 0; + this._scroll = new Scroll(this._extent, options.friction, options.spring); + this._onTransitionEnd = this.onTransitionEnd.bind(this); + this.updatePosition(); +} +Scroller.prototype.onTouchStart = function() { + this._startPosition = this._position; + this._lastChangePos = this._startPosition; + if (this._startPosition > 0) { + this._startPosition /= 0.5; + } else { + if (this._startPosition < -this._extent) { + this._startPosition = (this._startPosition + this._extent) / 0.5 - this._extent; + } + } + if (this._animation) { + this._animation.cancel(); + this._scrolling = false; + } + this.updatePosition(); +}; +Scroller.prototype.onTouchMove = function(x, y) { + var startPosition = this._startPosition; + if (this._enableX) { + startPosition += x; + } else if (this._enableY) { + startPosition += y; + } + if (startPosition > 0) { + startPosition *= 0.5; + } else if (startPosition < -this._extent) { + startPosition = 0.5 * (startPosition + this._extent) - this._extent; + } + this._position = startPosition; + this.updatePosition(); + this.dispatchScroll(); +}; +Scroller.prototype.onTouchEnd = function(e2, r, o2) { + if (this._enableSnap && this._position > -this._extent && this._position < 0) { + if (this._enableY && (Math.abs(r) < this._itemSize && Math.abs(o2.y) < 300 || Math.abs(o2.y) < 150)) { + this.snap(); + return; + } + if (this._enableX && (Math.abs(e2) < this._itemSize && Math.abs(o2.x) < 300 || Math.abs(o2.x) < 150)) { + this.snap(); + return; + } + } + if (this._enableX) { + this._scroll.set(this._position, o2.x); + } else if (this._enableY) { + this._scroll.set(this._position, o2.y); + } + if (this._enableSnap) { + var s = this._scroll._friction.x(100); + var l = s % this._itemSize; + var c = Math.abs(l) > this._itemSize / 2 ? s - (this._itemSize - Math.abs(l)) : s - l; + if (c <= 0 && c >= -this._extent) { + this._scroll.setVelocityByEnd(c); + } + } + this._lastTime = Date.now(); + this._lastDelay = 0; + this._scrolling = true; + this._lastChangePos = this._position; + this._lastIdx = Math.floor(Math.abs(this._position / this._itemSize)); + this._animation = i$1(this._scroll, () => { + var e3 = Date.now(); + var i = (e3 - this._scroll._startTime) / 1e3; + var r2 = this._scroll.x(i); + this._position = r2; + this.updatePosition(); + var o3 = this._scroll.dx(i); + if (this._shouldDispatchScrollEvent && e3 - this._lastTime > this._lastDelay) { + this.dispatchScroll(); + this._lastDelay = Math.abs(2e3 / o3); + this._lastTime = e3; + } + }, () => { + if (this._enableSnap) { + if (c <= 0 && c >= -this._extent) { + this._position = c; + this.updatePosition(); + } + if (typeof this._options.onSnap === "function") { + this._options.onSnap(Math.floor(Math.abs(this._position) / this._itemSize)); + } + } + if (this._shouldDispatchScrollEvent) { + this.dispatchScroll(); + } + this._scrolling = false; + }); +}; +Scroller.prototype.onTransitionEnd = function() { + this._element.style.transition = ""; + this._element.style.webkitTransition = ""; + this._element.removeEventListener("transitionend", this._onTransitionEnd); + this._element.removeEventListener("webkitTransitionEnd", this._onTransitionEnd); + if (this._snapping) { + this._snapping = false; + } + this.dispatchScroll(); +}; +Scroller.prototype.snap = function() { + var e2 = this._itemSize; + var t2 = this._position % e2; + var i = Math.abs(t2) > this._itemSize / 2 ? this._position - (e2 - Math.abs(t2)) : this._position - t2; + if (this._position !== i) { + this._snapping = true; + this.scrollTo(-i); + if (typeof this._options.onSnap === "function") { + this._options.onSnap(Math.floor(Math.abs(this._position) / this._itemSize)); + } + } +}; +Scroller.prototype.scrollTo = function(e2, t2) { + if (this._animation) { + this._animation.cancel(); + this._scrolling = false; + } + if (typeof e2 === "number") { + this._position = -e2; + } + if (this._position < -this._extent) { + this._position = -this._extent; + } else { + if (this._position > 0) { + this._position = 0; + } + } + this._element.style.transition = "transform " + (t2 || 0.2) + "s ease-out"; + this._element.style.webkitTransition = "-webkit-transform " + (t2 || 0.2) + "s ease-out"; + this.updatePosition(); + this._element.addEventListener("transitionend", this._onTransitionEnd); + this._element.addEventListener("webkitTransitionEnd", this._onTransitionEnd); +}; +Scroller.prototype.dispatchScroll = function() { + if (typeof this._options.onScroll === "function" && Math.round(this._lastPos) !== Math.round(this._position)) { + this._lastPos = this._position; + var e2 = { + target: { + scrollLeft: this._enableX ? -this._position : 0, + scrollTop: this._enableY ? -this._position : 0, + scrollHeight: this._scrollHeight || this._element.offsetHeight, + scrollWidth: this._scrollWidth || this._element.offsetWidth, + offsetHeight: this._element.parentElement.offsetHeight, + offsetWidth: this._element.parentElement.offsetWidth + } + }; + this._options.onScroll(e2); + } +}; +Scroller.prototype.update = function(e2, t2, n) { + var i = 0; + var r = this._position; + if (this._enableX) { + i = this._element.childNodes.length ? (t2 || this._element.offsetWidth) - this._element.parentElement.offsetWidth : 0; + this._scrollWidth = t2; + } else { + i = this._element.childNodes.length ? (t2 || this._element.offsetHeight) - this._element.parentElement.offsetHeight : 0; + this._scrollHeight = t2; + } + if (typeof e2 === "number") { + this._position = -e2; + } + if (this._position < -i) { + this._position = -i; + } else { + if (this._position > 0) { + this._position = 0; + } + } + this._itemSize = n || this._itemSize; + this.updatePosition(); + if (r !== this._position) { + this.dispatchScroll(); + if (typeof this._options.onSnap === "function") { + this._options.onSnap(Math.floor(Math.abs(this._position) / this._itemSize)); + } + } + this._extent = i; + this._scroll._extent = i; +}; +Scroller.prototype.updatePosition = function() { + var transform = ""; + if (this._enableX) { + transform = "translateX(" + this._position + "px) translateZ(0)"; + } else { + if (this._enableY) { + transform = "translateY(" + this._position + "px) translateZ(0)"; + } + } + this._element.style.webkitTransform = transform; + this._element.style.transform = transform; +}; +Scroller.prototype.isScrolling = function() { + return this._scrolling || this._snapping; +}; +var scroller = { + methods: { + initScroller: function(element, options) { + this._touchInfo = { + trackingID: -1, + maxDy: 0, + maxDx: 0 + }; + this._scroller = new Scroller(element, options); + this.__handleTouchStart = this._handleTouchStart.bind(this); + this.__handleTouchMove = this._handleTouchMove.bind(this); + this.__handleTouchEnd = this._handleTouchEnd.bind(this); + this._initedScroller = true; + }, + _findDelta: function(event2) { + var touchInfo = this._touchInfo; + return event2.detail.state === "move" || event2.detail.state === "end" ? { + x: event2.detail.dx, + y: event2.detail.dy + } : { + x: event2.screenX - touchInfo.x, + y: event2.screenY - touchInfo.y + }; + }, + _handleTouchStart: function(e2) { + var t2 = this._touchInfo; + var n = this._scroller; + if (n) { + if (e2.detail.state === "start") { + t2.trackingID = "touch"; + t2.x = e2.detail.x; + t2.y = e2.detail.y; + } else { + t2.trackingID = "mouse"; + t2.x = e2.screenX; + t2.y = e2.screenY; + } + t2.maxDx = 0; + t2.maxDy = 0; + t2.historyX = [0]; + t2.historyY = [0]; + t2.historyTime = [e2.detail.timeStamp]; + t2.listener = n; + if (n.onTouchStart) { + n.onTouchStart(); + } + event.preventDefault(); + } + }, + _handleTouchMove: function(event2) { + var touchInfo = this._touchInfo; + if (touchInfo.trackingID !== -1) { + event2.preventDefault(); + var delta = this._findDelta(event2); + if (delta) { + for (touchInfo.maxDy = Math.max(touchInfo.maxDy, Math.abs(delta.y)), touchInfo.maxDx = Math.max(touchInfo.maxDx, Math.abs(delta.x)), touchInfo.historyX.push(delta.x), touchInfo.historyY.push(delta.y), touchInfo.historyTime.push(event2.detail.timeStamp); touchInfo.historyTime.length > 10; ) { + touchInfo.historyTime.shift(); + touchInfo.historyX.shift(); + touchInfo.historyY.shift(); + } + if (touchInfo.listener && touchInfo.listener.onTouchMove) { + touchInfo.listener.onTouchMove(delta.x, delta.y, event2.detail.timeStamp); + } + } + } + }, + _handleTouchEnd: function(event2) { + var touchInfo = this._touchInfo; + if (touchInfo.trackingID !== -1) { + event2.preventDefault(); + var delta = this._findDelta(event2); + if (delta) { + var listener = touchInfo.listener; + touchInfo.trackingID = -1; + touchInfo.listener = null; + var r = touchInfo.historyTime.length; + var o2 = { + x: 0, + y: 0 + }; + if (r > 2) { + for (var a2 = touchInfo.historyTime.length - 1, s = touchInfo.historyTime[a2], l = touchInfo.historyX[a2], c = touchInfo.historyY[a2]; a2 > 0; ) { + a2--; + var u = touchInfo.historyTime[a2]; + var d = s - u; + if (d > 30 && d < 50) { + o2.x = (l - touchInfo.historyX[a2]) / (d / 1e3); + o2.y = (c - touchInfo.historyY[a2]) / (d / 1e3); + break; + } + } + } + touchInfo.historyTime = []; + touchInfo.historyX = []; + touchInfo.historyY = []; + if (listener && listener.onTouchEnd) { + listener.onTouchEnd(delta.x, delta.y, o2); + } + } + } + } + } +}; +var index_vue_vue_type_style_index_0_lang$d = "\nuni-scroll-view {\n display: block;\n width: 100%;\n}\nuni-scroll-view[hidden] {\n display: none;\n}\n.uni-scroll-view {\n position: relative;\n -webkit-overflow-scrolling: touch;\n width: 100%;\n \n height: 100%;\n max-height: inherit;\n}\n.uni-scroll-view-content {\n width: 100%;\n height: 100%;\n}\n.uni-scroll-view-refresher {\n position: relative;\n overflow: hidden;\n}\n.uni-scroll-view-refresh {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n.uni-scroll-view-refresh-inner {\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 0;\n width: 40px;\n height: 40px;\n border-radius: 50%;\n background-color: #fff;\n box-shadow: 0 1px 6px rgba(0, 0, 0, 0.117647),\n 0 1px 4px rgba(0, 0, 0, 0.117647);\n}\n.uni-scroll-view-refresh__spinner {\n transform-origin: center center;\n animation: uni-scroll-view-refresh-rotate 2s linear infinite;\n}\n.uni-scroll-view-refresh__spinner > circle {\n stroke: currentColor;\n stroke-linecap: round;\n animation: uni-scroll-view-refresh-dash 2s linear infinite;\n}\n@keyframes uni-scroll-view-refresh-rotate {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n@keyframes uni-scroll-view-refresh-dash {\n0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n}\n50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35px;\n}\n100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124px;\n}\n}\n"; +const _sfc_main$m = { + name: "ScrollView", + mixins: [scroller], + props: { + scrollX: { + type: [Boolean, String], + default: false + }, + scrollY: { + type: [Boolean, String], + default: false + }, + upperThreshold: { + type: [Number, String], + default: 50 + }, + lowerThreshold: { + type: [Number, String], + default: 50 + }, + scrollTop: { + type: [Number, String], + default: 0 + }, + scrollLeft: { + type: [Number, String], + default: 0 + }, + scrollIntoView: { + type: String, + default: "" + }, + scrollWithAnimation: { + type: [Boolean, String], + default: false + }, + enableBackToTop: { + type: [Boolean, String], + default: false + }, + refresherEnabled: { + type: [Boolean, String], + default: false + }, + refresherThreshold: { + type: Number, + default: 45 + }, + refresherDefaultStyle: { + type: String, + default: "back" + }, + refresherBackground: { + type: String, + default: "#fff" + }, + refresherTriggered: { + type: [Boolean, String], + default: false + } + }, + data() { + return { + lastScrollTop: this.scrollTopNumber, + lastScrollLeft: this.scrollLeftNumber, + lastScrollToUpperTime: 0, + lastScrollToLowerTime: 0, + refresherHeight: 0, + refreshRotate: 0, + refreshState: "" + }; + }, + computed: { + upperThresholdNumber() { + var val = Number(this.upperThreshold); + return isNaN(val) ? 50 : val; + }, + lowerThresholdNumber() { + var val = Number(this.lowerThreshold); + return isNaN(val) ? 50 : val; + }, + scrollTopNumber() { + return Number(this.scrollTop) || 0; + }, + scrollLeftNumber() { + return Number(this.scrollLeft) || 0; + } + }, + watch: { + scrollTopNumber(val) { + this._scrollTopChanged(val); + }, + scrollLeftNumber(val) { + this._scrollLeftChanged(val); + }, + scrollIntoView(val) { + this._scrollIntoViewChanged(val); + }, + refresherTriggered(val) { + if (val === true) { + this._setRefreshState("refreshing"); + } else if (val === false) { + this._setRefreshState("restore"); + } + } + }, + mounted() { + var self = this; + this._attached = true; + this._scrollTopChanged(this.scrollTopNumber); + this._scrollLeftChanged(this.scrollLeftNumber); + this._scrollIntoViewChanged(this.scrollIntoView); + this.__handleScroll = function(e2) { + event.preventDefault(); + event.stopPropagation(); + self._handleScroll.bind(self, event)(); + }; + var touchStart = null; + var needStop = null; + this.__handleTouchMove = function(event2) { + var x = event2.touches[0].pageX; + var y = event2.touches[0].pageY; + var main = self.$refs.main; + if (needStop === null) { + if (Math.abs(x - touchStart.x) > Math.abs(y - touchStart.y)) { + if (self.scrollX) { + if (main.scrollLeft === 0 && x > touchStart.x) { + needStop = false; + return; + } else if (main.scrollWidth === main.offsetWidth + main.scrollLeft && x < touchStart.x) { + needStop = false; + return; + } + needStop = true; + } else { + needStop = false; + } + } else { + if (self.scrollY) { + if (main.scrollTop === 0 && y > touchStart.y) { + needStop = false; + return; + } else if (main.scrollHeight === main.offsetHeight + main.scrollTop && y < touchStart.y) { + needStop = false; + return; + } + needStop = true; + } else { + needStop = false; + } + } + } + if (needStop) { + event2.stopPropagation(); + } + if (self.refresherEnabled && self.refreshState === "pulling") { + const dy = y - touchStart.y; + self.refresherHeight = dy; + let rotate = dy / self.refresherThreshold; + if (rotate > 1) { + rotate = 1; + } else { + rotate = rotate * 360; + } + self.refreshRotate = rotate; + self.$trigger("refresherpulling", event2, { + deltaY: dy + }); + } + }; + this.__handleTouchStart = function(event2) { + if (event2.touches.length === 1) { + disableScrollBounce({ + disable: true + }); + needStop = null; + touchStart = { + x: event2.touches[0].pageX, + y: event2.touches[0].pageY + }; + if (self.refresherEnabled && self.refreshState !== "refreshing" && self.$refs.main.scrollTop === 0) { + self.refreshState = "pulling"; + } + } + }; + this.__handleTouchEnd = function(event2) { + touchStart = null; + disableScrollBounce({ + disable: false + }); + if (self.refresherHeight >= self.refresherThreshold) { + self._setRefreshState("refreshing"); + } else { + self.refresherHeight = 0; + self.$trigger("refresherabort", event2, {}); + } + }; + this.$refs.main.addEventListener("touchstart", this.__handleTouchStart, passiveOptions$1); + this.$refs.main.addEventListener("touchmove", this.__handleTouchMove, passiveOptions$1); + this.$refs.main.addEventListener("scroll", this.__handleScroll, supportsPassive ? { + passive: false + } : false); + this.$refs.main.addEventListener("touchend", this.__handleTouchEnd, passiveOptions$1); + }, + activated() { + this.scrollY && (this.$refs.main.scrollTop = this.lastScrollTop); + this.scrollX && (this.$refs.main.scrollLeft = this.lastScrollLeft); + }, + beforeDestroy() { + this.$refs.main.removeEventListener("touchstart", this.__handleTouchStart, passiveOptions$1); + this.$refs.main.removeEventListener("touchmove", this.__handleTouchMove, passiveOptions$1); + this.$refs.main.removeEventListener("scroll", this.__handleScroll, supportsPassive ? { + passive: false + } : false); + this.$refs.main.removeEventListener("touchend", this.__handleTouchEnd, passiveOptions$1); + }, + methods: { + scrollTo: function(t2, n) { + var i = this.$refs.main; + t2 < 0 ? t2 = 0 : n === "x" && t2 > i.scrollWidth - i.offsetWidth ? t2 = i.scrollWidth - i.offsetWidth : n === "y" && t2 > i.scrollHeight - i.offsetHeight && (t2 = i.scrollHeight - i.offsetHeight); + var r = 0; + var o2 = ""; + n === "x" ? r = i.scrollLeft - t2 : n === "y" && (r = i.scrollTop - t2); + if (r !== 0) { + this.$refs.content.style.transition = "transform .3s ease-out"; + this.$refs.content.style.webkitTransition = "-webkit-transform .3s ease-out"; + if (n === "x") { + o2 = "translateX(" + r + "px) translateZ(0)"; + } else { + n === "y" && (o2 = "translateY(" + r + "px) translateZ(0)"); + } + this.$refs.content.removeEventListener("transitionend", this.__transitionEnd); + this.$refs.content.removeEventListener("webkitTransitionEnd", this.__transitionEnd); + this.__transitionEnd = this._transitionEnd.bind(this, t2, n); + this.$refs.content.addEventListener("transitionend", this.__transitionEnd); + this.$refs.content.addEventListener("webkitTransitionEnd", this.__transitionEnd); + if (n === "x") { + i.style.overflowX = "hidden"; + } else if (n === "y") { + i.style.overflowY = "hidden"; + } + this.$refs.content.style.transform = o2; + this.$refs.content.style.webkitTransform = o2; + } + }, + _handleTrack: function($event) { + if ($event.detail.state === "start") { + this._x = $event.detail.x; + this._y = $event.detail.y; + this._noBubble = null; + return; + } + if ($event.detail.state === "end") { + this._noBubble = false; + } + if (this._noBubble === null && this.scrollY) { + if (Math.abs(this._y - $event.detail.y) / Math.abs(this._x - $event.detail.x) > 1) { + this._noBubble = true; + } else { + this._noBubble = false; + } + } + if (this._noBubble === null && this.scrollX) { + if (Math.abs(this._x - $event.detail.x) / Math.abs(this._y - $event.detail.y) > 1) { + this._noBubble = true; + } else { + this._noBubble = false; + } + } + this._x = $event.detail.x; + this._y = $event.detail.y; + if (this._noBubble) { + $event.stopPropagation(); + } + }, + _handleScroll: function($event) { + if (!($event.timeStamp - this._lastScrollTime < 20)) { + this._lastScrollTime = $event.timeStamp; + const target = $event.target; + this.$trigger("scroll", $event, { + scrollLeft: target.scrollLeft, + scrollTop: target.scrollTop, + scrollHeight: target.scrollHeight, + scrollWidth: target.scrollWidth, + deltaX: this.lastScrollLeft - target.scrollLeft, + deltaY: this.lastScrollTop - target.scrollTop + }); + if (this.scrollY) { + if (target.scrollTop <= this.upperThresholdNumber && this.lastScrollTop - target.scrollTop > 0 && $event.timeStamp - this.lastScrollToUpperTime > 200) { + this.$trigger("scrolltoupper", $event, { + direction: "top" + }); + this.lastScrollToUpperTime = $event.timeStamp; + } + if (target.scrollTop + target.offsetHeight + this.lowerThresholdNumber >= target.scrollHeight && this.lastScrollTop - target.scrollTop < 0 && $event.timeStamp - this.lastScrollToLowerTime > 200) { + this.$trigger("scrolltolower", $event, { + direction: "bottom" + }); + this.lastScrollToLowerTime = $event.timeStamp; + } + } + if (this.scrollX) { + if (target.scrollLeft <= this.upperThresholdNumber && this.lastScrollLeft - target.scrollLeft > 0 && $event.timeStamp - this.lastScrollToUpperTime > 200) { + this.$trigger("scrolltoupper", $event, { + direction: "left" + }); + this.lastScrollToUpperTime = $event.timeStamp; + } + if (target.scrollLeft + target.offsetWidth + this.lowerThresholdNumber >= target.scrollWidth && this.lastScrollLeft - target.scrollLeft < 0 && $event.timeStamp - this.lastScrollToLowerTime > 200) { + this.$trigger("scrolltolower", $event, { + direction: "right" + }); + this.lastScrollToLowerTime = $event.timeStamp; + } + } + this.lastScrollTop = target.scrollTop; + this.lastScrollLeft = target.scrollLeft; + } + }, + _scrollTopChanged: function(val) { + if (this.scrollY) { + if (this._innerSetScrollTop) { + this._innerSetScrollTop = false; + } else { + if (this.scrollWithAnimation) { + this.scrollTo(val, "y"); + } else { + this.$refs.main.scrollTop = val; + } + } + } + }, + _scrollLeftChanged: function(val) { + if (this.scrollX) { + if (this._innerSetScrollLeft) { + this._innerSetScrollLeft = false; + } else { + if (this.scrollWithAnimation) { + this.scrollTo(val, "x"); + } else { + this.$refs.main.scrollLeft = val; + } + } + } + }, + _scrollIntoViewChanged: function(val) { + if (val) { + if (!/^[_a-zA-Z][-_a-zA-Z0-9:]*$/.test(val)) { + console.group('scroll-into-view="' + val + '" \u6709\u8BEF'); + console.error("id \u5C5E\u6027\u503C\u683C\u5F0F\u9519\u8BEF\u3002\u5982\u4E0D\u80FD\u4EE5\u6570\u5B57\u5F00\u5934\u3002"); + console.groupEnd(); + return; + } + var element = this.$el.querySelector("#" + val); + if (element) { + var mainRect = this.$refs.main.getBoundingClientRect(); + var elRect = element.getBoundingClientRect(); + if (this.scrollX) { + var left = elRect.left - mainRect.left; + var scrollLeft = this.$refs.main.scrollLeft; + var x = scrollLeft + left; + if (this.scrollWithAnimation) { + this.scrollTo(x, "x"); + } else { + this.$refs.main.scrollLeft = x; + } + } + if (this.scrollY) { + var top = elRect.top - mainRect.top; + var scrollTop = this.$refs.main.scrollTop; + var y = scrollTop + top; + if (this.scrollWithAnimation) { + this.scrollTo(y, "y"); + } else { + this.$refs.main.scrollTop = y; + } + } + } + } + }, + _transitionEnd: function(val, type) { + this.$refs.content.style.transition = ""; + this.$refs.content.style.webkitTransition = ""; + this.$refs.content.style.transform = ""; + this.$refs.content.style.webkitTransform = ""; + var main = this.$refs.main; + if (type === "x") { + main.style.overflowX = this.scrollX ? "auto" : "hidden"; + main.scrollLeft = val; + } else if (type === "y") { + main.style.overflowY = this.scrollY ? "auto" : "hidden"; + main.scrollTop = val; + } + this.$refs.content.removeEventListener("transitionend", this.__transitionEnd); + this.$refs.content.removeEventListener("webkitTransitionEnd", this.__transitionEnd); + }, + _setRefreshState(state) { + switch (state) { + case "refreshing": + this.refresherHeight = this.refresherThreshold; + this.$trigger("refresherrefresh", event, {}); + break; + case "restore": + this.refresherHeight = 0; + this.$trigger("refresherrestore", {}, {}); + break; + } + this.refreshState = state; + }, + getScrollPosition() { + const main = this.$refs.main; + return { + scrollLeft: main.scrollLeft, + scrollTop: main.scrollTop + }; + } + } +}; +const _hoisted_1$b = { + ref: "wrap", + class: "uni-scroll-view" +}; +const _hoisted_2$6 = { + ref: "content", + class: "uni-scroll-view-content" +}; +const _hoisted_3$4 = { + key: 0, + class: "uni-scroll-view-refresh" +}; +const _hoisted_4$3 = {class: "uni-scroll-view-refresh-inner"}; +const _hoisted_5$1 = /* @__PURE__ */ createVNode("path", {d: "M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"}, null, -1); +const _hoisted_6$1 = /* @__PURE__ */ createVNode("path", { + d: "M0 0h24v24H0z", + fill: "none" +}, null, -1); +const _hoisted_7 = { + key: 1, + class: "uni-scroll-view-refresh__spinner", + width: "24", + height: "24", + viewBox: "25 25 50 50" +}; +const _hoisted_8 = /* @__PURE__ */ createVNode("circle", { + cx: "50", + cy: "50", + r: "20", + fill: "none", + style: {color: "#2BD009"}, + "stroke-width": "3" +}, null, -1); +function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-scroll-view", _ctx.$attrs, [ + createVNode("div", _hoisted_1$b, [ + createVNode("div", { + ref: "main", + style: {"overflow-x": $props.scrollX ? "auto" : "hidden", "overflow-y": $props.scrollY ? "auto" : "hidden"}, + class: "uni-scroll-view" + }, [ + createVNode("div", _hoisted_2$6, [ + $props.refresherEnabled ? (openBlock(), createBlock("div", { + key: 0, + ref: "refresherinner", + style: {"background-color": $props.refresherBackground, height: $data.refresherHeight + "px"}, + class: "uni-scroll-view-refresher" + }, [ + $props.refresherDefaultStyle !== "none" ? (openBlock(), createBlock("div", _hoisted_3$4, [ + createVNode("div", _hoisted_4$3, [ + $data.refreshState == "pulling" ? (openBlock(), createBlock("svg", { + key: 0, + style: {transform: "rotate(" + $data.refreshRotate + "deg)"}, + fill: "#2BD009", + class: "uni-scroll-view-refresh__icon", + width: "24", + height: "24", + viewBox: "0 0 24 24" + }, [ + _hoisted_5$1, + _hoisted_6$1 + ], 4)) : createCommentVNode("", true), + $data.refreshState == "refreshing" ? (openBlock(), createBlock("svg", _hoisted_7, [ + _hoisted_8 + ])) : createCommentVNode("", true) + ]) + ])) : createCommentVNode("", true), + $props.refresherDefaultStyle == "none" ? renderSlot(_ctx.$slots, "refresher", {key: 1}) : createCommentVNode("", true) + ], 4)) : createCommentVNode("", true), + renderSlot(_ctx.$slots, "default") + ], 512) + ], 4) + ], 512) + ], 16); +} +_sfc_main$m.render = _sfc_render$l; +const _sfc_main$n = { + name: "Slider", + mixins: [emitter, listeners, touchtrack], + props: { + name: { + type: String, + default: "" + }, + min: { + type: [Number, String], + default: 0 + }, + max: { + type: [Number, String], + default: 100 + }, + value: { + type: [Number, String], + default: 0 + }, + step: { + type: [Number, String], + default: 1 + }, + disabled: { + type: [Boolean, String], + default: false + }, + color: { + type: String, + default: "#e9e9e9" + }, + backgroundColor: { + type: String, + default: "#e9e9e9" + }, + activeColor: { + type: String, + default: "#007aff" + }, + selectedColor: { + type: String, + default: "#007aff" + }, + blockColor: { + type: String, + default: "#ffffff" + }, + blockSize: { + type: [Number, String], + default: 28 + }, + showValue: { + type: [Boolean, String], + default: false + } + }, + data() { + return { + sliderValue: Number(this.value) + }; + }, + computed: { + setBlockStyle() { + return { + width: this.blockSize + "px", + height: this.blockSize + "px", + marginLeft: -this.blockSize / 2 + "px", + marginTop: -this.blockSize / 2 + "px", + left: this._getValueWidth(), + backgroundColor: this.blockColor + }; + }, + setBgColor() { + return { + backgroundColor: this._getBgColor() + }; + }, + setBlockBg() { + return { + left: this._getValueWidth() + }; + }, + setActiveColor() { + return { + backgroundColor: this._getActiveColor(), + width: this._getValueWidth() + }; + } + }, + watch: { + value(val) { + this.sliderValue = Number(val); + } + }, + mounted() { + this.touchtrack(this.$refs["uni-slider-handle"], "_onTrack"); + }, + created() { + this.$dispatch("Form", "uni-form-group-update", { + type: "add", + vm: this + }); + }, + beforeDestroy() { + this.$dispatch("Form", "uni-form-group-update", { + type: "remove", + vm: this + }); + }, + methods: { + _onUserChangedValue(e2) { + const slider = this.$refs["uni-slider"]; + const offsetWidth = slider.offsetWidth; + const boxLeft = slider.getBoundingClientRect().left; + const value = (e2.x - boxLeft) * (this.max - this.min) / offsetWidth + Number(this.min); + this.sliderValue = this._filterValue(value); + }, + _filterValue(e2) { + return e2 < this.min ? this.min : e2 > this.max ? this.max : Math.round((e2 - this.min) / this.step) * this.step + Number(this.min); + }, + _getValueWidth() { + return 100 * (this.sliderValue - this.min) / (this.max - this.min) + "%"; + }, + _getBgColor() { + return this.backgroundColor !== "#e9e9e9" ? this.backgroundColor : this.color !== "#007aff" ? this.color : "#007aff"; + }, + _getActiveColor() { + return this.activeColor !== "#007aff" ? this.activeColor : this.selectedColor !== "#e9e9e9" ? this.selectedColor : "#e9e9e9"; + }, + _onTrack: function(e2) { + if (!this.disabled) { + return e2.detail.state === "move" ? (this._onUserChangedValue({ + x: e2.detail.x0 + }), this.$trigger("changing", e2, { + value: this.sliderValue + }), false) : e2.detail.state === "end" && this.$trigger("change", e2, { + value: this.sliderValue + }); + } + }, + _onClick($event) { + if (this.disabled) { + return; + } + this._onUserChangedValue($event); + this.$trigger("change", $event, { + value: this.sliderValue + }); + }, + _resetFormData() { + this.sliderValue = this.min; + }, + _getFormData() { + const data = {}; + if (this.name !== "") { + data.value = this.sliderValue; + data.key = this.name; + } + return data; + } + } +}; +const _hoisted_1$c = {class: "uni-slider-wrapper"}; +const _hoisted_2$7 = {class: "uni-slider-tap-area"}; +function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-slider", mergeProps({ref: "uni-slider"}, _ctx.$attrs, { + onClick: _cache[1] || (_cache[1] = (...args) => $options._onClick && $options._onClick(...args)) + }), [ + createVNode("div", _hoisted_1$c, [ + createVNode("div", _hoisted_2$7, [ + createVNode("div", { + style: $options.setBgColor, + class: "uni-slider-handle-wrapper" + }, [ + createVNode("div", { + ref: "uni-slider-handle", + style: $options.setBlockBg, + class: "uni-slider-handle" + }, null, 4), + createVNode("div", { + style: $options.setBlockStyle, + class: "uni-slider-thumb" + }, null, 4), + createVNode("div", { + style: $options.setActiveColor, + class: "uni-slider-track" + }, null, 4) + ], 4) + ]), + withDirectives(createVNode("span", {class: "uni-slider-value"}, toDisplayString($data.sliderValue), 513), [ + [vShow, $props.showValue] + ]) + ]), + renderSlot(_ctx.$slots, "default") + ], 16); +} +_sfc_main$n.render = _sfc_render$m; +var index_vue_vue_type_style_index_0_lang$e = "\nuni-swiper-item {\n display: block;\n overflow: hidden;\n will-change: transform;\n position: absolute;\n width: 100%;\n height: 100%;\n cursor: grab;\n}\nuni-swiper-item[hidden] {\n display: none;\n}\n"; +const _sfc_main$o = { + name: "SwiperItem", + props: { + itemId: { + type: String, + default: "" + } + }, + mounted: function() { + var $el = this.$el; + $el.style.position = "absolute"; + $el.style.width = "100%"; + $el.style.height = "100%"; + var callbacks2 = this.$vnode._callbacks; + if (callbacks2) { + callbacks2.forEach((callback) => { + callback(); + }); + } + } +}; +function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-swiper-item", _ctx.$attrs, [ + renderSlot(_ctx.$slots, "default") + ], 16); +} +_sfc_main$o.render = _sfc_render$n; +var index_vue_vue_type_style_index_0_lang$f = '\nuni-switch {\r\n -webkit-tap-highlight-color: transparent;\r\n display: inline-block;\r\n cursor: pointer;\n}\nuni-switch[hidden] {\r\n display: none;\n}\nuni-switch[disabled] {\r\n cursor: not-allowed;\n}\nuni-switch .uni-switch-wrapper {\r\n display: -webkit-inline-flex;\r\n display: inline-flex;\r\n -webkit-align-items: center;\r\n align-items: center;\r\n vertical-align: middle;\n}\nuni-switch .uni-switch-input {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n position: relative;\r\n width: 52px;\r\n height: 32px;\r\n margin-right: 5px;\r\n border: 1px solid #DFDFDF;\r\n outline: 0;\r\n border-radius: 16px;\r\n box-sizing: border-box;\r\n background-color: #DFDFDF;\r\n transition: background-color 0.1s, border 0.1s;\n}\nuni-switch[disabled] .uni-switch-input {\r\n opacity: .7;\n}\nuni-switch .uni-switch-input:before {\r\n content: " ";\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 50px;\r\n height: 30px;\r\n border-radius: 15px;\r\n background-color: #FDFDFD;\r\n transition: -webkit-transform 0.3s;\r\n transition: transform 0.3s;\r\n transition: transform 0.3s, -webkit-transform 0.3s;\n}\nuni-switch .uni-switch-input:after {\r\n content: " ";\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 15px;\r\n background-color: #FFFFFF;\r\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);\r\n transition: -webkit-transform 0.3s;\r\n transition: transform 0.3s;\r\n transition: transform 0.3s, -webkit-transform 0.3s;\n}\nuni-switch .uni-switch-input.uni-switch-input-checked {\r\n border-color: #007aff;\r\n background-color: #007aff;\n}\nuni-switch .uni-switch-input.uni-switch-input-checked:before {\r\n -webkit-transform: scale(0);\r\n transform: scale(0);\n}\nuni-switch .uni-switch-input.uni-switch-input-checked:after {\r\n -webkit-transform: translateX(20px);\r\n transform: translateX(20px);\n}\nuni-switch .uni-checkbox-input {\r\n margin-right: 5px;\r\n -webkit-appearance: none;\r\n appearance: none;\r\n outline: 0;\r\n border: 1px solid #D1D1D1;\r\n background-color: #FFFFFF;\r\n border-radius: 3px;\r\n width: 22px;\r\n height: 22px;\r\n position: relative;\r\n color: #007aff;\n}\nuni-switch:not([disabled]) .uni-checkbox-input:hover {\r\n border-color: #007aff;\n}\nuni-switch .uni-checkbox-input.uni-checkbox-input-checked:before {\r\n font: normal normal normal 14px/1 "uni";\r\n content: "\\EA08";\r\n color: inherit;\r\n font-size: 22px;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -48%) scale(0.73);\r\n -webkit-transform: translate(-50%, -48%) scale(0.73);\n}\nuni-switch .uni-checkbox-input.uni-checkbox-input-disabled {\r\n background-color: #E1E1E1;\n}\nuni-switch .uni-checkbox-input.uni-checkbox-input-disabled:before {\r\n color: #ADADAD;\n}\r\n'; +const _sfc_main$p = { + name: "Switch", + mixins: [emitter, listeners], + props: { + name: { + type: String, + default: "" + }, + checked: { + type: [Boolean, String], + default: false + }, + type: { + type: String, + default: "switch" + }, + id: { + type: String, + default: "" + }, + disabled: { + type: [Boolean, String], + default: false + }, + color: { + type: String, + default: "#007aff" + } + }, + data() { + return { + switchChecked: this.checked + }; + }, + watch: { + checked(val) { + this.switchChecked = val; + } + }, + created() { + this.$dispatch("Form", "uni-form-group-update", { + type: "add", + vm: this + }); + }, + beforeDestroy() { + this.$dispatch("Form", "uni-form-group-update", { + type: "remove", + vm: this + }); + }, + listeners: { + "label-click": "_onClick", + "@label-click": "_onClick" + }, + methods: { + _onClick($event) { + if (this.disabled) { + return; + } + this.switchChecked = !this.switchChecked; + this.$trigger("change", $event, { + value: this.switchChecked + }); + }, + _resetFormData() { + this.switchChecked = false; + }, + _getFormData() { + const data = {}; + if (this.name !== "") { + data.value = this.switchChecked; + data.key = this.name; + } + return data; + } + } +}; +const _hoisted_1$d = {class: "uni-switch-wrapper"}; +function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-switch", mergeProps({disabled: $props.disabled}, _ctx.$attrs, { + onClick: _cache[1] || (_cache[1] = (...args) => $options._onClick && $options._onClick(...args)) + }), [ + createVNode("div", _hoisted_1$d, [ + withDirectives(createVNode("div", { + class: [[$data.switchChecked ? "uni-switch-input-checked" : ""], "uni-switch-input"], + style: {backgroundColor: $data.switchChecked ? $props.color : "#DFDFDF", borderColor: $data.switchChecked ? $props.color : "#DFDFDF"} + }, null, 6), [ + [vShow, $props.type === "switch"] + ]), + withDirectives(createVNode("div", { + class: [[$data.switchChecked ? "uni-checkbox-input-checked" : ""], "uni-checkbox-input"], + style: {color: $props.color} + }, null, 6), [ + [vShow, $props.type === "checkbox"] + ]) + ]) + ], 16, ["disabled"]); +} +_sfc_main$p.render = _sfc_render$o; +var index_vue_vue_type_style_index_0_lang$g = "\nuni-textarea {\n width: 300px;\n height: 150px;\n display: block;\n position: relative;\n font-size: 16px;\n line-height: normal;\n white-space: pre-wrap;\n word-break: break-all;\n}\nuni-textarea[hidden] {\n display: none;\n}\n.uni-textarea-wrapper,\n.uni-textarea-placeholder,\n.uni-textarea-line,\n.uni-textarea-compute,\n.uni-textarea-textarea {\n outline: none;\n border: none;\n padding: 0;\n margin: 0;\n text-decoration: inherit;\n}\n.uni-textarea-wrapper {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n}\n.uni-textarea-placeholder,\n.uni-textarea-line,\n.uni-textarea-compute,\n.uni-textarea-textarea {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n white-space: inherit;\n word-break: inherit;\n}\n.uni-textarea-placeholder {\n color: grey;\n overflow: hidden;\n}\n.uni-textarea-line,\n.uni-textarea-compute {\n visibility: hidden;\n height: auto;\n}\n.uni-textarea-line {\n width: 1em;\n}\n.uni-textarea-textarea {\n resize: none;\n background: none;\n color: inherit;\n opacity: 1;\n -webkit-text-fill-color: currentcolor;\n font: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n text-align: inherit;\n text-indent: inherit;\n text-transform: inherit;\n text-shadow: inherit;\n}\n.uni-textarea-textarea-fix-margin {\n width: auto;\n right: 0;\n margin: 0 -3px;\n}\n"; +const DARK_TEST_STRING = "(prefers-color-scheme: dark)"; +const _sfc_main$q = { + name: "Textarea", + mixins: [baseInput], + props: { + name: { + type: String, + default: "" + }, + maxlength: { + type: [Number, String], + default: 140 + }, + placeholder: { + type: String, + default: "" + }, + disabled: { + type: [Boolean, String], + default: false + }, + focus: { + type: [Boolean, String], + default: false + }, + autoFocus: { + type: [Boolean, String], + default: false + }, + placeholderClass: { + type: String, + default: "textarea-placeholder" + }, + placeholderStyle: { + type: String, + default: "" + }, + autoHeight: { + type: [Boolean, String], + default: false + }, + cursor: { + type: [Number, String], + default: -1 + }, + selectionStart: { + type: [Number, String], + default: -1 + }, + selectionEnd: { + type: [Number, String], + default: -1 + } + }, + data() { + return { + valueComposition: "", + composition: false, + focusSync: this.focus, + height: 0, + focusChangeSource: "", + fixMargin: String(navigator.platform).indexOf("iP") === 0 && String(navigator.vendor).indexOf("Apple") === 0 && window.matchMedia(DARK_TEST_STRING).media !== DARK_TEST_STRING + }; + }, + computed: { + maxlengthNumber() { + var maxlength = Number(this.maxlength); + return isNaN(maxlength) ? 140 : maxlength; + }, + cursorNumber() { + var cursor = Number(this.cursor); + return isNaN(cursor) ? -1 : cursor; + }, + selectionStartNumber() { + var selectionStart = Number(this.selectionStart); + return isNaN(selectionStart) ? -1 : selectionStart; + }, + selectionEndNumber() { + var selectionEnd = Number(this.selectionEnd); + return isNaN(selectionEnd) ? -1 : selectionEnd; + }, + valueCompute() { + return (this.composition ? this.valueComposition : this.valueSync).split("\n"); + } + }, + watch: { + focus(val) { + if (val) { + this.focusChangeSource = "focus"; + if (this.$refs.textarea) { + this.$refs.textarea.focus(); + } + } else { + if (this.$refs.textarea) { + this.$refs.textarea.blur(); + } + } + }, + focusSync(val) { + this.$emit("update:focus", val); + this._checkSelection(); + this._checkCursor(); + }, + cursorNumber() { + this._checkCursor(); + }, + selectionStartNumber() { + this._checkSelection(); + }, + selectionEndNumber() { + this._checkSelection(); + }, + height(height) { + let lineHeight = parseFloat(getComputedStyle(this.$el).lineHeight); + if (isNaN(lineHeight)) { + lineHeight = this.$refs.line.offsetHeight; + } + var lineCount = Math.round(height / lineHeight); + this.$trigger("linechange", {}, { + height, + heightRpx: 750 / window.innerWidth * height, + lineCount + }); + if (this.autoHeight) { + this.$el.style.height = this.height + "px"; + } + } + }, + created() { + this.$dispatch("Form", "uni-form-group-update", { + type: "add", + vm: this + }); + }, + mounted() { + this._resize({ + height: this.$refs.sensor.$el.offsetHeight + }); + let $vm = this; + while ($vm) { + const scopeId = $vm.$options._scopeId; + if (scopeId) { + this.$refs.placeholder.setAttribute(scopeId, ""); + } + $vm = $vm.$parent; + } + this.initKeyboard(this.$refs.textarea); + }, + beforeDestroy() { + this.$dispatch("Form", "uni-form-group-update", { + type: "remove", + vm: this + }); + }, + methods: { + _focus: function($event) { + this.focusSync = true; + this.$trigger("focus", $event, { + value: this.valueSync + }); + }, + _checkSelection() { + if (this.focusSync && !this.focusChangeSource && this.selectionStartNumber > -1 && this.selectionEndNumber > -1) { + this.$refs.textarea.selectionStart = this.selectionStartNumber; + this.$refs.textarea.selectionEnd = this.selectionEndNumber; + } + }, + _checkCursor() { + if (this.focusSync && (this.focusChangeSource === "focus" || !this.focusChangeSource && this.selectionStartNumber < 0 && this.selectionEndNumber < 0) && this.cursorNumber > -1) { + this.$refs.textarea.selectionEnd = this.$refs.textarea.selectionStart = this.cursorNumber; + } + }, + _blur: function($event) { + this.focusSync = false; + this.$trigger("blur", $event, { + value: this.valueSync, + cursor: this.$refs.textarea.selectionEnd + }); + }, + _compositionstart($event) { + this.composition = true; + }, + _compositionend($event) { + this.composition = false; + }, + _confirm($event) { + this.$trigger("confirm", $event, { + value: this.valueSync + }); + }, + _linechange($event) { + this.$trigger("linechange", $event, { + value: this.valueSync + }); + }, + _touchstart() { + this.focusChangeSource = "touch"; + }, + _resize({height}) { + this.height = height; + }, + _input($event) { + if (this.composition) { + this.valueComposition = $event.target.value; + return; + } + this.$triggerInput($event, { + value: this.valueSync, + cursor: this.$refs.textarea.selectionEnd + }); + }, + _getFormData() { + return { + value: this.valueSync, + key: this.name + }; + }, + _resetFormData() { + this.valueSync = ""; + } + } +}; +const _hoisted_1$e = {class: "uni-textarea-wrapper"}; +const _hoisted_2$8 = {class: "uni-textarea-compute"}; +function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) { + const _component_v_uni_resize_sensor = resolveComponent("v-uni-resize-sensor"); + return openBlock(), createBlock("uni-textarea", mergeProps({ + onChange: _cache[8] || (_cache[8] = withModifiers(() => { + }, ["stop"])) + }, _ctx.$attrs), [ + createVNode("div", _hoisted_1$e, [ + withDirectives(createVNode("div", { + ref: "placeholder", + style: $props.placeholderStyle, + class: [$props.placeholderClass, "uni-textarea-placeholder"], + textContent: toDisplayString($props.placeholder) + }, null, 14, ["textContent"]), [ + [vShow, !($data.composition || _ctx.valueSync.length)] + ]), + createVNode("div", { + ref: "line", + class: "uni-textarea-line", + textContent: toDisplayString(" ") + }, null, 8, ["textContent"]), + createVNode("div", _hoisted_2$8, [ + (openBlock(true), createBlock(Fragment, null, renderList($options.valueCompute, (item, index2) => { + return openBlock(), createBlock("div", { + key: index2, + textContent: toDisplayString(item.trim() ? item : ".") + }, null, 8, ["textContent"]); + }), 128)), + createVNode(_component_v_uni_resize_sensor, { + ref: "sensor", + onResize: $options._resize + }, null, 8, ["onResize"]) + ]), + withDirectives(createVNode("textarea", { + ref: "textarea", + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.valueSync = $event), + disabled: $props.disabled, + maxlength: $options.maxlengthNumber, + autofocus: $props.autoFocus || $props.focus, + class: [{"uni-textarea-textarea-fix-margin": $data.fixMargin}, "uni-textarea-textarea"], + style: {"overflow-y": $props.autoHeight ? "hidden" : "auto"}, + onCompositionstart: _cache[2] || (_cache[2] = (...args) => $options._compositionstart && $options._compositionstart(...args)), + onCompositionend: _cache[3] || (_cache[3] = (...args) => $options._compositionend && $options._compositionend(...args)), + onInput: _cache[4] || (_cache[4] = withModifiers((...args) => $options._input && $options._input(...args), ["stop"])), + onFocus: _cache[5] || (_cache[5] = (...args) => $options._focus && $options._focus(...args)), + onBlur: _cache[6] || (_cache[6] = (...args) => $options._blur && $options._blur(...args)), + onTouchstartPassive: _cache[7] || (_cache[7] = (...args) => $options._touchstart && $options._touchstart(...args)) + }, null, 46, ["disabled", "maxlength", "autofocus"]), [ + [vModelText, _ctx.valueSync] + ]) + ]) + ], 16); +} +_sfc_main$q.render = _sfc_render$p; +var index_vue_vue_type_style_index_0_lang$h = "\nuni-view {\r\n display: block;\n}\nuni-view[hidden] {\r\n display: none;\n}\r\n"; +const _sfc_main$r = { + name: "View", + mixins: [hover], + listeners: { + "label-click": "clickHandler" + } +}; +function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) { + return _ctx.hoverClass && _ctx.hoverClass !== "none" ? (openBlock(), createBlock("uni-view", mergeProps({ + key: 0, + class: [_ctx.hovering ? _ctx.hoverClass : ""], + onTouchstart: _cache[1] || (_cache[1] = (...args) => _ctx._hoverTouchStart && _ctx._hoverTouchStart(...args)), + onTouchend: _cache[2] || (_cache[2] = (...args) => _ctx._hoverTouchEnd && _ctx._hoverTouchEnd(...args)), + onTouchcancel: _cache[3] || (_cache[3] = (...args) => _ctx._hoverTouchCancel && _ctx._hoverTouchCancel(...args)) + }, _ctx.$attrs), [ + renderSlot(_ctx.$slots, "default") + ], 16)) : (openBlock(), createBlock("uni-view", mergeProps({key: 1}, _ctx.$attrs), [ + renderSlot(_ctx.$slots, "default") + ], 16)); +} +_sfc_main$r.render = _sfc_render$q; +const UniViewJSBridge$1 = extend(ViewJSBridge, { + publishHandler(event2, args, pageId) { + window.UniServiceJSBridge.subscribeHandler(event2, args, pageId); + } +}); +const uni$1 = api; +const UniServiceJSBridge$1 = extend(ServiceJSBridge, { + publishHandler(event2, args, pageId) { + window.UniViewJSBridge.subscribeHandler(event2, args, pageId); + } +}); +let appVm; +function getApp$1() { + return appVm; +} +function getCurrentPages$1() { + return []; +} +function mergeTitleNView(navigationBar, titleNView) { + if (isPlainObject(titleNView)) { + if (hasOwn(titleNView, "backgroundColor")) { + navigationBar.backgroundColor = titleNView.backgroundColor; + } + if (hasOwn(titleNView, "buttons")) { + navigationBar.buttons = titleNView.buttons; + } + if (hasOwn(titleNView, "titleColor")) { + navigationBar.textColor = titleNView.titleColor; + } + if (hasOwn(titleNView, "titleText")) { + navigationBar.titleText = titleNView.titleText; + } + if (hasOwn(titleNView, "titleSize")) { + navigationBar.titleSize = titleNView.titleSize; + } + if (hasOwn(titleNView, "type")) { + navigationBar.type = titleNView.type; + } + if (hasOwn(titleNView, "searchInput") && typeof titleNView.searchInput === "object") { + navigationBar.searchInput = Object.assign({ + autoFocus: false, + align: "center", + color: "#000000", + backgroundColor: "rgba(255,255,255,0.5)", + borderRadius: "0px", + placeholder: "", + placeholderColor: "#CCCCCC", + disabled: false + }, titleNView.searchInput); + } + } + return navigationBar; +} +function appendCss(css, cssId, replace = false) { + let style = document.getElementById(cssId); + if (style && replace) { + style.parentNode.removeChild(style); + style = null; + } + if (!style) { + style = document.createElement("style"); + style.type = "text/css"; + cssId && (style.id = cssId); + document.getElementsByTagName("head")[0].appendChild(style); + } + style.appendChild(document.createTextNode(css)); +} +function hexToRgba(hex) { + let r; + let g2; + let b; + hex = hex.replace("#", ""); + if (hex.length === 6) { + r = hex.substring(0, 2); + g2 = hex.substring(2, 4); + b = hex.substring(4, 6); + } else if (hex.length === 3) { + r = hex.substring(0, 1); + g2 = hex.substring(1, 2); + b = hex.substring(2, 3); + } else { + return false; + } + if (r.length === 1) { + r += r; + } + if (g2.length === 1) { + g2 += g2; + } + if (b.length === 1) { + b += b; + } + r = parseInt(r, 16); + g2 = parseInt(g2, 16); + b = parseInt(b, 16); + return { + r, + g: g2, + b + }; +} +var transparent = { + mounted() { + if (this.type === "transparent") { + const transparentElemStyle = this.$el.querySelector(".uni-page-head-transparent").style; + const titleElem = this.$el.querySelector(".uni-page-head__title"); + const iconElems = this.$el.querySelectorAll(".uni-btn-icon"); + const iconElemsStyles = []; + const textColor = this.textColor; + for (let i = 0; i < iconElems.length; i++) { + iconElemsStyles.push(iconElems[i].style); + } + const borderRadiusElems = this.$el.querySelectorAll(".uni-page-head-btn"); + const oldColors = []; + const borderRadiusElemsStyles = []; + for (let i = 0; i < borderRadiusElems.length; i++) { + const borderRadiusElem = borderRadiusElems[i]; + oldColors.push(getComputedStyle(borderRadiusElem).backgroundColor); + borderRadiusElemsStyles.push(borderRadiusElem.style); + } + this._A = 0; + UniViewJSBridge.on("onPageScroll", ({scrollTop}) => { + const alpha = Math.min(scrollTop / this.offset, 1); + if (alpha === 1 && this._A === 1) { + return; + } + if (alpha > 0.5 && this._A <= 0.5) { + iconElemsStyles.forEach(function(iconElemStyle) { + iconElemStyle.color = textColor; + }); + } else if (alpha <= 0.5 && this._A > 0.5) { + iconElemsStyles.forEach(function(iconElemStyle) { + iconElemStyle.color = "#fff"; + }); + } + this._A = alpha; + if (titleElem) { + titleElem.style.opacity = alpha; + } + transparentElemStyle.backgroundColor = `rgba(${this._R},${this._G},${this._B},${alpha})`; + borderRadiusElemsStyles.forEach(function(borderRadiusElemStyle, index2) { + const oldColor = oldColors[index2]; + let rgba = oldColor.match(/[\d+\.]+/g); + rgba[3] = (1 - alpha) * (rgba.length === 4 ? rgba[3] : 1); + borderRadiusElemStyle.backgroundColor = `rgba(${rgba})`; + }); + }); + } else if (this.type === "float") { + const iconElems = this.$el.querySelectorAll(".uni-btn-icon"); + const iconElemsStyles = []; + for (let i = 0; i < iconElems.length; i++) { + iconElemsStyles.push(iconElems[i].style); + } + const borderRadiusElems = this.$el.querySelectorAll(".uni-page-head-btn"); + const oldColors = []; + const borderRadiusElemsStyles = []; + for (let i = 0; i < borderRadiusElems.length; i++) { + const borderRadiusElem = borderRadiusElems[i]; + oldColors.push(getComputedStyle(borderRadiusElem).backgroundColor); + borderRadiusElemsStyles.push(borderRadiusElem.style); + } + } + }, + computed: { + color() { + return this.type === "transparent" ? "#fff" : this.textColor; + }, + offset() { + return parseInt(this.coverage); + }, + bgColor() { + if (this.type === "transparent") { + const {r, g: g2, b} = hexToRgba(this.backgroundColor); + this._R = r; + this._G = g2; + this._B = b; + return `rgba(${r},${g2},${b},0)`; + } + return this.backgroundColor; + } + } +}; +var pageHead_vue_vue_type_style_index_0_lang = "\nuni-page-head {\r\n display: block;\r\n box-sizing: border-box;\n}\nuni-page-head .uni-page-head {\r\n position: fixed;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n height: 44px;\r\n height: calc(44px + constant(safe-area-inset-top));\r\n height: calc(44px + env(safe-area-inset-top));\r\n padding: 7px 3px;\r\n padding-top: calc(7px + constant(safe-area-inset-top));\r\n padding-top: calc(7px + env(safe-area-inset-top));\r\n display: flex;\r\n overflow: hidden;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n z-index: 998;\r\n color: #fff;\r\n background-color: #000;\r\n transition-property: all;\n}\nuni-page-head .uni-page-head-titlePenetrate,\r\nuni-page-head .uni-page-head-titlePenetrate .uni-page-head-bd,\r\nuni-page-head .uni-page-head-titlePenetrate .uni-page-head-bd * {\r\n pointer-events: none;\n}\nuni-page-head .uni-page-head-titlePenetrate * {\r\n pointer-events: auto;\n}\nuni-page-head .uni-page-head.uni-page-head-transparent .uni-page-head-ft > div {\r\n justify-content: center;\n}\nuni-page-head .uni-page-head ~ .uni-placeholder {\r\n width: 100%;\r\n height: 44px;\r\n height: calc(44px + constant(safe-area-inset-top));\r\n height: calc(44px + env(safe-area-inset-top));\n}\nuni-page-head .uni-placeholder-titlePenetrate {\r\n pointer-events: none;\n}\nuni-page-head .uni-page-head * {\r\n box-sizing: border-box;\n}\nuni-page-head .uni-page-head-hd {\r\n display: flex;\r\n align-items: center;\r\n font-size: 16px;\n}\nuni-page-head .uni-page-head-bd {\r\n position: absolute;\r\n left: 70px;\r\n right: 70px;\r\n min-width: 0;\r\n user-select: auto;\n}\n.uni-page-head-btn {\r\n position: relative;\r\n width: auto;\r\n margin: 0 2px;\r\n word-break: keep-all;\r\n white-space: pre;\r\n cursor: pointer;\n}\n.uni-page-head-transparent .uni-page-head-btn {\r\n display: flex;\r\n align-items: center;\r\n width: 32px;\r\n height: 32px;\r\n border-radius: 50%;\r\n background-color: rgba(0, 0, 0, 0.5);\n}\nuni-page-head .uni-btn-icon {\r\n overflow: hidden;\r\n min-width: 1em;\n}\n.uni-page-head-btn-red-dot::after {\r\n content: attr(badge-text);\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n background-color: red;\r\n color: white;\r\n width: 18px;\r\n height: 18px;\r\n line-height: 18px;\r\n border-radius: 18px;\r\n overflow: hidden;\r\n transform: scale(0.5) translate(40%, -40%);\r\n transform-origin: 100% 0;\n}\n.uni-page-head-btn-red-dot[badge-text]::after {\r\n font-size: 12px;\r\n width: auto;\r\n min-width: 18px;\r\n max-width: 42px;\r\n text-align: center;\r\n padding: 0 3px;\r\n transform: scale(0.7) translate(40%, -40%);\n}\n.uni-page-head-btn-select > .uni-btn-icon::after {\r\n display: inline-block;\r\n font-family: 'unibtn';\r\n content: '\\e601';\r\n margin-left: 2px;\r\n transform: rotate(-90deg) scale(0.8);\n}\n.uni-page-head-search {\r\n position: relative;\r\n display: flex;\r\n flex: 1;\r\n margin: 0 2px;\r\n line-height: 30px;\r\n font-size: 15px;\n}\n.uni-page-head-search-input {\r\n width: 100%;\r\n height: 100%;\r\n padding-left: 34px;\r\n text-align: left;\n}\n.uni-page-head-search-placeholder {\r\n position: absolute;\r\n max-width: 100%;\r\n height: 100%;\r\n padding-left: 34px;\r\n overflow: hidden;\r\n word-break: keep-all;\r\n white-space: pre;\n}\n.uni-page-head-search-placeholder-right {\r\n right: 0;\n}\n.uni-page-head-search-placeholder-center {\r\n left: 50%;\r\n transform: translateX(-50%);\n}\n.uni-page-head-search-placeholder::before {\r\n position: absolute;\r\n top: 0;\r\n left: 2px;\r\n width: 30px;\r\n content: '\\ea0e';\r\n display: block;\r\n font-size: 20px;\r\n font-family: 'uni';\r\n text-align: center;\n}\nuni-page-head .uni-page-head-ft {\r\n display: flex;\r\n align-items: center;\r\n flex-direction: row-reverse;\r\n font-size: 13px;\n}\nuni-page-head .uni-page-head__title {\r\n font-weight: bold;\r\n font-size: 16px;\r\n line-height: 30px;\r\n text-align: center;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\n}\nuni-page-head .uni-page-head__title .uni-loading {\r\n width: 16px;\r\n height: 16px;\r\n margin-top: -3px;\n}\nuni-page-head .uni-page-head__title .uni-page-head__title_image {\r\n width: auto;\r\n height: 26px;\r\n vertical-align: middle;\n}\nuni-page-head .uni-page-head-shadow {\r\n overflow: visible;\n}\nuni-page-head .uni-page-head-shadow::after {\r\n content: '';\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 100%;\r\n height: 5px;\r\n background-size: 100% 100%;\n}\nuni-page-head .uni-page-head-shadow-grey::after {\r\n background-image: url('https://cdn.dcloud.net.cn/img/shadow-grey.png');\n}\nuni-page-head .uni-page-head-shadow-blue::after {\r\n background-image: url('https://cdn.dcloud.net.cn/img/shadow-blue.png');\n}\nuni-page-head .uni-page-head-shadow-green::after {\r\n background-image: url('https://cdn.dcloud.net.cn/img/shadow-green.png');\n}\nuni-page-head .uni-page-head-shadow-orange::after {\r\n background-image: url('https://cdn.dcloud.net.cn/img/shadow-orange.png');\n}\nuni-page-head .uni-page-head-shadow-red::after {\r\n background-image: url('https://cdn.dcloud.net.cn/img/shadow-red.png');\n}\nuni-page-head .uni-page-head-shadow-yellow::after {\r\n background-image: url('https://cdn.dcloud.net.cn/img/shadow-yellow.png');\n}\r\n"; +const FONTS = { + forward: "", + back: "", + share: "", + favorite: "", + home: "", + menu: "", + close: "" +}; +const _sfc_main$s = { + name: "PageHead", + mixins: [transparent], + components: { + VUniInput: _sfc_main$d + }, + props: { + backButton: { + type: Boolean, + default: true + }, + backgroundColor: { + type: String, + default() { + return this.type === "transparent" ? "#000" : "#F8F8F8"; + } + }, + textColor: { + type: String, + default: "#fff" + }, + titleText: { + type: String, + default: "" + }, + duration: { + type: String, + default: "0" + }, + timingFunc: { + type: String, + default: "" + }, + loading: { + type: Boolean, + default: false + }, + titleSize: { + type: String, + default: "16px" + }, + type: { + default: "default", + validator(value) { + return ["default", "transparent", "float"].indexOf(value) !== -1; + } + }, + coverage: { + type: String, + default: "132px" + }, + buttons: { + type: Array, + default() { + return []; + } + }, + searchInput: { + type: [Object, Boolean], + default() { + return false; + } + }, + titleImage: { + type: String, + default: "" + }, + titlePenetrate: { + type: Boolean, + default: false + }, + shadow: { + type: Object, + default() { + return {}; + } + } + }, + data() { + return { + focus: false, + text: "", + composing: false + }; + }, + computed: { + btns() { + const btns = []; + const fonts = {}; + if (this.buttons.length) { + this.buttons.forEach((button) => { + const btn = Object.assign({}, button); + if (btn.fontSrc && !btn.fontFamily) { + const fontSrc = btn.fontSrc = this.$getRealPath(btn.fontSrc); + let fontFamily; + if (fontSrc in fonts) { + fontFamily = fonts[fontSrc]; + } else { + fontFamily = `font${Date.now()}`; + fonts[fontSrc] = fontFamily; + const cssText = `@font-face{font-family: "${fontFamily}";src: url("${fontSrc}") format("truetype")}`; + appendCss(cssText, "uni-btn-font-" + fontFamily); + } + btn.fontFamily = fontFamily; + } + btn.color = this.type === "transparent" ? "#fff" : btn.color || this.textColor; + let fontSize = btn.fontSize || (this.type === "transparent" || /\\u/.test(btn.text) ? "22px" : "27px"); + if (/\d$/.test(fontSize)) { + fontSize += "px"; + } + btn.fontSize = fontSize; + btn.fontWeight = btn.fontWeight || "normal"; + btns.push(btn); + }); + } + return btns; + }, + leftBtns() { + return this.btns.filter((btn) => btn.float === "left"); + }, + rightBtns() { + return this.btns.filter((btn) => btn.float !== "left"); + }, + headClass() { + const shadowColorType = this.shadow.colorType; + const data = { + "uni-page-head-transparent": this.type === "transparent", + "uni-page-head-titlePenetrate": this.titlePenetrate, + "uni-page-head-shadow": shadowColorType + }; + if (shadowColorType) { + data[`uni-page-head-shadow-${shadowColorType}`] = shadowColorType; + } + return data; + } + }, + mounted() { + if (this.searchInput) { + const input = this.$refs.input; + input.$watch("composing", (val) => { + this.composing = val; + }); + if (this.searchInput.disabled) { + input.$el.addEventListener("click", () => { + UniServiceJSBridge.emit("onNavigationBarSearchInputClicked", ""); + }); + } else { + input.$refs.input.addEventListener("keyup", (event2) => { + if (event2.key.toUpperCase() === "ENTER") { + UniServiceJSBridge.emit("onNavigationBarSearchInputConfirmed", { + text: this.text + }); + } + }); + input.$refs.input.addEventListener("focus", () => { + UniServiceJSBridge.emit("onNavigationBarSearchInputFocusChanged", { + focus: true + }); + }); + input.$refs.input.addEventListener("blur", () => { + UniServiceJSBridge.emit("onNavigationBarSearchInputFocusChanged", { + focus: false + }); + }); + } + } + }, + methods: { + _back() { + if (getCurrentPages().length === 1) { + uni.reLaunch({ + url: "/" + }); + } else { + uni.navigateBack({ + from: "backbutton" + }); + } + }, + _onBtnClick(index2) { + UniServiceJSBridge.emit("onNavigationBarButtonTap", Object.assign({}, this.btns[index2], { + index: index2 + })); + }, + _formatBtnFontText(btn) { + if (btn.fontSrc && btn.fontFamily) { + return btn.text.replace("\\u", "&#x"); + } else if (FONTS[btn.type]) { + return FONTS[btn.type]; + } + return btn.text || ""; + }, + _formatBtnStyle(btn) { + const style = { + color: btn.color, + fontSize: btn.fontSize, + fontWeight: btn.fontWeight + }; + if (btn.fontFamily) { + style.fontFamily = btn.fontFamily; + } + return style; + }, + _focus() { + this.focus = true; + }, + _blur() { + this.focus = false; + }, + _input(text2) { + UniServiceJSBridge.emit("onNavigationBarSearchInputChanged", { + text: text2 + }); + } + } +}; +const _hoisted_1$f = {class: "uni-page-head-hd"}; +const _hoisted_2$9 = { + key: 0, + class: "uni-page-head-bd" +}; +const _hoisted_3$5 = { + key: 0, + class: "uni-loading" +}; +const _hoisted_4$4 = {class: "uni-page-head-ft"}; +function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) { + const _component_VUniInput = resolveComponent("VUniInput"); + return openBlock(), createBlock("uni-page-head", {"uni-page-head-type": $props.type}, [ + createVNode("div", { + style: {transitionDuration: $props.duration, transitionTimingFunction: $props.timingFunc, backgroundColor: _ctx.bgColor, color: $props.textColor}, + class: [$options.headClass, "uni-page-head"] + }, [ + createVNode("div", _hoisted_1$f, [ + withDirectives(createVNode("div", { + class: "uni-page-head-btn", + onClick: _cache[1] || (_cache[1] = (...args) => $options._back && $options._back(...args)) + }, [ + createVNode("i", { + style: {color: _ctx.color, fontSize: "27px"}, + class: "uni-btn-icon" + }, "\uE601", 4) + ], 512), [ + [vShow, $props.backButton] + ]), + (openBlock(true), createBlock(Fragment, null, renderList($options.leftBtns, (btn, index2) => { + return openBlock(), createBlock("div", { + key: index2, + style: {backgroundColor: $props.type === "transparent" ? btn.background : "transparent", width: btn.width}, + "badge-text": btn.badgeText, + class: [{"uni-page-head-btn-red-dot": btn.redDot || btn.badgeText, "uni-page-head-btn-select": btn.select}, "uni-page-head-btn"] + }, [ + createVNode("i", { + style: $options._formatBtnStyle(btn), + class: "uni-btn-icon", + onClick: ($event) => $options._onBtnClick(index2), + innerHTML: $options._formatBtnFontText(btn) + }, null, 12, ["onClick", "innerHTML"]) + ], 14, ["badge-text"]); + }), 128)) + ]), + !$props.searchInput ? (openBlock(), createBlock("div", _hoisted_2$9, [ + createVNode("div", { + style: {fontSize: $props.titleSize, opacity: $props.type === "transparent" ? 0 : 1}, + class: "uni-page-head__title" + }, [ + $props.loading ? (openBlock(), createBlock("i", _hoisted_3$5)) : createCommentVNode("", true), + $props.titleImage !== "" ? (openBlock(), createBlock("img", { + key: 1, + src: $props.titleImage, + class: "uni-page-head__title_image" + }, null, 8, ["src"])) : (openBlock(), createBlock(Fragment, {key: 2}, [ + createTextVNode(toDisplayString($props.titleText), 1) + ], 64)) + ], 4) + ])) : createCommentVNode("", true), + $props.searchInput ? (openBlock(), createBlock("div", { + key: 1, + style: {"border-radius": $props.searchInput.borderRadius, "background-color": $props.searchInput.backgroundColor}, + class: "uni-page-head-search" + }, [ + createVNode("div", { + style: {color: $props.searchInput.placeholderColor}, + class: [[`uni-page-head-search-placeholder-${$data.focus || $data.text ? "left" : $props.searchInput.align}`], "uni-page-head-search-placeholder"], + textContent: toDisplayString($data.text || $data.composing ? "" : $props.searchInput.placeholder) + }, null, 14, ["textContent"]), + createVNode(_component_VUniInput, { + ref: "input", + modelValue: $data.text, + "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $data.text = $event), + focus: $props.searchInput.autoFocus, + disabled: $props.searchInput.disabled, + style: {color: $props.searchInput.color}, + "placeholder-style": `color:${$props.searchInput.placeholderColor}`, + class: "uni-page-head-search-input", + "confirm-type": "search", + onFocus: $options._focus, + onBlur: $options._blur, + "onUpdate:value": $options._input + }, null, 8, ["modelValue", "focus", "disabled", "style", "placeholder-style", "onFocus", "onBlur", "onUpdate:value"]) + ], 4)) : createCommentVNode("", true), + createVNode("div", _hoisted_4$4, [ + (openBlock(true), createBlock(Fragment, null, renderList($options.rightBtns, (btn, index2) => { + return openBlock(), createBlock("div", { + key: index2, + style: {backgroundColor: $props.type === "transparent" ? btn.background : "transparent", width: btn.width}, + "badge-text": btn.badgeText, + class: [{"uni-page-head-btn-red-dot": btn.redDot || btn.badgeText, "uni-page-head-btn-select": btn.select}, "uni-page-head-btn"] + }, [ + createVNode("i", { + style: $options._formatBtnStyle(btn), + class: "uni-btn-icon", + onClick: ($event) => $options._onBtnClick(index2), + innerHTML: $options._formatBtnFontText(btn) + }, null, 12, ["onClick", "innerHTML"]) + ], 14, ["badge-text"]); + }), 128)) + ]) + ], 6), + $props.type !== "transparent" && $props.type !== "float" ? (openBlock(), createBlock("div", { + key: 0, + class: [{"uni-placeholder-titlePenetrate": $props.titlePenetrate}, "uni-placeholder"] + }, null, 2)) : createCommentVNode("", true) + ], 8, ["uni-page-head-type"]); +} +_sfc_main$s.render = _sfc_render$r; +var pageBody_vue_vue_type_style_index_0_lang = '\nuni-page-wrapper {\r\n display: block;\r\n height: 100%;\r\n position: relative;\n}\nuni-page-head[uni-page-head-type="default"] ~ uni-page-wrapper {\r\n height: calc(100% - 44px);\r\n height: calc(100% - 44px - constant(safe-area-inset-top));\r\n height: calc(100% - 44px - env(safe-area-inset-top));\n}\n.uni-app--showtabbar uni-page-wrapper {\r\n display: block;\r\n height: calc(100% - 50px);\r\n height: calc(100% - 50px - constant(safe-area-inset-bottom));\r\n height: calc(100% - 50px - env(safe-area-inset-bottom));\n}\n.uni-app--showtabbar uni-page-wrapper::after {\r\n content: "";\r\n display: block;\r\n width: 100%;\r\n height: 50px;\r\n height: calc(50px + constant(safe-area-inset-bottom));\r\n height: calc(50px + env(safe-area-inset-bottom));\n}\n.uni-app--showtabbar uni-page-head[uni-page-head-type="default"] ~ uni-page-wrapper {\r\n height: calc(100% - 44px - 50px);\r\n height: calc(100% - 44px - constant(safe-area-inset-top) - 50px - constant(safe-area-inset-bottom));\r\n height: calc(100% - 44px - env(safe-area-inset-top) - 50px - env(safe-area-inset-bottom));\n}\nuni-page-body {\r\n display: block;\r\n box-sizing: border-box;\r\n width: 100%;\n}\r\n'; +const _sfc_main$t = { + name: "PageBody" +}; +function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-page-wrapper", null, [ + createVNode("uni-page-body", null, [ + renderSlot(_ctx.$slots, "default") + ]) + ]); +} +_sfc_main$t.render = _sfc_render$s; +var pageRefresh_vue_vue_type_style_index_0_lang = "\nuni-page-refresh {\r\n position: absolute;\r\n top: 0;\r\n width: 100%;\r\n height: 40px;\r\n display: block;\r\n box-sizing: border-box;\n}\nuni-page-refresh .uni-page-refresh {\r\n position: absolute;\r\n top: -45px;\r\n left: 50%;\r\n transform: translate3d(-50%, 0, 0);\r\n width: 40px;\r\n height: 40px;\r\n justify-content: center;\r\n align-items: center;\r\n background: #fff;\r\n border-radius: 50%;\r\n box-shadow: 0 1px 6px rgba(0, 0, 0, .117647), 0 1px 4px rgba(0, 0, 0, .117647);\r\n display: none;\n z-index: 997;\n}\nuni-page-refresh .uni-page-refresh-inner {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n line-height: 0;\r\n width: 40px;\r\n height: 40px;\r\n border-radius: 50%;\n}\nuni-page-refresh.uni-page-refresh--pulling .uni-page-refresh,\r\n uni-page-refresh.uni-page-refresh--aborting .uni-page-refresh,\r\n uni-page-refresh.uni-page-refresh--reached .uni-page-refresh,\r\n uni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh,\r\n uni-page-refresh.uni-page-refresh--restoring .uni-page-refresh {\r\n display: flex;\n}\nuni-page-refresh.uni-page-refresh--pulling .uni-page-refresh__spinner,\r\n uni-page-refresh.uni-page-refresh--aborting .uni-page-refresh__spinner,\r\n uni-page-refresh.uni-page-refresh--reached .uni-page-refresh__spinner,\r\n uni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh__icon,\r\n uni-page-refresh.uni-page-refresh--restoring .uni-page-refresh__icon {\r\n display: none;\n}\nuni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh__spinner {\r\n transform-origin: center center;\r\n animation: uni-page-refresh-rotate 2s linear infinite;\n}\nuni-page-refresh.uni-page-refresh--refreshing .uni-page-refresh__path {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n stroke-linecap: round;\r\n animation: uni-page-refresh-dash 1.5s ease-in-out infinite, uni-page-refresh-colorful 6s ease-in-out infinite;\n}\n@keyframes uni-page-refresh-rotate {\n100% {\r\n -webkit-transform: rotate(360deg);\r\n transform: rotate(360deg);\n}\n}\n@keyframes uni-page-refresh-dash {\n0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\n}\n50% {\r\n stroke-dasharray: 89, 200;\r\n stroke-dashoffset: -35px;\n}\n100% {\r\n stroke-dasharray: 89, 200;\r\n stroke-dashoffset: -124px;\n}\n}\r\n"; +const _sfc_main$u = { + name: "PageRefresh", + props: { + color: { + type: String, + default: "#2BD009" + }, + offset: { + type: Number, + default: 0 + } + } +}; +const _hoisted_1$g = {class: "uni-page-refresh-inner"}; +const _hoisted_2$a = /* @__PURE__ */ createVNode("path", {d: "M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"}, null, -1); +const _hoisted_3$6 = /* @__PURE__ */ createVNode("path", { + d: "M0 0h24v24H0z", + fill: "none" +}, null, -1); +const _hoisted_4$5 = { + class: "uni-page-refresh__spinner", + width: "24", + height: "24", + viewBox: "25 25 50 50" +}; +function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("uni-page-refresh", null, [ + createVNode("div", { + style: {"margin-top": $props.offset + "px"}, + class: "uni-page-refresh" + }, [ + createVNode("div", _hoisted_1$g, [ + (openBlock(), createBlock("svg", { + fill: $props.color, + class: "uni-page-refresh__icon", + width: "24", + height: "24", + viewBox: "0 0 24 24" + }, [ + _hoisted_2$a, + _hoisted_3$6 + ], 8, ["fill"])), + (openBlock(), createBlock("svg", _hoisted_4$5, [ + createVNode("circle", { + stroke: $props.color, + class: "uni-page-refresh__path", + cx: "50", + cy: "50", + r: "20", + fill: "none", + "stroke-width": "4", + "stroke-miterlimit": "10" + }, null, 8, ["stroke"]) + ])) + ]) + ], 4) + ]); +} +_sfc_main$u.render = _sfc_render$t; +function processDeltaY(evt, identifier, startY) { + const touch = Array.prototype.slice.call(evt.changedTouches).filter((touch2) => touch2.identifier === identifier)[0]; + if (!touch) { + return false; + } + evt.deltaY = touch.pageY - startY; + return true; +} +const PULLING = "pulling"; +const REACHED = "reached"; +const ABORTING = "aborting"; +const REFRESHING = "refreshing"; +const RESTORING = "restoring"; +var pullToRefresh = { + mounted() { + if (this.enablePullDownRefresh) { + this.refreshContainerElem = this.$refs.refresh.$el; + this.refreshControllerElem = this.refreshContainerElem.querySelector(".uni-page-refresh"); + this.refreshInnerElemStyle = this.refreshControllerElem.querySelector(".uni-page-refresh-inner").style; + UniServiceJSBridge.on(this.$route.params.__id__ + ".startPullDownRefresh", () => { + if (!this.state) { + this.state = REFRESHING; + this._addClass(); + setTimeout(() => { + this._refreshing(); + }, 50); + } + }); + UniServiceJSBridge.on(this.$route.params.__id__ + ".stopPullDownRefresh", () => { + if (this.state === REFRESHING) { + this._removeClass(); + this.state = RESTORING; + this._addClass(); + this._restoring(() => { + this._removeClass(); + this.state = this.distance = this.offset = null; + }); + } + }); + } + }, + methods: { + _touchstart(evt) { + const touch = evt.changedTouches[0]; + this.touchId = touch.identifier; + this.startY = touch.pageY; + if ([ABORTING, REFRESHING, RESTORING].indexOf(this.state) >= 0) { + this.canRefresh = false; + } else { + this.canRefresh = true; + } + }, + _touchmove(evt) { + if (!this.canRefresh) { + return; + } + if (!processDeltaY(evt, this.touchId, this.startY)) { + return; + } + let {deltaY} = evt; + if ((document.documentElement.scrollTop || document.body.scrollTop) !== 0) { + this.touchId = null; + return; + } + if (deltaY < 0 && !this.state) { + return; + } + evt.preventDefault(); + if (this.distance == null) { + this.offset = deltaY; + this.state = PULLING; + this._addClass(); + } + deltaY = deltaY - this.offset; + if (deltaY < 0) { + deltaY = 0; + } + this.distance = deltaY; + const reached = deltaY >= this.refreshOptions.range && this.state !== REACHED; + const pulling = deltaY < this.refreshOptions.range && this.state !== PULLING; + if (reached || pulling) { + this._removeClass(); + this.state = this.state === REACHED ? PULLING : REACHED; + this._addClass(); + } + this._pulling(deltaY); + }, + _touchend(evt) { + if (!processDeltaY(evt, this.touchId, this.startY)) { + return; + } + if (this.state === null) { + return; + } + if (this.state === PULLING) { + this._removeClass(); + this.state = ABORTING; + this._addClass(); + this._aborting(() => { + this._removeClass(); + this.state = this.distance = this.offset = null; + }); + } else if (this.state === REACHED) { + this._removeClass(); + this.state = REFRESHING; + this._addClass(); + this._refreshing(); + } + }, + _toggleClass(type) { + if (!this.state) { + return; + } + const elem = this.refreshContainerElem; + if (elem) { + elem.classList[type]("uni-page-refresh--" + this.state); + } + }, + _addClass() { + this._toggleClass("add"); + }, + _removeClass() { + this._toggleClass("remove"); + }, + _pulling(deltaY) { + const elem = this.refreshControllerElem; + if (!elem) { + return; + } + const style = elem.style; + let rotate = deltaY / this.refreshOptions.range; + if (rotate > 1) { + rotate = 1; + } else { + rotate = rotate * rotate * rotate; + } + const y = Math.round(deltaY / (this.refreshOptions.range / this.refreshOptions.height)); + const transform = y ? "translate3d(-50%, " + y + "px, 0)" : 0; + style.webkitTransform = transform; + style.clip = "rect(" + (45 - y) + "px,45px,45px,-5px)"; + this.refreshInnerElemStyle.webkitTransform = "rotate(" + 360 * rotate + "deg)"; + }, + _aborting(callback) { + const elem = this.refreshControllerElem; + if (!elem) { + return; + } + const style = elem.style; + if (style.webkitTransform) { + style.webkitTransition = "-webkit-transform 0.3s"; + style.webkitTransform = "translate3d(-50%, 0, 0)"; + const abortTransitionEnd = function() { + timeout && clearTimeout(timeout); + elem.removeEventListener("webkitTransitionEnd", abortTransitionEnd); + style.webkitTransition = ""; + callback(); + }; + elem.addEventListener("webkitTransitionEnd", abortTransitionEnd); + const timeout = setTimeout(abortTransitionEnd, 350); + } else { + callback(); + } + }, + _refreshing() { + const elem = this.refreshControllerElem; + if (!elem) { + return; + } + const style = elem.style; + style.webkitTransition = "-webkit-transform 0.2s"; + style.webkitTransform = "translate3d(-50%, " + this.refreshOptions.height + "px, 0)"; + UniServiceJSBridge.emit("onPullDownRefresh", {}, this.$route.params.__id__); + }, + _restoring(callback) { + const elem = this.refreshControllerElem; + if (!elem) { + return; + } + const style = elem.style; + style.webkitTransition = "-webkit-transform 0.3s"; + style.webkitTransform += " scale(0.01)"; + const restoreTransitionEnd = function() { + timeout && clearTimeout(timeout); + elem.removeEventListener("webkitTransitionEnd", restoreTransitionEnd); + style.webkitTransition = ""; + style.webkitTransform = "translate3d(-50%, 0, 0)"; + callback(); + }; + elem.addEventListener("webkitTransitionEnd", restoreTransitionEnd); + const timeout = setTimeout(restoreTransitionEnd, 350); + } + } +}; +var index_vue_vue_type_style_index_0_lang$i = "\nuni-page {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\n}\r\n"; +const _sfc_main$v = { + name: "Page", + mpType: "page", + components: { + PageHead: _sfc_main$s, + PageBody: _sfc_main$t, + PageRefresh: _sfc_main$u + }, + mixins: [pullToRefresh], + props: { + isQuit: { + type: Boolean, + default: false + }, + isEntry: { + type: Boolean, + default: false + }, + isTabBar: { + type: Boolean, + default: false + }, + tabBarIndex: { + type: Number, + default: -1 + }, + navigationBarBackgroundColor: { + type: String, + default: "#000" + }, + navigationBarTextStyle: { + default: "white", + validator(value) { + return ["white", "black"].indexOf(value) !== -1; + } + }, + navigationBarTitleText: { + type: String, + default: "" + }, + navigationStyle: { + default: "default", + validator(value) { + return ["default", "custom"].indexOf(value) !== -1; + } + }, + backgroundColor: { + type: String, + default: "#ffffff" + }, + backgroundTextStyle: { + default: "dark", + validator(value) { + return ["dark", "light"].indexOf(value) !== -1; + } + }, + backgroundColorTop: { + type: String, + default: "#fff" + }, + backgroundColorBottom: { + type: String, + default: "#fff" + }, + enablePullDownRefresh: { + type: Boolean, + default: false + }, + onReachBottomDistance: { + type: Number, + default: 50 + }, + disableScroll: { + type: Boolean, + default: false + }, + titleNView: { + type: [Boolean, Object, String], + default: "" + }, + pullToRefresh: { + type: Object, + default() { + return {}; + } + }, + titleImage: { + type: String, + default: "" + }, + transparentTitle: { + type: String, + default: "" + }, + titlePenetrate: { + type: String, + default: "NO" + }, + navigationBarShadow: { + type: Object, + default() { + return {}; + } + } + }, + data() { + const titleNViewTypeList = { + none: "default", + auto: "transparent", + always: "float" + }; + let titleNView = this.titleNView; + if (titleNView === false || titleNView === "false" || this.navigationStyle === "custom" && !isPlainObject(titleNView) || this.transparentTitle === "always" && !isPlainObject(titleNView)) { + titleNView = { + type: "none" + }; + } else { + titleNView = Object.assign({}, { + type: this.navigationStyle === "custom" ? "none" : "default" + }, this.transparentTitle in titleNViewTypeList ? { + type: titleNViewTypeList[this.transparentTitle] + } : null, typeof titleNView === "object" ? titleNView : typeof titleNView === "boolean" ? { + type: titleNView ? "default" : "none" + } : null); + } + const yesNoParseList = { + YES: true, + NO: false + }; + const navigationBar = mergeTitleNView({ + loading: false, + backButton: !this.isQuit && !this.$route.meta.isQuit, + backgroundColor: this.navigationBarBackgroundColor, + textColor: this.navigationBarTextStyle === "black" ? "#000" : "#fff", + titleText: this.navigationBarTitleText, + titleImage: this.titleImage, + duration: "0", + timingFunc: "", + titlePenetrate: yesNoParseList[this.titlePenetrate] + }, titleNView); + navigationBar.shadow = this.navigationBarShadow; + const refreshOptions = Object.assign({ + support: true, + color: "#2BD009", + style: "circle", + height: 70, + range: 150, + offset: 0 + }, this.pullToRefresh); + let offset = uni.upx2px(refreshOptions.offset); + if (titleNView.type !== "none" && titleNView.type !== "transparent") { + offset += NAVBAR_HEIGHT + out.top; + } + refreshOptions.offset = offset; + refreshOptions.height = uni.upx2px(refreshOptions.height); + refreshOptions.range = uni.upx2px(refreshOptions.range); + return { + navigationBar, + refreshOptions + }; + }, + created() { + const navigationBar = this.navigationBar; + document.title = navigationBar.titleText; + UniServiceJSBridge.emit("onNavigationBarChange", navigationBar); + } +}; +function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) { + const _component_page_head = resolveComponent("page-head"); + const _component_page_refresh = resolveComponent("page-refresh"); + const _component_page_body = resolveComponent("page-body"); + return openBlock(), createBlock("uni-page", { + "data-page": _ctx.$route.meta.pagePath + }, [ + $data.navigationBar.type !== "none" ? (openBlock(), createBlock(_component_page_head, mergeProps({key: 0}, $data.navigationBar), null, 16)) : createCommentVNode("", true), + $props.enablePullDownRefresh ? (openBlock(), createBlock(_component_page_refresh, { + key: 1, + ref: "refresh", + color: $data.refreshOptions.color, + offset: $data.refreshOptions.offset + }, null, 8, ["color", "offset"])) : createCommentVNode("", true), + $props.enablePullDownRefresh ? (openBlock(), createBlock(_component_page_body, { + key: 2, + onTouchstartPassive: _ctx._touchstart, + onTouchmovePassive: _ctx._touchmove, + onTouchendPassive: _ctx._touchend, + onTouchcancelPassive: _ctx._touchend + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "page") + ]), + _: 3 + }, 8, ["onTouchstartPassive", "onTouchmovePassive", "onTouchendPassive", "onTouchcancelPassive"])) : (openBlock(), createBlock(_component_page_body, {key: 3}, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "page") + ]), + _: 3 + })) + ], 8, ["data-page"]); +} +_sfc_main$v.render = _sfc_render$u; +var index_vue_vue_type_style_index_0_lang$j = "\n.uni-async-error {\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n color: #999;\r\n padding: 100px 0;\r\n text-align: center;\n}\r\n"; +const _sfc_main$w = { + name: "AsyncError", + methods: { + _onClick() { + window.location.reload(); + } + } +}; +function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("div", { + class: "uni-async-error", + onClick: _cache[1] || (_cache[1] = (...args) => $options._onClick && $options._onClick(...args)) + }, " \u8FDE\u63A5\u670D\u52A1\u5668\u8D85\u65F6\uFF0C\u70B9\u51FB\u5C4F\u5E55\u91CD\u8BD5 "); +} +_sfc_main$w.render = _sfc_render$v; +var index_vue_vue_type_style_index_0_lang$k = "\n.uni-async-loading {\n box-sizing: border-box;\r\n width: 100%;\r\n padding: 50px;\r\n text-align: center;\n}\n.uni-async-loading .uni-loading {\r\n width: 30px;\r\n height: 30px;\n}\r\n"; +const _sfc_main$x = { + name: "AsyncLoading" +}; +const _hoisted_1$h = {class: "uni-async-loading"}; +const _hoisted_2$b = /* @__PURE__ */ createVNode("i", {class: "uni-loading"}, null, -1); +function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createBlock("div", _hoisted_1$h, [ + _hoisted_2$b + ]); +} +_sfc_main$x.render = _sfc_render$w; +export {_sfc_main$w as AsyncErrorComponent, _sfc_main$x as AsyncLoadingComponent, _sfc_main$5 as Audio, _sfc_main$6 as Canvas, _sfc_main$7 as Checkbox, _sfc_main$8 as CheckboxGroup, _sfc_main$9 as Editor, _sfc_main$a as Form, _sfc_main$b as Icon, _sfc_main$c as Image, _sfc_main$d as Input, _sfc_main$e as Label, _sfc_main$f as MovableView, _sfc_main$g as Navigator, _sfc_main$v as PageComponent, _sfc_main$h as Progress, _sfc_main$i as Radio, _sfc_main$j as RadioGroup, _sfc_main$k as ResizeSensor, _sfc_main$l as RichText, _sfc_main$m as ScrollView, _sfc_main$n as Slider, _sfc_main$o as SwiperItem, _sfc_main$p as Switch, _sfc_main$q as Textarea, UniServiceJSBridge$1 as UniServiceJSBridge, UniViewJSBridge$1 as UniViewJSBridge, _sfc_main$r as View, addInterceptor, arrayBufferToBase64, base64ToArrayBuffer, canIUse, createIntersectionObserver$1 as createIntersectionObserver, createSelectorQuery$1 as createSelectorQuery, getApp$1 as getApp, getCurrentPages$1 as getCurrentPages, getImageInfo, getRealPath, getSystemInfo, getSystemInfoSync, makePhoneCall, navigateBack, navigateTo, openDocument, index as plugin, promiseInterceptor, reLaunch, redirectTo, removeInterceptor, switchTab, uni$1 as uni, upx2px}; diff --git a/package.json b/package.json index db1f6d603..7f9bf05a1 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ ], "scripts": { "build": "node scripts/build.js", - "lint": "eslint packages/**/*.ts", + "lint": "eslint packages/*/src/**/*.ts", "format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"", "ls-lint": "ls-lint", "test": "jest", @@ -66,7 +66,7 @@ "semver": "^7.3.4", "ts-jest": "^26.4.4", "typescript": "^4.1.3", - "vite": "^2.0.0-beta.4", + "vite": "^2.0.0-beta.31", "vue": "3.0.5", "yorkie": "^2.0.0" } diff --git a/packages/uni-api/src/helpers/api.ts b/packages/uni-api/src/helpers/api.ts index 0e30b1037..6a2350e9f 100644 --- a/packages/uni-api/src/helpers/api.ts +++ b/packages/uni-api/src/helpers/api.ts @@ -38,7 +38,7 @@ export function createApi( fn: T, protocol?: ApiProtocols ) { - return (function(...args: any[]) { + return (function (...args: any[]) { if (type === API_TYPE_SYNC) { if (!(__DEV__ && protocol && !validateProtocol(name!, args, protocol))) { return fn.apply(null, formatApiArgs(args, options)) diff --git a/packages/uni-api/src/helpers/base64-arraybuffer.js b/packages/uni-api/src/helpers/base64-arraybuffer.js index 37942fa0b..56b3936b0 100644 --- a/packages/uni-api/src/helpers/base64-arraybuffer.js +++ b/packages/uni-api/src/helpers/base64-arraybuffer.js @@ -16,7 +16,7 @@ for (var i = 0; i < chars.length; i++) { lookup[chars.charCodeAt(i)] = i } -exports.encode = function(arraybuffer) { +export function encode(arraybuffer) { var bytes = new Uint8Array(arraybuffer), i, len = bytes.length, @@ -38,7 +38,7 @@ exports.encode = function(arraybuffer) { return base64 } -exports.decode = function(base64) { +export function decode(base64) { var bufferLength = base64.length * 0.75, len = base64.length, i, diff --git a/packages/uni-api/src/helpers/interceptor.ts b/packages/uni-api/src/helpers/interceptor.ts index a8c7c9579..a5638d67e 100644 --- a/packages/uni-api/src/helpers/interceptor.ts +++ b/packages/uni-api/src/helpers/interceptor.ts @@ -5,7 +5,7 @@ export enum HOOKS { SUCCESS = 'success', FAIL = 'fail', COMPLETE = 'complete', - RETURN_VALUE = 'returnValue' + RETURN_VALUE = 'returnValue', } export type Interceptor = { [P in HOOKS]?: Function } @@ -16,7 +16,7 @@ export const globalInterceptors: Interceptors = {} export const scopedInterceptors: { [key: string]: Interceptors } = {} function wrapperHook(hook: Function) { - return function(data: unknown) { + return function (data: unknown) { return hook(data) || data } } @@ -35,7 +35,7 @@ function queue(hooks: Function[], data: unknown): Promise { if (res === false) { return { then() {}, - catch() {} + catch() {}, } as Promise } } @@ -45,7 +45,7 @@ function queue(hooks: Function[], data: unknown): Promise { then(callback: Function) { return callback(data) }, - catch() {} + catch() {}, } ) } @@ -54,7 +54,7 @@ function wrapperOptions( interceptors: Interceptors, options: Record = {} ) { - ;[HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach(name => { + ;[HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach((name) => { const hooks = interceptors[name] if (!isArray(hooks)) { return @@ -78,7 +78,7 @@ export function wrapperReturnValue(method: string, returnValue: unknown) { if (interceptor && isArray(interceptor.returnValue)) { returnValueHooks.push(...interceptor.returnValue) } - returnValueHooks.forEach(hook => { + returnValueHooks.forEach((hook) => { returnValue = hook(returnValue) || returnValue }) return returnValue @@ -86,7 +86,7 @@ export function wrapperReturnValue(method: string, returnValue: unknown) { function getApiInterceptorHooks(method: string) { const interceptor = Object.create(null) - Object.keys(globalInterceptors).forEach(hook => { + Object.keys(globalInterceptors).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = (globalInterceptors[ hook as HOOKS @@ -95,7 +95,7 @@ function getApiInterceptorHooks(method: string) { }) const scopedInterceptor = scopedInterceptors[method] if (scopedInterceptor) { - Object.keys(scopedInterceptor).forEach(hook => { + Object.keys(scopedInterceptor).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = (interceptor[hook] || []).concat( scopedInterceptor[hook as HOOKS] @@ -116,7 +116,7 @@ export function invokeApi( if (interceptor && Object.keys(interceptor).length) { if (isArray(interceptor.invoke)) { const res = queue(interceptor.invoke, options) - return res.then(options => { + return res.then((options) => { return api(wrapperOptions(interceptor, options), ...params) }) } else { diff --git a/packages/uni-api/src/helpers/promise.ts b/packages/uni-api/src/helpers/promise.ts index 59e201d6e..33768b086 100644 --- a/packages/uni-api/src/helpers/promise.ts +++ b/packages/uni-api/src/helpers/promise.ts @@ -36,10 +36,10 @@ function handlePromise(promise: Promise) { return promise } return promise - .then(data => { + .then((data) => { return [null, data] }) - .catch(err => [err]) + .catch((err) => [err]) } export function shouldPromise(name: string) { @@ -51,13 +51,13 @@ export function shouldPromise(name: string) { /* eslint-disable no-extend-native */ if (!Promise.prototype.finally) { - Promise.prototype.finally = function( + Promise.prototype.finally = function ( onfinally?: (() => void) | undefined | null ) { const promise = this.constructor as PromiseConstructor return this.then( - value => promise.resolve(onfinally && onfinally()).then(() => value), - reason => + (value) => promise.resolve(onfinally && onfinally()).then(() => value), + (reason) => promise.resolve(onfinally && onfinally()).then(() => { throw reason }) @@ -89,7 +89,7 @@ export function promisify(name: string, api: unknown) { api, Object.assign({}, options, { success: resolve, - fail: reject + fail: reject, }), ...params ) diff --git a/packages/uni-api/src/helpers/protocol.ts b/packages/uni-api/src/helpers/protocol.ts index 1358fe3da..9878e2d66 100644 --- a/packages/uni-api/src/helpers/protocol.ts +++ b/packages/uni-api/src/helpers/protocol.ts @@ -11,14 +11,14 @@ export const HTTP_METHODS = { PUT: 'PUT', DELETE: 'DELETE', TRACE: 'TRACE', - CONNECT: 'CONNECT' + CONNECT: 'CONNECT', } export function normalizeStrArray(strArr: string[], optionalVal: string[]) { if ( !isArray(strArr) || strArr.length === 0 || - strArr.find(val => optionalVal.indexOf(val) === -1) + strArr.find((val) => optionalVal.indexOf(val) === -1) ) { return optionalVal } diff --git a/packages/uni-api/src/index.ts b/packages/uni-api/src/index.ts index c091abd93..f3ca12026 100644 --- a/packages/uni-api/src/index.ts +++ b/packages/uni-api/src/index.ts @@ -27,6 +27,6 @@ export { API_TYPE_ON, API_TYPE_SYNC, API_TYPE_ASYNC, - API_TYPE_RETURN + API_TYPE_RETURN, } from './helpers/api' export { isSyncApi, isContextApi, promisify } from './helpers/promise' diff --git a/packages/uni-api/src/protocols/base/base64.ts b/packages/uni-api/src/protocols/base/base64.ts index c8cf9fedf..aa92f5119 100644 --- a/packages/uni-api/src/protocols/base/base64.ts +++ b/packages/uni-api/src/protocols/base/base64.ts @@ -4,8 +4,8 @@ export const Base64ToArrayBufferProtocol: ProtocolOptions[] = [ { name: 'base64', type: String, - required: true - } + required: true, + }, ] export const ArrayBufferToBase64Protocol: ProtocolOptions< @@ -14,6 +14,6 @@ export const ArrayBufferToBase64Protocol: ProtocolOptions< { name: 'arrayBuffer', type: [ArrayBuffer, Uint8Array], - required: true - } + required: true, + }, ] diff --git a/packages/uni-api/src/protocols/base/canIUse.ts b/packages/uni-api/src/protocols/base/canIUse.ts index b5aa267fd..fdc4e6767 100644 --- a/packages/uni-api/src/protocols/base/canIUse.ts +++ b/packages/uni-api/src/protocols/base/canIUse.ts @@ -1,9 +1,9 @@ -import { ProtocolOptions } from '../type' - -export const CanIUseProtocol: ProtocolOptions[] = [ - { - name: 'schema', - type: String, - required: true - } -] +import { ProtocolOptions } from '../type' + +export const CanIUseProtocol: ProtocolOptions[] = [ + { + name: 'schema', + type: String, + required: true, + }, +] diff --git a/packages/uni-api/src/protocols/base/eventBus.ts b/packages/uni-api/src/protocols/base/eventBus.ts index 466d64cda..5b68e148a 100644 --- a/packages/uni-api/src/protocols/base/eventBus.ts +++ b/packages/uni-api/src/protocols/base/eventBus.ts @@ -1,35 +1,35 @@ -import { ProtocolOptions } from '../type' - -export const $on: ProtocolOptions | Function>[] = [ - { - name: 'event', - type: [String, Array], - required: true - }, - { - name: 'callback', - type: Function, - required: true - } -] - -export const $once = $on - -export const $off: ProtocolOptions | Function>[] = [ - { - name: 'event', - type: [String, Array] - }, - { - name: 'callback', - type: Function - } -] - -export const $emit: ProtocolOptions[] = [ - { - name: 'event', - type: String, - required: true - } -] +import { ProtocolOptions } from '../type' + +export const $on: ProtocolOptions | Function>[] = [ + { + name: 'event', + type: [String, Array], + required: true, + }, + { + name: 'callback', + type: Function, + required: true, + }, +] + +export const $once = $on + +export const $off: ProtocolOptions | Function>[] = [ + { + name: 'event', + type: [String, Array], + }, + { + name: 'callback', + type: Function, + }, +] + +export const $emit: ProtocolOptions[] = [ + { + name: 'event', + type: String, + required: true, + }, +] diff --git a/packages/uni-api/src/protocols/base/interceptor.ts b/packages/uni-api/src/protocols/base/interceptor.ts index 95c489df1..9812de1f0 100644 --- a/packages/uni-api/src/protocols/base/interceptor.ts +++ b/packages/uni-api/src/protocols/base/interceptor.ts @@ -1,9 +1,9 @@ -import { ProtocolOptions } from '../type' -export const AddInterceptorProtocol: ProtocolOptions[] = [ - { - name: 'method', - type: [String, Object], - required: true - } -] -export const RemoveInterceptorProtocol = AddInterceptorProtocol +import { ProtocolOptions } from '../type' +export const AddInterceptorProtocol: ProtocolOptions[] = [ + { + name: 'method', + type: [String, Object], + required: true, + }, +] +export const RemoveInterceptorProtocol = AddInterceptorProtocol diff --git a/packages/uni-api/src/protocols/base/upx2px.ts b/packages/uni-api/src/protocols/base/upx2px.ts index e770f51ea..214d4e664 100644 --- a/packages/uni-api/src/protocols/base/upx2px.ts +++ b/packages/uni-api/src/protocols/base/upx2px.ts @@ -1,9 +1,9 @@ -import { ProtocolOptions } from '../type' - -export const Upx2pxProtocol: ProtocolOptions[] = [ - { - name: 'upx', - type: [Number, String], - required: true - } -] +import { ProtocolOptions } from '../type' + +export const Upx2pxProtocol: ProtocolOptions[] = [ + { + name: 'upx', + type: [Number, String], + required: true, + }, +] diff --git a/packages/uni-api/src/protocols/context/canvas.ts b/packages/uni-api/src/protocols/context/canvas.ts index 97feae696..dffbcd77f 100644 --- a/packages/uni-api/src/protocols/context/canvas.ts +++ b/packages/uni-api/src/protocols/context/canvas.ts @@ -3,7 +3,7 @@ import { extend } from '@vue/shared' import { ApiProtocol, ApiOptions, Data } from '../type' function getInt(name: string) { - return function(value: number, params: Data) { + return function (value: number, params: Data) { if (value) { params[name] = Math.round(value) } @@ -15,31 +15,31 @@ export const CanvasGetImageDataOptions: ApiOptions = { x: getInt('x'), y: getInt('y'), width: getInt('width'), - height: getInt('height') - } + height: getInt('height'), + }, } export const CanvasGetImageDataProtocol: ApiProtocol = { canvasId: { type: String, - required: true + required: true, }, x: { type: Number, - required: true + required: true, }, y: { type: Number, - required: true + required: true, }, width: { type: Number, - required: true + required: true, }, height: { type: Number, - required: true - } + required: true, + }, } export const CanvasPutImageDataOptions = CanvasGetImageDataOptions @@ -47,33 +47,33 @@ export const CanvasPutImageDataOptions = CanvasGetImageDataOptions export const CanvasPutImageDataProtocol: ApiProtocol = { canvasId: { type: String, - required: true + required: true, }, data: { type: Uint8ClampedArray, - required: true + required: true, }, x: { type: Number, - required: true + required: true, }, y: { type: Number, - required: true + required: true, }, width: { type: Number, - required: true + required: true, }, height: { - type: Number - } + type: Number, + }, } const fileTypes = { PNG: 'png', JPG: 'jpg', - JPEG: 'jpg' + JPEG: 'jpg', } export const CanvasToTempFilePathOptions: ApiOptions = { @@ -92,56 +92,56 @@ export const CanvasToTempFilePathOptions: ApiOptions = { quality(value: number, params: Data) { value = Math.floor(value) params.quality = value > 0 && value < 1 ? value : 1 - } + }, }, CanvasGetImageDataOptions.formatArgs - ) + ), } export const CanvasToTempFilePathProtocol: ApiProtocol = { x: { type: Number, - default: 0 + default: 0, }, y: { type: Number, - default: 0 + default: 0, }, width: { - type: Number + type: Number, }, height: { - type: Number + type: Number, }, destWidth: { - type: Number + type: Number, }, destHeight: { - type: Number + type: Number, }, canvasId: { type: String, - required: true + required: true, }, fileType: { - type: String + type: String, }, quality: { - type: Number - } + type: Number, + }, } export const DrawCanvasProtocol: ApiProtocol = { canvasId: { type: String, - required: true + required: true, }, actions: { type: Array, - required: true + required: true, }, reserve: { type: Boolean, - default: false - } + default: false, + }, } diff --git a/packages/uni-api/src/protocols/context/context.ts b/packages/uni-api/src/protocols/context/context.ts index ada16b60a..8132be9de 100644 --- a/packages/uni-api/src/protocols/context/context.ts +++ b/packages/uni-api/src/protocols/context/context.ts @@ -1,24 +1,24 @@ -import { ProtocolOptions } from '../type' - -const validator: ProtocolOptions[] = [ - { - name: 'id', - type: String, - required: true - } -] - -export const CreateAudioContextProtocol = validator -export const CreateVideoContextProtocol = validator -export const CreateMapContextProtocol = validator -export const CreateCanvasContextProtocol: ProtocolOptions[] = [ - { - name: 'canvasId', - type: String, - required: true - }, - { - name: 'componentInstance', - type: Object - } -] +import { ProtocolOptions } from '../type' + +const validator: ProtocolOptions[] = [ + { + name: 'id', + type: String, + required: true, + }, +] + +export const CreateAudioContextProtocol = validator +export const CreateVideoContextProtocol = validator +export const CreateMapContextProtocol = validator +export const CreateCanvasContextProtocol: ProtocolOptions[] = [ + { + name: 'canvasId', + type: String, + required: true, + }, + { + name: 'componentInstance', + type: Object, + }, +] diff --git a/packages/uni-api/src/protocols/device/makePhoneCall.ts b/packages/uni-api/src/protocols/device/makePhoneCall.ts index cd81919ed..0c2b825e0 100644 --- a/packages/uni-api/src/protocols/device/makePhoneCall.ts +++ b/packages/uni-api/src/protocols/device/makePhoneCall.ts @@ -1,13 +1,13 @@ -import { ApiProtocol } from '../type' - -export const MakePhoneCallProtocol: ApiProtocol = { - phoneNumber: { - type: String, - required: true, - validator(phoneNumber: string) { - if (!phoneNumber) { - return 'makePhoneCall:fail parameter error: parameter.phoneNumber should not be empty String;' - } - } - } -} +import { ApiProtocol } from '../type' + +export const MakePhoneCallProtocol: ApiProtocol = { + phoneNumber: { + type: String, + required: true, + validator(phoneNumber: string) { + if (!phoneNumber) { + return 'makePhoneCall:fail parameter error: parameter.phoneNumber should not be empty String;' + } + }, + }, +} diff --git a/packages/uni-api/src/protocols/device/setClipboardData.ts b/packages/uni-api/src/protocols/device/setClipboardData.ts index edcf834f7..79512e2d3 100644 --- a/packages/uni-api/src/protocols/device/setClipboardData.ts +++ b/packages/uni-api/src/protocols/device/setClipboardData.ts @@ -1,11 +1,11 @@ -import { ApiOptions } from '../type' - -export const SetClipboardDataOptions: ApiOptions = { - beforeSuccess() { - uni.showToast({ - title: '内容已复制', - icon: 'success', - mask: false - }) - } -} +import { ApiOptions } from '../type' + +export const SetClipboardDataOptions: ApiOptions = { + beforeSuccess() { + uni.showToast({ + title: '内容已复制', + icon: 'success', + mask: false, + }) + }, +} diff --git a/packages/uni-api/src/protocols/file/openDocument.ts b/packages/uni-api/src/protocols/file/openDocument.ts index 9651f6e18..5df19ab7b 100644 --- a/packages/uni-api/src/protocols/file/openDocument.ts +++ b/packages/uni-api/src/protocols/file/openDocument.ts @@ -3,9 +3,9 @@ import { ApiProtocol } from '../type' export const OpenDocumentProtocol: ApiProtocol = { filePath: { type: String, - required: true + required: true, }, fileType: { - type: String - } + type: String, + }, } diff --git a/packages/uni-api/src/protocols/location/chooseLocation.ts b/packages/uni-api/src/protocols/location/chooseLocation.ts index c60f003a6..f4ff97112 100644 --- a/packages/uni-api/src/protocols/location/chooseLocation.ts +++ b/packages/uni-api/src/protocols/location/chooseLocation.ts @@ -1,7 +1,7 @@ -import { ApiProtocol } from '../type' - -export const ChooseLocationProtocol: ApiProtocol = { - keyword: { - type: String - } -} +import { ApiProtocol } from '../type' + +export const ChooseLocationProtocol: ApiProtocol = { + keyword: { + type: String, + }, +} diff --git a/packages/uni-api/src/protocols/location/getLocation.ts b/packages/uni-api/src/protocols/location/getLocation.ts index 117d787a4..e68f92b76 100644 --- a/packages/uni-api/src/protocols/location/getLocation.ts +++ b/packages/uni-api/src/protocols/location/getLocation.ts @@ -1,30 +1,30 @@ -import { ApiProtocol, ApiOptions } from '../type' - -const coordTypes = { - WGS84: 'WGS84', - GCJ02: 'GCJ02' -} - -export const GetLocationOptions: ApiOptions = { - formatArgs: { - type(value, params) { - value = (value || '').toUpperCase() - let type = coordTypes[value as keyof typeof coordTypes] - if (!type) { - type = coordTypes.WGS84 - } - params.type = type - } - } -} - -export const GetLocationProtocol: ApiProtocol = { - type: { - type: String, - default: coordTypes.WGS84 - }, - altitude: { - type: Boolean, - default: false - } -} +import { ApiProtocol, ApiOptions } from '../type' + +const coordTypes = { + WGS84: 'WGS84', + GCJ02: 'GCJ02', +} + +export const GetLocationOptions: ApiOptions = { + formatArgs: { + type(value, params) { + value = (value || '').toUpperCase() + let type = coordTypes[value as keyof typeof coordTypes] + if (!type) { + type = coordTypes.WGS84 + } + params.type = type + }, + }, +} + +export const GetLocationProtocol: ApiProtocol = { + type: { + type: String, + default: coordTypes.WGS84, + }, + altitude: { + type: Boolean, + default: false, + }, +} diff --git a/packages/uni-api/src/protocols/location/openLocation.ts b/packages/uni-api/src/protocols/location/openLocation.ts index 6ef3079c4..f6b5d10ec 100644 --- a/packages/uni-api/src/protocols/location/openLocation.ts +++ b/packages/uni-api/src/protocols/location/openLocation.ts @@ -5,27 +5,27 @@ export const OpenLocationOptions: ApiOptions = { type(value, params) { value = Math.floor(value) params.scale = value >= 5 && value <= 18 ? value : 18 - } - } + }, + }, } export const OpenLocationProtocol: ApiProtocol = { latitude: { type: Number, - required: true + required: true, }, longitude: { type: Number, - required: true + required: true, }, scale: { type: Number, - default: 18 + default: 18, }, name: { - type: String + type: String, }, address: { - type: String - } + type: String, + }, } diff --git a/packages/uni-api/src/protocols/media/chooseImage.ts b/packages/uni-api/src/protocols/media/chooseImage.ts index cf6f8c933..a20304e06 100644 --- a/packages/uni-api/src/protocols/media/chooseImage.ts +++ b/packages/uni-api/src/protocols/media/chooseImage.ts @@ -1,37 +1,37 @@ -import { ApiOptions, ApiProtocol } from '../type' -import { - CHOOSE_SIZE_TYPES, - CHOOSE_SOURCE_TYPES, - normalizeStrArray -} from '../../helpers/protocol' - -export const ChooseImageOptions: ApiOptions = { - formatArgs: { - count(value, params) { - if (value <= 0) { - params.count = 9 - } - }, - sizeType(sizeType, params) { - params.sizeType = normalizeStrArray(sizeType, CHOOSE_SIZE_TYPES) - }, - sourceType(sourceType, params) { - params.sourceType = normalizeStrArray(sourceType, CHOOSE_SOURCE_TYPES) - } - } -} - -export const ChooseImageProtocol: ApiProtocol = { - count: { - type: Number, - default: 9 - }, - sizeType: { - type: [Array, String], - default: CHOOSE_SIZE_TYPES - }, - sourceType: { - type: Array, - default: CHOOSE_SOURCE_TYPES - } -} +import { ApiOptions, ApiProtocol } from '../type' +import { + CHOOSE_SIZE_TYPES, + CHOOSE_SOURCE_TYPES, + normalizeStrArray, +} from '../../helpers/protocol' + +export const ChooseImageOptions: ApiOptions = { + formatArgs: { + count(value, params) { + if (value <= 0) { + params.count = 9 + } + }, + sizeType(sizeType, params) { + params.sizeType = normalizeStrArray(sizeType, CHOOSE_SIZE_TYPES) + }, + sourceType(sourceType, params) { + params.sourceType = normalizeStrArray(sourceType, CHOOSE_SOURCE_TYPES) + }, + }, +} + +export const ChooseImageProtocol: ApiProtocol = { + count: { + type: Number, + default: 9, + }, + sizeType: { + type: [Array, String], + default: CHOOSE_SIZE_TYPES, + }, + sourceType: { + type: Array, + default: CHOOSE_SOURCE_TYPES, + }, +} diff --git a/packages/uni-api/src/protocols/media/chooseVideo.ts b/packages/uni-api/src/protocols/media/chooseVideo.ts index 275e53160..7fc3b78cf 100644 --- a/packages/uni-api/src/protocols/media/chooseVideo.ts +++ b/packages/uni-api/src/protocols/media/chooseVideo.ts @@ -1,17 +1,17 @@ -import { CHOOSE_SOURCE_TYPES, normalizeStrArray } from '../../helpers/protocol' -import { ApiOptions, ApiProtocol } from '../type' - -export const ChooseVideoOptions: ApiOptions = { - formatArgs: { - sourceType(sourceType, params) { - params.sourceType = normalizeStrArray(sourceType, CHOOSE_SOURCE_TYPES) - } - } -} - -export const ChooseVideoProtocol: ApiProtocol = { - sourceType: { - type: Array, - default: CHOOSE_SOURCE_TYPES - } -} +import { CHOOSE_SOURCE_TYPES, normalizeStrArray } from '../../helpers/protocol' +import { ApiOptions, ApiProtocol } from '../type' + +export const ChooseVideoOptions: ApiOptions = { + formatArgs: { + sourceType(sourceType, params) { + params.sourceType = normalizeStrArray(sourceType, CHOOSE_SOURCE_TYPES) + }, + }, +} + +export const ChooseVideoProtocol: ApiProtocol = { + sourceType: { + type: Array, + default: CHOOSE_SOURCE_TYPES, + }, +} diff --git a/packages/uni-api/src/protocols/media/getImageInfo.ts b/packages/uni-api/src/protocols/media/getImageInfo.ts index 435fc5987..e7150f128 100644 --- a/packages/uni-api/src/protocols/media/getImageInfo.ts +++ b/packages/uni-api/src/protocols/media/getImageInfo.ts @@ -1,16 +1,16 @@ -import { ApiOptions, ApiProtocol } from '../type' - -export const GetImageInfoOptions: ApiOptions = { - formatArgs: { - src(src, params) { - params.src = (uni as any).getRealPath(src) - } - } -} - -export const GetImageInfoProtocol: ApiProtocol = { - src: { - type: String, - required: true - } -} +import { ApiOptions, ApiProtocol } from '../type' + +export const GetImageInfoOptions: ApiOptions = { + formatArgs: { + src(src, params) { + params.src = (uni as any).getRealPath(src) + }, + }, +} + +export const GetImageInfoProtocol: ApiProtocol = { + src: { + type: String, + required: true, + }, +} diff --git a/packages/uni-api/src/protocols/network/downloadFile.ts b/packages/uni-api/src/protocols/network/downloadFile.ts index 583fc61d6..7ca60a800 100644 --- a/packages/uni-api/src/protocols/network/downloadFile.ts +++ b/packages/uni-api/src/protocols/network/downloadFile.ts @@ -4,16 +4,16 @@ export const DownloadFileOptions: ApiOptions = { formatArgs: { header(value, params) { params.header = value || {} - } - } + }, + }, } export const DownloadFileProtocol: ApiProtocol = { url: { type: String, - required: true + required: true, }, header: { - type: Object - } + type: Object, + }, } diff --git a/packages/uni-api/src/protocols/network/socket.ts b/packages/uni-api/src/protocols/network/socket.ts index b9c36c049..02b25fa3b 100644 --- a/packages/uni-api/src/protocols/network/socket.ts +++ b/packages/uni-api/src/protocols/network/socket.ts @@ -17,35 +17,35 @@ export const ConnectSocketOptions: ApiOptions = { if (typeof protocols === 'string') { params.protocols = [protocols] } - } - } + }, + }, } export const ConnectSocketProtocol: ApiProtocol = { url: { type: String, - required: true + required: true, }, header: { - type: Object + type: Object, }, method: { - type: String + type: String, }, protocols: { - type: [Array, String] // 微信文档虽然写的是数组,但是可以正常传递字符串 - } + type: [Array, String], // 微信文档虽然写的是数组,但是可以正常传递字符串 + }, } export const sendSocketMessage = { data: { - type: [String, ArrayBuffer] - } + type: [String, ArrayBuffer], + }, } export const closeSocket = { code: { - type: Number + type: Number, }, reason: { - type: String - } + type: String, + }, } diff --git a/packages/uni-api/src/protocols/plugin/getProvider.ts b/packages/uni-api/src/protocols/plugin/getProvider.ts index 69e508f5f..d68af4481 100644 --- a/packages/uni-api/src/protocols/plugin/getProvider.ts +++ b/packages/uni-api/src/protocols/plugin/getProvider.ts @@ -3,6 +3,6 @@ import { ApiProtocol } from '../type' export const GetProviderProtocol: ApiProtocol = { service: { type: String, - required: true - } + required: true, + }, } diff --git a/packages/uni-api/src/protocols/plugin/loadSubPackage.ts b/packages/uni-api/src/protocols/plugin/loadSubPackage.ts index 40034f6dd..8070b2548 100644 --- a/packages/uni-api/src/protocols/plugin/loadSubPackage.ts +++ b/packages/uni-api/src/protocols/plugin/loadSubPackage.ts @@ -1,17 +1,17 @@ -import { ApiProtocol } from '../type' - -export const LoadSubPackageProtocol: ApiProtocol = { - root: { - type: String, - required: true, - validator(value) { - const subPackages = __uniConfig.subPackages - if (!Array.isArray(subPackages) || subPackages.length === 0) { - return 'no subPackages' - } - if (!subPackages.find(subPackage => subPackage.root === value)) { - return 'root `' + value + '` is not found' - } - } - } -} +import { ApiProtocol } from '../type' + +export const LoadSubPackageProtocol: ApiProtocol = { + root: { + type: String, + required: true, + validator(value) { + const subPackages = __uniConfig.subPackages + if (!Array.isArray(subPackages) || subPackages.length === 0) { + return 'no subPackages' + } + if (!subPackages.find((subPackage) => subPackage.root === value)) { + return 'root `' + value + '` is not found' + } + }, + }, +} diff --git a/packages/uni-api/src/protocols/storage/storage.ts b/packages/uni-api/src/protocols/storage/storage.ts index 2a29d7f2d..690a26a56 100644 --- a/packages/uni-api/src/protocols/storage/storage.ts +++ b/packages/uni-api/src/protocols/storage/storage.ts @@ -1,41 +1,41 @@ -import { ApiProtocol, ProtocolOptions } from '../type' - -export const GetStorageProtocol: ApiProtocol = { - key: { - type: String, - required: true - } -} - -export const GetStorageSyncProtocol: ProtocolOptions[] = [ - { - name: 'key', - type: String, - required: true - } -] - -export const SetStorageProtocol: ApiProtocol = { - key: { - type: String, - required: true - }, - data: { - required: true - } -} - -export const SetStorageSyncProtocol: ProtocolOptions[] = [ - { - name: 'key', - type: String, - required: true - }, - { - name: 'data', - required: true - } -] - -export const RemoveStorageProtocol = GetStorageProtocol -export const RemoveStorageSyncProtocol = GetStorageSyncProtocol +import { ApiProtocol, ProtocolOptions } from '../type' + +export const GetStorageProtocol: ApiProtocol = { + key: { + type: String, + required: true, + }, +} + +export const GetStorageSyncProtocol: ProtocolOptions[] = [ + { + name: 'key', + type: String, + required: true, + }, +] + +export const SetStorageProtocol: ApiProtocol = { + key: { + type: String, + required: true, + }, + data: { + required: true, + }, +} + +export const SetStorageSyncProtocol: ProtocolOptions[] = [ + { + name: 'key', + type: String, + required: true, + }, + { + name: 'data', + required: true, + }, +] + +export const RemoveStorageProtocol = GetStorageProtocol +export const RemoveStorageSyncProtocol = GetStorageSyncProtocol diff --git a/packages/uni-api/src/protocols/ui/loadFontFace.ts b/packages/uni-api/src/protocols/ui/loadFontFace.ts index 0452b504e..f8c4a6c26 100644 --- a/packages/uni-api/src/protocols/ui/loadFontFace.ts +++ b/packages/uni-api/src/protocols/ui/loadFontFace.ts @@ -3,13 +3,13 @@ import { ApiProtocol } from '../type' export const LoadFontFaceProtocol: ApiProtocol = { family: { type: String, - required: true + required: true, }, source: { type: String, - required: true + required: true, }, desc: { - type: Object - } + type: Object, + }, } diff --git a/packages/uni-api/src/protocols/ui/navigationBar.ts b/packages/uni-api/src/protocols/ui/navigationBar.ts index ad4078008..50a13039d 100644 --- a/packages/uni-api/src/protocols/ui/navigationBar.ts +++ b/packages/uni-api/src/protocols/ui/navigationBar.ts @@ -1,46 +1,46 @@ -import { ApiOptions, ApiProtocol } from '../type' - -const FRONT_COLORS = ['#ffffff', '#000000'] - -export const SetNavigationBarColorOptions: ApiOptions = { - formatArgs: { - animation(animation = {}, params) { - params.animation = { - duration: animation.duration || 0, - timingFunc: animation.timingFunc || 'linear' - } - } - } -} - -export const SetNavigationBarColorProtocol: ApiProtocol = { - frontColor: { - type: String, - required: true, - validator(frontColor) { - if (FRONT_COLORS.indexOf(frontColor) === -1) { - return `invalid frontColor "${frontColor}"` - } - } - }, - backgroundColor: { - type: String, - required: true - }, - animation: { - type: Object, - default() { - return { - duration: 0, - timingFunc: 'linear' - } - } - } -} - -export const SetNavigationBarTitleProtocol: ApiProtocol = { - title: { - type: String, - required: true - } -} +import { ApiOptions, ApiProtocol } from '../type' + +const FRONT_COLORS = ['#ffffff', '#000000'] + +export const SetNavigationBarColorOptions: ApiOptions = { + formatArgs: { + animation(animation = {}, params) { + params.animation = { + duration: animation.duration || 0, + timingFunc: animation.timingFunc || 'linear', + } + }, + }, +} + +export const SetNavigationBarColorProtocol: ApiProtocol = { + frontColor: { + type: String, + required: true, + validator(frontColor) { + if (FRONT_COLORS.indexOf(frontColor) === -1) { + return `invalid frontColor "${frontColor}"` + } + }, + }, + backgroundColor: { + type: String, + required: true, + }, + animation: { + type: Object, + default() { + return { + duration: 0, + timingFunc: 'linear', + } + }, + }, +} + +export const SetNavigationBarTitleProtocol: ApiProtocol = { + title: { + type: String, + required: true, + }, +} diff --git a/packages/uni-api/src/protocols/ui/pageScrollTo.ts b/packages/uni-api/src/protocols/ui/pageScrollTo.ts index 61ff2d498..bcd2482de 100644 --- a/packages/uni-api/src/protocols/ui/pageScrollTo.ts +++ b/packages/uni-api/src/protocols/ui/pageScrollTo.ts @@ -1,12 +1,12 @@ -import { ApiProtocol } from '../type' - -export const PageScrollToProtocol: ApiProtocol = { - scrollTop: { - type: Number, - required: true - }, - duration: { - type: Number, - default: 300 - } -} +import { ApiProtocol } from '../type' + +export const PageScrollToProtocol: ApiProtocol = { + scrollTop: { + type: Number, + required: true, + }, + duration: { + type: Number, + default: 300, + }, +} diff --git a/packages/uni-api/src/service/base/base64.ts b/packages/uni-api/src/service/base/base64.ts index 7671253eb..832ceab01 100644 --- a/packages/uni-api/src/service/base/base64.ts +++ b/packages/uni-api/src/service/base/base64.ts @@ -5,12 +5,12 @@ import { API_TYPE_SYNC, createApi } from '../../helpers/api' import { Base64ToArrayBufferProtocol, - ArrayBufferToBase64Protocol + ArrayBufferToBase64Protocol, } from '../../protocols/base/base64' export const base64ToArrayBuffer = createApi( { type: API_TYPE_SYNC, name: 'base64ToArrayBuffer' }, - base64 => { + (base64) => { return decode(base64) as ArrayBuffer }, Base64ToArrayBufferProtocol @@ -18,7 +18,7 @@ export const base64ToArrayBuffer = createApi( export const arrayBufferToBase64 = createApi( { type: API_TYPE_SYNC, name: 'arrayBufferToBase64' }, - arrayBuffer => { + (arrayBuffer) => { return encode(arrayBuffer) as string }, ArrayBufferToBase64Protocol diff --git a/packages/uni-api/src/service/base/interceptor.ts b/packages/uni-api/src/service/base/interceptor.ts index 2f23d39e7..f7fd02ab2 100644 --- a/packages/uni-api/src/service/base/interceptor.ts +++ b/packages/uni-api/src/service/base/interceptor.ts @@ -5,21 +5,21 @@ import { scopedInterceptors, globalInterceptors, Interceptors, - HOOKS + HOOKS, } from '../../helpers/interceptor' import { API_TYPE_SYNC, createApi } from '../../helpers/api' import { AddInterceptorProtocol, - RemoveInterceptorProtocol + RemoveInterceptorProtocol, } from '../../protocols/base/interceptor' function mergeInterceptorHook( interceptors: Interceptors, interceptor: Interceptor ) { - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook as HOOKS])) { interceptors[hook as HOOKS] = mergeHook( interceptors[hook as HOOKS], @@ -36,11 +36,12 @@ function removeInterceptorHook( if (!interceptors || !interceptor) { return } - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook as HOOKS])) { - removeHook(interceptors[hook as HOOKS], interceptor[ - hook as HOOKS - ] as Function) + removeHook( + interceptors[hook as HOOKS], + interceptor[hook as HOOKS] as Function + ) } }) } @@ -53,8 +54,8 @@ function mergeHook( ? parentVal ? parentVal.concat(childVal) : isArray(childVal) - ? childVal - : [childVal] + ? childVal + : [childVal] : parentVal return res ? dedupeHooks(res) : res } @@ -116,11 +117,11 @@ export const promiseInterceptor = { return res } return res - .then(res => { + .then((res) => { return res[1] }) - .catch(res => { + .catch((res) => { return res[0] }) - } + }, } diff --git a/packages/uni-api/src/service/ui/createIntersectionObserver.ts b/packages/uni-api/src/service/ui/createIntersectionObserver.ts index 3ebfc6ef4..79b036790 100644 --- a/packages/uni-api/src/service/ui/createIntersectionObserver.ts +++ b/packages/uni-api/src/service/ui/createIntersectionObserver.ts @@ -8,7 +8,7 @@ import { getCurrentPageVm } from '../utils' const defaultOptions = { thresholds: [0], initialRatio: 0, - observeAll: false + observeAll: false, } interface Margins { @@ -74,7 +74,7 @@ class ServiceIntersectionObserver { } this._relativeInfo.push({ selector, - margins + margins, }) return this } @@ -103,7 +103,7 @@ class ServiceIntersectionObserver { reqId: this._reqId, component: this._component, options: this._options, - relativeInfo: this._relativeInfo + relativeInfo: this._relativeInfo, }, this._pageId ) @@ -113,7 +113,7 @@ class ServiceIntersectionObserver { UniServiceJSBridge.publishHandler( 'removeIntersectionObserver', { - reqId: this._reqId + reqId: this._reqId, }, this._pageId ) diff --git a/packages/uni-cli-shared/__tests__/easycom.spec.ts b/packages/uni-cli-shared/__tests__/easycom.spec.ts index a2a7820cf..2fed3f31d 100644 --- a/packages/uni-cli-shared/__tests__/easycom.spec.ts +++ b/packages/uni-cli-shared/__tests__/easycom.spec.ts @@ -7,7 +7,7 @@ import { initEasycom, matchEasycom, vueCompilerOptions } from '../src' const rootDir = path.resolve(__dirname, 'example') const dirs = [ path.resolve(__dirname, 'example/components'), - path.resolve(__dirname, 'example/uni_modules/plugin/components') + path.resolve(__dirname, 'example/uni_modules/plugin/components'), ] const template = `` @@ -31,16 +31,16 @@ describe('easycom', () => { expect(initEasycom({ dirs, rootDir })).toEqual([ { pattern: new RegExp('^test$'), - replacement: '@/components/test/test.vue' + replacement: '@/components/test/test.vue', }, { pattern: new RegExp('^test1$'), - replacement: '@/components/test1/test1.vue' + replacement: '@/components/test1/test1.vue', }, { pattern: new RegExp('^test2$'), - replacement: '@/uni_modules/plugin/components/test2/test2.vue' - } + replacement: '@/uni_modules/plugin/components/test2/test2.vue', + }, ]) expect(matchEasycom('test')).toBe('@/components/test/test.vue') expect(matchEasycom('test1')).toBe('@/components/test1/test1.vue') @@ -54,8 +54,8 @@ describe('easycom', () => { ).toEqual([ { pattern: new RegExp('^uni-(.*)'), - replacement: '@/components/uni-$1.vue' - } + replacement: '@/components/uni-$1.vue', + }, ]) expect(matchEasycom('test')).toBe(false) expect(matchEasycom('uni-test1')).toBe('@/components/uni-test1.vue') @@ -65,21 +65,21 @@ describe('easycom', () => { initEasycom({ dirs, rootDir, - custom: { '^test$': '@/components/uni-test.vue' } + custom: { '^test$': '@/components/uni-test.vue' }, }) ).toEqual([ { pattern: new RegExp('^test$'), - replacement: '@/components/uni-test.vue' + replacement: '@/components/uni-test.vue', }, { pattern: new RegExp('^test1$'), - replacement: '@/components/test1/test1.vue' + replacement: '@/components/test1/test1.vue', }, { pattern: new RegExp('^test2$'), - replacement: '@/uni_modules/plugin/components/test2/test2.vue' - } + replacement: '@/uni_modules/plugin/components/test2/test2.vue', + }, ]) expect(matchEasycom('test')).toBe('@/components/uni-test.vue') }) @@ -87,17 +87,17 @@ describe('easycom', () => { initEasycom({ dirs, rootDir, - custom: { '^test$': '@/components/uni-test.vue' } + custom: { '^test$': '@/components/uni-test.vue' }, }) const { code } = compileTemplate( Object.assign(sfcParseRes.descriptor, { id, compilerOptions: Object.assign( { - bindingMetadata: sfcScriptBlock.bindings + bindingMetadata: sfcScriptBlock.bindings, }, vueCompilerOptions - ) + ), }) ) expect(code).toMatch(` // const _component_test = _resolveComponent("test") @@ -117,7 +117,7 @@ import _style_v_uni_checkbox_group from '@dcloudio/uni-h5/style/checkbox-group.c initEasycom({ dirs, rootDir, - custom: { '^test$': '@/components/uni-test.vue' } + custom: { '^test$': '@/components/uni-test.vue' }, }) const { code } = compileTemplate( Object.assign(sfcParseResWithSetup.descriptor, { @@ -125,7 +125,7 @@ import _style_v_uni_checkbox_group from '@dcloudio/uni-h5/style/checkbox-group.c compilerOptions: Object.assign( { bindingMetadata: sfcScriptBlockWithSetup.bindings }, vueCompilerOptions - ) + ), }) ) expect(code) diff --git a/packages/uni-cli-shared/package.json b/packages/uni-cli-shared/package.json index a65302324..ba02e9768 100644 --- a/packages/uni-cli-shared/package.json +++ b/packages/uni-cli-shared/package.json @@ -24,7 +24,7 @@ "dependencies": { "@vue/compiler-core": "^3.0.4", "debug": "^4.3.1", - "strip-json-comments": "^3.1.1", + "jsonc-parser": "^3.0.0", "xregexp": "3.1.0" }, "peerDependencies": { diff --git a/packages/uni-cli-shared/src/easycom/autoImport.ts b/packages/uni-cli-shared/src/easycom/autoImport.ts index b16ff7bc8..7890ed7de 100644 --- a/packages/uni-cli-shared/src/easycom/autoImport.ts +++ b/packages/uni-cli-shared/src/easycom/autoImport.ts @@ -1,7 +1,7 @@ import { ExpressionNode, SimpleExpressionNode, - TransformContext + TransformContext, } from '@vue/compiler-core' interface ImportItem { @@ -17,7 +17,7 @@ export function addAutoImport( const importContent = (importItem.exp as SimpleExpressionNode).content const importsArray = Array.from(context.imports) const existing = importsArray.find( - i => + (i) => i.path === importPath && (i.exp as SimpleExpressionNode).content === importContent ) diff --git a/packages/uni-cli-shared/src/easycom/index.ts b/packages/uni-cli-shared/src/easycom/index.ts index 915211a1c..112afe8b6 100644 --- a/packages/uni-cli-shared/src/easycom/index.ts +++ b/packages/uni-cli-shared/src/easycom/index.ts @@ -7,7 +7,7 @@ import { ElementNode, ElementTypes, ComponentNode, - TemplateChildNode + TemplateChildNode, } from '@vue/compiler-core' interface EasycomOption { @@ -26,7 +26,7 @@ interface EasycomCustom { export * from './autoImport' -export const debugEasycom = debug('easycom') +export const debugEasycom = debug('uni:easycom') const easycoms: EasycomMatcher[] = [] @@ -62,7 +62,7 @@ export function initEasycom({ dirs, rootDir, custom, - extensions = ['.vue'] + extensions = ['.vue'], }: EasycomOption) { debugEasycom(dirs, rootDir, custom, extensions) clearEasycom() @@ -73,10 +73,10 @@ export function initEasycom({ if (custom) { Object.assign(easycomsObj, custom) } - Object.keys(easycomsObj).forEach(name => { + Object.keys(easycomsObj).forEach((name) => { easycoms.push({ pattern: new RegExp(name), - replacement: easycomsObj[name] + replacement: easycomsObj[name], }) }) debugEasycom(easycoms) @@ -95,7 +95,7 @@ export function matchEasycom(tag: string) { if (easycomsInvalidCache.has(tag)) { return false } - const matcher = easycoms.find(matcher => matcher.pattern.test(tag)) + const matcher = easycoms.find((matcher) => matcher.pattern.test(tag)) if (!matcher) { easycomsInvalidCache.add(tag) return false @@ -120,7 +120,7 @@ function initAutoScanEasycom( if (!fs.existsSync(dir)) { return easycoms } - fs.readdirSync(dir).forEach(name => { + fs.readdirSync(dir).forEach((name) => { const folder = path.resolve(dir, name) if (!isDir(folder)) { return @@ -147,7 +147,7 @@ function initAutoScanEasycoms( return dirs.reduce>( (easycoms: Record, dir: string) => { const curEasycoms = initAutoScanEasycom(dir, rootDir, extensions) - Object.keys(curEasycoms).forEach(name => { + Object.keys(curEasycoms).forEach((name) => { // Use the first component when name conflict if (!easycoms[name]) { easycoms[name] = curEasycoms[name] diff --git a/packages/uni-cli-shared/src/index.ts b/packages/uni-cli-shared/src/index.ts index ded3ed958..b069a2b44 100644 --- a/packages/uni-cli-shared/src/index.ts +++ b/packages/uni-cli-shared/src/index.ts @@ -1,6 +1,7 @@ export * from './json' export * from './easycom/index' export * from './vueCompilerOptions' +export * from './preprocess/index' export * from './transforms/transformBuiltInComponent' export * from './transforms/transformBuiltInEasycom' export * from './transforms/transformEasycom' diff --git a/packages/uni-cli-shared/src/json.ts b/packages/uni-cli-shared/src/json.ts index 99a7e76f1..5fec9d929 100644 --- a/packages/uni-cli-shared/src/json.ts +++ b/packages/uni-cli-shared/src/json.ts @@ -1,31 +1,6 @@ -import stripJsonComments from 'strip-json-comments' -// @ts-ignore -import { preprocess } from '../lib/preprocess' +import { parse } from 'jsonc-parser' +import { preJson } from './preprocess' -const jsContext = { - APP_PLUS: false, - H5: true, - MP_360: false, - MP_ALIPAY: false, - MP_BAIDU: false, - MP_QQ: false, - MP_TOUTIAO: false, - MP_WEIXIN: false, - QUICKAPP_NATIVE: false, - QUICKAPP_WEBVIEW: false, - MP: false, - APP: false, - APP_PLUS_NVUE: false, - APP_VUE: false, - APP_NVUE: false -} - -export function parseJson(jsonStr: string, shouldPreprocess: boolean = false) { - return JSON.parse( - stripJsonComments( - shouldPreprocess - ? preprocess(jsonStr, jsContext, { type: 'js' }) - : jsonStr - ) - ) +export function parseJson(jsonStr: string, shouldPre: boolean = false) { + return parse(shouldPre ? preJson(jsonStr) : jsonStr) } diff --git a/packages/uni-cli-shared/src/preprocess/context.ts b/packages/uni-cli-shared/src/preprocess/context.ts new file mode 100644 index 000000000..4ad572140 --- /dev/null +++ b/packages/uni-cli-shared/src/preprocess/context.ts @@ -0,0 +1,34 @@ +export const jsContext = { + APP_PLUS: false, + H5: true, + MP_360: false, + MP_ALIPAY: false, + MP_BAIDU: false, + MP_QQ: false, + MP_TOUTIAO: false, + MP_WEIXIN: false, + QUICKAPP_NATIVE: false, + QUICKAPP_WEBVIEW: false, + MP: false, + APP: false, + APP_PLUS_NVUE: false, + APP_VUE: false, + APP_NVUE: false, +} +export const htmlContext = { + APP_PLUS: false, + H5: true, + MP_360: false, + MP_ALIPAY: false, + MP_BAIDU: false, + MP_QQ: false, + MP_TOUTIAO: false, + MP_WEIXIN: false, + QUICKAPP_NATIVE: false, + QUICKAPP_WEBVIEW: false, + MP: false, + APP: false, + APP_PLUS_NVUE: false, + APP_VUE: false, + APP_NVUE: false, +} diff --git a/packages/uni-cli-shared/src/preprocess/index.ts b/packages/uni-cli-shared/src/preprocess/index.ts new file mode 100644 index 000000000..b824fa1e1 --- /dev/null +++ b/packages/uni-cli-shared/src/preprocess/index.ts @@ -0,0 +1,14 @@ +import { jsContext } from './context' + +export * from './context' +/* eslint-disable no-restricted-globals */ +const { preprocess } = require('../../lib/preprocess') + +export function preJs(jsCode: string) { + return preprocess(jsCode, jsContext, { type: 'js' }) +} +export function preHtml(htmlCode: string) { + return preprocess(htmlCode, jsContext, { type: 'html' }) +} +export const preCss = preJs +export const preJson = preJs diff --git a/packages/uni-cli-shared/src/transforms/transformBuiltInComponent.ts b/packages/uni-cli-shared/src/transforms/transformBuiltInComponent.ts index a67ddbbd2..595409241 100644 --- a/packages/uni-cli-shared/src/transforms/transformBuiltInComponent.ts +++ b/packages/uni-cli-shared/src/transforms/transformBuiltInComponent.ts @@ -5,7 +5,7 @@ import { NodeTransform, ElementNode, createSimpleExpression, - toValidAssetId + toValidAssetId, } from '@vue/compiler-core' import { COMPONENT_PREFIX, isBuiltInComponent } from '@dcloudio/uni-shared' @@ -28,7 +28,7 @@ function createComponentImportItem(oldTag: string, node: ElementNode) { false, node.loc, ConstantTypes.CAN_HOIST - ) + ), } } function createStyleImportItem(oldTag: string, node: ElementNode) { @@ -39,7 +39,7 @@ function createStyleImportItem(oldTag: string, node: ElementNode) { false, node.loc, ConstantTypes.CAN_HOIST - ) + ), } } diff --git a/packages/uni-cli-shared/src/transforms/transformBuiltInEasycom.ts b/packages/uni-cli-shared/src/transforms/transformBuiltInEasycom.ts index 2837770de..eba48439e 100644 --- a/packages/uni-cli-shared/src/transforms/transformBuiltInEasycom.ts +++ b/packages/uni-cli-shared/src/transforms/transformBuiltInEasycom.ts @@ -1,7 +1,7 @@ import { NodeTransform } from '@vue/compiler-core' import { isComponentNode } from '../easycom/index' -export const transformBuiltInEasycom: NodeTransform = node => { +export const transformBuiltInEasycom: NodeTransform = (node) => { if (!isComponentNode(node)) { return } diff --git a/packages/uni-cli-shared/src/transforms/transformEasycom.ts b/packages/uni-cli-shared/src/transforms/transformEasycom.ts index 05e820512..4cbc13ebb 100644 --- a/packages/uni-cli-shared/src/transforms/transformEasycom.ts +++ b/packages/uni-cli-shared/src/transforms/transformEasycom.ts @@ -5,7 +5,7 @@ import { createSimpleExpression, toValidAssetId, ComponentNode, - TransformContext + TransformContext, } from '@vue/compiler-core' import { COMPONENT_PREFIX } from '@dcloudio/uni-shared' @@ -15,7 +15,7 @@ import { debugEasycom, matchEasycom, addAutoImport, - isComponentNode + isComponentNode, } from '../easycom' function createImportItem(path: string, node: ComponentNode) { @@ -27,7 +27,7 @@ function createImportItem(path: string, node: ComponentNode) { false, node.loc, ConstantTypes.CAN_HOIST - ) + ), } } diff --git a/packages/uni-cli-shared/src/vueCompilerOptions.ts b/packages/uni-cli-shared/src/vueCompilerOptions.ts index faf513ad3..0b3f29b98 100644 --- a/packages/uni-cli-shared/src/vueCompilerOptions.ts +++ b/packages/uni-cli-shared/src/vueCompilerOptions.ts @@ -3,7 +3,7 @@ import { CompilerOptions } from '@vue/compiler-sfc' import { COMPONENT_PREFIX, isBuiltInComponent, - isNativeTag + isNativeTag, } from '@dcloudio/uni-shared' import { transformBuiltInComponent } from './transforms/transformBuiltInComponent' @@ -42,6 +42,6 @@ export const vueCompilerOptions: VueCompilerOptions = { nodeTransforms: [ transformBuiltInComponent, transformBuiltInEasycom, - transformEasycom - ] + transformEasycom, + ], } diff --git a/packages/uni-components/src/components/index.ts b/packages/uni-components/src/components/index.ts index 176fcc03b..4dd07bb12 100644 --- a/packages/uni-components/src/components/index.ts +++ b/packages/uni-components/src/components/index.ts @@ -56,5 +56,5 @@ export { Switch, // Text, Textarea, - View + View, } diff --git a/packages/uni-components/src/helpers/index.ts b/packages/uni-components/src/helpers/index.ts index 140445116..b7080b7b0 100644 --- a/packages/uni-components/src/helpers/index.ts +++ b/packages/uni-components/src/helpers/index.ts @@ -5,7 +5,7 @@ try { get() { /* istanbul ignore next */ supportsPassive = true - } + }, }) // https://github.com/facebook/flow/issues/285 window.addEventListener('test-passive' as any, null as any, opts) } catch (e) {} diff --git a/packages/uni-components/src/mixins/index.ts b/packages/uni-components/src/mixins/index.ts index 24ceb41e1..83e5f34fb 100644 --- a/packages/uni-components/src/mixins/index.ts +++ b/packages/uni-components/src/mixins/index.ts @@ -1,14 +1,14 @@ -// @ts-ignore -export { default as emitter } from './emitter' -// @ts-ignore -export { default as listeners } from './listeners' -// @ts-ignore -export { default as hover } from './hover' -// @ts-ignore -export { default as subscriber } from './subscriber' -// @ts-ignore -export { default as keyboard } from './keyboard' -// @ts-ignore -export { default as baseInput } from './base-input' -// @ts-ignore -export { default as interact } from './interact' +// @ts-ignore +export { default as emitter } from './emitter' +// @ts-ignore +export { default as listeners } from './listeners' +// @ts-ignore +export { default as hover } from './hover' +// @ts-ignore +export { default as subscriber } from './subscriber' +// @ts-ignore +export { default as keyboard } from './keyboard' +// @ts-ignore +export { default as baseInput } from './base-input' +// @ts-ignore +export { default as interact } from './interact' diff --git a/packages/uni-components/vite.config.ts b/packages/uni-components/vite.config.ts index d9e672bce..3e3e751b0 100644 --- a/packages/uni-components/vite.config.ts +++ b/packages/uni-components/vite.config.ts @@ -1,3 +1,5 @@ +import path from 'path' + import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' @@ -21,7 +23,7 @@ export default defineConfig({ minify: false, assetsDir: '.', rollupOptions: { - input: 'src/index.ts', + input: path.resolve(__dirname, 'src/index.ts'), external: ['vue', '@vue/shared', '@dcloudio/uni-shared'], preserveEntrySignatures: 'strict', output: { diff --git a/packages/uni-core/src/helpers/bridge.ts b/packages/uni-core/src/helpers/bridge.ts index 01b9bf31c..692831996 100644 --- a/packages/uni-core/src/helpers/bridge.ts +++ b/packages/uni-core/src/helpers/bridge.ts @@ -11,7 +11,7 @@ export function initBridge(namespace: 'service' | 'view') { }, emit(event: string, ...args: any[]) { console.log(event, args) - } + }, } return { on, @@ -32,6 +32,6 @@ export function initBridge(namespace: 'service' | 'view') { ) } return emit(`${namespace}.${event}`, args, pageId) - } + }, } } diff --git a/packages/uni-core/src/service/plugin/componentWx.ts b/packages/uni-core/src/service/plugin/componentWx.ts index 8a861baa6..a91df6328 100644 --- a/packages/uni-core/src/service/plugin/componentWx.ts +++ b/packages/uni-core/src/service/plugin/componentWx.ts @@ -11,7 +11,7 @@ function querySelector( function querySelectorAll(vm: ComponentPublicInstance, selector: string) { const nodeList = vm.$el.querySelectorAll(selector) if (nodeList) { - return [...nodeList].map(node => node.__vue__).filter(Boolean) + return [...nodeList].map((node) => node.__vue__).filter(Boolean) } return [] } diff --git a/packages/uni-core/src/view/helpers/getWindowOffset.ts b/packages/uni-core/src/view/helpers/getWindowOffset.ts index f09f35367..a2247bffd 100644 --- a/packages/uni-core/src/view/helpers/getWindowOffset.ts +++ b/packages/uni-core/src/view/helpers/getWindowOffset.ts @@ -11,13 +11,13 @@ export function getWindowOffset() { top: top ? top + safeAreaInsets.top : 0, bottom: bottom ? bottom + safeAreaInsets.bottom : 0, left: left ? left + safeAreaInsets.left : 0, - right: right ? right + safeAreaInsets.right : 0 + right: right ? right + safeAreaInsets.right : 0, } } return { top: 0, bottom: 0, left: 0, - right: 0 + right: 0, } } diff --git a/packages/uni-core/src/view/plugin/appConfig.ts b/packages/uni-core/src/view/plugin/appConfig.ts index 6571bff71..bc3671714 100644 --- a/packages/uni-core/src/view/plugin/appConfig.ts +++ b/packages/uni-core/src/view/plugin/appConfig.ts @@ -13,7 +13,7 @@ export function initAppConfig(appConfig: AppConfig) { Object.defineProperty(globalProperties, '$ownerInstance', { get() { return this.$getComponentDescriptor(this) - } + }, }) globalProperties.$handleWxsEvent = handleWxsEvent } diff --git a/packages/uni-core/src/view/plugin/componentEvents.ts b/packages/uni-core/src/view/plugin/componentEvents.ts index 8de56f7a8..f0fe81e97 100644 --- a/packages/uni-core/src/view/plugin/componentEvents.ts +++ b/packages/uni-core/src/view/plugin/componentEvents.ts @@ -40,7 +40,7 @@ export function normalizeEvent( const { top } = getWindowOffset() detail = { x: $event.x, - y: $event.y - top + y: $event.y - top, } normalizeClickEvent($event) } @@ -55,13 +55,13 @@ export function normalizeEvent( touches: normalizeTouchList(($event as any).touches), changedTouches: normalizeTouchList(($event as any).changedTouches), preventDefault() {}, - stopPropagation() {} + stopPropagation() {}, } if (__PLATFORM__ === 'app-plus' && currentTarget) { const nid = currentTarget.getAttribute('_i') ;(ret as any).options = { - nid + nid, } // 保留原始 currentTarget 方便后续对比 ;(ret as any).$origCurrentTarget = currentTarget @@ -78,8 +78,8 @@ function normalizeClickEvent($event: MouseEvent) { clientX: $event.clientX, clientY: $event.clientY, pageX: $event.pageX, - pageY: $event.pageY - } + pageY: $event.pageY, + }, ] } @@ -98,7 +98,7 @@ function normalizeTarget( id: target.id, offsetLeft: target.offsetLeft, offsetTop: target.offsetTop, - dataset: normalizeDataset(target.dataset) + dataset: normalizeDataset(target.dataset), } if (detail) { extend(res, detail) @@ -120,7 +120,7 @@ function normalizeTouchList(touches: unknown) { pageY: touch.pageY - top, clientX: touch.clientX, clientY: touch.clientY - top, - force: touch.force || 0 + force: touch.force || 0, }) } return res diff --git a/packages/uni-core/src/view/plugin/componentWxs.ts b/packages/uni-core/src/view/plugin/componentWxs.ts index c04add763..4a03c0d4a 100644 --- a/packages/uni-core/src/view/plugin/componentWxs.ts +++ b/packages/uni-core/src/view/plugin/componentWxs.ts @@ -20,20 +20,20 @@ function getWxsClsArr( ) { const wxsClsArr: string[] = [] - let checkClassList: (cls: string) => boolean = function(cls: string) { + let checkClassList: (cls: string) => boolean = function (cls: string) { if (isAdd) { - checkClassList = function(cls) { + checkClassList = function (cls) { return !classList.contains(cls) } } else { - checkClassList = function(cls) { + checkClassList = function (cls) { return classList.contains(cls) } } return checkClassList(cls) } - clsArr.forEach(cls => { + clsArr.forEach((cls) => { cls = cls.replace(CLASS_RE, '') checkClassList(cls) && wxsClsArr.push(cls) }) @@ -44,7 +44,7 @@ function parseStyleText(cssText: string) { const res: Record = {} const listDelimiter = /;(?![^(]*\))/g const propertyDelimiter = /:(.+)/ - cssText.split(listDelimiter).forEach(function(item) { + cssText.split(listDelimiter).forEach(function (item) { if (item) { const tmp = item.split(propertyDelimiter) tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim()) @@ -124,7 +124,7 @@ class ComponentDescriptor { const wxsClsArr = getWxsClsArr(clsArr, classList, false) if (wxsClsArr.length) { const removeWxsClsArr: string[] = [] - wxsClsArr.forEach(cls => { + wxsClsArr.forEach((cls) => { const clsIndex = addWxsClsArr.findIndex( (oldCls: string) => oldCls === cls ) @@ -165,7 +165,7 @@ class ComponentDescriptor { UniViewJSBridge.publishHandler('onWxsInvokeCallMethod', { cid: (this.$vm as any)._$id, method: funcName, - args + args, }) } } @@ -231,10 +231,10 @@ export function handleWxsEvent(this: ComponentPublicInstance, $event: Event) { $origEvent.currentTarget as HTMLElement ) as Event ;($event as any).instance = instance - $event.preventDefault = function() { + $event.preventDefault = function () { return $origEvent.preventDefault() } - $event.stopPropagation = function() { + $event.stopPropagation = function () { return $origEvent.stopPropagation() } } diff --git a/packages/uni-core/src/view/plugin/longPress.ts b/packages/uni-core/src/view/plugin/longPress.ts index ce3decfb6..e05f62447 100644 --- a/packages/uni-core/src/view/plugin/longPress.ts +++ b/packages/uni-core/src/view/plugin/longPress.ts @@ -25,13 +25,13 @@ function touchstart(evt: TouchEvent) { startPageX = pageX startPageY = pageY - longPressTimer = setTimeout(function() { + longPressTimer = setTimeout(function () { const customEvent = new CustomEvent('longpress', { bubbles: true, cancelable: true, // @ts-ignore target: evt.target, - currentTarget: evt.currentTarget + currentTarget: evt.currentTarget, }) ;(customEvent as any).touches = evt.touches ;(customEvent as any).changedTouches = evt.changedTouches diff --git a/packages/uni-h5/src/framework/plugin/index.ts b/packages/uni-h5/src/framework/plugin/index.ts index e93721ae0..bc9e384fa 100644 --- a/packages/uni-h5/src/framework/plugin/index.ts +++ b/packages/uni-h5/src/framework/plugin/index.ts @@ -17,5 +17,5 @@ export default { initSystemComponents(app) initRouter(app) - } + }, } diff --git a/packages/uni-h5/src/framework/plugin/router.ts b/packages/uni-h5/src/framework/plugin/router.ts index d0548ea24..11c884dbf 100644 --- a/packages/uni-h5/src/framework/plugin/router.ts +++ b/packages/uni-h5/src/framework/plugin/router.ts @@ -3,7 +3,7 @@ import { RouteRecordRaw } from 'vue-router' import { createRouter, createWebHashHistory, - createWebHistory + createWebHistory, } from 'vue-router' export function initRouter(app: App) { @@ -21,7 +21,7 @@ export function initRouter(app: App) { return savedPosition } // TODO tabBar? - } + }, }) ) } diff --git a/packages/uni-h5/src/index.ts b/packages/uni-h5/src/index.ts index 51999f347..57f33fb0d 100644 --- a/packages/uni-h5/src/index.ts +++ b/packages/uni-h5/src/index.ts @@ -12,9 +12,5 @@ export * from './service/bridge' export { getApp, getCurrentPages } from './framework' export { default as PageComponent } from './framework/components/page/index.vue' -export { - default as AsyncErrorComponent -} from './framework/components/async-error/index.vue' -export { - default as AsyncLoadingComponent -} from './framework/components/async-loading/index.vue' +export { default as AsyncErrorComponent } from './framework/components/async-error/index.vue' +export { default as AsyncLoadingComponent } from './framework/components/async-loading/index.vue' diff --git a/packages/uni-h5/src/service/api/base/canIUse.ts b/packages/uni-h5/src/service/api/base/canIUse.ts index 1d22f9bb0..cc7db216b 100644 --- a/packages/uni-h5/src/service/api/base/canIUse.ts +++ b/packages/uni-h5/src/service/api/base/canIUse.ts @@ -9,7 +9,7 @@ function cssSupports(css: string) { const SCHEMA_CSS = { 'css.var': cssSupports('--a:0'), 'css.env': cssSupports('top:env(a)'), - 'css.constant': cssSupports('top:constant(a)') + 'css.constant': cssSupports('top:constant(a)'), } export const canIUse = createApi( diff --git a/packages/uni-h5/src/service/api/device/getSystemInfoSync.ts b/packages/uni-h5/src/service/api/device/getSystemInfoSync.ts index 0b20c8613..e0826a881 100644 --- a/packages/uni-h5/src/service/api/device/getSystemInfoSync.ts +++ b/packages/uni-h5/src/service/api/device/getSystemInfoSync.ts @@ -74,7 +74,7 @@ export const getSystemInfoSync = createApi( /\/[\d\.,]+$/, /^\s?[\d\.,]+$/, /\bBrowser\b/i, - /\bMobile\b/i + /\bMobile\b/i, ] for (let i = 0; i < infos.length; i++) { const info = infos[i] @@ -107,7 +107,7 @@ export const getSystemInfoSync = createApi( top: safeAreaInsets.top, bottom: windowHeight - safeAreaInsets.bottom, width: windowWidth - safeAreaInsets.left - safeAreaInsets.right, - height: windowHeight - safeAreaInsets.top - safeAreaInsets.bottom + height: windowHeight - safeAreaInsets.top - safeAreaInsets.bottom, } const { top: windowTop, bottom: windowBottom } = getWindowOffset() @@ -133,8 +133,8 @@ export const getSystemInfoSync = createApi( top: safeAreaInsets.top, right: safeAreaInsets.right, bottom: safeAreaInsets.bottom, - left: safeAreaInsets.left - } + left: safeAreaInsets.left, + }, } as UniApp.GetSystemInfoResult } ) diff --git a/packages/uni-h5/src/service/api/device/makePhoneCall.ts b/packages/uni-h5/src/service/api/device/makePhoneCall.ts index 7920c61ac..c31979fb6 100644 --- a/packages/uni-h5/src/service/api/device/makePhoneCall.ts +++ b/packages/uni-h5/src/service/api/device/makePhoneCall.ts @@ -1,12 +1,12 @@ import { API_TYPE_ASYNC, createApi, - MakePhoneCallProtocol + MakePhoneCallProtocol, } from '@dcloudio/uni-api' export const makePhoneCall = createApi( { type: API_TYPE_ASYNC, name: 'makePhoneCall' }, - option => { + (option) => { window.location.href = `tel:${option.phoneNumber}` }, MakePhoneCallProtocol diff --git a/packages/uni-h5/src/service/api/file/openDocument.ts b/packages/uni-h5/src/service/api/file/openDocument.ts index 92d12dabd..d186306e3 100644 --- a/packages/uni-h5/src/service/api/file/openDocument.ts +++ b/packages/uni-h5/src/service/api/file/openDocument.ts @@ -1,12 +1,12 @@ import { API_TYPE_ASYNC, createApi, - OpenDocumentProtocol + OpenDocumentProtocol, } from '@dcloudio/uni-api' export const openDocument = createApi( { type: API_TYPE_ASYNC, name: 'openDocument' }, - option => { + (option) => { window.open(option.filePath) }, OpenDocumentProtocol diff --git a/packages/uni-h5/src/service/api/index.ts b/packages/uni-h5/src/service/api/index.ts index c3df6e038..d2f68e125 100644 --- a/packages/uni-h5/src/service/api/index.ts +++ b/packages/uni-h5/src/service/api/index.ts @@ -24,5 +24,5 @@ export { arrayBufferToBase64, base64ToArrayBuffer, createIntersectionObserver, - createSelectorQuery + createSelectorQuery, } from '@dcloudio/uni-api' diff --git a/packages/uni-h5/src/service/api/media/getImageInfo.ts b/packages/uni-h5/src/service/api/media/getImageInfo.ts index 90a37e3b1..da46ebf41 100644 --- a/packages/uni-h5/src/service/api/media/getImageInfo.ts +++ b/packages/uni-h5/src/service/api/media/getImageInfo.ts @@ -1,32 +1,32 @@ -import { - API_TYPE_ASYNC, - createApi, - GetImageInfoOptions, - GetImageInfoProtocol -} from '@dcloudio/uni-api' - -function _getServiceAddress() { - return window.location.protocol + '//' + window.location.host -} - -export const getImageInfo = createApi( - { type: API_TYPE_ASYNC, name: 'getImageInfo', options: GetImageInfoOptions }, - ({ src }, callback?: Function) => { - const img = new Image() - img.onload = function() { - callback!({ - errMsg: 'getImageInfo:ok', - width: img.naturalWidth, - height: img.naturalHeight, - path: src.indexOf('/') === 0 ? _getServiceAddress() + src : src - }) - } - img.onerror = function() { - callback!({ - errMsg: 'getImageInfo:fail' - }) - } - img.src = src - }, - GetImageInfoProtocol -) +import { + API_TYPE_ASYNC, + createApi, + GetImageInfoOptions, + GetImageInfoProtocol, +} from '@dcloudio/uni-api' + +function _getServiceAddress() { + return window.location.protocol + '//' + window.location.host +} + +export const getImageInfo = createApi( + { type: API_TYPE_ASYNC, name: 'getImageInfo', options: GetImageInfoOptions }, + ({ src }, callback?: Function) => { + const img = new Image() + img.onload = function () { + callback!({ + errMsg: 'getImageInfo:ok', + width: img.naturalWidth, + height: img.naturalHeight, + path: src.indexOf('/') === 0 ? _getServiceAddress() + src : src, + }) + } + img.onerror = function () { + callback!({ + errMsg: 'getImageInfo:fail', + }) + } + img.src = src + }, + GetImageInfoProtocol +) diff --git a/packages/uni-h5/src/service/api/route/navigateTo.ts b/packages/uni-h5/src/service/api/route/navigateTo.ts index db55f4445..47991edc9 100644 --- a/packages/uni-h5/src/service/api/route/navigateTo.ts +++ b/packages/uni-h5/src/service/api/route/navigateTo.ts @@ -2,7 +2,7 @@ import { API_TYPE_ASYNC, createApi } from '@dcloudio/uni-api' export const navigateTo = createApi( { type: API_TYPE_ASYNC }, - options => { + (options) => { const router = getApp().$router router.push(options.url) } diff --git a/packages/uni-h5/src/service/bridge/index.ts b/packages/uni-h5/src/service/bridge/index.ts index b1779a9f2..37e13b34b 100644 --- a/packages/uni-h5/src/service/bridge/index.ts +++ b/packages/uni-h5/src/service/bridge/index.ts @@ -5,5 +5,5 @@ import { ServiceJSBridge } from '@dcloudio/uni-core' export const UniServiceJSBridge = extend(ServiceJSBridge, { publishHandler(event: string, args: any, pageId: number) { window.UniViewJSBridge.subscribeHandler(event, args, pageId) - } + }, }) diff --git a/packages/uni-h5/src/view/bridge/index.ts b/packages/uni-h5/src/view/bridge/index.ts index c53589d6f..34058559f 100644 --- a/packages/uni-h5/src/view/bridge/index.ts +++ b/packages/uni-h5/src/view/bridge/index.ts @@ -5,5 +5,5 @@ import { ViewJSBridge } from '@dcloudio/uni-core' export const UniViewJSBridge = extend(ViewJSBridge, { publishHandler(event: string, args: any, pageId: number) { window.UniServiceJSBridge.subscribeHandler(event, args, pageId) - } + }, }) diff --git a/packages/uni-h5/vite.config.ts b/packages/uni-h5/vite.config.ts index df1daa071..703d16e40 100644 --- a/packages/uni-h5/vite.config.ts +++ b/packages/uni-h5/vite.config.ts @@ -49,7 +49,7 @@ export default defineConfig({ minify: false, assetsDir: '.', rollupOptions: { - input: 'src/index.ts', + input: path.resolve(__dirname, 'src/index.ts'), external: ['vue', 'vue-router', '@vue/shared', '@dcloudio/uni-shared'], preserveEntrySignatures: 'strict', plugins: [ diff --git a/packages/uni-mp-alipay/dist/uni.api.esm.js b/packages/uni-mp-alipay/dist/uni.api.esm.js index 78a3a3715..bb19a50c1 100644 --- a/packages/uni-mp-alipay/dist/uni.api.esm.js +++ b/packages/uni-mp-alipay/dist/uni.api.esm.js @@ -23,8 +23,8 @@ const Upx2pxProtocol = [ { name: 'upx', type: [Number, String], - required: true - } + required: true, + }, ]; const EPS = 1e-4; @@ -92,7 +92,7 @@ function queue(hooks, data) { if (res === false) { return { then() { }, - catch() { } + catch() { }, }; } } @@ -101,11 +101,11 @@ function queue(hooks, data) { then(callback) { return callback(data); }, - catch() { } + catch() { }, }); } function wrapperOptions(interceptors, options = {}) { - [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach(name => { + [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach((name) => { const hooks = interceptors[name]; if (!isArray(hooks)) { return; @@ -128,21 +128,21 @@ function wrapperReturnValue(method, returnValue) { if (interceptor && isArray(interceptor.returnValue)) { returnValueHooks.push(...interceptor.returnValue); } - returnValueHooks.forEach(hook => { + returnValueHooks.forEach((hook) => { returnValue = hook(returnValue) || returnValue; }); return returnValue; } function getApiInterceptorHooks(method) { const interceptor = Object.create(null); - Object.keys(globalInterceptors).forEach(hook => { + Object.keys(globalInterceptors).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = globalInterceptors[hook].slice(); } }); const scopedInterceptor = scopedInterceptors[method]; if (scopedInterceptor) { - Object.keys(scopedInterceptor).forEach(hook => { + Object.keys(scopedInterceptor).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); } @@ -155,7 +155,7 @@ function invokeApi(method, api, options, ...params) { if (interceptor && Object.keys(interceptor).length) { if (isArray(interceptor.invoke)) { const res = queue(interceptor.invoke, options); - return res.then(options => { + return res.then((options) => { return api(wrapperOptions(interceptor, options), ...params); }); } @@ -170,13 +170,13 @@ const AddInterceptorProtocol = [ { name: 'method', type: [String, Object], - required: true - } + required: true, + }, ]; const RemoveInterceptorProtocol = AddInterceptorProtocol; function mergeInterceptorHook(interceptors, interceptor) { - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { interceptors[hook] = mergeHook(interceptors[hook], interceptor[hook]); } @@ -186,7 +186,7 @@ function removeInterceptorHook(interceptors, interceptor) { if (!interceptors || !interceptor) { return; } - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { removeHook(interceptors[hook], interceptor[hook]); } @@ -263,10 +263,10 @@ function handlePromise(promise) { return promise; } return promise - .then(data => { + .then((data) => { return [null, data]; }) - .catch(err => [err]); + .catch((err) => [err]); } function shouldPromise(name) { if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) { @@ -278,7 +278,7 @@ function shouldPromise(name) { if (!Promise.prototype.finally) { Promise.prototype.finally = function (onfinally) { const promise = this.constructor; - return this.then(value => promise.resolve(onfinally && onfinally()).then(() => value), reason => promise.resolve(onfinally && onfinally()).then(() => { + return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => { throw reason; })); }; @@ -299,7 +299,7 @@ function promisify(name, api) { return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => { invokeApi(name, api, Object.assign({}, options, { success: resolve, - fail: reject + fail: reject, }), ...params); }))); }; @@ -413,25 +413,25 @@ function initUni(api, protocols) { // event-api // provider-api? return promisify(key, wrapper(key, my[key])); - } + }, }; return new Proxy({}, UniProxyHandlers); } function initGetProvider(providers) { - return function getProvider({ service, success, fail, complete }) { + return function getProvider({ service, success, fail, complete, }) { let res; if (providers[service]) { res = { errMsg: 'getProvider:ok', service, - provider: providers[service] + provider: providers[service], }; isFunction(success) && success(res); } else { res = { - errMsg: 'getProvider:fail:服务[' + service + ']不存在' + errMsg: 'getProvider:fail:服务[' + service + ']不存在', }; isFunction(fail) && fail(res); } @@ -446,7 +446,7 @@ function addSafeAreaInsets(fromRes, toRes) { top: safeArea.top, left: safeArea.left, right: fromRes.windowWidth - safeArea.right, - bottom: fromRes.windowHeight - safeArea.bottom + bottom: fromRes.windowHeight - safeArea.bottom, }; } } @@ -456,24 +456,24 @@ const getProvider = initGetProvider({ oauth: ['alipay'], share: ['alipay'], payment: ['alipay'], - push: ['alipay'] + push: ['alipay'], }); function setStorageSync(key, data) { return my.setStorageSync({ key, - data + data, }); } function getStorageSync(key) { const result = my.getStorageSync({ - key + key, }); // 支付宝平台会返回一个 success 值,但是目前测试的结果这个始终是 true。当没有存储数据的时候,其它平台会返回空字符串。 return result.data !== null ? result.data : ''; } function removeStorageSync(key) { return my.removeStorageSync({ - key + key, }); } function startGyroscope(args) { @@ -482,11 +482,11 @@ function startGyroscope(args) { } args.success && args.success({ - errMsg: 'startGyroscope:ok' + errMsg: 'startGyroscope:ok', }); args.complete && args.complete({ - errMsg: 'startGyroscope:ok' + errMsg: 'startGyroscope:ok', }); } function createExecCallback(execCallback) { @@ -609,16 +609,16 @@ const request = { fromArgs.header = {}; } const headers = { - 'content-type': 'application/json' + 'content-type': 'application/json', }; - Object.keys(fromArgs.header).forEach(key => { + Object.keys(fromArgs.header).forEach((key) => { headers[key.toLocaleLowerCase()] = fromArgs.header[key]; }); return { header() { return { name: 'headers', - value: headers + value: headers, }; }, data(data) { @@ -629,32 +629,32 @@ const request = { isPlainObject(data)) { return { name: 'data', - value: JSON.stringify(data) + value: JSON.stringify(data), }; } return { name: 'data', - value: data + value: data, }; }, method: 'method', - responseType: false + responseType: false, }; }, returnValue: { status: 'statusCode', - headers: 'header' - } + headers: 'header', + }, }; const setNavigationBarColor = { name: 'setNavigationBar', args: { frontColor: false, - animation: false - } + animation: false, + }, }; const setNavigationBarTitle = { - name: 'setNavigationBar' + name: 'setNavigationBar', }; function showModal({ showCancel = true } = {}) { if (showCancel) { @@ -664,24 +664,24 @@ function showModal({ showCancel = true } = {}) { cancelColor: false, confirmColor: false, cancelText: 'cancelButtonText', - confirmText: 'confirmButtonText' + confirmText: 'confirmButtonText', }, returnValue(fromRes, toRes) { toRes.confirm = fromRes.confirm; toRes.cancel = !fromRes.confirm; - } + }, }; } return { name: 'alert', args: { confirmColor: false, - confirmText: 'buttonText' + confirmText: 'buttonText', }, returnValue(fromRes, toRes) { toRes.confirm = true; toRes.cancel = false; - } + }, }; } function showToast({ icon = 'success' } = {}) { @@ -690,50 +690,49 @@ function showToast({ icon = 'success' } = {}) { icon: 'type', duration: false, image: false, - mask: false + mask: false, }; if (icon === 'loading') { return { name: 'showLoading', - args + args, }; } return { name: 'showToast', - args + args, }; } const showActionSheet = { name: 'showActionSheet', args: { itemList: 'items', - itemColor: false + itemColor: false, }, returnValue: { - index: 'tapIndex' - } + index: 'tapIndex', + }, }; const showLoading = { args: { title: 'content', - mask: false - } + mask: false, + }, }; const uploadFile = { args: { - name: 'fileName' - } - // 从测试结果看,是有返回对象的,文档上没有说明。 + name: 'fileName', + }, }; const downloadFile = { returnValue: { - apFilePath: 'tempFilePath' - } + apFilePath: 'tempFilePath', + }, }; const getFileInfo = { args: { - filePath: 'apFilePath' - } + filePath: 'apFilePath', + }, }; const compressImage = { args(fromArgs, toArgs) { @@ -750,25 +749,24 @@ const compressImage = { if (apFilePaths && apFilePaths.length) { toRes.tempFilePath = apFilePaths[0]; } - } + }, }; const chooseVideo = { // 支付宝小程序文档中未找到(仅在getSetting处提及),但实际可用 returnValue: { - apFilePath: 'tempFilePath' - } + apFilePath: 'tempFilePath', + }, }; const connectSocket = { args: { method: false, - protocols: false - } - // TODO 有没有返回值还需要测试下 + protocols: false, + }, }; const chooseImage = { returnValue: { - apFilePaths: 'tempFilePaths' - } + apFilePaths: 'tempFilePaths', + }, }; const previewImage = { args(fromArgs, toArgs) { @@ -785,93 +783,93 @@ const previewImage = { } return { indicator: false, - loop: false + loop: false, }; - } + }, }; const saveFile = { args: { - tempFilePath: 'apFilePath' + tempFilePath: 'apFilePath', }, returnValue: { - apFilePath: 'savedFilePath' - } + apFilePath: 'savedFilePath', + }, }; const getSavedFileInfo = { args: { - filePath: 'apFilePath' - } + filePath: 'apFilePath', + }, }; const getSavedFileList = { returnValue(fromRes, toRes) { - toRes.fileList = fromRes.fileList.map(file => { + toRes.fileList = fromRes.fileList.map((file) => { return { filePath: file.apFilePath, createTime: file.createTime, - size: file.size + size: file.size, }; }); - } + }, }; const removeSavedFile = { args: { - filePath: 'apFilePath' - } + filePath: 'apFilePath', + }, }; const getLocation = { args: { type: false, - altitude: false - } + altitude: false, + }, }; const openLocation = { args: { // TODO address 参数在阿里上是必传的 - } + }, }; const getNetworkType = { - returnValue: handleNetworkInfo + returnValue: handleNetworkInfo, }; const onNetworkStatusChange = { - returnValue: handleNetworkInfo + returnValue: handleNetworkInfo, }; const stopAccelerometer = { - name: 'offAccelerometerChange' + name: 'offAccelerometerChange', }; const stopCompass = { - name: 'offCompassChange' + name: 'offCompassChange', }; const scanCode = { name: 'scan', args: { - onlyFromCamera: 'hideAlbum' + onlyFromCamera: 'hideAlbum', }, returnValue: { - code: 'result' - } + code: 'result', + }, }; const setClipboardData = { name: 'setClipboard', args: { - data: 'text' - } + data: 'text', + }, }; const getClipboardData = { name: 'getClipboard', returnValue: { - text: 'data' - } + text: 'data', + }, }; const pageScrollTo = { args: { - duration: false - } + duration: false, + }, }; const login = { name: 'getAuthCode', returnValue: { - authCode: 'code' - } + authCode: 'code', + }, }; const getUserInfo = { name: my.canIUse('getOpenUserInfo') ? 'getOpenUserInfo' : 'getAuthUserInfo', @@ -892,86 +890,86 @@ const getUserInfo = { toRes.userInfo = { openId: '', nickName: fromRes.nickName, - avatarUrl: fromRes.avatar + avatarUrl: fromRes.avatar, }; } - } + }, }; const requestPayment = { name: 'tradePay', args: { - orderInfo: 'tradeNO' - } + orderInfo: 'tradeNO', + }, }; const getBLEDeviceServices = { returnValue(fromRes, toRes) { - toRes.services = fromRes.services.map(item => { + toRes.services = fromRes.services.map((item) => { return { uuid: item.serviceId, - isPrimary: item.isPrimary + isPrimary: item.isPrimary, }; }); - } + }, }; const createBLEConnection = { name: 'connectBLEDevice', args: { - timeout: false - } + timeout: false, + }, }; const closeBLEConnection = { - name: 'disconnectBLEDevice' + name: 'disconnectBLEDevice', }; const onBLEConnectionStateChange = { - name: 'onBLEConnectionStateChanged' + name: 'onBLEConnectionStateChanged', }; const makePhoneCall = { args: { - phoneNumber: 'number' - } + phoneNumber: 'number', + }, }; const stopGyroscope = { - name: 'offGyroscopeChange' + name: 'offGyroscopeChange', }; const getSystemInfo = { - returnValue: handleSystemInfo + returnValue: handleSystemInfo, }; const getSystemInfoSync = { - returnValue: handleSystemInfo + returnValue: handleSystemInfo, }; // 文档没提到,但是实测可用。 const canvasToTempFilePath = { returnValue(fromRes, toRes) { // 真机的情况下会有 tempFilePath 这个值,因此需要主动修改。 toRes.tempFilePath = fromRes.apFilePath; - } + }, }; const setScreenBrightness = { args: { - value: 'brightness' - } + value: 'brightness', + }, }; const getScreenBrightness = { returnValue: { - brightness: 'value' - } + brightness: 'value', + }, }; const showShareMenu = { - name: 'showSharePanel' + name: 'showSharePanel', }; const hideHomeButton = { - name: 'hideBackHome' + name: 'hideBackHome', }; const saveImageToPhotosAlbum = { name: 'saveImage', args: { - filePath: 'url' - } + filePath: 'url', + }, }; const saveVideoToPhotosAlbum = { args: { - filePath: 'src' - } + filePath: 'src', + }, }; const chooseAddress = { name: 'getAddress', @@ -984,7 +982,7 @@ const chooseAddress = { toRes.detailInfo = info.address; toRes.telNumber = info.mobilePhone; toRes.errMsg = toRes.errMsg + ' ' + fromRes.resultStatus; - } + }, }; var protocols = /*#__PURE__*/Object.freeze({ diff --git a/packages/uni-mp-alipay/dist/uni.mp.esm.js b/packages/uni-mp-alipay/dist/uni.mp.esm.js index a24310c16..aec6637c1 100644 --- a/packages/uni-mp-alipay/dist/uni.mp.esm.js +++ b/packages/uni-mp-alipay/dist/uni.mp.esm.js @@ -50,7 +50,7 @@ const MP_METHODS = [ 'createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', - 'selectComponent' + 'selectComponent', ]; function createEmitFn(oldEmit, ctx) { return function emit(event, ...args) { @@ -85,7 +85,7 @@ function initBaseInstance(instance, options) { Object.defineProperty(instance, 'slots', { get() { return this.$scope && this.$scope.props.$slots; - } + }, }); } // $emit @@ -94,7 +94,7 @@ function initBaseInstance(instance, options) { function initComponentInstance(instance, options) { initBaseInstance(instance, options); const ctx = instance.ctx; - MP_METHODS.forEach(method => { + MP_METHODS.forEach((method) => { ctx[method] = function (...args) { const mpInstance = ctx.$scope; if (mpInstance && mpInstance[method]) { @@ -115,7 +115,7 @@ function initComponentInstance(instance, options) { } function initMocks(instance, mpInstance, mocks) { const ctx = instance.ctx; - mocks.forEach(mock => { + mocks.forEach((mock) => { if (hasOwn(mpInstance, mock)) { ctx[mock] = mpInstance[mock]; } @@ -134,12 +134,11 @@ const PAGE_HOOKS = [ 'onReachBottom', 'onPullDownRefresh', // 'onShareTimeline', // 右上角菜单,开发者手动注册 - 'onAddToFavorites' - // 'onShareAppMessage' // 右上角菜单,开发者手动注册 + 'onAddToFavorites', ]; function findHooks(vueOptions, hooks = new Set()) { if (vueOptions) { - Object.keys(vueOptions).forEach(name => { + Object.keys(vueOptions).forEach((name) => { if (name.indexOf('on') === 0 && isFunction(vueOptions[name])) { hooks.add(name); } @@ -147,7 +146,7 @@ function findHooks(vueOptions, hooks = new Set()) { if (__VUE_OPTIONS_API__) { const { extends: extendsOptions, mixins } = vueOptions; if (mixins) { - mixins.forEach(mixin => findHooks(mixin, hooks)); + mixins.forEach((mixin) => findHooks(mixin, hooks)); } if (extendsOptions) { findHooks(extendsOptions, hooks); @@ -165,10 +164,10 @@ function initHook(mpOptions, hook, excludes) { } const EXCLUDE_HOOKS = ['onReady']; function initHooks(mpOptions, hooks, excludes = EXCLUDE_HOOKS) { - hooks.forEach(hook => initHook(mpOptions, hook, excludes)); + hooks.forEach((hook) => initHook(mpOptions, hook, excludes)); } function initUnknownHooks(mpOptions, vueOptions, excludes = EXCLUDE_HOOKS) { - findHooks(vueOptions).forEach(hook => initHook(mpOptions, hook, excludes)); + findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes)); } const HOOKS = [ @@ -177,7 +176,7 @@ const HOOKS = [ 'onError', 'onThemeChange', 'onPageNotFound', - 'onUnhandledRejection' + 'onUnhandledRejection', ]; function parseApp(instance, parseAppOptions) { const internalInstance = instance.$; @@ -193,11 +192,11 @@ function parseApp(instance, parseAppOptions) { initBaseInstance(internalInstance, { mpType: 'app', mpInstance: this, - slots: [] + slots: [], }); ctx.globalData = this.globalData; instance.$callHook('onLaunch', options); - } + }, }; const vueOptions = instance.$.type; initHooks(appOptions, HOOKS); @@ -221,7 +220,7 @@ const encode = encodeURIComponent; function stringifyQuery(obj, encodeStr = encode) { const res = obj ? Object.keys(obj) - .map(key => { + .map((key) => { let val = obj[key]; if (typeof val === undefined || val === null) { val = ''; @@ -231,7 +230,7 @@ function stringifyQuery(obj, encodeStr = encode) { } return encodeStr(key) + '=' + encodeStr(val); }) - .filter(x => x.length > 0) + .filter((x) => x.length > 0) .join('&') : null; return res ? `?${res}` : ''; @@ -294,7 +293,7 @@ function initDefaultProps(isBehavior = false) { if (!isBehavior) { properties.vueId = { type: String, - value: '' + value: '', }; // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots properties.vueSlots = { @@ -306,9 +305,9 @@ function initDefaultProps(isBehavior = false) { $slots[slotName] = true; }); this.setData({ - $slots + $slots, }); - } + }, }; } return properties; @@ -321,14 +320,14 @@ function createProperty(key, prop) { function initProps(mpComponentOptions, rawProps, isBehavior = false) { const properties = initDefaultProps(isBehavior); if (isArray(rawProps)) { - rawProps.forEach(key => { + rawProps.forEach((key) => { properties[key] = createProperty(key, { - type: null + type: null, }); }); } else if (isPlainObject(rawProps)) { - Object.keys(rawProps).forEach(key => { + Object.keys(rawProps).forEach((key) => { const opts = rawProps[key]; if (isPlainObject(opts)) { // title:{type:String,default:''} @@ -340,14 +339,14 @@ function initProps(mpComponentOptions, rawProps, isBehavior = false) { opts.type = parsePropType(key, type); properties[key] = createProperty(key, { type: PROP_TYPES.indexOf(type) !== -1 ? type : null, - value + value, }); } else { // content:String const type = parsePropType(key, opts); properties[key] = createProperty(key, { - type: PROP_TYPES.indexOf(type) !== -1 ? type : null + type: PROP_TYPES.indexOf(type) !== -1 ? type : null, }); } }); @@ -391,7 +390,7 @@ function initBehaviors(vueOptions, initBehavior) { } const behaviors = []; if (isArray(vueBehaviors)) { - vueBehaviors.forEach(behavior => { + vueBehaviors.forEach((behavior) => { behaviors.push(behavior.replace('uni://', `${__PLATFORM_PREFIX__}://`)); if (behavior === 'uni://form-field') { if (isArray(vueProps)) { @@ -401,11 +400,11 @@ function initBehaviors(vueOptions, initBehavior) { else { vueProps.name = { type: String, - default: '' + default: '', }; vueProps.value = { type: [String, Number, Boolean, Array, Object, Date], - default: '' + default: '', }; } } @@ -417,7 +416,7 @@ function initBehaviors(vueOptions, initBehavior) { behaviors.push(initBehavior(behavior)); } if (isArray(vueMixins)) { - vueMixins.forEach(vueMixin => { + vueMixins.forEach((vueMixin) => { if (vueMixin.props) { const behavior = {}; initProps(behavior, vueMixin.props, true); @@ -442,7 +441,7 @@ function getValue(obj, path) { } function getExtraValue(instance, dataPathsArray) { let context = instance; - dataPathsArray.forEach(dataPathArray => { + dataPathsArray.forEach((dataPathArray) => { const dataPath = dataPathArray[0]; const value = dataPathArray[2]; if (dataPath || typeof value !== 'undefined') { @@ -472,12 +471,12 @@ function getExtraValue(instance, dataPathsArray) { } else { if (isArray(vFor)) { - context = vFor.find(vForItem => { + context = vFor.find((vForItem) => { return getValue(vForItem, propPath) === value; }); } else if (isPlainObject(vFor)) { - context = Object.keys(vFor).find(vForKey => { + context = Object.keys(vFor).find((vForKey) => { return getValue(vFor[vForKey], propPath) === value; }); } @@ -567,7 +566,7 @@ function processEventArgs(instance, event, args = [], extra = [], isCustom, meth } const extraObj = processEventExtra(instance, extra, event); const ret = []; - args.forEach(arg => { + args.forEach((arg) => { if (arg === '$event') { if (methodName === '__set_model' && !isCustom) { // input v-model value @@ -719,7 +718,7 @@ function onAliGetAuthorize(method, $event) { $event.type = 'getphonenumber'; $event.detail.errMsg = 'getPhoneNumber:fail'; this[method]($event); - } + }, }); } function parse(appOptions) { @@ -815,11 +814,11 @@ function customize(str) { } function initBehavior({ properties }) { const props = {}; - Object.keys(properties).forEach(key => { + Object.keys(properties).forEach((key) => { props[key] = properties[key].value; }); return { - props + props, }; } function initRelation(mpInstance, detail) { @@ -859,10 +858,10 @@ function initChildVues(mpInstance) { } const childVues = mpInstance._$childVues; if (childVues) { - childVues.forEach(relationOptions => { + childVues.forEach((relationOptions) => { // 父子关系 handleLink.call(mpInstance, { - detail: relationOptions + detail: relationOptions, }); const { mpInstance: childMPInstance, createComponent } = relationOptions; childMPInstance.$vm = createComponent(relationOptions.parent); @@ -904,14 +903,14 @@ function triggerEvent(type, detail) { const eventOpts = this.props['data-event-opts']; const target = { dataset: { - eventOpts - } + eventOpts, + }, }; handler({ type: customize(type), target, currentTarget: target, - detail + detail, }); } const IGNORES = ['$slots', '$scopedSlots']; @@ -922,7 +921,7 @@ function createObserver(isDidUpdate = false) { if (equal(prevProps, nextProps)) { return; } - Object.keys(prevProps).forEach(name => { + Object.keys(prevProps).forEach((name) => { if (IGNORES.indexOf(name) === -1) { const prevValue = prevProps[name]; const nextValue = nextProps[name]; @@ -939,7 +938,7 @@ const handleLink$1 = (function () { if (isComponent2) { return function handleLink$1(detail) { return handleLink.call(this, { - detail + detail, }); }; } @@ -947,7 +946,7 @@ const handleLink$1 = (function () { if (this.$vm && this.$vm.$.isMounted) { // 父已初始化 return handleLink.call(this, { - detail + detail, }); } (this._$childVues || (this._$childVues = [])).unshift(detail); @@ -956,7 +955,7 @@ const handleLink$1 = (function () { function createVueComponent(mpType, mpInstance, vueOptions, parent) { return $createComponent({ type: vueOptions, - props: mpInstance.props + props: mpInstance.props, }, { mpType, mpInstance, @@ -964,7 +963,7 @@ function createVueComponent(mpType, mpInstance, vueOptions, parent) { onBeforeSetup(instance, options) { initMocks(instance, mpInstance, mocks); initComponentInstance(instance, options); - } + }, }); } @@ -974,7 +973,7 @@ function createPage(vueOptions) { onLoad(query) { this.options = query; this.$page = { - fullPath: '/' + this.route + stringifyQuery(query) + fullPath: '/' + this.route + stringifyQuery(query), }; // 初始化 vue 实例 this.$vm = createVueComponent('page', this, vueOptions); @@ -996,11 +995,11 @@ function createPage(vueOptions) { // 支付宝小程序有些页面事件只能放在events下 onBack() { this.$vm.$callHook('onBackPress'); - } + }, }, __r: handleRef, __e: handleEvent, - __l: handleLink$1 + __l: handleLink$1, }; if (__VUE_OPTIONS_API__) { pageOptions.data = initData(vueOptions); @@ -1013,14 +1012,14 @@ function createPage(vueOptions) { function initComponentProps(rawProps) { const propertiesOptions = { - properties: {} + properties: {}, }; initProps(propertiesOptions, rawProps, false); const properties = propertiesOptions.properties; const props = { - onVueInit: function () { } + onVueInit: function () { }, }; - Object.keys(properties).forEach(key => { + Object.keys(properties).forEach((key) => { if (key !== 'vueSlots') { props[key] = properties[key].value; } @@ -1036,7 +1035,7 @@ function initVm(mpInstance, createComponent) { const relationOptions = { vuePid: mpInstance._$vuePid, mpInstance, - createComponent + createComponent, }; if (isComponent2) { // 处理父子关系 @@ -1086,8 +1085,8 @@ function createComponent(vueOptions) { __r: handleRef, __e: handleEvent, __l: handleLink$1, - triggerEvent - } + triggerEvent, + }, }; if (__VUE_OPTIONS_API__) { mpComponentOptions.data = initData(vueOptions); diff --git a/packages/uni-mp-alipay/src/api/protocols.ts b/packages/uni-mp-alipay/src/api/protocols.ts index 9cdc7cbf2..763541de8 100644 --- a/packages/uni-mp-alipay/src/api/protocols.ts +++ b/packages/uni-mp-alipay/src/api/protocols.ts @@ -56,16 +56,16 @@ export const request = { fromArgs.header = {} } const headers: Record = { - 'content-type': 'application/json' + 'content-type': 'application/json', } - Object.keys(fromArgs.header).forEach(key => { + Object.keys(fromArgs.header).forEach((key) => { headers[key.toLocaleLowerCase()] = fromArgs.header[key] }) return { header() { return { name: 'headers', - value: headers + value: headers, } }, data(data: unknown) { @@ -78,32 +78,32 @@ export const request = { ) { return { name: 'data', - value: JSON.stringify(data) + value: JSON.stringify(data), } } return { name: 'data', - value: data + value: data, } }, method: 'method', // TODO 支付宝小程序仅支持 get,post - responseType: false + responseType: false, } }, returnValue: { status: 'statusCode', - headers: 'header' - } + headers: 'header', + }, } export const setNavigationBarColor = { name: 'setNavigationBar', args: { frontColor: false, - animation: false - } + animation: false, + }, } export const setNavigationBarTitle = { - name: 'setNavigationBar' + name: 'setNavigationBar', } export function showModal({ showCancel = true }: UniApp.ShowModalOptions = {}) { if (showCancel) { @@ -113,7 +113,7 @@ export function showModal({ showCancel = true }: UniApp.ShowModalOptions = {}) { cancelColor: false, confirmColor: false, cancelText: 'cancelButtonText', - confirmText: 'confirmButtonText' + confirmText: 'confirmButtonText', }, returnValue( fromRes: my.IConfirmSuccessResult, @@ -121,19 +121,19 @@ export function showModal({ showCancel = true }: UniApp.ShowModalOptions = {}) { ) { toRes.confirm = fromRes.confirm toRes.cancel = !fromRes.confirm - } + }, } } return { name: 'alert', args: { confirmColor: false, - confirmText: 'buttonText' + confirmText: 'buttonText', }, returnValue(fromRes: unknown, toRes: UniApp.ShowModalRes) { toRes.confirm = true toRes.cancel = false - } + }, } } export function showToast({ icon = 'success' }: UniApp.ShowToastOptions = {}) { @@ -142,50 +142,50 @@ export function showToast({ icon = 'success' }: UniApp.ShowToastOptions = {}) { icon: 'type', duration: false, image: false, - mask: false + mask: false, } if (icon === 'loading') { return { name: 'showLoading', - args + args, } } return { name: 'showToast', - args + args, } } export const showActionSheet = { name: 'showActionSheet', args: { itemList: 'items', - itemColor: false + itemColor: false, }, returnValue: { - index: 'tapIndex' - } + index: 'tapIndex', + }, } export const showLoading = { args: { title: 'content', - mask: false - } + mask: false, + }, } export const uploadFile = { args: { - name: 'fileName' - } + name: 'fileName', + }, // 从测试结果看,是有返回对象的,文档上没有说明。 } export const downloadFile = { returnValue: { - apFilePath: 'tempFilePath' - } + apFilePath: 'tempFilePath', + }, } export const getFileInfo = { args: { - filePath: 'apFilePath' - } + filePath: 'apFilePath', + }, } export const compressImage = { args( @@ -208,25 +208,25 @@ export const compressImage = { if (apFilePaths && apFilePaths.length) { toRes.tempFilePath = apFilePaths[0] } - } + }, } export const chooseVideo = { // 支付宝小程序文档中未找到(仅在getSetting处提及),但实际可用 returnValue: { - apFilePath: 'tempFilePath' - } + apFilePath: 'tempFilePath', + }, } export const connectSocket = { args: { method: false, - protocols: false - } + protocols: false, + }, // TODO 有没有返回值还需要测试下 } export const chooseImage = { returnValue: { - apFilePaths: 'tempFilePaths' - } + apFilePaths: 'tempFilePaths', + }, } export const previewImage = { args(fromArgs: UniApp.PreviewImageOptions, toArgs: my.IPreviewImageOptions) { @@ -242,96 +242,96 @@ export const previewImage = { } return { indicator: false, - loop: false + loop: false, } - } + }, } export const saveFile = { args: { - tempFilePath: 'apFilePath' + tempFilePath: 'apFilePath', }, returnValue: { - apFilePath: 'savedFilePath' - } + apFilePath: 'savedFilePath', + }, } export const getSavedFileInfo = { args: { - filePath: 'apFilePath' - } + filePath: 'apFilePath', + }, } export const getSavedFileList = { returnValue( fromRes: my.IGetSavedFileListSuccessResult, toRes: UniApp.GetSavedFileListSuccess ) { - toRes.fileList = fromRes.fileList.map(file => { + toRes.fileList = fromRes.fileList.map((file) => { return { filePath: (file as any).apFilePath, // mini-types file.d.ts 不正确 createTime: file.createTime, - size: file.size + size: file.size, } }) - } + }, } export const removeSavedFile = { args: { - filePath: 'apFilePath' - } + filePath: 'apFilePath', + }, } export const getLocation = { args: { type: false, - altitude: false - } + altitude: false, + }, } export const openLocation = { args: { // TODO address 参数在阿里上是必传的 - } + }, } export const getNetworkType = { - returnValue: handleNetworkInfo + returnValue: handleNetworkInfo, } export const onNetworkStatusChange = { - returnValue: handleNetworkInfo + returnValue: handleNetworkInfo, } export const stopAccelerometer = { - name: 'offAccelerometerChange' + name: 'offAccelerometerChange', } export const stopCompass = { - name: 'offCompassChange' + name: 'offCompassChange', } export const scanCode = { name: 'scan', args: { - onlyFromCamera: 'hideAlbum' + onlyFromCamera: 'hideAlbum', }, returnValue: { - code: 'result' - } + code: 'result', + }, } export const setClipboardData = { name: 'setClipboard', args: { - data: 'text' - } + data: 'text', + }, } export const getClipboardData = { name: 'getClipboard', returnValue: { - text: 'data' - } + text: 'data', + }, } export const pageScrollTo = { args: { - duration: false - } + duration: false, + }, } export const login = { name: 'getAuthCode', returnValue: { - authCode: 'code' - } + authCode: 'code', + }, } export const getUserInfo = { name: my.canIUse('getOpenUserInfo') ? 'getOpenUserInfo' : 'getAuthUserInfo', @@ -353,55 +353,55 @@ export const getUserInfo = { toRes.userInfo = { openId: '', nickName: fromRes.nickName, - avatarUrl: fromRes.avatar + avatarUrl: fromRes.avatar, } } - } + }, } export const requestPayment = { name: 'tradePay', args: { - orderInfo: 'tradeNO' - } + orderInfo: 'tradeNO', + }, } export const getBLEDeviceServices = { returnValue( fromRes: my.IGetBLEDeviceServicesSuccessResult, toRes: UniApp.GetBLEDeviceServicesSuccess ) { - toRes.services = fromRes.services.map(item => { + toRes.services = fromRes.services.map((item) => { return { uuid: item.serviceId, - isPrimary: item.isPrimary + isPrimary: item.isPrimary, } }) - } + }, } export const createBLEConnection = { name: 'connectBLEDevice', args: { - timeout: false - } + timeout: false, + }, } export const closeBLEConnection = { - name: 'disconnectBLEDevice' + name: 'disconnectBLEDevice', } export const onBLEConnectionStateChange = { - name: 'onBLEConnectionStateChanged' + name: 'onBLEConnectionStateChanged', } export const makePhoneCall = { args: { - phoneNumber: 'number' - } + phoneNumber: 'number', + }, } export const stopGyroscope = { - name: 'offGyroscopeChange' + name: 'offGyroscopeChange', } export const getSystemInfo = { - returnValue: handleSystemInfo + returnValue: handleSystemInfo, } export const getSystemInfoSync = { - returnValue: handleSystemInfo + returnValue: handleSystemInfo, } // 文档没提到,但是实测可用。 export const canvasToTempFilePath = { @@ -411,34 +411,34 @@ export const canvasToTempFilePath = { ) { // 真机的情况下会有 tempFilePath 这个值,因此需要主动修改。 toRes.tempFilePath = fromRes.apFilePath - } + }, } export const setScreenBrightness = { args: { - value: 'brightness' - } + value: 'brightness', + }, } export const getScreenBrightness = { returnValue: { - brightness: 'value' - } + brightness: 'value', + }, } export const showShareMenu = { - name: 'showSharePanel' + name: 'showSharePanel', } export const hideHomeButton = { - name: 'hideBackHome' + name: 'hideBackHome', } export const saveImageToPhotosAlbum = { name: 'saveImage', args: { - filePath: 'url' - } + filePath: 'url', + }, } export const saveVideoToPhotosAlbum = { args: { - filePath: 'src' - } + filePath: 'src', + }, } export const chooseAddress = { name: 'getAddress', @@ -451,5 +451,5 @@ export const chooseAddress = { toRes.detailInfo = info.address toRes.telNumber = info.mobilePhone toRes.errMsg = toRes.errMsg + ' ' + fromRes.resultStatus - } + }, } diff --git a/packages/uni-mp-alipay/src/api/shims.ts b/packages/uni-mp-alipay/src/api/shims.ts index 960a0078a..ff63656ec 100644 --- a/packages/uni-mp-alipay/src/api/shims.ts +++ b/packages/uni-mp-alipay/src/api/shims.ts @@ -6,19 +6,19 @@ export const getProvider = initGetProvider({ oauth: ['alipay'], share: ['alipay'], payment: ['alipay'], - push: ['alipay'] + push: ['alipay'], }) export function setStorageSync(key: string, data: any) { return my.setStorageSync({ key, - data + data, }) } export function getStorageSync(key: string) { const result = my.getStorageSync({ - key + key, }) // 支付宝平台会返回一个 success 值,但是目前测试的结果这个始终是 true。当没有存储数据的时候,其它平台会返回空字符串。 return result.data !== null ? result.data : '' @@ -26,7 +26,7 @@ export function getStorageSync(key: string) { export function removeStorageSync(key: string) { return my.removeStorageSync({ - key + key, }) } @@ -36,11 +36,11 @@ export function startGyroscope(args: UniApp.StartGyroscopeOptions) { } args.success && args.success({ - errMsg: 'startGyroscope:ok' + errMsg: 'startGyroscope:ok', }) args.complete && args.complete({ - errMsg: 'startGyroscope:ok' + errMsg: 'startGyroscope:ok', }) } @@ -87,7 +87,7 @@ export function createSelectorQuery() { } if (!(query as any).fields) { - ;(query as any).fields = function( + ;(query as any).fields = function ( { rect, size, scrollOffset }: UniApp.NodeField, callback: Function ) { @@ -103,7 +103,7 @@ export function createSelectorQuery() { } if (!(query as any).in) { - ;(query as any).in = function() { + ;(query as any).in = function () { return this } } diff --git a/packages/uni-mp-alipay/src/runtime/createComponent.ts b/packages/uni-mp-alipay/src/runtime/createComponent.ts index 6f66868b9..d69df9a0f 100644 --- a/packages/uni-mp-alipay/src/runtime/createComponent.ts +++ b/packages/uni-mp-alipay/src/runtime/createComponent.ts @@ -6,7 +6,7 @@ import { handleEvent, $destroyComponent, initVueIds, - initWxsCallMethods + initWxsCallMethods, } from '@dcloudio/uni-mp-core' import { initBehavior, @@ -20,7 +20,7 @@ import { initChildVues, createVueComponent, RelationOptions, - createObserver + createObserver, } from './util' declare function Component( @@ -29,14 +29,14 @@ declare function Component( function initComponentProps(rawProps: Record) { const propertiesOptions = { - properties: {} + properties: {}, } initProps(propertiesOptions, rawProps, false) const properties = propertiesOptions.properties as Record const props: Record = { - onVueInit: function() {} + onVueInit: function () {}, } - Object.keys(properties).forEach(key => { + Object.keys(properties).forEach((key) => { if (key !== 'vueSlots') { props[key] = properties[key].value } @@ -57,7 +57,7 @@ function initVm( const relationOptions: RelationOptions = { vuePid: mpInstance._$vuePid, mpInstance, - createComponent + createComponent, } if (isComponent2) { // 处理父子关系 @@ -106,8 +106,8 @@ export function createComponent(vueOptions: ComponentOptions) { __r: handleRef, __e: handleEvent, __l: handleLink, - triggerEvent - } + triggerEvent, + }, } if (__VUE_OPTIONS_API__) { mpComponentOptions.data = initData(vueOptions) diff --git a/packages/uni-mp-alipay/src/runtime/createPage.ts b/packages/uni-mp-alipay/src/runtime/createPage.ts index d0590f82d..77954e97f 100644 --- a/packages/uni-mp-alipay/src/runtime/createPage.ts +++ b/packages/uni-mp-alipay/src/runtime/createPage.ts @@ -7,7 +7,7 @@ import { initHooks, initUnknownHooks, $destroyComponent, - initWxsCallMethods + initWxsCallMethods, } from '@dcloudio/uni-mp-core' import { stringifyQuery } from '@dcloudio/uni-shared' @@ -17,7 +17,7 @@ import { handleLink, initChildVues, initSpecialMethods, - createVueComponent + createVueComponent, } from './util' declare function Page(options: tinyapp.PageOptions): void @@ -28,7 +28,7 @@ export function createPage(vueOptions: ComponentOptions) { onLoad(query) { this.options = query this.$page = { - fullPath: '/' + this.route + stringifyQuery(query) + fullPath: '/' + this.route + stringifyQuery(query), } // 初始化 vue 实例 this.$vm = createVueComponent('page', this, vueOptions) @@ -50,11 +50,11 @@ export function createPage(vueOptions: ComponentOptions) { // 支付宝小程序有些页面事件只能放在events下 onBack() { this.$vm.$callHook('onBackPress') - } + }, }, __r: handleRef, __e: handleEvent, - __l: handleLink + __l: handleLink, } if (__VUE_OPTIONS_API__) { pageOptions.data = initData(vueOptions) diff --git a/packages/uni-mp-alipay/src/runtime/deepEqual.ts b/packages/uni-mp-alipay/src/runtime/deepEqual.ts index 0e56a7c99..8dfa64573 100644 --- a/packages/uni-mp-alipay/src/runtime/deepEqual.ts +++ b/packages/uni-mp-alipay/src/runtime/deepEqual.ts @@ -1,47 +1,47 @@ -import { hasOwn, isArray } from '@vue/shared' - -export default function equal(a: any, b: any) { - if (a === b) return true - - if (a && b && typeof a === 'object' && typeof b === 'object') { - const arrA = isArray(a) - const arrB = isArray(b) - let i, length, key - if (arrA && arrB) { - length = a.length - if (length !== b.length) return false - for (i = length; i-- !== 0; ) { - if (!equal(a[i], b[i])) return false - } - return true - } - if (arrA !== arrB) return false - - const dateA = a instanceof Date - const dateB = b instanceof Date - if (dateA !== dateB) return false - if (dateA && dateB) return a.getTime() === b.getTime() - - const regexpA = a instanceof RegExp - const regexpB = b instanceof RegExp - if (regexpA !== regexpB) return false - if (regexpA && regexpB) return a.toString() === b.toString() - - const keys = Object.keys(a) - length = keys.length - if (length !== Object.keys(b).length) { - return false - } - for (i = length; i-- !== 0; ) { - if (!hasOwn(b, keys[i])) return false - } - for (i = length; i-- !== 0; ) { - key = keys[i] - if (!equal(a[key], b[key])) return false - } - - return true - } - - return false -} +import { hasOwn, isArray } from '@vue/shared' + +export default function equal(a: any, b: any) { + if (a === b) return true + + if (a && b && typeof a === 'object' && typeof b === 'object') { + const arrA = isArray(a) + const arrB = isArray(b) + let i, length, key + if (arrA && arrB) { + length = a.length + if (length !== b.length) return false + for (i = length; i-- !== 0; ) { + if (!equal(a[i], b[i])) return false + } + return true + } + if (arrA !== arrB) return false + + const dateA = a instanceof Date + const dateB = b instanceof Date + if (dateA !== dateB) return false + if (dateA && dateB) return a.getTime() === b.getTime() + + const regexpA = a instanceof RegExp + const regexpB = b instanceof RegExp + if (regexpA !== regexpB) return false + if (regexpA && regexpB) return a.toString() === b.toString() + + const keys = Object.keys(a) + length = keys.length + if (length !== Object.keys(b).length) { + return false + } + for (i = length; i-- !== 0; ) { + if (!hasOwn(b, keys[i])) return false + } + for (i = length; i-- !== 0; ) { + key = keys[i] + if (!equal(a[key], b[key])) return false + } + + return true + } + + return false +} diff --git a/packages/uni-mp-alipay/src/runtime/parseAppOptions.ts b/packages/uni-mp-alipay/src/runtime/parseAppOptions.ts index 282a3eb83..0f6bc3ab1 100644 --- a/packages/uni-mp-alipay/src/runtime/parseAppOptions.ts +++ b/packages/uni-mp-alipay/src/runtime/parseAppOptions.ts @@ -35,7 +35,7 @@ function onAliGetAuthorize( $event.type = 'getphonenumber' $event.detail.errMsg = 'getPhoneNumber:fail' ;(this as any)[method]($event) - } + }, }) } diff --git a/packages/uni-mp-alipay/src/runtime/util.ts b/packages/uni-mp-alipay/src/runtime/util.ts index 57592f6ed..d6300b829 100644 --- a/packages/uni-mp-alipay/src/runtime/util.ts +++ b/packages/uni-mp-alipay/src/runtime/util.ts @@ -3,14 +3,14 @@ import { hasOwn, isFunction, camelize, EMPTY_OBJ } from '@vue/shared' import { ComponentPublicInstance, ComponentOptions, - ComponentInternalInstance + ComponentInternalInstance, } from 'vue' import { initMocks, $createComponent, initComponentInstance, - CreateComponentOptions + CreateComponentOptions, } from '@dcloudio/uni-mp-core' import { handleLink as handleBaseLink } from '@dcloudio/uni-mp-weixin' @@ -35,11 +35,11 @@ function customize(str: string) { export function initBehavior({ properties }: Record) { const props: Record = {} - Object.keys(properties).forEach(key => { + Object.keys(properties).forEach((key) => { props[key] = properties[key].value }) return { - props + props, } } @@ -68,7 +68,7 @@ export function initSpecialMethods( if (specialMethods) { specialMethods.forEach((method: string) => { if (isFunction(mpInstance.$vm[method])) { - mpInstance[method] = function(event: Record) { + mpInstance[method] = function (event: Record) { if (hasOwn(event, 'markerId')) { event.detail = typeof event.detail === 'object' ? event.detail : {} event.detail.markerId = event.markerId @@ -97,10 +97,10 @@ export function initChildVues( } const childVues = mpInstance._$childVues as RelationOptions[] if (childVues) { - childVues.forEach(relationOptions => { + childVues.forEach((relationOptions) => { // 父子关系 handleBaseLink.call(mpInstance as any, { - detail: relationOptions + detail: relationOptions, }) const { mpInstance: childMPInstance, createComponent } = relationOptions @@ -157,15 +157,15 @@ export function triggerEvent( const target = { dataset: { - eventOpts - } + eventOpts, + }, } handler({ type: customize(type), target, currentTarget: target, - detail + detail, }) } @@ -181,7 +181,7 @@ export function createObserver(isDidUpdate: boolean = false) { if (deepEqual(prevProps, nextProps)) { return } - Object.keys(prevProps).forEach(name => { + Object.keys(prevProps).forEach((name) => { if (IGNORES.indexOf(name) === -1) { const prevValue = prevProps[name] const nextValue = nextProps[name] @@ -197,14 +197,14 @@ export function createObserver(isDidUpdate: boolean = false) { } } -export const handleLink = (function() { +export const handleLink = (function () { if (isComponent2) { return function handleLink( this: MPComponentInstance, detail: RelationOptions ) { return handleBaseLink.call(this as any, { - detail + detail, }) } } @@ -215,7 +215,7 @@ export const handleLink = (function() { if (this.$vm && this.$vm.$.isMounted) { // 父已初始化 return handleBaseLink.call(this as any, { - detail + detail, }) } // 支付宝通过 didMount 来实现,先子后父,故等父 ready 之后,统一初始化 @@ -232,7 +232,7 @@ export function createVueComponent( return $createComponent( { type: vueOptions, - props: mpInstance.props + props: mpInstance.props, }, { mpType, @@ -244,7 +244,7 @@ export function createVueComponent( ) { initMocks(instance, mpInstance as any, mocks) initComponentInstance(instance, options) - } + }, } ) as ComponentPublicInstance } diff --git a/packages/uni-mp-baidu/dist/uni.api.esm.js b/packages/uni-mp-baidu/dist/uni.api.esm.js index 5b5a1dc57..71e98c8fa 100644 --- a/packages/uni-mp-baidu/dist/uni.api.esm.js +++ b/packages/uni-mp-baidu/dist/uni.api.esm.js @@ -23,8 +23,8 @@ const Upx2pxProtocol = [ { name: 'upx', type: [Number, String], - required: true - } + required: true, + }, ]; const EPS = 1e-4; @@ -92,7 +92,7 @@ function queue(hooks, data) { if (res === false) { return { then() { }, - catch() { } + catch() { }, }; } } @@ -101,11 +101,11 @@ function queue(hooks, data) { then(callback) { return callback(data); }, - catch() { } + catch() { }, }); } function wrapperOptions(interceptors, options = {}) { - [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach(name => { + [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach((name) => { const hooks = interceptors[name]; if (!isArray(hooks)) { return; @@ -128,21 +128,21 @@ function wrapperReturnValue(method, returnValue) { if (interceptor && isArray(interceptor.returnValue)) { returnValueHooks.push(...interceptor.returnValue); } - returnValueHooks.forEach(hook => { + returnValueHooks.forEach((hook) => { returnValue = hook(returnValue) || returnValue; }); return returnValue; } function getApiInterceptorHooks(method) { const interceptor = Object.create(null); - Object.keys(globalInterceptors).forEach(hook => { + Object.keys(globalInterceptors).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = globalInterceptors[hook].slice(); } }); const scopedInterceptor = scopedInterceptors[method]; if (scopedInterceptor) { - Object.keys(scopedInterceptor).forEach(hook => { + Object.keys(scopedInterceptor).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); } @@ -155,7 +155,7 @@ function invokeApi(method, api, options, ...params) { if (interceptor && Object.keys(interceptor).length) { if (isArray(interceptor.invoke)) { const res = queue(interceptor.invoke, options); - return res.then(options => { + return res.then((options) => { return api(wrapperOptions(interceptor, options), ...params); }); } @@ -170,13 +170,13 @@ const AddInterceptorProtocol = [ { name: 'method', type: [String, Object], - required: true - } + required: true, + }, ]; const RemoveInterceptorProtocol = AddInterceptorProtocol; function mergeInterceptorHook(interceptors, interceptor) { - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { interceptors[hook] = mergeHook(interceptors[hook], interceptor[hook]); } @@ -186,7 +186,7 @@ function removeInterceptorHook(interceptors, interceptor) { if (!interceptors || !interceptor) { return; } - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { removeHook(interceptors[hook], interceptor[hook]); } @@ -263,10 +263,10 @@ function handlePromise(promise) { return promise; } return promise - .then(data => { + .then((data) => { return [null, data]; }) - .catch(err => [err]); + .catch((err) => [err]); } function shouldPromise(name) { if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) { @@ -278,7 +278,7 @@ function shouldPromise(name) { if (!Promise.prototype.finally) { Promise.prototype.finally = function (onfinally) { const promise = this.constructor; - return this.then(value => promise.resolve(onfinally && onfinally()).then(() => value), reason => promise.resolve(onfinally && onfinally()).then(() => { + return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => { throw reason; })); }; @@ -299,7 +299,7 @@ function promisify(name, api) { return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => { invokeApi(name, api, Object.assign({}, options, { success: resolve, - fail: reject + fail: reject, }), ...params); }))); }; @@ -413,25 +413,25 @@ function initUni(api, protocols) { // event-api // provider-api? return promisify(key, wrapper(key, swan[key])); - } + }, }; return new Proxy({}, UniProxyHandlers); } function initGetProvider(providers) { - return function getProvider({ service, success, fail, complete }) { + return function getProvider({ service, success, fail, complete, }) { let res; if (providers[service]) { res = { errMsg: 'getProvider:ok', service, - provider: providers[service] + provider: providers[service], }; isFunction(success) && success(res); } else { res = { - errMsg: 'getProvider:fail:服务[' + service + ']不存在' + errMsg: 'getProvider:fail:服务[' + service + ']不存在', }; isFunction(fail) && fail(res); } @@ -468,9 +468,9 @@ const previewImage = { } return { indicator: false, - loop: false + loop: false, }; - } + }, }; function addSafeAreaInsets(fromRes, toRes) { if (fromRes.safeArea) { @@ -479,12 +479,12 @@ function addSafeAreaInsets(fromRes, toRes) { top: safeArea.top, left: safeArea.left, right: fromRes.windowWidth - safeArea.right, - bottom: fromRes.windowHeight - safeArea.bottom + bottom: fromRes.windowHeight - safeArea.bottom, }; } } const getSystemInfo = { - returnValue: addSafeAreaInsets + returnValue: addSafeAreaInsets, }; const getSystemInfoSync = getSystemInfo; const redirectTo = {}; @@ -493,7 +493,7 @@ const getProvider = initGetProvider({ oauth: ['baidu'], share: ['baidu'], payment: ['baidu'], - push: ['baidu'] + push: ['baidu'], }); function requestPayment(params) { let parseError = false; @@ -508,7 +508,7 @@ function requestPayment(params) { if (parseError) { params.fail && params.fail({ - errMsg: 'requestPayment:fail: 参数 orderInfo 数据结构不正确,参考:https://uniapp.dcloud.io/api/plugins/payment?id=orderinfo' + errMsg: 'requestPayment:fail: 参数 orderInfo 数据结构不正确,参考:https://uniapp.dcloud.io/api/plugins/payment?id=orderinfo', }); } else { @@ -537,58 +537,58 @@ const request = { dataType(type) { return { name: 'dataType', - value: type === 'json' ? type : 'string' + value: type === 'json' ? type : 'string', }; - } + }, }; - } + }, }; const connectSocket = { args: { - method: false - } + method: false, + }, }; const getRecorderManager = { returnValue(fromRes, toRes) { toRes.onFrameRecorded = createTodoMethod('RecorderManager', 'onFrameRecorded'); - } + }, }; const getBackgroundAudioManager = { returnValue(fromRes, toRes) { toRes.onPrev = createTodoMethod('BackgroundAudioManager', 'onPrev'); toRes.onNext = createTodoMethod('BackgroundAudioManager', 'onNext'); - } + }, }; const scanCode = { args: { onlyFromCamera: false, - scanType: false - } + scanType: false, + }, }; const navigateToMiniProgram = { name: 'navigateToSmartProgram', args: { appId: 'appKey', - envVersion: false - } + envVersion: false, + }, }; const navigateBackMiniProgram = { - name: 'navigateBackSmartProgram' + name: 'navigateBackSmartProgram', }; const showShareMenu = { - name: 'openShare' + name: 'openShare', }; const getAccountInfoSync = { name: 'getEnvInfoSync', returnValue(fromRes, toRes) { toRes.miniProgram = { - appId: fromRes.appKey + appId: fromRes.appKey, }; toRes.plugin = { appId: '', - version: fromRes.sdkVersion + version: fromRes.sdkVersion, }; - } + }, }; var protocols = /*#__PURE__*/Object.freeze({ diff --git a/packages/uni-mp-baidu/dist/uni.mp.esm.js b/packages/uni-mp-baidu/dist/uni.mp.esm.js index d68b47e0e..0b23fcfb5 100644 --- a/packages/uni-mp-baidu/dist/uni.mp.esm.js +++ b/packages/uni-mp-baidu/dist/uni.mp.esm.js @@ -50,7 +50,7 @@ const MP_METHODS = [ 'createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', - 'selectComponent' + 'selectComponent', ]; function createEmitFn(oldEmit, ctx) { return function emit(event, ...args) { @@ -77,7 +77,7 @@ function initBaseInstance(instance, options) { { instance.slots = {}; if (isArray(options.slots) && options.slots.length) { - options.slots.forEach(name => { + options.slots.forEach((name) => { instance.slots[name] = true; }); } @@ -88,7 +88,7 @@ function initBaseInstance(instance, options) { function initComponentInstance(instance, options) { initBaseInstance(instance, options); const ctx = instance.ctx; - MP_METHODS.forEach(method => { + MP_METHODS.forEach((method) => { ctx[method] = function (...args) { const mpInstance = ctx.$scope; if (mpInstance && mpInstance[method]) { @@ -106,7 +106,7 @@ function initComponentInstance(instance, options) { } function initMocks(instance, mpInstance, mocks) { const ctx = instance.ctx; - mocks.forEach(mock => { + mocks.forEach((mock) => { if (hasOwn(mpInstance, mock)) { ctx[mock] = mpInstance[mock]; } @@ -125,12 +125,11 @@ const PAGE_HOOKS = [ 'onReachBottom', 'onPullDownRefresh', // 'onShareTimeline', // 右上角菜单,开发者手动注册 - 'onAddToFavorites' - // 'onShareAppMessage' // 右上角菜单,开发者手动注册 + 'onAddToFavorites', ]; function findHooks(vueOptions, hooks = new Set()) { if (vueOptions) { - Object.keys(vueOptions).forEach(name => { + Object.keys(vueOptions).forEach((name) => { if (name.indexOf('on') === 0 && isFunction(vueOptions[name])) { hooks.add(name); } @@ -138,7 +137,7 @@ function findHooks(vueOptions, hooks = new Set()) { if (__VUE_OPTIONS_API__) { const { extends: extendsOptions, mixins } = vueOptions; if (mixins) { - mixins.forEach(mixin => findHooks(mixin, hooks)); + mixins.forEach((mixin) => findHooks(mixin, hooks)); } if (extendsOptions) { findHooks(extendsOptions, hooks); @@ -156,10 +155,10 @@ function initHook(mpOptions, hook, excludes) { } const EXCLUDE_HOOKS = ['onReady']; function initHooks(mpOptions, hooks, excludes = EXCLUDE_HOOKS) { - hooks.forEach(hook => initHook(mpOptions, hook, excludes)); + hooks.forEach((hook) => initHook(mpOptions, hook, excludes)); } function initUnknownHooks(mpOptions, vueOptions, excludes = EXCLUDE_HOOKS) { - findHooks(vueOptions).forEach(hook => initHook(mpOptions, hook, excludes)); + findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes)); } const HOOKS = [ @@ -168,7 +167,7 @@ const HOOKS = [ 'onError', 'onThemeChange', 'onPageNotFound', - 'onUnhandledRejection' + 'onUnhandledRejection', ]; function parseApp(instance, parseAppOptions) { const internalInstance = instance.$; @@ -184,11 +183,11 @@ function parseApp(instance, parseAppOptions) { initBaseInstance(internalInstance, { mpType: 'app', mpInstance: this, - slots: [] + slots: [], }); ctx.globalData = this.globalData; instance.$callHook('onLaunch', options); - } + }, }; const vueOptions = instance.$.type; initHooks(appOptions, HOOKS); @@ -212,7 +211,7 @@ const encode = encodeURIComponent; function stringifyQuery(obj, encodeStr = encode) { const res = obj ? Object.keys(obj) - .map(key => { + .map((key) => { let val = obj[key]; if (typeof val === undefined || val === null) { val = ''; @@ -222,7 +221,7 @@ function stringifyQuery(obj, encodeStr = encode) { } return encodeStr(key) + '=' + encodeStr(val); }) - .filter(x => x.length > 0) + .filter((x) => x.length > 0) .join('&') : null; return res ? `?${res}` : ''; @@ -247,7 +246,7 @@ function initVueIds(vueIds, mpInstance) { } const EXTRAS = ['externalClasses']; function initExtraOptions(miniProgramComponentOptions, vueOptions) { - EXTRAS.forEach(name => { + EXTRAS.forEach((name) => { if (hasOwn(vueOptions, name)) { miniProgramComponentOptions[name] = vueOptions[name]; } @@ -268,12 +267,12 @@ function initRefs(instance, mpInstance) { get() { const $refs = {}; const components = mpInstance.selectAllComponents('.vue-ref'); - components.forEach(component => { + components.forEach((component) => { const ref = component.dataset.ref; $refs[ref] = component.$vm || component; }); const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for'); - forComponents.forEach(component => { + forComponents.forEach((component) => { const ref = component.dataset.ref; if (!$refs[ref]) { $refs[ref] = []; @@ -281,7 +280,7 @@ function initRefs(instance, mpInstance) { $refs[ref].push(component.$vm || component); }); return $refs; - } + }, }); } function findVmByVueId(instance, vuePid) { @@ -335,7 +334,7 @@ function initDefaultProps(isBehavior = false) { if (!isBehavior) { properties.vueId = { type: String, - value: '' + value: '', }; // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots properties.vueSlots = { @@ -347,9 +346,9 @@ function initDefaultProps(isBehavior = false) { $slots[slotName] = true; }); this.setData({ - $slots + $slots, }); - } + }, }; } return properties; @@ -361,14 +360,14 @@ function createProperty(key, prop) { function initProps(mpComponentOptions, rawProps, isBehavior = false) { const properties = initDefaultProps(isBehavior); if (isArray(rawProps)) { - rawProps.forEach(key => { + rawProps.forEach((key) => { properties[key] = createProperty(key, { - type: null + type: null, }); }); } else if (isPlainObject(rawProps)) { - Object.keys(rawProps).forEach(key => { + Object.keys(rawProps).forEach((key) => { const opts = rawProps[key]; if (isPlainObject(opts)) { // title:{type:String,default:''} @@ -380,14 +379,14 @@ function initProps(mpComponentOptions, rawProps, isBehavior = false) { opts.type = parsePropType(key, type, value); properties[key] = createProperty(key, { type: PROP_TYPES.indexOf(type) !== -1 ? type : null, - value + value, }); } else { // content:String const type = parsePropType(key, opts, null); properties[key] = createProperty(key, { - type: PROP_TYPES.indexOf(type) !== -1 ? type : null + type: PROP_TYPES.indexOf(type) !== -1 ? type : null, }); } }); @@ -431,7 +430,7 @@ function initBehaviors(vueOptions, initBehavior) { } const behaviors = []; if (isArray(vueBehaviors)) { - vueBehaviors.forEach(behavior => { + vueBehaviors.forEach((behavior) => { behaviors.push(behavior.replace('uni://', `${__PLATFORM_PREFIX__}://`)); if (behavior === 'uni://form-field') { if (isArray(vueProps)) { @@ -441,11 +440,11 @@ function initBehaviors(vueOptions, initBehavior) { else { vueProps.name = { type: String, - default: '' + default: '', }; vueProps.value = { type: [String, Number, Boolean, Array, Object, Date], - default: '' + default: '', }; } } @@ -457,7 +456,7 @@ function initBehaviors(vueOptions, initBehavior) { behaviors.push(initBehavior(behavior)); } if (isArray(vueMixins)) { - vueMixins.forEach(vueMixin => { + vueMixins.forEach((vueMixin) => { if (vueMixin.props) { const behavior = {}; initProps(behavior, vueMixin.props, true); @@ -486,7 +485,7 @@ function getValue(obj, path) { } function getExtraValue(instance, dataPathsArray) { let context = instance; - dataPathsArray.forEach(dataPathArray => { + dataPathsArray.forEach((dataPathArray) => { const dataPath = dataPathArray[0]; const value = dataPathArray[2]; if (dataPath || typeof value !== 'undefined') { @@ -516,12 +515,12 @@ function getExtraValue(instance, dataPathsArray) { } else { if (isArray(vFor)) { - context = vFor.find(vForItem => { + context = vFor.find((vForItem) => { return getValue(vForItem, propPath) === value; }); } else if (isPlainObject(vFor)) { - context = Object.keys(vFor).find(vForKey => { + context = Object.keys(vFor).find((vForKey) => { return getValue(vFor[vForKey], propPath) === value; }); } @@ -611,7 +610,7 @@ function processEventArgs(instance, event, args = [], extra = [], isCustom, meth } const extraObj = processEventExtra(instance, extra, event); const ret = []; - args.forEach(arg => { + args.forEach((arg) => { if (arg === '$event') { if (methodName === '__set_model' && !isCustom) { // input v-model value @@ -731,11 +730,11 @@ function handleEvent(event) { } } -function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handleLink, initLifetimes }) { +function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handleLink, initLifetimes, }) { vueOptions = vueOptions.default || vueOptions; const options = { multipleSlots: true, - addGlobalClass: true + addGlobalClass: true, }; if (vueOptions.options) { extend(options, vueOptions.options); @@ -752,12 +751,12 @@ function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handle }, resize(size) { this.$vm && this.$vm.$callHook('onPageResize', size); - } + }, }, methods: { __l: handleLink, - __e: handleEvent - } + __e: handleEvent, + }, }; if (__VUE_OPTIONS_API__) { applyOptions(mpComponentOptions, vueOptions, initBehavior); @@ -791,19 +790,19 @@ function $destroyComponent(instance) { } function parsePage(vueOptions, parseOptions) { - const { parse, mocks, isPage, initRelation, handleLink, initLifetimes } = parseOptions; + const { parse, mocks, isPage, initRelation, handleLink, initLifetimes, } = parseOptions; const miniProgramPageOptions = parseComponent(vueOptions, { mocks, isPage, initRelation, handleLink, - initLifetimes + initLifetimes, }); const methods = miniProgramPageOptions.methods; methods.onLoad = function (query) { this.options = query; this.$page = { - fullPath: '/' + this.route + stringifyQuery(query) + fullPath: '/' + this.route + stringifyQuery(query), }; return this.$vm && this.$vm.$callHook('onLoad', query); }; @@ -868,13 +867,13 @@ var parseAppOptions = /*#__PURE__*/Object.freeze({ parse: parse }); -function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { +function initLifetimes({ mocks, isPage, initRelation, vueOptions, }) { return { attached() { const properties = this.properties; initVueIds(properties.vueId, this); const relationOptions = { - vuePid: this._$vuePid + vuePid: this._$vuePid, }; // 处理父子关系 initRelation(this, relationOptions); @@ -882,7 +881,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { const mpInstance = this; this.$vm = $createComponent({ type: vueOptions, - props: properties + props: properties, }, { mpType: isPage(mpInstance) ? 'page' : 'component', mpInstance, @@ -892,7 +891,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { initRefs(instance, mpInstance); initMocks(instance, mpInstance, mocks); initComponentInstance(instance, options); - } + }, }); }, ready() { @@ -905,7 +904,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { }, detached() { this.$vm && $destroyComponent(this.$vm); - } + }, }; } @@ -964,7 +963,7 @@ function parse$1(componentOptions) { delete lifetimes.ready; } componentOptions.messages = { - __l: methods.__l + __l: methods.__l, }; delete methods.__l; } diff --git a/packages/uni-mp-baidu/src/api/protocols.ts b/packages/uni-mp-baidu/src/api/protocols.ts index 6fa7a963b..9d6aecf9b 100644 --- a/packages/uni-mp-baidu/src/api/protocols.ts +++ b/packages/uni-mp-baidu/src/api/protocols.ts @@ -2,7 +2,7 @@ export { redirectTo, previewImage, getSystemInfo, - getSystemInfoSync + getSystemInfoSync, } from '@dcloudio/uni-mp-core' function createTodoMethod(contextName: string, methodName: string) { @@ -23,17 +23,17 @@ export const request = { dataType(type: string) { return { name: 'dataType', - value: type === 'json' ? type : 'string' + value: type === 'json' ? type : 'string', } - } + }, } - } + }, } export const connectSocket = { args: { - method: false - } + method: false, + }, } export const getRecorderManager = { @@ -42,48 +42,48 @@ export const getRecorderManager = { 'RecorderManager', 'onFrameRecorded' ) - } + }, } export const getBackgroundAudioManager = { returnValue(fromRes: Data, toRes: UniApp.BackgroundAudioManager) { toRes.onPrev = createTodoMethod('BackgroundAudioManager', 'onPrev') toRes.onNext = createTodoMethod('BackgroundAudioManager', 'onNext') - } + }, } export const scanCode = { args: { onlyFromCamera: false, - scanType: false - } + scanType: false, + }, } export const navigateToMiniProgram = { name: 'navigateToSmartProgram', args: { appId: 'appKey', - envVersion: false - } + envVersion: false, + }, } export const navigateBackMiniProgram = { - name: 'navigateBackSmartProgram' + name: 'navigateBackSmartProgram', } export const showShareMenu = { - name: 'openShare' + name: 'openShare', } export const getAccountInfoSync = { name: 'getEnvInfoSync', returnValue(fromRes: Data, toRes: UniApp.AccountInfo) { toRes.miniProgram = { - appId: fromRes.appKey + appId: fromRes.appKey, } as UniApp.MiniProgram toRes.plugin = { appId: '', - version: fromRes.sdkVersion + version: fromRes.sdkVersion, } - } + }, } diff --git a/packages/uni-mp-baidu/src/api/shims.ts b/packages/uni-mp-baidu/src/api/shims.ts index dfa152e58..24b40a842 100644 --- a/packages/uni-mp-baidu/src/api/shims.ts +++ b/packages/uni-mp-baidu/src/api/shims.ts @@ -4,7 +4,7 @@ export const getProvider = initGetProvider({ oauth: ['baidu'], share: ['baidu'], payment: ['baidu'], - push: ['baidu'] + push: ['baidu'], }) export function requestPayment(params: UniApp.RequestPaymentOptions) { @@ -20,7 +20,7 @@ export function requestPayment(params: UniApp.RequestPaymentOptions) { params.fail && params.fail({ errMsg: - 'requestPayment:fail: 参数 orderInfo 数据结构不正确,参考:https://uniapp.dcloud.io/api/plugins/payment?id=orderinfo' + 'requestPayment:fail: 参数 orderInfo 数据结构不正确,参考:https://uniapp.dcloud.io/api/plugins/payment?id=orderinfo', }) } else { swan.requestPolymerPayment(params) diff --git a/packages/uni-mp-baidu/src/runtime/index.ts b/packages/uni-mp-baidu/src/runtime/index.ts index c6a6832d6..f957ee684 100644 --- a/packages/uni-mp-baidu/src/runtime/index.ts +++ b/packages/uni-mp-baidu/src/runtime/index.ts @@ -1,7 +1,7 @@ import { initCreateApp, initCreatePage, - initCreateComponent + initCreateComponent, } from '@dcloudio/uni-mp-core' import '@dcloudio/uni-mp-polyfill' diff --git a/packages/uni-mp-baidu/src/runtime/parseAppOptions.ts b/packages/uni-mp-baidu/src/runtime/parseAppOptions.ts index d8e227aa0..1c4bf5cec 100644 --- a/packages/uni-mp-baidu/src/runtime/parseAppOptions.ts +++ b/packages/uni-mp-baidu/src/runtime/parseAppOptions.ts @@ -1,6 +1,6 @@ import { MiniProgramAppOptions, - MiniProgramAppInstance + MiniProgramAppInstance, } from '@dcloudio/uni-mp-core' export function parse(appOptions: MiniProgramAppOptions) { diff --git a/packages/uni-mp-baidu/src/runtime/parseComponentOptions.ts b/packages/uni-mp-baidu/src/runtime/parseComponentOptions.ts index 92f6f64f4..24509ba3f 100644 --- a/packages/uni-mp-baidu/src/runtime/parseComponentOptions.ts +++ b/packages/uni-mp-baidu/src/runtime/parseComponentOptions.ts @@ -52,7 +52,7 @@ export function parse(componentOptions: MPComponentOptions) { delete lifetimes.ready } ;(componentOptions as any).messages = { - __l: methods.__l + __l: methods.__l, } delete methods.__l } diff --git a/packages/uni-mp-core/__tests__/hooks.spec.ts b/packages/uni-mp-core/__tests__/hooks.spec.ts index 5e139b128..aa4023551 100644 --- a/packages/uni-mp-core/__tests__/hooks.spec.ts +++ b/packages/uni-mp-core/__tests__/hooks.spec.ts @@ -3,23 +3,23 @@ import { initHooks, initUnknownHooks } from '../src/runtime/componentHooks' const vueBasicOptions = defineComponent({ onLoad() {}, - beforeCreate() {} + beforeCreate() {}, }) const vueExtendsOptions = defineComponent({ extends: vueBasicOptions, - onShow() {} + onShow() {}, }) const vueMixinsOptions = defineComponent({ mixins: [vueExtendsOptions], - onHide() {} + onHide() {}, }) const vueExtendsANdMixinsOptions = defineComponent({ extends: vueBasicOptions, mixins: [vueMixinsOptions], - onReady() {} + onReady() {}, }) describe('hooks', () => { diff --git a/packages/uni-mp-core/src/api/index.ts b/packages/uni-mp-core/src/api/index.ts index ed30ccc80..29e243b42 100644 --- a/packages/uni-mp-core/src/api/index.ts +++ b/packages/uni-mp-core/src/api/index.ts @@ -4,7 +4,7 @@ import { upx2px, addInterceptor, removeInterceptor, - promisify + promisify, } from '@dcloudio/uni-api' import { initWrapper } from './wrapper' @@ -28,7 +28,7 @@ export function initUni(api: Record, protocols: MPProtocols) { // event-api // provider-api? return promisify(key, wrapper(key, __GLOBAL__[key])) - } + }, } return new Proxy({}, UniProxyHandlers) } diff --git a/packages/uni-mp-core/src/api/protocols.ts b/packages/uni-mp-core/src/api/protocols.ts index b6ef21bfb..09c0f3a27 100644 --- a/packages/uni-mp-core/src/api/protocols.ts +++ b/packages/uni-mp-core/src/api/protocols.ts @@ -66,18 +66,17 @@ export const previewImage: MPProtocol = { } if (currentIndex > 0) { toArgs.current = urls[currentIndex] - toArgs.urls = urls.filter( - (item, index) => - index < currentIndex ? item !== urls[currentIndex] : true + toArgs.urls = urls.filter((item, index) => + index < currentIndex ? item !== urls[currentIndex] : true ) } else { toArgs.current = urls[0] } return { indicator: false, - loop: false + loop: false, } - } + }, } export function addSafeAreaInsets( @@ -90,13 +89,13 @@ export function addSafeAreaInsets( top: safeArea.top, left: safeArea.left, right: fromRes.windowWidth - safeArea.right, - bottom: fromRes.windowHeight - safeArea.bottom + bottom: fromRes.windowHeight - safeArea.bottom, } } } export const getSystemInfo = { - returnValue: addSafeAreaInsets + returnValue: addSafeAreaInsets, } export const getSystemInfoSync = getSystemInfo diff --git a/packages/uni-mp-core/src/api/shims.ts b/packages/uni-mp-core/src/api/shims.ts index fcaaf3661..0170d1371 100644 --- a/packages/uni-mp-core/src/api/shims.ts +++ b/packages/uni-mp-core/src/api/shims.ts @@ -12,19 +12,19 @@ export function initGetProvider(providers: PROVIDERS) { service, success, fail, - complete + complete, }: UniApp.GetProviderOptions) { let res if (providers[service]) { res = { errMsg: 'getProvider:ok', service, - provider: providers[service] + provider: providers[service], } as UniApp.GetProviderRes isFunction(success) && success(res) } else { res = { - errMsg: 'getProvider:fail:服务[' + service + ']不存在' + errMsg: 'getProvider:fail:服务[' + service + ']不存在', } isFunction(fail) && fail(res) } diff --git a/packages/uni-mp-core/src/api/wrapper.ts b/packages/uni-mp-core/src/api/wrapper.ts index 79f6e902f..55d11fd7c 100644 --- a/packages/uni-mp-core/src/api/wrapper.ts +++ b/packages/uni-mp-core/src/api/wrapper.ts @@ -6,7 +6,7 @@ import { MPProtocols, MPProtocolArgsValue, MPProtocolArgs, - MPProtocolObject + MPProtocolObject, } from './protocols' const CALLBACKS = ['success', 'fail', 'cancel', 'complete'] @@ -17,7 +17,7 @@ export function initWrapper(protocols: MPProtocols) { method: Function, returnValue: unknown ) { - return function(res: Record) { + return function (res: Record) { return method(processReturnValue(methodName, res, returnValue)) } } @@ -99,11 +99,11 @@ export function initWrapper(protocols: MPProtocols) { const protocol = protocols[methodName] as MPProtocolObject if (!protocol) { // 暂不支持的 api - return function() { + return function () { console.error(`__PLATFORM_TITLE__ 暂不支持${methodName}`) } } - return function(arg1: unknown, arg2: unknown) { + return function (arg1: unknown, arg2: unknown) { // 目前 api 最多两个参数 let options = protocol if (isFunction(protocol)) { diff --git a/packages/uni-mp-core/src/index.ts b/packages/uni-mp-core/src/index.ts index c9856e769..a0cecdfb1 100644 --- a/packages/uni-mp-core/src/index.ts +++ b/packages/uni-mp-core/src/index.ts @@ -20,7 +20,7 @@ export { initProps } from './runtime/componentProps' export { PAGE_HOOKS, initHooks, - initUnknownHooks + initUnknownHooks, } from './runtime/componentHooks' export { initMocks, initComponentInstance } from './runtime/componentInstance' export { handleEvent } from './runtime/componentEvents' @@ -29,7 +29,7 @@ export { initVueIds, initRefs, initWxsCallMethods, - findVmByVueId + findVmByVueId, } from './runtime/util' // protocols @@ -38,7 +38,7 @@ export { previewImage, getSystemInfo, getSystemInfoSync, - addSafeAreaInsets + addSafeAreaInsets, } from './api/protocols' // types export { MiniProgramAppOptions, MiniProgramAppInstance } from './runtime/app' @@ -46,7 +46,7 @@ export { RelationOptions, MPComponentOptions, MPComponentInstance, - CreateLifetimesOptions + CreateLifetimesOptions, } from './runtime/component' export { MPProtocols } from './api/protocols' // mp-alipay diff --git a/packages/uni-mp-core/src/runtime/app.ts b/packages/uni-mp-core/src/runtime/app.ts index 13574395b..454ceaf0a 100644 --- a/packages/uni-mp-core/src/runtime/app.ts +++ b/packages/uni-mp-core/src/runtime/app.ts @@ -19,7 +19,7 @@ const HOOKS = [ 'onError', 'onThemeChange', 'onPageNotFound', - 'onUnhandledRejection' + 'onUnhandledRejection', ] export interface ParseAppOptions { @@ -44,12 +44,12 @@ function parseApp( initBaseInstance(internalInstance, { mpType: 'app', mpInstance: this, - slots: [] + slots: [], }) ctx.globalData = this.globalData instance.$callHook('onLaunch', options) - } + }, } const vueOptions = instance.$.type as ComponentOptions diff --git a/packages/uni-mp-core/src/runtime/component.ts b/packages/uni-mp-core/src/runtime/component.ts index ddacb57c3..949994a66 100644 --- a/packages/uni-mp-core/src/runtime/component.ts +++ b/packages/uni-mp-core/src/runtime/component.ts @@ -31,7 +31,7 @@ export type MPComponentInstance = Component.Instance< CustomComponentInstanceProperty > -export interface RelationOptions { +export interface RelationOptions extends Record { vuePid: string | undefined parent?: ComponentPublicInstance } @@ -74,14 +74,14 @@ export function parseComponent( isPage, initRelation, handleLink, - initLifetimes + initLifetimes, }: ParseComponentOptions ) { vueOptions = vueOptions.default || vueOptions const options: Component.ComponentOptions = { multipleSlots: true, - addGlobalClass: true + addGlobalClass: true, } if (vueOptions.options) { @@ -100,12 +100,12 @@ export function parseComponent( }, resize(size) { this.$vm && this.$vm.$callHook('onPageResize', size) - } + }, }, methods: { __l: handleLink, - __e: handleEvent - } + __e: handleEvent, + }, } if (__VUE_OPTIONS_API__) { diff --git a/packages/uni-mp-core/src/runtime/componentEvents.ts b/packages/uni-mp-core/src/runtime/componentEvents.ts index 0d49b54ec..41e57b335 100644 --- a/packages/uni-mp-core/src/runtime/componentEvents.ts +++ b/packages/uni-mp-core/src/runtime/componentEvents.ts @@ -2,7 +2,7 @@ import { hasOwn, NOOP, isArray, isPlainObject, isFunction } from '@vue/shared' import { ComponentPublicInstance } from 'vue' import { MPComponentInstance } from './component' -interface Event extends WechatMiniprogram.Event { +interface Event extends WechatMiniprogram.BaseEvent { detail: Record stopPropagation: () => void preventDefault: () => void @@ -26,7 +26,7 @@ function getExtraValue( dataPathsArray: string[] ) { let context: unknown = instance - dataPathsArray.forEach(dataPathArray => { + dataPathsArray.forEach((dataPathArray) => { const dataPath = dataPathArray[0] const value = dataPathArray[2] if (dataPath || typeof value !== 'undefined') { @@ -53,11 +53,11 @@ function getExtraValue( context = vFor[value] } else { if (isArray(vFor)) { - context = vFor.find(vForItem => { + context = vFor.find((vForItem) => { return getValue(vForItem, propPath) === value }) } else if (isPlainObject(vFor)) { - context = Object.keys(vFor).find(vForKey => { + context = Object.keys(vFor).find((vForKey) => { return getValue(vFor[vForKey], propPath) === value }) } else { @@ -162,7 +162,7 @@ function processEventArgs( const extraObj = processEventExtra(instance, extra, event) const ret: any[] = [] - args.forEach(arg => { + args.forEach((arg) => { if (arg === '$event') { if (methodName === '__set_model' && !isCustom) { // input v-model value diff --git a/packages/uni-mp-core/src/runtime/componentHooks.ts b/packages/uni-mp-core/src/runtime/componentHooks.ts index ce213248f..6957430c1 100644 --- a/packages/uni-mp-core/src/runtime/componentHooks.ts +++ b/packages/uni-mp-core/src/runtime/componentHooks.ts @@ -20,7 +20,7 @@ export const PAGE_HOOKS = [ 'onPullDownRefresh', // 'onShareTimeline', // 右上角菜单,开发者手动注册 - 'onAddToFavorites' + 'onAddToFavorites', // 'onShareAppMessage' // 右上角菜单,开发者手动注册 ] @@ -29,7 +29,7 @@ function findHooks( hooks = new Set() ): Set { if (vueOptions) { - Object.keys(vueOptions).forEach(name => { + Object.keys(vueOptions).forEach((name) => { if (name.indexOf('on') === 0 && isFunction(vueOptions[name])) { hooks.add(name) } @@ -37,7 +37,7 @@ function findHooks( if (__VUE_OPTIONS_API__) { const { extends: extendsOptions, mixins } = vueOptions if (mixins) { - mixins.forEach(mixin => findHooks(mixin, hooks)) + mixins.forEach((mixin) => findHooks(mixin, hooks)) } if (extendsOptions) { findHooks(extendsOptions, hooks) @@ -53,7 +53,7 @@ function initHook( excludes: string[] ) { if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) { - mpOptions[hook] = function( + mpOptions[hook] = function ( this: CustomAppInstanceProperty | CustomComponentInstanceProperty, args: unknown ) { @@ -72,7 +72,7 @@ export function initHooks( hooks: string[], excludes: string[] = EXCLUDE_HOOKS ) { - hooks.forEach(hook => initHook(mpOptions, hook, excludes)) + hooks.forEach((hook) => initHook(mpOptions, hook, excludes)) } export function initUnknownHooks( @@ -80,5 +80,5 @@ export function initUnknownHooks( vueOptions: ComponentOptions, excludes: string[] = EXCLUDE_HOOKS ) { - findHooks(vueOptions).forEach(hook => initHook(mpOptions, hook, excludes)) + findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes)) } diff --git a/packages/uni-mp-core/src/runtime/componentInstance.ts b/packages/uni-mp-core/src/runtime/componentInstance.ts index 762c98b37..56b70ed39 100644 --- a/packages/uni-mp-core/src/runtime/componentInstance.ts +++ b/packages/uni-mp-core/src/runtime/componentInstance.ts @@ -4,7 +4,7 @@ import { isArray, toNumber, isObject, - isPlainObject + isPlainObject, } from '@vue/shared' import { ComponentPublicInstance, ComponentInternalInstance } from 'vue' @@ -74,7 +74,7 @@ const MP_METHODS = [ 'createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', - 'selectComponent' + 'selectComponent', ] function createEmitFn(oldEmit: Function, ctx: Record) { @@ -130,12 +130,12 @@ export function initBaseInstance( Object.defineProperty(instance, 'slots', { get() { return this.$scope && this.$scope.props.$slots - } + }, }) } else { instance.slots = {} if (isArray(options.slots) && options.slots.length) { - options.slots.forEach(name => { + options.slots.forEach((name) => { instance.slots[name] = true as any }) } @@ -152,8 +152,8 @@ export function initComponentInstance( initBaseInstance(instance, options) const ctx = (instance as any).ctx - MP_METHODS.forEach(method => { - ctx[method] = function(...args: any[]) { + MP_METHODS.forEach((method) => { + ctx[method] = function (...args: any[]) { const mpInstance = ctx.$scope as MPComponentInstance if (mpInstance && mpInstance[method]) { return (mpInstance[method] as Function).apply(mpInstance, args) @@ -179,7 +179,7 @@ export function initMocks( mocks: string[] ) { const ctx = (instance as any).ctx - mocks.forEach(mock => { + mocks.forEach((mock) => { if (hasOwn(mpInstance, mock)) { ctx[mock] = mpInstance[mock] } diff --git a/packages/uni-mp-core/src/runtime/componentOptions.ts b/packages/uni-mp-core/src/runtime/componentOptions.ts index a5654577d..cf204f077 100644 --- a/packages/uni-mp-core/src/runtime/componentOptions.ts +++ b/packages/uni-mp-core/src/runtime/componentOptions.ts @@ -52,7 +52,7 @@ export function initBehaviors( const behaviors: string[] = [] if (isArray(vueBehaviors)) { - vueBehaviors.forEach(behavior => { + vueBehaviors.forEach((behavior) => { behaviors.push(behavior.replace('uni://', `${__PLATFORM_PREFIX__}://`)) if (behavior === 'uni://form-field') { if (isArray(vueProps)) { @@ -61,11 +61,11 @@ export function initBehaviors( } else { vueProps.name = { type: String, - default: '' + default: '', } vueProps.value = { type: [String, Number, Boolean, Array, Object, Date], - default: '' + default: '', } } } @@ -77,7 +77,7 @@ export function initBehaviors( behaviors.push(initBehavior(behavior) as string) } if (isArray(vueMixins)) { - vueMixins.forEach(vueMixin => { + vueMixins.forEach((vueMixin) => { if (vueMixin.props) { const behavior = {} initProps(behavior, vueMixin.props, true) diff --git a/packages/uni-mp-core/src/runtime/componentProps.ts b/packages/uni-mp-core/src/runtime/componentProps.ts index 8461cda6c..84d31d558 100644 --- a/packages/uni-mp-core/src/runtime/componentProps.ts +++ b/packages/uni-mp-core/src/runtime/componentProps.ts @@ -39,27 +39,27 @@ function initDefaultProps(isBehavior: boolean = false) { if (!isBehavior) { properties.vueId = { type: String, - value: '' + value: '', } if (__PLATFORM__ === 'mp-toutiao') { // 用于字节跳动小程序模拟抽象节点 properties.generic = { - type: Object + type: Object, } } // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots properties.vueSlots = { type: null, value: [], - observer: function(this: MPComponentInstance, newVal) { + observer: function (this: MPComponentInstance, newVal) { const $slots = Object.create(null) newVal.forEach((slotName: string) => { $slots[slotName] = true }) this.setData({ - $slots + $slots, }) - } + }, } } return properties @@ -81,13 +81,13 @@ export function initProps( const properties = initDefaultProps(isBehavior) if (isArray(rawProps)) { - rawProps.forEach(key => { + rawProps.forEach((key) => { properties[key] = createProperty(key, { - type: null + type: null, }) }) } else if (isPlainObject(rawProps)) { - Object.keys(rawProps).forEach(key => { + Object.keys(rawProps).forEach((key) => { const opts = rawProps[key] if (isPlainObject(opts)) { // title:{type:String,default:''} @@ -99,13 +99,13 @@ export function initProps( ;(opts as any).type = parsePropType(key, type, value) properties[key] = createProperty(key, { type: PROP_TYPES.indexOf(type) !== -1 ? type : null, - value + value, }) } else { // content:String const type = parsePropType(key, opts, null) properties[key] = createProperty(key, { - type: PROP_TYPES.indexOf(type) !== -1 ? type : null + type: PROP_TYPES.indexOf(type) !== -1 ? type : null, }) } }) diff --git a/packages/uni-mp-core/src/runtime/page.ts b/packages/uni-mp-core/src/runtime/page.ts index 242dda674..8668552d9 100644 --- a/packages/uni-mp-core/src/runtime/page.ts +++ b/packages/uni-mp-core/src/runtime/page.ts @@ -5,7 +5,7 @@ import { stringifyQuery } from '@dcloudio/uni-shared' import { ParseComponentOptions, parseComponent, - CustomComponentInstanceProperty + CustomComponentInstanceProperty, } from './component' import { PAGE_HOOKS, initHooks, initUnknownHooks } from './componentHooks' @@ -19,22 +19,22 @@ function parsePage( isPage, initRelation, handleLink, - initLifetimes + initLifetimes, } = parseOptions const miniProgramPageOptions = parseComponent(vueOptions, { mocks, isPage, initRelation, handleLink, - initLifetimes + initLifetimes, }) const methods = miniProgramPageOptions.methods as WechatMiniprogram.Component.MethodOption - methods.onLoad = function(this: CustomComponentInstanceProperty, query) { + methods.onLoad = function (this: CustomComponentInstanceProperty, query) { ;(this as any).options = query ;(this as any).$page = { - fullPath: '/' + (this as any).route + stringifyQuery(query) + fullPath: '/' + (this as any).route + stringifyQuery(query), } return this.$vm && this.$vm.$callHook('onLoad', query) } diff --git a/packages/uni-mp-core/src/runtime/polyfill.ts b/packages/uni-mp-core/src/runtime/polyfill.ts index 39db76692..60b7e028f 100644 --- a/packages/uni-mp-core/src/runtime/polyfill.ts +++ b/packages/uni-mp-core/src/runtime/polyfill.ts @@ -12,7 +12,7 @@ function customize(str: string) { function initTriggerEvent(mpInstance: MPComponentInstance) { const oldTriggerEvent = mpInstance.triggerEvent - mpInstance.triggerEvent = function(event, ...args) { + mpInstance.triggerEvent = function (event, ...args) { return oldTriggerEvent.apply(mpInstance, [customize(event), ...args]) } } @@ -20,23 +20,23 @@ function initTriggerEvent(mpInstance: MPComponentInstance) { function initHook(name: 'onLoad' | 'created', options: Record) { const oldHook = options[name] if (!oldHook) { - options[name] = function(this: MPComponentInstance) { + options[name] = function (this: MPComponentInstance) { initTriggerEvent(this) } } else { - options[name] = function(this: MPComponentInstance, ...args: any[]) { + options[name] = function (this: MPComponentInstance, ...args: any[]) { initTriggerEvent(this) return oldHook.apply(this, args) } } } -Page = function(options) { +Page = function (options) { initHook('onLoad', options) return MPPage(options) } -Component = function(options) { +Component = function (options) { initHook('created', options) return MPComponent(options) } diff --git a/packages/uni-mp-core/src/runtime/util.ts b/packages/uni-mp-core/src/runtime/util.ts index 964b75018..03c8a508b 100644 --- a/packages/uni-mp-core/src/runtime/util.ts +++ b/packages/uni-mp-core/src/runtime/util.ts @@ -2,7 +2,7 @@ import { hasOwn, isArray } from '@vue/shared' import { ComponentOptions, ComponentInternalInstance, - ComponentPublicInstance + ComponentPublicInstance, } from 'vue' import { MPComponentInstance, MPComponentOptions } from './component' @@ -35,7 +35,7 @@ export function initExtraOptions( miniProgramComponentOptions: MPComponentOptions, vueOptions: ComponentOptions ) { - EXTRAS.forEach(name => { + EXTRAS.forEach((name) => { if (hasOwn(vueOptions, name)) { ;(miniProgramComponentOptions as any)[name] = vueOptions[name] } @@ -50,7 +50,7 @@ export function initWxsCallMethods( return } wxsCallMethods.forEach((callMethod: string) => { - methods[callMethod] = function(this: MPComponentInstance, args: unknown) { + methods[callMethod] = function (this: MPComponentInstance, args: unknown) { return (this.$vm as any)[callMethod](args) } }) @@ -64,12 +64,12 @@ export function initRefs( get() { const $refs: Record = {} const components = mpInstance.selectAllComponents('.vue-ref') - components.forEach(component => { + components.forEach((component) => { const ref = component.dataset.ref $refs[ref] = component.$vm || component }) const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') - forComponents.forEach(component => { + forComponents.forEach((component) => { const ref = component.dataset.ref if (!$refs[ref]) { $refs[ref] = [] @@ -77,7 +77,7 @@ export function initRefs( $refs[ref].push(component.$vm || component) }) return $refs - } + }, }) } diff --git a/packages/uni-mp-qq/dist/uni.api.esm.js b/packages/uni-mp-qq/dist/uni.api.esm.js index e733ecaf5..3d19fbc5e 100644 --- a/packages/uni-mp-qq/dist/uni.api.esm.js +++ b/packages/uni-mp-qq/dist/uni.api.esm.js @@ -23,8 +23,8 @@ const Upx2pxProtocol = [ { name: 'upx', type: [Number, String], - required: true - } + required: true, + }, ]; const EPS = 1e-4; @@ -92,7 +92,7 @@ function queue(hooks, data) { if (res === false) { return { then() { }, - catch() { } + catch() { }, }; } } @@ -101,11 +101,11 @@ function queue(hooks, data) { then(callback) { return callback(data); }, - catch() { } + catch() { }, }); } function wrapperOptions(interceptors, options = {}) { - [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach(name => { + [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach((name) => { const hooks = interceptors[name]; if (!isArray(hooks)) { return; @@ -128,21 +128,21 @@ function wrapperReturnValue(method, returnValue) { if (interceptor && isArray(interceptor.returnValue)) { returnValueHooks.push(...interceptor.returnValue); } - returnValueHooks.forEach(hook => { + returnValueHooks.forEach((hook) => { returnValue = hook(returnValue) || returnValue; }); return returnValue; } function getApiInterceptorHooks(method) { const interceptor = Object.create(null); - Object.keys(globalInterceptors).forEach(hook => { + Object.keys(globalInterceptors).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = globalInterceptors[hook].slice(); } }); const scopedInterceptor = scopedInterceptors[method]; if (scopedInterceptor) { - Object.keys(scopedInterceptor).forEach(hook => { + Object.keys(scopedInterceptor).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); } @@ -155,7 +155,7 @@ function invokeApi(method, api, options, ...params) { if (interceptor && Object.keys(interceptor).length) { if (isArray(interceptor.invoke)) { const res = queue(interceptor.invoke, options); - return res.then(options => { + return res.then((options) => { return api(wrapperOptions(interceptor, options), ...params); }); } @@ -170,13 +170,13 @@ const AddInterceptorProtocol = [ { name: 'method', type: [String, Object], - required: true - } + required: true, + }, ]; const RemoveInterceptorProtocol = AddInterceptorProtocol; function mergeInterceptorHook(interceptors, interceptor) { - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { interceptors[hook] = mergeHook(interceptors[hook], interceptor[hook]); } @@ -186,7 +186,7 @@ function removeInterceptorHook(interceptors, interceptor) { if (!interceptors || !interceptor) { return; } - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { removeHook(interceptors[hook], interceptor[hook]); } @@ -263,10 +263,10 @@ function handlePromise(promise) { return promise; } return promise - .then(data => { + .then((data) => { return [null, data]; }) - .catch(err => [err]); + .catch((err) => [err]); } function shouldPromise(name) { if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) { @@ -278,7 +278,7 @@ function shouldPromise(name) { if (!Promise.prototype.finally) { Promise.prototype.finally = function (onfinally) { const promise = this.constructor; - return this.then(value => promise.resolve(onfinally && onfinally()).then(() => value), reason => promise.resolve(onfinally && onfinally()).then(() => { + return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => { throw reason; })); }; @@ -299,7 +299,7 @@ function promisify(name, api) { return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => { invokeApi(name, api, Object.assign({}, options, { success: resolve, - fail: reject + fail: reject, }), ...params); }))); }; @@ -413,25 +413,25 @@ function initUni(api, protocols) { // event-api // provider-api? return promisify(key, wrapper(key, qq[key])); - } + }, }; return new Proxy({}, UniProxyHandlers); } function initGetProvider(providers) { - return function getProvider({ service, success, fail, complete }) { + return function getProvider({ service, success, fail, complete, }) { let res; if (providers[service]) { res = { errMsg: 'getProvider:ok', service, - provider: providers[service] + provider: providers[service], }; isFunction(success) && success(res); } else { res = { - errMsg: 'getProvider:fail:服务[' + service + ']不存在' + errMsg: 'getProvider:fail:服务[' + service + ']不存在', }; isFunction(fail) && fail(res); } @@ -468,9 +468,9 @@ const previewImage = { } return { indicator: false, - loop: false + loop: false, }; - } + }, }; function addSafeAreaInsets(fromRes, toRes) { if (fromRes.safeArea) { @@ -479,12 +479,12 @@ function addSafeAreaInsets(fromRes, toRes) { top: safeArea.top, left: safeArea.left, right: fromRes.windowWidth - safeArea.right, - bottom: fromRes.windowHeight - safeArea.bottom + bottom: fromRes.windowHeight - safeArea.bottom, }; } } const getSystemInfo = { - returnValue: addSafeAreaInsets + returnValue: addSafeAreaInsets, }; const getSystemInfoSync = getSystemInfo; const redirectTo = {}; @@ -493,7 +493,7 @@ const getProvider = initGetProvider({ oauth: ['qq'], share: ['qq'], payment: ['qqpay'], - push: ['qq'] + push: ['qq'], }); var shims = /*#__PURE__*/Object.freeze({ diff --git a/packages/uni-mp-qq/dist/uni.mp.esm.js b/packages/uni-mp-qq/dist/uni.mp.esm.js index ab155b58b..0d1f352fb 100644 --- a/packages/uni-mp-qq/dist/uni.mp.esm.js +++ b/packages/uni-mp-qq/dist/uni.mp.esm.js @@ -50,7 +50,7 @@ const MP_METHODS = [ 'createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', - 'selectComponent' + 'selectComponent', ]; function createEmitFn(oldEmit, ctx) { return function emit(event, ...args) { @@ -77,7 +77,7 @@ function initBaseInstance(instance, options) { { instance.slots = {}; if (isArray(options.slots) && options.slots.length) { - options.slots.forEach(name => { + options.slots.forEach((name) => { instance.slots[name] = true; }); } @@ -88,7 +88,7 @@ function initBaseInstance(instance, options) { function initComponentInstance(instance, options) { initBaseInstance(instance, options); const ctx = instance.ctx; - MP_METHODS.forEach(method => { + MP_METHODS.forEach((method) => { ctx[method] = function (...args) { const mpInstance = ctx.$scope; if (mpInstance && mpInstance[method]) { @@ -106,7 +106,7 @@ function initComponentInstance(instance, options) { } function initMocks(instance, mpInstance, mocks) { const ctx = instance.ctx; - mocks.forEach(mock => { + mocks.forEach((mock) => { if (hasOwn(mpInstance, mock)) { ctx[mock] = mpInstance[mock]; } @@ -125,12 +125,11 @@ const PAGE_HOOKS = [ 'onReachBottom', 'onPullDownRefresh', // 'onShareTimeline', // 右上角菜单,开发者手动注册 - 'onAddToFavorites' - // 'onShareAppMessage' // 右上角菜单,开发者手动注册 + 'onAddToFavorites', ]; function findHooks(vueOptions, hooks = new Set()) { if (vueOptions) { - Object.keys(vueOptions).forEach(name => { + Object.keys(vueOptions).forEach((name) => { if (name.indexOf('on') === 0 && isFunction(vueOptions[name])) { hooks.add(name); } @@ -138,7 +137,7 @@ function findHooks(vueOptions, hooks = new Set()) { if (__VUE_OPTIONS_API__) { const { extends: extendsOptions, mixins } = vueOptions; if (mixins) { - mixins.forEach(mixin => findHooks(mixin, hooks)); + mixins.forEach((mixin) => findHooks(mixin, hooks)); } if (extendsOptions) { findHooks(extendsOptions, hooks); @@ -156,10 +155,10 @@ function initHook(mpOptions, hook, excludes) { } const EXCLUDE_HOOKS = ['onReady']; function initHooks(mpOptions, hooks, excludes = EXCLUDE_HOOKS) { - hooks.forEach(hook => initHook(mpOptions, hook, excludes)); + hooks.forEach((hook) => initHook(mpOptions, hook, excludes)); } function initUnknownHooks(mpOptions, vueOptions, excludes = EXCLUDE_HOOKS) { - findHooks(vueOptions).forEach(hook => initHook(mpOptions, hook, excludes)); + findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes)); } const HOOKS = [ @@ -168,7 +167,7 @@ const HOOKS = [ 'onError', 'onThemeChange', 'onPageNotFound', - 'onUnhandledRejection' + 'onUnhandledRejection', ]; function parseApp(instance, parseAppOptions) { const internalInstance = instance.$; @@ -184,11 +183,11 @@ function parseApp(instance, parseAppOptions) { initBaseInstance(internalInstance, { mpType: 'app', mpInstance: this, - slots: [] + slots: [], }); ctx.globalData = this.globalData; instance.$callHook('onLaunch', options); - } + }, }; const vueOptions = instance.$.type; initHooks(appOptions, HOOKS); @@ -212,7 +211,7 @@ const encode = encodeURIComponent; function stringifyQuery(obj, encodeStr = encode) { const res = obj ? Object.keys(obj) - .map(key => { + .map((key) => { let val = obj[key]; if (typeof val === undefined || val === null) { val = ''; @@ -222,7 +221,7 @@ function stringifyQuery(obj, encodeStr = encode) { } return encodeStr(key) + '=' + encodeStr(val); }) - .filter(x => x.length > 0) + .filter((x) => x.length > 0) .join('&') : null; return res ? `?${res}` : ''; @@ -247,7 +246,7 @@ function initVueIds(vueIds, mpInstance) { } const EXTRAS = ['externalClasses']; function initExtraOptions(miniProgramComponentOptions, vueOptions) { - EXTRAS.forEach(name => { + EXTRAS.forEach((name) => { if (hasOwn(vueOptions, name)) { miniProgramComponentOptions[name] = vueOptions[name]; } @@ -268,12 +267,12 @@ function initRefs(instance, mpInstance) { get() { const $refs = {}; const components = mpInstance.selectAllComponents('.vue-ref'); - components.forEach(component => { + components.forEach((component) => { const ref = component.dataset.ref; $refs[ref] = component.$vm || component; }); const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for'); - forComponents.forEach(component => { + forComponents.forEach((component) => { const ref = component.dataset.ref; if (!$refs[ref]) { $refs[ref] = []; @@ -281,7 +280,7 @@ function initRefs(instance, mpInstance) { $refs[ref].push(component.$vm || component); }); return $refs; - } + }, }); } function findVmByVueId(instance, vuePid) { @@ -324,7 +323,7 @@ function initDefaultProps(isBehavior = false) { if (!isBehavior) { properties.vueId = { type: String, - value: '' + value: '', }; // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots properties.vueSlots = { @@ -336,9 +335,9 @@ function initDefaultProps(isBehavior = false) { $slots[slotName] = true; }); this.setData({ - $slots + $slots, }); - } + }, }; } return properties; @@ -350,14 +349,14 @@ function createProperty(key, prop) { function initProps(mpComponentOptions, rawProps, isBehavior = false) { const properties = initDefaultProps(isBehavior); if (isArray(rawProps)) { - rawProps.forEach(key => { + rawProps.forEach((key) => { properties[key] = createProperty(key, { - type: null + type: null, }); }); } else if (isPlainObject(rawProps)) { - Object.keys(rawProps).forEach(key => { + Object.keys(rawProps).forEach((key) => { const opts = rawProps[key]; if (isPlainObject(opts)) { // title:{type:String,default:''} @@ -369,14 +368,14 @@ function initProps(mpComponentOptions, rawProps, isBehavior = false) { opts.type = parsePropType(key, type); properties[key] = createProperty(key, { type: PROP_TYPES.indexOf(type) !== -1 ? type : null, - value + value, }); } else { // content:String const type = parsePropType(key, opts); properties[key] = createProperty(key, { - type: PROP_TYPES.indexOf(type) !== -1 ? type : null + type: PROP_TYPES.indexOf(type) !== -1 ? type : null, }); } }); @@ -420,7 +419,7 @@ function initBehaviors(vueOptions, initBehavior) { } const behaviors = []; if (isArray(vueBehaviors)) { - vueBehaviors.forEach(behavior => { + vueBehaviors.forEach((behavior) => { behaviors.push(behavior.replace('uni://', `${__PLATFORM_PREFIX__}://`)); if (behavior === 'uni://form-field') { if (isArray(vueProps)) { @@ -430,11 +429,11 @@ function initBehaviors(vueOptions, initBehavior) { else { vueProps.name = { type: String, - default: '' + default: '', }; vueProps.value = { type: [String, Number, Boolean, Array, Object, Date], - default: '' + default: '', }; } } @@ -446,7 +445,7 @@ function initBehaviors(vueOptions, initBehavior) { behaviors.push(initBehavior(behavior)); } if (isArray(vueMixins)) { - vueMixins.forEach(vueMixin => { + vueMixins.forEach((vueMixin) => { if (vueMixin.props) { const behavior = {}; initProps(behavior, vueMixin.props, true); @@ -475,7 +474,7 @@ function getValue(obj, path) { } function getExtraValue(instance, dataPathsArray) { let context = instance; - dataPathsArray.forEach(dataPathArray => { + dataPathsArray.forEach((dataPathArray) => { const dataPath = dataPathArray[0]; const value = dataPathArray[2]; if (dataPath || typeof value !== 'undefined') { @@ -505,12 +504,12 @@ function getExtraValue(instance, dataPathsArray) { } else { if (isArray(vFor)) { - context = vFor.find(vForItem => { + context = vFor.find((vForItem) => { return getValue(vForItem, propPath) === value; }); } else if (isPlainObject(vFor)) { - context = Object.keys(vFor).find(vForKey => { + context = Object.keys(vFor).find((vForKey) => { return getValue(vFor[vForKey], propPath) === value; }); } @@ -600,7 +599,7 @@ function processEventArgs(instance, event, args = [], extra = [], isCustom, meth } const extraObj = processEventExtra(instance, extra, event); const ret = []; - args.forEach(arg => { + args.forEach((arg) => { if (arg === '$event') { if (methodName === '__set_model' && !isCustom) { // input v-model value @@ -712,11 +711,11 @@ function handleEvent(event) { } } -function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handleLink, initLifetimes }) { +function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handleLink, initLifetimes, }) { vueOptions = vueOptions.default || vueOptions; const options = { multipleSlots: true, - addGlobalClass: true + addGlobalClass: true, }; if (vueOptions.options) { extend(options, vueOptions.options); @@ -733,12 +732,12 @@ function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handle }, resize(size) { this.$vm && this.$vm.$callHook('onPageResize', size); - } + }, }, methods: { __l: handleLink, - __e: handleEvent - } + __e: handleEvent, + }, }; if (__VUE_OPTIONS_API__) { applyOptions(mpComponentOptions, vueOptions, initBehavior); @@ -772,19 +771,19 @@ function $destroyComponent(instance) { } function parsePage(vueOptions, parseOptions) { - const { parse, mocks, isPage, initRelation, handleLink, initLifetimes } = parseOptions; + const { parse, mocks, isPage, initRelation, handleLink, initLifetimes, } = parseOptions; const miniProgramPageOptions = parseComponent(vueOptions, { mocks, isPage, initRelation, handleLink, - initLifetimes + initLifetimes, }); const methods = miniProgramPageOptions.methods; methods.onLoad = function (query) { this.options = query; this.$page = { - fullPath: '/' + this.route + stringifyQuery(query) + fullPath: '/' + this.route + stringifyQuery(query), }; return this.$vm && this.$vm.$callHook('onLoad', query); }; @@ -834,13 +833,13 @@ Component = function (options) { return MPComponent(options); }; -function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { +function initLifetimes({ mocks, isPage, initRelation, vueOptions, }) { return { attached() { const properties = this.properties; initVueIds(properties.vueId, this); const relationOptions = { - vuePid: this._$vuePid + vuePid: this._$vuePid, }; // 处理父子关系 initRelation(this, relationOptions); @@ -848,7 +847,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { const mpInstance = this; this.$vm = $createComponent({ type: vueOptions, - props: properties + props: properties, }, { mpType: isPage(mpInstance) ? 'page' : 'component', mpInstance, @@ -858,7 +857,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { initRefs(instance, mpInstance); initMocks(instance, mpInstance, mocks); initComponentInstance(instance, options); - } + }, }); }, ready() { @@ -871,7 +870,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { }, detached() { this.$vm && $destroyComponent(this.$vm); - } + }, }; } diff --git a/packages/uni-mp-qq/src/api/protocols.ts b/packages/uni-mp-qq/src/api/protocols.ts index 4dffbdf34..fdbeb1022 100644 --- a/packages/uni-mp-qq/src/api/protocols.ts +++ b/packages/uni-mp-qq/src/api/protocols.ts @@ -2,5 +2,5 @@ export { redirectTo, previewImage, getSystemInfo, - getSystemInfoSync + getSystemInfoSync, } from '@dcloudio/uni-mp-core' diff --git a/packages/uni-mp-qq/src/api/shims.ts b/packages/uni-mp-qq/src/api/shims.ts index ba2643b68..78874925a 100644 --- a/packages/uni-mp-qq/src/api/shims.ts +++ b/packages/uni-mp-qq/src/api/shims.ts @@ -4,5 +4,5 @@ export const getProvider = initGetProvider({ oauth: ['qq'], share: ['qq'], payment: ['qqpay'], - push: ['qq'] + push: ['qq'], }) diff --git a/packages/uni-mp-toutiao/dist/uni.api.esm.js b/packages/uni-mp-toutiao/dist/uni.api.esm.js index fb3735dd5..ffa10551d 100644 --- a/packages/uni-mp-toutiao/dist/uni.api.esm.js +++ b/packages/uni-mp-toutiao/dist/uni.api.esm.js @@ -23,8 +23,8 @@ const Upx2pxProtocol = [ { name: 'upx', type: [Number, String], - required: true - } + required: true, + }, ]; const EPS = 1e-4; @@ -92,7 +92,7 @@ function queue(hooks, data) { if (res === false) { return { then() { }, - catch() { } + catch() { }, }; } } @@ -101,11 +101,11 @@ function queue(hooks, data) { then(callback) { return callback(data); }, - catch() { } + catch() { }, }); } function wrapperOptions(interceptors, options = {}) { - [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach(name => { + [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach((name) => { const hooks = interceptors[name]; if (!isArray(hooks)) { return; @@ -128,21 +128,21 @@ function wrapperReturnValue(method, returnValue) { if (interceptor && isArray(interceptor.returnValue)) { returnValueHooks.push(...interceptor.returnValue); } - returnValueHooks.forEach(hook => { + returnValueHooks.forEach((hook) => { returnValue = hook(returnValue) || returnValue; }); return returnValue; } function getApiInterceptorHooks(method) { const interceptor = Object.create(null); - Object.keys(globalInterceptors).forEach(hook => { + Object.keys(globalInterceptors).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = globalInterceptors[hook].slice(); } }); const scopedInterceptor = scopedInterceptors[method]; if (scopedInterceptor) { - Object.keys(scopedInterceptor).forEach(hook => { + Object.keys(scopedInterceptor).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); } @@ -155,7 +155,7 @@ function invokeApi(method, api, options, ...params) { if (interceptor && Object.keys(interceptor).length) { if (isArray(interceptor.invoke)) { const res = queue(interceptor.invoke, options); - return res.then(options => { + return res.then((options) => { return api(wrapperOptions(interceptor, options), ...params); }); } @@ -170,13 +170,13 @@ const AddInterceptorProtocol = [ { name: 'method', type: [String, Object], - required: true - } + required: true, + }, ]; const RemoveInterceptorProtocol = AddInterceptorProtocol; function mergeInterceptorHook(interceptors, interceptor) { - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { interceptors[hook] = mergeHook(interceptors[hook], interceptor[hook]); } @@ -186,7 +186,7 @@ function removeInterceptorHook(interceptors, interceptor) { if (!interceptors || !interceptor) { return; } - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { removeHook(interceptors[hook], interceptor[hook]); } @@ -263,10 +263,10 @@ function handlePromise(promise) { return promise; } return promise - .then(data => { + .then((data) => { return [null, data]; }) - .catch(err => [err]); + .catch((err) => [err]); } function shouldPromise(name) { if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) { @@ -278,7 +278,7 @@ function shouldPromise(name) { if (!Promise.prototype.finally) { Promise.prototype.finally = function (onfinally) { const promise = this.constructor; - return this.then(value => promise.resolve(onfinally && onfinally()).then(() => value), reason => promise.resolve(onfinally && onfinally()).then(() => { + return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => { throw reason; })); }; @@ -299,7 +299,7 @@ function promisify(name, api) { return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => { invokeApi(name, api, Object.assign({}, options, { success: resolve, - fail: reject + fail: reject, }), ...params); }))); }; @@ -413,25 +413,25 @@ function initUni(api, protocols) { // event-api // provider-api? return promisify(key, wrapper(key, tt[key])); - } + }, }; return new Proxy({}, UniProxyHandlers); } function initGetProvider(providers) { - return function getProvider({ service, success, fail, complete }) { + return function getProvider({ service, success, fail, complete, }) { let res; if (providers[service]) { res = { errMsg: 'getProvider:ok', service, - provider: providers[service] + provider: providers[service], }; isFunction(success) && success(res); } else { res = { - errMsg: 'getProvider:fail:服务[' + service + ']不存在' + errMsg: 'getProvider:fail:服务[' + service + ']不存在', }; isFunction(fail) && fail(res); } @@ -468,9 +468,9 @@ const previewImage = { } return { indicator: false, - loop: false + loop: false, }; - } + }, }; const redirectTo = {}; @@ -478,7 +478,7 @@ const getProvider = initGetProvider({ oauth: ['toutiao'], share: ['toutiao'], payment: ['toutiao'], - push: ['toutiao'] + push: ['toutiao'], }); var shims = /*#__PURE__*/Object.freeze({ @@ -488,74 +488,74 @@ var shims = /*#__PURE__*/Object.freeze({ const chooseImage = { args: { - sizeType: false - } + sizeType: false, + }, }; const connectSocket = { args: { - method: false - } + method: false, + }, }; const chooseVideo = { args: { - camera: false - } + camera: false, + }, }; const scanCode = { args: { onlyFromCamera: false, - scanType: false - } + scanType: false, + }, }; const startAccelerometer = { args: { - interval: false - } + interval: false, + }, }; const showToast = { args: { image: false, - mask: false - } + mask: false, + }, }; const showLoading = { args: { - mask: false - } + mask: false, + }, }; const showModal = { args: { cancelColor: false, - confirmColor: false - } + confirmColor: false, + }, }; const showActionSheet = { args: { - itemColor: false - } + itemColor: false, + }, }; const login = { args: { scopes: false, - timeout: false - } + timeout: false, + }, }; const getUserInfo = { args: { lang: false, - timeout: false - } + timeout: false, + }, }; const requestPayment = { name: tt.pay ? 'pay' : 'requestPayment', args: { - orderInfo: tt.pay ? 'orderInfo' : 'data' - } + orderInfo: tt.pay ? 'orderInfo' : 'data', + }, }; const getFileInfo = { args: { - digestAlgorithm: false - } + digestAlgorithm: false, + }, }; var protocols = /*#__PURE__*/Object.freeze({ diff --git a/packages/uni-mp-toutiao/dist/uni.mp.esm.js b/packages/uni-mp-toutiao/dist/uni.mp.esm.js index c28eb8fe4..788954899 100644 --- a/packages/uni-mp-toutiao/dist/uni.mp.esm.js +++ b/packages/uni-mp-toutiao/dist/uni.mp.esm.js @@ -50,7 +50,7 @@ const MP_METHODS = [ 'createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', - 'selectComponent' + 'selectComponent', ]; function createEmitFn(oldEmit, ctx) { return function emit(event, ...args) { @@ -77,7 +77,7 @@ function initBaseInstance(instance, options) { { instance.slots = {}; if (isArray(options.slots) && options.slots.length) { - options.slots.forEach(name => { + options.slots.forEach((name) => { instance.slots[name] = true; }); } @@ -88,7 +88,7 @@ function initBaseInstance(instance, options) { function initComponentInstance(instance, options) { initBaseInstance(instance, options); const ctx = instance.ctx; - MP_METHODS.forEach(method => { + MP_METHODS.forEach((method) => { ctx[method] = function (...args) { const mpInstance = ctx.$scope; if (mpInstance && mpInstance[method]) { @@ -106,7 +106,7 @@ function initComponentInstance(instance, options) { } function initMocks(instance, mpInstance, mocks) { const ctx = instance.ctx; - mocks.forEach(mock => { + mocks.forEach((mock) => { if (hasOwn(mpInstance, mock)) { ctx[mock] = mpInstance[mock]; } @@ -125,12 +125,11 @@ const PAGE_HOOKS = [ 'onReachBottom', 'onPullDownRefresh', // 'onShareTimeline', // 右上角菜单,开发者手动注册 - 'onAddToFavorites' - // 'onShareAppMessage' // 右上角菜单,开发者手动注册 + 'onAddToFavorites', ]; function findHooks(vueOptions, hooks = new Set()) { if (vueOptions) { - Object.keys(vueOptions).forEach(name => { + Object.keys(vueOptions).forEach((name) => { if (name.indexOf('on') === 0 && isFunction(vueOptions[name])) { hooks.add(name); } @@ -138,7 +137,7 @@ function findHooks(vueOptions, hooks = new Set()) { if (__VUE_OPTIONS_API__) { const { extends: extendsOptions, mixins } = vueOptions; if (mixins) { - mixins.forEach(mixin => findHooks(mixin, hooks)); + mixins.forEach((mixin) => findHooks(mixin, hooks)); } if (extendsOptions) { findHooks(extendsOptions, hooks); @@ -159,10 +158,10 @@ function initHook(mpOptions, hook, excludes) { } const EXCLUDE_HOOKS = ['onReady']; function initHooks(mpOptions, hooks, excludes = EXCLUDE_HOOKS) { - hooks.forEach(hook => initHook(mpOptions, hook, excludes)); + hooks.forEach((hook) => initHook(mpOptions, hook, excludes)); } function initUnknownHooks(mpOptions, vueOptions, excludes = EXCLUDE_HOOKS) { - findHooks(vueOptions).forEach(hook => initHook(mpOptions, hook, excludes)); + findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes)); } const HOOKS = [ @@ -171,7 +170,7 @@ const HOOKS = [ 'onError', 'onThemeChange', 'onPageNotFound', - 'onUnhandledRejection' + 'onUnhandledRejection', ]; function parseApp(instance, parseAppOptions) { const internalInstance = instance.$; @@ -187,11 +186,11 @@ function parseApp(instance, parseAppOptions) { initBaseInstance(internalInstance, { mpType: 'app', mpInstance: this, - slots: [] + slots: [], }); ctx.globalData = this.globalData; instance.$callHook('onLaunch', options); - } + }, }; const vueOptions = instance.$.type; initHooks(appOptions, HOOKS); @@ -215,7 +214,7 @@ const encode = encodeURIComponent; function stringifyQuery(obj, encodeStr = encode) { const res = obj ? Object.keys(obj) - .map(key => { + .map((key) => { let val = obj[key]; if (typeof val === undefined || val === null) { val = ''; @@ -225,7 +224,7 @@ function stringifyQuery(obj, encodeStr = encode) { } return encodeStr(key) + '=' + encodeStr(val); }) - .filter(x => x.length > 0) + .filter((x) => x.length > 0) .join('&') : null; return res ? `?${res}` : ''; @@ -250,7 +249,7 @@ function initVueIds(vueIds, mpInstance) { } const EXTRAS = ['externalClasses']; function initExtraOptions(miniProgramComponentOptions, vueOptions) { - EXTRAS.forEach(name => { + EXTRAS.forEach((name) => { if (hasOwn(vueOptions, name)) { miniProgramComponentOptions[name] = vueOptions[name]; } @@ -271,12 +270,12 @@ function initRefs(instance, mpInstance) { get() { const $refs = {}; const components = mpInstance.selectAllComponents('.vue-ref'); - components.forEach(component => { + components.forEach((component) => { const ref = component.dataset.ref; $refs[ref] = component.$vm || component; }); const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for'); - forComponents.forEach(component => { + forComponents.forEach((component) => { const ref = component.dataset.ref; if (!$refs[ref]) { $refs[ref] = []; @@ -284,7 +283,7 @@ function initRefs(instance, mpInstance) { $refs[ref].push(component.$vm || component); }); return $refs; - } + }, }); } function findVmByVueId(instance, vuePid) { @@ -327,12 +326,12 @@ function initDefaultProps(isBehavior = false) { if (!isBehavior) { properties.vueId = { type: String, - value: '' + value: '', }; { // 用于字节跳动小程序模拟抽象节点 properties.generic = { - type: Object + type: Object, }; } // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots @@ -345,9 +344,9 @@ function initDefaultProps(isBehavior = false) { $slots[slotName] = true; }); this.setData({ - $slots + $slots, }); - } + }, }; } return properties; @@ -359,14 +358,14 @@ function createProperty(key, prop) { function initProps(mpComponentOptions, rawProps, isBehavior = false) { const properties = initDefaultProps(isBehavior); if (isArray(rawProps)) { - rawProps.forEach(key => { + rawProps.forEach((key) => { properties[key] = createProperty(key, { - type: null + type: null, }); }); } else if (isPlainObject(rawProps)) { - Object.keys(rawProps).forEach(key => { + Object.keys(rawProps).forEach((key) => { const opts = rawProps[key]; if (isPlainObject(opts)) { // title:{type:String,default:''} @@ -378,14 +377,14 @@ function initProps(mpComponentOptions, rawProps, isBehavior = false) { opts.type = parsePropType(key, type); properties[key] = createProperty(key, { type: PROP_TYPES.indexOf(type) !== -1 ? type : null, - value + value, }); } else { // content:String const type = parsePropType(key, opts); properties[key] = createProperty(key, { - type: PROP_TYPES.indexOf(type) !== -1 ? type : null + type: PROP_TYPES.indexOf(type) !== -1 ? type : null, }); } }); @@ -429,7 +428,7 @@ function initBehaviors(vueOptions, initBehavior) { } const behaviors = []; if (isArray(vueBehaviors)) { - vueBehaviors.forEach(behavior => { + vueBehaviors.forEach((behavior) => { behaviors.push(behavior.replace('uni://', `${__PLATFORM_PREFIX__}://`)); if (behavior === 'uni://form-field') { if (isArray(vueProps)) { @@ -439,11 +438,11 @@ function initBehaviors(vueOptions, initBehavior) { else { vueProps.name = { type: String, - default: '' + default: '', }; vueProps.value = { type: [String, Number, Boolean, Array, Object, Date], - default: '' + default: '', }; } } @@ -455,7 +454,7 @@ function initBehaviors(vueOptions, initBehavior) { behaviors.push(initBehavior(behavior)); } if (isArray(vueMixins)) { - vueMixins.forEach(vueMixin => { + vueMixins.forEach((vueMixin) => { if (vueMixin.props) { const behavior = {}; initProps(behavior, vueMixin.props, true); @@ -484,7 +483,7 @@ function getValue(obj, path) { } function getExtraValue(instance, dataPathsArray) { let context = instance; - dataPathsArray.forEach(dataPathArray => { + dataPathsArray.forEach((dataPathArray) => { const dataPath = dataPathArray[0]; const value = dataPathArray[2]; if (dataPath || typeof value !== 'undefined') { @@ -514,12 +513,12 @@ function getExtraValue(instance, dataPathsArray) { } else { if (isArray(vFor)) { - context = vFor.find(vForItem => { + context = vFor.find((vForItem) => { return getValue(vForItem, propPath) === value; }); } else if (isPlainObject(vFor)) { - context = Object.keys(vFor).find(vForKey => { + context = Object.keys(vFor).find((vForKey) => { return getValue(vFor[vForKey], propPath) === value; }); } @@ -609,7 +608,7 @@ function processEventArgs(instance, event, args = [], extra = [], isCustom, meth } const extraObj = processEventExtra(instance, extra, event); const ret = []; - args.forEach(arg => { + args.forEach((arg) => { if (arg === '$event') { if (methodName === '__set_model' && !isCustom) { // input v-model value @@ -721,11 +720,11 @@ function handleEvent(event) { } } -function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handleLink, initLifetimes }) { +function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handleLink, initLifetimes, }) { vueOptions = vueOptions.default || vueOptions; const options = { multipleSlots: true, - addGlobalClass: true + addGlobalClass: true, }; if (vueOptions.options) { extend(options, vueOptions.options); @@ -742,12 +741,12 @@ function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handle }, resize(size) { this.$vm && this.$vm.$callHook('onPageResize', size); - } + }, }, methods: { __l: handleLink, - __e: handleEvent - } + __e: handleEvent, + }, }; if (__VUE_OPTIONS_API__) { applyOptions(mpComponentOptions, vueOptions, initBehavior); @@ -781,19 +780,19 @@ function $destroyComponent(instance) { } function parsePage(vueOptions, parseOptions) { - const { parse, mocks, isPage, initRelation, handleLink, initLifetimes } = parseOptions; + const { parse, mocks, isPage, initRelation, handleLink, initLifetimes, } = parseOptions; const miniProgramPageOptions = parseComponent(vueOptions, { mocks, isPage, initRelation, handleLink, - initLifetimes + initLifetimes, }); const methods = miniProgramPageOptions.methods; methods.onLoad = function (query) { this.options = query; this.$page = { - fullPath: '/' + this.route + stringifyQuery(query) + fullPath: '/' + this.route + stringifyQuery(query), }; return this.$vm && this.$vm.$callHook('onLoad', query); }; @@ -928,13 +927,13 @@ function initInjections(instance) { } } -function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { +function initLifetimes({ mocks, isPage, initRelation, vueOptions, }) { return { attached() { const properties = this.properties; initVueIds(properties.vueId, this); const relationOptions = { - vuePid: this._$vuePid + vuePid: this._$vuePid, }; // 初始化 vue 实例 const mpInstance = this; @@ -944,7 +943,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { } this.$vm = $createComponent({ type: vueOptions, - props: properties + props: properties, }, { mpType, mpInstance, @@ -954,14 +953,14 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { initRefs(instance, mpInstance); initMocks(instance, mpInstance, mocks); initComponentInstance(instance, options); - } + }, }); // 处理父子关系 initRelation(this, relationOptions); }, detached() { this.$vm && $destroyComponent(this.$vm); - } + }, }; } @@ -969,7 +968,7 @@ const mocks = [ '__route__', '__webviewId__', '__nodeId__', - '__nodeid__' /* @Deprecated */ + '__nodeid__' /* @Deprecated */, ]; function isPage(mpInstance) { return (mpInstance.__nodeId__ === 0 || mpInstance.__nodeid__ === 0); @@ -985,10 +984,10 @@ function initRelation(mpInstance, detail) { mpInstance.triggerEvent('__l', { vuePid: detail.vuePid, nodeId, - webviewId + webviewId, }); } -function handleLink({ detail: { vuePid, nodeId, webviewId } }) { +function handleLink({ detail: { vuePid, nodeId, webviewId }, }) { const vm = instances[webviewId + '_' + nodeId]; if (!vm) { return; @@ -1046,12 +1045,12 @@ function initLifetimes$1(lifetimesOptions) { // 清理 const webviewId = this.__webviewId__; webviewId && - Object.keys(instances).forEach(key => { + Object.keys(instances).forEach((key) => { if (key.indexOf(webviewId + '_') === 0) { delete instances[key]; } }); - } + }, }); } diff --git a/packages/uni-mp-toutiao/src/api/protocols.ts b/packages/uni-mp-toutiao/src/api/protocols.ts index 6e9429cec..9a424e412 100644 --- a/packages/uni-mp-toutiao/src/api/protocols.ts +++ b/packages/uni-mp-toutiao/src/api/protocols.ts @@ -1,72 +1,72 @@ export { redirectTo, previewImage } from '@dcloudio/uni-mp-core' export const chooseImage = { args: { - sizeType: false - } + sizeType: false, + }, } export const connectSocket = { args: { - method: false - } + method: false, + }, } export const chooseVideo = { args: { - camera: false - } + camera: false, + }, } export const scanCode = { args: { onlyFromCamera: false, - scanType: false - } + scanType: false, + }, } export const startAccelerometer = { args: { - interval: false - } + interval: false, + }, } export const showToast = { args: { image: false, - mask: false - } + mask: false, + }, } export const showLoading = { args: { - mask: false - } + mask: false, + }, } export const showModal = { args: { cancelColor: false, - confirmColor: false - } + confirmColor: false, + }, } export const showActionSheet = { args: { - itemColor: false - } + itemColor: false, + }, } export const login = { args: { scopes: false, - timeout: false - } + timeout: false, + }, } export const getUserInfo = { args: { lang: false, - timeout: false - } + timeout: false, + }, } export const requestPayment = { name: tt.pay ? 'pay' : 'requestPayment', args: { - orderInfo: tt.pay ? 'orderInfo' : 'data' - } + orderInfo: tt.pay ? 'orderInfo' : 'data', + }, } export const getFileInfo = { args: { - digestAlgorithm: false - } + digestAlgorithm: false, + }, } diff --git a/packages/uni-mp-toutiao/src/api/shims.ts b/packages/uni-mp-toutiao/src/api/shims.ts index 250b93ec5..53759f48b 100644 --- a/packages/uni-mp-toutiao/src/api/shims.ts +++ b/packages/uni-mp-toutiao/src/api/shims.ts @@ -4,5 +4,5 @@ export const getProvider = initGetProvider({ oauth: ['toutiao'], share: ['toutiao'], payment: ['toutiao'], - push: ['toutiao'] + push: ['toutiao'], }) diff --git a/packages/uni-mp-toutiao/src/index.ts b/packages/uni-mp-toutiao/src/index.ts index 39addaedd..2854c1683 100644 --- a/packages/uni-mp-toutiao/src/index.ts +++ b/packages/uni-mp-toutiao/src/index.ts @@ -1,10 +1,10 @@ export { initProvide, initInjections } from './runtime/apiInject' export { parse as parsePage, - initLifetimes as initPageLifetimes + initLifetimes as initPageLifetimes, } from './runtime/parsePageOptions' export { instances, parse as parseComponent, - initLifetimes as initComponentLifetimes + initLifetimes as initComponentLifetimes, } from './runtime/parseComponentOptions' diff --git a/packages/uni-mp-toutiao/src/runtime/apiInject.ts b/packages/uni-mp-toutiao/src/runtime/apiInject.ts index e03fd1cc8..9e2dedc89 100644 --- a/packages/uni-mp-toutiao/src/runtime/apiInject.ts +++ b/packages/uni-mp-toutiao/src/runtime/apiInject.ts @@ -3,7 +3,7 @@ import { isArray, isObject, isFunction } from '@vue/shared' import { InjectionKey, ComponentPublicInstance, - ComponentInternalInstance + ComponentInternalInstance, } from 'vue' function provide( diff --git a/packages/uni-mp-toutiao/src/runtime/componentLifetimes.ts b/packages/uni-mp-toutiao/src/runtime/componentLifetimes.ts index 8a0c95efd..345def193 100644 --- a/packages/uni-mp-toutiao/src/runtime/componentLifetimes.ts +++ b/packages/uni-mp-toutiao/src/runtime/componentLifetimes.ts @@ -4,7 +4,7 @@ import { RelationOptions, MPComponentInstance, CreateComponentOptions, - CreateLifetimesOptions + CreateLifetimesOptions, } from '@dcloudio/uni-mp-core' import { @@ -13,21 +13,21 @@ import { initVueIds, $createComponent, $destroyComponent, - initComponentInstance + initComponentInstance, } from '@dcloudio/uni-mp-core' export function initLifetimes({ mocks, isPage, initRelation, - vueOptions + vueOptions, }: CreateLifetimesOptions) { return { attached(this: MPComponentInstance) { const properties = this.properties initVueIds(properties.vueId, this) const relationOptions: RelationOptions = { - vuePid: this._$vuePid + vuePid: this._$vuePid, } // 初始化 vue 实例 const mpInstance = this @@ -38,7 +38,7 @@ export function initLifetimes({ this.$vm = $createComponent( { type: vueOptions, - props: properties + props: properties, }, { mpType, @@ -52,7 +52,7 @@ export function initLifetimes({ initRefs(instance, mpInstance) initMocks(instance, mpInstance, mocks) initComponentInstance(instance, options) - } + }, } ) as ComponentPublicInstance @@ -61,6 +61,6 @@ export function initLifetimes({ }, detached(this: MPComponentInstance) { this.$vm && $destroyComponent(this.$vm) - } + }, } } diff --git a/packages/uni-mp-toutiao/src/runtime/index.ts b/packages/uni-mp-toutiao/src/runtime/index.ts index 0deb8093e..7560418aa 100644 --- a/packages/uni-mp-toutiao/src/runtime/index.ts +++ b/packages/uni-mp-toutiao/src/runtime/index.ts @@ -1,7 +1,7 @@ import { initCreateApp, initCreatePage, - initCreateComponent + initCreateComponent, } from '@dcloudio/uni-mp-core' import '@dcloudio/uni-mp-polyfill' diff --git a/packages/uni-mp-toutiao/src/runtime/pageLifetimes.ts b/packages/uni-mp-toutiao/src/runtime/pageLifetimes.ts index e09e04ed1..711376d46 100644 --- a/packages/uni-mp-toutiao/src/runtime/pageLifetimes.ts +++ b/packages/uni-mp-toutiao/src/runtime/pageLifetimes.ts @@ -2,7 +2,7 @@ import { extend } from '@vue/shared' import { MPComponentInstance, - CreateLifetimesOptions + CreateLifetimesOptions, } from '@dcloudio/uni-mp-core' import { $destroyComponent } from '@dcloudio/uni-mp-core' @@ -29,11 +29,11 @@ export function initLifetimes(lifetimesOptions: CreateLifetimesOptions) { // 清理 const webviewId = this.__webviewId__ webviewId && - Object.keys(instances).forEach(key => { + Object.keys(instances).forEach((key) => { if (key.indexOf(webviewId + '_') === 0) { delete instances[key] } }) - } + }, }) } diff --git a/packages/uni-mp-toutiao/src/runtime/parseComponentOptions.ts b/packages/uni-mp-toutiao/src/runtime/parseComponentOptions.ts index e47d6fda0..4b03bb713 100644 --- a/packages/uni-mp-toutiao/src/runtime/parseComponentOptions.ts +++ b/packages/uni-mp-toutiao/src/runtime/parseComponentOptions.ts @@ -13,7 +13,7 @@ export const mocks = [ '__route__', '__webviewId__', '__nodeId__', - '__nodeid__' /* @Deprecated */ + '__nodeid__' /* @Deprecated */, ] export function isPage(mpInstance: MPComponentInstance) { @@ -40,14 +40,14 @@ export function initRelation(mpInstance: MPComponentInstance, detail: Object) { mpInstance.triggerEvent('__l', { vuePid: (detail as any).vuePid, nodeId, - webviewId + webviewId, }) } export function handleLink( this: MPComponentInstance, { - detail: { vuePid, nodeId, webviewId } + detail: { vuePid, nodeId, webviewId }, }: { detail: RelationOptions } diff --git a/packages/uni-mp-toutiao/src/runtime/parsePageOptions.ts b/packages/uni-mp-toutiao/src/runtime/parsePageOptions.ts index ed52fe3d3..004cfea16 100644 --- a/packages/uni-mp-toutiao/src/runtime/parsePageOptions.ts +++ b/packages/uni-mp-toutiao/src/runtime/parsePageOptions.ts @@ -3,6 +3,6 @@ export { isPage, initRelation, handleLink, - parse + parse, } from './parseComponentOptions' export { initLifetimes } from './pageLifetimes' diff --git a/packages/uni-mp-vue/dist/vue.runtime.esm.js b/packages/uni-mp-vue/dist/vue.runtime.esm.js index 5ada232d0..944fae1fe 100644 --- a/packages/uni-mp-vue/dist/vue.runtime.esm.js +++ b/packages/uni-mp-vue/dist/vue.runtime.esm.js @@ -3247,7 +3247,7 @@ function defineEmit() { } // Core API ------------------------------------------------------------------ -const version = "3.0.4"; +const version = "3.0.5"; // import deepCopy from './deepCopy' /** @@ -3661,7 +3661,7 @@ function createVueApp(rootComponent, rootProps = null) { } function applyOptions$1(options, instance, publicThis) { - Object.keys(options).forEach(name => { + Object.keys(options).forEach((name) => { if (name.indexOf('on') === 0) { const hook = options[name]; if (isFunction(hook)) { @@ -3737,7 +3737,7 @@ var plugin = { createMiniProgramApp(instance); return instance; }; - } + }, }; // @ts-ignore diff --git a/packages/uni-mp-vue/src/plugin.ts b/packages/uni-mp-vue/src/plugin.ts index 6003d31bc..7d826106b 100644 --- a/packages/uni-mp-vue/src/plugin.ts +++ b/packages/uni-mp-vue/src/plugin.ts @@ -26,5 +26,5 @@ export default { createMiniProgramApp(instance) return instance } - } + }, } diff --git a/packages/uni-mp-weixin/dist/uni.api.esm.js b/packages/uni-mp-weixin/dist/uni.api.esm.js index 7ef01a08b..aceaa9c2c 100644 --- a/packages/uni-mp-weixin/dist/uni.api.esm.js +++ b/packages/uni-mp-weixin/dist/uni.api.esm.js @@ -23,8 +23,8 @@ const Upx2pxProtocol = [ { name: 'upx', type: [Number, String], - required: true - } + required: true, + }, ]; const EPS = 1e-4; @@ -92,7 +92,7 @@ function queue(hooks, data) { if (res === false) { return { then() { }, - catch() { } + catch() { }, }; } } @@ -101,11 +101,11 @@ function queue(hooks, data) { then(callback) { return callback(data); }, - catch() { } + catch() { }, }); } function wrapperOptions(interceptors, options = {}) { - [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach(name => { + [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach((name) => { const hooks = interceptors[name]; if (!isArray(hooks)) { return; @@ -128,21 +128,21 @@ function wrapperReturnValue(method, returnValue) { if (interceptor && isArray(interceptor.returnValue)) { returnValueHooks.push(...interceptor.returnValue); } - returnValueHooks.forEach(hook => { + returnValueHooks.forEach((hook) => { returnValue = hook(returnValue) || returnValue; }); return returnValue; } function getApiInterceptorHooks(method) { const interceptor = Object.create(null); - Object.keys(globalInterceptors).forEach(hook => { + Object.keys(globalInterceptors).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = globalInterceptors[hook].slice(); } }); const scopedInterceptor = scopedInterceptors[method]; if (scopedInterceptor) { - Object.keys(scopedInterceptor).forEach(hook => { + Object.keys(scopedInterceptor).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); } @@ -155,7 +155,7 @@ function invokeApi(method, api, options, ...params) { if (interceptor && Object.keys(interceptor).length) { if (isArray(interceptor.invoke)) { const res = queue(interceptor.invoke, options); - return res.then(options => { + return res.then((options) => { return api(wrapperOptions(interceptor, options), ...params); }); } @@ -170,13 +170,13 @@ const AddInterceptorProtocol = [ { name: 'method', type: [String, Object], - required: true - } + required: true, + }, ]; const RemoveInterceptorProtocol = AddInterceptorProtocol; function mergeInterceptorHook(interceptors, interceptor) { - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { interceptors[hook] = mergeHook(interceptors[hook], interceptor[hook]); } @@ -186,7 +186,7 @@ function removeInterceptorHook(interceptors, interceptor) { if (!interceptors || !interceptor) { return; } - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { removeHook(interceptors[hook], interceptor[hook]); } @@ -263,10 +263,10 @@ function handlePromise(promise) { return promise; } return promise - .then(data => { + .then((data) => { return [null, data]; }) - .catch(err => [err]); + .catch((err) => [err]); } function shouldPromise(name) { if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) { @@ -278,7 +278,7 @@ function shouldPromise(name) { if (!Promise.prototype.finally) { Promise.prototype.finally = function (onfinally) { const promise = this.constructor; - return this.then(value => promise.resolve(onfinally && onfinally()).then(() => value), reason => promise.resolve(onfinally && onfinally()).then(() => { + return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => { throw reason; })); }; @@ -299,7 +299,7 @@ function promisify(name, api) { return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => { invokeApi(name, api, Object.assign({}, options, { success: resolve, - fail: reject + fail: reject, }), ...params); }))); }; @@ -413,25 +413,25 @@ function initUni(api, protocols) { // event-api // provider-api? return promisify(key, wrapper(key, wx[key])); - } + }, }; return new Proxy({}, UniProxyHandlers); } function initGetProvider(providers) { - return function getProvider({ service, success, fail, complete }) { + return function getProvider({ service, success, fail, complete, }) { let res; if (providers[service]) { res = { errMsg: 'getProvider:ok', service, - provider: providers[service] + provider: providers[service], }; isFunction(success) && success(res); } else { res = { - errMsg: 'getProvider:fail:服务[' + service + ']不存在' + errMsg: 'getProvider:fail:服务[' + service + ']不存在', }; isFunction(fail) && fail(res); } @@ -468,9 +468,9 @@ const previewImage = { } return { indicator: false, - loop: false + loop: false, }; - } + }, }; function addSafeAreaInsets(fromRes, toRes) { if (fromRes.safeArea) { @@ -479,12 +479,12 @@ function addSafeAreaInsets(fromRes, toRes) { top: safeArea.top, left: safeArea.left, right: fromRes.windowWidth - safeArea.right, - bottom: fromRes.windowHeight - safeArea.bottom + bottom: fromRes.windowHeight - safeArea.bottom, }; } } const getSystemInfo = { - returnValue: addSafeAreaInsets + returnValue: addSafeAreaInsets, }; const getSystemInfoSync = getSystemInfo; const redirectTo = {}; @@ -493,7 +493,7 @@ const getProvider = initGetProvider({ oauth: ['weixin'], share: ['weixin'], payment: ['wxpay'], - push: ['weixin'] + push: ['weixin'], }); var shims = /*#__PURE__*/Object.freeze({ diff --git a/packages/uni-mp-weixin/dist/uni.mp.esm.js b/packages/uni-mp-weixin/dist/uni.mp.esm.js index ab155b58b..0d1f352fb 100644 --- a/packages/uni-mp-weixin/dist/uni.mp.esm.js +++ b/packages/uni-mp-weixin/dist/uni.mp.esm.js @@ -50,7 +50,7 @@ const MP_METHODS = [ 'createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', - 'selectComponent' + 'selectComponent', ]; function createEmitFn(oldEmit, ctx) { return function emit(event, ...args) { @@ -77,7 +77,7 @@ function initBaseInstance(instance, options) { { instance.slots = {}; if (isArray(options.slots) && options.slots.length) { - options.slots.forEach(name => { + options.slots.forEach((name) => { instance.slots[name] = true; }); } @@ -88,7 +88,7 @@ function initBaseInstance(instance, options) { function initComponentInstance(instance, options) { initBaseInstance(instance, options); const ctx = instance.ctx; - MP_METHODS.forEach(method => { + MP_METHODS.forEach((method) => { ctx[method] = function (...args) { const mpInstance = ctx.$scope; if (mpInstance && mpInstance[method]) { @@ -106,7 +106,7 @@ function initComponentInstance(instance, options) { } function initMocks(instance, mpInstance, mocks) { const ctx = instance.ctx; - mocks.forEach(mock => { + mocks.forEach((mock) => { if (hasOwn(mpInstance, mock)) { ctx[mock] = mpInstance[mock]; } @@ -125,12 +125,11 @@ const PAGE_HOOKS = [ 'onReachBottom', 'onPullDownRefresh', // 'onShareTimeline', // 右上角菜单,开发者手动注册 - 'onAddToFavorites' - // 'onShareAppMessage' // 右上角菜单,开发者手动注册 + 'onAddToFavorites', ]; function findHooks(vueOptions, hooks = new Set()) { if (vueOptions) { - Object.keys(vueOptions).forEach(name => { + Object.keys(vueOptions).forEach((name) => { if (name.indexOf('on') === 0 && isFunction(vueOptions[name])) { hooks.add(name); } @@ -138,7 +137,7 @@ function findHooks(vueOptions, hooks = new Set()) { if (__VUE_OPTIONS_API__) { const { extends: extendsOptions, mixins } = vueOptions; if (mixins) { - mixins.forEach(mixin => findHooks(mixin, hooks)); + mixins.forEach((mixin) => findHooks(mixin, hooks)); } if (extendsOptions) { findHooks(extendsOptions, hooks); @@ -156,10 +155,10 @@ function initHook(mpOptions, hook, excludes) { } const EXCLUDE_HOOKS = ['onReady']; function initHooks(mpOptions, hooks, excludes = EXCLUDE_HOOKS) { - hooks.forEach(hook => initHook(mpOptions, hook, excludes)); + hooks.forEach((hook) => initHook(mpOptions, hook, excludes)); } function initUnknownHooks(mpOptions, vueOptions, excludes = EXCLUDE_HOOKS) { - findHooks(vueOptions).forEach(hook => initHook(mpOptions, hook, excludes)); + findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes)); } const HOOKS = [ @@ -168,7 +167,7 @@ const HOOKS = [ 'onError', 'onThemeChange', 'onPageNotFound', - 'onUnhandledRejection' + 'onUnhandledRejection', ]; function parseApp(instance, parseAppOptions) { const internalInstance = instance.$; @@ -184,11 +183,11 @@ function parseApp(instance, parseAppOptions) { initBaseInstance(internalInstance, { mpType: 'app', mpInstance: this, - slots: [] + slots: [], }); ctx.globalData = this.globalData; instance.$callHook('onLaunch', options); - } + }, }; const vueOptions = instance.$.type; initHooks(appOptions, HOOKS); @@ -212,7 +211,7 @@ const encode = encodeURIComponent; function stringifyQuery(obj, encodeStr = encode) { const res = obj ? Object.keys(obj) - .map(key => { + .map((key) => { let val = obj[key]; if (typeof val === undefined || val === null) { val = ''; @@ -222,7 +221,7 @@ function stringifyQuery(obj, encodeStr = encode) { } return encodeStr(key) + '=' + encodeStr(val); }) - .filter(x => x.length > 0) + .filter((x) => x.length > 0) .join('&') : null; return res ? `?${res}` : ''; @@ -247,7 +246,7 @@ function initVueIds(vueIds, mpInstance) { } const EXTRAS = ['externalClasses']; function initExtraOptions(miniProgramComponentOptions, vueOptions) { - EXTRAS.forEach(name => { + EXTRAS.forEach((name) => { if (hasOwn(vueOptions, name)) { miniProgramComponentOptions[name] = vueOptions[name]; } @@ -268,12 +267,12 @@ function initRefs(instance, mpInstance) { get() { const $refs = {}; const components = mpInstance.selectAllComponents('.vue-ref'); - components.forEach(component => { + components.forEach((component) => { const ref = component.dataset.ref; $refs[ref] = component.$vm || component; }); const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for'); - forComponents.forEach(component => { + forComponents.forEach((component) => { const ref = component.dataset.ref; if (!$refs[ref]) { $refs[ref] = []; @@ -281,7 +280,7 @@ function initRefs(instance, mpInstance) { $refs[ref].push(component.$vm || component); }); return $refs; - } + }, }); } function findVmByVueId(instance, vuePid) { @@ -324,7 +323,7 @@ function initDefaultProps(isBehavior = false) { if (!isBehavior) { properties.vueId = { type: String, - value: '' + value: '', }; // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots properties.vueSlots = { @@ -336,9 +335,9 @@ function initDefaultProps(isBehavior = false) { $slots[slotName] = true; }); this.setData({ - $slots + $slots, }); - } + }, }; } return properties; @@ -350,14 +349,14 @@ function createProperty(key, prop) { function initProps(mpComponentOptions, rawProps, isBehavior = false) { const properties = initDefaultProps(isBehavior); if (isArray(rawProps)) { - rawProps.forEach(key => { + rawProps.forEach((key) => { properties[key] = createProperty(key, { - type: null + type: null, }); }); } else if (isPlainObject(rawProps)) { - Object.keys(rawProps).forEach(key => { + Object.keys(rawProps).forEach((key) => { const opts = rawProps[key]; if (isPlainObject(opts)) { // title:{type:String,default:''} @@ -369,14 +368,14 @@ function initProps(mpComponentOptions, rawProps, isBehavior = false) { opts.type = parsePropType(key, type); properties[key] = createProperty(key, { type: PROP_TYPES.indexOf(type) !== -1 ? type : null, - value + value, }); } else { // content:String const type = parsePropType(key, opts); properties[key] = createProperty(key, { - type: PROP_TYPES.indexOf(type) !== -1 ? type : null + type: PROP_TYPES.indexOf(type) !== -1 ? type : null, }); } }); @@ -420,7 +419,7 @@ function initBehaviors(vueOptions, initBehavior) { } const behaviors = []; if (isArray(vueBehaviors)) { - vueBehaviors.forEach(behavior => { + vueBehaviors.forEach((behavior) => { behaviors.push(behavior.replace('uni://', `${__PLATFORM_PREFIX__}://`)); if (behavior === 'uni://form-field') { if (isArray(vueProps)) { @@ -430,11 +429,11 @@ function initBehaviors(vueOptions, initBehavior) { else { vueProps.name = { type: String, - default: '' + default: '', }; vueProps.value = { type: [String, Number, Boolean, Array, Object, Date], - default: '' + default: '', }; } } @@ -446,7 +445,7 @@ function initBehaviors(vueOptions, initBehavior) { behaviors.push(initBehavior(behavior)); } if (isArray(vueMixins)) { - vueMixins.forEach(vueMixin => { + vueMixins.forEach((vueMixin) => { if (vueMixin.props) { const behavior = {}; initProps(behavior, vueMixin.props, true); @@ -475,7 +474,7 @@ function getValue(obj, path) { } function getExtraValue(instance, dataPathsArray) { let context = instance; - dataPathsArray.forEach(dataPathArray => { + dataPathsArray.forEach((dataPathArray) => { const dataPath = dataPathArray[0]; const value = dataPathArray[2]; if (dataPath || typeof value !== 'undefined') { @@ -505,12 +504,12 @@ function getExtraValue(instance, dataPathsArray) { } else { if (isArray(vFor)) { - context = vFor.find(vForItem => { + context = vFor.find((vForItem) => { return getValue(vForItem, propPath) === value; }); } else if (isPlainObject(vFor)) { - context = Object.keys(vFor).find(vForKey => { + context = Object.keys(vFor).find((vForKey) => { return getValue(vFor[vForKey], propPath) === value; }); } @@ -600,7 +599,7 @@ function processEventArgs(instance, event, args = [], extra = [], isCustom, meth } const extraObj = processEventExtra(instance, extra, event); const ret = []; - args.forEach(arg => { + args.forEach((arg) => { if (arg === '$event') { if (methodName === '__set_model' && !isCustom) { // input v-model value @@ -712,11 +711,11 @@ function handleEvent(event) { } } -function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handleLink, initLifetimes }) { +function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handleLink, initLifetimes, }) { vueOptions = vueOptions.default || vueOptions; const options = { multipleSlots: true, - addGlobalClass: true + addGlobalClass: true, }; if (vueOptions.options) { extend(options, vueOptions.options); @@ -733,12 +732,12 @@ function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handle }, resize(size) { this.$vm && this.$vm.$callHook('onPageResize', size); - } + }, }, methods: { __l: handleLink, - __e: handleEvent - } + __e: handleEvent, + }, }; if (__VUE_OPTIONS_API__) { applyOptions(mpComponentOptions, vueOptions, initBehavior); @@ -772,19 +771,19 @@ function $destroyComponent(instance) { } function parsePage(vueOptions, parseOptions) { - const { parse, mocks, isPage, initRelation, handleLink, initLifetimes } = parseOptions; + const { parse, mocks, isPage, initRelation, handleLink, initLifetimes, } = parseOptions; const miniProgramPageOptions = parseComponent(vueOptions, { mocks, isPage, initRelation, handleLink, - initLifetimes + initLifetimes, }); const methods = miniProgramPageOptions.methods; methods.onLoad = function (query) { this.options = query; this.$page = { - fullPath: '/' + this.route + stringifyQuery(query) + fullPath: '/' + this.route + stringifyQuery(query), }; return this.$vm && this.$vm.$callHook('onLoad', query); }; @@ -834,13 +833,13 @@ Component = function (options) { return MPComponent(options); }; -function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { +function initLifetimes({ mocks, isPage, initRelation, vueOptions, }) { return { attached() { const properties = this.properties; initVueIds(properties.vueId, this); const relationOptions = { - vuePid: this._$vuePid + vuePid: this._$vuePid, }; // 处理父子关系 initRelation(this, relationOptions); @@ -848,7 +847,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { const mpInstance = this; this.$vm = $createComponent({ type: vueOptions, - props: properties + props: properties, }, { mpType: isPage(mpInstance) ? 'page' : 'component', mpInstance, @@ -858,7 +857,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { initRefs(instance, mpInstance); initMocks(instance, mpInstance, mocks); initComponentInstance(instance, options); - } + }, }); }, ready() { @@ -871,7 +870,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { }, detached() { this.$vm && $destroyComponent(this.$vm); - } + }, }; } diff --git a/packages/uni-mp-weixin/src/api/protocols.ts b/packages/uni-mp-weixin/src/api/protocols.ts index 4dffbdf34..fdbeb1022 100644 --- a/packages/uni-mp-weixin/src/api/protocols.ts +++ b/packages/uni-mp-weixin/src/api/protocols.ts @@ -2,5 +2,5 @@ export { redirectTo, previewImage, getSystemInfo, - getSystemInfoSync + getSystemInfoSync, } from '@dcloudio/uni-mp-core' diff --git a/packages/uni-mp-weixin/src/api/shims.ts b/packages/uni-mp-weixin/src/api/shims.ts index 3bc54dc69..7a7ef9de1 100644 --- a/packages/uni-mp-weixin/src/api/shims.ts +++ b/packages/uni-mp-weixin/src/api/shims.ts @@ -4,5 +4,5 @@ export const getProvider = initGetProvider({ oauth: ['weixin'], share: ['weixin'], payment: ['wxpay'], - push: ['weixin'] + push: ['weixin'], }) diff --git a/packages/uni-mp-weixin/src/runtime/index.ts b/packages/uni-mp-weixin/src/runtime/index.ts index bc1886f63..4092c09a4 100644 --- a/packages/uni-mp-weixin/src/runtime/index.ts +++ b/packages/uni-mp-weixin/src/runtime/index.ts @@ -1,7 +1,7 @@ import { initCreateApp, initCreatePage, - initCreateComponent + initCreateComponent, } from '@dcloudio/uni-mp-core' import '@dcloudio/uni-mp-polyfill' diff --git a/packages/uni-mp-weixin/src/runtime/lifetimes.ts b/packages/uni-mp-weixin/src/runtime/lifetimes.ts index 7f73c9b6c..43bc46fea 100644 --- a/packages/uni-mp-weixin/src/runtime/lifetimes.ts +++ b/packages/uni-mp-weixin/src/runtime/lifetimes.ts @@ -4,7 +4,7 @@ import { RelationOptions, MPComponentInstance, CreateComponentOptions, - CreateLifetimesOptions + CreateLifetimesOptions, } from '@dcloudio/uni-mp-core' import { @@ -13,21 +13,21 @@ import { initVueIds, $createComponent, $destroyComponent, - initComponentInstance + initComponentInstance, } from '@dcloudio/uni-mp-core' export function initLifetimes({ mocks, isPage, initRelation, - vueOptions + vueOptions, }: CreateLifetimesOptions) { return { attached(this: MPComponentInstance) { const properties = this.properties initVueIds(properties.vueId, this) const relationOptions: RelationOptions = { - vuePid: this._$vuePid + vuePid: this._$vuePid, } // 处理父子关系 initRelation(this, relationOptions) @@ -36,7 +36,7 @@ export function initLifetimes({ this.$vm = $createComponent( { type: vueOptions, - props: properties + props: properties, }, { mpType: isPage(mpInstance) ? 'page' : 'component', @@ -50,7 +50,7 @@ export function initLifetimes({ initRefs(instance, mpInstance) initMocks(instance, mpInstance, mocks) initComponentInstance(instance, options) - } + }, } ) as ComponentPublicInstance }, @@ -66,6 +66,6 @@ export function initLifetimes({ }, detached(this: MPComponentInstance) { this.$vm && $destroyComponent(this.$vm) - } + }, } } diff --git a/packages/uni-mp-weixin/src/runtime/parseOptions.ts b/packages/uni-mp-weixin/src/runtime/parseOptions.ts index 268c535c9..279649501 100644 --- a/packages/uni-mp-weixin/src/runtime/parseOptions.ts +++ b/packages/uni-mp-weixin/src/runtime/parseOptions.ts @@ -10,7 +10,10 @@ export function isPage(mpInstance: MPComponentInstance) { return !!mpInstance.route } -export function initRelation(mpInstance: MPComponentInstance, detail: object) { +export function initRelation( + mpInstance: MPComponentInstance, + detail: Record +) { mpInstance.triggerEvent('__l', detail) } diff --git a/packages/uni-quickapp-webview/dist/uni.api.esm.js b/packages/uni-quickapp-webview/dist/uni.api.esm.js index 5c520ea24..fa48f657a 100644 --- a/packages/uni-quickapp-webview/dist/uni.api.esm.js +++ b/packages/uni-quickapp-webview/dist/uni.api.esm.js @@ -23,8 +23,8 @@ const Upx2pxProtocol = [ { name: 'upx', type: [Number, String], - required: true - } + required: true, + }, ]; const EPS = 1e-4; @@ -92,7 +92,7 @@ function queue(hooks, data) { if (res === false) { return { then() { }, - catch() { } + catch() { }, }; } } @@ -101,11 +101,11 @@ function queue(hooks, data) { then(callback) { return callback(data); }, - catch() { } + catch() { }, }); } function wrapperOptions(interceptors, options = {}) { - [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach(name => { + [HOOKS.SUCCESS, HOOKS.FAIL, HOOKS.COMPLETE].forEach((name) => { const hooks = interceptors[name]; if (!isArray(hooks)) { return; @@ -128,21 +128,21 @@ function wrapperReturnValue(method, returnValue) { if (interceptor && isArray(interceptor.returnValue)) { returnValueHooks.push(...interceptor.returnValue); } - returnValueHooks.forEach(hook => { + returnValueHooks.forEach((hook) => { returnValue = hook(returnValue) || returnValue; }); return returnValue; } function getApiInterceptorHooks(method) { const interceptor = Object.create(null); - Object.keys(globalInterceptors).forEach(hook => { + Object.keys(globalInterceptors).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = globalInterceptors[hook].slice(); } }); const scopedInterceptor = scopedInterceptors[method]; if (scopedInterceptor) { - Object.keys(scopedInterceptor).forEach(hook => { + Object.keys(scopedInterceptor).forEach((hook) => { if (hook !== 'returnValue') { interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); } @@ -155,7 +155,7 @@ function invokeApi(method, api, options, ...params) { if (interceptor && Object.keys(interceptor).length) { if (isArray(interceptor.invoke)) { const res = queue(interceptor.invoke, options); - return res.then(options => { + return res.then((options) => { return api(wrapperOptions(interceptor, options), ...params); }); } @@ -170,13 +170,13 @@ const AddInterceptorProtocol = [ { name: 'method', type: [String, Object], - required: true - } + required: true, + }, ]; const RemoveInterceptorProtocol = AddInterceptorProtocol; function mergeInterceptorHook(interceptors, interceptor) { - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { interceptors[hook] = mergeHook(interceptors[hook], interceptor[hook]); } @@ -186,7 +186,7 @@ function removeInterceptorHook(interceptors, interceptor) { if (!interceptors || !interceptor) { return; } - Object.keys(interceptor).forEach(hook => { + Object.keys(interceptor).forEach((hook) => { if (isFunction(interceptor[hook])) { removeHook(interceptors[hook], interceptor[hook]); } @@ -263,10 +263,10 @@ function handlePromise(promise) { return promise; } return promise - .then(data => { + .then((data) => { return [null, data]; }) - .catch(err => [err]); + .catch((err) => [err]); } function shouldPromise(name) { if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) { @@ -278,7 +278,7 @@ function shouldPromise(name) { if (!Promise.prototype.finally) { Promise.prototype.finally = function (onfinally) { const promise = this.constructor; - return this.then(value => promise.resolve(onfinally && onfinally()).then(() => value), reason => promise.resolve(onfinally && onfinally()).then(() => { + return this.then((value) => promise.resolve(onfinally && onfinally()).then(() => value), (reason) => promise.resolve(onfinally && onfinally()).then(() => { throw reason; })); }; @@ -299,7 +299,7 @@ function promisify(name, api) { return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => { invokeApi(name, api, Object.assign({}, options, { success: resolve, - fail: reject + fail: reject, }), ...params); }))); }; @@ -413,25 +413,25 @@ function initUni(api, protocols) { // event-api // provider-api? return promisify(key, wrapper(key, qa[key])); - } + }, }; return new Proxy({}, UniProxyHandlers); } function initGetProvider(providers) { - return function getProvider({ service, success, fail, complete }) { + return function getProvider({ service, success, fail, complete, }) { let res; if (providers[service]) { res = { errMsg: 'getProvider:ok', service, - provider: providers[service] + provider: providers[service], }; isFunction(success) && success(res); } else { res = { - errMsg: 'getProvider:fail:服务[' + service + ']不存在' + errMsg: 'getProvider:fail:服务[' + service + ']不存在', }; isFunction(fail) && fail(res); } @@ -468,9 +468,9 @@ const previewImage = { } return { indicator: false, - loop: false + loop: false, }; - } + }, }; function addSafeAreaInsets(fromRes, toRes) { if (fromRes.safeArea) { @@ -479,12 +479,12 @@ function addSafeAreaInsets(fromRes, toRes) { top: safeArea.top, left: safeArea.left, right: fromRes.windowWidth - safeArea.right, - bottom: fromRes.windowHeight - safeArea.bottom + bottom: fromRes.windowHeight - safeArea.bottom, }; } } const getSystemInfo = { - returnValue: addSafeAreaInsets + returnValue: addSafeAreaInsets, }; const getSystemInfoSync = getSystemInfo; const redirectTo = {}; @@ -493,7 +493,7 @@ const providers = { oauth: [], share: [], payment: [], - push: [] + push: [], }; if (qa.canIUse('getAccountProvider')) { providers.oauth.push(qa.getAccountProvider()); diff --git a/packages/uni-quickapp-webview/dist/uni.mp.esm.js b/packages/uni-quickapp-webview/dist/uni.mp.esm.js index 8d3368f53..5b1df1a4c 100644 --- a/packages/uni-quickapp-webview/dist/uni.mp.esm.js +++ b/packages/uni-quickapp-webview/dist/uni.mp.esm.js @@ -50,7 +50,7 @@ const MP_METHODS = [ 'createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', - 'selectComponent' + 'selectComponent', ]; function createEmitFn(oldEmit, ctx) { return function emit(event, ...args) { @@ -77,7 +77,7 @@ function initBaseInstance(instance, options) { { instance.slots = {}; if (isArray(options.slots) && options.slots.length) { - options.slots.forEach(name => { + options.slots.forEach((name) => { instance.slots[name] = true; }); } @@ -88,7 +88,7 @@ function initBaseInstance(instance, options) { function initComponentInstance(instance, options) { initBaseInstance(instance, options); const ctx = instance.ctx; - MP_METHODS.forEach(method => { + MP_METHODS.forEach((method) => { ctx[method] = function (...args) { const mpInstance = ctx.$scope; if (mpInstance && mpInstance[method]) { @@ -106,7 +106,7 @@ function initComponentInstance(instance, options) { } function initMocks(instance, mpInstance, mocks) { const ctx = instance.ctx; - mocks.forEach(mock => { + mocks.forEach((mock) => { if (hasOwn(mpInstance, mock)) { ctx[mock] = mpInstance[mock]; } @@ -125,12 +125,11 @@ const PAGE_HOOKS = [ 'onReachBottom', 'onPullDownRefresh', // 'onShareTimeline', // 右上角菜单,开发者手动注册 - 'onAddToFavorites' - // 'onShareAppMessage' // 右上角菜单,开发者手动注册 + 'onAddToFavorites', ]; function findHooks(vueOptions, hooks = new Set()) { if (vueOptions) { - Object.keys(vueOptions).forEach(name => { + Object.keys(vueOptions).forEach((name) => { if (name.indexOf('on') === 0 && isFunction(vueOptions[name])) { hooks.add(name); } @@ -138,7 +137,7 @@ function findHooks(vueOptions, hooks = new Set()) { if (__VUE_OPTIONS_API__) { const { extends: extendsOptions, mixins } = vueOptions; if (mixins) { - mixins.forEach(mixin => findHooks(mixin, hooks)); + mixins.forEach((mixin) => findHooks(mixin, hooks)); } if (extendsOptions) { findHooks(extendsOptions, hooks); @@ -156,10 +155,10 @@ function initHook(mpOptions, hook, excludes) { } const EXCLUDE_HOOKS = ['onReady']; function initHooks(mpOptions, hooks, excludes = EXCLUDE_HOOKS) { - hooks.forEach(hook => initHook(mpOptions, hook, excludes)); + hooks.forEach((hook) => initHook(mpOptions, hook, excludes)); } function initUnknownHooks(mpOptions, vueOptions, excludes = EXCLUDE_HOOKS) { - findHooks(vueOptions).forEach(hook => initHook(mpOptions, hook, excludes)); + findHooks(vueOptions).forEach((hook) => initHook(mpOptions, hook, excludes)); } const HOOKS = [ @@ -168,7 +167,7 @@ const HOOKS = [ 'onError', 'onThemeChange', 'onPageNotFound', - 'onUnhandledRejection' + 'onUnhandledRejection', ]; function parseApp(instance, parseAppOptions) { const internalInstance = instance.$; @@ -184,11 +183,11 @@ function parseApp(instance, parseAppOptions) { initBaseInstance(internalInstance, { mpType: 'app', mpInstance: this, - slots: [] + slots: [], }); ctx.globalData = this.globalData; instance.$callHook('onLaunch', options); - } + }, }; const vueOptions = instance.$.type; initHooks(appOptions, HOOKS); @@ -212,7 +211,7 @@ const encode = encodeURIComponent; function stringifyQuery(obj, encodeStr = encode) { const res = obj ? Object.keys(obj) - .map(key => { + .map((key) => { let val = obj[key]; if (typeof val === undefined || val === null) { val = ''; @@ -222,7 +221,7 @@ function stringifyQuery(obj, encodeStr = encode) { } return encodeStr(key) + '=' + encodeStr(val); }) - .filter(x => x.length > 0) + .filter((x) => x.length > 0) .join('&') : null; return res ? `?${res}` : ''; @@ -247,7 +246,7 @@ function initVueIds(vueIds, mpInstance) { } const EXTRAS = ['externalClasses']; function initExtraOptions(miniProgramComponentOptions, vueOptions) { - EXTRAS.forEach(name => { + EXTRAS.forEach((name) => { if (hasOwn(vueOptions, name)) { miniProgramComponentOptions[name] = vueOptions[name]; } @@ -268,12 +267,12 @@ function initRefs(instance, mpInstance) { get() { const $refs = {}; const components = mpInstance.selectAllComponents('.vue-ref'); - components.forEach(component => { + components.forEach((component) => { const ref = component.dataset.ref; $refs[ref] = component.$vm || component; }); const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for'); - forComponents.forEach(component => { + forComponents.forEach((component) => { const ref = component.dataset.ref; if (!$refs[ref]) { $refs[ref] = []; @@ -281,7 +280,7 @@ function initRefs(instance, mpInstance) { $refs[ref].push(component.$vm || component); }); return $refs; - } + }, }); } @@ -305,7 +304,7 @@ function initDefaultProps(isBehavior = false) { if (!isBehavior) { properties.vueId = { type: String, - value: '' + value: '', }; // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots properties.vueSlots = { @@ -317,9 +316,9 @@ function initDefaultProps(isBehavior = false) { $slots[slotName] = true; }); this.setData({ - $slots + $slots, }); - } + }, }; } return properties; @@ -331,14 +330,14 @@ function createProperty(key, prop) { function initProps(mpComponentOptions, rawProps, isBehavior = false) { const properties = initDefaultProps(isBehavior); if (isArray(rawProps)) { - rawProps.forEach(key => { + rawProps.forEach((key) => { properties[key] = createProperty(key, { - type: null + type: null, }); }); } else if (isPlainObject(rawProps)) { - Object.keys(rawProps).forEach(key => { + Object.keys(rawProps).forEach((key) => { const opts = rawProps[key]; if (isPlainObject(opts)) { // title:{type:String,default:''} @@ -350,14 +349,14 @@ function initProps(mpComponentOptions, rawProps, isBehavior = false) { opts.type = parsePropType(key, type); properties[key] = createProperty(key, { type: PROP_TYPES.indexOf(type) !== -1 ? type : null, - value + value, }); } else { // content:String const type = parsePropType(key, opts); properties[key] = createProperty(key, { - type: PROP_TYPES.indexOf(type) !== -1 ? type : null + type: PROP_TYPES.indexOf(type) !== -1 ? type : null, }); } }); @@ -401,7 +400,7 @@ function initBehaviors(vueOptions, initBehavior) { } const behaviors = []; if (isArray(vueBehaviors)) { - vueBehaviors.forEach(behavior => { + vueBehaviors.forEach((behavior) => { behaviors.push(behavior.replace('uni://', `${__PLATFORM_PREFIX__}://`)); if (behavior === 'uni://form-field') { if (isArray(vueProps)) { @@ -411,11 +410,11 @@ function initBehaviors(vueOptions, initBehavior) { else { vueProps.name = { type: String, - default: '' + default: '', }; vueProps.value = { type: [String, Number, Boolean, Array, Object, Date], - default: '' + default: '', }; } } @@ -427,7 +426,7 @@ function initBehaviors(vueOptions, initBehavior) { behaviors.push(initBehavior(behavior)); } if (isArray(vueMixins)) { - vueMixins.forEach(vueMixin => { + vueMixins.forEach((vueMixin) => { if (vueMixin.props) { const behavior = {}; initProps(behavior, vueMixin.props, true); @@ -456,7 +455,7 @@ function getValue(obj, path) { } function getExtraValue(instance, dataPathsArray) { let context = instance; - dataPathsArray.forEach(dataPathArray => { + dataPathsArray.forEach((dataPathArray) => { const dataPath = dataPathArray[0]; const value = dataPathArray[2]; if (dataPath || typeof value !== 'undefined') { @@ -486,12 +485,12 @@ function getExtraValue(instance, dataPathsArray) { } else { if (isArray(vFor)) { - context = vFor.find(vForItem => { + context = vFor.find((vForItem) => { return getValue(vForItem, propPath) === value; }); } else if (isPlainObject(vFor)) { - context = Object.keys(vFor).find(vForKey => { + context = Object.keys(vFor).find((vForKey) => { return getValue(vFor[vForKey], propPath) === value; }); } @@ -581,7 +580,7 @@ function processEventArgs(instance, event, args = [], extra = [], isCustom, meth } const extraObj = processEventExtra(instance, extra, event); const ret = []; - args.forEach(arg => { + args.forEach((arg) => { if (arg === '$event') { if (methodName === '__set_model' && !isCustom) { // input v-model value @@ -693,11 +692,11 @@ function handleEvent(event) { } } -function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handleLink, initLifetimes }) { +function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handleLink, initLifetimes, }) { vueOptions = vueOptions.default || vueOptions; const options = { multipleSlots: true, - addGlobalClass: true + addGlobalClass: true, }; if (vueOptions.options) { extend(options, vueOptions.options); @@ -714,12 +713,12 @@ function parseComponent(vueOptions, { parse, mocks, isPage, initRelation, handle }, resize(size) { this.$vm && this.$vm.$callHook('onPageResize', size); - } + }, }, methods: { __l: handleLink, - __e: handleEvent - } + __e: handleEvent, + }, }; if (__VUE_OPTIONS_API__) { applyOptions(mpComponentOptions, vueOptions, initBehavior); @@ -753,19 +752,19 @@ function $destroyComponent(instance) { } function parsePage(vueOptions, parseOptions) { - const { parse, mocks, isPage, initRelation, handleLink, initLifetimes } = parseOptions; + const { parse, mocks, isPage, initRelation, handleLink, initLifetimes, } = parseOptions; const miniProgramPageOptions = parseComponent(vueOptions, { mocks, isPage, initRelation, handleLink, - initLifetimes + initLifetimes, }); const methods = miniProgramPageOptions.methods; methods.onLoad = function (query) { this.options = query; this.$page = { - fullPath: '/' + this.route + stringifyQuery(query) + fullPath: '/' + this.route + stringifyQuery(query), }; return this.$vm && this.$vm.$callHook('onLoad', query); }; @@ -900,13 +899,13 @@ function initInjections(instance) { } } -function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { +function initLifetimes({ mocks, isPage, initRelation, vueOptions, }) { return { attached() { const properties = this.properties; initVueIds(properties.vueId, this); const relationOptions = { - vuePid: this._$vuePid + vuePid: this._$vuePid, }; // 初始化 vue 实例 const mpInstance = this; @@ -916,7 +915,7 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { } this.$vm = $createComponent({ type: vueOptions, - props: properties + props: properties, }, { mpType, mpInstance, @@ -926,14 +925,14 @@ function initLifetimes({ mocks, isPage, initRelation, vueOptions }) { initRefs(instance, mpInstance); initMocks(instance, mpInstance, mocks); initComponentInstance(instance, options); - } + }, }); // 处理父子关系 initRelation(this, relationOptions); }, detached() { this.$vm && $destroyComponent(this.$vm); - } + }, }; } @@ -962,12 +961,12 @@ function initLifetimes$1(lifetimesOptions) { // 清理 const webviewId = this.__webviewId__; webviewId && - Object.keys(instances).forEach(key => { + Object.keys(instances).forEach((key) => { if (key.indexOf(webviewId + '_') === 0) { delete instances[key]; } }); - } + }, }); } @@ -983,10 +982,10 @@ function initRelation(mpInstance) { instances[webviewId + '_' + nodeId] = mpInstance.$vm; mpInstance.triggerEvent('__l', { nodeId, - webviewId + webviewId, }); } -function handleLink({ detail: { nodeId, webviewId } }) { +function handleLink({ detail: { nodeId, webviewId }, }) { const vm = instances[webviewId + '_' + nodeId]; if (!vm) { return; @@ -1026,7 +1025,7 @@ function handleLink({ detail: { nodeId, webviewId } }) { else { (parentVm._$childVues || (parentVm._$childVues = [])).push([ createdVm, - mountedVm + mountedVm, ]); } } diff --git a/packages/uni-quickapp-webview/src/api/protocols.ts b/packages/uni-quickapp-webview/src/api/protocols.ts index 4dffbdf34..fdbeb1022 100644 --- a/packages/uni-quickapp-webview/src/api/protocols.ts +++ b/packages/uni-quickapp-webview/src/api/protocols.ts @@ -2,5 +2,5 @@ export { redirectTo, previewImage, getSystemInfo, - getSystemInfoSync + getSystemInfoSync, } from '@dcloudio/uni-mp-core' diff --git a/packages/uni-quickapp-webview/src/api/shims.ts b/packages/uni-quickapp-webview/src/api/shims.ts index 895588129..882a40558 100644 --- a/packages/uni-quickapp-webview/src/api/shims.ts +++ b/packages/uni-quickapp-webview/src/api/shims.ts @@ -4,7 +4,7 @@ const providers = { oauth: [] as string[], share: [], payment: [] as string[], - push: [] + push: [], } if (qa.canIUse('getAccountProvider')) { diff --git a/packages/uni-quickapp-webview/src/runtime/index.ts b/packages/uni-quickapp-webview/src/runtime/index.ts index 0deb8093e..7560418aa 100644 --- a/packages/uni-quickapp-webview/src/runtime/index.ts +++ b/packages/uni-quickapp-webview/src/runtime/index.ts @@ -1,7 +1,7 @@ import { initCreateApp, initCreatePage, - initCreateComponent + initCreateComponent, } from '@dcloudio/uni-mp-core' import '@dcloudio/uni-mp-polyfill' diff --git a/packages/uni-quickapp-webview/src/runtime/parseComponentOptions.ts b/packages/uni-quickapp-webview/src/runtime/parseComponentOptions.ts index 5705e4d8d..0e1e0d341 100644 --- a/packages/uni-quickapp-webview/src/runtime/parseComponentOptions.ts +++ b/packages/uni-quickapp-webview/src/runtime/parseComponentOptions.ts @@ -3,14 +3,14 @@ import { MPComponentInstance } from '@dcloudio/uni-mp-core' import { instances, initProvide, - initInjections + initInjections, } from '@dcloudio/uni-mp-toutiao' export { mocks, isPage } from '@dcloudio/uni-mp-baidu' export { parseComponent as parse, - initComponentLifetimes as initLifetimes + initComponentLifetimes as initLifetimes, } from '@dcloudio/uni-mp-toutiao' interface RelationOptions { @@ -25,14 +25,14 @@ export function initRelation(mpInstance: MPComponentInstance) { instances[webviewId + '_' + nodeId] = mpInstance.$vm mpInstance.triggerEvent('__l', { nodeId, - webviewId + webviewId, }) } export function handleLink( this: MPComponentInstance, { - detail: { nodeId, webviewId } + detail: { nodeId, webviewId }, }: { detail: RelationOptions } @@ -48,7 +48,7 @@ export function handleLink( vm.$.parent = parentVm.$ - const createdVm = function() { + const createdVm = function () { if (__VUE_OPTIONS_API__) { ;(parentVm as any).$children.push(vm) const parent = parentVm.$ as any @@ -60,7 +60,7 @@ export function handleLink( } vm.$callSyncHook('created') } - const mountedVm = function() { + const mountedVm = function () { // 处理当前 vm 子 if (vm._$childVues) { vm._$childVues.forEach(([createdVm]: Function[]) => createdVm()) @@ -77,7 +77,7 @@ export function handleLink( } else { ;(parentVm._$childVues || (parentVm._$childVues = [])).push([ createdVm, - mountedVm + mountedVm, ]) } } diff --git a/packages/uni-quickapp-webview/src/runtime/parsePageOptions.ts b/packages/uni-quickapp-webview/src/runtime/parsePageOptions.ts index b1dd49d97..dd00aa0ba 100644 --- a/packages/uni-quickapp-webview/src/runtime/parsePageOptions.ts +++ b/packages/uni-quickapp-webview/src/runtime/parsePageOptions.ts @@ -2,9 +2,9 @@ export { mocks, isPage, initRelation, - handleLink + handleLink, } from './parseComponentOptions' export { parsePage as parse, - initPageLifetimes as initLifetimes + initPageLifetimes as initLifetimes, } from '@dcloudio/uni-mp-toutiao' diff --git a/packages/uni-shared/dist/uni-shared.cjs.js b/packages/uni-shared/dist/uni-shared.cjs.js index 285a6e1ce..0e237b01c 100644 --- a/packages/uni-shared/dist/uni-shared.cjs.js +++ b/packages/uni-shared/dist/uni-shared.cjs.js @@ -35,7 +35,7 @@ const encode = encodeURIComponent; function stringifyQuery(obj, encodeStr = encode) { const res = obj ? Object.keys(obj) - .map(key => { + .map((key) => { let val = obj[key]; if (typeof val === undefined || val === null) { val = ''; @@ -45,7 +45,7 @@ function stringifyQuery(obj, encodeStr = encode) { } return encodeStr(key) + '=' + encodeStr(val); }) - .filter(x => x.length > 0) + .filter((x) => x.length > 0) .join('&') : null; return res ? `?${res}` : ''; @@ -92,7 +92,7 @@ const BUILT_IN_TAGS = [ 'uni-textarea', 'uni-video', 'uni-view', - 'uni-web-view' + 'uni-web-view', ]; const TAGS = [ 'uni-app', @@ -112,7 +112,7 @@ const TAGS = [ 'uni-modal', 'uni-toast', 'uni-resize-sensor', - 'uni-shadow-root' + 'uni-shadow-root', ]; function isBuiltInComponent(tag) { return BUILT_IN_TAGS.indexOf('uni-' + tag) !== -1; diff --git a/packages/uni-shared/dist/uni-shared.esm.js b/packages/uni-shared/dist/uni-shared.esm.js index 76d7ecfb0..82e921386 100644 --- a/packages/uni-shared/dist/uni-shared.esm.js +++ b/packages/uni-shared/dist/uni-shared.esm.js @@ -31,7 +31,7 @@ const encode = encodeURIComponent; function stringifyQuery(obj, encodeStr = encode) { const res = obj ? Object.keys(obj) - .map(key => { + .map((key) => { let val = obj[key]; if (typeof val === undefined || val === null) { val = ''; @@ -41,7 +41,7 @@ function stringifyQuery(obj, encodeStr = encode) { } return encodeStr(key) + '=' + encodeStr(val); }) - .filter(x => x.length > 0) + .filter((x) => x.length > 0) .join('&') : null; return res ? `?${res}` : ''; @@ -88,7 +88,7 @@ const BUILT_IN_TAGS = [ 'uni-textarea', 'uni-video', 'uni-view', - 'uni-web-view' + 'uni-web-view', ]; const TAGS = [ 'uni-app', @@ -108,7 +108,7 @@ const TAGS = [ 'uni-modal', 'uni-toast', 'uni-resize-sensor', - 'uni-shadow-root' + 'uni-shadow-root', ]; function isBuiltInComponent(tag) { return BUILT_IN_TAGS.indexOf('uni-' + tag) !== -1; diff --git a/packages/uni-shared/src/debounce.ts b/packages/uni-shared/src/debounce.ts index 7ffdcfb5b..5f2970a2b 100644 --- a/packages/uni-shared/src/debounce.ts +++ b/packages/uni-shared/src/debounce.ts @@ -1,11 +1,11 @@ export function debounce(fn: Function, delay: number) { let timeout: any - const newFn = function(this: any) { + const newFn = function (this: any) { clearTimeout(timeout) const timerFn = () => fn.apply(this, arguments) timeout = setTimeout(timerFn, delay) } - newFn.cancel = function() { + newFn.cancel = function () { clearTimeout(timeout) } return newFn diff --git a/packages/uni-shared/src/query.ts b/packages/uni-shared/src/query.ts index ed8d42223..e724c4b81 100644 --- a/packages/uni-shared/src/query.ts +++ b/packages/uni-shared/src/query.ts @@ -4,7 +4,7 @@ const encode = encodeURIComponent export function stringifyQuery(obj?: Record, encodeStr = encode) { const res = obj ? Object.keys(obj) - .map(key => { + .map((key) => { let val = obj[key] if (typeof val === undefined || val === null) { val = '' @@ -13,7 +13,7 @@ export function stringifyQuery(obj?: Record, encodeStr = encode) { } return encodeStr(key) + '=' + encodeStr(val) }) - .filter(x => x.length > 0) + .filter((x) => x.length > 0) .join('&') : null return res ? `?${res}` : '' diff --git a/packages/uni-shared/src/tags.ts b/packages/uni-shared/src/tags.ts index 6b455f87b..f949c0721 100644 --- a/packages/uni-shared/src/tags.ts +++ b/packages/uni-shared/src/tags.ts @@ -41,7 +41,7 @@ export const BUILT_IN_TAGS = [ 'uni-textarea', 'uni-video', 'uni-view', - 'uni-web-view' + 'uni-web-view', ] export const TAGS = [ @@ -62,7 +62,7 @@ export const TAGS = [ 'uni-modal', 'uni-toast', 'uni-resize-sensor', - 'uni-shadow-root' + 'uni-shadow-root', ] export function isBuiltInComponent(tag: string) { diff --git a/packages/uni-vue/src/apiLifecycle.ts b/packages/uni-vue/src/apiLifecycle.ts index 675e43967..786619d72 100644 --- a/packages/uni-vue/src/apiLifecycle.ts +++ b/packages/uni-vue/src/apiLifecycle.ts @@ -32,7 +32,7 @@ export const enum UniLifecycleHooks { ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = 'onNavigationBarSearchInputClicked', ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = 'onNavigationBarSearchInputChanged', ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = 'onNavigationBarSearchInputConfirmed', - ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = 'onNavigationBarSearchInputFocusChanged' + ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = 'onNavigationBarSearchInputFocusChanged', } export const createHook = any>( diff --git a/packages/uni-vue/src/componentOptions.ts b/packages/uni-vue/src/componentOptions.ts index 88d857f89..1e2fd2f23 100644 --- a/packages/uni-vue/src/componentOptions.ts +++ b/packages/uni-vue/src/componentOptions.ts @@ -3,7 +3,7 @@ import { isFunction } from '@vue/shared' import { ComponentOptions, ComponentInternalInstance, - ComponentPublicInstance + ComponentPublicInstance, } from '@vue/runtime-core' // @ts-ignore import { injectHook } from 'vue' @@ -13,7 +13,7 @@ export function applyOptions( instance: ComponentInternalInstance, publicThis: ComponentPublicInstance ) { - Object.keys(options).forEach(name => { + Object.keys(options).forEach((name) => { if (name.indexOf('on') === 0) { const hook = options[name] if (isFunction(hook)) { diff --git a/packages/vite-plugin-uni/package.json b/packages/vite-plugin-uni/package.json index 65f096463..ea52138bd 100644 --- a/packages/vite-plugin-uni/package.json +++ b/packages/vite-plugin-uni/package.json @@ -25,10 +25,15 @@ "debug": "^4.3.1", "estree-walker": "^2.0.1", "fs-extra": "^9.0.1", - "magic-string": "^0.25.7" + "jsonc-parser": "^3.0.0", + "magic-string": "^0.25.7", + "slash": "^3.0.0" }, "peerDependencies": { "@dcloudio/uni-cli-shared": "^3.0.0", - "vite": "^2.0.0-beta.4" + "vite": "^2.0.0-beta.31" + }, + "devDependencies": { + "@types/sass": "^1.16.0" } } diff --git a/packages/vite-plugin-uni/src/build/buildPluginCopy.ts b/packages/vite-plugin-uni/src/build/buildPluginCopy.ts index e19947117..817341573 100644 --- a/packages/vite-plugin-uni/src/build/buildPluginCopy.ts +++ b/packages/vite-plugin-uni/src/build/buildPluginCopy.ts @@ -17,5 +17,5 @@ export const buildPluginCopy: Plugin = { // } // } // }, 100) - } + }, } diff --git a/packages/vite-plugin-uni/src/build/buildPluginDynamicImport.ts b/packages/vite-plugin-uni/src/build/buildPluginDynamicImport.ts index 7bfc90cdd..a458f7032 100644 --- a/packages/vite-plugin-uni/src/build/buildPluginDynamicImport.ts +++ b/packages/vite-plugin-uni/src/build/buildPluginDynamicImport.ts @@ -5,7 +5,7 @@ export const buildPluginDynamicImport: Plugin = { renderDynamicImport() { return { left: 'dynamicImportPolyfill(', - right: ')' + right: ')', } - } + }, } diff --git a/packages/vite-plugin-uni/src/build/buildPluginInject.ts b/packages/vite-plugin-uni/src/build/buildPluginInject.ts index 76524518d..b2f5b349c 100644 --- a/packages/vite-plugin-uni/src/build/buildPluginInject.ts +++ b/packages/vite-plugin-uni/src/build/buildPluginInject.ts @@ -9,13 +9,13 @@ import { Identifier, MemberExpression, MethodDefinition, - ExportSpecifier + ExportSpecifier, } from 'estree' import { attachScopes, createFilter, - makeLegalIdentifier + makeLegalIdentifier, } from '@rollup/pluginutils' import { walk } from 'estree-walker' @@ -107,7 +107,7 @@ function inject(options: InjectOptions) { const modulesMap = new Map() const namespaceModulesMap = new Map() - Object.keys(modules).forEach(name => { + Object.keys(modules).forEach((name) => { if (name.endsWith('.')) { namespaceModulesMap.set(name, modules[name]) } @@ -122,9 +122,7 @@ function inject(options: InjectOptions) { } const firstpass = new RegExp( - `(?:${Array.from(modulesMap.keys()) - .map(escape) - .join('|')})`, + `(?:${Array.from(modulesMap.keys()).map(escape).join('|')})`, 'g' ) const sourceMap = options.sourceMap !== false @@ -142,7 +140,7 @@ function inject(options: InjectOptions) { } catch (err) { this.warn({ code: 'PARSE_ERROR', - message: `plugin-inject: failed to parse ${id}. Consider restricting the plugin to particular files via options.include` + message: `plugin-inject: failed to parse ${id}. Consider restricting the plugin to particular files via options.include`, }) } if (!ast) { @@ -150,9 +148,9 @@ function inject(options: InjectOptions) { } const imports = new Set() - ast.body.forEach(node => { + ast.body.forEach((node) => { if (node.type === 'ImportDeclaration') { - node.specifiers.forEach(specifier => { + node.specifiers.forEach((specifier) => { imports.add(specifier.local.name) }) } @@ -205,7 +203,7 @@ function inject(options: InjectOptions) { (node as AcornNode).end, importLocalName, { - storeName: true + storeName: true, } ) } @@ -246,14 +244,14 @@ function inject(options: InjectOptions) { if ((node as any).scope) { scope = scope.parent } - } + }, }) if (newImports.size === 0) { return { code, ast, - map: sourceMap ? magicString.generateMap({ hires: true }) : null + map: sourceMap ? magicString.generateMap({ hires: true }) : null, } } const importBlock = Array.from(newImports.values()).join('\n\n') @@ -262,9 +260,9 @@ function inject(options: InjectOptions) { return { code: magicString.toString(), - map: sourceMap ? magicString.generateMap({ hires: true }) : null + map: sourceMap ? magicString.generateMap({ hires: true }) : null, } - } + }, } as Plugin } @@ -274,5 +272,5 @@ export const buildPluginInject: Plugin = inject({ 'uni.': '@dcloudio/uni-h5', getApp: ['@dcloudio/uni-h5', 'getApp'], getCurrentPages: ['@dcloudio/uni-h5', 'getCurrentPages'], - UniServiceJSBridge: ['@dcloudio/uni-h5', 'UniServiceJSBridge'] + UniServiceJSBridge: ['@dcloudio/uni-h5', 'UniServiceJSBridge'], }) diff --git a/packages/vite-plugin-uni/src/build/buildPluginMainJs.ts b/packages/vite-plugin-uni/src/build/buildPluginMainJs.ts deleted file mode 100644 index 5542bfb78..000000000 --- a/packages/vite-plugin-uni/src/build/buildPluginMainJs.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Plugin } from 'rollup' -import { getRoot, isMainJs, wrapperMainCode } from '../utils' - -let transformed = false -export const buildPluginMainJs: Plugin = { - name: 'uni:main', - async transform(code: string, id: string) { - if (!transformed && isMainJs(id)) { - code = wrapperMainCode(code, getRoot(id)) - transformed = true - } - return { code } - } -} diff --git a/packages/vite-plugin-uni/src/build/buildPluginPagesJson.ts b/packages/vite-plugin-uni/src/build/buildPluginPagesJson.ts deleted file mode 100644 index 08ffbfa93..000000000 --- a/packages/vite-plugin-uni/src/build/buildPluginPagesJson.ts +++ /dev/null @@ -1,27 +0,0 @@ -import fs from 'fs' -import { Plugin } from 'rollup' -import { parsePagesJson } from '../utils' - -let transformed = false -const pagesJsonName = 'pages.json' -const pagesJsonAliasName = pagesJsonName + '.js' -export const buildPluginPagesJson: Plugin = { - name: 'uni:pages', - resolveId(source) { - if (!transformed && source.endsWith(pagesJsonName)) { - transformed = true - return source.replace(pagesJsonName, pagesJsonAliasName) - } - return null - }, - load(id) { - if (id.endsWith(pagesJsonAliasName)) { - return parsePagesJson( - fs - .readFileSync(id.replace(pagesJsonAliasName, pagesJsonName)) - .toString() - ) - } - return null - } -} diff --git a/packages/vite-plugin-uni/src/build/index.ts b/packages/vite-plugin-uni/src/build/index.ts index 7474960f7..83b2876db 100644 --- a/packages/vite-plugin-uni/src/build/index.ts +++ b/packages/vite-plugin-uni/src/build/index.ts @@ -1,5 +1,3 @@ export * from './buildPluginCopy' export * from './buildPluginInject' -export * from './buildPluginMainJs' -export * from './buildPluginPagesJson' export * from './buildPluginDynamicImport' diff --git a/packages/vite-plugin-uni/src/config/alias.ts b/packages/vite-plugin-uni/src/config/alias.ts new file mode 100644 index 000000000..51aef243b --- /dev/null +++ b/packages/vite-plugin-uni/src/config/alias.ts @@ -0,0 +1,10 @@ +import { UserConfig } from 'vite' +import { VitePluginUniResolvedOptions } from '..' + +export function createAlias( + _options: VitePluginUniResolvedOptions +): UserConfig['alias'] { + return { + vue: '@dcloudio/uni-h5-vue', + } +} diff --git a/packages/vite-plugin-uni/src/config/css.ts b/packages/vite-plugin-uni/src/config/css.ts new file mode 100644 index 000000000..009a2b22d --- /dev/null +++ b/packages/vite-plugin-uni/src/config/css.ts @@ -0,0 +1,12 @@ +import { UserConfig } from 'vite' +import { VitePluginUniResolvedOptions } from '..' + +export function createCss( + _options: VitePluginUniResolvedOptions +): UserConfig['css'] { + return { + preprocessorOptions: { + scss: {}, + }, + } +} diff --git a/packages/vite-plugin-uni/src/config/define.ts b/packages/vite-plugin-uni/src/config/define.ts new file mode 100644 index 000000000..05021591c --- /dev/null +++ b/packages/vite-plugin-uni/src/config/define.ts @@ -0,0 +1,12 @@ +import { UserConfig } from 'vite' +import { VitePluginUniResolvedOptions } from '..' + +export function createDefine( + _options: VitePluginUniResolvedOptions +): UserConfig['define'] { + return { + __UNI_WX_API__: true, + __UNI_WXS_API__: true, + __UNI_ROUTER_MODE__: JSON.stringify('hash'), + } +} diff --git a/packages/vite-plugin-uni/src/config/index.ts b/packages/vite-plugin-uni/src/config/index.ts new file mode 100644 index 000000000..270098193 --- /dev/null +++ b/packages/vite-plugin-uni/src/config/index.ts @@ -0,0 +1,22 @@ +import { Plugin } from 'vite' + +import { VitePluginUniResolvedOptions } from '..' +import { createAlias } from './alias' +import { createDefine } from './define' +import { createServer } from './server' +import { createOptimizeDeps } from './optimizeDeps' +import { createCss } from './css' + +export function createConfig( + options: VitePluginUniResolvedOptions +): Plugin['config'] { + return () => { + return { + define: createDefine(options), + alias: createAlias(options), + optimizeDeps: createOptimizeDeps(options), + server: createServer(options), + css: createCss(options), + } + } +} diff --git a/packages/vite-plugin-uni/src/config/optimizeDeps.ts b/packages/vite-plugin-uni/src/config/optimizeDeps.ts new file mode 100644 index 000000000..39de344b5 --- /dev/null +++ b/packages/vite-plugin-uni/src/config/optimizeDeps.ts @@ -0,0 +1,16 @@ +import { UserConfig } from 'vite' +import { VitePluginUniResolvedOptions } from '..' + +export function createOptimizeDeps( + _options: VitePluginUniResolvedOptions +): UserConfig['optimizeDeps'] { + return { + exclude: [ + 'vue', + 'vue-router', + '@dcloudio/uni-h5', + '@dcloudio/uni-h5-vue', + '@dcloudio/uni-shared', + ], + } +} diff --git a/packages/vite-plugin-uni/src/config/server.ts b/packages/vite-plugin-uni/src/config/server.ts new file mode 100644 index 000000000..17371f7da --- /dev/null +++ b/packages/vite-plugin-uni/src/config/server.ts @@ -0,0 +1,12 @@ +import { UserConfig } from 'vite' +import { VitePluginUniResolvedOptions } from '..' + +export function createServer( + _options: VitePluginUniResolvedOptions +): UserConfig['server'] { + return { + watch: { + ignored: ['**/node_modules/**', '**/.git/**', '**/uniCloud**'], + }, + } +} diff --git a/packages/vite-plugin-uni/src/configResolved/index.ts b/packages/vite-plugin-uni/src/configResolved/index.ts new file mode 100644 index 000000000..03fdf111f --- /dev/null +++ b/packages/vite-plugin-uni/src/configResolved/index.ts @@ -0,0 +1,13 @@ +import path from 'path' +import { Plugin, UserConfig } from 'vite' + +import { VitePluginUniResolvedOptions } from '..' +import { resolvePlugins } from './plugins' + +export function createConfigResolved(options: VitePluginUniResolvedOptions) { + return ((config) => { + options.root = config.root + options.inputDir = path.resolve(config.root, 'src') + resolvePlugins((config as unknown) as UserConfig, options) + }) as Plugin['configResolved'] +} diff --git a/packages/vite-plugin-uni/src/configResolved/plugins/baseJson.ts b/packages/vite-plugin-uni/src/configResolved/plugins/baseJson.ts new file mode 100644 index 000000000..9ec62a65f --- /dev/null +++ b/packages/vite-plugin-uni/src/configResolved/plugins/baseJson.ts @@ -0,0 +1,81 @@ +/** + * https://github.com/rollup/plugins/blob/master/packages/json/src/index.js + * + * This source code is licensed under the MIT license found in the + * LICENSE file at + * https://github.com/rollup/plugins/blob/master/LICENSE + */ + +import { createFilter, dataToEsm } from '@rollup/pluginutils' +import { FilterPattern } from '@rollup/pluginutils' +import { Plugin } from 'rollup' + +export interface RollupJsonOptions { + /** + * All JSON files will be parsed by default, + * but you can also specifically include files + */ + include?: FilterPattern + /** + * All JSON files will be parsed by default, + * but you can also specifically exclude files + */ + exclude?: FilterPattern + /** + * For tree-shaking, properties will be declared as variables, using + * either `var` or `const`. + * @default false + */ + preferConst?: boolean + /** + * Specify indentation for the generated default export + * @default '\t' + */ + indent?: string + /** + * Ignores indent and generates the smallest code + * @default false + */ + compact?: boolean + /** + * Generate a named export for every property of the JSON object + * @default true + */ + namedExports?: boolean +} + +// Custom json filter for vite +const jsonExtRE = new RegExp(`\\.json($|\\?)`) + +export function jsonPlugin(options: RollupJsonOptions = {}): Plugin { + const filter = createFilter(options.include, options.exclude) + const indent = 'indent' in options ? options.indent : '\t' + + return { + name: 'vite:json', + + transform(json, id) { + if (!jsonExtRE.test(id) || !filter(id)) return null + + try { + const parsed = JSON.parse(json) + return { + code: dataToEsm(parsed, { + preferConst: options.preferConst, + compact: options.compact, + namedExports: options.namedExports, + indent, + }), + map: { mappings: '' }, + } + } catch (e) { + const errorMessageList = /[\d]/.exec(e.message) + const position = errorMessageList && parseInt(errorMessageList[0], 10) + const msg = position + ? `, invalid JSON syntax found at line ${position}` + : `.` + this.error(`Failed to parse JSON file` + msg, e.idx) + } + }, + } +} diff --git a/packages/vite-plugin-uni/src/configResolved/plugins/index.ts b/packages/vite-plugin-uni/src/configResolved/plugins/index.ts new file mode 100644 index 000000000..659d21d81 --- /dev/null +++ b/packages/vite-plugin-uni/src/configResolved/plugins/index.ts @@ -0,0 +1,64 @@ +import { FilterPattern } from '@rollup/pluginutils' +import debug from 'debug' +import { UserConfig } from 'vite' +import { VitePluginUniResolvedOptions } from '../..' +import { uniPrePlugin } from './pre' +import { uniJsonPlugin } from './json' +import { uniPreCssPlugin } from './preCss' +import { uniPostVuePlugin } from './postVue' +const debugPlugin = debug('uni:plugin') + +export interface UniPluginFilterOptions extends VitePluginUniResolvedOptions { + include?: FilterPattern + exclude?: FilterPattern +} + +const UNI_H5_RE = /@dcloudio\/uni-h5/ + +const uniPrePluginOptions: Partial = { + exclude: [ + /pages\.json\.js$/, + /vite\/dist\/client\/client\.js$/, + /vue&type=/, + UNI_H5_RE, + ], +} +const uniPreCssPluginOptions: Partial = { + exclude: [UNI_H5_RE], +} + +const uniPostVuePluginOptions: Partial = { + exclude: [UNI_H5_RE], +} + +export function resolvePlugins( + config: UserConfig, + options: VitePluginUniResolvedOptions +) { + const jsonIndex = config.plugins!.findIndex( + (plugin) => (plugin as Plugin).name === 'vite:json' + ) + config.plugins!.splice(jsonIndex, 1, uniJsonPlugin(options)) + const cssIndex = config.plugins!.findIndex( + (plugin) => (plugin as Plugin).name === 'vite:css' + ) + config.plugins!.splice( + cssIndex + 1, + 0, + uniPreCssPlugin(Object.assign(uniPreCssPluginOptions, options)) + ) + config.plugins!.unshift( + uniPrePlugin(Object.assign(uniPrePluginOptions, options)) + ) + if (process.env.DEBUG) { + const vueIndex = config.plugins!.findIndex( + (plugin) => (plugin as Plugin).name === 'vite:vue' + ) + config.plugins!.splice( + vueIndex + 1, + 0, + uniPostVuePlugin(Object.assign(uniPostVuePluginOptions, options)) + ) + debugPlugin(config.plugins!.map((p) => (p as Plugin).name)) + } +} diff --git a/packages/vite-plugin-uni/src/configResolved/plugins/json.ts b/packages/vite-plugin-uni/src/configResolved/plugins/json.ts new file mode 100644 index 000000000..67b8f077f --- /dev/null +++ b/packages/vite-plugin-uni/src/configResolved/plugins/json.ts @@ -0,0 +1,20 @@ +import path from 'path' +import slash from 'slash' +import { Plugin } from 'vite' +import { parse } from 'jsonc-parser' +import { VitePluginUniResolvedOptions } from '../..' +import { jsonPlugin } from './baseJson' + +export function uniJsonPlugin(options: VitePluginUniResolvedOptions): Plugin { + const vitePluginJson = jsonPlugin({ preferConst: true, namedExports: true }) + const pagesJsonPath = slash(path.resolve(options.inputDir, 'pages.json')) + return { + name: 'vite:uni-json', + transform(code, id) { + if (id.startsWith(pagesJsonPath)) { + code = JSON.stringify(parse(code)) + } + return vitePluginJson.transform!.call(this, code, id) + }, + } +} diff --git a/packages/vite-plugin-uni/src/configResolved/plugins/postVue.ts b/packages/vite-plugin-uni/src/configResolved/plugins/postVue.ts new file mode 100644 index 000000000..99595f409 --- /dev/null +++ b/packages/vite-plugin-uni/src/configResolved/plugins/postVue.ts @@ -0,0 +1,55 @@ +import debug from 'debug' +import qs from 'querystring' +import { Plugin } from 'vite' +import { createFilter } from '@rollup/pluginutils' + +import { UniPluginFilterOptions } from '.' + +const debugPostVue = debug('uni:post-vue') + +export function uniPostVuePlugin(options: UniPluginFilterOptions): Plugin { + const filter = createFilter(options.include, options.exclude) + return { + name: 'vite:uni-post-vue', + transform(code, id) { + const { filename, query } = parseVueRequest(id) + if (!query.vue && !filter(filename)) { + return + } + if (query.vue) { + debugPostVue(id) + // TODO + // 目前 vite 在 process.env.DEBUG 时,会追加 sourcemap 对象到文件中,如果 source 中包含/**/注释,会报错 + // 暂时移除此类请求的 sourcemap + ;(this as any).sourcemapChain.length = 0 + return code + } + }, + } +} + +interface VueQuery { + vue?: boolean + src?: boolean + type?: 'script' | 'template' | 'style' | 'custom' + index?: number + lang?: string +} + +function parseVueRequest(id: string) { + const [filename, rawQuery] = id.split(`?`, 2) + const query = qs.parse(rawQuery) as VueQuery + if (query.vue != null) { + query.vue = true + } + if (query.src != null) { + query.src = true + } + if (query.index != null) { + query.index = Number(query.index) + } + return { + filename, + query, + } +} diff --git a/packages/vite-plugin-uni/src/configResolved/plugins/pre.ts b/packages/vite-plugin-uni/src/configResolved/plugins/pre.ts new file mode 100644 index 000000000..c7e1ff381 --- /dev/null +++ b/packages/vite-plugin-uni/src/configResolved/plugins/pre.ts @@ -0,0 +1,45 @@ +import path from 'path' +import debug from 'debug' +import { Plugin } from 'vite' +import { createFilter } from '@rollup/pluginutils' + +import { UniPluginFilterOptions } from '.' + +const { preJs, preHtml } = require('@dcloudio/uni-cli-shared') + +const debugPreJs = debug('uni:pre-js') +const debugPreHtml = debug('uni:pre-html') +const debugPreIgnore = debug('uni:pre-ignore') +const debugPreJsTry = debug('uni:pre-js-try') + +const PRE_JS_EXTNAME = ['.js', '.ts', '.json', '.css', '.vue', '.nvue'] +const PRE_HTML_EXTNAME = ['.vue', '.nvue'] +export function uniPrePlugin(options: UniPluginFilterOptions): Plugin { + const filter = createFilter(options.include, options.exclude) + return { + name: 'vite:uni-pre', + transform(code, id) { + if (!filter(id)) { + debugPreIgnore(id) + return code + } + const extname = path.extname(id) + const isHtml = PRE_HTML_EXTNAME.includes(extname) + const isJs = PRE_JS_EXTNAME.includes(extname) + const isPre = isHtml || isJs + const hasEndif = isPre && code.includes('#endif') + if (isPre && !hasEndif) { + debugPreJsTry(id) + } + if (isHtml && hasEndif) { + code = preHtml(code) + debugPreHtml(id) + } + if (isJs && hasEndif) { + code = preJs(code) + debugPreJs(id) + } + return code + }, + } +} diff --git a/packages/vite-plugin-uni/src/configResolved/plugins/preCss.ts b/packages/vite-plugin-uni/src/configResolved/plugins/preCss.ts new file mode 100644 index 000000000..737ffd901 --- /dev/null +++ b/packages/vite-plugin-uni/src/configResolved/plugins/preCss.ts @@ -0,0 +1,35 @@ +import debug from 'debug' +import { Plugin } from 'vite' +import { createFilter } from '@rollup/pluginutils' + +import { UniPluginFilterOptions } from '.' + +const { preJs } = require('@dcloudio/uni-cli-shared') + +const debugPre = debug('uni:pre-css') +const debugPreIgnore = debug('uni:pre-css-ignore') +const debugPreTry = debug('uni:pre-css-try') +const cssLangs = `\\.(css|less|sass|scss|styl|stylus|postcss)($|\\?)` +const cssLangRE = new RegExp(cssLangs) + +export function uniPreCssPlugin(options: UniPluginFilterOptions): Plugin { + const filter = createFilter(options.include, options.exclude) + return { + name: 'vite:uni-pre-css', + transform(code, id) { + if (!filter(id)) { + debugPreIgnore(id) + return code + } + if (!cssLangRE.test(id)) { + return + } + if (!code.includes('#endif')) { + debugPreTry(id) + return + } + debugPre(id) + return preJs(code) + }, + } +} diff --git a/packages/vite-plugin-uni/src/configureServer/easycom.ts b/packages/vite-plugin-uni/src/configureServer/easycom.ts new file mode 100644 index 000000000..ebbbfe128 --- /dev/null +++ b/packages/vite-plugin-uni/src/configureServer/easycom.ts @@ -0,0 +1,36 @@ +import path from 'path' +import debug from 'debug' +import { ViteDevServer } from 'vite' +import { VitePluginUniResolvedOptions } from '..' + +const { initEasycom } = require('@dcloudio/uni-cli-shared') + +const debugEasycom = debug('uni:easycom') + +export function initEasycoms(inputDir: string) { + const dirs = ['components'].map((dir) => path.resolve(inputDir, dir)) + const easycomOptions = { dirs, rootDir: inputDir } + initEasycom(easycomOptions) + debugEasycom(easycomOptions) + return { + dirs, + refresh() { + initEasycom(easycomOptions) + }, + } +} + +export const serveEasycom = ( + server: ViteDevServer, + options: VitePluginUniResolvedOptions +) => { + const { dirs, refresh } = initEasycoms(options.inputDir) + server.watcher.on('all', (eventName, path) => { + if (!['add', 'unlink'].includes(eventName)) { + return + } + if (dirs.find((dir) => path.startsWith(dir))) { + refresh() + } + }) +} diff --git a/packages/vite-plugin-uni/src/configureServer/index.ts b/packages/vite-plugin-uni/src/configureServer/index.ts new file mode 100644 index 000000000..f78f78db1 --- /dev/null +++ b/packages/vite-plugin-uni/src/configureServer/index.ts @@ -0,0 +1,12 @@ +import { Plugin } from 'vite' +import { VitePluginUniResolvedOptions } from '..' +import { serveEasycom } from './easycom' + +export function createConfigureServer( + options: VitePluginUniResolvedOptions +): Plugin['configureServer'] { + return function (server) { + options.devServer = server + serveEasycom(server, options) + } +} diff --git a/packages/vite-plugin-uni/src/index.ts b/packages/vite-plugin-uni/src/index.ts index 59a95b7c8..eae02c4f4 100644 --- a/packages/vite-plugin-uni/src/index.ts +++ b/packages/vite-plugin-uni/src/index.ts @@ -1,87 +1,39 @@ -import { Plugin } from 'vite' +import path from 'path' -import { vueCompilerOptions } from '@dcloudio/uni-cli-shared' +import { Plugin, ViteDevServer } from 'vite' -import { - serverPluginEnv, - serverPluginMainJs, - serverPluginPagesJson, -} from './server' +import { createLoad } from './load' +import { createConfig } from './config' +import { createResolveId } from './resolveId' +import { createConfigResolved } from './configResolved' +import { createConfigureServer } from './configureServer' -import { - buildPluginCopy, - buildPluginInject, - buildPluginMainJs, - buildPluginPagesJson, - buildPluginDynamicImport, -} from './build' - -import { initEasycoms, dynamicImportCode, transform } from './utils' - -const VUES = ['vue', 'vue.js', './vue.js', 'dist/vue.runtime.esm-bundler.js'] - -const plugins = [ - buildPluginMainJs, - buildPluginPagesJson, - buildPluginInject, - buildPluginCopy, -] - -if (dynamicImportCode) { - plugins.push(buildPluginDynamicImport) +const { vueCompilerOptions } = require('@dcloudio/uni-cli-shared') +export interface VitePluginUniOptions { + inputDir?: string } - -const plugin: Plugin = { - configureServer: [serverPluginEnv, serverPluginMainJs, serverPluginPagesJson], - rollupInputOptions: { - plugins, - }, - vueCompilerOptions, - configureBuild({ root }) { - initEasycoms(root) - }, +export interface VitePluginUniResolvedOptions extends VitePluginUniOptions { + root: string + inputDir: string + devServer?: ViteDevServer } -// TODO 等待 vite 升级支持以下配置 -Object.assign(plugin, { - optimizeDeps: { - exclude: [ - 'vue', - 'vue-router', - '@dcloudio/uni-h5', - '@dcloudio/uni-h5-vue', - '@dcloudio/uni-shared', - ], - }, - chokidarWatchOptions: { - ignored: [ - '**/node_modules/**', - '**/.git/**', - '**/uniCloud-aliyun/**', - '**/uniCloud-tcb/**', - ], - }, -}) -interface Options {} -export default function uniPlugin(_rawOptions: Options = {}): Plugin { + +export const uniVueCompilerOptions = vueCompilerOptions + +export default function uniPlugin( + rawOptions: VitePluginUniOptions = {} +): Plugin { + const options: VitePluginUniResolvedOptions = { + ...rawOptions, + root: process.cwd(), + inputDir: rawOptions.inputDir || path.resolve(process.cwd(), 'src'), + } return { name: 'vite:uni', - config(config) { - config.define = { - __UNI_WX_API__: true, - __UNI_WXS_API__: true, - __UNI_ROUTER_MODE__: JSON.stringify('hash'), - ...config.define, - } - }, - async resolveId(id) { - if (VUES.includes(id)) { - return '@dcloudio/uni-h5-vue' - } - if (id.startsWith('@/')) { - return id.replace('@/', '/src/') - } - }, - transform, - configureServer() {}, + config: createConfig(options), + configResolved: createConfigResolved(options), + configureServer: createConfigureServer(options), + resolveId: createResolveId(options), + load: createLoad(options), } } diff --git a/packages/vite-plugin-uni/src/load/index.ts b/packages/vite-plugin-uni/src/load/index.ts new file mode 100644 index 000000000..20949eb63 --- /dev/null +++ b/packages/vite-plugin-uni/src/load/index.ts @@ -0,0 +1,22 @@ +import debug from 'debug' +import { Plugin } from 'vite' + +import { VitePluginUniResolvedOptions } from '..' +import { main } from './main' +import { pages } from './pages' + +const debugLoad = debug('uni:load') + +const loads = [main, pages] + +export function createLoad( + options: VitePluginUniResolvedOptions +): Plugin['load'] { + return (id) => { + const item = loads.find((item) => item.test(id, options.inputDir)) + if (item) { + debugLoad(id) + return item.load(id, options) + } + } +} diff --git a/packages/vite-plugin-uni/src/load/main.ts b/packages/vite-plugin-uni/src/load/main.ts new file mode 100644 index 000000000..59d1400fd --- /dev/null +++ b/packages/vite-plugin-uni/src/load/main.ts @@ -0,0 +1,26 @@ +import fs from 'fs' +import path from 'path' +import slash from 'slash' +import { VitePluginUniResolvedOptions } from '..' + +let mainJsPath: string +let mainTsPath: string +let pagesJsPath: string +export const main = { + test(id: string, inputDir: string) { + if (!mainJsPath) { + const mainPath = slash(path.resolve(inputDir, 'main')) + mainJsPath = mainPath + '.js' + mainTsPath = mainPath + '.ts' + } + return id === mainJsPath || id === mainTsPath + }, + load(filename: string, options: VitePluginUniResolvedOptions) { + if (!pagesJsPath) { + pagesJsPath = slash(path.resolve(options.inputDir, 'pages.json.js')) + } + return `import '${pagesJsPath}'; +${fs.readFileSync(filename, 'utf-8').toString()} +` + }, +} diff --git a/packages/vite-plugin-uni/src/utils/pagesJson.ts b/packages/vite-plugin-uni/src/load/pages.ts similarity index 76% rename from packages/vite-plugin-uni/src/utils/pagesJson.ts rename to packages/vite-plugin-uni/src/load/pages.ts index 7bae5d1de..3cc8bf13a 100644 --- a/packages/vite-plugin-uni/src/utils/pagesJson.ts +++ b/packages/vite-plugin-uni/src/load/pages.ts @@ -1,10 +1,25 @@ +import fs from 'fs' import path from 'path' - import slash from 'slash' import { camelize, capitalize } from '@vue/shared' +import { VitePluginUniResolvedOptions } from '..' + +const { parseJson } = require('@dcloudio/uni-cli-shared') -import { parseJson } from '@dcloudio/uni-cli-shared' +export const pages = { + test(id: string, _inputDir: string) { + return id.endsWith('pages.json.js') + }, + load(filename: string, options: VitePluginUniResolvedOptions) { + return ( + (options.devServer ? registerGlobalCode : '') + + parsePagesJson( + fs.readFileSync(filename.substr(0, filename.length - 3), 'utf-8') + ) + ) + }, +} interface PageOptions { path: string @@ -31,6 +46,38 @@ interface PageRouteOptions { } } +function parsePagesJson(jsonStr: string) { + const pagesJson = formatPagesJson(jsonStr) + const definePagesCode = generatePagesDefineCode(pagesJson) + const uniRoutesCode = generateRoutes(pagesJson).join(',') + const uniConfigCode = generateConfig(pagesJson) + return ` + import { + defineAsyncComponent, + resolveComponent, + createVNode, + withCtx, + openBlock, + createBlock + } from 'vue' + + import { + PageComponent + } from '@dcloudio/uni-h5' + ${definePagesCode} + window.__uniConfig=${uniConfigCode} + window.__uniRoutes=[${uniRoutesCode}] + ` +} + +const registerGlobalCode = `import {uni,getCurrentPages,getApp,UniServiceJSBridge,UniViewJSBridge} from '@dcloudio/uni-h5' + window.getApp = getApp + window.getCurrentPages = getCurrentPages + window.uni = window.__GLOBAL__ = uni + window.UniViewJSBridge = UniViewJSBridge + window.UniServiceJSBridge = UniServiceJSBridge + ` + function formatPages(pagesJson: Record, jsonStr: string) { if (!Array.isArray(pagesJson.pages)) { pagesJson.pages = [] @@ -87,7 +134,7 @@ function formatPagesJson(jsonStr: string) { let pagesJson: Record = { pages: [], } - //TODO preprocess + // preprocess try { pagesJson = parseJson(jsonStr, true) } catch (e) { @@ -156,16 +203,16 @@ function formatPagesRoute(pagesJson: Record): PageRouteOptions[] { function generatePageRoute({ name, path, props, meta }: PageRouteOptions) { return `{ - path:'/${meta.isEntry ? '' : path}', - component:{ - render() { - return (openBlock(), createBlock(PageComponent, Object.assign({}, __uniConfig.globalStyle, ${JSON.stringify( - props - )}), {page: withCtx(() => [createVNode(${name})]), _: 1}, 16)) - } - }, - meta: ${JSON.stringify(meta)} -}` + path:'/${meta.isEntry ? '' : path}', + component:{ + render() { + return (openBlock(), createBlock(PageComponent, Object.assign({}, __uniConfig.globalStyle, ${JSON.stringify( + props + )}), {page: withCtx(() => [createVNode(${name})]), _: 1}, 16)) + } + }, + meta: ${JSON.stringify(meta)} + }` } function generatePagesRoute(pagesRouteOptions: PageRouteOptions[]) { @@ -186,27 +233,3 @@ function generateConfig(pagesJson: Record) { pagesJson.router = {} // TODO return JSON.stringify(pagesJson) } - -export function parsePagesJson(jsonStr: string) { - const pagesJson = formatPagesJson(jsonStr) - const definePagesCode = generatePagesDefineCode(pagesJson) - const uniRoutesCode = generateRoutes(pagesJson).join(',') - const uniConfigCode = generateConfig(pagesJson) - return ` -import { - defineAsyncComponent, - resolveComponent, - createVNode, - withCtx, - openBlock, - createBlock -} from 'vue' - -import { - PageComponent -} from '@dcloudio/uni-h5' -${definePagesCode} -window.__uniConfig=${uniConfigCode} -window.__uniRoutes=[${uniRoutesCode}] -` -} diff --git a/packages/vite-plugin-uni/src/resolveId.ts b/packages/vite-plugin-uni/src/resolveId.ts new file mode 100644 index 000000000..94c998eb6 --- /dev/null +++ b/packages/vite-plugin-uni/src/resolveId.ts @@ -0,0 +1,32 @@ +import path from 'path' +import debug from 'debug' +import { Plugin } from 'vite' +import { VitePluginUniResolvedOptions } from '.' + +const debugResolve = debug('uni:resolve') + +const VUES = ['vue', 'vue.js', './vue.js', 'dist/vue.runtime.esm-bundler.js'] + +let pagesJsonJsPath: string + +export function createResolveId( + options: VitePluginUniResolvedOptions +): Plugin['resolveId'] { + return function (id) { + if (id.endsWith('pages.json.js')) { + if (!pagesJsonJsPath) { + pagesJsonJsPath = path.resolve(options.inputDir, 'pages.json.js') + } + debugResolve(id) + return pagesJsonJsPath + } + if (VUES.includes(id)) { + debugResolve(id) + return '@dcloudio/uni-h5-vue' + } + if (id.startsWith('@/')) { + debugResolve(id) + return id.replace('@/', '/src/') + } + } +} diff --git a/packages/vite-plugin-uni/src/server/index.ts b/packages/vite-plugin-uni/src/server/index.ts deleted file mode 100644 index 9dd557435..000000000 --- a/packages/vite-plugin-uni/src/server/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './serveEasycom' -export * from './serveMainJs' -export * from './servePagesJson' diff --git a/packages/vite-plugin-uni/src/server/serveEasycom.ts b/packages/vite-plugin-uni/src/server/serveEasycom.ts deleted file mode 100644 index 7ae27ef6c..000000000 --- a/packages/vite-plugin-uni/src/server/serveEasycom.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ViteDevServer } from 'vite' - -import { initEasycoms } from '../utils' - -export const serveEasycom = (server: ViteDevServer) => { - const { dirs, refresh } = initEasycoms(server.config.root) - server.watcher.on('all', (eventName, path) => { - if (!['add', 'unlink'].includes(eventName)) { - return - } - if (dirs.find((dir) => path.startsWith(dir))) { - refresh() - } - }) -} diff --git a/packages/vite-plugin-uni/src/server/serveMainJs.ts b/packages/vite-plugin-uni/src/server/serveMainJs.ts deleted file mode 100644 index d4e6bb34f..000000000 --- a/packages/vite-plugin-uni/src/server/serveMainJs.ts +++ /dev/null @@ -1,15 +0,0 @@ -import path from 'path' - -import { readBody, ViteDevServer } from 'vite' - -import { getRoot, isMainJs, wrapperMainCode } from '../utils' - -export const serveMainJs = (server: ViteDevServer) => { - server.app.use(async (ctx, next) => { - await next() - if (isMainJs(ctx.path)) { - const body = await readBody(ctx.body) - ctx.body = wrapperMainCode(body!, getRoot(path.resolve(root, ctx.path))) - } - }) -} diff --git a/packages/vite-plugin-uni/src/server/servePagesJson.ts b/packages/vite-plugin-uni/src/server/servePagesJson.ts deleted file mode 100644 index d1817b361..000000000 --- a/packages/vite-plugin-uni/src/server/servePagesJson.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { ViteDevServer } from 'vite' - -import { parsePagesJson } from '../utils' - -const uniCode = `import {uni,getCurrentPages,getApp,UniServiceJSBridge,UniViewJSBridge} from '@dcloudio/uni-h5' -window.getApp = getApp -window.getCurrentPages = getCurrentPages -window.uni = window.__GLOBAL__ = uni -window.UniViewJSBridge = UniViewJSBridge -window.UniServiceJSBridge = UniServiceJSBridge -` - -export const servePagesJson = (server: ViteDevServer) => { - server.app.use(async (ctx, next) => { - const isPagesJson = ctx.path.endsWith('pages.json') - if (isPagesJson) { - //skip serverPluginJson - delete ctx.query.import - } - await next() - if (isPagesJson) { - const body = await readBody(ctx.body) - ctx.type = 'js' - ctx.body = body ? uniCode + parsePagesJson(body) : '' - } - }) -} diff --git a/packages/vite-plugin-uni/src/utils/dynamicImport.ts b/packages/vite-plugin-uni/src/utils/dynamicImport.ts deleted file mode 100644 index b554c3c68..000000000 --- a/packages/vite-plugin-uni/src/utils/dynamicImport.ts +++ /dev/null @@ -1,14 +0,0 @@ -let dynamicImportPolyfill = false -try { - /* eslint-disable no-restricted-globals */ - require.resolve('dynamic-import-polyfill') - dynamicImportPolyfill = true -} catch (e) {} - -export const dynamicImportCode = dynamicImportPolyfill - ? `import dynamicImportPolyfill from 'dynamic-import-polyfill' -dynamicImportPolyfill.initialize({ - importFunctionName: 'dynamicImportPolyfill' -}) -` - : '' diff --git a/packages/vite-plugin-uni/src/utils/easycom.ts b/packages/vite-plugin-uni/src/utils/easycom.ts deleted file mode 100644 index cdac96b2a..000000000 --- a/packages/vite-plugin-uni/src/utils/easycom.ts +++ /dev/null @@ -1,16 +0,0 @@ -import path from 'path' - -import { initEasycom } from '@dcloudio/uni-cli-shared' - -export function initEasycoms(root: string) { - const rootDir = path.resolve(root, 'src') - const dirs = ['components'].map((dir) => path.resolve(rootDir, dir)) - const easycomOptions = { dirs, rootDir: rootDir } - initEasycom(easycomOptions) - return { - dirs, - refresh() { - initEasycom(easycomOptions) - }, - } -} diff --git a/packages/vite-plugin-uni/src/utils/index.ts b/packages/vite-plugin-uni/src/utils/index.ts deleted file mode 100644 index dbea22288..000000000 --- a/packages/vite-plugin-uni/src/utils/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './mainJs' -export * from './easycom' -export * from './transform' -export * from './pagesJson' -export * from './dynamicImport' diff --git a/packages/vite-plugin-uni/src/utils/mainJs.ts b/packages/vite-plugin-uni/src/utils/mainJs.ts deleted file mode 100644 index 19d1514b4..000000000 --- a/packages/vite-plugin-uni/src/utils/mainJs.ts +++ /dev/null @@ -1,21 +0,0 @@ -import path from 'path' -import slash from 'slash' - -import { dynamicImportCode } from './dynamicImport' - -const MAIN_RE = /main.[jt]s/ - -export function isMainJs(path: string) { - return MAIN_RE.test(path) -} - -export function getRoot(mainJsPath: string) { - return mainJsPath.replace(MAIN_RE, '') -} - -export function wrapperMainCode(code: string, root: string) { - return `${dynamicImportCode} -import '${slash(path.resolve(root, 'pages.json'))}' -${code} -` -} diff --git a/packages/vite-plugin-uni/src/utils/transform.ts b/packages/vite-plugin-uni/src/utils/transform.ts deleted file mode 100644 index 5d2562fbb..000000000 --- a/packages/vite-plugin-uni/src/utils/transform.ts +++ /dev/null @@ -1,18 +0,0 @@ -import path from 'path' -import debug from 'debug' - -import { TransformHook } from 'rollup' - -const debugPre = debug('uni:pre') - -const extensions = ['.vue', '.nvue', '.js', '.json', '.css'] - -export const transform: TransformHook = (code, id) => { - const extname = path.extname(id) - if (!extensions.includes(extname)) { - return - } - // TODO - debugPre(id) - return code -} diff --git a/scripts/build.js b/scripts/build.js index ead1d4c00..257b1d0a2 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -46,7 +46,7 @@ async function build(target) { } const bundler = pkg.buildOptions && pkg.buildOptions.bundler - const types = buildTypes && pkg.types + const types = target === 'uni-shared' || (buildTypes && pkg.types) // if building a specific format, do not remove dist. if (!formats && bundler !== 'vite') { await fs.remove(`${pkgDir}/dist`) diff --git a/yarn.lock b/yarn.lock index 25259d96c..f6f9647da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,13 +4,15 @@ "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.11": version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: "@babel/highlight" "^7.10.4" "@babel/core@^7.1.0", "@babel/core@^7.7.5": version "7.12.10" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" + integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== dependencies: "@babel/code-frame" "^7.10.4" "@babel/generator" "^7.12.10" @@ -30,7 +32,8 @@ "@babel/generator@^7.12.10", "@babel/generator@^7.12.11": version "7.12.11" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" + integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== dependencies: "@babel/types" "^7.12.11" jsesc "^2.5.1" @@ -38,7 +41,8 @@ "@babel/helper-function-name@^7.12.11": version "7.12.11" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42" + integrity sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA== dependencies: "@babel/helper-get-function-arity" "^7.12.10" "@babel/template" "^7.12.7" @@ -46,25 +50,29 @@ "@babel/helper-get-function-arity@^7.12.10": version "7.12.10" - resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf" + integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag== dependencies: "@babel/types" "^7.12.10" "@babel/helper-member-expression-to-functions@^7.12.7": version "7.12.7" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" + integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== dependencies: "@babel/types" "^7.12.7" "@babel/helper-module-imports@^7.12.1": version "7.12.5" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" + integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== dependencies: "@babel/types" "^7.12.5" "@babel/helper-module-transforms@^7.12.1": version "7.12.1" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== dependencies: "@babel/helper-module-imports" "^7.12.1" "@babel/helper-replace-supers" "^7.12.1" @@ -78,17 +86,20 @@ "@babel/helper-optimise-call-expression@^7.12.10": version "7.12.10" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d" + integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ== dependencies: "@babel/types" "^7.12.10" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== "@babel/helper-replace-supers@^7.12.1": version "7.12.11" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz#ea511658fc66c7908f923106dd88e08d1997d60d" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz#ea511658fc66c7908f923106dd88e08d1997d60d" + integrity sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA== dependencies: "@babel/helper-member-expression-to-functions" "^7.12.7" "@babel/helper-optimise-call-expression" "^7.12.10" @@ -97,23 +108,27 @@ "@babel/helper-simple-access@^7.12.1": version "7.12.1" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== dependencies: "@babel/types" "^7.12.1" "@babel/helper-split-export-declaration@^7.11.0", "@babel/helper-split-export-declaration@^7.12.11": version "7.12.11" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz#1b4cc424458643c47d37022223da33d76ea4603a" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz#1b4cc424458643c47d37022223da33d76ea4603a" + integrity sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g== dependencies: "@babel/types" "^7.12.11" "@babel/helper-validator-identifier@^7.10.4", "@babel/helper-validator-identifier@^7.12.11": version "7.12.11" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== "@babel/helpers@^7.12.5": version "7.12.5" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" + integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== dependencies: "@babel/template" "^7.10.4" "@babel/traverse" "^7.12.5" @@ -121,7 +136,8 @@ "@babel/highlight@^7.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== dependencies: "@babel/helper-validator-identifier" "^7.10.4" chalk "^2.0.0" @@ -129,83 +145,97 @@ "@babel/parser@^7.1.0", "@babel/parser@^7.12.0", "@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7": version "7.12.11" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" + integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.8.3": version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" + integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.8.3": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3": version "7.12.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" + integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== dependencies: "@babel/code-frame" "^7.10.4" "@babel/parser" "^7.12.7" @@ -213,7 +243,8 @@ "@babel/traverse@^7.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5": version "7.12.12" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376" + integrity sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w== dependencies: "@babel/code-frame" "^7.12.11" "@babel/generator" "^7.12.11" @@ -227,7 +258,8 @@ "@babel/types@^7.0.0", "@babel/types@^7.12.0", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.12.12" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" + integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ== dependencies: "@babel/helper-validator-identifier" "^7.12.11" lodash "^4.17.19" @@ -235,22 +267,26 @@ "@bcoe/v8-coverage@^0.2.3": version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@cnakazawa/watch@^1.0.3": version "1.0.4" - resolved "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== dependencies: exec-sh "^0.3.2" minimist "^1.2.0" "@dcloudio/types@^2.0.20": - version "2.0.20" - resolved "https://registry.npmjs.org/@dcloudio/types/-/types-2.0.20.tgz#2b1129a398b65b07b7da75d9f331056c55557256" + version "2.0.21" + resolved "https://registry.yarnpkg.com/@dcloudio/types/-/types-2.0.21.tgz#ca56f5962ea1d746e325289933461c84261800fe" + integrity sha512-MCxQNRrVd7AObkZyLDu5719dyO2ZquUHSqacQyZhpGaJMnOse/8rgxjjB94ojtOjek/3Ju05QeyIWkBuc8EhJA== -"@eslint/eslintrc@^0.2.2": - version "0.2.2" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76" +"@eslint/eslintrc@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" + integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -259,13 +295,14 @@ ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" - lodash "^4.17.19" + lodash "^4.17.20" minimatch "^3.0.4" strip-json-comments "^3.1.1" "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: camelcase "^5.3.1" find-up "^4.1.0" @@ -275,11 +312,13 @@ "@istanbuljs/schema@^0.1.2": version "0.1.2" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== "@jest/console@^26.6.2": version "26.6.2" - resolved "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== dependencies: "@jest/types" "^26.6.2" "@types/node" "*" @@ -290,7 +329,8 @@ "@jest/core@^26.6.3": version "26.6.3" - resolved "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== dependencies: "@jest/console" "^26.6.2" "@jest/reporters" "^26.6.2" @@ -323,7 +363,8 @@ "@jest/environment@^26.6.2": version "26.6.2" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== dependencies: "@jest/fake-timers" "^26.6.2" "@jest/types" "^26.6.2" @@ -332,7 +373,8 @@ "@jest/fake-timers@^26.6.2": version "26.6.2" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== dependencies: "@jest/types" "^26.6.2" "@sinonjs/fake-timers" "^6.0.1" @@ -343,7 +385,8 @@ "@jest/globals@^26.6.2": version "26.6.2" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== dependencies: "@jest/environment" "^26.6.2" "@jest/types" "^26.6.2" @@ -351,7 +394,8 @@ "@jest/reporters@^26.6.2": version "26.6.2" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== dependencies: "@bcoe/v8-coverage" "^0.2.3" "@jest/console" "^26.6.2" @@ -382,7 +426,8 @@ "@jest/source-map@^26.6.2": version "26.6.2" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== dependencies: callsites "^3.0.0" graceful-fs "^4.2.4" @@ -390,7 +435,8 @@ "@jest/test-result@^26.6.2": version "26.6.2" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== dependencies: "@jest/console" "^26.6.2" "@jest/types" "^26.6.2" @@ -399,7 +445,8 @@ "@jest/test-sequencer@^26.6.3": version "26.6.3" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== dependencies: "@jest/test-result" "^26.6.2" graceful-fs "^4.2.4" @@ -409,7 +456,8 @@ "@jest/transform@^26.6.2": version "26.6.2" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== dependencies: "@babel/core" "^7.1.0" "@jest/types" "^26.6.2" @@ -429,7 +477,8 @@ "@jest/types@^26.6.2": version "26.6.2" - resolved "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" @@ -437,20 +486,18 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@ls-lint/ls-lint@^1.9.2": - version "1.9.2" - resolved "https://registry.npmjs.org/@ls-lint/ls-lint/-/ls-lint-1.9.2.tgz#689f1f4c06072823a726802ba167340efcefe19c" - "@microsoft/api-extractor-model@7.12.1": version "7.12.1" - resolved "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.12.1.tgz#1f10915c434048da34e1c07845ba2623d5f23f66" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.12.1.tgz#1f10915c434048da34e1c07845ba2623d5f23f66" + integrity sha512-Hw+kYfUb1gt6xPWGFW8APtLVWeNEWz4JE6PbLkSHw/j+G1hAaStzgxhBx3GOAWM/G0SCDGVJOpd5YheVOyu/KQ== dependencies: "@microsoft/tsdoc" "0.12.24" "@rushstack/node-core-library" "3.35.2" "@microsoft/api-extractor@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.12.1.tgz#4204be6c9f845d7d1796b6d51c58bcb25e7267e9" + version "7.13.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.13.0.tgz#13900fc7596c29daeecd3f33ed8960cfc5250107" + integrity sha512-T+14VIhB91oJIett5AZ02VWYmz/01VHFWkcAOWiErIQ8AiFhJZoGqTjGxoi8ZpEEBuAj2EGVYojORwLc/+aiDQ== dependencies: "@microsoft/api-extractor-model" "7.12.1" "@microsoft/tsdoc" "0.12.24" @@ -462,39 +509,45 @@ resolve "~1.17.0" semver "~7.3.0" source-map "~0.6.1" - typescript "~4.0.5" + typescript "~4.1.3" "@microsoft/tsdoc@0.12.24": version "0.12.24" - resolved "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.12.24.tgz#30728e34ebc90351dd3aff4e18d038eed2c3e098" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.12.24.tgz#30728e34ebc90351dd3aff4e18d038eed2c3e098" + integrity sha512-Mfmij13RUTmHEMi9vRUhMXD7rnGR2VvxeNYtaGtaJ4redwwjT4UXYJ+nzmVJF7hhd4pn/Fx5sncDKxMVFJSWPg== "@nodelib/fs.scandir@2.1.4": version "2.1.4" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== dependencies: "@nodelib/fs.stat" "2.0.4" run-parallel "^1.1.9" "@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": version "2.0.4" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== "@nodelib/fs.walk@^1.2.3": version "1.2.6" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== dependencies: "@nodelib/fs.scandir" "2.1.4" fastq "^1.6.0" "@rollup/plugin-alias@^3.1.1": version "3.1.1" - resolved "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.1.tgz#bb96cf37fefeb0a953a6566c284855c7d1cd290c" + resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.1.tgz#bb96cf37fefeb0a953a6566c284855c7d1cd290c" + integrity sha512-hNcQY4bpBUIvxekd26DBPgF7BT4mKVNDF5tBG4Zi+3IgwLxGYRY0itHs9D0oLVwXM5pvJDWJlBQro+au8WaUWw== dependencies: slash "^3.0.0" "@rollup/plugin-commonjs@^17.0.0": version "17.0.0" - resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.0.0.tgz#2ae2228354cf0fbba6cf9f06f30b2c66a974324c" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-17.0.0.tgz#2ae2228354cf0fbba6cf9f06f30b2c66a974324c" + integrity sha512-/omBIJG1nHQc+bgkYDuLpb/V08QyutP9amOrJRUSlYJZP+b/68gM//D8sxJe3Yry2QnYIr3QjR3x4AlxJEN3GA== dependencies: "@rollup/pluginutils" "^3.1.0" commondir "^1.0.1" @@ -506,13 +559,15 @@ "@rollup/plugin-json@^4.1.0": version "4.1.0" - resolved "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" + integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== dependencies: "@rollup/pluginutils" "^3.0.8" "@rollup/plugin-node-resolve@^11.0.1": - version "11.0.1" - resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.0.1.tgz#d3765eec4bccf960801439a999382aed2dca959b" + version "11.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.1.0.tgz#fa0f888297b3aebcd6534e8aba4e6fe01997649a" + integrity sha512-ouBBppRdWJKCllDXGzJ7ZIkYbaq+5TmyP0smt1vdJCFfoZhLi31vhpmjLhyo8lreHf4RoeSNllaWrvSqHpHRog== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" @@ -523,14 +578,16 @@ "@rollup/plugin-replace@^2.3.4": version "2.3.4" - resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.3.4.tgz#7dd84c17755d62b509577f2db37eb524d7ca88ca" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.3.4.tgz#7dd84c17755d62b509577f2db37eb524d7ca88ca" + integrity sha512-waBhMzyAtjCL1GwZes2jaE9MjuQ/DQF2BatH3fRivUF3z0JBFrU0U6iBNC/4WR+2rLKhaAhPWDNPYp4mI6RqdQ== dependencies: "@rollup/pluginutils" "^3.1.0" magic-string "^0.25.7" "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": version "3.1.0" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== dependencies: "@types/estree" "0.0.39" estree-walker "^1.0.1" @@ -538,14 +595,16 @@ "@rollup/pluginutils@^4.1.0": version "4.1.0" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838" + integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ== dependencies: estree-walker "^2.0.1" picomatch "^2.2.2" "@rushstack/node-core-library@3.35.2": version "3.35.2" - resolved "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.35.2.tgz#21ca879b5051a5ebafa952fafcd648a07a142bcb" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.35.2.tgz#21ca879b5051a5ebafa952fafcd648a07a142bcb" + integrity sha512-SPd0uG7mwsf3E30np9afCUhtaM1SBpibrbxOXPz82KWV6SQiPUtXeQfhXq9mSnGxOb3WLWoSDe7AFxQNex3+kQ== dependencies: "@types/node" "10.17.13" colors "~1.2.1" @@ -559,7 +618,8 @@ "@rushstack/rig-package@0.2.9": version "0.2.9" - resolved "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.2.9.tgz#57ef94e7f7703b18e275b603d3f59a1a16580716" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.2.9.tgz#57ef94e7f7703b18e275b603d3f59a1a16580716" + integrity sha512-4tqsZ/m+BjeNAGeAJYzPF53CT96TsAYeZ3Pq3T4tb1pGGM3d3TWfkmALZdKNhpRlAeShKUrb/o/f/0sAuK/1VQ== dependencies: "@types/node" "10.17.13" resolve "~1.17.0" @@ -567,7 +627,8 @@ "@rushstack/ts-command-line@4.7.8": version "4.7.8" - resolved "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.7.8.tgz#3aa77cf544c571be3206fc2bcba20c7a096ed254" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.7.8.tgz#3aa77cf544c571be3206fc2bcba20c7a096ed254" + integrity sha512-8ghIWhkph7NnLCMDJtthpsb7TMOsVGXVDvmxjE/CeklTqjbbUFBjGXizJfpbEkRQTELuZQ2+vGn7sGwIWKN2uA== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -575,24 +636,28 @@ string-argv "~0.3.1" "@sinonjs/commons@^1.7.0": - version "1.8.1" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" + version "1.8.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" + integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== dependencies: type-detect "4.0.8" "@sinonjs/fake-timers@^6.0.1": version "6.0.1" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== dependencies: "@sinonjs/commons" "^1.7.0" "@types/argparse@1.0.38": version "1.0.38" - resolved "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" + resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" + integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.12" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -602,148 +667,182 @@ "@types/babel__generator@*": version "7.6.2" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.0" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": version "7.11.0" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" + integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== dependencies: "@babel/types" "^7.3.0" "@types/debug@^4.1.5": version "4.1.5" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" + integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== "@types/estree@*": - version "0.0.45" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" + version "0.0.46" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" + integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== "@types/estree@0.0.39": version "0.0.39" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== "@types/fs-extra@^9.0.6": version "9.0.6" - resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.6.tgz#488e56b77299899a608b8269719c1d133027a6ab" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.6.tgz#488e56b77299899a608b8269719c1d133027a6ab" + integrity sha512-ecNRHw4clCkowNOBJH1e77nvbPxHYnWIXMv1IAoG/9+MYGkgoyr3Ppxr7XYFNL41V422EDhyV4/4SSK8L2mlig== dependencies: "@types/node" "*" "@types/graceful-fs@^4.1.2": version "4.1.4" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753" + integrity sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.3" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== "@types/istanbul-lib-report@*": version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@26.x", "@types/jest@^26.0.19": - version "26.0.19" - resolved "https://registry.npmjs.org/@types/jest/-/jest-26.0.19.tgz#e6fa1e3def5842ec85045bd5210e9bb8289de790" + version "26.0.20" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307" + integrity sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA== dependencies: jest-diff "^26.0.0" pretty-format "^26.0.0" "@types/node@*", "@types/node@^14.14.20": - version "14.14.20" - resolved "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" + version "14.14.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.21.tgz#d934aacc22424fe9622ebf6857370c052eae464e" + integrity sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A== "@types/node@10.17.13": version "10.17.13" - resolved "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz#ccebcdb990bd6139cd16e84c39dc2fb1023ca90c" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.13.tgz#ccebcdb990bd6139cd16e84c39dc2fb1023ca90c" + integrity sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg== "@types/normalize-package-data@^2.4.0": version "2.4.0" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== "@types/parse-json@^4.0.0": version "4.0.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prettier@^2.0.0": version "2.1.6" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz#f4b1efa784e8db479cdb8b14403e2144b1e9ff03" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.6.tgz#f4b1efa784e8db479cdb8b14403e2144b1e9ff03" + integrity sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA== "@types/puppeteer@^5.4.2": version "5.4.2" - resolved "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.2.tgz#80f3a1f54dedbbf750779716de81401549062072" + resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-5.4.2.tgz#80f3a1f54dedbbf750779716de81401549062072" + integrity sha512-yjbHoKjZFOGqA6bIEI2dfBE5UPqU0YGWzP+ipDVP1iGzmlhksVKTBVZfT3Aj3wnvmcJ2PQ9zcncwOwyavmafBw== dependencies: "@types/node" "*" "@types/resolve@1.17.1": version "1.17.1" - resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + dependencies: + "@types/node" "*" + +"@types/sass@^1.16.0": + version "1.16.0" + resolved "https://registry.yarnpkg.com/@types/sass/-/sass-1.16.0.tgz#b41ac1c17fa68ffb57d43e2360486ef526b3d57d" + integrity sha512-2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA== dependencies: "@types/node" "*" "@types/stack-utils@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== "@types/yargs-parser@*": version "20.2.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== "@types/yargs@^15.0.0": version "15.0.12" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz#6234ce3e3e3fa32c5db301a170f96a599c960d74" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.12.tgz#6234ce3e3e3fa32c5db301a170f96a599c960d74" + integrity sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw== dependencies: "@types/yargs-parser" "*" "@types/yauzl@^2.9.1": version "2.9.1" - resolved "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" + integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA== dependencies: "@types/node" "*" "@typescript-eslint/parser@^4.12.0": - version "4.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.12.0.tgz#e1cf30436e4f916c31fcc962158917bd9e9d460a" + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.14.0.tgz#62d4cd2079d5c06683e9bfb200c758f292c4dee7" + integrity sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg== dependencies: - "@typescript-eslint/scope-manager" "4.12.0" - "@typescript-eslint/types" "4.12.0" - "@typescript-eslint/typescript-estree" "4.12.0" + "@typescript-eslint/scope-manager" "4.14.0" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/typescript-estree" "4.14.0" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.12.0": - version "4.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.12.0.tgz#beeb8beca895a07b10c593185a5612f1085ef279" +"@typescript-eslint/scope-manager@4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz#55a4743095d684e1f7b7180c4bac2a0a3727f517" + integrity sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q== dependencies: - "@typescript-eslint/types" "4.12.0" - "@typescript-eslint/visitor-keys" "4.12.0" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/visitor-keys" "4.14.0" -"@typescript-eslint/types@4.12.0": - version "4.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.12.0.tgz#fb891fe7ccc9ea8b2bbd2780e36da45d0dc055e5" +"@typescript-eslint/types@4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.14.0.tgz#d8a8202d9b58831d6fd9cee2ba12f8a5a5dd44b6" + integrity sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A== -"@typescript-eslint/typescript-estree@4.12.0": - version "4.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.12.0.tgz#3963418c850f564bdab3882ae23795d115d6d32e" +"@typescript-eslint/typescript-estree@4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz#4bcd67486e9acafc3d0c982b23a9ab8ac8911ed7" + integrity sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag== dependencies: - "@typescript-eslint/types" "4.12.0" - "@typescript-eslint/visitor-keys" "4.12.0" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/visitor-keys" "4.14.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -751,20 +850,23 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.12.0": - version "4.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.12.0.tgz#a470a79be6958075fa91c725371a83baf428a67a" +"@typescript-eslint/visitor-keys@4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz#b1090d9d2955b044b2ea2904a22496849acbdf54" + integrity sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA== dependencies: - "@typescript-eslint/types" "4.12.0" + "@typescript-eslint/types" "4.14.0" eslint-visitor-keys "^2.0.0" "@vitejs/plugin-vue@^1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.0.4.tgz#124b06b185a8b536210bdb00948c17e52ab589fe" + version "1.0.6" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-1.0.6.tgz#698afa5a77a6dcd22cf7757801f46a6f01cdbb53" + integrity sha512-cWJewtxnVVpjlhq6DoZ7VP7sF1jTZYVg66ehslZ0tJANWk1uRiCXdqD8yQ4npZ4XewDICQzK+c+9i3Xsubx59w== "@vue/compiler-core@3.0.5", "@vue/compiler-core@^3.0.4": version "3.0.5" - resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.5.tgz#a6e54cabe9536e74c6513acd2649f311af1d43ac" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.0.5.tgz#a6e54cabe9536e74c6513acd2649f311af1d43ac" + integrity sha512-iFXwk2gmU/GGwN4hpBwDWWMLvpkIejf/AybcFtlQ5V1ur+5jwfBaV0Y1RXoR6ePfBPJixtKZ3PmN+M+HgMAtfQ== dependencies: "@babel/parser" "^7.12.0" "@babel/types" "^7.12.0" @@ -774,14 +876,16 @@ "@vue/compiler-dom@3.0.5": version "3.0.5" - resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.5.tgz#7885a13e6d18f64dde8ebceec052ed2c102696c2" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.0.5.tgz#7885a13e6d18f64dde8ebceec052ed2c102696c2" + integrity sha512-HSOSe2XSPuCkp20h4+HXSiPH9qkhz6YbW9z9ZtL5vef2T2PMugH7/osIFVSrRZP/Ul5twFZ7MIRlp8tPX6e4/g== dependencies: "@vue/compiler-core" "3.0.5" "@vue/shared" "3.0.5" "@vue/compiler-sfc@^3.0.5": version "3.0.5" - resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.5.tgz#3ae08e60244a72faf9598361874fb7bdb5b1d37c" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.0.5.tgz#3ae08e60244a72faf9598361874fb7bdb5b1d37c" + integrity sha512-uOAC4X0Gx3SQ9YvDC7YMpbDvoCmPvP0afVhJoxRotDdJ+r8VO3q4hFf/2f7U62k4Vkdftp6DVni8QixrfYzs+w== dependencies: "@babel/parser" "^7.12.0" "@babel/types" "^7.12.0" @@ -802,27 +906,31 @@ "@vue/compiler-ssr@3.0.5": version "3.0.5" - resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.5.tgz#7661ad891a0be948726c7f7ad1e425253c587b83" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.0.5.tgz#7661ad891a0be948726c7f7ad1e425253c587b83" + integrity sha512-Wm//Kuxa1DpgjE4P9W0coZr8wklOfJ35Jtq61CbU+t601CpPTK4+FL2QDBItaG7aoUUDCWL5nnxMkuaOgzTBKg== dependencies: "@vue/compiler-dom" "3.0.5" "@vue/shared" "3.0.5" "@vue/reactivity@3.0.5": version "3.0.5" - resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.5.tgz#e3789e4d523d845f9ae0b4d770e2b45594742fd2" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.0.5.tgz#e3789e4d523d845f9ae0b4d770e2b45594742fd2" + integrity sha512-3xodUE3sEIJgS7ntwUbopIpzzvi7vDAOjVamfb2l+v1FUg0jpd3gf62N2wggJw3fxBMr+QvyxpD+dBoxLsmAjw== dependencies: "@vue/shared" "3.0.5" "@vue/runtime-core@3.0.5": version "3.0.5" - resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.5.tgz#da6331d5f300d5794e9e0ebdc8a8bd72a9e19962" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.0.5.tgz#da6331d5f300d5794e9e0ebdc8a8bd72a9e19962" + integrity sha512-Cnyi2NqREwOLcTEsIi1DQX1hHtkVj4eGm4hBG7HhokS05DqpK4/80jG6PCCnCH9rIJDB2FqtaODX397210plXg== dependencies: "@vue/reactivity" "3.0.5" "@vue/shared" "3.0.5" "@vue/runtime-dom@3.0.5": version "3.0.5" - resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.5.tgz#1ce2c9c449e26ab06963da0064096e882a7a8935" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.0.5.tgz#1ce2c9c449e26ab06963da0064096e882a7a8935" + integrity sha512-iilX1KySeIzHHtErT6Y44db1rhWK5tAI0CiJIPr+SJoZ2jbjoOSE6ff/jfIQakchbm1d6jq6VtRVnp5xYdOXKA== dependencies: "@vue/runtime-core" "3.0.5" "@vue/shared" "3.0.5" @@ -830,59 +938,71 @@ "@vue/shared@3.0.0-rc.5": version "3.0.0-rc.5" - resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.0-rc.5.tgz#cea2378e3e37363ddc1f5dd158edc9c9b5b3fff0" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.0-rc.5.tgz#cea2378e3e37363ddc1f5dd158edc9c9b5b3fff0" + integrity sha512-ZhcgGzBpp+pUzisZgQpM4ctIGgLpYjBj7/rZfbhEPxFHF/BuTV2jmhXvAl8aF9xDAejIcw85xCy92gDSwKtPag== "@vue/shared@3.0.5": version "3.0.5" - resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.5.tgz#c131d88bd6713cc4d93b3bb1372edb1983225ff0" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.5.tgz#c131d88bd6713cc4d93b3bb1372edb1983225ff0" + integrity sha512-gYsNoGkWejBxNO6SNRjOh/xKeZ0H0V+TFzaPzODfBjkAIb0aQgBuixC1brandC/CDJy1wYPwSoYrXpvul7m6yw== abab@^2.0.3: version "2.0.5" - resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== abstract-leveldown@~0.12.0, abstract-leveldown@~0.12.1: version "0.12.4" - resolved "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz#29e18e632e60e4e221d5810247852a63d7b2e410" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz#29e18e632e60e4e221d5810247852a63d7b2e410" + integrity sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA= dependencies: xtend "~3.0.0" acorn-globals@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== dependencies: acorn "^7.1.1" acorn-walk "^7.1.1" acorn-jsx@^5.3.1: version "5.3.1" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== acorn-walk@^7.1.1: version "7.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn@^5.7.3: version "5.7.4" - resolved "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== agent-base@5: version "5.1.1" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" + integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== aggregate-error@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" indent-string "^4.0.0" ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -891,7 +1011,8 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: ajv@^7.0.2: version "7.0.3" - resolved "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz#13ae747eff125cafb230ac504b2406cf371eece2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.0.3.tgz#13ae747eff125cafb230ac504b2406cf371eece2" + integrity sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -900,73 +1021,87 @@ ajv@^7.0.2: ansi-colors@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.1" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== dependencies: type-fest "^0.11.0" ansi-regex@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" anymatch@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== dependencies: micromatch "^3.1.4" normalize-path "^2.1.1" anymatch@^3.0.3: version "3.1.1" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" argparse@^1.0.7, argparse@~1.0.9: version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" arr-diff@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= arr-flatten@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== arr-union@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array-unique@^0.3.2: version "0.3.2" - resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= asn1.js@^5.2.0: version "5.4.1" - resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -975,45 +1110,55 @@ asn1.js@^5.2.0: asn1@~0.2.3: version "0.2.4" - resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== dependencies: safer-buffer "~2.1.0" assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= assign-symbols@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= astral-regex@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== atob@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== aws-sign2@~0.7.0: version "0.7.0" - resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: version "1.11.0" - resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== babel-jest@^26.6.3: version "26.6.3" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== dependencies: "@jest/transform" "^26.6.2" "@jest/types" "^26.6.2" @@ -1026,7 +1171,8 @@ babel-jest@^26.6.3: babel-plugin-istanbul@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" @@ -1036,7 +1182,8 @@ babel-plugin-istanbul@^6.0.0: babel-plugin-jest-hoist@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -1045,7 +1192,8 @@ babel-plugin-jest-hoist@^26.6.2: babel-preset-current-node-syntax@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -1062,22 +1210,26 @@ babel-preset-current-node-syntax@^1.0.0: babel-preset-jest@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== dependencies: babel-plugin-jest-hoist "^26.6.2" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@^1.1.2, base64-js@^1.3.1: version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" - resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== dependencies: cache-base "^1.0.1" class-utils "^0.3.5" @@ -1089,17 +1241,20 @@ base@^0.11.1: bcrypt-pbkdf@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= dependencies: tweetnacl "^0.14.3" big.js@^5.2.2: version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== bl@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" + integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== dependencies: buffer "^5.5.0" inherits "^2.0.4" @@ -1107,32 +1262,38 @@ bl@^4.0.3: bl@~0.8.1: version "0.8.2" - resolved "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz#c9b6bca08d1bc2ea00fc8afb4f1a5fd1e1c66e4e" + resolved "https://registry.yarnpkg.com/bl/-/bl-0.8.2.tgz#c9b6bca08d1bc2ea00fc8afb4f1a5fd1e1c66e4e" + integrity sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4= dependencies: readable-stream "~1.0.26" bluebird@^3.7.2: version "3.7.2" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: version "4.11.9" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== bn.js@^5.0.0, bn.js@^5.1.1: version "5.1.3" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" + integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" braces@^2.3.1: version "2.3.2" - resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== dependencies: arr-flatten "^1.1.0" array-unique "^0.3.2" @@ -1147,27 +1308,32 @@ braces@^2.3.1: braces@^3.0.1: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" brorand@^1.0.1: version "1.1.0" - resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= brotli@^1.3.2: version "1.3.2" - resolved "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz#525a9cad4fcba96475d7d388f6aecb13eed52f46" + resolved "https://registry.yarnpkg.com/brotli/-/brotli-1.3.2.tgz#525a9cad4fcba96475d7d388f6aecb13eed52f46" + integrity sha1-UlqcrU/LqWR119OI9q7LE+7VL0Y= dependencies: base64-js "^1.1.2" browser-process-hrtime@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" - resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== dependencies: buffer-xor "^1.0.3" cipher-base "^1.0.0" @@ -1178,7 +1344,8 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4: browserify-cipher@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== dependencies: browserify-aes "^1.0.4" browserify-des "^1.0.0" @@ -1186,7 +1353,8 @@ browserify-cipher@^1.0.0: browserify-des@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== dependencies: cipher-base "^1.0.1" des.js "^1.0.0" @@ -1195,7 +1363,8 @@ browserify-des@^1.0.0: browserify-fs@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/browserify-fs/-/browserify-fs-1.0.0.tgz#f075aa8a729d4d1716d066620e386fcc1311a96f" + resolved "https://registry.yarnpkg.com/browserify-fs/-/browserify-fs-1.0.0.tgz#f075aa8a729d4d1716d066620e386fcc1311a96f" + integrity sha1-8HWqinKdTRcW0GZiDjhvzBMRqW8= dependencies: level-filesystem "^1.0.1" level-js "^2.1.3" @@ -1203,14 +1372,16 @@ browserify-fs@^1.0.0: browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: version "4.1.0" - resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: version "4.2.1" - resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== dependencies: bn.js "^5.1.1" browserify-rsa "^4.0.1" @@ -1224,46 +1395,55 @@ browserify-sign@^4.0.0: bs-logger@0.x: version "0.2.6" - resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== dependencies: fast-json-stable-stringify "2.x" bser@2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== dependencies: node-int64 "^0.4.0" buffer-crc32@~0.2.3: version "0.2.13" - resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= buffer-es6@^4.9.2, buffer-es6@^4.9.3: version "4.9.3" - resolved "https://registry.npmjs.org/buffer-es6/-/buffer-es6-4.9.3.tgz#f26347b82df76fd37e18bcb5288c4970cfd5c404" + resolved "https://registry.yarnpkg.com/buffer-es6/-/buffer-es6-4.9.3.tgz#f26347b82df76fd37e18bcb5288c4970cfd5c404" + integrity sha1-8mNHuC33b9N+GLy1KIxJcM/VxAQ= buffer-from@1.x, buffer-from@^1.0.0: version "1.1.1" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== buffer-xor@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== dependencies: base64-js "^1.3.1" ieee754 "^1.1.13" builtin-modules@^3.1.0: version "3.2.0" - resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== cache-base@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== dependencies: collection-visit "^1.0.0" component-emitter "^1.2.1" @@ -1277,29 +1457,35 @@ cache-base@^1.0.1: callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.0.0: version "6.2.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== capture-exit@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== dependencies: rsvp "^4.8.4" caseless@~0.12.0: version "0.12.0" - resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -1307,41 +1493,49 @@ chalk@^2.0.0, chalk@^2.4.2: chalk@^4.0.0, chalk@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" char-regex@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== chownr@^1.1.1: version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== ci-info@^1.5.0: version "1.6.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" cjs-module-lexer@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== class-utils@^0.3.5: version "0.3.6" - resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== dependencies: arr-union "^3.1.0" define-property "^0.2.5" @@ -1350,24 +1544,28 @@ class-utils@^0.3.5: clean-stack@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: restore-cursor "^3.1.0" cli-truncate@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== dependencies: slice-ansi "^3.0.0" string-width "^4.2.0" cliui@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" @@ -1375,80 +1573,97 @@ cliui@^6.0.0: clone@~0.1.9: version "0.1.19" - resolved "https://registry.npmjs.org/clone/-/clone-0.1.19.tgz#613fb68639b26a494ac53253e15b1a6bd88ada85" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.1.19.tgz#613fb68639b26a494ac53253e15b1a6bd88ada85" + integrity sha1-YT+2hjmyaklKxTJT4Vsaa9iK2oU= co@^4.6.0: version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= collect-v8-coverage@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== collection-visit@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= dependencies: map-visit "^1.0.0" object-visit "^1.0.0" color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== colors@~1.2.1: version "1.2.5" - resolved "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" + integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" commander@^2.20.0, commander@^2.7.1: version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^6.2.0: version "6.2.1" - resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== commondir@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= component-emitter@^1.2.1: version "1.3.0" - resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= concat-stream@^1.4.4: version "1.6.2" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== dependencies: buffer-from "^1.0.0" inherits "^2.0.3" @@ -1457,27 +1672,32 @@ concat-stream@^1.4.4: consolidate@^0.16.0: version "0.16.0" - resolved "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16" + integrity sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ== dependencies: bluebird "^3.7.2" convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" copy-descriptor@^0.1.0: version "0.1.1" - resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= cosmiconfig@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" @@ -1487,14 +1707,16 @@ cosmiconfig@^7.0.0: create-ecdh@^4.0.0: version "4.0.4" - resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" elliptic "^6.5.3" create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== dependencies: cipher-base "^1.0.1" inherits "^2.0.1" @@ -1504,7 +1726,8 @@ create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" - resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== dependencies: cipher-base "^1.0.3" create-hash "^1.1.0" @@ -1515,7 +1738,8 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: cross-spawn@^5.0.1: version "5.1.0" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= dependencies: lru-cache "^4.0.1" shebang-command "^1.2.0" @@ -1523,7 +1747,8 @@ cross-spawn@^5.0.1: cross-spawn@^6.0.0: version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" @@ -1533,7 +1758,8 @@ cross-spawn@^6.0.0: cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -1541,7 +1767,8 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2: crypto-browserify@^3.11.0: version "3.12.0" - resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -1557,35 +1784,42 @@ crypto-browserify@^3.11.0: cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssom@^0.4.4: version "0.4.4" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== cssom@~0.3.6: version "0.3.8" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^2.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== dependencies: cssom "~0.3.6" csstype@^2.6.8: version "2.6.14" - resolved "https://registry.npmjs.org/csstype/-/csstype-2.6.14.tgz#004822a4050345b55ad4dcc00be1d9cf2f4296de" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.14.tgz#004822a4050345b55ad4dcc00be1d9cf2f4296de" + integrity sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A== dashdash@^1.12.0: version "1.14.1" - resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= dependencies: assert-plus "^1.0.0" data-urls@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== dependencies: abab "^2.0.3" whatwg-mimetype "^2.3.0" @@ -1593,91 +1827,109 @@ data-urls@^2.0.0: debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: version "4.3.1" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" debug@^2.2.0, debug@^2.3.3: version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" decamelize@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decimal.js@^10.2.0: version "10.2.1" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== decode-uri-component@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= dedent@^0.7.0: version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= deepmerge@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== deferred-leveldown@~0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz#2cef1f111e1c57870d8bbb8af2650e587cd2f5b4" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz#2cef1f111e1c57870d8bbb8af2650e587cd2f5b4" + integrity sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ= dependencies: abstract-leveldown "~0.12.1" define-property@^0.2.5: version "0.2.5" - resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= dependencies: is-descriptor "^1.0.0" define-property@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== dependencies: is-descriptor "^1.0.2" isobject "^3.0.1" delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= des.js@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" detect-newline@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== devtools-protocol@0.0.818844: version "0.0.818844" - resolved "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz#d1947278ec85b53e4c8ca598f607a28fa785ba9e" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.818844.tgz#d1947278ec85b53e4c8ca598f607a28fa785ba9e" + integrity sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg== diff-sequences@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== diffie-hellman@^5.0.0: version "5.0.3" - resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== dependencies: bn.js "^4.1.0" miller-rabin "^4.0.0" @@ -1685,32 +1937,37 @@ diffie-hellman@^5.0.0: dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" domexception@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== dependencies: webidl-conversions "^5.0.0" ecc-jsbn@~0.1.1: version "0.1.2" - resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= dependencies: jsbn "~0.1.0" safer-buffer "^2.1.0" elliptic@^6.5.3: version "6.5.3" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" + integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -1722,55 +1979,66 @@ elliptic@^6.5.3: emittery@^0.7.1: version "0.7.2" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emojis-list@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== dependencies: ansi-colors "^4.1.1" errno@^0.1.1, errno@~0.1.1: version "0.1.8" - resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" esbuild@^0.8.26: - version "0.8.29" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.8.29.tgz#cc20fb752e0905a3546d68ae1be58f9b97044c39" + version "0.8.33" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.8.33.tgz#4e24ab4e780b08ff5527171bf5a684594c8b56e9" + integrity sha512-2ms/P6Y9zJfopR9dKo2vHzhXKfGSNlquVVoVOF8YnhjuzZVrvManMVBPadBsR/t7jzIkRnwqvxrs7d4f3C3eyg== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escape-string-regexp@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== escodegen@^1.14.1: version "1.14.3" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== dependencies: esprima "^4.0.1" estraverse "^4.2.0" @@ -1781,31 +2049,36 @@ escodegen@^1.14.1: eslint-scope@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" estraverse "^4.1.1" eslint-utils@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== eslint@^7.17.0: - version "7.17.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.17.0.tgz#4ccda5bf12572ad3bf760e6f195886f50569adb0" + version "7.18.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.18.0.tgz#7fdcd2f3715a41fe6295a16234bd69aed2c75e67" + integrity sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ== dependencies: "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.2.2" + "@eslint/eslintrc" "^0.3.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -1829,7 +2102,7 @@ eslint@^7.17.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.19" + lodash "^4.17.20" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -1844,7 +2117,8 @@ eslint@^7.17.0: espree@^7.3.0, espree@^7.3.1: version "7.3.1" - resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== dependencies: acorn "^7.4.0" acorn-jsx "^5.3.1" @@ -1852,62 +2126,75 @@ espree@^7.3.0, espree@^7.3.1: esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.2.0: version "1.3.1" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== estree-walker@^0.5.2: version "0.5.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" + integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== estree-walker@^0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== estree-walker@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== estree-walker@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== dependencies: md5.js "^1.3.4" safe-buffer "^5.1.1" exec-sh@^0.3.2: version "0.3.4" - resolved "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== execa@^0.8.0: version "0.8.0" - resolved "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= dependencies: cross-spawn "^5.0.1" get-stream "^3.0.0" @@ -1919,7 +2206,8 @@ execa@^0.8.0: execa@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" @@ -1931,7 +2219,8 @@ execa@^1.0.0: execa@^4.0.0, execa@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== dependencies: cross-spawn "^7.0.0" get-stream "^5.0.0" @@ -1945,11 +2234,13 @@ execa@^4.0.0, execa@^4.1.0: exit@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= expand-brackets@^2.1.4: version "2.1.4" - resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= dependencies: debug "^2.3.3" define-property "^0.2.5" @@ -1961,7 +2252,8 @@ expand-brackets@^2.1.4: expect@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== dependencies: "@jest/types" "^26.6.2" ansi-styles "^4.0.0" @@ -1972,24 +2264,28 @@ expect@^26.6.2: extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" extend@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== extglob@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== dependencies: array-unique "^0.3.2" define-property "^1.0.0" @@ -2002,7 +2298,8 @@ extglob@^2.0.4: extract-zip@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== dependencies: debug "^4.1.1" get-stream "^5.1.0" @@ -2012,19 +2309,23 @@ extract-zip@^2.0.0: extsprintf@1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= extsprintf@^1.2.0: version "1.4.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= fast-deep-equal@^3.1.1: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.1.1: - version "3.2.4" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + version "3.2.5" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -2035,45 +2336,53 @@ fast-glob@^3.1.1: fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fastq@^1.6.0: version "1.10.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz#74dbefccade964932cdf500473ef302719c652bb" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.0.tgz#74dbefccade964932cdf500473ef302719c652bb" + integrity sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA== dependencies: reusify "^1.0.4" fb-watchman@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== dependencies: bser "2.1.1" fd-slicer@~1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= dependencies: pend "~1.2.0" figures@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" file-entry-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" + integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== dependencies: flat-cache "^3.0.4" fill-range@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" @@ -2082,13 +2391,15 @@ fill-range@^4.0.0: fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" find-cache-dir@^3.3.1: version "3.3.1" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== dependencies: commondir "^1.0.1" make-dir "^3.0.2" @@ -2096,37 +2407,44 @@ find-cache-dir@^3.3.1: find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" path-exists "^4.0.0" flat-cache@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: flatted "^3.1.0" rimraf "^3.0.2" flatted@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" + integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== for-in@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= foreach@~2.0.1: version "2.0.5" - resolved "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= forever-agent@~0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= form-data@~2.3.2: version "2.3.3" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" combined-stream "^1.0.6" @@ -2134,17 +2452,20 @@ form-data@~2.3.2: fragment-cache@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= dependencies: map-cache "^0.2.2" fs-constants@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== fs-extra@8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== dependencies: graceful-fs "^4.2.0" jsonfile "^4.0.0" @@ -2152,7 +2473,8 @@ fs-extra@8.1.0: fs-extra@^9.0.1: version "9.0.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== dependencies: at-least-node "^1.0.0" graceful-fs "^4.2.0" @@ -2161,7 +2483,8 @@ fs-extra@^9.0.1: fs-extra@~7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" @@ -2169,87 +2492,105 @@ fs-extra@~7.0.1: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^2.1.2: - version "2.2.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.2.2.tgz#ae94eddce6e1cbc4fd0bd2d43080c5406abd5d6b" + version "2.3.1" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" + integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== fsevents@~2.1.2: version "2.1.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= fwd-stream@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/fwd-stream/-/fwd-stream-1.0.4.tgz#ed281cabed46feecf921ee32dc4c50b372ac7cfa" + resolved "https://registry.yarnpkg.com/fwd-stream/-/fwd-stream-1.0.4.tgz#ed281cabed46feecf921ee32dc4c50b372ac7cfa" + integrity sha1-7Sgcq+1G/uz5Ie4y3ExQs3KsfPo= dependencies: readable-stream "~1.0.26-4" generic-names@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872" + resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872" + integrity sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ== dependencies: loader-utils "^1.1.0" gensync@^1.0.0-beta.1: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^2.0.1: version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== get-package-type@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== get-stream@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= get-stream@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= getpass@^0.1.1: version "0.1.7" - resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= dependencies: assert-plus "^1.0.0" glob-parent@^5.0.0, glob-parent@^5.1.0: version "5.1.1" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== dependencies: is-glob "^4.0.1" glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -2260,17 +2601,20 @@ glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^12.1.0: version "12.4.0" - resolved "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== dependencies: type-fest "^0.8.1" globby@^11.0.1: - version "11.0.1" - resolved "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + version "11.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" + integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" @@ -2281,34 +2625,41 @@ globby@^11.0.1: graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: version "4.2.4" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== growly@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= har-schema@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.3: version "5.1.5" - resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: ajv "^6.12.3" har-schema "^2.0.0" has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-value@^0.3.1: version "0.3.1" - resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= dependencies: get-value "^2.0.3" has-values "^0.1.4" @@ -2316,7 +2667,8 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= dependencies: get-value "^2.0.6" has-values "^1.0.0" @@ -2324,24 +2676,28 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= has-values@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= dependencies: is-number "^3.0.0" kind-of "^4.0.0" has@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" hash-base@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== dependencies: inherits "^2.0.4" readable-stream "^3.6.0" @@ -2349,18 +2705,21 @@ hash-base@^3.0.0: hash-sum@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" + integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" - resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== dependencies: inherits "^2.0.3" minimalistic-assert "^1.0.1" hmac-drbg@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" @@ -2368,21 +2727,25 @@ hmac-drbg@^1.0.0: hosted-git-info@^2.1.4: version "2.8.8" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== html-encoding-sniffer@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== dependencies: whatwg-encoding "^1.0.5" html-escaper@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== http-signature@~1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: assert-plus "^1.0.0" jsprim "^1.2.2" @@ -2390,149 +2753,178 @@ http-signature@~1.2.0: https-proxy-agent@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" + integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== dependencies: agent-base "5" debug "4" human-signals@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" icss-replace-symbols@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= icss-utils@^4.0.0, icss-utils@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== dependencies: postcss "^7.0.14" idb-wrapper@^1.5.0: version "1.7.2" - resolved "https://registry.npmjs.org/idb-wrapper/-/idb-wrapper-1.7.2.tgz#8251afd5e77fe95568b1c16152eb44b396767ea2" + resolved "https://registry.yarnpkg.com/idb-wrapper/-/idb-wrapper-1.7.2.tgz#8251afd5e77fe95568b1c16152eb44b396767ea2" + integrity sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg== ieee754@^1.1.13: version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^4.0.6: version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.1.4: version "5.1.8" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" import-lazy@~4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== import-local@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== indexes-of@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= indexof@~0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== ip-regex@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= is-accessor-descriptor@^0.1.6: version "0.1.6" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= dependencies: kind-of "^3.0.2" is-accessor-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== dependencies: kind-of "^6.0.0" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-buffer@^1.1.5: version "1.1.6" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-ci@^1.0.10: version "1.2.1" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== dependencies: ci-info "^1.5.0" is-ci@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" is-core-module@^2.1.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== dependencies: has "^1.0.3" is-data-descriptor@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= dependencies: kind-of "^3.0.2" is-data-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== dependencies: kind-of "^6.0.0" is-descriptor@^0.1.0: version "0.1.6" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== dependencies: is-accessor-descriptor "^0.1.6" is-data-descriptor "^0.1.4" @@ -2540,7 +2932,8 @@ is-descriptor@^0.1.0: is-descriptor@^1.0.0, is-descriptor@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== dependencies: is-accessor-descriptor "^1.0.0" is-data-descriptor "^1.0.0" @@ -2548,141 +2941,172 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-docker@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= is-extendable@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== dependencies: is-plain-object "^2.0.4" is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-fn@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== is-glob@^4.0.0, is-glob@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" is-module@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= is-number@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= dependencies: kind-of "^3.0.2" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= is-object@~0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/is-object/-/is-object-0.1.2.tgz#00efbc08816c33cfc4ac8251d132e10dc65098d7" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-0.1.2.tgz#00efbc08816c33cfc4ac8251d132e10dc65098d7" + integrity sha1-AO+8CIFsM8/ErIJR0TLhDcZQmNc= is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" is-potential-custom-element-name@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= is-reference@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== dependencies: "@types/estree" "*" is-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= is-stream@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= is-windows@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== is-wsl@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" is@~0.2.6: version "0.2.7" - resolved "https://registry.npmjs.org/is/-/is-0.2.7.tgz#3b34a2c48f359972f35042849193ae7264b63562" + resolved "https://registry.yarnpkg.com/is/-/is-0.2.7.tgz#3b34a2c48f359972f35042849193ae7264b63562" + integrity sha1-OzSixI81mXLzUEKEkZOucmS2NWI= isarray@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= isarray@1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isbuffer@~0.0.0: version "0.0.0" - resolved "https://registry.npmjs.org/isbuffer/-/isbuffer-0.0.0.tgz#38c146d9df528b8bf9b0701c3d43cf12df3fc39b" + resolved "https://registry.yarnpkg.com/isbuffer/-/isbuffer-0.0.0.tgz#38c146d9df528b8bf9b0701c3d43cf12df3fc39b" + integrity sha1-OMFG2d9Si4v5sHAcPUPPEt8/w5s= isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= isobject@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= isstream@~0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= istanbul-lib-coverage@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== dependencies: "@babel/core" "^7.7.5" "@istanbuljs/schema" "^0.1.2" @@ -2691,7 +3115,8 @@ istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: istanbul-lib-report@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== dependencies: istanbul-lib-coverage "^3.0.0" make-dir "^3.0.0" @@ -2699,7 +3124,8 @@ istanbul-lib-report@^3.0.0: istanbul-lib-source-maps@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== dependencies: debug "^4.1.1" istanbul-lib-coverage "^3.0.0" @@ -2707,14 +3133,16 @@ istanbul-lib-source-maps@^4.0.0: istanbul-reports@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" jest-changed-files@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== dependencies: "@jest/types" "^26.6.2" execa "^4.0.0" @@ -2722,7 +3150,8 @@ jest-changed-files@^26.6.2: jest-cli@^26.6.3: version "26.6.3" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== dependencies: "@jest/core" "^26.6.3" "@jest/test-result" "^26.6.2" @@ -2740,7 +3169,8 @@ jest-cli@^26.6.3: jest-config@^26.6.3: version "26.6.3" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== dependencies: "@babel/core" "^7.1.0" "@jest/test-sequencer" "^26.6.3" @@ -2763,7 +3193,8 @@ jest-config@^26.6.3: jest-diff@^26.0.0, jest-diff@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== dependencies: chalk "^4.0.0" diff-sequences "^26.6.2" @@ -2772,13 +3203,15 @@ jest-diff@^26.0.0, jest-diff@^26.6.2: jest-docblock@^26.0.0: version "26.0.0" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== dependencies: detect-newline "^3.0.0" jest-each@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== dependencies: "@jest/types" "^26.6.2" chalk "^4.0.0" @@ -2788,7 +3221,8 @@ jest-each@^26.6.2: jest-environment-jsdom@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== dependencies: "@jest/environment" "^26.6.2" "@jest/fake-timers" "^26.6.2" @@ -2800,7 +3234,8 @@ jest-environment-jsdom@^26.6.2: jest-environment-node@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== dependencies: "@jest/environment" "^26.6.2" "@jest/fake-timers" "^26.6.2" @@ -2811,11 +3246,13 @@ jest-environment-node@^26.6.2: jest-get-type@^26.3.0: version "26.3.0" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== jest-haste-map@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== dependencies: "@jest/types" "^26.6.2" "@types/graceful-fs" "^4.1.2" @@ -2835,7 +3272,8 @@ jest-haste-map@^26.6.2: jest-jasmine2@^26.6.3: version "26.6.3" - resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== dependencies: "@babel/traverse" "^7.1.0" "@jest/environment" "^26.6.2" @@ -2858,14 +3296,16 @@ jest-jasmine2@^26.6.3: jest-leak-detector@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== dependencies: jest-get-type "^26.3.0" pretty-format "^26.6.2" jest-matcher-utils@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== dependencies: chalk "^4.0.0" jest-diff "^26.6.2" @@ -2874,7 +3314,8 @@ jest-matcher-utils@^26.6.2: jest-message-util@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== dependencies: "@babel/code-frame" "^7.0.0" "@jest/types" "^26.6.2" @@ -2888,22 +3329,26 @@ jest-message-util@^26.6.2: jest-mock@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== dependencies: "@jest/types" "^26.6.2" "@types/node" "*" jest-pnp-resolver@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== jest-regex-util@^26.0.0: version "26.0.0" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== jest-resolve-dependencies@^26.6.3: version "26.6.3" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== dependencies: "@jest/types" "^26.6.2" jest-regex-util "^26.0.0" @@ -2911,7 +3356,8 @@ jest-resolve-dependencies@^26.6.3: jest-resolve@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== dependencies: "@jest/types" "^26.6.2" chalk "^4.0.0" @@ -2924,7 +3370,8 @@ jest-resolve@^26.6.2: jest-runner@^26.6.3: version "26.6.3" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== dependencies: "@jest/console" "^26.6.2" "@jest/environment" "^26.6.2" @@ -2949,7 +3396,8 @@ jest-runner@^26.6.3: jest-runtime@^26.6.3: version "26.6.3" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== dependencies: "@jest/console" "^26.6.2" "@jest/environment" "^26.6.2" @@ -2981,14 +3429,16 @@ jest-runtime@^26.6.3: jest-serializer@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== dependencies: "@types/node" "*" graceful-fs "^4.2.4" jest-snapshot@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== dependencies: "@babel/types" "^7.0.0" "@jest/types" "^26.6.2" @@ -3009,7 +3459,8 @@ jest-snapshot@^26.6.2: jest-util@^26.1.0, jest-util@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== dependencies: "@jest/types" "^26.6.2" "@types/node" "*" @@ -3020,7 +3471,8 @@ jest-util@^26.1.0, jest-util@^26.6.2: jest-validate@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== dependencies: "@jest/types" "^26.6.2" camelcase "^6.0.0" @@ -3031,7 +3483,8 @@ jest-validate@^26.6.2: jest-watcher@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== dependencies: "@jest/test-result" "^26.6.2" "@jest/types" "^26.6.2" @@ -3043,7 +3496,8 @@ jest-watcher@^26.6.2: jest-worker@^26.2.1, jest-worker@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== dependencies: "@types/node" "*" merge-stream "^2.0.0" @@ -3051,7 +3505,8 @@ jest-worker@^26.2.1, jest-worker@^26.6.2: jest@^26.6.3: version "26.6.3" - resolved "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== dependencies: "@jest/core" "^26.6.3" import-local "^3.0.2" @@ -3059,26 +3514,31 @@ jest@^26.6.3: jju@~1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" jsbn@~0.1.0: version "0.1.1" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsdom@^16.4.0: version "16.4.0" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== dependencies: abab "^2.0.3" acorn "^7.1.1" @@ -3109,53 +3569,69 @@ jsdom@^16.4.0: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== json-parse-even-better-errors@^2.3.0: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-schema@0.2.3: version "0.2.3" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json-stringify-safe@~5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json5@2.x, json5@^2.1.2: version "2.1.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== dependencies: minimist "^1.2.5" json5@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== dependencies: minimist "^1.2.0" +jsonc-parser@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" + integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== + jsonfile@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= optionalDependencies: graceful-fs "^4.1.6" jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" optionalDependencies: @@ -3163,7 +3639,8 @@ jsonfile@^6.0.1: jsprim@^1.2.2: version "1.4.1" - resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= dependencies: assert-plus "1.0.0" extsprintf "1.3.0" @@ -3172,31 +3649,37 @@ jsprim@^1.2.2: kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= dependencies: is-buffer "^1.1.5" kind-of@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== kleur@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== level-blobs@^0.1.7: version "0.1.7" - resolved "https://registry.npmjs.org/level-blobs/-/level-blobs-0.1.7.tgz#9ab9b97bb99f1edbf9f78a3433e21ed56386bdaf" + resolved "https://registry.yarnpkg.com/level-blobs/-/level-blobs-0.1.7.tgz#9ab9b97bb99f1edbf9f78a3433e21ed56386bdaf" + integrity sha1-mrm5e7mfHtv594o0M+Ie1WOGva8= dependencies: level-peek "1.0.6" once "^1.3.0" @@ -3204,7 +3687,8 @@ level-blobs@^0.1.7: level-filesystem@^1.0.1: version "1.2.0" - resolved "https://registry.npmjs.org/level-filesystem/-/level-filesystem-1.2.0.tgz#a00aca9919c4a4dfafdca6a8108d225aadff63b3" + resolved "https://registry.yarnpkg.com/level-filesystem/-/level-filesystem-1.2.0.tgz#a00aca9919c4a4dfafdca6a8108d225aadff63b3" + integrity sha1-oArKmRnEpN+v3KaoEI0iWq3/Y7M= dependencies: concat-stream "^1.4.4" errno "^0.1.1" @@ -3218,23 +3702,27 @@ level-filesystem@^1.0.1: level-fix-range@2.0: version "2.0.0" - resolved "https://registry.npmjs.org/level-fix-range/-/level-fix-range-2.0.0.tgz#c417d62159442151a19d9a2367868f1724c2d548" + resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-2.0.0.tgz#c417d62159442151a19d9a2367868f1724c2d548" + integrity sha1-xBfWIVlEIVGhnZojZ4aPFyTC1Ug= dependencies: clone "~0.1.9" level-fix-range@~1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/level-fix-range/-/level-fix-range-1.0.2.tgz#bf15b915ae36d8470c821e883ddf79cd16420828" + resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-1.0.2.tgz#bf15b915ae36d8470c821e883ddf79cd16420828" + integrity sha1-vxW5Fa422EcMgh6IPd95zRZCCCg= "level-hooks@>=4.4.0 <5": version "4.5.0" - resolved "https://registry.npmjs.org/level-hooks/-/level-hooks-4.5.0.tgz#1b9ae61922930f3305d1a61fc4d83c8102c0dd93" + resolved "https://registry.yarnpkg.com/level-hooks/-/level-hooks-4.5.0.tgz#1b9ae61922930f3305d1a61fc4d83c8102c0dd93" + integrity sha1-G5rmGSKTDzMF0aYfxNg8gQLA3ZM= dependencies: string-range "~1.2" level-js@^2.1.3: version "2.2.4" - resolved "https://registry.npmjs.org/level-js/-/level-js-2.2.4.tgz#bc055f4180635d4489b561c9486fa370e8c11697" + resolved "https://registry.yarnpkg.com/level-js/-/level-js-2.2.4.tgz#bc055f4180635d4489b561c9486fa370e8c11697" + integrity sha1-vAVfQYBjXUSJtWHJSG+jcOjBFpc= dependencies: abstract-leveldown "~0.12.0" idb-wrapper "^1.5.0" @@ -3245,13 +3733,15 @@ level-js@^2.1.3: level-peek@1.0.6, level-peek@^1.0.6: version "1.0.6" - resolved "https://registry.npmjs.org/level-peek/-/level-peek-1.0.6.tgz#bec51c72a82ee464d336434c7c876c3fcbcce77f" + resolved "https://registry.yarnpkg.com/level-peek/-/level-peek-1.0.6.tgz#bec51c72a82ee464d336434c7c876c3fcbcce77f" + integrity sha1-vsUccqgu5GTTNkNMfIdsP8vM538= dependencies: level-fix-range "~1.0.2" level-sublevel@^5.2.0: version "5.2.3" - resolved "https://registry.npmjs.org/level-sublevel/-/level-sublevel-5.2.3.tgz#744c12c72d2e72be78dde3b9b5cd84d62191413a" + resolved "https://registry.yarnpkg.com/level-sublevel/-/level-sublevel-5.2.3.tgz#744c12c72d2e72be78dde3b9b5cd84d62191413a" + integrity sha1-dEwSxy0ucr543eO5tc2E1iGRQTo= dependencies: level-fix-range "2.0" level-hooks ">=4.4.0 <5" @@ -3260,7 +3750,8 @@ level-sublevel@^5.2.0: levelup@^0.18.2: version "0.18.6" - resolved "https://registry.npmjs.org/levelup/-/levelup-0.18.6.tgz#e6a01cb089616c8ecc0291c2a9bd3f0c44e3e5eb" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-0.18.6.tgz#e6a01cb089616c8ecc0291c2a9bd3f0c44e3e5eb" + integrity sha1-5qAcsIlhbI7MApHCqb0/DETj5es= dependencies: bl "~0.8.1" deferred-leveldown "~0.2.0" @@ -3272,29 +3763,34 @@ levelup@^0.18.2: leven@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" type-check "~0.4.0" levn@~0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" lines-and-columns@^1.1.6: version "1.1.6" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= lint-staged@^10.5.3: version "10.5.3" - resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" + integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== dependencies: chalk "^4.1.0" cli-truncate "^2.1.0" @@ -3314,7 +3810,8 @@ lint-staged@^10.5.3: listr2@^3.2.2: version "3.2.3" - resolved "https://registry.npmjs.org/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" + integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== dependencies: chalk "^4.1.0" cli-truncate "^2.1.0" @@ -3327,7 +3824,8 @@ listr2@^3.2.2: loader-utils@^1.1.0: version "1.4.0" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" @@ -3335,43 +3833,52 @@ loader-utils@^1.1.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" lodash.camelcase@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= lodash.get@^4.0.0: version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= lodash.isequal@^4.0.0: version "4.5.0" - resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= lodash.memoize@4.x: version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= lodash.sortby@^4.7.0: version "4.7.0" - resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@~4.17.15: version "4.17.20" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== log-symbols@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== dependencies: chalk "^4.0.0" log-update@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== dependencies: ansi-escapes "^4.3.0" cli-cursor "^3.1.0" @@ -3380,68 +3887,80 @@ log-update@^4.0.0: lru-cache@^4.0.1: version "4.1.5" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== dependencies: pseudomap "^1.0.2" yallist "^2.1.2" lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" ltgt@^2.1.2: version "2.2.1" - resolved "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" + resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" + integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= magic-string@^0.22.5: version "0.22.5" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + integrity sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== dependencies: vlq "^0.2.2" magic-string@^0.25.7: version "0.25.7" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== dependencies: sourcemap-codec "^1.4.4" make-dir@^3.0.0, make-dir@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" make-error@1.x: version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== makeerror@1.0.x: version "1.0.11" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= dependencies: tmpl "1.0.x" map-cache@^0.2.2: version "0.2.2" - resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= map-visit@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= dependencies: object-visit "^1.0.0" md5.js@^1.3.4: version "1.3.5" - resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== dependencies: hash-base "^3.0.0" inherits "^2.0.1" @@ -3449,21 +3968,25 @@ md5.js@^1.3.4: merge-source-map@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== dependencies: source-map "^0.6.1" merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^3.1.4: version "3.1.10" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -3481,92 +4004,111 @@ micromatch@^3.1.4: micromatch@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== dependencies: braces "^3.0.1" picomatch "^2.0.5" miller-rabin@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== dependencies: bn.js "^4.0.0" brorand "^1.0.1" mime-db@1.45.0: version "1.45.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" + integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== mime-types@^2.1.12, mime-types@~2.1.19: version "2.1.28" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" + integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== dependencies: mime-db "1.45.0" mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mini-types@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/mini-types/-/mini-types-0.1.4.tgz#47712c66069119395228b8b2d483a11ee7cf9fb1" + resolved "https://registry.yarnpkg.com/mini-types/-/mini-types-0.1.4.tgz#47712c66069119395228b8b2d483a11ee7cf9fb1" + integrity sha512-9zFwuKnbfSgChQonCwSa2CATInEynTLnn5uKYmJLqkNT29VdHPGDpd76GYxcGO0P4RXXLz8J8U1ULAhybg6hnw== minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= minimatch@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== miniprogram-api-typings@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/miniprogram-api-typings/-/miniprogram-api-typings-3.2.0.tgz#5ba1225393167e242039e4131c343b5a688aea80" + version "3.2.2" + resolved "https://registry.yarnpkg.com/miniprogram-api-typings/-/miniprogram-api-typings-3.2.2.tgz#c928c32cffcb948200273c214e3dee3957eafd14" + integrity sha512-7TSeYV3Z4sUAw802K+bIFTRlQNUzl2GZ4zWnh5fMETjDsU7e8+uLzK7vF9Nd9TGYcePPhoHee25K86oHfDnxLA== mitt@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/mitt/-/mitt-2.1.0.tgz#f740577c23176c6205b121b2973514eade1b2230" + resolved "https://registry.yarnpkg.com/mitt/-/mitt-2.1.0.tgz#f740577c23176c6205b121b2973514eade1b2230" + integrity sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg== mixin-deep@^1.2.0: version "1.3.2" - resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== dependencies: for-in "^1.0.2" is-extendable "^1.0.1" mkdirp-classic@^0.5.2: version "0.5.3" - resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== mkdirp@1.x: version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== ms@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== nanoid@^3.1.20: version "3.1.20" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== nanomatch@^1.2.9: version "1.2.13" - resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" @@ -3582,27 +4124,33 @@ nanomatch@^1.2.9: natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== node-fetch@^2.6.1: version "2.6.1" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== node-int64@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= node-modules-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= node-notifier@^8.0.0: version "8.0.1" - resolved "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" + integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA== dependencies: growly "^1.3.0" is-wsl "^2.2.0" @@ -3613,7 +4161,8 @@ node-notifier@^8.0.0: normalize-package-data@^2.5.0: version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" resolve "^1.10.0" @@ -3622,41 +4171,49 @@ normalize-package-data@^2.5.0: normalize-path@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k= normalize-path@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= dependencies: remove-trailing-separator "^1.0.1" normalize-path@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== npm-run-path@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: path-key "^2.0.0" npm-run-path@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" nwsapi@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== oauth-sign@~0.9.0: version "0.9.0" - resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== object-copy@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" @@ -3664,7 +4221,8 @@ object-copy@^0.1.0: object-keys@~0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-0.2.0.tgz#cddec02998b091be42bf1035ae32e49f1cb6ea67" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.2.0.tgz#cddec02998b091be42bf1035ae32e49f1cb6ea67" + integrity sha1-zd7AKZiwkb5CvxA1rjLknxy26mc= dependencies: foreach "~2.0.1" indexof "~0.0.1" @@ -3672,39 +4230,46 @@ object-keys@~0.2.0: object-keys@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= object-visit@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= dependencies: isobject "^3.0.0" object.pick@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" octal@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/octal/-/octal-1.0.0.tgz#63e7162a68efbeb9e213588d58e989d1e5c4530b" + resolved "https://registry.yarnpkg.com/octal/-/octal-1.0.0.tgz#63e7162a68efbeb9e213588d58e989d1e5c4530b" + integrity sha1-Y+cWKmjvvrniE1iNWOmJ0eXEUws= once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" onetime@^5.1.0: version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" optionator@^0.8.1: version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== dependencies: deep-is "~0.1.3" fast-levenshtein "~2.0.6" @@ -3715,7 +4280,8 @@ optionator@^0.8.1: optionator@^0.9.1: version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== dependencies: deep-is "^0.1.3" fast-levenshtein "^2.0.6" @@ -3726,43 +4292,51 @@ optionator@^0.9.1: p-each-series@^2.1.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-map@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-asn1@^5.0.0, parse-asn1@^5.1.5: version "5.1.6" - resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: asn1.js "^5.2.0" browserify-aes "^1.0.0" @@ -3771,8 +4345,9 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: safe-buffer "^5.1.1" parse-json@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" @@ -3781,39 +4356,48 @@ parse-json@^5.0.0: parse5@5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== pascalcase@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.6: version "1.0.6" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== pbkdf2@^3.0.3: version "3.1.1" - resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -3823,47 +4407,56 @@ pbkdf2@^3.0.3: pend@~1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= performance-now@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: version "2.2.2" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== pirates@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== dependencies: node-modules-regexp "^1.0.0" pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" please-upgrade-node@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== dependencies: semver-compare "^1.0.0" posix-character-classes@^0.1.0: version "0.1.1" - resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= postcss-modules-extract-imports@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== dependencies: postcss "^7.0.5" postcss-modules-local-by-default@^3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== dependencies: icss-utils "^4.1.1" postcss "^7.0.32" @@ -3872,21 +4465,24 @@ postcss-modules-local-by-default@^3.0.2: postcss-modules-scope@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== dependencies: postcss "^7.0.6" postcss-selector-parser "^6.0.0" postcss-modules-values@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== dependencies: icss-utils "^4.0.0" postcss "^7.0.6" postcss-modules@^3.2.2: version "3.2.2" - resolved "https://registry.npmjs.org/postcss-modules/-/postcss-modules-3.2.2.tgz#ee390de0f9f18e761e1778dfb9be26685c02c51f" + resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-3.2.2.tgz#ee390de0f9f18e761e1778dfb9be26685c02c51f" + integrity sha512-JQ8IAqHELxC0N6tyCg2UF40pACY5oiL6UpiqqcIFRWqgDYO8B0jnxzoQ0EOpPrWXvcpu6BSbQU/3vSiq7w8Nhw== dependencies: generic-names "^2.0.1" icss-replace-symbols "^1.1.0" @@ -3900,7 +4496,8 @@ postcss-modules@^3.2.2: postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.4" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== dependencies: cssesc "^3.0.0" indexes-of "^1.0.1" @@ -3909,19 +4506,22 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector postcss-value-parser@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.35" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== dependencies: chalk "^2.4.2" source-map "^0.6.1" supports-color "^6.1.0" postcss@^8.2.1: - version "8.2.2" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.2.2.tgz#60613b62297005084fd21024a68637798864fe26" + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.4.tgz#20a98a39cf303d15129c2865a9ec37eda0031d04" + integrity sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg== dependencies: colorette "^1.2.1" nanoid "^3.1.20" @@ -3929,19 +4529,23 @@ postcss@^8.2.1: prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prelude-ls@~1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= prettier@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== pretty-format@^26.0.0, pretty-format@^26.6.2: version "26.6.2" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== dependencies: "@jest/types" "^26.6.2" ansi-regex "^5.0.0" @@ -3950,46 +4554,56 @@ pretty-format@^26.0.0, pretty-format@^26.6.2: process-es6@^0.11.2, process-es6@^0.11.6: version "0.11.6" - resolved "https://registry.npmjs.org/process-es6/-/process-es6-0.11.6.tgz#c6bb389f9a951f82bd4eb169600105bd2ff9c778" + resolved "https://registry.yarnpkg.com/process-es6/-/process-es6-0.11.6.tgz#c6bb389f9a951f82bd4eb169600105bd2ff9c778" + integrity sha1-xrs4n5qVH4K9TrFpYAEFvS/5x3g= process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== progress@^2.0.0, progress@^2.0.1: version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== prompts@^2.0.1: version "2.4.0" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== dependencies: kleur "^3.0.3" sisteransi "^1.0.5" proxy-from-env@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== prr@~0.0.0: version "0.0.0" - resolved "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + integrity sha1-GoS4WQgyVQFBGFPQCB7j+obikmo= prr@~1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= pseudomap@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.28: version "1.8.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== public-encrypt@^4.0.0: version "4.0.3" - resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== dependencies: bn.js "^4.1.0" browserify-rsa "^4.0.0" @@ -4000,18 +4614,21 @@ public-encrypt@^4.0.0: pump@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== puppeteer@^5.5.0: version "5.5.0" - resolved "https://registry.npmjs.org/puppeteer/-/puppeteer-5.5.0.tgz#331a7edd212ca06b4a556156435f58cbae08af00" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.5.0.tgz#331a7edd212ca06b4a556156435f58cbae08af00" + integrity sha512-OM8ZvTXAhfgFA7wBIIGlPQzvyEETzDjeRa4mZRCRHxYL+GNH5WAuYUQdja3rpWZvkX/JKqmuVgbsxDNsDFjMEg== dependencies: debug "^4.1.0" devtools-protocol "0.0.818844" @@ -4028,28 +4645,33 @@ puppeteer@^5.5.0: qs@~6.5.2: version "6.5.2" - resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" randomfill@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== dependencies: randombytes "^2.0.5" safe-buffer "^5.1.0" react-is@^17.0.1: version "17.0.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== read-pkg-up@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== dependencies: find-up "^4.1.0" read-pkg "^5.2.0" @@ -4057,7 +4679,8 @@ read-pkg-up@^7.0.1: read-pkg@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" normalize-package-data "^2.5.0" @@ -4066,7 +4689,8 @@ read-pkg@^5.2.0: readable-stream@^1.0.26-4: version "1.1.14" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= dependencies: core-util-is "~1.0.0" inherits "~2.0.1" @@ -4075,7 +4699,8 @@ readable-stream@^1.0.26-4: readable-stream@^2.2.2: version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -4087,7 +4712,8 @@ readable-stream@^2.2.2: readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -4095,7 +4721,8 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: readable-stream@~1.0.26, readable-stream@~1.0.26-4: version "1.0.34" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= dependencies: core-util-is "~1.0.0" inherits "~2.0.1" @@ -4104,36 +4731,43 @@ readable-stream@~1.0.26, readable-stream@~1.0.26-4: regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== dependencies: extend-shallow "^3.0.2" safe-regex "^1.1.0" regexpp@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== remove-trailing-separator@^1.0.1: version "1.1.0" - resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= repeat-element@^1.1.2: version "1.1.3" - resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== repeat-string@^1.6.1: version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= request-promise-core@1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== dependencies: lodash "^4.17.19" request-promise-native@^1.0.8: version "1.0.9" - resolved "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== dependencies: request-promise-core "1.1.4" stealthy-require "^1.1.1" @@ -4141,7 +4775,8 @@ request-promise-native@^1.0.8: request@^2.88.2: version "2.88.2" - resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -4166,78 +4801,93 @@ request@^2.88.2: require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== require-main-filename@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== resolve-cwd@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: resolve-from "^5.0.0" resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve-url@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= resolve@1.17.0, resolve@~1.17.0: version "1.17.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== dependencies: path-parse "^1.0.6" resolve@^1.10.0, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0: version "1.19.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== dependencies: is-core-module "^2.1.0" path-parse "^1.0.6" restore-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: onetime "^5.1.0" signal-exit "^3.0.2" ret@~0.1.10: version "0.1.15" - resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== dependencies: hash-base "^3.0.0" inherits "^2.0.1" rollup-plugin-node-builtins@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz#24a1fed4a43257b6b64371d8abc6ce1ab14597e9" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz#24a1fed4a43257b6b64371d8abc6ce1ab14597e9" + integrity sha1-JKH+1KQyV7a2Q3HYq8bOGrFFl+k= dependencies: browserify-fs "^1.0.0" buffer-es6 "^4.9.2" @@ -4246,7 +4896,8 @@ rollup-plugin-node-builtins@^2.1.2: rollup-plugin-node-globals@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/rollup-plugin-node-globals/-/rollup-plugin-node-globals-1.4.0.tgz#5e1f24a9bb97c0ef51249f625e16c7e61b7c020b" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-globals/-/rollup-plugin-node-globals-1.4.0.tgz#5e1f24a9bb97c0ef51249f625e16c7e61b7c020b" + integrity sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== dependencies: acorn "^5.7.3" buffer-es6 "^4.9.3" @@ -4257,7 +4908,8 @@ rollup-plugin-node-globals@^1.4.0: rollup-plugin-terser@^7.0.2: version "7.0.2" - resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== dependencies: "@babel/code-frame" "^7.10.4" jest-worker "^26.2.1" @@ -4266,7 +4918,8 @@ rollup-plugin-terser@^7.0.2: rollup-plugin-typescript2@^0.29.0: version "0.29.0" - resolved "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.29.0.tgz#b7ad83f5241dbc5bdf1e98d9c3fca005ffe39e1a" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.29.0.tgz#b7ad83f5241dbc5bdf1e98d9c3fca005ffe39e1a" + integrity sha512-YytahBSZCIjn/elFugEGQR5qTsVhxhUwGZIsA9TmrSsC88qroGo65O5HZP/TTArH2dm0vUmYWhKchhwi2wL9bw== dependencies: "@rollup/pluginutils" "^3.1.0" find-cache-dir "^3.3.1" @@ -4276,7 +4929,8 @@ rollup-plugin-typescript2@^0.29.0: rollup-plugin-vue@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/rollup-plugin-vue/-/rollup-plugin-vue-6.0.0.tgz#e379e93e5ae9a8648522f698be2e452e8672aaf2" + resolved "https://registry.yarnpkg.com/rollup-plugin-vue/-/rollup-plugin-vue-6.0.0.tgz#e379e93e5ae9a8648522f698be2e452e8672aaf2" + integrity sha512-oVvUd84d5u73M2HYM3XsMDLtZRIA/tw2U0dmHlXU2UWP5JARYHzh/U9vcxaN/x/9MrepY7VH3pHFeOhrWpxs/Q== dependencies: debug "^4.1.1" hash-sum "^2.0.0" @@ -4284,55 +4938,66 @@ rollup-plugin-vue@^6.0.0: rollup-pluginutils@^2.3.1, rollup-pluginutils@^2.8.2: version "2.8.2" - resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== dependencies: estree-walker "^0.6.1" rollup@^2.35.1: - version "2.35.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.35.1.tgz#e6bc8d10893556a638066f89e8c97f422d03968c" + version "2.37.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.37.0.tgz#5baf631dc224a56d7eb88dd11b20aa28c1e8dc6f" + integrity sha512-cbxuxkMGCQV+TnVh+yZSUerbVb5i8soRydbzHYoMNojgt7MMi+jDLLs24U9HHCssKkwkXmsj+LXcOZMldTbz2w== optionalDependencies: fsevents "~2.1.2" rsvp@^4.8.4: version "4.8.5" - resolved "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== run-parallel@^1.1.9: version "1.1.10" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== rxjs@^6.6.3: version "6.6.3" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== dependencies: tslib "^1.9.0" safe-area-insets@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/safe-area-insets/-/safe-area-insets-1.4.1.tgz#89309e01a516dcd7d2fe012a9c4115182957bd8b" + resolved "https://registry.yarnpkg.com/safe-area-insets/-/safe-area-insets-1.4.1.tgz#89309e01a516dcd7d2fe012a9c4115182957bd8b" + integrity sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ== safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-regex@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= dependencies: ret "~0.1.10" "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sane@^4.0.3: version "4.1.0" - resolved "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== dependencies: "@cnakazawa/watch" "^1.0.3" anymatch "^2.0.0" @@ -4346,45 +5011,54 @@ sane@^4.0.3: saxes@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== dependencies: xmlchars "^2.2.0" semver-compare@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@~7.3.0: version "7.3.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== dependencies: lru-cache "^6.0.0" semver@^6.0.0, semver@^6.3.0: version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@~2.3.1: version "2.3.2" - resolved "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz#b9848f25d6cf36333073ec9ef8856d42f1233e52" + resolved "https://registry.yarnpkg.com/semver/-/semver-2.3.2.tgz#b9848f25d6cf36333073ec9ef8856d42f1233e52" + integrity sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI= serialize-javascript@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== dependencies: randombytes "^2.1.0" set-blocking@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" @@ -4393,50 +5067,60 @@ set-value@^2.0.0, set-value@^2.0.1: sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" - resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== dependencies: inherits "^2.0.1" safe-buffer "^5.0.1" shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shellwords@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== sisteransi@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== dependencies: ansi-styles "^4.0.0" astral-regex "^2.0.0" @@ -4444,7 +5128,8 @@ slice-ansi@^3.0.0: slice-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: ansi-styles "^4.0.0" astral-regex "^2.0.0" @@ -4452,7 +5137,8 @@ slice-ansi@^4.0.0: snapdragon-node@^2.0.1: version "2.1.1" - resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== dependencies: define-property "^1.0.0" isobject "^3.0.0" @@ -4460,13 +5146,15 @@ snapdragon-node@^2.0.1: snapdragon-util@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== dependencies: kind-of "^3.2.0" snapdragon@^0.8.1: version "0.8.2" - resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== dependencies: base "^0.11.1" debug "^2.2.0" @@ -4479,7 +5167,8 @@ snapdragon@^0.8.1: source-map-resolve@^0.5.0: version "0.5.3" - resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== dependencies: atob "^2.1.2" decode-uri-component "^0.2.0" @@ -4489,66 +5178,79 @@ source-map-resolve@^0.5.0: source-map-support@^0.5.6, source-map-support@~0.5.19: version "0.5.19" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.3, source-map@~0.7.2: version "0.7.3" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== sourcemap-codec@^1.4.4: version "1.4.8" - resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== spdx-correct@^3.0.0: version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: version "3.0.7" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== dependencies: extend-shallow "^3.0.0" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: version "1.16.1" - resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -4562,43 +5264,51 @@ sshpk@^1.7.0: stack-utils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== dependencies: escape-string-regexp "^2.0.0" static-extend@^0.1.1: version "0.1.2" - resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= dependencies: define-property "^0.2.5" object-copy "^0.1.0" stealthy-require@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= string-argv@0.3.1, string-argv@~0.3.1: version "0.3.1" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== string-hash@^1.1.1: version "1.1.3" - resolved "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= string-length@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" + integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== dependencies: char-regex "^1.0.2" strip-ansi "^6.0.0" string-range@~1.2, string-range@~1.2.1: version "1.2.2" - resolved "https://registry.npmjs.org/string-range/-/string-range-1.2.2.tgz#a893ed347e72299bc83befbbf2a692a8d239d5dd" + resolved "https://registry.yarnpkg.com/string-range/-/string-range-1.2.2.tgz#a893ed347e72299bc83befbbf2a692a8d239d5dd" + integrity sha1-qJPtNH5yKZvIO++78qaSqNI51d0= string-width@^4.1.0, string-width@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" @@ -4606,23 +5316,27 @@ string-width@^4.1.0, string-width@^4.2.0: string_decoder@^1.1.1: version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" string_decoder@~0.10.x: version "0.10.31" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" stringify-object@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== dependencies: get-own-enumerable-property-symbols "^3.0.0" is-obj "^1.0.1" @@ -4630,62 +5344,74 @@ stringify-object@^3.3.0: strip-ansi@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== dependencies: ansi-regex "^5.0.0" strip-bom@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== strip-eof@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-indent@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== dependencies: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-hyperlinks@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" symbol-tree@^3.2.4: version "3.2.4" - resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^6.0.4: version "6.0.7" - resolved "https://registry.npmjs.org/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" + integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== dependencies: ajv "^7.0.2" lodash "^4.17.20" @@ -4694,7 +5420,8 @@ table@^6.0.4: tar-fs@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== dependencies: chownr "^1.1.1" mkdirp-classic "^0.5.2" @@ -4703,7 +5430,8 @@ tar-fs@^2.0.0: tar-stream@^2.1.4: version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== dependencies: bl "^4.0.3" end-of-stream "^1.4.1" @@ -4713,14 +5441,16 @@ tar-stream@^2.1.4: terminal-link@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== dependencies: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" terser@^5.0.0: version "5.5.1" - resolved "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" + integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== dependencies: commander "^2.20.0" source-map "~0.7.2" @@ -4728,7 +5458,8 @@ terser@^5.0.0: test-exclude@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" glob "^7.1.4" @@ -4736,50 +5467,60 @@ test-exclude@^6.0.0: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= throat@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== through@^2.3.8: version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= timsort@~0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= tmpl@1.0.x: version "1.0.4" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-object-path@^0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= dependencies: is-number "^3.0.0" repeat-string "^1.6.1" to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== dependencies: define-property "^2.0.2" extend-shallow "^3.0.2" @@ -4788,14 +5529,16 @@ to-regex@^3.0.1, to-regex@^3.0.2: tough-cookie@^2.3.3, tough-cookie@~2.5.0: version "2.5.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== dependencies: psl "^1.1.28" punycode "^2.1.1" tough-cookie@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== dependencies: ip-regex "^2.1.0" psl "^1.1.28" @@ -4803,13 +5546,15 @@ tough-cookie@^3.0.1: tr46@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== dependencies: punycode "^2.1.1" ts-jest@^26.4.4: version "26.4.4" - resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz#61f13fb21ab400853c532270e52cc0ed7e502c49" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.4.tgz#61f13fb21ab400853c532270e52cc0ed7e502c49" + integrity sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg== dependencies: "@types/jest" "26.x" bs-logger "0.x" @@ -4825,88 +5570,101 @@ ts-jest@^26.4.4: tslib@2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" + integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tsutils@^3.17.1: - version "3.18.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.18.0.tgz#38add50a28ec97e988cb43c5b32e55d1ff4a222a" + version "3.19.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.19.1.tgz#d8566e0c51c82f32f9c25a4d367cd62409a547a9" + integrity sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw== dependencies: tslib "^1.8.1" tunnel-agent@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-check@~0.3.2: version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= dependencies: prelude-ls "~1.1.2" type-detect@4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== type-fest@^0.11.0: version "0.11.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== type-fest@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-fest@^0.8.1: version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== typedarray-to-buffer@^3.1.5: version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== dependencies: is-typedarray "^1.0.0" typedarray-to-buffer@~1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz#9bb8ba0e841fb3f4cf1fe7c245e9f3fa8a5fe99c" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz#9bb8ba0e841fb3f4cf1fe7c245e9f3fa8a5fe99c" + integrity sha1-m7i6DoQfs/TPH+fCRenz+opf6Zw= typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.1.3: +typescript@^4.1.3, typescript@~4.1.3: version "4.1.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" - -typescript@~4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" + integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== unbzip2-stream@^1.3.3: version "1.4.3" - resolved "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== dependencies: buffer "^5.2.1" through "^2.3.8" union-value@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== dependencies: arr-union "^3.1.0" get-value "^2.0.6" @@ -4915,60 +5673,73 @@ union-value@^1.0.0: uniq@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= universalify@^0.1.0: version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== universalify@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== universalify@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== unset-value@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= dependencies: has-value "^0.3.1" isobject "^3.0.0" uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" urix@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= use@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= uuid@^3.3.2: version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== uuid@^8.3.0: version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== v8-compile-cache@^2.0.3: version "2.2.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" + integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== v8-to-istanbul@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" + integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" @@ -4976,44 +5747,52 @@ v8-to-istanbul@^7.0.0: validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" validator@^8.0.0: version "8.2.0" - resolved "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9" + resolved "https://registry.yarnpkg.com/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9" + integrity sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA== verror@1.10.0: version "1.10.0" - resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" extsprintf "^1.2.0" -vite@^2.0.0-beta.4: - version "2.0.0-beta.4" - resolved "https://registry.npmjs.org/vite/-/vite-2.0.0-beta.4.tgz#6ea8e08ae5e6b510548d02ec770d34046622aef7" +vite@^2.0.0-beta.31: + version "2.0.0-beta.31" + resolved "https://registry.yarnpkg.com/vite/-/vite-2.0.0-beta.31.tgz#0ce5f6c496c29f72062f9f0ae70dd6dfb18b0916" + integrity sha512-tHBgSsSp0+dbz8tas6zOj2KbJSKOme62jXN13rk8BZdJEum5FDnwon9+7oas4db3NnVBLnciWa1r8QUNoOZjrA== dependencies: esbuild "^0.8.26" postcss "^8.2.1" + resolve "^1.19.0" rollup "^2.35.1" optionalDependencies: fsevents "~2.1.2" vlq@^0.2.2: version "0.2.3" - resolved "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== vue-router@^4.0.0-beta.6: - version "4.0.2" - resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.0.2.tgz#5702bf8fa14535b80142fde226bf41a84917b1f4" + version "4.0.3" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.0.3.tgz#8b26050c88b2dec7e27a88835f71046b365823ec" + integrity sha512-AD1OjtVPyQHTSpoRsEGfPpxRQwhAhxcacOYO3zJ3KNkYP/r09mileSp6kdMQKhZWP2cFsPR3E2M3PZguSN5/ww== vue@3.0.5, vue@^3.0.0-rc.5: version "3.0.5" - resolved "https://registry.npmjs.org/vue/-/vue-3.0.5.tgz#de1b82eba24abfe71e0970fc9b8d4b2babdc3fe1" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.0.5.tgz#de1b82eba24abfe71e0970fc9b8d4b2babdc3fe1" + integrity sha512-TfaprOmtsAfhQau7WsomXZ8d9op/dkQLNIq8qPV3A0Vxs6GR5E+c1rfJS1SDkXRQj+dFyfnec7+U0Be1huiScg== dependencies: "@vue/compiler-dom" "3.0.5" "@vue/runtime-dom" "3.0.5" @@ -5021,43 +5800,51 @@ vue@3.0.5, vue@^3.0.0-rc.5: w3c-hr-time@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== dependencies: browser-process-hrtime "^1.0.0" w3c-xmlserializer@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== dependencies: xml-name-validator "^3.0.0" walker@^1.0.7, walker@~1.0.5: version "1.0.7" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= dependencies: makeerror "1.0.x" webidl-conversions@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== webidl-conversions@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== whatwg-encoding@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== dependencies: iconv-lite "0.4.24" whatwg-mimetype@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== whatwg-url@^8.0.0: version "8.4.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== dependencies: lodash.sortby "^4.7.0" tr46 "^2.0.2" @@ -5065,27 +5852,32 @@ whatwg-url@^8.0.0: which-module@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.9: version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1, which@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== wrap-ansi@^6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" @@ -5093,11 +5885,13 @@ wrap-ansi@^6.2.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= write-file-atomic@^3.0.0: version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" is-typedarray "^1.0.0" @@ -5106,75 +5900,91 @@ write-file-atomic@^3.0.0: ws@^7.2.3: version "7.4.2" - resolved "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd" + integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA== xml-name-validator@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== xmlchars@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== xregexp@3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/xregexp/-/xregexp-3.1.0.tgz#14d8461e0bdd38224bfee5039a0898fc42fcd336" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-3.1.0.tgz#14d8461e0bdd38224bfee5039a0898fc42fcd336" + integrity sha1-FNhGHgvdOCJL/uUDmgiY/EL80zY= xtend@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9" + integrity sha1-7vax8ZjByN6vrYsXZaBNrUoBxak= xtend@~2.0.4: version "2.0.6" - resolved "https://registry.npmjs.org/xtend/-/xtend-2.0.6.tgz#5ea657a6dba447069c2e59c58a1138cb0c5e6cee" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.0.6.tgz#5ea657a6dba447069c2e59c58a1138cb0c5e6cee" + integrity sha1-XqZXptukRwacLlnFihE4ywxebO4= dependencies: is-object "~0.1.2" object-keys "~0.2.0" xtend@~2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= dependencies: object-keys "~0.4.0" xtend@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a" + integrity sha1-XM50B7r2Qsunvs2laBEcST9ZZlo= y18n@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== yallist@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.0: version "1.10.0" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== yargs-parser@20.x: version "20.2.4" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== yargs-parser@^18.1.2: version "18.1.3" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" yargs@^15.4.1: version "15.4.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" decamelize "^1.2.0" @@ -5190,14 +6000,16 @@ yargs@^15.4.1: yauzl@^2.10.0: version "2.10.0" - resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= dependencies: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" yorkie@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9" + resolved "https://registry.yarnpkg.com/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9" + integrity sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw== dependencies: execa "^0.8.0" is-ci "^1.0.10" @@ -5206,7 +6018,8 @@ yorkie@^2.0.0: z-schema@~3.18.3: version "3.18.4" - resolved "https://registry.npmjs.org/z-schema/-/z-schema-3.18.4.tgz#ea8132b279533ee60be2485a02f7e3e42541a9a2" + resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-3.18.4.tgz#ea8132b279533ee60be2485a02f7e3e42541a9a2" + integrity sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw== dependencies: lodash.get "^4.0.0" lodash.isequal "^4.0.0" -- GitLab