{"version":3,"file":"js/chunk-vendors.ebe3d293.js","mappings":"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","sources":["webpack://yystore_frontend/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://yystore_frontend/./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js","webpack://yystore_frontend/./node_modules/vant/es/button/index.js","webpack://yystore_frontend/./node_modules/vant/es/dialog/index.js","webpack://yystore_frontend/./node_modules/vant/es/dialog/Dialog.js","webpack://yystore_frontend/./node_modules/vant/es/goods-action-button/index.js","webpack://yystore_frontend/./node_modules/vant/es/goods-action/index.js","webpack://yystore_frontend/./node_modules/vant/es/icon/index.js","webpack://yystore_frontend/./node_modules/vant/es/popup/index.js","webpack://yystore_frontend/./node_modules/vant/es/action-sheet/index.js","webpack://yystore_frontend/./node_modules/vant/es/utils/validate/mobile.js","webpack://yystore_frontend/./node_modules/vant/es/picker/shared.js","webpack://yystore_frontend/./node_modules/vant/es/utils/deep-clone.js","webpack://yystore_frontend/./node_modules/vant/es/utils/format/number.js","webpack://yystore_frontend/./node_modules/vant/es/picker/PickerColumn.js","webpack://yystore_frontend/./node_modules/vant/es/picker/index.js","webpack://yystore_frontend/./node_modules/vant/es/area/index.js","webpack://yystore_frontend/./node_modules/vant/es/cell/shared.js","webpack://yystore_frontend/./node_modules/vant/es/cell/index.js","webpack://yystore_frontend/./node_modules/vant/es/utils/validate/system.js","webpack://yystore_frontend/./node_modules/vant/es/utils/dom/reset-scroll.js","webpack://yystore_frontend/./node_modules/vant/es/field/index.js","webpack://yystore_frontend/./node_modules/vant/es/address-edit/Detail.js","webpack://yystore_frontend/./node_modules/vant/es/switch/shared.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/field.js","webpack://yystore_frontend/./node_modules/vant/es/switch/index.js","webpack://yystore_frontend/./node_modules/vant/es/address-edit/index.js","webpack://yystore_frontend/./node_modules/vant/es/radio-group/index.js","webpack://yystore_frontend/./node_modules/vant/es/tag/index.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/checkbox.js","webpack://yystore_frontend/./node_modules/vant/es/radio/index.js","webpack://yystore_frontend/./node_modules/vant/es/address-list/Item.js","webpack://yystore_frontend/./node_modules/vant/es/address-list/index.js","webpack://yystore_frontend/./node_modules/vant/es/badge/index.js","webpack://yystore_frontend/./node_modules/vant/es/utils/dom/raf.js","webpack://yystore_frontend/./node_modules/vant/es/utils/validate/date.js","webpack://yystore_frontend/./node_modules/vant/es/calendar/utils.js","webpack://yystore_frontend/./node_modules/vant/es/datetime-picker/utils.js","webpack://yystore_frontend/./node_modules/vant/es/calendar/components/Month.js","webpack://yystore_frontend/./node_modules/vant/es/calendar/components/Header.js","webpack://yystore_frontend/./node_modules/vant/es/calendar/index.js","webpack://yystore_frontend/./node_modules/vant/es/image/index.js","webpack://yystore_frontend/./node_modules/vant/es/card/index.js","webpack://yystore_frontend/./node_modules/vant/es/tab/index.js","webpack://yystore_frontend/./node_modules/vant/es/tabs/utils.js","webpack://yystore_frontend/./node_modules/vant/es/utils/dom/style.js","webpack://yystore_frontend/./node_modules/vant/es/utils/interceptor.js","webpack://yystore_frontend/./node_modules/vant/es/tabs/Title.js","webpack://yystore_frontend/./node_modules/vant/es/sticky/index.js","webpack://yystore_frontend/./node_modules/vant/es/tabs/Content.js","webpack://yystore_frontend/./node_modules/vant/es/tabs/index.js","webpack://yystore_frontend/./node_modules/vant/es/cascader/index.js","webpack://yystore_frontend/./node_modules/vant/es/cell-group/index.js","webpack://yystore_frontend/./node_modules/vant/es/checkbox/index.js","webpack://yystore_frontend/./node_modules/vant/es/checkbox-group/index.js","webpack://yystore_frontend/./node_modules/vant/es/circle/index.js","webpack://yystore_frontend/./node_modules/vant/es/col/index.js","webpack://yystore_frontend/./node_modules/vant/es/collapse/index.js","webpack://yystore_frontend/./node_modules/vant/es/collapse-item/index.js","webpack://yystore_frontend/./node_modules/vant/es/contact-card/index.js","webpack://yystore_frontend/./node_modules/vant/es/contact-edit/index.js","webpack://yystore_frontend/./node_modules/vant/es/contact-list/index.js","webpack://yystore_frontend/./node_modules/vant/es/count-down/utils.js","webpack://yystore_frontend/./node_modules/vant/es/count-down/index.js","webpack://yystore_frontend/./node_modules/vant/es/coupon/index.js","webpack://yystore_frontend/./node_modules/vant/es/coupon-cell/index.js","webpack://yystore_frontend/./node_modules/vant/es/coupon-list/index.js","webpack://yystore_frontend/./node_modules/vant/es/datetime-picker/shared.js","webpack://yystore_frontend/./node_modules/vant/es/datetime-picker/TimePicker.js","webpack://yystore_frontend/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://yystore_frontend/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://yystore_frontend/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://yystore_frontend/./node_modules/vant/es/datetime-picker/DatePicker.js","webpack://yystore_frontend/./node_modules/vant/es/datetime-picker/index.js","webpack://yystore_frontend/./node_modules/vant/es/divider/index.js","webpack://yystore_frontend/./node_modules/vant/es/dropdown-item/index.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/click-outside.js","webpack://yystore_frontend/./node_modules/vant/es/dropdown-menu/index.js","webpack://yystore_frontend/./node_modules/vant/es/empty/Network.js","webpack://yystore_frontend/./node_modules/vant/es/empty/index.js","webpack://yystore_frontend/./node_modules/vant/es/form/index.js","webpack://yystore_frontend/./node_modules/vant/es/goods-action-icon/index.js","webpack://yystore_frontend/./node_modules/vant/es/grid/index.js","webpack://yystore_frontend/./node_modules/vant/es/grid-item/index.js","webpack://yystore_frontend/./node_modules/vant/es/image-preview/shared.js","webpack://yystore_frontend/./node_modules/vant/es/swipe/index.js","webpack://yystore_frontend/./node_modules/vant/es/swipe-item/index.js","webpack://yystore_frontend/./node_modules/vant/es/image-preview/ImagePreviewItem.js","webpack://yystore_frontend/./node_modules/vant/es/image-preview/index.js","webpack://yystore_frontend/./node_modules/vant/es/image-preview/ImagePreview.js","webpack://yystore_frontend/./node_modules/vant/es/index-anchor/index.js","webpack://yystore_frontend/./node_modules/vant/es/index-bar/index.js","webpack://yystore_frontend/./node_modules/vant/es/list/index.js","webpack://yystore_frontend/./node_modules/vant/es/nav-bar/index.js","webpack://yystore_frontend/./node_modules/vant/es/notice-bar/index.js","webpack://yystore_frontend/./node_modules/vant/es/notify/Notify.js","webpack://yystore_frontend/./node_modules/vant/es/notify/index.js","webpack://yystore_frontend/./node_modules/vant/es/number-keyboard/DeleteIcon.js","webpack://yystore_frontend/./node_modules/vant/es/number-keyboard/CollapseIcon.js","webpack://yystore_frontend/./node_modules/vant/es/number-keyboard/Key.js","webpack://yystore_frontend/./node_modules/vant/es/number-keyboard/index.js","webpack://yystore_frontend/./node_modules/vant/es/pagination/index.js","webpack://yystore_frontend/./node_modules/vant/es/panel/index.js","webpack://yystore_frontend/./node_modules/vant/es/password-input/index.js","webpack://yystore_frontend/./node_modules/@vant/popperjs/dist/index.esm.mjs","webpack://yystore_frontend/./node_modules/vant/es/popover/index.js","webpack://yystore_frontend/./node_modules/vant/es/progress/index.js","webpack://yystore_frontend/./node_modules/vant/es/pull-refresh/index.js","webpack://yystore_frontend/./node_modules/vant/es/rate/index.js","webpack://yystore_frontend/./node_modules/vant/es/row/index.js","webpack://yystore_frontend/./node_modules/vant/es/search/index.js","webpack://yystore_frontend/./node_modules/vant/es/share-sheet/index.js","webpack://yystore_frontend/./node_modules/vant/es/sidebar/index.js","webpack://yystore_frontend/./node_modules/vant/es/sidebar-item/index.js","webpack://yystore_frontend/./node_modules/vant/es/skeleton/index.js","webpack://yystore_frontend/./node_modules/vant/es/sku/lang.js","webpack://yystore_frontend/./node_modules/vant/es/sku/constants.js","webpack://yystore_frontend/./node_modules/vant/es/sku/utils/sku-helper.js","webpack://yystore_frontend/./node_modules/vant/es/sku/components/SkuHeader.js","webpack://yystore_frontend/./node_modules/vant/es/sku/components/SkuHeaderItem.js","webpack://yystore_frontend/./node_modules/vant/es/sku/components/SkuRow.js","webpack://yystore_frontend/./node_modules/vant/es/sku/components/SkuRowItem.js","webpack://yystore_frontend/./node_modules/vant/es/sku/components/SkuRowPropItem.js","webpack://yystore_frontend/./node_modules/vant/es/stepper/index.js","webpack://yystore_frontend/./node_modules/vant/es/sku/components/SkuStepper.js","webpack://yystore_frontend/./node_modules/vant/es/utils/validate/email.js","webpack://yystore_frontend/./node_modules/vant/es/uploader/utils.js","webpack://yystore_frontend/./node_modules/vant/es/uploader/index.js","webpack://yystore_frontend/./node_modules/vant/es/sku/components/SkuImgUploader.js","webpack://yystore_frontend/./node_modules/vant/es/sku/utils/time-helper.js","webpack://yystore_frontend/./node_modules/vant/es/sku/components/SkuDateTimeField.js","webpack://yystore_frontend/./node_modules/vant/es/sku/components/SkuMessages.js","webpack://yystore_frontend/./node_modules/vant/es/sku/components/SkuActions.js","webpack://yystore_frontend/./node_modules/vant/es/sku/Sku.js","webpack://yystore_frontend/./node_modules/vant/es/sku/index.js","webpack://yystore_frontend/./node_modules/vant/es/slider/index.js","webpack://yystore_frontend/./node_modules/vant/es/step/index.js","webpack://yystore_frontend/./node_modules/vant/es/steps/index.js","webpack://yystore_frontend/./node_modules/vant/es/submit-bar/index.js","webpack://yystore_frontend/./node_modules/vant/es/swipe-cell/index.js","webpack://yystore_frontend/./node_modules/vant/es/switch-cell/index.js","webpack://yystore_frontend/./node_modules/vant/es/tabbar/index.js","webpack://yystore_frontend/./node_modules/vant/es/tabbar-item/index.js","webpack://yystore_frontend/./node_modules/vant/es/tree-select/index.js","webpack://yystore_frontend/./node_modules/vant/es/index.js","webpack://yystore_frontend/./node_modules/vant/es/info/index.js","webpack://yystore_frontend/./node_modules/vant/es/loading/index.js","webpack://yystore_frontend/./node_modules/vant/es/utils/deep-assign.js","webpack://yystore_frontend/./node_modules/vant/es/locale/lang/zh-CN.js","webpack://yystore_frontend/./node_modules/vant/es/locale/index.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/bind-event.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/popup/context.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/popup/overlay.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/close-on-popstate.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/popup/index.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/portal.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/relation.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/touch.js","webpack://yystore_frontend/./node_modules/vant/es/overlay/index.js","webpack://yystore_frontend/./node_modules/vant/es/toast/lock-click.js","webpack://yystore_frontend/./node_modules/vant/es/toast/Toast.js","webpack://yystore_frontend/./node_modules/vant/es/toast/index.js","webpack://yystore_frontend/./node_modules/vant/es/utils/constant.js","webpack://yystore_frontend/./node_modules/vant/es/utils/create/bem.js","webpack://yystore_frontend/./node_modules/vant/es/mixins/slots.js","webpack://yystore_frontend/./node_modules/vant/es/utils/create/component.js","webpack://yystore_frontend/./node_modules/vant/es/utils/create/i18n.js","webpack://yystore_frontend/./node_modules/vant/es/utils/create/index.js","webpack://yystore_frontend/./node_modules/vant/es/utils/dom/event.js","webpack://yystore_frontend/./node_modules/vant/es/utils/dom/node.js","webpack://yystore_frontend/./node_modules/vant/es/utils/dom/scroll.js","webpack://yystore_frontend/./node_modules/vant/es/utils/format/string.js","webpack://yystore_frontend/./node_modules/vant/es/utils/format/unit.js","webpack://yystore_frontend/./node_modules/vant/es/utils/functional.js","webpack://yystore_frontend/./node_modules/vant/es/utils/index.js","webpack://yystore_frontend/./node_modules/vant/es/utils/router.js","webpack://yystore_frontend/./node_modules/vant/es/utils/validate/number.js","webpack://yystore_frontend/./node_modules/vant/es/utils/vnodes.js","webpack://yystore_frontend/./node_modules/vue-axios/dist/vue-axios.esm.min.js","webpack://yystore_frontend/./node_modules/vue-router/dist/vue-router.esm.js","webpack://yystore_frontend/./node_modules/vue/dist/vue.runtime.esm.js","webpack://yystore_frontend/./node_modules/vuex/dist/vuex.esm.js","webpack://yystore_frontend/./node_modules/core-js/internals/a-callable.js","webpack://yystore_frontend/./node_modules/core-js/internals/a-possible-prototype.js","webpack://yystore_frontend/./node_modules/core-js/internals/an-instance.js","webpack://yystore_frontend/./node_modules/core-js/internals/an-object.js","webpack://yystore_frontend/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://yystore_frontend/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://yystore_frontend/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://yystore_frontend/./node_modules/core-js/internals/array-includes.js","webpack://yystore_frontend/./node_modules/core-js/internals/array-set-length.js","webpack://yystore_frontend/./node_modules/core-js/internals/array-slice.js","webpack://yystore_frontend/./node_modules/core-js/internals/array-to-reversed.js","webpack://yystore_frontend/./node_modules/core-js/internals/array-with.js","webpack://yystore_frontend/./node_modules/core-js/internals/classof-raw.js","webpack://yystore_frontend/./node_modules/core-js/internals/classof.js","webpack://yystore_frontend/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://yystore_frontend/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://yystore_frontend/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://yystore_frontend/./node_modules/core-js/internals/create-property-descriptor.js","webpack://yystore_frontend/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://yystore_frontend/./node_modules/core-js/internals/define-built-in.js","webpack://yystore_frontend/./node_modules/core-js/internals/define-global-property.js","webpack://yystore_frontend/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://yystore_frontend/./node_modules/core-js/internals/descriptors.js","webpack://yystore_frontend/./node_modules/core-js/internals/document-all.js","webpack://yystore_frontend/./node_modules/core-js/internals/document-create-element.js","webpack://yystore_frontend/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://yystore_frontend/./node_modules/core-js/internals/dom-exception-constants.js","webpack://yystore_frontend/./node_modules/core-js/internals/engine-is-bun.js","webpack://yystore_frontend/./node_modules/core-js/internals/engine-is-ios.js","webpack://yystore_frontend/./node_modules/core-js/internals/engine-is-node.js","webpack://yystore_frontend/./node_modules/core-js/internals/engine-user-agent.js","webpack://yystore_frontend/./node_modules/core-js/internals/engine-v8-version.js","webpack://yystore_frontend/./node_modules/core-js/internals/enum-bug-keys.js","webpack://yystore_frontend/./node_modules/core-js/internals/error-stack-clear.js","webpack://yystore_frontend/./node_modules/core-js/internals/export.js","webpack://yystore_frontend/./node_modules/core-js/internals/fails.js","webpack://yystore_frontend/./node_modules/core-js/internals/function-apply.js","webpack://yystore_frontend/./node_modules/core-js/internals/function-bind-context.js","webpack://yystore_frontend/./node_modules/core-js/internals/function-bind-native.js","webpack://yystore_frontend/./node_modules/core-js/internals/function-call.js","webpack://yystore_frontend/./node_modules/core-js/internals/function-name.js","webpack://yystore_frontend/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://yystore_frontend/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://yystore_frontend/./node_modules/core-js/internals/function-uncurry-this.js","webpack://yystore_frontend/./node_modules/core-js/internals/get-built-in.js","webpack://yystore_frontend/./node_modules/core-js/internals/get-method.js","webpack://yystore_frontend/./node_modules/core-js/internals/global.js","webpack://yystore_frontend/./node_modules/core-js/internals/has-own-property.js","webpack://yystore_frontend/./node_modules/core-js/internals/hidden-keys.js","webpack://yystore_frontend/./node_modules/core-js/internals/html.js","webpack://yystore_frontend/./node_modules/core-js/internals/ie8-dom-define.js","webpack://yystore_frontend/./node_modules/core-js/internals/indexed-object.js","webpack://yystore_frontend/./node_modules/core-js/internals/inherit-if-required.js","webpack://yystore_frontend/./node_modules/core-js/internals/inspect-source.js","webpack://yystore_frontend/./node_modules/core-js/internals/internal-state.js","webpack://yystore_frontend/./node_modules/core-js/internals/is-array.js","webpack://yystore_frontend/./node_modules/core-js/internals/is-big-int-array.js","webpack://yystore_frontend/./node_modules/core-js/internals/is-callable.js","webpack://yystore_frontend/./node_modules/core-js/internals/is-forced.js","webpack://yystore_frontend/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://yystore_frontend/./node_modules/core-js/internals/is-object.js","webpack://yystore_frontend/./node_modules/core-js/internals/is-pure.js","webpack://yystore_frontend/./node_modules/core-js/internals/is-symbol.js","webpack://yystore_frontend/./node_modules/core-js/internals/length-of-array-like.js","webpack://yystore_frontend/./node_modules/core-js/internals/make-built-in.js","webpack://yystore_frontend/./node_modules/core-js/internals/math-trunc.js","webpack://yystore_frontend/./node_modules/core-js/internals/normalize-string-argument.js","webpack://yystore_frontend/./node_modules/core-js/internals/object-define-property.js","webpack://yystore_frontend/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://yystore_frontend/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://yystore_frontend/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://yystore_frontend/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://yystore_frontend/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://yystore_frontend/./node_modules/core-js/internals/object-keys-internal.js","webpack://yystore_frontend/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://yystore_frontend/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://yystore_frontend/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://yystore_frontend/./node_modules/core-js/internals/own-keys.js","webpack://yystore_frontend/./node_modules/core-js/internals/require-object-coercible.js","webpack://yystore_frontend/./node_modules/core-js/internals/schedulers-fix.js","webpack://yystore_frontend/./node_modules/core-js/internals/shared-key.js","webpack://yystore_frontend/./node_modules/core-js/internals/shared-store.js","webpack://yystore_frontend/./node_modules/core-js/internals/shared.js","webpack://yystore_frontend/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://yystore_frontend/./node_modules/core-js/internals/task.js","webpack://yystore_frontend/./node_modules/core-js/internals/to-absolute-index.js","webpack://yystore_frontend/./node_modules/core-js/internals/to-big-int.js","webpack://yystore_frontend/./node_modules/core-js/internals/to-indexed-object.js","webpack://yystore_frontend/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://yystore_frontend/./node_modules/core-js/internals/to-length.js","webpack://yystore_frontend/./node_modules/core-js/internals/to-object.js","webpack://yystore_frontend/./node_modules/core-js/internals/to-primitive.js","webpack://yystore_frontend/./node_modules/core-js/internals/to-property-key.js","webpack://yystore_frontend/./node_modules/core-js/internals/to-string-tag-support.js","webpack://yystore_frontend/./node_modules/core-js/internals/to-string.js","webpack://yystore_frontend/./node_modules/core-js/internals/try-to-string.js","webpack://yystore_frontend/./node_modules/core-js/internals/uid.js","webpack://yystore_frontend/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://yystore_frontend/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://yystore_frontend/./node_modules/core-js/internals/validate-arguments-length.js","webpack://yystore_frontend/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://yystore_frontend/./node_modules/core-js/internals/well-known-symbol.js","webpack://yystore_frontend/./node_modules/core-js/modules/es.array.push.js","webpack://yystore_frontend/./node_modules/core-js/modules/es.array.unshift.js","webpack://yystore_frontend/./node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack://yystore_frontend/./node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack://yystore_frontend/./node_modules/core-js/modules/es.typed-array.with.js","webpack://yystore_frontend/./node_modules/core-js/modules/esnext.typed-array.to-reversed.js","webpack://yystore_frontend/./node_modules/core-js/modules/esnext.typed-array.to-sorted.js","webpack://yystore_frontend/./node_modules/core-js/modules/esnext.typed-array.with.js","webpack://yystore_frontend/./node_modules/core-js/modules/web.clear-immediate.js","webpack://yystore_frontend/./node_modules/core-js/modules/web.dom-exception.stack.js","webpack://yystore_frontend/./node_modules/core-js/modules/web.immediate.js","webpack://yystore_frontend/./node_modules/core-js/modules/web.set-immediate.js","webpack://yystore_frontend/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://yystore_frontend/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://yystore_frontend/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://yystore_frontend/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://yystore_frontend/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://yystore_frontend/./node_modules/@vant/touch-emulator/dist/index.mjs","webpack://yystore_frontend/./node_modules/axios/lib/helpers/bind.js","webpack://yystore_frontend/./node_modules/axios/lib/utils.js","webpack://yystore_frontend/./node_modules/axios/lib/core/AxiosError.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/null.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/toFormData.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/buildURL.js","webpack://yystore_frontend/./node_modules/axios/lib/core/InterceptorManager.js","webpack://yystore_frontend/./node_modules/axios/lib/defaults/transitional.js","webpack://yystore_frontend/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://yystore_frontend/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://yystore_frontend/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://yystore_frontend/./node_modules/axios/lib/platform/browser/index.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://yystore_frontend/./node_modules/axios/lib/defaults/index.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://yystore_frontend/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://yystore_frontend/./node_modules/axios/lib/core/transformData.js","webpack://yystore_frontend/./node_modules/axios/lib/cancel/isCancel.js","webpack://yystore_frontend/./node_modules/axios/lib/cancel/CanceledError.js","webpack://yystore_frontend/./node_modules/axios/lib/core/settle.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/cookies.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/combineURLs.js","webpack://yystore_frontend/./node_modules/axios/lib/core/buildFullPath.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/speedometer.js","webpack://yystore_frontend/./node_modules/axios/lib/adapters/xhr.js","webpack://yystore_frontend/./node_modules/axios/lib/adapters/adapters.js","webpack://yystore_frontend/./node_modules/axios/lib/core/dispatchRequest.js","webpack://yystore_frontend/./node_modules/axios/lib/core/mergeConfig.js","webpack://yystore_frontend/./node_modules/axios/lib/env/data.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/validator.js","webpack://yystore_frontend/./node_modules/axios/lib/core/Axios.js","webpack://yystore_frontend/./node_modules/axios/lib/cancel/CancelToken.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/spread.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://yystore_frontend/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://yystore_frontend/./node_modules/axios/lib/axios.js"],"sourcesContent":["/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","\"use strict\";function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c MOMENTUM_LIMIT_TIME) {\n this.touchStartTime = now;\n this.momentumOffset = this.offset;\n }\n },\n onTouchEnd: function onTouchEnd() {\n var _this = this;\n\n if (this.readonly) {\n return;\n }\n\n var distance = this.offset - this.momentumOffset;\n var duration = Date.now() - this.touchStartTime;\n var allowMomentum = duration < MOMENTUM_LIMIT_TIME && Math.abs(distance) > MOMENTUM_LIMIT_DISTANCE;\n\n if (allowMomentum) {\n this.momentum(distance, duration);\n return;\n }\n\n var index = this.getIndexByOffset(this.offset);\n this.duration = DEFAULT_DURATION;\n this.setIndex(index, true); // compatible with desktop scenario\n // use setTimeout to skip the click event Emitted after touchstart\n\n setTimeout(function () {\n _this.moving = false;\n }, 0);\n },\n onMouseWheel: function onMouseWheel(event) {\n var _this2 = this;\n\n if (this.readonly) {\n return;\n }\n\n preventDefault(event, true); // simply combine touchstart and touchmove\n\n var translateY = getElementTranslateY(this.$refs.wrapper);\n this.startOffset = Math.min(0, translateY - this.baseOffset);\n this.momentumOffset = this.startOffset;\n this.transitionEndTrigger = null; // directly use deltaY, see https://caniuse.com/?search=deltaY\n // use deltaY to detect direction for not special setting device\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event\n\n var deltaY = event.deltaY;\n\n if (this.startOffset === 0 && deltaY < 0) {\n return;\n } // get offset\n // if necessary, can adjust distance value to make scrolling smoother\n\n\n var distance = -deltaY;\n this.offset = range(this.startOffset + distance, -(this.count * this.itemHeight), this.itemHeight);\n\n if (mousewheelTimer) {\n clearTimeout(mousewheelTimer);\n }\n\n mousewheelTimer = setTimeout(function () {\n _this2.onTouchEnd();\n\n _this2.touchStartTime = 0;\n }, MOMENTUM_LIMIT_TIME);\n },\n onTransitionEnd: function onTransitionEnd() {\n this.stopMomentum();\n },\n onClickItem: function onClickItem(index) {\n if (this.moving || this.readonly) {\n return;\n }\n\n this.transitionEndTrigger = null;\n this.duration = DEFAULT_DURATION;\n this.setIndex(index, true);\n },\n adjustIndex: function adjustIndex(index) {\n index = range(index, 0, this.count);\n\n for (var i = index; i < this.count; i++) {\n if (!isOptionDisabled(this.options[i])) return i;\n }\n\n for (var _i = index - 1; _i >= 0; _i--) {\n if (!isOptionDisabled(this.options[_i])) return _i;\n }\n },\n getOptionText: function getOptionText(option) {\n if (isObject(option) && this.valueKey in option) {\n return option[this.valueKey];\n }\n\n return option;\n },\n setIndex: function setIndex(index, emitChange) {\n var _this3 = this;\n\n index = this.adjustIndex(index) || 0;\n var offset = -index * this.itemHeight;\n\n var trigger = function trigger() {\n if (index !== _this3.currentIndex) {\n _this3.currentIndex = index;\n\n if (emitChange) {\n _this3.$emit('change', index);\n }\n }\n }; // trigger the change event after transitionend when moving\n\n\n if (this.moving && offset !== this.offset) {\n this.transitionEndTrigger = trigger;\n } else {\n trigger();\n }\n\n this.offset = offset;\n },\n setValue: function setValue(value) {\n var options = this.options;\n\n for (var i = 0; i < options.length; i++) {\n if (this.getOptionText(options[i]) === value) {\n return this.setIndex(i);\n }\n }\n },\n getValue: function getValue() {\n return this.options[this.currentIndex];\n },\n getIndexByOffset: function getIndexByOffset(offset) {\n return range(Math.round(-offset / this.itemHeight), 0, this.count - 1);\n },\n momentum: function momentum(distance, duration) {\n var speed = Math.abs(distance / duration);\n distance = this.offset + speed / 0.003 * (distance < 0 ? -1 : 1);\n var index = this.getIndexByOffset(distance);\n this.duration = +this.swipeDuration;\n this.setIndex(index, true);\n },\n stopMomentum: function stopMomentum() {\n this.moving = false;\n this.duration = 0;\n\n if (this.transitionEndTrigger) {\n this.transitionEndTrigger();\n this.transitionEndTrigger = null;\n }\n },\n genOptions: function genOptions() {\n var _this4 = this;\n\n var h = this.$createElement;\n var optionStyle = {\n height: this.itemHeight + \"px\"\n };\n return this.options.map(function (option, index) {\n var _domProps;\n\n var text = _this4.getOptionText(option);\n\n var disabled = isOptionDisabled(option);\n var data = {\n style: optionStyle,\n attrs: {\n role: 'button',\n tabindex: disabled ? -1 : 0\n },\n class: [bem('item', {\n disabled: disabled,\n selected: index === _this4.currentIndex\n })],\n on: {\n click: function click() {\n _this4.onClickItem(index);\n }\n }\n };\n var childData = {\n class: 'van-ellipsis',\n domProps: (_domProps = {}, _domProps[_this4.allowHtml ? 'innerHTML' : 'textContent'] = text, _domProps)\n };\n return h(\"li\", _mergeJSXProps([{}, data]), [_this4.slots('option', option) || h(\"div\", _mergeJSXProps2([{}, childData]))]);\n });\n }\n },\n render: function render() {\n var h = arguments[0];\n var wrapperStyle = {\n transform: \"translate3d(0, \" + (this.offset + this.baseOffset) + \"px, 0)\",\n transitionDuration: this.duration + \"ms\",\n transitionProperty: this.duration ? 'all' : 'none'\n };\n return h(\"div\", {\n \"class\": [bem(), this.className]\n }, [h(\"ul\", {\n \"ref\": \"wrapper\",\n \"style\": wrapperStyle,\n \"class\": bem('wrapper'),\n \"on\": {\n \"transitionend\": this.onTransitionEnd\n }\n }, [this.genOptions()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { preventDefault } from '../utils/dom/event';\nimport { BORDER_UNSET_TOP_BOTTOM } from '../utils/constant';\nimport { pickerProps, DEFAULT_ITEM_HEIGHT } from './shared';\nimport { unitToPx } from '../utils/format/unit'; // Components\n\nimport Loading from '../loading';\nimport PickerColumn from './PickerColumn';\n\nvar _createNamespace = createNamespace('picker'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n props: _extends({}, pickerProps, {\n defaultIndex: {\n type: [Number, String],\n default: 0\n },\n columns: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n toolbarPosition: {\n type: String,\n default: 'top'\n },\n valueKey: {\n type: String,\n default: 'text'\n }\n }),\n data: function data() {\n return {\n children: [],\n formattedColumns: []\n };\n },\n computed: {\n itemPxHeight: function itemPxHeight() {\n return this.itemHeight ? unitToPx(this.itemHeight) : DEFAULT_ITEM_HEIGHT;\n },\n dataType: function dataType() {\n var columns = this.columns;\n var firstColumn = columns[0] || {};\n\n if (firstColumn.children) {\n return 'cascade';\n }\n\n if (firstColumn.values) {\n return 'object';\n }\n\n return 'text';\n }\n },\n watch: {\n columns: {\n handler: 'format',\n immediate: true\n }\n },\n methods: {\n format: function format() {\n var columns = this.columns,\n dataType = this.dataType;\n\n if (dataType === 'text') {\n this.formattedColumns = [{\n values: columns\n }];\n } else if (dataType === 'cascade') {\n this.formatCascade();\n } else {\n this.formattedColumns = columns;\n }\n },\n formatCascade: function formatCascade() {\n var formatted = [];\n var cursor = {\n children: this.columns\n };\n\n while (cursor && cursor.children) {\n var _cursor$defaultIndex;\n\n var _cursor = cursor,\n children = _cursor.children;\n var defaultIndex = (_cursor$defaultIndex = cursor.defaultIndex) != null ? _cursor$defaultIndex : +this.defaultIndex;\n\n while (children[defaultIndex] && children[defaultIndex].disabled) {\n if (defaultIndex < children.length - 1) {\n defaultIndex++;\n } else {\n defaultIndex = 0;\n break;\n }\n }\n\n formatted.push({\n values: cursor.children,\n className: cursor.className,\n defaultIndex: defaultIndex\n });\n cursor = children[defaultIndex];\n }\n\n this.formattedColumns = formatted;\n },\n emit: function emit(event) {\n var _this = this;\n\n if (this.dataType === 'text') {\n this.$emit(event, this.getColumnValue(0), this.getColumnIndex(0));\n } else {\n var values = this.getValues(); // compatible with old version of wrong parameters\n // should be removed in next major version\n // see: https://github.com/vant-ui/vant/issues/5905\n\n if (this.dataType === 'cascade') {\n values = values.map(function (item) {\n return item[_this.valueKey];\n });\n }\n\n this.$emit(event, values, this.getIndexes());\n }\n },\n onCascadeChange: function onCascadeChange(columnIndex) {\n var cursor = {\n children: this.columns\n };\n var indexes = this.getIndexes();\n\n for (var i = 0; i <= columnIndex; i++) {\n cursor = cursor.children[indexes[i]];\n }\n\n while (cursor && cursor.children) {\n columnIndex++;\n this.setColumnValues(columnIndex, cursor.children);\n cursor = cursor.children[cursor.defaultIndex || 0];\n }\n },\n onChange: function onChange(columnIndex) {\n var _this2 = this;\n\n if (this.dataType === 'cascade') {\n this.onCascadeChange(columnIndex);\n }\n\n if (this.dataType === 'text') {\n this.$emit('change', this, this.getColumnValue(0), this.getColumnIndex(0));\n } else {\n var values = this.getValues(); // compatible with old version of wrong parameters\n // should be removed in next major version\n // see: https://github.com/vant-ui/vant/issues/5905\n\n if (this.dataType === 'cascade') {\n values = values.map(function (item) {\n return item[_this2.valueKey];\n });\n }\n\n this.$emit('change', this, values, columnIndex);\n }\n },\n // get column instance by index\n getColumn: function getColumn(index) {\n return this.children[index];\n },\n // @exposed-api\n // get column value by index\n getColumnValue: function getColumnValue(index) {\n var column = this.getColumn(index);\n return column && column.getValue();\n },\n // @exposed-api\n // set column value by index\n setColumnValue: function setColumnValue(index, value) {\n var column = this.getColumn(index);\n\n if (column) {\n column.setValue(value);\n\n if (this.dataType === 'cascade') {\n this.onCascadeChange(index);\n }\n }\n },\n // @exposed-api\n // get column option index by column index\n getColumnIndex: function getColumnIndex(columnIndex) {\n return (this.getColumn(columnIndex) || {}).currentIndex;\n },\n // @exposed-api\n // set column option index by column index\n setColumnIndex: function setColumnIndex(columnIndex, optionIndex) {\n var column = this.getColumn(columnIndex);\n\n if (column) {\n column.setIndex(optionIndex);\n\n if (this.dataType === 'cascade') {\n this.onCascadeChange(columnIndex);\n }\n }\n },\n // @exposed-api\n // get options of column by index\n getColumnValues: function getColumnValues(index) {\n return (this.children[index] || {}).options;\n },\n // @exposed-api\n // set options of column by index\n setColumnValues: function setColumnValues(index, options) {\n var column = this.children[index];\n\n if (column) {\n column.setOptions(options);\n }\n },\n // @exposed-api\n // get values of all columns\n getValues: function getValues() {\n return this.children.map(function (child) {\n return child.getValue();\n });\n },\n // @exposed-api\n // set values of all columns\n setValues: function setValues(values) {\n var _this3 = this;\n\n values.forEach(function (value, index) {\n _this3.setColumnValue(index, value);\n });\n },\n // @exposed-api\n // get indexes of all columns\n getIndexes: function getIndexes() {\n return this.children.map(function (child) {\n return child.currentIndex;\n });\n },\n // @exposed-api\n // set indexes of all columns\n setIndexes: function setIndexes(indexes) {\n var _this4 = this;\n\n indexes.forEach(function (optionIndex, columnIndex) {\n _this4.setColumnIndex(columnIndex, optionIndex);\n });\n },\n // @exposed-api\n confirm: function confirm() {\n this.children.forEach(function (child) {\n return child.stopMomentum();\n });\n this.emit('confirm');\n },\n cancel: function cancel() {\n this.emit('cancel');\n },\n genTitle: function genTitle() {\n var h = this.$createElement;\n var titleSlot = this.slots('title');\n\n if (titleSlot) {\n return titleSlot;\n }\n\n if (this.title) {\n return h(\"div\", {\n \"class\": ['van-ellipsis', bem('title')]\n }, [this.title]);\n }\n },\n genCancel: function genCancel() {\n var h = this.$createElement;\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": bem('cancel'),\n \"on\": {\n \"click\": this.cancel\n }\n }, [this.slots('cancel') || this.cancelButtonText || t('cancel')]);\n },\n genConfirm: function genConfirm() {\n var h = this.$createElement;\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": bem('confirm'),\n \"on\": {\n \"click\": this.confirm\n }\n }, [this.slots('confirm') || this.confirmButtonText || t('confirm')]);\n },\n genToolbar: function genToolbar() {\n var h = this.$createElement;\n\n if (this.showToolbar) {\n return h(\"div\", {\n \"class\": bem('toolbar')\n }, [this.slots() || [this.genCancel(), this.genTitle(), this.genConfirm()]]);\n }\n },\n genColumns: function genColumns() {\n var h = this.$createElement;\n var itemPxHeight = this.itemPxHeight;\n var wrapHeight = itemPxHeight * this.visibleItemCount;\n var frameStyle = {\n height: itemPxHeight + \"px\"\n };\n var columnsStyle = {\n height: wrapHeight + \"px\"\n };\n var maskStyle = {\n backgroundSize: \"100% \" + (wrapHeight - itemPxHeight) / 2 + \"px\"\n };\n return h(\"div\", {\n \"class\": bem('columns'),\n \"style\": columnsStyle,\n \"on\": {\n \"touchmove\": preventDefault\n }\n }, [this.genColumnItems(), h(\"div\", {\n \"class\": bem('mask'),\n \"style\": maskStyle\n }), h(\"div\", {\n \"class\": [BORDER_UNSET_TOP_BOTTOM, bem('frame')],\n \"style\": frameStyle\n })]);\n },\n genColumnItems: function genColumnItems() {\n var _this5 = this;\n\n var h = this.$createElement;\n return this.formattedColumns.map(function (item, columnIndex) {\n var _item$defaultIndex;\n\n return h(PickerColumn, {\n \"attrs\": {\n \"readonly\": _this5.readonly,\n \"valueKey\": _this5.valueKey,\n \"allowHtml\": _this5.allowHtml,\n \"className\": item.className,\n \"itemHeight\": _this5.itemPxHeight,\n \"defaultIndex\": (_item$defaultIndex = item.defaultIndex) != null ? _item$defaultIndex : +_this5.defaultIndex,\n \"swipeDuration\": _this5.swipeDuration,\n \"visibleItemCount\": _this5.visibleItemCount,\n \"initialOptions\": item.values\n },\n \"scopedSlots\": {\n option: _this5.$scopedSlots.option\n },\n \"on\": {\n \"change\": function change() {\n _this5.onChange(columnIndex);\n }\n }\n });\n });\n }\n },\n render: function render(h) {\n return h(\"div\", {\n \"class\": bem()\n }, [this.toolbarPosition === 'top' ? this.genToolbar() : h(), this.loading ? h(Loading, {\n \"class\": bem('loading')\n }) : h(), this.slots('columns-top'), this.genColumns(), this.slots('columns-bottom'), this.toolbarPosition === 'bottom' ? this.genToolbar() : h()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { pickerProps } from '../picker/shared';\nimport Picker from '../picker';\n\nvar _createNamespace = createNamespace('area'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar PLACEHOLDER_CODE = '000000';\n\nfunction isOverseaCode(code) {\n return code[0] === '9';\n}\n\nfunction pickSlots(instance, keys) {\n var $slots = instance.$slots,\n $scopedSlots = instance.$scopedSlots;\n var scopedSlots = {};\n keys.forEach(function (key) {\n if ($scopedSlots[key]) {\n scopedSlots[key] = $scopedSlots[key];\n } else if ($slots[key]) {\n scopedSlots[key] = function () {\n return $slots[key];\n };\n }\n });\n return scopedSlots;\n}\n\nexport default createComponent({\n props: _extends({}, pickerProps, {\n value: String,\n areaList: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n columnsNum: {\n type: [Number, String],\n default: 3\n },\n isOverseaCode: {\n type: Function,\n default: isOverseaCode\n },\n columnsPlaceholder: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n code: this.value,\n columns: [{\n values: []\n }, {\n values: []\n }, {\n values: []\n }]\n };\n },\n computed: {\n province: function province() {\n return this.areaList.province_list || {};\n },\n city: function city() {\n return this.areaList.city_list || {};\n },\n county: function county() {\n return this.areaList.county_list || {};\n },\n displayColumns: function displayColumns() {\n return this.columns.slice(0, +this.columnsNum);\n },\n placeholderMap: function placeholderMap() {\n return {\n province: this.columnsPlaceholder[0] || '',\n city: this.columnsPlaceholder[1] || '',\n county: this.columnsPlaceholder[2] || ''\n };\n }\n },\n watch: {\n value: function value(val) {\n this.code = val;\n this.setValues();\n },\n areaList: {\n deep: true,\n handler: 'setValues'\n },\n columnsNum: function columnsNum() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.setValues();\n });\n }\n },\n mounted: function mounted() {\n this.setValues();\n },\n methods: {\n // get list by code\n getList: function getList(type, code) {\n var result = [];\n\n if (type !== 'province' && !code) {\n return result;\n }\n\n var list = this[type];\n result = Object.keys(list).map(function (listCode) {\n return {\n code: listCode,\n name: list[listCode]\n };\n });\n\n if (code) {\n // oversea code\n if (this.isOverseaCode(code) && type === 'city') {\n code = '9';\n }\n\n result = result.filter(function (item) {\n return item.code.indexOf(code) === 0;\n });\n }\n\n if (this.placeholderMap[type] && result.length) {\n // set columns placeholder\n var codeFill = '';\n\n if (type === 'city') {\n codeFill = PLACEHOLDER_CODE.slice(2, 4);\n } else if (type === 'county') {\n codeFill = PLACEHOLDER_CODE.slice(4, 6);\n }\n\n result.unshift({\n code: \"\" + code + codeFill,\n name: this.placeholderMap[type]\n });\n }\n\n return result;\n },\n // get index by code\n getIndex: function getIndex(type, code) {\n var compareNum = type === 'province' ? 2 : type === 'city' ? 4 : 6;\n var list = this.getList(type, code.slice(0, compareNum - 2)); // oversea code\n\n if (this.isOverseaCode(code) && type === 'province') {\n compareNum = 1;\n }\n\n code = code.slice(0, compareNum);\n\n for (var i = 0; i < list.length; i++) {\n if (list[i].code.slice(0, compareNum) === code) {\n return i;\n }\n }\n\n return 0;\n },\n // parse output columns data\n parseOutputValues: function parseOutputValues(values) {\n var _this2 = this;\n\n return values.map(function (value, index) {\n // save undefined value\n if (!value) return value;\n value = JSON.parse(JSON.stringify(value));\n\n if (!value.code || value.name === _this2.columnsPlaceholder[index]) {\n value.code = '';\n value.name = '';\n }\n\n return value;\n });\n },\n onChange: function onChange(picker, values, index) {\n this.code = values[index].code;\n this.setValues();\n var parsedValues = this.parseOutputValues(picker.getValues());\n this.$emit('change', picker, parsedValues, index);\n },\n onConfirm: function onConfirm(values, index) {\n values = this.parseOutputValues(values);\n this.setValues();\n this.$emit('confirm', values, index);\n },\n getDefaultCode: function getDefaultCode() {\n if (this.columnsPlaceholder.length) {\n return PLACEHOLDER_CODE;\n }\n\n var countyCodes = Object.keys(this.county);\n\n if (countyCodes[0]) {\n return countyCodes[0];\n }\n\n var cityCodes = Object.keys(this.city);\n\n if (cityCodes[0]) {\n return cityCodes[0];\n }\n\n return '';\n },\n setValues: function setValues() {\n var code = this.code;\n\n if (!code) {\n code = this.getDefaultCode();\n }\n\n var picker = this.$refs.picker;\n var province = this.getList('province');\n var city = this.getList('city', code.slice(0, 2));\n\n if (!picker) {\n return;\n }\n\n picker.setColumnValues(0, province);\n picker.setColumnValues(1, city);\n\n if (city.length && code.slice(2, 4) === '00' && !this.isOverseaCode(code)) {\n code = city[0].code;\n }\n\n picker.setColumnValues(2, this.getList('county', code.slice(0, 4)));\n picker.setIndexes([this.getIndex('province', code), this.getIndex('city', code), this.getIndex('county', code)]);\n },\n getValues: function getValues() {\n var picker = this.$refs.picker;\n var getValues = picker ? picker.getValues().filter(function (value) {\n return !!value;\n }) : [];\n getValues = this.parseOutputValues(getValues);\n return getValues;\n },\n getArea: function getArea() {\n var values = this.getValues();\n var area = {\n code: '',\n country: '',\n province: '',\n city: '',\n county: ''\n };\n\n if (!values.length) {\n return area;\n }\n\n var names = values.map(function (item) {\n return item.name;\n });\n var validValues = values.filter(function (value) {\n return !!value.code;\n });\n area.code = validValues.length ? validValues[validValues.length - 1].code : '';\n\n if (this.isOverseaCode(area.code)) {\n area.country = names[1] || '';\n area.province = names[2] || '';\n } else {\n area.province = names[0] || '';\n area.city = names[1] || '';\n area.county = names[2] || '';\n }\n\n return area;\n },\n // @exposed-api\n reset: function reset(code) {\n this.code = code || '';\n this.setValues();\n }\n },\n render: function render() {\n var h = arguments[0];\n\n var on = _extends({}, this.$listeners, {\n change: this.onChange,\n confirm: this.onConfirm\n });\n\n return h(Picker, {\n \"ref\": \"picker\",\n \"class\": bem(),\n \"attrs\": {\n \"showToolbar\": true,\n \"valueKey\": \"name\",\n \"title\": this.title,\n \"columns\": this.displayColumns,\n \"loading\": this.loading,\n \"readonly\": this.readonly,\n \"itemHeight\": this.itemHeight,\n \"swipeDuration\": this.swipeDuration,\n \"visibleItemCount\": this.visibleItemCount,\n \"cancelButtonText\": this.cancelButtonText,\n \"confirmButtonText\": this.confirmButtonText\n },\n \"scopedSlots\": pickSlots(this, ['title', 'columns-top', 'columns-bottom']),\n \"on\": _extends({}, on)\n });\n }\n});","export var cellProps = {\n icon: String,\n size: String,\n center: Boolean,\n isLink: Boolean,\n required: Boolean,\n iconPrefix: String,\n titleStyle: null,\n titleClass: null,\n valueClass: null,\n labelClass: null,\n title: [Number, String],\n value: [Number, String],\n label: [Number, String],\n arrowDirection: String,\n border: {\n type: Boolean,\n default: true\n },\n clickable: {\n type: Boolean,\n default: null\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { emit, inherit } from '../utils/functional';\nimport { routeProps, functionalRoute } from '../utils/router';\nimport { cellProps } from './shared'; // Components\n\nimport Icon from '../icon'; // Types\n\nvar _createNamespace = createNamespace('cell'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Cell(h, props, slots, ctx) {\n var _props$clickable;\n\n var icon = props.icon,\n size = props.size,\n title = props.title,\n label = props.label,\n value = props.value,\n isLink = props.isLink;\n var showTitle = slots.title || isDef(title);\n\n function Label() {\n var showLabel = slots.label || isDef(label);\n\n if (showLabel) {\n return h(\"div\", {\n \"class\": [bem('label'), props.labelClass]\n }, [slots.label ? slots.label() : label]);\n }\n }\n\n function Title() {\n if (showTitle) {\n return h(\"div\", {\n \"class\": [bem('title'), props.titleClass],\n \"style\": props.titleStyle\n }, [slots.title ? slots.title() : h(\"span\", [title]), Label()]);\n }\n }\n\n function Value() {\n var showValue = slots.default || isDef(value);\n\n if (showValue) {\n return h(\"div\", {\n \"class\": [bem('value', {\n alone: !showTitle\n }), props.valueClass]\n }, [slots.default ? slots.default() : h(\"span\", [value])]);\n }\n }\n\n function LeftIcon() {\n if (slots.icon) {\n return slots.icon();\n }\n\n if (icon) {\n return h(Icon, {\n \"class\": bem('left-icon'),\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n }\n });\n }\n }\n\n function RightIcon() {\n var rightIconSlot = slots['right-icon'];\n\n if (rightIconSlot) {\n return rightIconSlot();\n }\n\n if (isLink) {\n var arrowDirection = props.arrowDirection;\n return h(Icon, {\n \"class\": bem('right-icon'),\n \"attrs\": {\n \"name\": arrowDirection ? \"arrow-\" + arrowDirection : 'arrow'\n }\n });\n }\n }\n\n function onClick(event) {\n emit(ctx, 'click', event);\n functionalRoute(ctx);\n }\n\n var clickable = (_props$clickable = props.clickable) != null ? _props$clickable : isLink;\n var classes = {\n clickable: clickable,\n center: props.center,\n required: props.required,\n borderless: !props.border\n };\n\n if (size) {\n classes[size] = size;\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem(classes),\n \"attrs\": {\n \"role\": clickable ? 'button' : null,\n \"tabindex\": clickable ? 0 : null\n },\n \"on\": {\n \"click\": onClick\n }\n }, inherit(ctx)]), [LeftIcon(), Title(), Value(), RightIcon(), slots.extra == null ? void 0 : slots.extra()]);\n}\n\nCell.props = _extends({}, cellProps, routeProps);\nexport default createComponent(Cell);","import { isServer } from '..';\nexport function isAndroid() {\n /* istanbul ignore next */\n return isServer ? false : /android/.test(navigator.userAgent.toLowerCase());\n}\nexport function isIOS() {\n /* istanbul ignore next */\n return isServer ? false : /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());\n}","/**\n * Hack for iOS12 page scroll\n * https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800\n */\nimport { isIOS as checkIsIOS } from '../validate/system';\nimport { getRootScrollTop, setRootScrollTop } from './scroll';\nvar isIOS = checkIsIOS();\n/* istanbul ignore next */\n\nexport function resetScroll() {\n if (isIOS) {\n setRootScrollTop(getRootScrollTop());\n }\n}","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { resetScroll } from '../utils/dom/reset-scroll';\nimport { formatNumber } from '../utils/format/number';\nimport { preventDefault } from '../utils/dom/event';\nimport { getRootScrollTop, setRootScrollTop } from '../utils/dom/scroll';\nimport { isDef, addUnit, isObject, isPromise, isFunction, createNamespace } from '../utils'; // Components\n\nimport Icon from '../icon';\nimport Cell from '../cell';\nimport { cellProps } from '../cell/shared';\n\nvar _createNamespace = createNamespace('field'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n inheritAttrs: false,\n provide: function provide() {\n return {\n vanField: this\n };\n },\n inject: {\n vanForm: {\n default: null\n }\n },\n props: _extends({}, cellProps, {\n name: String,\n rules: Array,\n disabled: {\n type: Boolean,\n default: null\n },\n readonly: {\n type: Boolean,\n default: null\n },\n autosize: [Boolean, Object],\n leftIcon: String,\n rightIcon: String,\n clearable: Boolean,\n formatter: Function,\n maxlength: [Number, String],\n labelWidth: [Number, String],\n labelClass: null,\n labelAlign: String,\n inputAlign: String,\n placeholder: String,\n errorMessage: String,\n errorMessageAlign: String,\n showWordLimit: Boolean,\n value: {\n type: [Number, String],\n default: ''\n },\n type: {\n type: String,\n default: 'text'\n },\n error: {\n type: Boolean,\n default: null\n },\n colon: {\n type: Boolean,\n default: null\n },\n clearTrigger: {\n type: String,\n default: 'focus'\n },\n formatTrigger: {\n type: String,\n default: 'onChange'\n }\n }),\n data: function data() {\n return {\n focused: false,\n validateFailed: false,\n validateMessage: ''\n };\n },\n watch: {\n value: function value() {\n this.updateValue(this.value);\n this.resetValidation();\n this.validateWithTrigger('onChange');\n this.$nextTick(this.adjustSize);\n }\n },\n mounted: function mounted() {\n this.updateValue(this.value, this.formatTrigger);\n this.$nextTick(this.adjustSize);\n\n if (this.vanForm) {\n this.vanForm.addField(this);\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.vanForm) {\n this.vanForm.removeField(this);\n }\n },\n computed: {\n showClear: function showClear() {\n var readonly = this.getProp('readonly');\n\n if (this.clearable && !readonly) {\n var hasValue = isDef(this.value) && this.value !== '';\n var trigger = this.clearTrigger === 'always' || this.clearTrigger === 'focus' && this.focused;\n return hasValue && trigger;\n }\n },\n showError: function showError() {\n if (this.error !== null) {\n return this.error;\n }\n\n if (this.vanForm && this.vanForm.showError && this.validateFailed) {\n return true;\n }\n },\n listeners: function listeners() {\n return _extends({}, this.$listeners, {\n blur: this.onBlur,\n focus: this.onFocus,\n input: this.onInput,\n click: this.onClickInput,\n keypress: this.onKeypress\n });\n },\n labelStyle: function labelStyle() {\n var labelWidth = this.getProp('labelWidth');\n\n if (labelWidth) {\n return {\n width: addUnit(labelWidth)\n };\n }\n },\n formValue: function formValue() {\n if (this.children && (this.$scopedSlots.input || this.$slots.input)) {\n return this.children.value;\n }\n\n return this.value;\n }\n },\n methods: {\n // @exposed-api\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n // @exposed-api\n blur: function blur() {\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n runValidator: function runValidator(value, rule) {\n return new Promise(function (resolve) {\n var returnVal = rule.validator(value, rule);\n\n if (isPromise(returnVal)) {\n return returnVal.then(resolve);\n }\n\n resolve(returnVal);\n });\n },\n isEmptyValue: function isEmptyValue(value) {\n if (Array.isArray(value)) {\n return !value.length;\n }\n\n if (value === 0) {\n return false;\n }\n\n return !value;\n },\n runSyncRule: function runSyncRule(value, rule) {\n if (rule.required && this.isEmptyValue(value)) {\n return false;\n }\n\n if (rule.pattern && !rule.pattern.test(value)) {\n return false;\n }\n\n return true;\n },\n getRuleMessage: function getRuleMessage(value, rule) {\n var message = rule.message;\n\n if (isFunction(message)) {\n return message(value, rule);\n }\n\n return message;\n },\n runRules: function runRules(rules) {\n var _this = this;\n\n return rules.reduce(function (promise, rule) {\n return promise.then(function () {\n if (_this.validateFailed) {\n return;\n }\n\n var value = _this.formValue;\n\n if (rule.formatter) {\n value = rule.formatter(value, rule);\n }\n\n if (!_this.runSyncRule(value, rule)) {\n _this.validateFailed = true;\n _this.validateMessage = _this.getRuleMessage(value, rule);\n return;\n }\n\n if (rule.validator) {\n return _this.runValidator(value, rule).then(function (result) {\n if (result === false) {\n _this.validateFailed = true;\n _this.validateMessage = _this.getRuleMessage(value, rule);\n }\n });\n }\n });\n }, Promise.resolve());\n },\n validate: function validate(rules) {\n var _this2 = this;\n\n if (rules === void 0) {\n rules = this.rules;\n }\n\n return new Promise(function (resolve) {\n if (!rules) {\n resolve();\n }\n\n _this2.resetValidation();\n\n _this2.runRules(rules).then(function () {\n if (_this2.validateFailed) {\n resolve({\n name: _this2.name,\n message: _this2.validateMessage\n });\n } else {\n resolve();\n }\n });\n });\n },\n validateWithTrigger: function validateWithTrigger(trigger) {\n if (this.vanForm && this.rules) {\n var defaultTrigger = this.vanForm.validateTrigger === trigger;\n var rules = this.rules.filter(function (rule) {\n if (rule.trigger) {\n return rule.trigger === trigger;\n }\n\n return defaultTrigger;\n });\n\n if (rules.length) {\n this.validate(rules);\n }\n }\n },\n resetValidation: function resetValidation() {\n if (this.validateFailed) {\n this.validateFailed = false;\n this.validateMessage = '';\n }\n },\n updateValue: function updateValue(value, trigger) {\n if (trigger === void 0) {\n trigger = 'onChange';\n }\n\n value = isDef(value) ? String(value) : ''; // native maxlength have incorrect line-break counting\n // see: https://github.com/vant-ui/vant/issues/5033\n\n var maxlength = this.maxlength;\n\n if (isDef(maxlength) && value.length > maxlength) {\n if (this.value && this.value.length === +maxlength) {\n value = this.value;\n } else {\n value = value.slice(0, maxlength);\n }\n }\n\n if (this.type === 'number' || this.type === 'digit') {\n var isNumber = this.type === 'number';\n value = formatNumber(value, isNumber, isNumber);\n }\n\n if (this.formatter && trigger === this.formatTrigger) {\n value = this.formatter(value);\n }\n\n var input = this.$refs.input;\n\n if (input && value !== input.value) {\n input.value = value;\n }\n\n if (value !== this.value) {\n this.$emit('input', value);\n }\n },\n onInput: function onInput(event) {\n // not update v-model when composing\n if (event.target.composing) {\n return;\n }\n\n this.updateValue(event.target.value);\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n this.$emit('focus', event); // https://github.com/vant-ui/vant/issues/9715\n\n this.$nextTick(this.adjustSize); // readonly not work in legacy mobile safari\n\n /* istanbul ignore if */\n\n if (this.getProp('readonly')) {\n this.blur();\n }\n },\n onBlur: function onBlur(event) {\n if (this.getProp('readonly')) {\n return;\n }\n\n this.focused = false;\n this.updateValue(this.value, 'onBlur');\n this.$emit('blur', event);\n this.validateWithTrigger('onBlur');\n this.$nextTick(this.adjustSize);\n resetScroll();\n },\n onClick: function onClick(event) {\n this.$emit('click', event);\n },\n onClickInput: function onClickInput(event) {\n this.$emit('click-input', event);\n },\n onClickLeftIcon: function onClickLeftIcon(event) {\n this.$emit('click-left-icon', event);\n },\n onClickRightIcon: function onClickRightIcon(event) {\n this.$emit('click-right-icon', event);\n },\n onClear: function onClear(event) {\n preventDefault(event);\n this.$emit('input', '');\n this.$emit('clear', event);\n },\n onKeypress: function onKeypress(event) {\n var ENTER_CODE = 13;\n\n if (event.keyCode === ENTER_CODE) {\n var submitOnEnter = this.getProp('submitOnEnter');\n\n if (!submitOnEnter && this.type !== 'textarea') {\n preventDefault(event);\n } // trigger blur after click keyboard search button\n\n\n if (this.type === 'search') {\n this.blur();\n }\n }\n\n this.$emit('keypress', event);\n },\n adjustSize: function adjustSize() {\n var input = this.$refs.input;\n\n if (!(this.type === 'textarea' && this.autosize) || !input) {\n return;\n }\n\n var scrollTop = getRootScrollTop();\n input.style.height = 'auto';\n var height = input.scrollHeight;\n\n if (isObject(this.autosize)) {\n var _this$autosize = this.autosize,\n maxHeight = _this$autosize.maxHeight,\n minHeight = _this$autosize.minHeight;\n\n if (maxHeight) {\n height = Math.min(height, maxHeight);\n }\n\n if (minHeight) {\n height = Math.max(height, minHeight);\n }\n }\n\n if (height) {\n input.style.height = height + 'px'; // https://github.com/vant-ui/vant/issues/9178\n\n setRootScrollTop(scrollTop);\n }\n },\n genInput: function genInput() {\n var h = this.$createElement;\n var type = this.type;\n var disabled = this.getProp('disabled');\n var readonly = this.getProp('readonly');\n var inputSlot = this.slots('input');\n var inputAlign = this.getProp('inputAlign');\n\n if (inputSlot) {\n return h(\"div\", {\n \"class\": bem('control', [inputAlign, 'custom']),\n \"on\": {\n \"click\": this.onClickInput\n }\n }, [inputSlot]);\n }\n\n var inputProps = {\n ref: 'input',\n class: bem('control', inputAlign),\n domProps: {\n value: this.value\n },\n attrs: _extends({}, this.$attrs, {\n name: this.name,\n disabled: disabled,\n readonly: readonly,\n placeholder: this.placeholder\n }),\n on: this.listeners,\n // add model directive to skip IME composition\n directives: [{\n name: 'model',\n value: this.value\n }]\n };\n\n if (type === 'textarea') {\n return h(\"textarea\", _mergeJSXProps([{}, inputProps]));\n }\n\n var inputType = type;\n var inputMode; // type=\"number\" is weird in iOS, and can't prevent dot in Android\n // so use inputmode to set keyboard in modern browsers\n\n if (type === 'number') {\n inputType = 'text';\n inputMode = 'decimal';\n }\n\n if (type === 'digit') {\n inputType = 'tel';\n inputMode = 'numeric';\n }\n\n return h(\"input\", _mergeJSXProps2([{\n \"attrs\": {\n \"type\": inputType,\n \"inputmode\": inputMode\n }\n }, inputProps]));\n },\n genLeftIcon: function genLeftIcon() {\n var h = this.$createElement;\n var showLeftIcon = this.slots('left-icon') || this.leftIcon;\n\n if (showLeftIcon) {\n return h(\"div\", {\n \"class\": bem('left-icon'),\n \"on\": {\n \"click\": this.onClickLeftIcon\n }\n }, [this.slots('left-icon') || h(Icon, {\n \"attrs\": {\n \"name\": this.leftIcon,\n \"classPrefix\": this.iconPrefix\n }\n })]);\n }\n },\n genRightIcon: function genRightIcon() {\n var h = this.$createElement;\n var slots = this.slots;\n var showRightIcon = slots('right-icon') || this.rightIcon;\n\n if (showRightIcon) {\n return h(\"div\", {\n \"class\": bem('right-icon'),\n \"on\": {\n \"click\": this.onClickRightIcon\n }\n }, [slots('right-icon') || h(Icon, {\n \"attrs\": {\n \"name\": this.rightIcon,\n \"classPrefix\": this.iconPrefix\n }\n })]);\n }\n },\n genWordLimit: function genWordLimit() {\n var h = this.$createElement;\n\n if (this.showWordLimit && this.maxlength) {\n var count = (this.value || '').length;\n return h(\"div\", {\n \"class\": bem('word-limit')\n }, [h(\"span\", {\n \"class\": bem('word-num')\n }, [count]), \"/\", this.maxlength]);\n }\n },\n genMessage: function genMessage() {\n var h = this.$createElement;\n\n if (this.vanForm && this.vanForm.showErrorMessage === false) {\n return;\n }\n\n var message = this.errorMessage || this.validateMessage;\n\n if (message) {\n var errorMessageAlign = this.getProp('errorMessageAlign');\n return h(\"div\", {\n \"class\": bem('error-message', errorMessageAlign)\n }, [message]);\n }\n },\n getProp: function getProp(key) {\n if (isDef(this[key])) {\n return this[key];\n }\n\n if (this.vanForm && isDef(this.vanForm[key])) {\n return this.vanForm[key];\n }\n },\n genLabel: function genLabel() {\n var h = this.$createElement;\n var colon = this.getProp('colon') ? ':' : '';\n\n if (this.slots('label')) {\n return [this.slots('label'), colon];\n }\n\n if (this.label) {\n return h(\"span\", [this.label + colon]);\n }\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n var slots = this.slots;\n var disabled = this.getProp('disabled');\n var labelAlign = this.getProp('labelAlign');\n var scopedSlots = {\n icon: this.genLeftIcon\n };\n var Label = this.genLabel();\n\n if (Label) {\n scopedSlots.title = function () {\n return Label;\n };\n }\n\n var extra = this.slots('extra');\n\n if (extra) {\n scopedSlots.extra = function () {\n return extra;\n };\n }\n\n return h(Cell, {\n \"attrs\": {\n \"icon\": this.leftIcon,\n \"size\": this.size,\n \"center\": this.center,\n \"border\": this.border,\n \"isLink\": this.isLink,\n \"required\": this.required,\n \"clickable\": this.clickable,\n \"titleStyle\": this.labelStyle,\n \"valueClass\": bem('value'),\n \"titleClass\": [bem('label', labelAlign), this.labelClass],\n \"arrowDirection\": this.arrowDirection\n },\n \"scopedSlots\": scopedSlots,\n \"class\": bem((_bem = {\n error: this.showError,\n disabled: disabled\n }, _bem[\"label-\" + labelAlign] = labelAlign, _bem['min-height'] = this.type === 'textarea' && !this.autosize, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('body')\n }, [this.genInput(), this.showClear && h(Icon, {\n \"attrs\": {\n \"name\": \"clear\"\n },\n \"class\": bem('clear'),\n \"on\": {\n \"touchstart\": this.onClear\n }\n }), this.genRightIcon(), slots('button') && h(\"div\", {\n \"class\": bem('button')\n }, [slots('button')])]), this.genWordLimit(), this.genMessage()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { isAndroid } from '../utils/validate/system'; // Components\n\nimport Cell from '../cell';\nimport Field from '../field';\n\nvar _createNamespace = createNamespace('address-edit-detail'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nvar android = isAndroid();\nexport default createComponent({\n props: {\n value: String,\n errorMessage: String,\n focused: Boolean,\n detailRows: [Number, String],\n searchResult: Array,\n detailMaxlength: [Number, String],\n showSearchResult: Boolean\n },\n computed: {\n shouldShowSearchResult: function shouldShowSearchResult() {\n return this.focused && this.searchResult && this.showSearchResult;\n }\n },\n methods: {\n onSelect: function onSelect(express) {\n this.$emit('select-search', express);\n this.$emit('input', ((express.address || '') + \" \" + (express.name || '')).trim());\n },\n onFinish: function onFinish() {\n this.$refs.field.blur();\n },\n genFinish: function genFinish() {\n var h = this.$createElement;\n var show = this.value && this.focused && android;\n\n if (show) {\n return h(\"div\", {\n \"class\": bem('finish'),\n \"on\": {\n \"click\": this.onFinish\n }\n }, [t('complete')]);\n }\n },\n genSearchResult: function genSearchResult() {\n var _this = this;\n\n var h = this.$createElement;\n var value = this.value,\n shouldShowSearchResult = this.shouldShowSearchResult,\n searchResult = this.searchResult;\n\n if (shouldShowSearchResult) {\n return searchResult.map(function (express) {\n return h(Cell, {\n \"key\": express.name + express.address,\n \"attrs\": {\n \"clickable\": true,\n \"border\": false,\n \"icon\": \"location-o\",\n \"label\": express.address\n },\n \"class\": bem('search-item'),\n \"on\": {\n \"click\": function click() {\n _this.onSelect(express);\n }\n },\n \"scopedSlots\": {\n title: function title() {\n if (express.name) {\n var text = express.name.replace(value, \"\" + value + \"\");\n return h(\"div\", {\n \"domProps\": {\n \"innerHTML\": text\n }\n });\n }\n }\n }\n });\n });\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(Cell, {\n \"class\": bem()\n }, [h(Field, {\n \"attrs\": {\n \"autosize\": true,\n \"rows\": this.detailRows,\n \"clearable\": !android,\n \"type\": \"textarea\",\n \"value\": this.value,\n \"errorMessage\": this.errorMessage,\n \"border\": !this.shouldShowSearchResult,\n \"label\": t('label'),\n \"maxlength\": this.detailMaxlength,\n \"placeholder\": t('placeholder')\n },\n \"ref\": \"field\",\n \"scopedSlots\": {\n icon: this.genFinish\n },\n \"on\": _extends({}, this.$listeners)\n }), this.genSearchResult()]);\n }\n});","/**\n * Common Switch Props\n */\nexport var switchProps = {\n size: [Number, String],\n value: null,\n loading: Boolean,\n disabled: Boolean,\n activeColor: String,\n inactiveColor: String,\n activeValue: {\n type: null,\n default: true\n },\n inactiveValue: {\n type: null,\n default: false\n }\n};","export var FieldMixin = {\n inject: {\n vanField: {\n default: null\n }\n },\n watch: {\n value: function value() {\n var field = this.vanField;\n\n if (field) {\n field.resetValidation();\n field.validateWithTrigger('onChange');\n }\n }\n },\n created: function created() {\n var field = this.vanField;\n\n if (field && !field.children) {\n field.children = this;\n }\n }\n};","// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { switchProps } from './shared'; // Mixins\n\nimport { FieldMixin } from '../mixins/field'; // Components\n\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('switch'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [FieldMixin],\n props: switchProps,\n computed: {\n checked: function checked() {\n return this.value === this.activeValue;\n },\n style: function style() {\n return {\n fontSize: addUnit(this.size),\n backgroundColor: this.checked ? this.activeColor : this.inactiveColor\n };\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n\n if (!this.disabled && !this.loading) {\n var newValue = this.checked ? this.inactiveValue : this.activeValue;\n this.$emit('input', newValue);\n this.$emit('change', newValue);\n }\n },\n genLoading: function genLoading() {\n var h = this.$createElement;\n\n if (this.loading) {\n var color = this.checked ? this.activeColor : this.inactiveColor;\n return h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"color\": color\n }\n });\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var checked = this.checked,\n loading = this.loading,\n disabled = this.disabled;\n return h(\"div\", {\n \"class\": bem({\n on: checked,\n loading: loading,\n disabled: disabled\n }),\n \"attrs\": {\n \"role\": \"switch\",\n \"aria-checked\": String(checked)\n },\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('node')\n }, [this.genLoading()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, isObject } from '../utils';\nimport { isMobile } from '../utils/validate/mobile'; // Components\n\nimport Area from '../area';\nimport Cell from '../cell';\nimport Field from '../field';\nimport Popup from '../popup';\nimport Toast from '../toast';\nimport Button from '../button';\nimport Dialog from '../dialog';\nimport Detail from './Detail';\nimport Switch from '../switch';\n\nvar _createNamespace = createNamespace('address-edit'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nvar defaultData = {\n name: '',\n tel: '',\n country: '',\n province: '',\n city: '',\n county: '',\n areaCode: '',\n postalCode: '',\n addressDetail: '',\n isDefault: false\n};\n\nfunction isPostal(value) {\n return /^\\d{6}$/.test(value);\n}\n\nexport default createComponent({\n props: {\n areaList: Object,\n isSaving: Boolean,\n isDeleting: Boolean,\n validator: Function,\n showDelete: Boolean,\n showPostal: Boolean,\n searchResult: Array,\n telMaxlength: [Number, String],\n showSetDefault: Boolean,\n saveButtonText: String,\n areaPlaceholder: String,\n deleteButtonText: String,\n showSearchResult: Boolean,\n showArea: {\n type: Boolean,\n default: true\n },\n showDetail: {\n type: Boolean,\n default: true\n },\n disableArea: Boolean,\n detailRows: {\n type: [Number, String],\n default: 1\n },\n detailMaxlength: {\n type: [Number, String],\n default: 200\n },\n addressInfo: {\n type: Object,\n default: function _default() {\n return _extends({}, defaultData);\n }\n },\n telValidator: {\n type: Function,\n default: isMobile\n },\n postalValidator: {\n type: Function,\n default: isPostal\n },\n areaColumnsPlaceholder: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n data: {},\n showAreaPopup: false,\n detailFocused: false,\n errorInfo: {\n tel: '',\n name: '',\n areaCode: '',\n postalCode: '',\n addressDetail: ''\n }\n };\n },\n computed: {\n areaListLoaded: function areaListLoaded() {\n return isObject(this.areaList) && Object.keys(this.areaList).length;\n },\n areaText: function areaText() {\n var _this$data = this.data,\n country = _this$data.country,\n province = _this$data.province,\n city = _this$data.city,\n county = _this$data.county,\n areaCode = _this$data.areaCode;\n\n if (areaCode) {\n var arr = [country, province, city, county];\n\n if (province && province === city) {\n arr.splice(1, 1);\n }\n\n return arr.filter(function (text) {\n return text;\n }).join('/');\n }\n\n return '';\n },\n // hide bottom field when use search && detail get focused\n hideBottomFields: function hideBottomFields() {\n var searchResult = this.searchResult;\n return searchResult && searchResult.length && this.detailFocused;\n }\n },\n watch: {\n addressInfo: {\n handler: function handler(val) {\n this.data = _extends({}, defaultData, val);\n this.setAreaCode(val.areaCode);\n },\n deep: true,\n immediate: true\n },\n areaList: function areaList() {\n this.setAreaCode(this.data.areaCode);\n }\n },\n methods: {\n onFocus: function onFocus(key) {\n this.errorInfo[key] = '';\n this.detailFocused = key === 'addressDetail';\n this.$emit('focus', key);\n },\n onChangeDetail: function onChangeDetail(val) {\n this.data.addressDetail = val;\n this.$emit('change-detail', val);\n },\n onAreaConfirm: function onAreaConfirm(values) {\n values = values.filter(function (value) {\n return !!value;\n });\n\n if (values.some(function (value) {\n return !value.code;\n })) {\n Toast(t('areaEmpty'));\n return;\n }\n\n this.showAreaPopup = false;\n this.assignAreaValues();\n this.$emit('change-area', values);\n },\n assignAreaValues: function assignAreaValues() {\n var area = this.$refs.area;\n\n if (area) {\n var detail = area.getArea();\n detail.areaCode = detail.code;\n delete detail.code;\n\n _extends(this.data, detail);\n }\n },\n onSave: function onSave() {\n var _this = this;\n\n var items = ['name', 'tel'];\n\n if (this.showArea) {\n items.push('areaCode');\n }\n\n if (this.showDetail) {\n items.push('addressDetail');\n }\n\n if (this.showPostal) {\n items.push('postalCode');\n }\n\n var isValid = items.every(function (item) {\n var msg = _this.getErrorMessage(item);\n\n if (msg) {\n _this.errorInfo[item] = msg;\n }\n\n return !msg;\n });\n\n if (isValid && !this.isSaving) {\n this.$emit('save', this.data);\n }\n },\n getErrorMessage: function getErrorMessage(key) {\n var value = String(this.data[key] || '').trim();\n\n if (this.validator) {\n var message = this.validator(key, value);\n\n if (message) {\n return message;\n }\n }\n\n switch (key) {\n case 'name':\n return value ? '' : t('nameEmpty');\n\n case 'tel':\n return this.telValidator(value) ? '' : t('telInvalid');\n\n case 'areaCode':\n return value ? '' : t('areaEmpty');\n\n case 'addressDetail':\n return value ? '' : t('addressEmpty');\n\n case 'postalCode':\n return value && !this.postalValidator(value) ? t('postalEmpty') : '';\n }\n },\n onDelete: function onDelete() {\n var _this2 = this;\n\n Dialog.confirm({\n title: t('confirmDelete')\n }).then(function () {\n _this2.$emit('delete', _this2.data);\n }).catch(function () {\n _this2.$emit('cancel-delete', _this2.data);\n });\n },\n // get values of area component\n getArea: function getArea() {\n return this.$refs.area ? this.$refs.area.getValues() : [];\n },\n // set area code to area component\n setAreaCode: function setAreaCode(code) {\n this.data.areaCode = code || '';\n\n if (code) {\n this.$nextTick(this.assignAreaValues);\n }\n },\n // @exposed-api\n setAddressDetail: function setAddressDetail(value) {\n this.data.addressDetail = value;\n },\n onDetailBlur: function onDetailBlur() {\n var _this3 = this;\n\n // await for click search event\n setTimeout(function () {\n _this3.detailFocused = false;\n });\n },\n genSetDefaultCell: function genSetDefaultCell(h) {\n var _this4 = this;\n\n if (this.showSetDefault) {\n var slots = {\n 'right-icon': function rightIcon() {\n return h(Switch, {\n \"attrs\": {\n \"size\": \"24\"\n },\n \"on\": {\n \"change\": function change(event) {\n _this4.$emit('change-default', event);\n }\n },\n \"model\": {\n value: _this4.data.isDefault,\n callback: function callback($$v) {\n _this4.$set(_this4.data, \"isDefault\", $$v);\n }\n }\n });\n }\n };\n return h(Cell, {\n \"directives\": [{\n name: \"show\",\n value: !this.hideBottomFields\n }],\n \"attrs\": {\n \"center\": true,\n \"title\": t('defaultAddress')\n },\n \"class\": bem('default'),\n \"scopedSlots\": slots\n });\n }\n\n return h();\n }\n },\n render: function render(h) {\n var _this5 = this;\n\n var data = this.data,\n errorInfo = this.errorInfo,\n disableArea = this.disableArea,\n hideBottomFields = this.hideBottomFields;\n\n var onFocus = function onFocus(name) {\n return function () {\n return _this5.onFocus(name);\n };\n };\n\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"class\": bem('fields')\n }, [h(Field, {\n \"attrs\": {\n \"clearable\": true,\n \"label\": t('name'),\n \"placeholder\": t('namePlaceholder'),\n \"errorMessage\": errorInfo.name\n },\n \"on\": {\n \"focus\": onFocus('name')\n },\n \"model\": {\n value: data.name,\n callback: function callback($$v) {\n _this5.$set(data, \"name\", $$v);\n }\n }\n }), h(Field, {\n \"attrs\": {\n \"clearable\": true,\n \"type\": \"tel\",\n \"label\": t('tel'),\n \"maxlength\": this.telMaxlength,\n \"placeholder\": t('telPlaceholder'),\n \"errorMessage\": errorInfo.tel\n },\n \"on\": {\n \"focus\": onFocus('tel')\n },\n \"model\": {\n value: data.tel,\n callback: function callback($$v) {\n _this5.$set(data, \"tel\", $$v);\n }\n }\n }), h(Field, {\n \"directives\": [{\n name: \"show\",\n value: this.showArea\n }],\n \"attrs\": {\n \"readonly\": true,\n \"clickable\": !disableArea,\n \"label\": t('area'),\n \"placeholder\": this.areaPlaceholder || t('areaPlaceholder'),\n \"errorMessage\": errorInfo.areaCode,\n \"rightIcon\": !disableArea ? 'arrow' : null,\n \"value\": this.areaText\n },\n \"on\": {\n \"focus\": onFocus('areaCode'),\n \"click\": function click() {\n _this5.$emit('click-area');\n\n _this5.showAreaPopup = !disableArea;\n }\n }\n }), h(Detail, {\n \"directives\": [{\n name: \"show\",\n value: this.showDetail\n }],\n \"attrs\": {\n \"focused\": this.detailFocused,\n \"value\": data.addressDetail,\n \"errorMessage\": errorInfo.addressDetail,\n \"detailRows\": this.detailRows,\n \"detailMaxlength\": this.detailMaxlength,\n \"searchResult\": this.searchResult,\n \"showSearchResult\": this.showSearchResult\n },\n \"on\": {\n \"focus\": onFocus('addressDetail'),\n \"blur\": this.onDetailBlur,\n \"input\": this.onChangeDetail,\n \"select-search\": function selectSearch(event) {\n _this5.$emit('select-search', event);\n }\n }\n }), this.showPostal && h(Field, {\n \"directives\": [{\n name: \"show\",\n value: !hideBottomFields\n }],\n \"attrs\": {\n \"type\": \"tel\",\n \"maxlength\": \"6\",\n \"label\": t('postal'),\n \"placeholder\": t('postal'),\n \"errorMessage\": errorInfo.postalCode\n },\n \"on\": {\n \"focus\": onFocus('postalCode')\n },\n \"model\": {\n value: data.postalCode,\n callback: function callback($$v) {\n _this5.$set(data, \"postalCode\", $$v);\n }\n }\n }), this.slots()]), this.genSetDefaultCell(h), h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: !hideBottomFields\n }],\n \"class\": bem('buttons')\n }, [h(Button, {\n \"attrs\": {\n \"block\": true,\n \"round\": true,\n \"loading\": this.isSaving,\n \"type\": \"danger\",\n \"text\": this.saveButtonText || t('save')\n },\n \"on\": {\n \"click\": this.onSave\n }\n }), this.showDelete && h(Button, {\n \"attrs\": {\n \"block\": true,\n \"round\": true,\n \"loading\": this.isDeleting,\n \"text\": this.deleteButtonText || t('delete')\n },\n \"on\": {\n \"click\": this.onDelete\n }\n })]), h(Popup, {\n \"attrs\": {\n \"round\": true,\n \"position\": \"bottom\",\n \"lazyRender\": false,\n \"getContainer\": \"body\"\n },\n \"model\": {\n value: _this5.showAreaPopup,\n callback: function callback($$v) {\n _this5.showAreaPopup = $$v;\n }\n }\n }, [h(Area, {\n \"ref\": \"area\",\n \"attrs\": {\n \"value\": data.areaCode,\n \"loading\": !this.areaListLoaded,\n \"areaList\": this.areaList,\n \"columnsPlaceholder\": this.areaColumnsPlaceholder\n },\n \"on\": {\n \"confirm\": this.onAreaConfirm,\n \"cancel\": function cancel() {\n _this5.showAreaPopup = false;\n }\n }\n })])]);\n }\n});","import { createNamespace } from '../utils';\nimport { FieldMixin } from '../mixins/field';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('radio-group'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanRadio'), FieldMixin],\n props: {\n value: null,\n disabled: Boolean,\n direction: String,\n checkedColor: String,\n iconSize: [Number, String]\n },\n watch: {\n value: function value(_value) {\n this.$emit('change', _value);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem([this.direction]),\n \"attrs\": {\n \"role\": \"radiogroup\"\n }\n }, [this.slots()]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit, emit } from '../utils/functional'; // Components\n\nimport Icon from '../icon'; // Types\n\nvar _createNamespace = createNamespace('tag'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Tag(h, props, slots, ctx) {\n var _style;\n\n var type = props.type,\n mark = props.mark,\n plain = props.plain,\n color = props.color,\n round = props.round,\n size = props.size,\n textColor = props.textColor;\n var key = plain ? 'color' : 'backgroundColor';\n var style = (_style = {}, _style[key] = color, _style);\n\n if (plain) {\n style.color = textColor || color;\n style.borderColor = color;\n } else {\n style.color = textColor;\n style.background = color;\n }\n\n var classes = {\n mark: mark,\n plain: plain,\n round: round\n };\n\n if (size) {\n classes[size] = size;\n }\n\n var CloseIcon = props.closeable && h(Icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": bem('close'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n emit(ctx, 'close');\n }\n }\n });\n return h(\"transition\", {\n \"attrs\": {\n \"name\": props.closeable ? 'van-fade' : null\n }\n }, [h(\"span\", _mergeJSXProps([{\n \"key\": \"content\",\n \"style\": style,\n \"class\": bem([classes, type])\n }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default(), CloseIcon])]);\n}\n\nTag.props = {\n size: String,\n mark: Boolean,\n color: String,\n plain: Boolean,\n round: Boolean,\n textColor: String,\n closeable: Boolean,\n type: {\n type: String,\n default: 'default'\n }\n};\nexport default createComponent(Tag);","/**\n * Common part of Checkbox & Radio\n */\nimport Icon from '../icon';\nimport { FieldMixin } from './field';\nimport { ChildrenMixin } from './relation';\nimport { addUnit } from '../utils';\nexport var CheckboxMixin = function CheckboxMixin(_ref) {\n var parent = _ref.parent,\n bem = _ref.bem,\n role = _ref.role;\n return {\n mixins: [ChildrenMixin(parent), FieldMixin],\n props: {\n name: null,\n value: null,\n disabled: Boolean,\n iconSize: [Number, String],\n checkedColor: String,\n labelPosition: String,\n labelDisabled: Boolean,\n shape: {\n type: String,\n default: 'round'\n },\n bindGroup: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n disableBindRelation: function disableBindRelation() {\n return !this.bindGroup;\n },\n isDisabled: function isDisabled() {\n return this.parent && this.parent.disabled || this.disabled;\n },\n direction: function direction() {\n return this.parent && this.parent.direction || null;\n },\n iconStyle: function iconStyle() {\n var checkedColor = this.checkedColor || this.parent && this.parent.checkedColor;\n\n if (checkedColor && this.checked && !this.isDisabled) {\n return {\n borderColor: checkedColor,\n backgroundColor: checkedColor\n };\n }\n },\n tabindex: function tabindex() {\n if (this.isDisabled || role === 'radio' && !this.checked) {\n return -1;\n }\n\n return 0;\n }\n },\n methods: {\n onClick: function onClick(event) {\n var _this = this;\n\n var target = event.target;\n var icon = this.$refs.icon;\n var iconClicked = icon === target || (icon == null ? void 0 : icon.contains(target));\n\n if (!this.isDisabled && (iconClicked || !this.labelDisabled)) {\n this.toggle(); // wait for toggle method to complete\n // so we can get the changed value in the click event listener\n\n setTimeout(function () {\n _this.$emit('click', event);\n });\n } else {\n this.$emit('click', event);\n }\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var checked = this.checked;\n var iconSize = this.iconSize || this.parent && this.parent.iconSize;\n return h(\"div\", {\n \"ref\": \"icon\",\n \"class\": bem('icon', [this.shape, {\n disabled: this.isDisabled,\n checked: checked\n }]),\n \"style\": {\n fontSize: addUnit(iconSize)\n }\n }, [this.slots('icon', {\n checked: checked\n }) || h(Icon, {\n \"attrs\": {\n \"name\": \"success\"\n },\n \"style\": this.iconStyle\n })]);\n },\n genLabel: function genLabel() {\n var h = this.$createElement;\n var slot = this.slots();\n\n if (slot) {\n return h(\"span\", {\n \"class\": bem('label', [this.labelPosition, {\n disabled: this.isDisabled\n }])\n }, [slot]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var Children = [this.genIcon()];\n\n if (this.labelPosition === 'left') {\n Children.unshift(this.genLabel());\n } else {\n Children.push(this.genLabel());\n }\n\n return h(\"div\", {\n \"attrs\": {\n \"role\": role,\n \"tabindex\": this.tabindex,\n \"aria-checked\": String(this.checked)\n },\n \"class\": bem([{\n disabled: this.isDisabled,\n 'label-disabled': this.labelDisabled\n }, this.direction]),\n \"on\": {\n \"click\": this.onClick\n }\n }, [Children]);\n }\n };\n};","import { createNamespace } from '../utils';\nimport { CheckboxMixin } from '../mixins/checkbox';\n\nvar _createNamespace = createNamespace('radio'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [CheckboxMixin({\n bem: bem,\n role: 'radio',\n parent: 'vanRadio'\n })],\n computed: {\n currentValue: {\n get: function get() {\n return this.parent ? this.parent.value : this.value;\n },\n set: function set(val) {\n (this.parent || this).$emit('input', val);\n }\n },\n checked: function checked() {\n return this.currentValue === this.name;\n }\n },\n methods: {\n toggle: function toggle() {\n this.currentValue = this.name;\n }\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { emit, inherit } from '../utils/functional'; // Components\n\nimport Tag from '../tag';\nimport Icon from '../icon';\nimport Cell from '../cell';\nimport Radio from '../radio'; // Types\n\nvar _createNamespace = createNamespace('address-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction AddressItem(h, props, slots, ctx) {\n var disabled = props.disabled,\n switchable = props.switchable;\n\n function onClick() {\n if (switchable) {\n emit(ctx, 'select');\n }\n\n emit(ctx, 'click');\n }\n\n var genRightIcon = function genRightIcon() {\n return h(Icon, {\n \"attrs\": {\n \"name\": \"edit\"\n },\n \"class\": bem('edit'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n emit(ctx, 'edit');\n emit(ctx, 'click');\n }\n }\n });\n };\n\n function genTag() {\n if (slots.tag) {\n return slots.tag(_extends({}, props.data));\n }\n\n if (props.data.isDefault && props.defaultTagText) {\n return h(Tag, {\n \"attrs\": {\n \"type\": \"danger\",\n \"round\": true\n },\n \"class\": bem('tag')\n }, [props.defaultTagText]);\n }\n }\n\n function genContent() {\n var data = props.data;\n var Info = [h(\"div\", {\n \"class\": bem('name')\n }, [data.name + \" \" + data.tel, genTag()]), h(\"div\", {\n \"class\": bem('address')\n }, [data.address])];\n\n if (switchable && !disabled) {\n return h(Radio, {\n \"attrs\": {\n \"name\": data.id,\n \"iconSize\": 18\n }\n }, [Info]);\n }\n\n return Info;\n }\n\n return h(\"div\", {\n \"class\": bem({\n disabled: disabled\n }),\n \"on\": {\n \"click\": onClick\n }\n }, [h(Cell, _mergeJSXProps([{\n \"attrs\": {\n \"border\": false,\n \"valueClass\": bem('value')\n },\n \"scopedSlots\": {\n default: genContent,\n 'right-icon': genRightIcon\n }\n }, inherit(ctx)])), slots.bottom == null ? void 0 : slots.bottom(_extends({}, props.data, {\n disabled: disabled\n }))]);\n}\n\nAddressItem.props = {\n data: Object,\n disabled: Boolean,\n switchable: Boolean,\n defaultTagText: String\n};\nexport default createComponent(AddressItem);","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { emit, inherit } from '../utils/functional'; // Components\n\nimport Button from '../button';\nimport RadioGroup from '../radio-group';\nimport AddressItem from './Item'; // Types\n\nvar _createNamespace = createNamespace('address-list'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction AddressList(h, props, slots, ctx) {\n function genList(list, disabled) {\n if (!list) {\n return;\n }\n\n return list.map(function (item, index) {\n return h(AddressItem, {\n \"attrs\": {\n \"data\": item,\n \"disabled\": disabled,\n \"switchable\": props.switchable,\n \"defaultTagText\": props.defaultTagText\n },\n \"key\": item.id,\n \"scopedSlots\": {\n bottom: slots['item-bottom'],\n tag: slots.tag\n },\n \"on\": {\n \"select\": function select() {\n emit(ctx, disabled ? 'select-disabled' : 'select', item, index);\n\n if (!disabled) {\n emit(ctx, 'input', item.id);\n }\n },\n \"edit\": function edit() {\n emit(ctx, disabled ? 'edit-disabled' : 'edit', item, index);\n },\n \"click\": function click() {\n emit(ctx, 'click-item', item, index);\n }\n }\n });\n });\n }\n\n var List = genList(props.list);\n var DisabledList = genList(props.disabledList, true);\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem()\n }, inherit(ctx)]), [slots.top == null ? void 0 : slots.top(), h(RadioGroup, {\n \"attrs\": {\n \"value\": props.value\n }\n }, [List]), props.disabledText && h(\"div\", {\n \"class\": bem('disabled-text')\n }, [props.disabledText]), DisabledList, slots.default == null ? void 0 : slots.default(), h(\"div\", {\n \"class\": bem('bottom')\n }, [h(Button, {\n \"attrs\": {\n \"round\": true,\n \"block\": true,\n \"type\": \"danger\",\n \"text\": props.addButtonText || t('add')\n },\n \"class\": bem('add'),\n \"on\": {\n \"click\": function click() {\n emit(ctx, 'add');\n }\n }\n })])]);\n}\n\nAddressList.props = {\n list: Array,\n value: [Number, String],\n disabledList: Array,\n disabledText: String,\n addButtonText: String,\n defaultTagText: String,\n switchable: {\n type: Boolean,\n default: true\n }\n};\nexport default createComponent(AddressList);","import { isDef, createNamespace } from '../utils';\nimport { isNumeric } from '../utils/validate/number';\n\nvar _createNamespace = createNamespace('badge'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n dot: Boolean,\n max: [Number, String],\n color: String,\n content: [Number, String],\n tag: {\n type: String,\n default: 'div'\n }\n },\n methods: {\n hasContent: function hasContent() {\n return !!(this.$scopedSlots.content || isDef(this.content) && this.content !== '');\n },\n renderContent: function renderContent() {\n var dot = this.dot,\n max = this.max,\n content = this.content;\n\n if (!dot && this.hasContent()) {\n if (this.$scopedSlots.content) {\n return this.$scopedSlots.content();\n }\n\n if (isDef(max) && isNumeric(content) && +content > max) {\n return max + \"+\";\n }\n\n return content;\n }\n },\n renderBadge: function renderBadge() {\n var h = this.$createElement;\n\n if (this.hasContent() || this.dot) {\n return h(\"div\", {\n \"class\": bem({\n dot: this.dot,\n fixed: !!this.$scopedSlots.default\n }),\n \"style\": {\n background: this.color\n }\n }, [this.renderContent()]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (this.$scopedSlots.default) {\n var tag = this.tag;\n return h(tag, {\n \"class\": bem('wrapper')\n }, [this.$scopedSlots.default(), this.renderBadge()]);\n }\n\n return this.renderBadge();\n }\n});","/**\n * requestAnimationFrame polyfill\n */\nimport { isServer } from '..';\nvar prev = Date.now();\n/* istanbul ignore next */\n\nfunction fallback(fn) {\n var curr = Date.now();\n var ms = Math.max(0, 16 - (curr - prev));\n var id = setTimeout(fn, ms);\n prev = curr + ms;\n return id;\n}\n/* istanbul ignore next */\n\n\nvar root = isServer ? global : window;\n/* istanbul ignore next */\n\nvar iRaf = root.requestAnimationFrame || fallback;\n/* istanbul ignore next */\n\nvar iCancel = root.cancelAnimationFrame || root.clearTimeout;\nexport function raf(fn) {\n return iRaf.call(root, fn);\n} // double raf for animation\n\nexport function doubleRaf(fn) {\n raf(function () {\n raf(fn);\n });\n}\nexport function cancelRaf(id) {\n iCancel.call(root, id);\n}","import { isNaN } from './number';\nexport function isDate(val) {\n return Object.prototype.toString.call(val) === '[object Date]' && !isNaN(val.getTime());\n}","import { createNamespace } from '../utils';\n\nvar _createNamespace = createNamespace('calendar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport { createComponent, bem, t };\nexport function formatMonthTitle(date) {\n return t('monthTitle', date.getFullYear(), date.getMonth() + 1);\n}\nexport function compareMonth(date1, date2) {\n var year1 = date1.getFullYear();\n var year2 = date2.getFullYear();\n var month1 = date1.getMonth();\n var month2 = date2.getMonth();\n\n if (year1 === year2) {\n return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;\n }\n\n return year1 > year2 ? 1 : -1;\n}\nexport function compareDay(day1, day2) {\n var compareMonthResult = compareMonth(day1, day2);\n\n if (compareMonthResult === 0) {\n var date1 = day1.getDate();\n var date2 = day2.getDate();\n return date1 === date2 ? 0 : date1 > date2 ? 1 : -1;\n }\n\n return compareMonthResult;\n}\nexport function getDayByOffset(date, offset) {\n date = new Date(date);\n date.setDate(date.getDate() + offset);\n return date;\n}\nexport function getPrevDay(date) {\n return getDayByOffset(date, -1);\n}\nexport function getNextDay(date) {\n return getDayByOffset(date, 1);\n}\nexport function calcDateNum(date) {\n var day1 = date[0].getTime();\n var day2 = date[1].getTime();\n return (day2 - day1) / (1000 * 60 * 60 * 24) + 1;\n}\nexport function copyDate(dates) {\n return new Date(dates);\n}\nexport function copyDates(dates) {\n if (Array.isArray(dates)) {\n return dates.map(function (date) {\n if (date === null) {\n return date;\n }\n\n return copyDate(date);\n });\n }\n\n return copyDate(dates);\n}","import { isNaN } from '../utils/validate/number';\nexport function times(n, iteratee) {\n if (n < 0) {\n return [];\n }\n\n var index = -1;\n var result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n\n return result;\n}\nexport function getTrueValue(value) {\n if (!value) {\n return 0;\n }\n\n while (isNaN(parseInt(value, 10))) {\n if (value.length > 1) {\n value = value.slice(1);\n } else {\n return 0;\n }\n }\n\n return parseInt(value, 10);\n}\nexport function getMonthEndDay(year, month) {\n return 32 - new Date(year, month - 1, 32).getDate();\n}","import { createNamespace, addUnit } from '../../utils';\nimport { setScrollTop } from '../../utils/dom/scroll';\nimport { t, bem, compareDay, getPrevDay, getNextDay, formatMonthTitle } from '../utils';\nimport { getMonthEndDay } from '../../datetime-picker/utils';\n\nvar _createNamespace = createNamespace('calendar-month'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n props: {\n date: Date,\n type: String,\n color: String,\n minDate: Date,\n maxDate: Date,\n showMark: Boolean,\n rowHeight: [Number, String],\n formatter: Function,\n lazyRender: Boolean,\n currentDate: [Date, Array],\n allowSameDay: Boolean,\n showSubtitle: Boolean,\n showMonthTitle: Boolean,\n firstDayOfWeek: Number\n },\n data: function data() {\n return {\n visible: false\n };\n },\n computed: {\n title: function title() {\n return formatMonthTitle(this.date);\n },\n rowHeightWithUnit: function rowHeightWithUnit() {\n return addUnit(this.rowHeight);\n },\n offset: function offset() {\n var firstDayOfWeek = this.firstDayOfWeek;\n var realDay = this.date.getDay();\n\n if (!firstDayOfWeek) {\n return realDay;\n }\n\n return (realDay + 7 - this.firstDayOfWeek) % 7;\n },\n totalDay: function totalDay() {\n return getMonthEndDay(this.date.getFullYear(), this.date.getMonth() + 1);\n },\n shouldRender: function shouldRender() {\n return this.visible || !this.lazyRender;\n },\n placeholders: function placeholders() {\n var rows = [];\n var count = Math.ceil((this.totalDay + this.offset) / 7);\n\n for (var day = 1; day <= count; day++) {\n rows.push({\n type: 'placeholder'\n });\n }\n\n return rows;\n },\n days: function days() {\n var days = [];\n var year = this.date.getFullYear();\n var month = this.date.getMonth();\n\n for (var day = 1; day <= this.totalDay; day++) {\n var date = new Date(year, month, day);\n var type = this.getDayType(date);\n var config = {\n date: date,\n type: type,\n text: day,\n bottomInfo: this.getBottomInfo(type)\n };\n\n if (this.formatter) {\n config = this.formatter(config);\n }\n\n days.push(config);\n }\n\n return days;\n }\n },\n methods: {\n getHeight: function getHeight() {\n var _this$$el;\n\n return ((_this$$el = this.$el) == null ? void 0 : _this$$el.getBoundingClientRect().height) || 0;\n },\n scrollIntoView: function scrollIntoView(body) {\n var _this$$refs = this.$refs,\n days = _this$$refs.days,\n month = _this$$refs.month;\n var el = this.showSubtitle ? days : month;\n var scrollTop = el.getBoundingClientRect().top - body.getBoundingClientRect().top + body.scrollTop;\n setScrollTop(body, scrollTop);\n },\n getMultipleDayType: function getMultipleDayType(day) {\n var _this = this;\n\n var isSelected = function isSelected(date) {\n return _this.currentDate.some(function (item) {\n return compareDay(item, date) === 0;\n });\n };\n\n if (isSelected(day)) {\n var prevDay = getPrevDay(day);\n var nextDay = getNextDay(day);\n var prevSelected = isSelected(prevDay);\n var nextSelected = isSelected(nextDay);\n\n if (prevSelected && nextSelected) {\n return 'multiple-middle';\n }\n\n if (prevSelected) {\n return 'end';\n }\n\n return nextSelected ? 'start' : 'multiple-selected';\n }\n\n return '';\n },\n getRangeDayType: function getRangeDayType(day) {\n var _this$currentDate = this.currentDate,\n startDay = _this$currentDate[0],\n endDay = _this$currentDate[1];\n\n if (!startDay) {\n return '';\n }\n\n var compareToStart = compareDay(day, startDay);\n\n if (!endDay) {\n return compareToStart === 0 ? 'start' : '';\n }\n\n var compareToEnd = compareDay(day, endDay);\n\n if (compareToStart === 0 && compareToEnd === 0 && this.allowSameDay) {\n return 'start-end';\n }\n\n if (compareToStart === 0) {\n return 'start';\n }\n\n if (compareToEnd === 0) {\n return 'end';\n }\n\n if (compareToStart > 0 && compareToEnd < 0) {\n return 'middle';\n }\n },\n getDayType: function getDayType(day) {\n var type = this.type,\n minDate = this.minDate,\n maxDate = this.maxDate,\n currentDate = this.currentDate;\n\n if (compareDay(day, minDate) < 0 || compareDay(day, maxDate) > 0) {\n return 'disabled';\n }\n\n if (currentDate === null) {\n return;\n }\n\n if (type === 'single') {\n return compareDay(day, currentDate) === 0 ? 'selected' : '';\n }\n\n if (type === 'multiple') {\n return this.getMultipleDayType(day);\n }\n /* istanbul ignore else */\n\n\n if (type === 'range') {\n return this.getRangeDayType(day);\n }\n },\n getBottomInfo: function getBottomInfo(type) {\n if (this.type === 'range') {\n if (type === 'start' || type === 'end') {\n return t(type);\n }\n\n if (type === 'start-end') {\n return t('startEnd');\n }\n }\n },\n getDayStyle: function getDayStyle(type, index) {\n var style = {\n height: this.rowHeightWithUnit\n };\n\n if (type === 'placeholder') {\n style.width = '100%';\n return style;\n }\n\n if (index === 0) {\n style.marginLeft = 100 * this.offset / 7 + \"%\";\n }\n\n if (this.color) {\n if (type === 'start' || type === 'end' || type === 'start-end' || type === 'multiple-selected' || type === 'multiple-middle') {\n style.background = this.color;\n } else if (type === 'middle') {\n style.color = this.color;\n }\n }\n\n return style;\n },\n genTitle: function genTitle() {\n var h = this.$createElement;\n\n if (this.showMonthTitle) {\n return h(\"div\", {\n \"class\": bem('month-title')\n }, [this.title]);\n }\n },\n genMark: function genMark() {\n var h = this.$createElement;\n\n if (this.showMark && this.shouldRender) {\n return h(\"div\", {\n \"class\": bem('month-mark')\n }, [this.date.getMonth() + 1]);\n }\n },\n genDays: function genDays() {\n var h = this.$createElement;\n var days = this.shouldRender ? this.days : this.placeholders;\n return h(\"div\", {\n \"ref\": \"days\",\n \"attrs\": {\n \"role\": \"grid\"\n },\n \"class\": bem('days')\n }, [this.genMark(), days.map(this.genDay)]);\n },\n genTopInfo: function genTopInfo(item) {\n var h = this.$createElement;\n var slot = this.$scopedSlots['top-info'];\n\n if (item.topInfo || slot) {\n return h(\"div\", {\n \"class\": bem('top-info')\n }, [slot ? slot(item) : item.topInfo]);\n }\n },\n genBottomInfo: function genBottomInfo(item) {\n var h = this.$createElement;\n var slot = this.$scopedSlots['bottom-info'];\n\n if (item.bottomInfo || slot) {\n return h(\"div\", {\n \"class\": bem('bottom-info')\n }, [slot ? slot(item) : item.bottomInfo]);\n }\n },\n genDay: function genDay(item, index) {\n var _this2 = this;\n\n var h = this.$createElement;\n var type = item.type;\n var style = this.getDayStyle(type, index);\n var disabled = type === 'disabled';\n\n var onClick = function onClick() {\n if (!disabled) {\n _this2.$emit('click', item);\n }\n };\n\n if (type === 'selected') {\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"gridcell\",\n \"tabindex\": -1\n },\n \"style\": style,\n \"class\": [bem('day'), item.className],\n \"on\": {\n \"click\": onClick\n }\n }, [h(\"div\", {\n \"class\": bem('selected-day'),\n \"style\": {\n width: this.rowHeightWithUnit,\n height: this.rowHeightWithUnit,\n background: this.color\n }\n }, [this.genTopInfo(item), item.text, this.genBottomInfo(item)])]);\n }\n\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"gridcell\",\n \"tabindex\": disabled ? null : -1\n },\n \"style\": style,\n \"class\": [bem('day', type), item.className],\n \"on\": {\n \"click\": onClick\n }\n }, [this.genTopInfo(item), item.text, this.genBottomInfo(item)]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem('month'),\n \"ref\": \"month\"\n }, [this.genTitle(), this.genDays()]);\n }\n});","import { createNamespace } from '../../utils';\nimport { t, bem } from '../utils';\n\nvar _createNamespace = createNamespace('calendar-header'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n props: {\n title: String,\n subtitle: String,\n showTitle: Boolean,\n showSubtitle: Boolean,\n firstDayOfWeek: Number\n },\n methods: {\n genTitle: function genTitle() {\n var h = this.$createElement;\n\n if (this.showTitle) {\n var title = this.slots('title') || this.title || t('title');\n return h(\"div\", {\n \"class\": bem('header-title')\n }, [title]);\n }\n },\n genSubtitle: function genSubtitle() {\n var h = this.$createElement;\n\n if (this.showSubtitle) {\n return h(\"div\", {\n \"class\": bem('header-subtitle')\n }, [this.subtitle]);\n }\n },\n genWeekDays: function genWeekDays() {\n var h = this.$createElement;\n var weekdays = t('weekdays');\n var firstDayOfWeek = this.firstDayOfWeek;\n var renderWeekDays = [].concat(weekdays.slice(firstDayOfWeek, 7), weekdays.slice(0, firstDayOfWeek));\n return h(\"div\", {\n \"class\": bem('weekdays')\n }, [renderWeekDays.map(function (item) {\n return h(\"span\", {\n \"class\": bem('weekday')\n }, [item]);\n })]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem('header')\n }, [this.genTitle(), this.genSubtitle(), this.genWeekDays()]);\n }\n});","// Utils\nimport { raf } from '../utils/dom/raf';\nimport { isDate } from '../utils/validate/date';\nimport { getScrollTop } from '../utils/dom/scroll';\nimport { t, bem, copyDate, copyDates, getNextDay, compareDay, calcDateNum, compareMonth, createComponent, getDayByOffset } from './utils'; // Components\n\nimport Popup from '../popup';\nimport Button from '../button';\nimport Toast from '../toast';\nimport Month from './components/Month';\nimport Header from './components/Header';\nexport default createComponent({\n props: {\n title: String,\n color: String,\n value: Boolean,\n readonly: Boolean,\n formatter: Function,\n rowHeight: [Number, String],\n confirmText: String,\n rangePrompt: String,\n defaultDate: [Date, Array],\n getContainer: [String, Function],\n allowSameDay: Boolean,\n confirmDisabledText: String,\n type: {\n type: String,\n default: 'single'\n },\n round: {\n type: Boolean,\n default: true\n },\n position: {\n type: String,\n default: 'bottom'\n },\n poppable: {\n type: Boolean,\n default: true\n },\n maxRange: {\n type: [Number, String],\n default: null\n },\n lazyRender: {\n type: Boolean,\n default: true\n },\n showMark: {\n type: Boolean,\n default: true\n },\n showTitle: {\n type: Boolean,\n default: true\n },\n showConfirm: {\n type: Boolean,\n default: true\n },\n showSubtitle: {\n type: Boolean,\n default: true\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n },\n minDate: {\n type: Date,\n validator: isDate,\n default: function _default() {\n return new Date();\n }\n },\n maxDate: {\n type: Date,\n validator: isDate,\n default: function _default() {\n var now = new Date();\n return new Date(now.getFullYear(), now.getMonth() + 6, now.getDate());\n }\n },\n firstDayOfWeek: {\n type: [Number, String],\n default: 0,\n validator: function validator(val) {\n return val >= 0 && val <= 6;\n }\n }\n },\n inject: {\n vanPopup: {\n default: null\n }\n },\n data: function data() {\n return {\n subtitle: '',\n currentDate: this.getInitialDate()\n };\n },\n computed: {\n months: function months() {\n var months = [];\n var cursor = new Date(this.minDate);\n cursor.setDate(1);\n\n do {\n months.push(new Date(cursor));\n cursor.setMonth(cursor.getMonth() + 1);\n } while (compareMonth(cursor, this.maxDate) !== 1);\n\n return months;\n },\n buttonDisabled: function buttonDisabled() {\n var type = this.type,\n currentDate = this.currentDate;\n\n if (currentDate) {\n if (type === 'range') {\n return !currentDate[0] || !currentDate[1];\n }\n\n if (type === 'multiple') {\n return !currentDate.length;\n }\n }\n\n return !currentDate;\n },\n dayOffset: function dayOffset() {\n return this.firstDayOfWeek ? this.firstDayOfWeek % 7 : 0;\n }\n },\n watch: {\n value: 'init',\n type: function type() {\n this.reset();\n },\n defaultDate: function defaultDate(val) {\n this.currentDate = val;\n this.scrollIntoView();\n }\n },\n mounted: function mounted() {\n this.init(); // https://github.com/vant-ui/vant/issues/9845\n\n if (!this.poppable) {\n var _this$vanPopup;\n\n (_this$vanPopup = this.vanPopup) == null ? void 0 : _this$vanPopup.$on('opened', this.onScroll);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.init();\n },\n methods: {\n // @exposed-api\n reset: function reset(date) {\n if (date === void 0) {\n date = this.getInitialDate();\n }\n\n this.currentDate = date;\n this.scrollIntoView();\n },\n init: function init() {\n var _this = this;\n\n if (this.poppable && !this.value) {\n return;\n }\n\n this.$nextTick(function () {\n // add Math.floor to avoid decimal height issues\n // https://github.com/vant-ui/vant/issues/5640\n _this.bodyHeight = Math.floor(_this.$refs.body.getBoundingClientRect().height);\n\n _this.onScroll();\n\n _this.scrollIntoView();\n });\n },\n // @exposed-api\n scrollToDate: function scrollToDate(targetDate) {\n var _this2 = this;\n\n raf(function () {\n var displayed = _this2.value || !_this2.poppable;\n /* istanbul ignore if */\n\n if (!targetDate || !displayed) {\n return;\n }\n\n _this2.months.some(function (month, index) {\n if (compareMonth(month, targetDate) === 0) {\n var _this2$$refs = _this2.$refs,\n body = _this2$$refs.body,\n months = _this2$$refs.months;\n months[index].scrollIntoView(body);\n return true;\n }\n\n return false;\n });\n\n _this2.onScroll();\n });\n },\n // scroll to current month\n scrollIntoView: function scrollIntoView() {\n var currentDate = this.currentDate;\n\n if (currentDate) {\n var targetDate = this.type === 'single' ? currentDate : currentDate[0];\n this.scrollToDate(targetDate);\n }\n },\n getInitialDate: function getInitialDate() {\n var type = this.type,\n minDate = this.minDate,\n maxDate = this.maxDate,\n defaultDate = this.defaultDate;\n\n if (defaultDate === null) {\n return defaultDate;\n }\n\n var defaultVal = new Date();\n\n if (compareDay(defaultVal, minDate) === -1) {\n defaultVal = minDate;\n } else if (compareDay(defaultVal, maxDate) === 1) {\n defaultVal = maxDate;\n }\n\n if (type === 'range') {\n var _ref = defaultDate || [],\n startDay = _ref[0],\n endDay = _ref[1];\n\n return [startDay || defaultVal, endDay || getNextDay(defaultVal)];\n }\n\n if (type === 'multiple') {\n return defaultDate || [defaultVal];\n }\n\n return defaultDate || defaultVal;\n },\n // calculate the position of the elements\n // and find the elements that needs to be rendered\n onScroll: function onScroll() {\n var _this$$refs = this.$refs,\n body = _this$$refs.body,\n months = _this$$refs.months;\n var top = getScrollTop(body);\n var bottom = top + this.bodyHeight;\n var heights = months.map(function (item) {\n return item.getHeight();\n });\n var heightSum = heights.reduce(function (a, b) {\n return a + b;\n }, 0); // iOS scroll bounce may exceed the range\n\n if (bottom > heightSum && top > 0) {\n return;\n }\n\n var height = 0;\n var currentMonth;\n var visibleRange = [-1, -1];\n\n for (var i = 0; i < months.length; i++) {\n var visible = height <= bottom && height + heights[i] >= top;\n\n if (visible) {\n visibleRange[1] = i;\n\n if (!currentMonth) {\n currentMonth = months[i];\n visibleRange[0] = i;\n }\n\n if (!months[i].showed) {\n months[i].showed = true;\n this.$emit('month-show', {\n date: months[i].date,\n title: months[i].title\n });\n }\n }\n\n height += heights[i];\n }\n\n months.forEach(function (month, index) {\n month.visible = index >= visibleRange[0] - 1 && index <= visibleRange[1] + 1;\n });\n /* istanbul ignore else */\n\n if (currentMonth) {\n this.subtitle = currentMonth.title;\n }\n },\n onClickDay: function onClickDay(item) {\n if (this.readonly) {\n return;\n }\n\n var date = item.date;\n var type = this.type,\n currentDate = this.currentDate;\n\n if (type === 'range') {\n if (!currentDate) {\n this.select([date, null]);\n return;\n }\n\n var startDay = currentDate[0],\n endDay = currentDate[1];\n\n if (startDay && !endDay) {\n var compareToStart = compareDay(date, startDay);\n\n if (compareToStart === 1) {\n this.select([startDay, date], true);\n } else if (compareToStart === -1) {\n this.select([date, null]);\n } else if (this.allowSameDay) {\n this.select([date, date], true);\n }\n } else {\n this.select([date, null]);\n }\n } else if (type === 'multiple') {\n if (!currentDate) {\n this.select([date]);\n return;\n }\n\n var selectedIndex;\n var selected = this.currentDate.some(function (dateItem, index) {\n var equal = compareDay(dateItem, date) === 0;\n\n if (equal) {\n selectedIndex = index;\n }\n\n return equal;\n });\n\n if (selected) {\n var _currentDate$splice = currentDate.splice(selectedIndex, 1),\n unselectedDate = _currentDate$splice[0];\n\n this.$emit('unselect', copyDate(unselectedDate));\n } else if (this.maxRange && currentDate.length >= this.maxRange) {\n Toast(this.rangePrompt || t('rangePrompt', this.maxRange));\n } else {\n this.select([].concat(currentDate, [date]));\n }\n } else {\n this.select(date, true);\n }\n },\n togglePopup: function togglePopup(val) {\n this.$emit('input', val);\n },\n select: function select(date, complete) {\n var _this3 = this;\n\n var emit = function emit(date) {\n _this3.currentDate = date;\n\n _this3.$emit('select', copyDates(_this3.currentDate));\n };\n\n if (complete && this.type === 'range') {\n var valid = this.checkRange(date);\n\n if (!valid) {\n // auto selected to max range if showConfirm\n if (this.showConfirm) {\n emit([date[0], getDayByOffset(date[0], this.maxRange - 1)]);\n } else {\n emit(date);\n }\n\n return;\n }\n }\n\n emit(date);\n\n if (complete && !this.showConfirm) {\n this.onConfirm();\n }\n },\n checkRange: function checkRange(date) {\n var maxRange = this.maxRange,\n rangePrompt = this.rangePrompt;\n\n if (maxRange && calcDateNum(date) > maxRange) {\n Toast(rangePrompt || t('rangePrompt', maxRange));\n return false;\n }\n\n return true;\n },\n onConfirm: function onConfirm() {\n this.$emit('confirm', copyDates(this.currentDate));\n },\n genMonth: function genMonth(date, index) {\n var h = this.$createElement;\n var showMonthTitle = index !== 0 || !this.showSubtitle;\n return h(Month, {\n \"ref\": \"months\",\n \"refInFor\": true,\n \"attrs\": {\n \"date\": date,\n \"type\": this.type,\n \"color\": this.color,\n \"minDate\": this.minDate,\n \"maxDate\": this.maxDate,\n \"showMark\": this.showMark,\n \"formatter\": this.formatter,\n \"rowHeight\": this.rowHeight,\n \"lazyRender\": this.lazyRender,\n \"currentDate\": this.currentDate,\n \"showSubtitle\": this.showSubtitle,\n \"allowSameDay\": this.allowSameDay,\n \"showMonthTitle\": showMonthTitle,\n \"firstDayOfWeek\": this.dayOffset\n },\n \"scopedSlots\": {\n 'top-info': this.$scopedSlots['top-info'],\n 'bottom-info': this.$scopedSlots['bottom-info']\n },\n \"on\": {\n \"click\": this.onClickDay\n }\n });\n },\n genFooterContent: function genFooterContent() {\n var h = this.$createElement;\n var slot = this.slots('footer');\n\n if (slot) {\n return slot;\n }\n\n if (this.showConfirm) {\n var text = this.buttonDisabled ? this.confirmDisabledText : this.confirmText;\n return h(Button, {\n \"attrs\": {\n \"round\": true,\n \"block\": true,\n \"type\": \"danger\",\n \"color\": this.color,\n \"disabled\": this.buttonDisabled,\n \"nativeType\": \"button\"\n },\n \"class\": bem('confirm'),\n \"on\": {\n \"click\": this.onConfirm\n }\n }, [text || t('confirm')]);\n }\n },\n genFooter: function genFooter() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": bem('footer', {\n unfit: !this.safeAreaInsetBottom\n })\n }, [this.genFooterContent()]);\n },\n genCalendar: function genCalendar() {\n var _this4 = this;\n\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": bem()\n }, [h(Header, {\n \"attrs\": {\n \"title\": this.title,\n \"showTitle\": this.showTitle,\n \"subtitle\": this.subtitle,\n \"showSubtitle\": this.showSubtitle,\n \"firstDayOfWeek\": this.dayOffset\n },\n \"scopedSlots\": {\n title: function title() {\n return _this4.slots('title');\n }\n }\n }), h(\"div\", {\n \"ref\": \"body\",\n \"class\": bem('body'),\n \"on\": {\n \"scroll\": this.onScroll\n }\n }, [this.months.map(this.genMonth)]), this.genFooter()]);\n }\n },\n render: function render() {\n var _this5 = this;\n\n var h = arguments[0];\n\n if (this.poppable) {\n var _attrs;\n\n var createListener = function createListener(name) {\n return function () {\n return _this5.$emit(name);\n };\n };\n\n return h(Popup, {\n \"attrs\": (_attrs = {\n \"round\": true,\n \"value\": this.value\n }, _attrs[\"round\"] = this.round, _attrs[\"position\"] = this.position, _attrs[\"closeable\"] = this.showTitle || this.showSubtitle, _attrs[\"getContainer\"] = this.getContainer, _attrs[\"closeOnPopstate\"] = this.closeOnPopstate, _attrs[\"closeOnClickOverlay\"] = this.closeOnClickOverlay, _attrs),\n \"class\": bem('popup'),\n \"on\": {\n \"input\": this.togglePopup,\n \"open\": createListener('open'),\n \"opened\": createListener('opened'),\n \"close\": createListener('close'),\n \"closed\": createListener('closed')\n }\n }, [this.genCalendar()]);\n }\n\n return this.genCalendar();\n }\n});","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport { createNamespace, isDef, addUnit, inBrowser } from '../utils';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('image'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n src: String,\n fit: String,\n alt: String,\n round: Boolean,\n width: [Number, String],\n height: [Number, String],\n radius: [Number, String],\n lazyLoad: Boolean,\n iconPrefix: String,\n showError: {\n type: Boolean,\n default: true\n },\n showLoading: {\n type: Boolean,\n default: true\n },\n errorIcon: {\n type: String,\n default: 'photo-fail'\n },\n loadingIcon: {\n type: String,\n default: 'photo'\n }\n },\n data: function data() {\n return {\n loading: true,\n error: false\n };\n },\n watch: {\n src: function src() {\n this.loading = true;\n this.error = false;\n }\n },\n computed: {\n style: function style() {\n var style = {};\n\n if (isDef(this.width)) {\n style.width = addUnit(this.width);\n }\n\n if (isDef(this.height)) {\n style.height = addUnit(this.height);\n }\n\n if (isDef(this.radius)) {\n style.overflow = 'hidden';\n style.borderRadius = addUnit(this.radius);\n }\n\n return style;\n }\n },\n created: function created() {\n var $Lazyload = this.$Lazyload;\n\n if ($Lazyload && inBrowser) {\n $Lazyload.$on('loaded', this.onLazyLoaded);\n $Lazyload.$on('error', this.onLazyLoadError);\n }\n },\n beforeDestroy: function beforeDestroy() {\n var $Lazyload = this.$Lazyload;\n\n if ($Lazyload) {\n $Lazyload.$off('loaded', this.onLazyLoaded);\n $Lazyload.$off('error', this.onLazyLoadError);\n }\n },\n methods: {\n onLoad: function onLoad(event) {\n this.loading = false;\n this.$emit('load', event);\n },\n onLazyLoaded: function onLazyLoaded(_ref) {\n var el = _ref.el;\n\n if (el === this.$refs.image && this.loading) {\n this.onLoad();\n }\n },\n onLazyLoadError: function onLazyLoadError(_ref2) {\n var el = _ref2.el;\n\n if (el === this.$refs.image && !this.error) {\n this.onError();\n }\n },\n onError: function onError(event) {\n this.error = true;\n this.loading = false;\n this.$emit('error', event);\n },\n onClick: function onClick(event) {\n this.$emit('click', event);\n },\n genPlaceholder: function genPlaceholder() {\n var h = this.$createElement;\n\n if (this.loading && this.showLoading) {\n return h(\"div\", {\n \"class\": bem('loading')\n }, [this.slots('loading') || h(Icon, {\n \"attrs\": {\n \"name\": this.loadingIcon,\n \"classPrefix\": this.iconPrefix\n },\n \"class\": bem('loading-icon')\n })]);\n }\n\n if (this.error && this.showError) {\n return h(\"div\", {\n \"class\": bem('error')\n }, [this.slots('error') || h(Icon, {\n \"attrs\": {\n \"name\": this.errorIcon,\n \"classPrefix\": this.iconPrefix\n },\n \"class\": bem('error-icon')\n })]);\n }\n },\n genImage: function genImage() {\n var h = this.$createElement;\n var imgData = {\n class: bem('img'),\n attrs: {\n alt: this.alt\n },\n style: {\n objectFit: this.fit\n }\n };\n\n if (this.error) {\n return;\n }\n\n if (this.lazyLoad) {\n return h(\"img\", _mergeJSXProps([{\n \"ref\": \"image\",\n \"directives\": [{\n name: \"lazy\",\n value: this.src\n }]\n }, imgData]));\n }\n\n return h(\"img\", _mergeJSXProps2([{\n \"attrs\": {\n \"src\": this.src\n },\n \"on\": {\n \"load\": this.onLoad,\n \"error\": this.onError\n }\n }, imgData]));\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem({\n round: this.round\n }),\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genImage(), this.genPlaceholder(), this.slots()]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { emit, inherit } from '../utils/functional'; // Components\n\nimport Tag from '../tag';\nimport Image from '../image'; // Types\n\nvar _createNamespace = createNamespace('card'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Card(h, props, slots, ctx) {\n var _slots$priceTop;\n\n var thumb = props.thumb;\n var showNum = slots.num || isDef(props.num);\n var showPrice = slots.price || isDef(props.price);\n var showOriginPrice = slots['origin-price'] || isDef(props.originPrice);\n var showBottom = showNum || showPrice || showOriginPrice || slots.bottom;\n\n function onThumbClick(event) {\n emit(ctx, 'click-thumb', event);\n }\n\n function ThumbTag() {\n if (slots.tag || props.tag) {\n return h(\"div\", {\n \"class\": bem('tag')\n }, [slots.tag ? slots.tag() : h(Tag, {\n \"attrs\": {\n \"mark\": true,\n \"type\": \"danger\"\n }\n }, [props.tag])]);\n }\n }\n\n function Thumb() {\n if (slots.thumb || thumb) {\n return h(\"a\", {\n \"attrs\": {\n \"href\": props.thumbLink\n },\n \"class\": bem('thumb'),\n \"on\": {\n \"click\": onThumbClick\n }\n }, [slots.thumb ? slots.thumb() : h(Image, {\n \"attrs\": {\n \"src\": thumb,\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"fit\": \"cover\",\n \"lazy-load\": props.lazyLoad\n }\n }), ThumbTag()]);\n }\n }\n\n function Title() {\n if (slots.title) {\n return slots.title();\n }\n\n if (props.title) {\n return h(\"div\", {\n \"class\": [bem('title'), 'van-multi-ellipsis--l2']\n }, [props.title]);\n }\n }\n\n function Desc() {\n if (slots.desc) {\n return slots.desc();\n }\n\n if (props.desc) {\n return h(\"div\", {\n \"class\": [bem('desc'), 'van-ellipsis']\n }, [props.desc]);\n }\n }\n\n function PriceContent() {\n var priceArr = props.price.toString().split('.');\n return h(\"div\", [h(\"span\", {\n \"class\": bem('price-currency')\n }, [props.currency]), h(\"span\", {\n \"class\": bem('price-integer')\n }, [priceArr[0]]), \".\", h(\"span\", {\n \"class\": bem('price-decimal')\n }, [priceArr[1]])]);\n }\n\n function Price() {\n if (showPrice) {\n return h(\"div\", {\n \"class\": bem('price')\n }, [slots.price ? slots.price() : PriceContent()]);\n }\n }\n\n function OriginPrice() {\n if (showOriginPrice) {\n var slot = slots['origin-price'];\n return h(\"div\", {\n \"class\": bem('origin-price')\n }, [slot ? slot() : props.currency + \" \" + props.originPrice]);\n }\n }\n\n function Num() {\n if (showNum) {\n return h(\"div\", {\n \"class\": bem('num')\n }, [slots.num ? slots.num() : \"x\" + props.num]);\n }\n }\n\n function Footer() {\n if (slots.footer) {\n return h(\"div\", {\n \"class\": bem('footer')\n }, [slots.footer()]);\n }\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem()\n }, inherit(ctx, true)]), [h(\"div\", {\n \"class\": bem('header')\n }, [Thumb(), h(\"div\", {\n \"class\": bem('content', {\n centered: props.centered\n })\n }, [h(\"div\", [Title(), Desc(), slots.tags == null ? void 0 : slots.tags()]), showBottom && h(\"div\", {\n \"class\": \"van-card__bottom\"\n }, [(_slots$priceTop = slots['price-top']) == null ? void 0 : _slots$priceTop.call(slots), Price(), OriginPrice(), Num(), slots.bottom == null ? void 0 : slots.bottom()])])]), Footer()]);\n}\n\nCard.props = {\n tag: String,\n desc: String,\n thumb: String,\n title: String,\n centered: Boolean,\n lazyLoad: Boolean,\n thumbLink: String,\n num: [Number, String],\n price: [Number, String],\n originPrice: [Number, String],\n currency: {\n type: String,\n default: '¥'\n }\n};\nexport default createComponent(Card);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\nimport { routeProps } from '../utils/router';\n\nvar _createNamespace = createNamespace('tab'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanTabs')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n name: [Number, String],\n // @deprecated\n info: [Number, String],\n badge: [Number, String],\n title: String,\n titleStyle: null,\n titleClass: null,\n disabled: Boolean\n }),\n data: function data() {\n return {\n inited: false\n };\n },\n computed: {\n computedName: function computedName() {\n var _this$name;\n\n return (_this$name = this.name) != null ? _this$name : this.index;\n },\n isActive: function isActive() {\n var active = this.computedName === this.parent.currentName;\n\n if (active) {\n this.inited = true;\n }\n\n return active;\n }\n },\n watch: {\n title: function title() {\n this.parent.setLine();\n this.parent.scrollIntoView();\n },\n inited: function inited(val) {\n var _this = this;\n\n if (this.parent.lazyRender && val) {\n this.$nextTick(function () {\n _this.parent.$emit('rendered', _this.computedName, _this.title);\n });\n }\n }\n },\n render: function render(h) {\n var slots = this.slots,\n parent = this.parent,\n isActive = this.isActive;\n var slotContent = slots();\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] Tab: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n if (!slotContent && !parent.animated) {\n return;\n }\n\n var show = parent.scrollspy || isActive;\n var shouldRender = this.inited || parent.scrollspy || !parent.lazyRender;\n var Content = shouldRender ? slotContent : h();\n\n if (parent.animated) {\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"tabpanel\",\n \"aria-hidden\": !isActive\n },\n \"class\": bem('pane-wrapper', {\n inactive: !isActive\n })\n }, [h(\"div\", {\n \"class\": bem('pane')\n }, [Content])]);\n }\n\n return h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: show\n }],\n \"attrs\": {\n \"role\": \"tabpanel\"\n },\n \"class\": bem('pane')\n }, [Content]);\n }\n});","import { raf } from '../utils/dom/raf';\nimport { getScrollTop, setScrollTop } from '../utils/dom/scroll';\nexport function scrollLeftTo(scroller, to, duration) {\n var count = 0;\n var from = scroller.scrollLeft;\n var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);\n\n function animate() {\n scroller.scrollLeft += (to - from) / frames;\n\n if (++count < frames) {\n raf(animate);\n }\n }\n\n animate();\n}\nexport function scrollTopTo(scroller, to, duration, callback) {\n var current = getScrollTop(scroller);\n var isDown = current < to;\n var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);\n var step = (to - current) / frames;\n\n function animate() {\n current += step;\n\n if (isDown && current > to || !isDown && current < to) {\n current = to;\n }\n\n setScrollTop(scroller, current);\n\n if (isDown && current < to || !isDown && current > to) {\n raf(animate);\n } else if (callback) {\n raf(callback);\n }\n }\n\n animate();\n}","export function isHidden(el) {\n var style = window.getComputedStyle(el);\n var hidden = style.display === 'none'; // offsetParent returns null in the following situations:\n // 1. The element or its parent element has the display property set to none.\n // 2. The element has the position property set to fixed\n\n var parentHidden = el.offsetParent === null && style.position !== 'fixed';\n return hidden || parentHidden;\n}","import { isPromise, noop } from '.';\nexport function callInterceptor(options) {\n var interceptor = options.interceptor,\n args = options.args,\n done = options.done;\n\n if (interceptor) {\n var returnVal = interceptor.apply(void 0, args);\n\n if (isPromise(returnVal)) {\n returnVal.then(function (value) {\n if (value) {\n done();\n }\n }).catch(noop);\n } else if (returnVal) {\n done();\n }\n } else {\n done();\n }\n}","import { createNamespace, isDef } from '../utils';\nimport Info from '../info';\n\nvar _createNamespace = createNamespace('tab'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n dot: Boolean,\n type: String,\n info: [Number, String],\n color: String,\n title: String,\n isActive: Boolean,\n disabled: Boolean,\n scrollable: Boolean,\n activeColor: String,\n inactiveColor: String\n },\n computed: {\n style: function style() {\n var style = {};\n var color = this.color,\n isActive = this.isActive;\n var isCard = this.type === 'card'; // card theme color\n\n if (color && isCard) {\n style.borderColor = color;\n\n if (!this.disabled) {\n if (isActive) {\n style.backgroundColor = color;\n } else {\n style.color = color;\n }\n }\n }\n\n var titleColor = isActive ? this.activeColor : this.inactiveColor;\n\n if (titleColor) {\n style.color = titleColor;\n }\n\n return style;\n }\n },\n methods: {\n onClick: function onClick() {\n this.$emit('click');\n },\n genText: function genText() {\n var h = this.$createElement;\n var Text = h(\"span\", {\n \"class\": bem('text', {\n ellipsis: !this.scrollable\n })\n }, [this.slots() || this.title]);\n\n if (this.dot || isDef(this.info) && this.info !== '') {\n return h(\"span\", {\n \"class\": bem('text-wrapper')\n }, [Text, h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": this.info\n }\n })]);\n }\n\n return Text;\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"tab\",\n \"aria-selected\": this.isActive\n },\n \"class\": [bem({\n active: this.isActive,\n disabled: this.disabled\n })],\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genText()]);\n }\n});","import { isHidden } from '../utils/dom/style';\nimport { unitToPx } from '../utils/format/unit';\nimport { createNamespace, isDef, isServer } from '../utils';\nimport { getScrollTop, getElementTop, getScroller } from '../utils/dom/scroll';\nimport { BindEventMixin } from '../mixins/bind-event';\n\nvar _createNamespace = createNamespace('sticky'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind, isBind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n if (this.observer) {\n var method = isBind ? 'observe' : 'unobserve';\n this.observer[method](this.$el);\n }\n\n bind(this.scroller, 'scroll', this.onScroll, true);\n this.onScroll();\n })],\n props: {\n zIndex: [Number, String],\n container: null,\n offsetTop: {\n type: [Number, String],\n default: 0\n }\n },\n data: function data() {\n return {\n fixed: false,\n height: 0,\n transform: 0\n };\n },\n computed: {\n offsetTopPx: function offsetTopPx() {\n return unitToPx(this.offsetTop);\n },\n style: function style() {\n if (!this.fixed) {\n return;\n }\n\n var style = {};\n\n if (isDef(this.zIndex)) {\n style.zIndex = this.zIndex;\n }\n\n if (this.offsetTopPx && this.fixed) {\n style.top = this.offsetTopPx + \"px\";\n }\n\n if (this.transform) {\n style.transform = \"translate3d(0, \" + this.transform + \"px, 0)\";\n }\n\n return style;\n }\n },\n watch: {\n fixed: function fixed(isFixed) {\n this.$emit('change', isFixed);\n }\n },\n created: function created() {\n var _this = this;\n\n // compatibility: https://caniuse.com/#feat=intersectionobserver\n if (!isServer && window.IntersectionObserver) {\n this.observer = new IntersectionObserver(function (entries) {\n // trigger scroll when visibility changed\n if (entries[0].intersectionRatio > 0) {\n _this.onScroll();\n }\n }, {\n root: document.body\n });\n }\n },\n methods: {\n onScroll: function onScroll() {\n var _this2 = this;\n\n if (isHidden(this.$el)) {\n return;\n }\n\n this.height = this.$el.offsetHeight;\n var container = this.container,\n offsetTopPx = this.offsetTopPx;\n var scrollTop = getScrollTop(window);\n var topToPageTop = getElementTop(this.$el);\n\n var emitScrollEvent = function emitScrollEvent() {\n _this2.$emit('scroll', {\n scrollTop: scrollTop,\n isFixed: _this2.fixed\n });\n }; // The sticky component should be kept inside the container element\n\n\n if (container) {\n var bottomToPageTop = topToPageTop + container.offsetHeight;\n\n if (scrollTop + offsetTopPx + this.height > bottomToPageTop) {\n var distanceToBottom = this.height + scrollTop - bottomToPageTop;\n\n if (distanceToBottom < this.height) {\n this.fixed = true;\n this.transform = -(distanceToBottom + offsetTopPx);\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n return;\n }\n }\n\n if (scrollTop + offsetTopPx > topToPageTop) {\n this.fixed = true;\n this.transform = 0;\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n }\n },\n render: function render() {\n var h = arguments[0];\n var fixed = this.fixed;\n var style = {\n height: fixed ? this.height + \"px\" : null\n };\n return h(\"div\", {\n \"style\": style\n }, [h(\"div\", {\n \"class\": bem({\n fixed: fixed\n }),\n \"style\": this.style\n }, [this.slots()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { TouchMixin } from '../mixins/touch';\n\nvar _createNamespace = createNamespace('tabs'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar MIN_SWIPE_DISTANCE = 50;\nexport default createComponent({\n mixins: [TouchMixin],\n props: {\n count: Number,\n duration: [Number, String],\n animated: Boolean,\n swipeable: Boolean,\n currentIndex: Number\n },\n computed: {\n style: function style() {\n if (this.animated) {\n return {\n transform: \"translate3d(\" + -1 * this.currentIndex * 100 + \"%, 0, 0)\",\n transitionDuration: this.duration + \"s\"\n };\n }\n },\n listeners: function listeners() {\n if (this.swipeable) {\n return {\n touchstart: this.touchStart,\n touchmove: this.touchMove,\n touchend: this.onTouchEnd,\n touchcancel: this.onTouchEnd\n };\n }\n }\n },\n methods: {\n // watch swipe touch end\n onTouchEnd: function onTouchEnd() {\n var direction = this.direction,\n deltaX = this.deltaX,\n currentIndex = this.currentIndex;\n /* istanbul ignore else */\n\n if (direction === 'horizontal' && this.offsetX >= MIN_SWIPE_DISTANCE) {\n /* istanbul ignore else */\n if (deltaX > 0 && currentIndex !== 0) {\n this.$emit('change', currentIndex - 1);\n } else if (deltaX < 0 && currentIndex !== this.count - 1) {\n this.$emit('change', currentIndex + 1);\n }\n }\n },\n genChildren: function genChildren() {\n var h = this.$createElement;\n\n if (this.animated) {\n return h(\"div\", {\n \"class\": bem('track'),\n \"style\": this.style\n }, [this.slots()]);\n }\n\n return this.slots();\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem('content', {\n animated: this.animated\n }),\n \"on\": _extends({}, this.listeners)\n }, [this.genChildren()]);\n }\n});","// Utils\nimport { createNamespace, isDef, addUnit } from '../utils';\nimport { scrollLeftTo, scrollTopTo } from './utils';\nimport { route } from '../utils/router';\nimport { isHidden } from '../utils/dom/style';\nimport { on, off } from '../utils/dom/event';\nimport { unitToPx } from '../utils/format/unit';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant';\nimport { callInterceptor } from '../utils/interceptor';\nimport { getScroller, getVisibleTop, getElementTop, getVisibleHeight, setRootScrollTop } from '../utils/dom/scroll'; // Mixins\n\nimport { ParentMixin } from '../mixins/relation';\nimport { BindEventMixin } from '../mixins/bind-event'; // Components\n\nimport Title from './Title';\nimport Sticky from '../sticky';\nimport Content from './Content';\n\nvar _createNamespace = createNamespace('tabs'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanTabs'), BindEventMixin(function (bind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n bind(window, 'resize', this.resize, true);\n\n if (this.scrollspy) {\n bind(this.scroller, 'scroll', this.onScroll, true);\n }\n })],\n inject: {\n vanPopup: {\n default: null\n }\n },\n model: {\n prop: 'active'\n },\n props: {\n color: String,\n border: Boolean,\n sticky: Boolean,\n animated: Boolean,\n swipeable: Boolean,\n scrollspy: Boolean,\n background: String,\n lineWidth: [Number, String],\n lineHeight: [Number, String],\n beforeChange: Function,\n titleActiveColor: String,\n titleInactiveColor: String,\n type: {\n type: String,\n default: 'line'\n },\n active: {\n type: [Number, String],\n default: 0\n },\n ellipsis: {\n type: Boolean,\n default: true\n },\n duration: {\n type: [Number, String],\n default: 0.3\n },\n offsetTop: {\n type: [Number, String],\n default: 0\n },\n lazyRender: {\n type: Boolean,\n default: true\n },\n swipeThreshold: {\n type: [Number, String],\n default: 5\n }\n },\n data: function data() {\n return {\n position: '',\n currentIndex: null,\n lineStyle: {\n backgroundColor: this.color\n }\n };\n },\n computed: {\n // whether the nav is scrollable\n scrollable: function scrollable() {\n return this.children.length > this.swipeThreshold || !this.ellipsis;\n },\n navStyle: function navStyle() {\n return {\n borderColor: this.color,\n background: this.background\n };\n },\n currentName: function currentName() {\n var activeTab = this.children[this.currentIndex];\n\n if (activeTab) {\n return activeTab.computedName;\n }\n },\n offsetTopPx: function offsetTopPx() {\n return unitToPx(this.offsetTop);\n },\n scrollOffset: function scrollOffset() {\n if (this.sticky) {\n return this.offsetTopPx + this.tabHeight;\n }\n\n return 0;\n }\n },\n watch: {\n color: 'setLine',\n active: function active(name) {\n if (name !== this.currentName) {\n this.setCurrentIndexByName(name);\n }\n },\n children: function children() {\n var _this = this;\n\n this.setCurrentIndexByName(this.active);\n this.setLine();\n this.$nextTick(function () {\n _this.scrollIntoView(true);\n });\n },\n currentIndex: function currentIndex() {\n this.scrollIntoView();\n this.setLine(); // scroll to correct position\n\n if (this.stickyFixed && !this.scrollspy) {\n setRootScrollTop(Math.ceil(getElementTop(this.$el) - this.offsetTopPx));\n }\n },\n scrollspy: function scrollspy(val) {\n if (val) {\n on(this.scroller, 'scroll', this.onScroll, true);\n } else {\n off(this.scroller, 'scroll', this.onScroll);\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.init(); // https://github.com/vant-ui/vant/issues/7959\n\n if (this.vanPopup) {\n this.vanPopup.onReopen(function () {\n _this2.setLine();\n });\n }\n },\n activated: function activated() {\n this.init();\n this.setLine();\n },\n methods: {\n // @exposed-api\n resize: function resize() {\n this.setLine();\n },\n init: function init() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.inited = true;\n _this3.tabHeight = getVisibleHeight(_this3.$refs.wrap);\n\n _this3.scrollIntoView(true);\n });\n },\n // update nav bar style\n setLine: function setLine() {\n var _this4 = this;\n\n var shouldAnimate = this.inited;\n this.$nextTick(function () {\n var titles = _this4.$refs.titles;\n\n if (!titles || !titles[_this4.currentIndex] || _this4.type !== 'line' || isHidden(_this4.$el)) {\n return;\n }\n\n var title = titles[_this4.currentIndex].$el;\n var lineWidth = _this4.lineWidth,\n lineHeight = _this4.lineHeight;\n var left = title.offsetLeft + title.offsetWidth / 2;\n var lineStyle = {\n width: addUnit(lineWidth),\n backgroundColor: _this4.color,\n transform: \"translateX(\" + left + \"px) translateX(-50%)\"\n };\n\n if (shouldAnimate) {\n lineStyle.transitionDuration = _this4.duration + \"s\";\n }\n\n if (isDef(lineHeight)) {\n var height = addUnit(lineHeight);\n lineStyle.height = height;\n lineStyle.borderRadius = height;\n }\n\n _this4.lineStyle = lineStyle;\n });\n },\n // correct the index of active tab\n setCurrentIndexByName: function setCurrentIndexByName(name) {\n var matched = this.children.filter(function (tab) {\n return tab.computedName === name;\n });\n var defaultIndex = (this.children[0] || {}).index || 0;\n this.setCurrentIndex(matched.length ? matched[0].index : defaultIndex);\n },\n setCurrentIndex: function setCurrentIndex(currentIndex) {\n var newIndex = this.findAvailableTab(currentIndex);\n\n if (!isDef(newIndex)) {\n return;\n }\n\n var newTab = this.children[newIndex];\n var newName = newTab.computedName;\n var shouldEmitChange = this.currentIndex !== null;\n this.currentIndex = newIndex;\n\n if (newName !== this.active) {\n this.$emit('input', newName);\n\n if (shouldEmitChange) {\n this.$emit('change', newName, newTab.title);\n }\n }\n },\n findAvailableTab: function findAvailableTab(index) {\n var diff = index < this.currentIndex ? -1 : 1;\n\n while (index >= 0 && index < this.children.length) {\n if (!this.children[index].disabled) {\n return index;\n }\n\n index += diff;\n }\n },\n // emit event when clicked\n onClick: function onClick(item, index) {\n var _this5 = this;\n\n var _this$children$index = this.children[index],\n title = _this$children$index.title,\n disabled = _this$children$index.disabled,\n computedName = _this$children$index.computedName;\n\n if (disabled) {\n this.$emit('disabled', computedName, title);\n } else {\n callInterceptor({\n interceptor: this.beforeChange,\n args: [computedName],\n done: function done() {\n _this5.setCurrentIndex(index);\n\n _this5.scrollToCurrentContent();\n }\n });\n this.$emit('click', computedName, title);\n route(item.$router, item);\n }\n },\n // scroll active tab into view\n scrollIntoView: function scrollIntoView(immediate) {\n var titles = this.$refs.titles;\n\n if (!this.scrollable || !titles || !titles[this.currentIndex]) {\n return;\n }\n\n var nav = this.$refs.nav;\n var title = titles[this.currentIndex].$el;\n var to = title.offsetLeft - (nav.offsetWidth - title.offsetWidth) / 2;\n scrollLeftTo(nav, to, immediate ? 0 : +this.duration);\n },\n onSticktScroll: function onSticktScroll(params) {\n this.stickyFixed = params.isFixed;\n this.$emit('scroll', params);\n },\n // @exposed-api\n scrollTo: function scrollTo(name) {\n var _this6 = this;\n\n this.$nextTick(function () {\n _this6.setCurrentIndexByName(name);\n\n _this6.scrollToCurrentContent(true);\n });\n },\n scrollToCurrentContent: function scrollToCurrentContent(immediate) {\n var _this7 = this;\n\n if (immediate === void 0) {\n immediate = false;\n }\n\n if (this.scrollspy) {\n var target = this.children[this.currentIndex];\n var el = target == null ? void 0 : target.$el;\n\n if (el) {\n var to = getElementTop(el, this.scroller) - this.scrollOffset;\n this.lockScroll = true;\n scrollTopTo(this.scroller, to, immediate ? 0 : +this.duration, function () {\n _this7.lockScroll = false;\n });\n }\n }\n },\n onScroll: function onScroll() {\n if (this.scrollspy && !this.lockScroll) {\n var index = this.getCurrentIndexOnScroll();\n this.setCurrentIndex(index);\n }\n },\n getCurrentIndexOnScroll: function getCurrentIndexOnScroll() {\n var children = this.children;\n\n for (var index = 0; index < children.length; index++) {\n var top = getVisibleTop(children[index].$el);\n\n if (top > this.scrollOffset) {\n return index === 0 ? 0 : index - 1;\n }\n }\n\n return children.length - 1;\n }\n },\n render: function render() {\n var _this8 = this,\n _ref;\n\n var h = arguments[0];\n var type = this.type,\n animated = this.animated,\n scrollable = this.scrollable;\n var Nav = this.children.map(function (item, index) {\n var _item$badge;\n\n return h(Title, {\n \"ref\": \"titles\",\n \"refInFor\": true,\n \"attrs\": {\n \"type\": type,\n \"dot\": item.dot,\n \"info\": (_item$badge = item.badge) != null ? _item$badge : item.info,\n \"title\": item.title,\n \"color\": _this8.color,\n \"isActive\": index === _this8.currentIndex,\n \"disabled\": item.disabled,\n \"scrollable\": scrollable,\n \"activeColor\": _this8.titleActiveColor,\n \"inactiveColor\": _this8.titleInactiveColor\n },\n \"style\": item.titleStyle,\n \"class\": item.titleClass,\n \"scopedSlots\": {\n default: function _default() {\n return item.slots('title');\n }\n },\n \"on\": {\n \"click\": function click() {\n _this8.onClick(item, index);\n }\n }\n });\n });\n var Wrap = h(\"div\", {\n \"ref\": \"wrap\",\n \"class\": [bem('wrap', {\n scrollable: scrollable\n }), (_ref = {}, _ref[BORDER_TOP_BOTTOM] = type === 'line' && this.border, _ref)]\n }, [h(\"div\", {\n \"ref\": \"nav\",\n \"attrs\": {\n \"role\": \"tablist\"\n },\n \"class\": bem('nav', [type, {\n complete: this.scrollable\n }]),\n \"style\": this.navStyle\n }, [this.slots('nav-left'), Nav, type === 'line' && h(\"div\", {\n \"class\": bem('line'),\n \"style\": this.lineStyle\n }), this.slots('nav-right')])]);\n return h(\"div\", {\n \"class\": bem([type])\n }, [this.sticky ? h(Sticky, {\n \"attrs\": {\n \"container\": this.$el,\n \"offsetTop\": this.offsetTop\n },\n \"on\": {\n \"scroll\": this.onSticktScroll\n }\n }, [Wrap]) : Wrap, h(Content, {\n \"attrs\": {\n \"count\": this.children.length,\n \"animated\": animated,\n \"duration\": this.duration,\n \"swipeable\": this.swipeable,\n \"currentIndex\": this.currentIndex\n },\n \"on\": {\n \"change\": this.setCurrentIndex\n }\n }, [this.slots()])]);\n }\n});","import { createNamespace } from '../utils';\nimport Tab from '../tab';\nimport Tabs from '../tabs';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('cascader'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n props: {\n title: String,\n value: [Number, String],\n fieldNames: Object,\n placeholder: String,\n activeColor: String,\n options: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n closeable: {\n type: Boolean,\n default: true\n },\n showHeader: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n tabs: [],\n activeTab: 0\n };\n },\n computed: {\n textKey: function textKey() {\n var _this$fieldNames;\n\n return ((_this$fieldNames = this.fieldNames) == null ? void 0 : _this$fieldNames.text) || 'text';\n },\n valueKey: function valueKey() {\n var _this$fieldNames2;\n\n return ((_this$fieldNames2 = this.fieldNames) == null ? void 0 : _this$fieldNames2.value) || 'value';\n },\n childrenKey: function childrenKey() {\n var _this$fieldNames3;\n\n return ((_this$fieldNames3 = this.fieldNames) == null ? void 0 : _this$fieldNames3.children) || 'children';\n }\n },\n watch: {\n options: {\n deep: true,\n handler: 'updateTabs'\n },\n value: function value(_value) {\n var _this = this;\n\n if (_value || _value === 0) {\n var values = this.tabs.map(function (tab) {\n var _tab$selectedOption;\n\n return (_tab$selectedOption = tab.selectedOption) == null ? void 0 : _tab$selectedOption[_this.valueKey];\n });\n\n if (values.indexOf(_value) !== -1) {\n return;\n }\n }\n\n this.updateTabs();\n }\n },\n created: function created() {\n this.updateTabs();\n },\n methods: {\n getSelectedOptionsByValue: function getSelectedOptionsByValue(options, value) {\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option[this.valueKey] === value) {\n return [option];\n }\n\n if (option[this.childrenKey]) {\n var selectedOptions = this.getSelectedOptionsByValue(option[this.childrenKey], value);\n\n if (selectedOptions) {\n return [option].concat(selectedOptions);\n }\n }\n }\n },\n updateTabs: function updateTabs() {\n var _this2 = this;\n\n if (this.value || this.value === 0) {\n var selectedOptions = this.getSelectedOptionsByValue(this.options, this.value);\n\n if (selectedOptions) {\n var optionsCursor = this.options;\n this.tabs = selectedOptions.map(function (option) {\n var tab = {\n options: optionsCursor,\n selectedOption: option\n };\n var next = optionsCursor.filter(function (item) {\n return item[_this2.valueKey] === option[_this2.valueKey];\n });\n\n if (next.length) {\n optionsCursor = next[0][_this2.childrenKey];\n }\n\n return tab;\n });\n\n if (optionsCursor) {\n this.tabs.push({\n options: optionsCursor,\n selectedOption: null\n });\n }\n\n this.$nextTick(function () {\n _this2.activeTab = _this2.tabs.length - 1;\n });\n return;\n }\n }\n\n this.tabs = [{\n options: this.options,\n selectedOption: null\n }];\n },\n onSelect: function onSelect(option, tabIndex) {\n var _this3 = this;\n\n this.tabs[tabIndex].selectedOption = option;\n\n if (this.tabs.length > tabIndex + 1) {\n this.tabs = this.tabs.slice(0, tabIndex + 1);\n }\n\n if (option[this.childrenKey]) {\n var nextTab = {\n options: option[this.childrenKey],\n selectedOption: null\n };\n\n if (this.tabs[tabIndex + 1]) {\n this.$set(this.tabs, tabIndex + 1, nextTab);\n } else {\n this.tabs.push(nextTab);\n }\n\n this.$nextTick(function () {\n _this3.activeTab++;\n });\n }\n\n var selectedOptions = this.tabs.map(function (tab) {\n return tab.selectedOption;\n }).filter(function (item) {\n return !!item;\n });\n var eventParams = {\n value: option[this.valueKey],\n tabIndex: tabIndex,\n selectedOptions: selectedOptions\n };\n this.$emit('input', option[this.valueKey]);\n this.$emit('change', eventParams);\n\n if (!option[this.childrenKey]) {\n this.$emit('finish', eventParams);\n }\n },\n onClose: function onClose() {\n this.$emit('close');\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n\n if (this.showHeader) {\n return h(\"div\", {\n \"class\": bem('header')\n }, [h(\"h2\", {\n \"class\": bem('title')\n }, [this.slots('title') || this.title]), this.closeable ? h(Icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": bem('close-icon'),\n \"on\": {\n \"click\": this.onClose\n }\n }) : null]);\n }\n },\n renderOptions: function renderOptions(options, selectedOption, tabIndex) {\n var _this4 = this;\n\n var h = this.$createElement;\n\n var renderOption = function renderOption(option) {\n var isSelected = selectedOption && option[_this4.valueKey] === selectedOption[_this4.valueKey];\n var Text = _this4.slots('option', {\n option: option,\n selected: isSelected\n }) || h(\"span\", [option[_this4.textKey]]);\n return h(\"li\", {\n \"class\": bem('option', {\n selected: isSelected\n }),\n \"style\": {\n color: isSelected ? _this4.activeColor : null\n },\n \"on\": {\n \"click\": function click() {\n _this4.onSelect(option, tabIndex);\n }\n }\n }, [Text, isSelected ? h(Icon, {\n \"attrs\": {\n \"name\": \"success\"\n },\n \"class\": bem('selected-icon')\n }) : null]);\n };\n\n return h(\"ul\", {\n \"class\": bem('options')\n }, [options.map(renderOption)]);\n },\n renderTab: function renderTab(item, tabIndex) {\n var h = this.$createElement;\n var options = item.options,\n selectedOption = item.selectedOption;\n var title = selectedOption ? selectedOption[this.textKey] : this.placeholder || t('select');\n return h(Tab, {\n \"attrs\": {\n \"title\": title,\n \"titleClass\": bem('tab', {\n unselected: !selectedOption\n })\n }\n }, [this.renderOptions(options, selectedOption, tabIndex)]);\n },\n renderTabs: function renderTabs() {\n var _this5 = this;\n\n var h = this.$createElement;\n return h(Tabs, {\n \"attrs\": {\n \"animated\": true,\n \"swipeable\": true,\n \"swipeThreshold\": 0,\n \"color\": this.activeColor\n },\n \"class\": bem('tabs'),\n \"model\": {\n value: _this5.activeTab,\n callback: function callback($$v) {\n _this5.activeTab = $$v;\n }\n }\n }, [this.tabs.map(this.renderTab)]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.renderHeader(), this.renderTabs()]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit } from '../utils/functional';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant'; // Types\n\nvar _createNamespace = createNamespace('cell-group'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction CellGroup(h, props, slots, ctx) {\n var _ref;\n\n var Group = h(\"div\", _mergeJSXProps([{\n \"class\": [bem({\n inset: props.inset\n }), (_ref = {}, _ref[BORDER_TOP_BOTTOM] = props.border, _ref)]\n }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default()]);\n\n if (props.title || slots.title) {\n return h(\"div\", {\n \"key\": ctx.data.key\n }, [h(\"div\", {\n \"class\": bem('title', {\n inset: props.inset\n })\n }, [slots.title ? slots.title() : props.title]), Group]);\n }\n\n return Group;\n}\n\nCellGroup.props = {\n title: String,\n inset: Boolean,\n border: {\n type: Boolean,\n default: true\n }\n};\nexport default createComponent(CellGroup);","import { createNamespace } from '../utils';\nimport { CheckboxMixin } from '../mixins/checkbox';\n\nvar _createNamespace = createNamespace('checkbox'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [CheckboxMixin({\n bem: bem,\n role: 'checkbox',\n parent: 'vanCheckbox'\n })],\n computed: {\n checked: {\n get: function get() {\n if (this.parent) {\n return this.parent.value.indexOf(this.name) !== -1;\n }\n\n return this.value;\n },\n set: function set(val) {\n if (this.parent) {\n this.setParentValue(val);\n } else {\n this.$emit('input', val);\n }\n }\n }\n },\n watch: {\n value: function value(val) {\n this.$emit('change', val);\n }\n },\n methods: {\n // @exposed-api\n toggle: function toggle(checked) {\n var _this = this;\n\n if (checked === void 0) {\n checked = !this.checked;\n }\n\n // When toggle method is called multiple times at the same time,\n // only the last call is valid.\n // This is a hack for usage inside Cell.\n clearTimeout(this.toggleTask);\n this.toggleTask = setTimeout(function () {\n _this.checked = checked;\n });\n },\n setParentValue: function setParentValue(val) {\n var parent = this.parent;\n var value = parent.value.slice();\n\n if (val) {\n if (parent.max && value.length >= parent.max) {\n return;\n }\n /* istanbul ignore else */\n\n\n if (value.indexOf(this.name) === -1) {\n value.push(this.name);\n parent.$emit('input', value);\n }\n } else {\n var index = value.indexOf(this.name);\n /* istanbul ignore else */\n\n if (index !== -1) {\n value.splice(index, 1);\n parent.$emit('input', value);\n }\n }\n }\n }\n});","import { createNamespace } from '../utils';\nimport { FieldMixin } from '../mixins/field';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('checkbox-group'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanCheckbox'), FieldMixin],\n props: {\n max: [Number, String],\n disabled: Boolean,\n direction: String,\n iconSize: [Number, String],\n checkedColor: String,\n value: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n watch: {\n value: function value(val) {\n this.$emit('change', val);\n }\n },\n methods: {\n // @exposed-api\n toggleAll: function toggleAll(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === 'boolean') {\n options = {\n checked: options\n };\n }\n\n var _options = options,\n checked = _options.checked,\n skipDisabled = _options.skipDisabled;\n var children = this.children.filter(function (item) {\n if (item.disabled && skipDisabled) {\n return item.checked;\n }\n\n return checked != null ? checked : !item.checked;\n });\n var names = children.map(function (item) {\n return item.name;\n });\n this.$emit('input', names);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem([this.direction])\n }, [this.slots()]);\n }\n});","import { createNamespace, isObject, addUnit } from '../utils';\nimport { raf, cancelRaf } from '../utils/dom/raf';\n\nvar _createNamespace = createNamespace('circle'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar PERIMETER = 3140;\nvar uid = 0;\n\nfunction format(rate) {\n return Math.min(Math.max(rate, 0), 100);\n}\n\nfunction getPath(clockwise, viewBoxSize) {\n var sweepFlag = clockwise ? 1 : 0;\n return \"M \" + viewBoxSize / 2 + \" \" + viewBoxSize / 2 + \" m 0, -500 a 500, 500 0 1, \" + sweepFlag + \" 0, 1000 a 500, 500 0 1, \" + sweepFlag + \" 0, -1000\";\n}\n\nexport default createComponent({\n props: {\n text: String,\n size: [Number, String],\n color: [String, Object],\n layerColor: String,\n strokeLinecap: String,\n value: {\n type: Number,\n default: 0\n },\n speed: {\n type: [Number, String],\n default: 0\n },\n fill: {\n type: String,\n default: 'none'\n },\n rate: {\n type: [Number, String],\n default: 100\n },\n strokeWidth: {\n type: [Number, String],\n default: 40\n },\n clockwise: {\n type: Boolean,\n default: true\n }\n },\n beforeCreate: function beforeCreate() {\n this.uid = \"van-circle-gradient-\" + uid++;\n },\n computed: {\n style: function style() {\n var size = addUnit(this.size);\n return {\n width: size,\n height: size\n };\n },\n path: function path() {\n return getPath(this.clockwise, this.viewBoxSize);\n },\n viewBoxSize: function viewBoxSize() {\n return +this.strokeWidth + 1000;\n },\n layerStyle: function layerStyle() {\n return {\n fill: \"\" + this.fill,\n stroke: \"\" + this.layerColor,\n strokeWidth: this.strokeWidth + \"px\"\n };\n },\n hoverStyle: function hoverStyle() {\n var offset = PERIMETER * this.value / 100;\n return {\n stroke: \"\" + (this.gradient ? \"url(#\" + this.uid + \")\" : this.color),\n strokeWidth: +this.strokeWidth + 1 + \"px\",\n strokeLinecap: this.strokeLinecap,\n strokeDasharray: offset + \"px \" + PERIMETER + \"px\"\n };\n },\n gradient: function gradient() {\n return isObject(this.color);\n },\n LinearGradient: function LinearGradient() {\n var _this = this;\n\n var h = this.$createElement;\n\n if (!this.gradient) {\n return;\n }\n\n var Stops = Object.keys(this.color).sort(function (a, b) {\n return parseFloat(a) - parseFloat(b);\n }).map(function (key, index) {\n return h(\"stop\", {\n \"key\": index,\n \"attrs\": {\n \"offset\": key,\n \"stop-color\": _this.color[key]\n }\n });\n });\n return h(\"defs\", [h(\"linearGradient\", {\n \"attrs\": {\n \"id\": this.uid,\n \"x1\": \"100%\",\n \"y1\": \"0%\",\n \"x2\": \"0%\",\n \"y2\": \"0%\"\n }\n }, [Stops])]);\n }\n },\n watch: {\n rate: {\n handler: function handler(rate) {\n this.startTime = Date.now();\n this.startRate = this.value;\n this.endRate = format(rate);\n this.increase = this.endRate > this.startRate;\n this.duration = Math.abs((this.startRate - this.endRate) * 1000 / this.speed);\n\n if (this.speed) {\n cancelRaf(this.rafId);\n this.rafId = raf(this.animate);\n } else {\n this.$emit('input', this.endRate);\n }\n },\n immediate: true\n }\n },\n methods: {\n animate: function animate() {\n var now = Date.now();\n var progress = Math.min((now - this.startTime) / this.duration, 1);\n var rate = progress * (this.endRate - this.startRate) + this.startRate;\n this.$emit('input', format(parseFloat(rate.toFixed(1))));\n\n if (this.increase ? rate < this.endRate : rate > this.endRate) {\n this.rafId = raf(this.animate);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem(),\n \"style\": this.style\n }, [h(\"svg\", {\n \"attrs\": {\n \"viewBox\": \"0 0 \" + this.viewBoxSize + \" \" + this.viewBoxSize\n }\n }, [this.LinearGradient, h(\"path\", {\n \"class\": bem('layer'),\n \"style\": this.layerStyle,\n \"attrs\": {\n \"d\": this.path\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": this.path\n },\n \"class\": bem('hover'),\n \"style\": this.hoverStyle\n })]), this.slots() || this.text && h(\"div\", {\n \"class\": bem('text')\n }, [this.text])]);\n }\n});","import { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('col'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanRow')],\n props: {\n span: [Number, String],\n offset: [Number, String],\n tag: {\n type: String,\n default: 'div'\n }\n },\n computed: {\n style: function style() {\n var index = this.index;\n\n var _ref = this.parent || {},\n spaces = _ref.spaces;\n\n if (spaces && spaces[index]) {\n var _spaces$index = spaces[index],\n left = _spaces$index.left,\n right = _spaces$index.right;\n return {\n paddingLeft: left ? left + \"px\" : null,\n paddingRight: right ? right + \"px\" : null\n };\n }\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n var span = this.span,\n offset = this.offset;\n return h(this.tag, {\n \"style\": this.style,\n \"class\": bem((_bem = {}, _bem[span] = span, _bem[\"offset-\" + offset] = offset, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots()]);\n }\n});","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant';\n\nvar _createNamespace = createNamespace('collapse'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanCollapse')],\n props: {\n accordion: Boolean,\n value: [String, Number, Array],\n border: {\n type: Boolean,\n default: true\n }\n },\n methods: {\n switch: function _switch(name, expanded) {\n if (!this.accordion) {\n name = expanded ? this.value.concat(name) : this.value.filter(function (activeName) {\n return activeName !== name;\n });\n }\n\n this.$emit('change', name);\n this.$emit('input', name);\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n return h(\"div\", {\n \"class\": [bem(), (_ref = {}, _ref[BORDER_TOP_BOTTOM] = this.border, _ref)]\n }, [this.slots()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { raf, doubleRaf } from '../utils/dom/raf'; // Mixins\n\nimport { ChildrenMixin } from '../mixins/relation'; // Components\n\nimport Cell from '../cell';\nimport { cellProps } from '../cell/shared';\n\nvar _createNamespace = createNamespace('collapse-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar CELL_SLOTS = ['title', 'icon', 'right-icon'];\nexport default createComponent({\n mixins: [ChildrenMixin('vanCollapse')],\n props: _extends({}, cellProps, {\n name: [Number, String],\n disabled: Boolean,\n lazyRender: {\n type: Boolean,\n default: true\n },\n isLink: {\n type: Boolean,\n default: true\n }\n }),\n data: function data() {\n return {\n show: null,\n inited: null\n };\n },\n computed: {\n currentName: function currentName() {\n var _this$name;\n\n return (_this$name = this.name) != null ? _this$name : this.index;\n },\n expanded: function expanded() {\n var _this = this;\n\n if (!this.parent) {\n return null;\n }\n\n var _this$parent = this.parent,\n value = _this$parent.value,\n accordion = _this$parent.accordion;\n\n if (process.env.NODE_ENV === 'development' && !accordion && !Array.isArray(value)) {\n console.error('[Vant] Collapse: type of prop \"value\" should be Array');\n return;\n }\n\n return accordion ? value === this.currentName : value.some(function (name) {\n return name === _this.currentName;\n });\n }\n },\n created: function created() {\n this.show = this.expanded;\n this.inited = this.expanded;\n },\n watch: {\n expanded: function expanded(_expanded, prev) {\n var _this2 = this;\n\n if (prev === null) {\n return;\n }\n\n if (_expanded) {\n this.show = true;\n this.inited = true;\n } // Use raf: flick when opened in safari\n // Use nextTick: closing animation failed when set `user-select: none`\n\n\n var nextTick = _expanded ? this.$nextTick : raf;\n nextTick(function () {\n var _this2$$refs = _this2.$refs,\n content = _this2$$refs.content,\n wrapper = _this2$$refs.wrapper;\n\n if (!content || !wrapper) {\n return;\n }\n\n var offsetHeight = content.offsetHeight;\n\n if (offsetHeight) {\n var contentHeight = offsetHeight + \"px\";\n wrapper.style.height = _expanded ? 0 : contentHeight; // use double raf to ensure animation can start\n\n doubleRaf(function () {\n wrapper.style.height = _expanded ? contentHeight : 0;\n });\n } else {\n _this2.onTransitionEnd();\n }\n });\n }\n },\n methods: {\n onClick: function onClick() {\n if (!this.disabled) {\n this.toggle();\n }\n },\n // @exposed-api\n toggle: function toggle(expanded) {\n if (expanded === void 0) {\n expanded = !this.expanded;\n }\n\n var parent = this.parent,\n currentName = this.currentName;\n var close = parent.accordion && currentName === parent.value;\n var name = close ? '' : currentName;\n this.parent.switch(name, expanded);\n },\n onTransitionEnd: function onTransitionEnd() {\n if (!this.expanded) {\n this.show = false;\n } else {\n this.$refs.wrapper.style.height = '';\n }\n },\n genTitle: function genTitle() {\n var _this3 = this;\n\n var h = this.$createElement;\n var border = this.border,\n disabled = this.disabled,\n expanded = this.expanded;\n var titleSlots = CELL_SLOTS.reduce(function (slots, name) {\n if (_this3.slots(name)) {\n slots[name] = function () {\n return _this3.slots(name);\n };\n }\n\n return slots;\n }, {});\n\n if (this.slots('value')) {\n titleSlots.default = function () {\n return _this3.slots('value');\n };\n }\n\n return h(Cell, {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": disabled ? -1 : 0,\n \"aria-expanded\": String(expanded)\n },\n \"class\": bem('title', {\n disabled: disabled,\n expanded: expanded,\n borderless: !border\n }),\n \"on\": {\n \"click\": this.onClick\n },\n \"scopedSlots\": titleSlots,\n \"props\": _extends({}, this.$props)\n });\n },\n genContent: function genContent() {\n var h = this.$createElement;\n\n if (this.inited || !this.lazyRender) {\n return h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.show\n }],\n \"ref\": \"wrapper\",\n \"class\": bem('wrapper'),\n \"on\": {\n \"transitionend\": this.onTransitionEnd\n }\n }, [h(\"div\", {\n \"ref\": \"content\",\n \"class\": bem('content')\n }, [this.slots()])]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": [bem({\n border: this.index && this.border\n })]\n }, [this.genTitle(), this.genContent()]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { emit, inherit } from '../utils/functional'; // Components\n\nimport Cell from '../cell'; // Types\n\nvar _createNamespace = createNamespace('contact-card'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction ContactCard(h, props, slots, ctx) {\n var type = props.type,\n editable = props.editable;\n\n function onClick(event) {\n if (editable) {\n emit(ctx, 'click', event);\n }\n }\n\n function Content() {\n if (type === 'add') {\n return props.addText || t('addText');\n }\n\n return [h(\"div\", [t('name') + \"\\uFF1A\" + props.name]), h(\"div\", [t('tel') + \"\\uFF1A\" + props.tel])];\n }\n\n return h(Cell, _mergeJSXProps([{\n \"attrs\": {\n \"center\": true,\n \"border\": false,\n \"isLink\": editable,\n \"valueClass\": bem('value'),\n \"icon\": type === 'edit' ? 'contact' : 'add-square'\n },\n \"class\": bem([type]),\n \"on\": {\n \"click\": onClick\n }\n }, inherit(ctx)]), [Content()]);\n}\n\nContactCard.props = {\n tel: String,\n name: String,\n addText: String,\n editable: {\n type: Boolean,\n default: true\n },\n type: {\n type: String,\n default: 'add'\n }\n};\nexport default createComponent(ContactCard);","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { isMobile } from '../utils/validate/mobile'; // Components\n\nimport Cell from '../cell';\nimport Field from '../field';\nimport Button from '../button';\nimport Dialog from '../dialog';\nimport Switch from '../switch';\n\nvar _createNamespace = createNamespace('contact-edit'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nvar defaultContact = {\n tel: '',\n name: ''\n};\nexport default createComponent({\n props: {\n isEdit: Boolean,\n isSaving: Boolean,\n isDeleting: Boolean,\n showSetDefault: Boolean,\n setDefaultLabel: String,\n contactInfo: {\n type: Object,\n default: function _default() {\n return _extends({}, defaultContact);\n }\n },\n telValidator: {\n type: Function,\n default: isMobile\n }\n },\n data: function data() {\n return {\n data: _extends({}, defaultContact, this.contactInfo),\n errorInfo: {\n name: '',\n tel: ''\n }\n };\n },\n watch: {\n contactInfo: function contactInfo(val) {\n this.data = _extends({}, defaultContact, val);\n }\n },\n methods: {\n onFocus: function onFocus(key) {\n this.errorInfo[key] = '';\n },\n getErrorMessageByKey: function getErrorMessageByKey(key) {\n var value = this.data[key].trim();\n\n switch (key) {\n case 'name':\n return value ? '' : t('nameInvalid');\n\n case 'tel':\n return this.telValidator(value) ? '' : t('telInvalid');\n }\n },\n onSave: function onSave() {\n var _this = this;\n\n var isValid = ['name', 'tel'].every(function (item) {\n var msg = _this.getErrorMessageByKey(item);\n\n if (msg) {\n _this.errorInfo[item] = msg;\n }\n\n return !msg;\n });\n\n if (isValid && !this.isSaving) {\n this.$emit('save', this.data);\n }\n },\n onDelete: function onDelete() {\n var _this2 = this;\n\n Dialog.confirm({\n title: t('confirmDelete')\n }).then(function () {\n _this2.$emit('delete', _this2.data);\n });\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n var data = this.data,\n errorInfo = this.errorInfo;\n\n var onFocus = function onFocus(name) {\n return function () {\n return _this3.onFocus(name);\n };\n };\n\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"class\": bem('fields')\n }, [h(Field, {\n \"attrs\": {\n \"clearable\": true,\n \"maxlength\": \"30\",\n \"label\": t('name'),\n \"placeholder\": t('nameEmpty'),\n \"errorMessage\": errorInfo.name\n },\n \"on\": {\n \"focus\": onFocus('name')\n },\n \"model\": {\n value: data.name,\n callback: function callback($$v) {\n _this3.$set(data, \"name\", $$v);\n }\n }\n }), h(Field, {\n \"attrs\": {\n \"clearable\": true,\n \"type\": \"tel\",\n \"label\": t('tel'),\n \"placeholder\": t('telEmpty'),\n \"errorMessage\": errorInfo.tel\n },\n \"on\": {\n \"focus\": onFocus('tel')\n },\n \"model\": {\n value: data.tel,\n callback: function callback($$v) {\n _this3.$set(data, \"tel\", $$v);\n }\n }\n })]), this.showSetDefault && h(Cell, {\n \"attrs\": {\n \"title\": this.setDefaultLabel,\n \"border\": false\n },\n \"class\": bem('switch-cell')\n }, [h(Switch, {\n \"attrs\": {\n \"size\": 24\n },\n \"slot\": \"right-icon\",\n \"on\": {\n \"change\": function change(event) {\n _this3.$emit('change-default', event);\n }\n },\n \"model\": {\n value: data.isDefault,\n callback: function callback($$v) {\n _this3.$set(data, \"isDefault\", $$v);\n }\n }\n })]), h(\"div\", {\n \"class\": bem('buttons')\n }, [h(Button, {\n \"attrs\": {\n \"block\": true,\n \"round\": true,\n \"type\": \"danger\",\n \"text\": t('save'),\n \"loading\": this.isSaving\n },\n \"on\": {\n \"click\": this.onSave\n }\n }), this.isEdit && h(Button, {\n \"attrs\": {\n \"block\": true,\n \"round\": true,\n \"text\": t('delete'),\n \"loading\": this.isDeleting\n },\n \"on\": {\n \"click\": this.onDelete\n }\n })])]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { RED } from '../utils/constant';\nimport { emit, inherit } from '../utils/functional'; // Components\n\nimport Tag from '../tag';\nimport Icon from '../icon';\nimport Cell from '../cell';\nimport Radio from '../radio';\nimport Button from '../button';\nimport RadioGroup from '../radio-group'; // Types\n\nvar _createNamespace = createNamespace('contact-list'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction ContactList(h, props, slots, ctx) {\n var List = props.list && props.list.map(function (item, index) {\n function onClick() {\n emit(ctx, 'input', item.id);\n emit(ctx, 'select', item, index);\n }\n\n function RightIcon() {\n return h(Radio, {\n \"attrs\": {\n \"name\": item.id,\n \"iconSize\": 16,\n \"checkedColor\": RED\n },\n \"on\": {\n \"click\": onClick\n }\n });\n }\n\n function LeftIcon() {\n return h(Icon, {\n \"attrs\": {\n \"name\": \"edit\"\n },\n \"class\": bem('edit'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n emit(ctx, 'edit', item, index);\n }\n }\n });\n }\n\n function Content() {\n var nodes = [item.name + \"\\uFF0C\" + item.tel];\n\n if (item.isDefault && props.defaultTagText) {\n nodes.push(h(Tag, {\n \"attrs\": {\n \"type\": \"danger\",\n \"round\": true\n },\n \"class\": bem('item-tag')\n }, [props.defaultTagText]));\n }\n\n return nodes;\n }\n\n return h(Cell, {\n \"key\": item.id,\n \"attrs\": {\n \"isLink\": true,\n \"center\": true,\n \"valueClass\": bem('item-value')\n },\n \"class\": bem('item'),\n \"scopedSlots\": {\n icon: LeftIcon,\n default: Content,\n 'right-icon': RightIcon\n },\n \"on\": {\n \"click\": onClick\n }\n });\n });\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem()\n }, inherit(ctx)]), [h(RadioGroup, {\n \"attrs\": {\n \"value\": props.value\n },\n \"class\": bem('group')\n }, [List]), h(\"div\", {\n \"class\": bem('bottom')\n }, [h(Button, {\n \"attrs\": {\n \"round\": true,\n \"block\": true,\n \"type\": \"danger\",\n \"text\": props.addText || t('addText')\n },\n \"class\": bem('add'),\n \"on\": {\n \"click\": function click() {\n emit(ctx, 'add');\n }\n }\n })])]);\n}\n\nContactList.props = {\n value: null,\n list: Array,\n addText: String,\n defaultTagText: String\n};\nexport default createComponent(ContactList);","import { padZero } from '../utils/format/string';\nvar SECOND = 1000;\nvar MINUTE = 60 * SECOND;\nvar HOUR = 60 * MINUTE;\nvar DAY = 24 * HOUR;\nexport function parseTimeData(time) {\n var days = Math.floor(time / DAY);\n var hours = Math.floor(time % DAY / HOUR);\n var minutes = Math.floor(time % HOUR / MINUTE);\n var seconds = Math.floor(time % MINUTE / SECOND);\n var milliseconds = Math.floor(time % SECOND);\n return {\n days: days,\n hours: hours,\n minutes: minutes,\n seconds: seconds,\n milliseconds: milliseconds\n };\n}\nexport function parseFormat(format, timeData) {\n var days = timeData.days;\n var hours = timeData.hours,\n minutes = timeData.minutes,\n seconds = timeData.seconds,\n milliseconds = timeData.milliseconds;\n\n if (format.indexOf('DD') === -1) {\n hours += days * 24;\n } else {\n format = format.replace('DD', padZero(days));\n }\n\n if (format.indexOf('HH') === -1) {\n minutes += hours * 60;\n } else {\n format = format.replace('HH', padZero(hours));\n }\n\n if (format.indexOf('mm') === -1) {\n seconds += minutes * 60;\n } else {\n format = format.replace('mm', padZero(minutes));\n }\n\n if (format.indexOf('ss') === -1) {\n milliseconds += seconds * 1000;\n } else {\n format = format.replace('ss', padZero(seconds));\n }\n\n if (format.indexOf('S') !== -1) {\n var ms = padZero(milliseconds, 3);\n\n if (format.indexOf('SSS') !== -1) {\n format = format.replace('SSS', ms);\n } else if (format.indexOf('SS') !== -1) {\n format = format.replace('SS', ms.slice(0, 2));\n } else {\n format = format.replace('S', ms.charAt(0));\n }\n }\n\n return format;\n}\nexport function isSameSecond(time1, time2) {\n return Math.floor(time1 / 1000) === Math.floor(time2 / 1000);\n}","import { createNamespace, inBrowser } from '../utils';\nimport { raf, cancelRaf } from '../utils/dom/raf';\nimport { isSameSecond, parseTimeData, parseFormat } from './utils';\n\nvar _createNamespace = createNamespace('count-down'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n millisecond: Boolean,\n time: {\n type: [Number, String],\n default: 0\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n autoStart: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n remain: 0\n };\n },\n computed: {\n timeData: function timeData() {\n return parseTimeData(this.remain);\n },\n formattedTime: function formattedTime() {\n return parseFormat(this.format, this.timeData);\n }\n },\n watch: {\n time: {\n immediate: true,\n handler: 'reset'\n }\n },\n activated: function activated() {\n if (this.keepAlivePaused) {\n this.counting = true;\n this.keepAlivePaused = false;\n this.tick();\n }\n },\n deactivated: function deactivated() {\n if (this.counting) {\n this.pause();\n this.keepAlivePaused = true;\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.pause();\n },\n methods: {\n // @exposed-api\n start: function start() {\n if (this.counting) {\n return;\n }\n\n this.counting = true;\n this.endTime = Date.now() + this.remain;\n this.tick();\n },\n // @exposed-api\n pause: function pause() {\n this.counting = false;\n cancelRaf(this.rafId);\n },\n // @exposed-api\n reset: function reset() {\n this.pause();\n this.remain = +this.time;\n\n if (this.autoStart) {\n this.start();\n }\n },\n tick: function tick() {\n // should not start counting in server\n // see: https://github.com/vant-ui/vant/issues/7807\n if (!inBrowser) {\n return;\n }\n\n if (this.millisecond) {\n this.microTick();\n } else {\n this.macroTick();\n }\n },\n microTick: function microTick() {\n var _this = this;\n\n this.rafId = raf(function () {\n /* istanbul ignore if */\n // in case of call reset immediately after finish\n if (!_this.counting) {\n return;\n }\n\n _this.setRemain(_this.getRemain());\n\n if (_this.remain > 0) {\n _this.microTick();\n }\n });\n },\n macroTick: function macroTick() {\n var _this2 = this;\n\n this.rafId = raf(function () {\n /* istanbul ignore if */\n // in case of call reset immediately after finish\n if (!_this2.counting) {\n return;\n }\n\n var remain = _this2.getRemain();\n\n if (!isSameSecond(remain, _this2.remain) || remain === 0) {\n _this2.setRemain(remain);\n }\n\n if (_this2.remain > 0) {\n _this2.macroTick();\n }\n });\n },\n getRemain: function getRemain() {\n return Math.max(this.endTime - Date.now(), 0);\n },\n setRemain: function setRemain(remain) {\n this.remain = remain;\n this.$emit('change', this.timeData);\n\n if (remain === 0) {\n this.pause();\n this.$emit('finish');\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.slots('default', this.timeData) || this.formattedTime]);\n }\n});","import { createNamespace } from '../utils';\nimport { RED } from '../utils/constant';\nimport { padZero } from '../utils/format/string';\nimport Checkbox from '../checkbox';\n\nvar _createNamespace = createNamespace('coupon'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction formatTimeStamp(timeStamp) {\n // compatible when the timestamp is seconds\n if (timeStamp < Math.pow(10, 12)) {\n return timeStamp * 1000;\n }\n\n return +timeStamp;\n}\n\nfunction getDate(timeStamp) {\n var date = new Date(formatTimeStamp(timeStamp));\n return date.getFullYear() + \".\" + padZero(date.getMonth() + 1) + \".\" + padZero(date.getDate());\n}\n\nfunction formatDiscount(discount) {\n return (discount / 10).toFixed(discount % 10 === 0 ? 0 : 1);\n}\n\nfunction formatAmount(amount) {\n return (amount / 100).toFixed(amount % 100 === 0 ? 0 : amount % 10 === 0 ? 1 : 2);\n}\n\nexport default createComponent({\n props: {\n coupon: Object,\n chosen: Boolean,\n disabled: Boolean,\n currency: {\n type: String,\n default: '¥'\n }\n },\n computed: {\n validPeriod: function validPeriod() {\n var _this$coupon = this.coupon,\n startAt = _this$coupon.startAt,\n endAt = _this$coupon.endAt,\n customValidPeriod = _this$coupon.customValidPeriod;\n return customValidPeriod || getDate(startAt) + \" - \" + getDate(endAt);\n },\n faceAmount: function faceAmount() {\n var coupon = this.coupon;\n\n if (coupon.valueDesc) {\n return coupon.valueDesc + \"\" + (coupon.unitDesc || '') + \"\";\n }\n\n if (coupon.denominations) {\n var denominations = formatAmount(coupon.denominations);\n return \"\" + this.currency + \" \" + denominations;\n }\n\n if (coupon.discount) {\n return t('discount', formatDiscount(coupon.discount));\n }\n\n return '';\n },\n conditionMessage: function conditionMessage() {\n var condition = formatAmount(this.coupon.originCondition);\n return condition === '0' ? t('unlimited') : t('condition', condition);\n }\n },\n render: function render() {\n var h = arguments[0];\n var coupon = this.coupon,\n disabled = this.disabled;\n var description = disabled && coupon.reason || coupon.description;\n return h(\"div\", {\n \"class\": bem({\n disabled: disabled\n })\n }, [h(\"div\", {\n \"class\": bem('content')\n }, [h(\"div\", {\n \"class\": bem('head')\n }, [h(\"h2\", {\n \"class\": bem('amount'),\n \"domProps\": {\n \"innerHTML\": this.faceAmount\n }\n }), h(\"p\", {\n \"class\": bem('condition')\n }, [this.coupon.condition || this.conditionMessage])]), h(\"div\", {\n \"class\": bem('body')\n }, [h(\"p\", {\n \"class\": bem('name')\n }, [coupon.name]), h(\"p\", {\n \"class\": bem('valid')\n }, [this.validPeriod]), !this.disabled && h(Checkbox, {\n \"attrs\": {\n \"size\": 18,\n \"value\": this.chosen,\n \"checkedColor\": RED\n },\n \"class\": bem('corner')\n })])]), description && h(\"p\", {\n \"class\": bem('description')\n }, [description])]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { inherit } from '../utils/functional'; // Components\n\nimport Cell from '../cell'; // Types\n\nvar _createNamespace = createNamespace('coupon-cell'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction formatValue(props) {\n var coupons = props.coupons,\n chosenCoupon = props.chosenCoupon,\n currency = props.currency;\n var coupon = coupons[+chosenCoupon];\n\n if (coupon) {\n var value = 0;\n\n if (isDef(coupon.value)) {\n value = coupon.value;\n } else if (isDef(coupon.denominations)) {\n value = coupon.denominations;\n }\n\n return \"-\" + currency + \" \" + (value / 100).toFixed(2);\n }\n\n return coupons.length === 0 ? t('tips') : t('count', coupons.length);\n}\n\nfunction CouponCell(h, props, slots, ctx) {\n var selected = props.coupons[+props.chosenCoupon];\n var value = formatValue(props);\n return h(Cell, _mergeJSXProps([{\n \"class\": bem(),\n \"attrs\": {\n \"value\": value,\n \"title\": props.title || t('title'),\n \"border\": props.border,\n \"isLink\": props.editable,\n \"valueClass\": bem('value', {\n selected: selected\n })\n }\n }, inherit(ctx, true)]));\n}\n\nCouponCell.model = {\n prop: 'chosenCoupon'\n};\nCouponCell.props = {\n title: String,\n coupons: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n currency: {\n type: String,\n default: '¥'\n },\n border: {\n type: Boolean,\n default: true\n },\n editable: {\n type: Boolean,\n default: true\n },\n chosenCoupon: {\n type: [Number, String],\n default: -1\n }\n};\nexport default createComponent(CouponCell);","// Utils\nimport { createNamespace } from '../utils'; // Components\n\nimport Tab from '../tab';\nimport Tabs from '../tabs';\nimport Field from '../field';\nimport Button from '../button';\nimport Coupon from '../coupon';\n\nvar _createNamespace = createNamespace('coupon-list'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nvar EMPTY_IMAGE = 'https://img01.yzcdn.cn/vant/coupon-empty.png';\nexport default createComponent({\n model: {\n prop: 'code'\n },\n props: {\n code: String,\n closeButtonText: String,\n inputPlaceholder: String,\n enabledTitle: String,\n disabledTitle: String,\n exchangeButtonText: String,\n exchangeButtonLoading: Boolean,\n exchangeButtonDisabled: Boolean,\n exchangeMinLength: {\n type: Number,\n default: 1\n },\n chosenCoupon: {\n type: Number,\n default: -1\n },\n coupons: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n disabledCoupons: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n displayedCouponIndex: {\n type: Number,\n default: -1\n },\n showExchangeBar: {\n type: Boolean,\n default: true\n },\n showCloseButton: {\n type: Boolean,\n default: true\n },\n showCount: {\n type: Boolean,\n default: true\n },\n currency: {\n type: String,\n default: '¥'\n },\n emptyImage: {\n type: String,\n default: EMPTY_IMAGE\n }\n },\n data: function data() {\n return {\n tab: 0,\n winHeight: window.innerHeight,\n currentCode: this.code || ''\n };\n },\n computed: {\n buttonDisabled: function buttonDisabled() {\n return !this.exchangeButtonLoading && (this.exchangeButtonDisabled || !this.currentCode || this.currentCode.length < this.exchangeMinLength);\n },\n listStyle: function listStyle() {\n return {\n height: this.winHeight - (this.showExchangeBar ? 140 : 94) + 'px'\n };\n }\n },\n watch: {\n code: function code(_code) {\n this.currentCode = _code;\n },\n currentCode: function currentCode(code) {\n this.$emit('input', code);\n },\n displayedCouponIndex: 'scrollToShowCoupon'\n },\n mounted: function mounted() {\n this.scrollToShowCoupon(this.displayedCouponIndex);\n },\n methods: {\n onClickExchangeButton: function onClickExchangeButton() {\n this.$emit('exchange', this.currentCode); // auto clear currentCode when not use vModel\n\n if (!this.code) {\n this.currentCode = '';\n }\n },\n // scroll to show specific coupon\n scrollToShowCoupon: function scrollToShowCoupon(index) {\n var _this = this;\n\n if (index === -1) {\n return;\n }\n\n this.$nextTick(function () {\n var _this$$refs = _this.$refs,\n card = _this$$refs.card,\n list = _this$$refs.list;\n /* istanbul ignore next */\n\n if (list && card && card[index]) {\n list.scrollTop = card[index].$el.offsetTop - 100;\n }\n });\n },\n genEmpty: function genEmpty() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": bem('empty')\n }, [h(\"img\", {\n \"attrs\": {\n \"src\": this.emptyImage\n }\n }), h(\"p\", [t('empty')])]);\n },\n genExchangeButton: function genExchangeButton() {\n var h = this.$createElement;\n return h(Button, {\n \"attrs\": {\n \"plain\": true,\n \"type\": \"danger\",\n \"text\": this.exchangeButtonText || t('exchange'),\n \"loading\": this.exchangeButtonLoading,\n \"disabled\": this.buttonDisabled\n },\n \"class\": bem('exchange'),\n \"on\": {\n \"click\": this.onClickExchangeButton\n }\n });\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var coupons = this.coupons,\n disabledCoupons = this.disabledCoupons;\n var count = this.showCount ? \" (\" + coupons.length + \")\" : '';\n var title = (this.enabledTitle || t('enable')) + count;\n var disabledCount = this.showCount ? \" (\" + disabledCoupons.length + \")\" : '';\n var disabledTitle = (this.disabledTitle || t('disabled')) + disabledCount;\n var ExchangeBar = this.showExchangeBar && h(\"div\", {\n \"class\": bem('exchange-bar')\n }, [h(Field, {\n \"attrs\": {\n \"clearable\": true,\n \"border\": false,\n \"placeholder\": this.inputPlaceholder || t('placeholder'),\n \"maxlength\": \"20\"\n },\n \"class\": bem('field'),\n \"model\": {\n value: _this2.currentCode,\n callback: function callback($$v) {\n _this2.currentCode = $$v;\n }\n }\n }), this.genExchangeButton()]);\n\n var onChange = function onChange(index) {\n return function () {\n return _this2.$emit('change', index);\n };\n };\n\n var CouponTab = h(Tab, {\n \"attrs\": {\n \"title\": title\n }\n }, [h(\"div\", {\n \"class\": bem('list', {\n 'with-bottom': this.showCloseButton\n }),\n \"style\": this.listStyle\n }, [coupons.map(function (coupon, index) {\n return h(Coupon, {\n \"ref\": \"card\",\n \"key\": coupon.id,\n \"attrs\": {\n \"coupon\": coupon,\n \"currency\": _this2.currency,\n \"chosen\": index === _this2.chosenCoupon\n },\n \"nativeOn\": {\n \"click\": onChange(index)\n }\n });\n }), !coupons.length && this.genEmpty(), this.slots('list-footer')])]);\n var DisabledCouponTab = h(Tab, {\n \"attrs\": {\n \"title\": disabledTitle\n }\n }, [h(\"div\", {\n \"class\": bem('list', {\n 'with-bottom': this.showCloseButton\n }),\n \"style\": this.listStyle\n }, [disabledCoupons.map(function (coupon) {\n return h(Coupon, {\n \"attrs\": {\n \"disabled\": true,\n \"coupon\": coupon,\n \"currency\": _this2.currency\n },\n \"key\": coupon.id\n });\n }), !disabledCoupons.length && this.genEmpty(), this.slots('disabled-list-footer')])]);\n return h(\"div\", {\n \"class\": bem()\n }, [ExchangeBar, h(Tabs, {\n \"class\": bem('tab'),\n \"attrs\": {\n \"border\": false\n },\n \"model\": {\n value: _this2.tab,\n callback: function callback($$v) {\n _this2.tab = $$v;\n }\n }\n }, [CouponTab, DisabledCouponTab]), h(\"div\", {\n \"class\": bem('bottom')\n }, [h(Button, {\n \"directives\": [{\n name: \"show\",\n value: this.showCloseButton\n }],\n \"attrs\": {\n \"round\": true,\n \"type\": \"danger\",\n \"block\": true,\n \"text\": this.closeButtonText || t('close')\n },\n \"class\": bem('close'),\n \"on\": {\n \"click\": onChange(-1)\n }\n })])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { times } from './utils';\nimport { padZero } from '../utils/format/string';\nimport { pickerProps } from '../picker/shared';\nimport Picker from '../picker';\nexport var sharedProps = _extends({}, pickerProps, {\n value: null,\n filter: Function,\n columnsOrder: Array,\n showToolbar: {\n type: Boolean,\n default: true\n },\n formatter: {\n type: Function,\n default: function _default(type, value) {\n return value;\n }\n }\n});\nexport var TimePickerMixin = {\n data: function data() {\n return {\n innerValue: this.formatValue(this.value)\n };\n },\n computed: {\n originColumns: function originColumns() {\n var _this = this;\n\n return this.ranges.map(function (_ref) {\n var type = _ref.type,\n rangeArr = _ref.range;\n var values = times(rangeArr[1] - rangeArr[0] + 1, function (index) {\n var value = padZero(rangeArr[0] + index);\n return value;\n });\n\n if (_this.filter) {\n values = _this.filter(type, values);\n }\n\n return {\n type: type,\n values: values\n };\n });\n },\n columns: function columns() {\n var _this2 = this;\n\n return this.originColumns.map(function (column) {\n return {\n values: column.values.map(function (value) {\n return _this2.formatter(column.type, value);\n })\n };\n });\n }\n },\n watch: {\n columns: 'updateColumnValue',\n innerValue: function innerValue(val, oldVal) {\n if (!oldVal) {\n this.$emit('input', null);\n } else {\n this.$emit('input', val);\n }\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.updateColumnValue();\n this.$nextTick(function () {\n _this3.updateInnerValue();\n });\n },\n methods: {\n getPicker: function getPicker() {\n return this.$refs.picker;\n },\n // https://github.com/vant-ui/vant/issues/10013\n getProxiedPicker: function getProxiedPicker() {\n var _this4 = this;\n\n var picker = this.$refs.picker;\n\n if (picker) {\n var proxy = function proxy(fn) {\n return function () {\n picker[fn].apply(picker, arguments);\n\n _this4.updateInnerValue();\n };\n };\n\n return _extends({}, picker, {\n setValues: proxy('setValues'),\n setIndexes: proxy('setIndexes'),\n setColumnIndex: proxy('setColumnIndex'),\n setColumnValue: proxy('setColumnValue')\n });\n }\n },\n onConfirm: function onConfirm() {\n this.$emit('input', this.innerValue);\n this.$emit('confirm', this.innerValue);\n },\n onCancel: function onCancel() {\n this.$emit('cancel');\n }\n },\n render: function render() {\n var _this5 = this;\n\n var h = arguments[0];\n var props = {};\n Object.keys(pickerProps).forEach(function (key) {\n props[key] = _this5[key];\n });\n return h(Picker, {\n \"ref\": \"picker\",\n \"attrs\": {\n \"columns\": this.columns,\n \"readonly\": this.readonly\n },\n \"scopedSlots\": this.$scopedSlots,\n \"on\": {\n \"change\": this.onChange,\n \"confirm\": this.onConfirm,\n \"cancel\": this.onCancel\n },\n \"props\": _extends({}, props)\n });\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { padZero } from '../utils/format/string';\nimport { range } from '../utils/format/number';\nimport { sharedProps, TimePickerMixin } from './shared';\n\nvar _createNamespace = createNamespace('time-picker'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n mixins: [TimePickerMixin],\n props: _extends({}, sharedProps, {\n minHour: {\n type: [Number, String],\n default: 0\n },\n maxHour: {\n type: [Number, String],\n default: 23\n },\n minMinute: {\n type: [Number, String],\n default: 0\n },\n maxMinute: {\n type: [Number, String],\n default: 59\n }\n }),\n computed: {\n ranges: function ranges() {\n return [{\n type: 'hour',\n range: [+this.minHour, +this.maxHour]\n }, {\n type: 'minute',\n range: [+this.minMinute, +this.maxMinute]\n }];\n }\n },\n watch: {\n filter: 'updateInnerValue',\n minHour: function minHour() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.updateInnerValue();\n });\n },\n maxHour: function maxHour(value) {\n var _this$innerValue$spli = this.innerValue.split(':'),\n hour = _this$innerValue$spli[0],\n minute = _this$innerValue$spli[1];\n\n if (hour >= value) {\n this.innerValue = this.formatValue(value + \":\" + minute);\n this.updateColumnValue();\n } else {\n this.updateInnerValue();\n }\n },\n minMinute: 'updateInnerValue',\n maxMinute: function maxMinute(value) {\n var _this$innerValue$spli2 = this.innerValue.split(':'),\n hour = _this$innerValue$spli2[0],\n minute = _this$innerValue$spli2[1];\n\n if (minute >= value) {\n this.innerValue = this.formatValue(hour + \":\" + value);\n this.updateColumnValue();\n } else {\n this.updateInnerValue();\n }\n },\n value: function value(val) {\n val = this.formatValue(val);\n\n if (val !== this.innerValue) {\n this.innerValue = val;\n this.updateColumnValue();\n }\n }\n },\n methods: {\n formatValue: function formatValue(value) {\n if (!value) {\n value = padZero(this.minHour) + \":\" + padZero(this.minMinute);\n }\n\n var _value$split = value.split(':'),\n hour = _value$split[0],\n minute = _value$split[1];\n\n hour = padZero(range(hour, this.minHour, this.maxHour));\n minute = padZero(range(minute, this.minMinute, this.maxMinute));\n return hour + \":\" + minute;\n },\n updateInnerValue: function updateInnerValue() {\n var _this$getPicker$getIn = this.getPicker().getIndexes(),\n hourIndex = _this$getPicker$getIn[0],\n minuteIndex = _this$getPicker$getIn[1];\n\n var _this$originColumns = this.originColumns,\n hourColumn = _this$originColumns[0],\n minuteColumn = _this$originColumns[1];\n var hour = hourColumn.values[hourIndex] || hourColumn.values[0];\n var minute = minuteColumn.values[minuteIndex] || minuteColumn.values[0];\n this.innerValue = this.formatValue(hour + \":\" + minute);\n this.updateColumnValue();\n },\n onChange: function onChange(picker) {\n var _this2 = this;\n\n this.updateInnerValue();\n this.$nextTick(function () {\n _this2.$nextTick(function () {\n // https://github.com/vant-ui/vant/issues/9775\n _this2.updateInnerValue();\n\n _this2.$emit('change', picker);\n });\n });\n },\n updateColumnValue: function updateColumnValue() {\n var _this3 = this;\n\n var formatter = this.formatter;\n var pair = this.innerValue.split(':');\n var values = [formatter('hour', pair[0]), formatter('minute', pair[1])];\n this.$nextTick(function () {\n _this3.getPicker().setValues(values);\n });\n }\n }\n});","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import _construct from \"@babel/runtime/helpers/esm/construct\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { isDate } from '../utils/validate/date';\nimport { padZero } from '../utils/format/string';\nimport { getTrueValue, getMonthEndDay } from './utils';\nimport { sharedProps, TimePickerMixin } from './shared';\nvar currentYear = new Date().getFullYear();\n\nvar _createNamespace = createNamespace('date-picker'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n mixins: [TimePickerMixin],\n props: _extends({}, sharedProps, {\n type: {\n type: String,\n default: 'datetime'\n },\n minDate: {\n type: Date,\n default: function _default() {\n return new Date(currentYear - 10, 0, 1);\n },\n validator: isDate\n },\n maxDate: {\n type: Date,\n default: function _default() {\n return new Date(currentYear + 10, 11, 31);\n },\n validator: isDate\n }\n }),\n watch: {\n filter: 'updateInnerValue',\n minDate: function minDate() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.updateInnerValue();\n });\n },\n maxDate: function maxDate(value) {\n if (this.innerValue.valueOf() >= value.valueOf()) {\n this.innerValue = value;\n } else {\n this.updateInnerValue();\n }\n },\n value: function value(val) {\n val = this.formatValue(val);\n\n if (val && val.valueOf() !== this.innerValue.valueOf()) {\n this.innerValue = val;\n }\n }\n },\n computed: {\n ranges: function ranges() {\n var _this$getBoundary = this.getBoundary('max', this.innerValue ? this.innerValue : this.minDate),\n maxYear = _this$getBoundary.maxYear,\n maxDate = _this$getBoundary.maxDate,\n maxMonth = _this$getBoundary.maxMonth,\n maxHour = _this$getBoundary.maxHour,\n maxMinute = _this$getBoundary.maxMinute;\n\n var _this$getBoundary2 = this.getBoundary('min', this.innerValue ? this.innerValue : this.minDate),\n minYear = _this$getBoundary2.minYear,\n minDate = _this$getBoundary2.minDate,\n minMonth = _this$getBoundary2.minMonth,\n minHour = _this$getBoundary2.minHour,\n minMinute = _this$getBoundary2.minMinute;\n\n var result = [{\n type: 'year',\n range: [minYear, maxYear]\n }, {\n type: 'month',\n range: [minMonth, maxMonth]\n }, {\n type: 'day',\n range: [minDate, maxDate]\n }, {\n type: 'hour',\n range: [minHour, maxHour]\n }, {\n type: 'minute',\n range: [minMinute, maxMinute]\n }];\n\n switch (this.type) {\n case 'date':\n result = result.slice(0, 3);\n break;\n\n case 'year-month':\n result = result.slice(0, 2);\n break;\n\n case 'month-day':\n result = result.slice(1, 3);\n break;\n\n case 'datehour':\n result = result.slice(0, 4);\n break;\n }\n\n if (this.columnsOrder) {\n var columnsOrder = this.columnsOrder.concat(result.map(function (column) {\n return column.type;\n }));\n result.sort(function (a, b) {\n return columnsOrder.indexOf(a.type) - columnsOrder.indexOf(b.type);\n });\n }\n\n return result;\n }\n },\n methods: {\n formatValue: function formatValue(value) {\n var _this2 = this;\n\n if (!isDate(value)) {\n return null;\n }\n\n var minDate = new Date(this.minDate);\n var maxDate = new Date(this.maxDate);\n var dateMethods = {\n year: 'getFullYear',\n month: 'getMonth',\n day: 'getDate',\n hour: 'getHours',\n minute: 'getMinutes'\n };\n\n if (this.originColumns) {\n var dateColumns = this.originColumns.map(function (_ref, index) {\n var type = _ref.type,\n values = _ref.values;\n var range = _this2.ranges[index].range;\n var minDateVal = minDate[dateMethods[type]]();\n var maxDateVal = maxDate[dateMethods[type]]();\n var min = type === 'month' ? +values[0] - 1 : +values[0];\n var max = type === 'month' ? +values[values.length - 1] - 1 : +values[values.length - 1];\n return {\n type: type,\n values: [minDateVal < range[0] ? Math.max(minDateVal, min) : min || minDateVal, maxDateVal > range[1] ? Math.min(maxDateVal, max) : max || maxDateVal]\n };\n });\n\n if (this.type === 'month-day') {\n var year = (this.innerValue || this.minDate).getFullYear();\n dateColumns.unshift({\n type: 'year',\n values: [year, year]\n });\n }\n\n var dates = Object.keys(dateMethods).map(function (type) {\n var _dateColumns$filter$;\n\n return (_dateColumns$filter$ = dateColumns.filter(function (item) {\n return item.type === type;\n })[0]) == null ? void 0 : _dateColumns$filter$.values;\n }).filter(function (item) {\n return item;\n });\n minDate = _construct(Date, dates.map(function (val) {\n return getTrueValue(val[0]);\n }));\n maxDate = _construct(Date, dates.map(function (val) {\n return getTrueValue(val[1]);\n }));\n }\n\n value = Math.max(value, minDate.getTime());\n value = Math.min(value, maxDate.getTime());\n return new Date(value);\n },\n getBoundary: function getBoundary(type, value) {\n var _ref2;\n\n var boundary = this[type + \"Date\"];\n var year = boundary.getFullYear();\n var month = 1;\n var date = 1;\n var hour = 0;\n var minute = 0;\n\n if (type === 'max') {\n month = 12;\n date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);\n hour = 23;\n minute = 59;\n }\n\n if (value.getFullYear() === year) {\n month = boundary.getMonth() + 1;\n\n if (value.getMonth() + 1 === month) {\n date = boundary.getDate();\n\n if (value.getDate() === date) {\n hour = boundary.getHours();\n\n if (value.getHours() === hour) {\n minute = boundary.getMinutes();\n }\n }\n }\n }\n\n return _ref2 = {}, _ref2[type + \"Year\"] = year, _ref2[type + \"Month\"] = month, _ref2[type + \"Date\"] = date, _ref2[type + \"Hour\"] = hour, _ref2[type + \"Minute\"] = minute, _ref2;\n },\n updateInnerValue: function updateInnerValue() {\n var _this3 = this;\n\n var type = this.type;\n var indexes = this.getPicker().getIndexes();\n\n var getValue = function getValue(type) {\n var index = 0;\n\n _this3.originColumns.forEach(function (column, columnIndex) {\n if (type === column.type) {\n index = columnIndex;\n }\n });\n\n var values = _this3.originColumns[index].values;\n return getTrueValue(values[indexes[index]]);\n };\n\n var year;\n var month;\n var day;\n\n if (type === 'month-day') {\n year = (this.innerValue || this.minDate).getFullYear();\n month = getValue('month');\n day = getValue('day');\n } else {\n year = getValue('year');\n month = getValue('month');\n day = type === 'year-month' ? 1 : getValue('day');\n }\n\n var maxDay = getMonthEndDay(year, month);\n day = day > maxDay ? maxDay : day;\n var hour = 0;\n var minute = 0;\n\n if (type === 'datehour') {\n hour = getValue('hour');\n }\n\n if (type === 'datetime') {\n hour = getValue('hour');\n minute = getValue('minute');\n }\n\n var value = new Date(year, month - 1, day, hour, minute);\n this.innerValue = this.formatValue(value);\n },\n onChange: function onChange(picker) {\n var _this4 = this;\n\n this.updateInnerValue();\n this.$nextTick(function () {\n _this4.$nextTick(function () {\n // https://github.com/vant-ui/vant/issues/9775\n _this4.updateInnerValue();\n\n _this4.$emit('change', picker);\n });\n });\n },\n updateColumnValue: function updateColumnValue() {\n var _this5 = this;\n\n var value = this.innerValue ? this.innerValue : this.minDate;\n var formatter = this.formatter;\n var values = this.originColumns.map(function (column) {\n switch (column.type) {\n case 'year':\n return formatter('year', \"\" + value.getFullYear());\n\n case 'month':\n return formatter('month', padZero(value.getMonth() + 1));\n\n case 'day':\n return formatter('day', padZero(value.getDate()));\n\n case 'hour':\n return formatter('hour', padZero(value.getHours()));\n\n case 'minute':\n return formatter('minute', padZero(value.getMinutes()));\n\n default:\n // no default\n return null;\n }\n });\n this.$nextTick(function () {\n _this5.getPicker().setValues(values);\n });\n }\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport TimePicker from './TimePicker';\nimport DatePicker from './DatePicker';\n\nvar _createNamespace = createNamespace('datetime-picker'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: _extends({}, TimePicker.props, DatePicker.props),\n methods: {\n // @exposed-api\n getPicker: function getPicker() {\n return this.$refs.root.getProxiedPicker();\n }\n },\n render: function render() {\n var h = arguments[0];\n var Component = this.type === 'time' ? TimePicker : DatePicker;\n return h(Component, {\n \"ref\": \"root\",\n \"class\": bem(),\n \"scopedSlots\": this.$scopedSlots,\n \"props\": _extends({}, this.$props),\n \"on\": _extends({}, this.$listeners)\n });\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit } from '../utils/functional'; // Types\n\nvar _createNamespace = createNamespace('divider'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Divider(h, props, slots, ctx) {\n var _bem;\n\n return h(\"div\", _mergeJSXProps([{\n \"attrs\": {\n \"role\": \"separator\"\n },\n \"style\": {\n borderColor: props.borderColor\n },\n \"class\": bem((_bem = {\n dashed: props.dashed,\n hairline: props.hairline\n }, _bem[\"content-\" + props.contentPosition] = slots.default, _bem))\n }, inherit(ctx, true)]), [slots.default && slots.default()]);\n}\n\nDivider.props = {\n dashed: Boolean,\n hairline: {\n type: Boolean,\n default: true\n },\n contentPosition: {\n type: String,\n default: 'center'\n }\n};\nexport default createComponent(Divider);","// Utils\nimport { createNamespace } from '../utils';\nimport { on, off } from '../utils/dom/event'; // Mixins\n\nimport { PortalMixin } from '../mixins/portal';\nimport { ChildrenMixin } from '../mixins/relation'; // Components\n\nimport Cell from '../cell';\nimport Icon from '../icon';\nimport Popup from '../popup';\n\nvar _createNamespace = createNamespace('dropdown-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [PortalMixin({\n ref: 'wrapper'\n }), ChildrenMixin('vanDropdownMenu')],\n props: {\n value: null,\n title: String,\n disabled: Boolean,\n titleClass: String,\n options: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n lazyRender: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n transition: true,\n showPopup: false,\n showWrapper: false\n };\n },\n computed: {\n displayTitle: function displayTitle() {\n var _this = this;\n\n if (this.title) {\n return this.title;\n }\n\n var match = this.options.filter(function (option) {\n return option.value === _this.value;\n });\n return match.length ? match[0].text : '';\n }\n },\n watch: {\n showPopup: function showPopup(val) {\n this.bindScroll(val);\n }\n },\n beforeCreate: function beforeCreate() {\n var _this2 = this;\n\n var createEmitter = function createEmitter(eventName) {\n return function () {\n return _this2.$emit(eventName);\n };\n };\n\n this.onOpen = createEmitter('open');\n this.onClose = createEmitter('close');\n this.onOpened = createEmitter('opened');\n },\n methods: {\n // @exposed-api\n toggle: function toggle(show, options) {\n if (show === void 0) {\n show = !this.showPopup;\n }\n\n if (options === void 0) {\n options = {};\n }\n\n if (show === this.showPopup) {\n return;\n }\n\n this.transition = !options.immediate;\n this.showPopup = show;\n\n if (show) {\n this.parent.updateOffset();\n this.showWrapper = true;\n }\n },\n bindScroll: function bindScroll(bind) {\n var scroller = this.parent.scroller;\n var action = bind ? on : off;\n action(scroller, 'scroll', this.onScroll, true);\n },\n onScroll: function onScroll() {\n this.parent.updateOffset();\n },\n onClickWrapper: function onClickWrapper(event) {\n // prevent being identified as clicking outside and closed when use get-contaienr\n if (this.getContainer) {\n event.stopPropagation();\n }\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n var _this$parent = this.parent,\n zIndex = _this$parent.zIndex,\n offset = _this$parent.offset,\n overlay = _this$parent.overlay,\n duration = _this$parent.duration,\n direction = _this$parent.direction,\n activeColor = _this$parent.activeColor,\n closeOnClickOverlay = _this$parent.closeOnClickOverlay;\n var Options = this.options.map(function (option) {\n var active = option.value === _this3.value;\n return h(Cell, {\n \"attrs\": {\n \"clickable\": true,\n \"icon\": option.icon,\n \"title\": option.text\n },\n \"key\": option.value,\n \"class\": bem('option', {\n active: active\n }),\n \"style\": {\n color: active ? activeColor : ''\n },\n \"on\": {\n \"click\": function click() {\n _this3.showPopup = false;\n\n if (option.value !== _this3.value) {\n _this3.$emit('input', option.value);\n\n _this3.$emit('change', option.value);\n }\n }\n }\n }, [active && h(Icon, {\n \"class\": bem('icon'),\n \"attrs\": {\n \"color\": activeColor,\n \"name\": \"success\"\n }\n })]);\n });\n var style = {\n zIndex: zIndex\n };\n\n if (direction === 'down') {\n style.top = offset + \"px\";\n } else {\n style.bottom = offset + \"px\";\n }\n\n return h(\"div\", [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.showWrapper\n }],\n \"ref\": \"wrapper\",\n \"style\": style,\n \"class\": bem([direction]),\n \"on\": {\n \"click\": this.onClickWrapper\n }\n }, [h(Popup, {\n \"attrs\": {\n \"overlay\": overlay,\n \"position\": direction === 'down' ? 'top' : 'bottom',\n \"duration\": this.transition ? duration : 0,\n \"lazyRender\": this.lazyRender,\n \"overlayStyle\": {\n position: 'absolute'\n },\n \"closeOnClickOverlay\": closeOnClickOverlay\n },\n \"class\": bem('content'),\n \"on\": {\n \"open\": this.onOpen,\n \"close\": this.onClose,\n \"opened\": this.onOpened,\n \"closed\": function closed() {\n _this3.showWrapper = false;\n\n _this3.$emit('closed');\n }\n },\n \"model\": {\n value: _this3.showPopup,\n callback: function callback($$v) {\n _this3.showPopup = $$v;\n }\n }\n }, [Options, this.slots('default')])])]);\n }\n});","/**\n * Listen to click outside event\n */\nimport { on, off } from '../utils/dom/event';\nexport var ClickOutsideMixin = function ClickOutsideMixin(config) {\n return {\n props: {\n closeOnClickOutside: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n var _this = this;\n\n var clickOutsideHandler = function clickOutsideHandler(event) {\n if (_this.closeOnClickOutside && !_this.$el.contains(event.target)) {\n _this[config.method]();\n }\n };\n\n return {\n clickOutsideHandler: clickOutsideHandler\n };\n },\n mounted: function mounted() {\n on(document, config.event, this.clickOutsideHandler);\n },\n beforeDestroy: function beforeDestroy() {\n off(document, config.event, this.clickOutsideHandler);\n }\n };\n};","// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { getScroller } from '../utils/dom/scroll'; // Mixins\n\nimport { ParentMixin } from '../mixins/relation';\nimport { ClickOutsideMixin } from '../mixins/click-outside';\n\nvar _createNamespace = createNamespace('dropdown-menu'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanDropdownMenu'), ClickOutsideMixin({\n event: 'click',\n method: 'onClickOutside'\n })],\n props: {\n zIndex: [Number, String],\n activeColor: String,\n overlay: {\n type: Boolean,\n default: true\n },\n duration: {\n type: [Number, String],\n default: 0.2\n },\n direction: {\n type: String,\n default: 'down'\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n offset: 0\n };\n },\n computed: {\n scroller: function scroller() {\n return getScroller(this.$el);\n },\n opened: function opened() {\n return this.children.some(function (item) {\n return item.showWrapper;\n });\n },\n barStyle: function barStyle() {\n if (this.opened && isDef(this.zIndex)) {\n return {\n zIndex: 1 + this.zIndex\n };\n }\n }\n },\n methods: {\n updateOffset: function updateOffset() {\n if (!this.$refs.bar) {\n return;\n }\n\n var rect = this.$refs.bar.getBoundingClientRect();\n\n if (this.direction === 'down') {\n this.offset = rect.bottom;\n } else {\n this.offset = window.innerHeight - rect.top;\n }\n },\n toggleItem: function toggleItem(active) {\n this.children.forEach(function (item, index) {\n if (index === active) {\n item.toggle();\n } else if (item.showPopup) {\n item.toggle(false, {\n immediate: true\n });\n }\n });\n },\n onClickOutside: function onClickOutside() {\n this.children.forEach(function (item) {\n item.toggle(false);\n });\n }\n },\n render: function render() {\n var _this = this;\n\n var h = arguments[0];\n var Titles = this.children.map(function (item, index) {\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": item.disabled ? -1 : 0\n },\n \"class\": bem('item', {\n disabled: item.disabled\n }),\n \"on\": {\n \"click\": function click() {\n if (!item.disabled) {\n _this.toggleItem(index);\n }\n }\n }\n }, [h(\"span\", {\n \"class\": [bem('title', {\n active: item.showPopup,\n down: item.showPopup === (_this.direction === 'down')\n }), item.titleClass],\n \"style\": {\n color: item.showPopup ? _this.activeColor : ''\n }\n }, [h(\"div\", {\n \"class\": \"van-ellipsis\"\n }, [item.slots('title') || item.displayTitle])])]);\n });\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"ref\": \"bar\",\n \"style\": this.barStyle,\n \"class\": bem('bar', {\n opened: this.opened\n })\n }, [Titles]), this.slots('default')]);\n }\n});","var prefix = 'van-empty-network-';\nexport default {\n render: function render() {\n var h = arguments[0];\n\n var genStop = function genStop(color, offset, opacity) {\n return h(\"stop\", {\n \"attrs\": {\n \"stop-color\": color,\n \"offset\": offset + \"%\",\n \"stop-opacity\": opacity\n }\n });\n };\n\n return h(\"svg\", {\n \"attrs\": {\n \"viewBox\": \"0 0 160 160\",\n \"xmlns\": \"http://www.w3.org/2000/svg\"\n }\n }, [h(\"defs\", [h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"1\",\n \"x1\": \"64.022%\",\n \"y1\": \"100%\",\n \"x2\": \"64.022%\",\n \"y2\": \"0%\"\n }\n }, [genStop('#FFF', 0, 0.5), genStop('#F2F3F5', 100)]), h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"2\",\n \"x1\": \"50%\",\n \"y1\": \"0%\",\n \"x2\": \"50%\",\n \"y2\": \"84.459%\"\n }\n }, [genStop('#EBEDF0', 0), genStop('#DCDEE0', 100, 0)]), h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"3\",\n \"x1\": \"100%\",\n \"y1\": \"0%\",\n \"x2\": \"100%\",\n \"y2\": \"100%\"\n }\n }, [genStop('#EAEDF0', 0), genStop('#DCDEE0', 100)]), h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"4\",\n \"x1\": \"100%\",\n \"y1\": \"100%\",\n \"x2\": \"100%\",\n \"y2\": \"0%\"\n }\n }, [genStop('#EAEDF0', 0), genStop('#DCDEE0', 100)]), h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"5\",\n \"x1\": \"0%\",\n \"y1\": \"43.982%\",\n \"x2\": \"100%\",\n \"y2\": \"54.703%\"\n }\n }, [genStop('#EAEDF0', 0), genStop('#DCDEE0', 100)]), h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"6\",\n \"x1\": \"94.535%\",\n \"y1\": \"43.837%\",\n \"x2\": \"5.465%\",\n \"y2\": \"54.948%\"\n }\n }, [genStop('#EAEDF0', 0), genStop('#DCDEE0', 100)]), h(\"radialGradient\", {\n \"attrs\": {\n \"id\": prefix + \"7\",\n \"cx\": \"50%\",\n \"cy\": \"0%\",\n \"fx\": \"50%\",\n \"fy\": \"0%\",\n \"r\": \"100%\",\n \"gradientTransform\": \"matrix(0 1 -.54835 0 .5 -.5)\"\n }\n }, [genStop('#EBEDF0', 0), genStop('#FFF', 100, 0)])]), h(\"g\", {\n \"attrs\": {\n \"fill\": \"none\",\n \"fill-rule\": \"evenodd\"\n }\n }, [h(\"g\", {\n \"attrs\": {\n \"opacity\": \".8\"\n }\n }, [h(\"path\", {\n \"attrs\": {\n \"d\": \"M0 124V46h20v20h14v58H0z\",\n \"fill\": \"url(#\" + prefix + \"1)\",\n \"transform\": \"matrix(-1 0 0 1 36 7)\"\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": \"M121 8h22.231v14H152v77.37h-31V8z\",\n \"fill\": \"url(#\" + prefix + \"1)\",\n \"transform\": \"translate(2 7)\"\n }\n })]), h(\"path\", {\n \"attrs\": {\n \"fill\": \"url(#\" + prefix + \"7)\",\n \"d\": \"M0 139h160v21H0z\"\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": \"M37 18a7 7 0 013 13.326v26.742c0 1.23-.997 2.227-2.227 2.227h-1.546A2.227 2.227 0 0134 58.068V31.326A7 7 0 0137 18z\",\n \"fill\": \"url(#\" + prefix + \"2)\",\n \"fill-rule\": \"nonzero\",\n \"transform\": \"translate(43 36)\"\n }\n }), h(\"g\", {\n \"attrs\": {\n \"opacity\": \".6\",\n \"stroke-linecap\": \"round\",\n \"stroke-width\": \"7\"\n }\n }, [h(\"path\", {\n \"attrs\": {\n \"d\": \"M20.875 11.136a18.868 18.868 0 00-5.284 13.121c0 5.094 2.012 9.718 5.284 13.12\",\n \"stroke\": \"url(#\" + prefix + \"3)\",\n \"transform\": \"translate(43 36)\"\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": \"M9.849 0C3.756 6.225 0 14.747 0 24.146c0 9.398 3.756 17.92 9.849 24.145\",\n \"stroke\": \"url(#\" + prefix + \"3)\",\n \"transform\": \"translate(43 36)\"\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": \"M57.625 11.136a18.868 18.868 0 00-5.284 13.121c0 5.094 2.012 9.718 5.284 13.12\",\n \"stroke\": \"url(#\" + prefix + \"4)\",\n \"transform\": \"rotate(-180 76.483 42.257)\"\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": \"M73.216 0c-6.093 6.225-9.849 14.747-9.849 24.146 0 9.398 3.756 17.92 9.849 24.145\",\n \"stroke\": \"url(#\" + prefix + \"4)\",\n \"transform\": \"rotate(-180 89.791 42.146)\"\n }\n })]), h(\"g\", {\n \"attrs\": {\n \"transform\": \"translate(31 105)\",\n \"fill-rule\": \"nonzero\"\n }\n }, [h(\"rect\", {\n \"attrs\": {\n \"fill\": \"url(#\" + prefix + \"5)\",\n \"width\": \"98\",\n \"height\": \"34\",\n \"rx\": \"2\"\n }\n }), h(\"rect\", {\n \"attrs\": {\n \"fill\": \"#FFF\",\n \"x\": \"9\",\n \"y\": \"8\",\n \"width\": \"80\",\n \"height\": \"18\",\n \"rx\": \"1.114\"\n }\n }), h(\"rect\", {\n \"attrs\": {\n \"fill\": \"url(#\" + prefix + \"6)\",\n \"x\": \"15\",\n \"y\": \"12\",\n \"width\": \"18\",\n \"height\": \"6\",\n \"rx\": \"1.114\"\n }\n })])])]);\n }\n};","import { addUnit, createNamespace } from '../utils';\nimport Network from './Network';\n\nvar _createNamespace = createNamespace('empty'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar PRESETS = ['error', 'search', 'default'];\nexport default createComponent({\n props: {\n imageSize: [Number, String],\n description: String,\n image: {\n type: String,\n default: 'default'\n }\n },\n methods: {\n genImageContent: function genImageContent() {\n var h = this.$createElement;\n var slots = this.slots('image');\n\n if (slots) {\n return slots;\n }\n\n if (this.image === 'network') {\n return h(Network);\n }\n\n var image = this.image;\n\n if (PRESETS.indexOf(image) !== -1) {\n image = \"https://img01.yzcdn.cn/vant/empty-image-\" + image + \".png\";\n }\n\n return h(\"img\", {\n \"attrs\": {\n \"src\": image\n }\n });\n },\n genImage: function genImage() {\n var h = this.$createElement;\n var imageStyle = {\n width: addUnit(this.imageSize),\n height: addUnit(this.imageSize)\n };\n return h(\"div\", {\n \"class\": bem('image'),\n \"style\": imageStyle\n }, [this.genImageContent()]);\n },\n genDescription: function genDescription() {\n var h = this.$createElement;\n var description = this.slots('description') || this.description;\n\n if (description) {\n return h(\"p\", {\n \"class\": bem('description')\n }, [description]);\n }\n },\n genBottom: function genBottom() {\n var h = this.$createElement;\n var slot = this.slots();\n\n if (slot) {\n return h(\"div\", {\n \"class\": bem('bottom')\n }, [slot]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.genImage(), this.genDescription(), this.genBottom()]);\n }\n});","import { createNamespace } from '../utils';\nimport { sortChildren } from '../utils/vnodes';\n\nvar _createNamespace = createNamespace('form'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n colon: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n labelWidth: [Number, String],\n labelAlign: String,\n inputAlign: String,\n scrollToError: Boolean,\n validateFirst: Boolean,\n errorMessageAlign: String,\n submitOnEnter: {\n type: Boolean,\n default: true\n },\n validateTrigger: {\n type: String,\n default: 'onBlur'\n },\n showError: {\n type: Boolean,\n default: true\n },\n showErrorMessage: {\n type: Boolean,\n default: true\n }\n },\n provide: function provide() {\n return {\n vanForm: this\n };\n },\n data: function data() {\n return {\n fields: []\n };\n },\n methods: {\n getFieldsByNames: function getFieldsByNames(names) {\n if (names) {\n return this.fields.filter(function (field) {\n return names.indexOf(field.name) !== -1;\n });\n }\n\n return this.fields;\n },\n validateSeq: function validateSeq(names) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n var errors = [];\n\n var fields = _this.getFieldsByNames(names);\n\n fields.reduce(function (promise, field) {\n return promise.then(function () {\n if (!errors.length) {\n return field.validate().then(function (error) {\n if (error) {\n errors.push(error);\n }\n });\n }\n });\n }, Promise.resolve()).then(function () {\n if (errors.length) {\n reject(errors);\n } else {\n resolve();\n }\n });\n });\n },\n validateFields: function validateFields(names) {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n var fields = _this2.getFieldsByNames(names);\n\n Promise.all(fields.map(function (item) {\n return item.validate();\n })).then(function (errors) {\n errors = errors.filter(function (item) {\n return item;\n });\n\n if (errors.length) {\n reject(errors);\n } else {\n resolve();\n }\n });\n });\n },\n // @exposed-api\n validate: function validate(name) {\n if (name && !Array.isArray(name)) {\n return this.validateField(name);\n }\n\n return this.validateFirst ? this.validateSeq(name) : this.validateFields(name);\n },\n validateField: function validateField(name) {\n var matched = this.fields.filter(function (item) {\n return item.name === name;\n });\n\n if (matched.length) {\n return new Promise(function (resolve, reject) {\n matched[0].validate().then(function (error) {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n }\n\n return Promise.reject();\n },\n // @exposed-api\n resetValidation: function resetValidation(name) {\n if (name && !Array.isArray(name)) {\n name = [name];\n }\n\n var fields = this.getFieldsByNames(name);\n fields.forEach(function (item) {\n item.resetValidation();\n });\n },\n // @exposed-api\n scrollToField: function scrollToField(name, options) {\n this.fields.some(function (item) {\n if (item.name === name) {\n item.$el.scrollIntoView(options);\n return true;\n }\n\n return false;\n });\n },\n addField: function addField(field) {\n this.fields.push(field);\n sortChildren(this.fields, this);\n },\n removeField: function removeField(field) {\n this.fields = this.fields.filter(function (item) {\n return item !== field;\n });\n },\n getValues: function getValues() {\n return this.fields.reduce(function (form, field) {\n form[field.name] = field.formValue;\n return form;\n }, {});\n },\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n this.submit();\n },\n // @exposed-api\n submit: function submit() {\n var _this3 = this;\n\n var values = this.getValues();\n this.validate().then(function () {\n _this3.$emit('submit', values);\n }).catch(function (errors) {\n _this3.$emit('failed', {\n values: values,\n errors: errors\n });\n\n if (_this3.scrollToError) {\n _this3.scrollToField(errors[0].name);\n }\n });\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"form\", {\n \"class\": bem(),\n \"on\": {\n \"submit\": this.onSubmit\n }\n }, [this.slots()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { route, routeProps } from '../utils/router';\nimport { ChildrenMixin } from '../mixins/relation';\nimport Info from '../info';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('goods-action-icon'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanGoodsAction')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n text: String,\n icon: String,\n color: String,\n // @deprecated\n info: [Number, String],\n badge: [Number, String],\n iconClass: null\n }),\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n route(this.$router, this);\n },\n genIcon: function genIcon() {\n var _this$badge;\n\n var h = this.$createElement;\n var slot = this.slots('icon');\n var info = (_this$badge = this.badge) != null ? _this$badge : this.info;\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] GoodsActionIcon: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n if (slot) {\n return h(\"div\", {\n \"class\": bem('icon')\n }, [slot, h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": info\n }\n })]);\n }\n\n return h(Icon, {\n \"class\": [bem('icon'), this.iconClass],\n \"attrs\": {\n \"tag\": \"div\",\n \"dot\": this.dot,\n \"name\": this.icon,\n \"badge\": info,\n \"color\": this.color\n }\n });\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\"\n },\n \"class\": bem(),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genIcon(), this.slots() || this.text]);\n }\n});","import { createNamespace, addUnit } from '../utils';\nimport { BORDER_TOP } from '../utils/constant';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('grid'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanGrid')],\n props: {\n square: Boolean,\n gutter: [Number, String],\n iconSize: [Number, String],\n direction: String,\n clickable: Boolean,\n columnNum: {\n type: [Number, String],\n default: 4\n },\n center: {\n type: Boolean,\n default: true\n },\n border: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n style: function style() {\n var gutter = this.gutter;\n\n if (gutter) {\n return {\n paddingLeft: addUnit(gutter)\n };\n }\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n return h(\"div\", {\n \"style\": this.style,\n \"class\": [bem(), (_ref = {}, _ref[BORDER_TOP] = this.border && !this.gutter, _ref)]\n }, [this.slots()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { BORDER } from '../utils/constant';\nimport { route, routeProps } from '../utils/router'; // Mixins\n\nimport { ChildrenMixin } from '../mixins/relation'; // Components\n\nimport Info from '../info';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('grid-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanGrid')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n text: String,\n icon: String,\n iconPrefix: String,\n // @deprecated\n info: [Number, String],\n badge: [Number, String]\n }),\n computed: {\n style: function style() {\n var _this$parent = this.parent,\n square = _this$parent.square,\n gutter = _this$parent.gutter,\n columnNum = _this$parent.columnNum;\n var percent = 100 / columnNum + \"%\";\n var style = {\n flexBasis: percent\n };\n\n if (square) {\n style.paddingTop = percent;\n } else if (gutter) {\n var gutterValue = addUnit(gutter);\n style.paddingRight = gutterValue;\n\n if (this.index >= columnNum) {\n style.marginTop = gutterValue;\n }\n }\n\n return style;\n },\n contentStyle: function contentStyle() {\n var _this$parent2 = this.parent,\n square = _this$parent2.square,\n gutter = _this$parent2.gutter;\n\n if (square && gutter) {\n var gutterValue = addUnit(gutter);\n return {\n right: gutterValue,\n bottom: gutterValue,\n height: 'auto'\n };\n }\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n route(this.$router, this);\n },\n genIcon: function genIcon() {\n var _this$badge;\n\n var h = this.$createElement;\n var iconSlot = this.slots('icon');\n var info = (_this$badge = this.badge) != null ? _this$badge : this.info;\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] GridItem: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n if (iconSlot) {\n return h(\"div\", {\n \"class\": bem('icon-wrapper')\n }, [iconSlot, h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": info\n }\n })]);\n }\n\n if (this.icon) {\n return h(Icon, {\n \"attrs\": {\n \"name\": this.icon,\n \"dot\": this.dot,\n \"badge\": info,\n \"size\": this.parent.iconSize,\n \"classPrefix\": this.iconPrefix\n },\n \"class\": bem('icon')\n });\n }\n },\n getText: function getText() {\n var h = this.$createElement;\n var textSlot = this.slots('text');\n\n if (textSlot) {\n return textSlot;\n }\n\n if (this.text) {\n return h(\"span\", {\n \"class\": bem('text')\n }, [this.text]);\n }\n },\n genContent: function genContent() {\n var slot = this.slots();\n\n if (slot) {\n return slot;\n }\n\n return [this.genIcon(), this.getText()];\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n var _this$parent3 = this.parent,\n center = _this$parent3.center,\n border = _this$parent3.border,\n square = _this$parent3.square,\n gutter = _this$parent3.gutter,\n direction = _this$parent3.direction,\n clickable = _this$parent3.clickable;\n return h(\"div\", {\n \"class\": [bem({\n square: square\n })],\n \"style\": this.style\n }, [h(\"div\", {\n \"style\": this.contentStyle,\n \"attrs\": {\n \"role\": clickable ? 'button' : null,\n \"tabindex\": clickable ? 0 : null\n },\n \"class\": [bem('content', [direction, {\n center: center,\n square: square,\n clickable: clickable,\n surround: border && gutter\n }]), (_ref = {}, _ref[BORDER] = border, _ref)],\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genContent()])]);\n }\n});","import { createNamespace } from '../utils';\n\nvar _createNamespace = createNamespace('image-preview'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport { createComponent, bem };","// Utils\nimport { createNamespace } from '../utils';\nimport { isHidden } from '../utils/dom/style';\nimport { preventDefault } from '../utils/dom/event';\nimport { doubleRaf } from '../utils/dom/raf';\nimport { range } from '../utils/format/number'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch';\nimport { ParentMixin } from '../mixins/relation';\nimport { BindEventMixin } from '../mixins/bind-event';\n\nvar _createNamespace = createNamespace('swipe'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [TouchMixin, ParentMixin('vanSwipe'), BindEventMixin(function (bind, isBind) {\n bind(window, 'resize', this.resize, true);\n bind(window, 'orientationchange', this.resize, true);\n bind(window, 'visibilitychange', this.onVisibilityChange);\n\n if (isBind) {\n this.initialize();\n } else {\n this.clear();\n }\n })],\n props: {\n width: [Number, String],\n height: [Number, String],\n autoplay: [Number, String],\n vertical: Boolean,\n lazyRender: Boolean,\n indicatorColor: String,\n loop: {\n type: Boolean,\n default: true\n },\n duration: {\n type: [Number, String],\n default: 500\n },\n touchable: {\n type: Boolean,\n default: true\n },\n initialSwipe: {\n type: [Number, String],\n default: 0\n },\n showIndicators: {\n type: Boolean,\n default: true\n },\n stopPropagation: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n rect: null,\n offset: 0,\n active: 0,\n deltaX: 0,\n deltaY: 0,\n swiping: false,\n computedWidth: 0,\n computedHeight: 0\n };\n },\n watch: {\n children: function children() {\n this.initialize();\n },\n initialSwipe: function initialSwipe() {\n this.initialize();\n },\n autoplay: function autoplay(_autoplay) {\n if (_autoplay > 0) {\n this.autoPlay();\n } else {\n this.clear();\n }\n }\n },\n computed: {\n count: function count() {\n return this.children.length;\n },\n maxCount: function maxCount() {\n return Math.ceil(Math.abs(this.minOffset) / this.size);\n },\n delta: function delta() {\n return this.vertical ? this.deltaY : this.deltaX;\n },\n size: function size() {\n return this[this.vertical ? 'computedHeight' : 'computedWidth'];\n },\n trackSize: function trackSize() {\n return this.count * this.size;\n },\n activeIndicator: function activeIndicator() {\n return (this.active + this.count) % this.count;\n },\n isCorrectDirection: function isCorrectDirection() {\n var expect = this.vertical ? 'vertical' : 'horizontal';\n return this.direction === expect;\n },\n trackStyle: function trackStyle() {\n var style = {\n transitionDuration: (this.swiping ? 0 : this.duration) + \"ms\",\n transform: \"translate\" + (this.vertical ? 'Y' : 'X') + \"(\" + this.offset + \"px)\"\n };\n\n if (this.size) {\n var mainAxis = this.vertical ? 'height' : 'width';\n var crossAxis = this.vertical ? 'width' : 'height';\n style[mainAxis] = this.trackSize + \"px\";\n style[crossAxis] = this[crossAxis] ? this[crossAxis] + \"px\" : '';\n }\n\n return style;\n },\n indicatorStyle: function indicatorStyle() {\n return {\n backgroundColor: this.indicatorColor\n };\n },\n minOffset: function minOffset() {\n return (this.vertical ? this.rect.height : this.rect.width) - this.size * this.count;\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$refs.track);\n },\n methods: {\n // initialize swipe position\n initialize: function initialize(active) {\n if (active === void 0) {\n active = +this.initialSwipe;\n }\n\n if (!this.$el || isHidden(this.$el)) {\n return;\n }\n\n clearTimeout(this.timer);\n var rect = {\n width: this.$el.offsetWidth,\n height: this.$el.offsetHeight\n };\n this.rect = rect;\n this.swiping = true;\n this.active = active;\n this.computedWidth = +this.width || rect.width;\n this.computedHeight = +this.height || rect.height;\n this.offset = this.getTargetOffset(active);\n this.children.forEach(function (swipe) {\n swipe.offset = 0;\n });\n this.autoPlay();\n },\n // @exposed-api\n resize: function resize() {\n this.initialize(this.activeIndicator);\n },\n onVisibilityChange: function onVisibilityChange() {\n if (document.hidden) {\n this.clear();\n } else {\n this.autoPlay();\n }\n },\n onTouchStart: function onTouchStart(event) {\n if (!this.touchable) return;\n this.clear();\n this.touchStartTime = Date.now();\n this.touchStart(event);\n this.correctPosition();\n },\n onTouchMove: function onTouchMove(event) {\n if (!this.touchable || !this.swiping) return;\n this.touchMove(event);\n\n if (this.isCorrectDirection) {\n preventDefault(event, this.stopPropagation);\n this.move({\n offset: this.delta\n });\n }\n },\n onTouchEnd: function onTouchEnd() {\n if (!this.touchable || !this.swiping) return;\n var size = this.size,\n delta = this.delta;\n var duration = Date.now() - this.touchStartTime;\n var speed = delta / duration;\n var shouldSwipe = Math.abs(speed) > 0.25 || Math.abs(delta) > size / 2;\n\n if (shouldSwipe && this.isCorrectDirection) {\n var offset = this.vertical ? this.offsetY : this.offsetX;\n var pace = 0;\n\n if (this.loop) {\n pace = offset > 0 ? delta > 0 ? -1 : 1 : 0;\n } else {\n pace = -Math[delta > 0 ? 'ceil' : 'floor'](delta / size);\n }\n\n this.move({\n pace: pace,\n emitChange: true\n });\n } else if (delta) {\n this.move({\n pace: 0\n });\n }\n\n this.swiping = false;\n this.autoPlay();\n },\n getTargetActive: function getTargetActive(pace) {\n var active = this.active,\n count = this.count,\n maxCount = this.maxCount;\n\n if (pace) {\n if (this.loop) {\n return range(active + pace, -1, count);\n }\n\n return range(active + pace, 0, maxCount);\n }\n\n return active;\n },\n getTargetOffset: function getTargetOffset(targetActive, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n var currentPosition = targetActive * this.size;\n\n if (!this.loop) {\n currentPosition = Math.min(currentPosition, -this.minOffset);\n }\n\n var targetOffset = offset - currentPosition;\n\n if (!this.loop) {\n targetOffset = range(targetOffset, this.minOffset, 0);\n }\n\n return targetOffset;\n },\n move: function move(_ref) {\n var _ref$pace = _ref.pace,\n pace = _ref$pace === void 0 ? 0 : _ref$pace,\n _ref$offset = _ref.offset,\n offset = _ref$offset === void 0 ? 0 : _ref$offset,\n emitChange = _ref.emitChange;\n var loop = this.loop,\n count = this.count,\n active = this.active,\n children = this.children,\n trackSize = this.trackSize,\n minOffset = this.minOffset;\n\n if (count <= 1) {\n return;\n }\n\n var targetActive = this.getTargetActive(pace);\n var targetOffset = this.getTargetOffset(targetActive, offset); // auto move first and last swipe in loop mode\n\n if (loop) {\n if (children[0] && targetOffset !== minOffset) {\n var outRightBound = targetOffset < minOffset;\n children[0].offset = outRightBound ? trackSize : 0;\n }\n\n if (children[count - 1] && targetOffset !== 0) {\n var outLeftBound = targetOffset > 0;\n children[count - 1].offset = outLeftBound ? -trackSize : 0;\n }\n }\n\n this.active = targetActive;\n this.offset = targetOffset;\n\n if (emitChange && targetActive !== active) {\n this.$emit('change', this.activeIndicator);\n }\n },\n // @exposed-api\n prev: function prev() {\n var _this = this;\n\n this.correctPosition();\n this.resetTouchStatus();\n doubleRaf(function () {\n _this.swiping = false;\n\n _this.move({\n pace: -1,\n emitChange: true\n });\n });\n },\n // @exposed-api\n next: function next() {\n var _this2 = this;\n\n this.correctPosition();\n this.resetTouchStatus();\n doubleRaf(function () {\n _this2.swiping = false;\n\n _this2.move({\n pace: 1,\n emitChange: true\n });\n });\n },\n // @exposed-api\n swipeTo: function swipeTo(index, options) {\n var _this3 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n this.correctPosition();\n this.resetTouchStatus();\n doubleRaf(function () {\n var targetIndex;\n\n if (_this3.loop && index === _this3.count) {\n targetIndex = _this3.active === 0 ? 0 : index;\n } else {\n targetIndex = index % _this3.count;\n }\n\n if (options.immediate) {\n doubleRaf(function () {\n _this3.swiping = false;\n });\n } else {\n _this3.swiping = false;\n }\n\n _this3.move({\n pace: targetIndex - _this3.active,\n emitChange: true\n });\n });\n },\n correctPosition: function correctPosition() {\n this.swiping = true;\n\n if (this.active <= -1) {\n this.move({\n pace: this.count\n });\n }\n\n if (this.active >= this.count) {\n this.move({\n pace: -this.count\n });\n }\n },\n clear: function clear() {\n clearTimeout(this.timer);\n },\n autoPlay: function autoPlay() {\n var _this4 = this;\n\n var autoplay = this.autoplay;\n\n if (autoplay > 0 && this.count > 1) {\n this.clear();\n this.timer = setTimeout(function () {\n _this4.next();\n\n _this4.autoPlay();\n }, autoplay);\n }\n },\n genIndicator: function genIndicator() {\n var _this5 = this;\n\n var h = this.$createElement;\n var count = this.count,\n activeIndicator = this.activeIndicator;\n var slot = this.slots('indicator');\n\n if (slot) {\n return slot;\n }\n\n if (this.showIndicators && count > 1) {\n return h(\"div\", {\n \"class\": bem('indicators', {\n vertical: this.vertical\n })\n }, [Array.apply(void 0, Array(count)).map(function (empty, index) {\n return h(\"i\", {\n \"class\": bem('indicator', {\n active: index === activeIndicator\n }),\n \"style\": index === activeIndicator ? _this5.indicatorStyle : null\n });\n })]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"ref\": \"track\",\n \"style\": this.trackStyle,\n \"class\": bem('track', {\n vertical: this.vertical\n })\n }, [this.slots()]), this.genIndicator()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('swipe-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanSwipe')],\n data: function data() {\n return {\n offset: 0,\n inited: false,\n mounted: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.mounted = true;\n });\n },\n computed: {\n style: function style() {\n var style = {};\n var _this$parent = this.parent,\n size = _this$parent.size,\n vertical = _this$parent.vertical;\n\n if (size) {\n style[vertical ? 'height' : 'width'] = size + \"px\";\n }\n\n if (this.offset) {\n style.transform = \"translate\" + (vertical ? 'Y' : 'X') + \"(\" + this.offset + \"px)\";\n }\n\n return style;\n },\n shouldRender: function shouldRender() {\n var index = this.index,\n inited = this.inited,\n parent = this.parent,\n mounted = this.mounted;\n\n if (!parent.lazyRender || inited) {\n return true;\n } // wait for all item to mount, so we can get the exact count\n\n\n if (!mounted) {\n return false;\n }\n\n var active = parent.activeIndicator;\n var maxActive = parent.count - 1;\n var prevActive = active === 0 && parent.loop ? maxActive : active - 1;\n var nextActive = active === maxActive && parent.loop ? 0 : active + 1;\n var shouldRender = index === active || index === prevActive || index === nextActive;\n\n if (shouldRender) {\n this.inited = true;\n }\n\n return shouldRender;\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem(),\n \"style\": this.style,\n \"on\": _extends({}, this.$listeners)\n }, [this.shouldRender && this.slots()]);\n }\n});","// Utils\nimport { bem } from './shared';\nimport { range } from '../utils/format/number';\nimport { preventDefault } from '../utils/dom/event'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch'; // Component\n\nimport Image from '../image';\nimport Loading from '../loading';\nimport SwipeItem from '../swipe-item';\n\nfunction getDistance(touches) {\n return Math.sqrt(Math.pow(touches[0].clientX - touches[1].clientX, 2) + Math.pow(touches[0].clientY - touches[1].clientY, 2));\n}\n\nexport default {\n mixins: [TouchMixin],\n props: {\n src: String,\n show: Boolean,\n active: Number,\n minZoom: [Number, String],\n maxZoom: [Number, String],\n rootWidth: Number,\n rootHeight: Number\n },\n data: function data() {\n return {\n scale: 1,\n moveX: 0,\n moveY: 0,\n moving: false,\n zooming: false,\n imageRatio: 0,\n displayWidth: 0,\n displayHeight: 0\n };\n },\n computed: {\n vertical: function vertical() {\n var rootWidth = this.rootWidth,\n rootHeight = this.rootHeight;\n var rootRatio = rootHeight / rootWidth;\n return this.imageRatio > rootRatio;\n },\n imageStyle: function imageStyle() {\n var scale = this.scale;\n var style = {\n transitionDuration: this.zooming || this.moving ? '0s' : '.3s'\n };\n\n if (scale !== 1) {\n var offsetX = this.moveX / scale;\n var offsetY = this.moveY / scale;\n style.transform = \"scale(\" + scale + \", \" + scale + \") translate(\" + offsetX + \"px, \" + offsetY + \"px)\";\n }\n\n return style;\n },\n maxMoveX: function maxMoveX() {\n if (this.imageRatio) {\n var displayWidth = this.vertical ? this.rootHeight / this.imageRatio : this.rootWidth;\n return Math.max(0, (this.scale * displayWidth - this.rootWidth) / 2);\n }\n\n return 0;\n },\n maxMoveY: function maxMoveY() {\n if (this.imageRatio) {\n var displayHeight = this.vertical ? this.rootHeight : this.rootWidth * this.imageRatio;\n return Math.max(0, (this.scale * displayHeight - this.rootHeight) / 2);\n }\n\n return 0;\n }\n },\n watch: {\n active: 'resetScale',\n show: function show(val) {\n if (!val) {\n this.resetScale();\n }\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$el);\n },\n methods: {\n resetScale: function resetScale() {\n this.setScale(1);\n this.moveX = 0;\n this.moveY = 0;\n },\n setScale: function setScale(scale) {\n scale = range(scale, +this.minZoom, +this.maxZoom);\n\n if (scale !== this.scale) {\n this.scale = scale;\n this.$emit('scale', {\n scale: this.scale,\n index: this.active\n });\n }\n },\n toggleScale: function toggleScale() {\n var scale = this.scale > 1 ? 1 : 2;\n this.setScale(scale);\n this.moveX = 0;\n this.moveY = 0;\n },\n onTouchStart: function onTouchStart(event) {\n var touches = event.touches;\n var _this$offsetX = this.offsetX,\n offsetX = _this$offsetX === void 0 ? 0 : _this$offsetX;\n this.touchStart(event);\n this.touchStartTime = new Date();\n this.fingerNum = touches.length;\n this.startMoveX = this.moveX;\n this.startMoveY = this.moveY;\n this.moving = this.fingerNum === 1 && this.scale !== 1;\n this.zooming = this.fingerNum === 2 && !offsetX;\n\n if (this.zooming) {\n this.startScale = this.scale;\n this.startDistance = getDistance(event.touches);\n }\n },\n onTouchMove: function onTouchMove(event) {\n var touches = event.touches;\n this.touchMove(event);\n\n if (this.moving || this.zooming) {\n preventDefault(event, true);\n }\n\n if (this.moving) {\n var moveX = this.deltaX + this.startMoveX;\n var moveY = this.deltaY + this.startMoveY;\n this.moveX = range(moveX, -this.maxMoveX, this.maxMoveX);\n this.moveY = range(moveY, -this.maxMoveY, this.maxMoveY);\n }\n\n if (this.zooming && touches.length === 2) {\n var distance = getDistance(touches);\n var scale = this.startScale * distance / this.startDistance;\n this.setScale(scale);\n }\n },\n onTouchEnd: function onTouchEnd(event) {\n var stopPropagation = false;\n /* istanbul ignore else */\n\n if (this.moving || this.zooming) {\n stopPropagation = true;\n\n if (this.moving && this.startMoveX === this.moveX && this.startMoveY === this.moveY) {\n stopPropagation = false;\n }\n\n if (!event.touches.length) {\n if (this.zooming) {\n this.moveX = range(this.moveX, -this.maxMoveX, this.maxMoveX);\n this.moveY = range(this.moveY, -this.maxMoveY, this.maxMoveY);\n this.zooming = false;\n }\n\n this.moving = false;\n this.startMoveX = 0;\n this.startMoveY = 0;\n this.startScale = 1;\n\n if (this.scale < 1) {\n this.resetScale();\n }\n }\n } // eliminate tap delay on safari\n\n\n preventDefault(event, stopPropagation);\n this.checkTap();\n this.resetTouchStatus();\n },\n checkTap: function checkTap() {\n var _this = this;\n\n if (this.fingerNum > 1) {\n return;\n }\n\n var _this$offsetX2 = this.offsetX,\n offsetX = _this$offsetX2 === void 0 ? 0 : _this$offsetX2,\n _this$offsetY = this.offsetY,\n offsetY = _this$offsetY === void 0 ? 0 : _this$offsetY;\n var deltaTime = new Date() - this.touchStartTime;\n var TAP_TIME = 250;\n var TAP_OFFSET = 5;\n\n if (offsetX < TAP_OFFSET && offsetY < TAP_OFFSET && deltaTime < TAP_TIME) {\n if (this.doubleTapTimer) {\n clearTimeout(this.doubleTapTimer);\n this.doubleTapTimer = null;\n this.toggleScale();\n } else {\n this.doubleTapTimer = setTimeout(function () {\n _this.$emit('close');\n\n _this.doubleTapTimer = null;\n }, TAP_TIME);\n }\n }\n },\n onLoad: function onLoad(event) {\n var _event$target = event.target,\n naturalWidth = _event$target.naturalWidth,\n naturalHeight = _event$target.naturalHeight;\n this.imageRatio = naturalHeight / naturalWidth;\n }\n },\n render: function render() {\n var h = arguments[0];\n var imageSlots = {\n loading: function loading() {\n return h(Loading, {\n \"attrs\": {\n \"type\": \"spinner\"\n }\n });\n }\n };\n return h(SwipeItem, {\n \"class\": bem('swipe-item')\n }, [h(Image, {\n \"attrs\": {\n \"src\": this.src,\n \"fit\": \"contain\"\n },\n \"class\": bem('image', {\n vertical: this.vertical\n }),\n \"style\": this.imageStyle,\n \"scopedSlots\": imageSlots,\n \"on\": {\n \"load\": this.onLoad\n }\n })]);\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport VueImagePreview from './ImagePreview';\nimport { isServer } from '../utils';\nvar instance;\nvar defaultConfig = {\n loop: true,\n value: true,\n images: [],\n maxZoom: 3,\n minZoom: 1 / 3,\n onClose: null,\n onChange: null,\n className: '',\n showIndex: true,\n closeable: false,\n closeIcon: 'clear',\n asyncClose: false,\n transition: 'van-fade',\n getContainer: 'body',\n overlayStyle: null,\n startPosition: 0,\n swipeDuration: 300,\n showIndicators: false,\n closeOnPopstate: true,\n closeIconPosition: 'top-right'\n};\n\nvar initInstance = function initInstance() {\n instance = new (Vue.extend(VueImagePreview))({\n el: document.createElement('div')\n });\n document.body.appendChild(instance.$el);\n instance.$on('change', function (index) {\n if (instance.onChange) {\n instance.onChange(index);\n }\n });\n instance.$on('scale', function (data) {\n if (instance.onScale) {\n instance.onScale(data);\n }\n });\n};\n\nvar ImagePreview = function ImagePreview(images, startPosition) {\n if (startPosition === void 0) {\n startPosition = 0;\n }\n\n /* istanbul ignore if */\n if (isServer) {\n return;\n }\n\n if (!instance) {\n initInstance();\n }\n\n var options = Array.isArray(images) ? {\n images: images,\n startPosition: startPosition\n } : images;\n\n _extends(instance, defaultConfig, options);\n\n instance.$once('input', function (show) {\n instance.value = show;\n });\n instance.$once('closed', function () {\n instance.images = [];\n });\n\n if (options.onClose) {\n instance.$off('close');\n instance.$once('close', options.onClose);\n }\n\n return instance;\n};\n\nImagePreview.Component = VueImagePreview;\n\nImagePreview.install = function () {\n Vue.use(VueImagePreview);\n};\n\nexport default ImagePreview;","// Utils\nimport { bem, createComponent } from './shared'; // Mixins\n\nimport { PopupMixin } from '../mixins/popup';\nimport { TouchMixin } from '../mixins/touch';\nimport { BindEventMixin } from '../mixins/bind-event'; // Components\n\nimport Icon from '../icon';\nimport Swipe from '../swipe';\nimport ImagePreviewItem from './ImagePreviewItem';\nexport default createComponent({\n mixins: [TouchMixin, PopupMixin({\n skipToggleEvent: true\n }), BindEventMixin(function (bind) {\n bind(window, 'resize', this.resize, true);\n bind(window, 'orientationchange', this.resize, true);\n })],\n props: {\n className: null,\n closeable: Boolean,\n asyncClose: Boolean,\n overlayStyle: Object,\n showIndicators: Boolean,\n images: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n loop: {\n type: Boolean,\n default: true\n },\n overlay: {\n type: Boolean,\n default: true\n },\n minZoom: {\n type: [Number, String],\n default: 1 / 3\n },\n maxZoom: {\n type: [Number, String],\n default: 3\n },\n transition: {\n type: String,\n default: 'van-fade'\n },\n showIndex: {\n type: Boolean,\n default: true\n },\n swipeDuration: {\n type: [Number, String],\n default: 300\n },\n startPosition: {\n type: [Number, String],\n default: 0\n },\n overlayClass: {\n type: String,\n default: bem('overlay')\n },\n closeIcon: {\n type: String,\n default: 'clear'\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n closeIconPosition: {\n type: String,\n default: 'top-right'\n }\n },\n data: function data() {\n return {\n active: 0,\n rootWidth: 0,\n rootHeight: 0,\n doubleClickTimer: null\n };\n },\n mounted: function mounted() {\n this.resize();\n },\n watch: {\n startPosition: 'setActive',\n value: function value(val) {\n var _this = this;\n\n if (val) {\n this.setActive(+this.startPosition);\n this.$nextTick(function () {\n _this.resize();\n\n _this.$refs.swipe.swipeTo(+_this.startPosition, {\n immediate: true\n });\n });\n } else {\n this.$emit('close', {\n index: this.active,\n url: this.images[this.active]\n });\n }\n }\n },\n methods: {\n resize: function resize() {\n if (this.$el && this.$el.getBoundingClientRect) {\n var rect = this.$el.getBoundingClientRect();\n this.rootWidth = rect.width;\n this.rootHeight = rect.height;\n }\n },\n emitClose: function emitClose() {\n if (!this.asyncClose) {\n this.$emit('input', false);\n }\n },\n emitScale: function emitScale(args) {\n this.$emit('scale', args);\n },\n setActive: function setActive(active) {\n if (active !== this.active) {\n this.active = active;\n this.$emit('change', active);\n }\n },\n genIndex: function genIndex() {\n var h = this.$createElement;\n\n if (this.showIndex) {\n return h(\"div\", {\n \"class\": bem('index')\n }, [this.slots('index', {\n index: this.active\n }) || this.active + 1 + \" / \" + this.images.length]);\n }\n },\n genCover: function genCover() {\n var h = this.$createElement;\n var cover = this.slots('cover');\n\n if (cover) {\n return h(\"div\", {\n \"class\": bem('cover')\n }, [cover]);\n }\n },\n genImages: function genImages() {\n var _this2 = this;\n\n var h = this.$createElement;\n return h(Swipe, {\n \"ref\": \"swipe\",\n \"attrs\": {\n \"lazyRender\": true,\n \"loop\": this.loop,\n \"duration\": this.swipeDuration,\n \"initialSwipe\": this.startPosition,\n \"showIndicators\": this.showIndicators,\n \"indicatorColor\": \"white\"\n },\n \"class\": bem('swipe'),\n \"on\": {\n \"change\": this.setActive\n }\n }, [this.images.map(function (image) {\n return h(ImagePreviewItem, {\n \"attrs\": {\n \"src\": image,\n \"show\": _this2.value,\n \"active\": _this2.active,\n \"maxZoom\": _this2.maxZoom,\n \"minZoom\": _this2.minZoom,\n \"rootWidth\": _this2.rootWidth,\n \"rootHeight\": _this2.rootHeight\n },\n \"on\": {\n \"scale\": _this2.emitScale,\n \"close\": _this2.emitClose\n }\n });\n })]);\n },\n genClose: function genClose() {\n var h = this.$createElement;\n\n if (this.closeable) {\n return h(Icon, {\n \"attrs\": {\n \"role\": \"button\",\n \"name\": this.closeIcon\n },\n \"class\": bem('close-icon', this.closeIconPosition),\n \"on\": {\n \"click\": this.emitClose\n }\n });\n }\n },\n onClosed: function onClosed() {\n this.$emit('closed');\n },\n // @exposed-api\n swipeTo: function swipeTo(index, options) {\n if (this.$refs.swipe) {\n this.$refs.swipe.swipeTo(index, options);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterLeave\": this.onClosed\n }\n }, [this.shouldRender ? h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"class\": [bem(), this.className]\n }, [this.genClose(), this.genImages(), this.genIndex(), this.genCover()]) : null]);\n }\n});","import { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\nimport { BORDER_BOTTOM } from '../utils/constant';\nimport { getScrollTop, getRootScrollTop } from '../utils/dom/scroll';\n\nvar _createNamespace = createNamespace('index-anchor'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanIndexBar', {\n indexKey: 'childrenIndex'\n })],\n props: {\n index: [Number, String]\n },\n data: function data() {\n return {\n top: 0,\n left: null,\n rect: {\n top: 0,\n height: 0\n },\n width: null,\n active: false\n };\n },\n computed: {\n sticky: function sticky() {\n return this.active && this.parent.sticky;\n },\n anchorStyle: function anchorStyle() {\n if (this.sticky) {\n return {\n zIndex: \"\" + this.parent.zIndex,\n left: this.left ? this.left + \"px\" : null,\n width: this.width ? this.width + \"px\" : null,\n transform: \"translate3d(0, \" + this.top + \"px, 0)\",\n color: this.parent.highlightColor\n };\n }\n }\n },\n mounted: function mounted() {\n var rect = this.$el.getBoundingClientRect();\n this.rect.height = rect.height;\n },\n methods: {\n scrollIntoView: function scrollIntoView() {\n this.$el.scrollIntoView();\n },\n getRect: function getRect(scroller, scrollerRect) {\n var el = this.$el;\n var elRect = el.getBoundingClientRect();\n this.rect.height = elRect.height;\n\n if (scroller === window || scroller === document.body) {\n this.rect.top = elRect.top + getRootScrollTop();\n } else {\n this.rect.top = elRect.top + getScrollTop(scroller) - scrollerRect.top;\n }\n\n return this.rect;\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n var sticky = this.sticky;\n return h(\"div\", {\n \"style\": {\n height: sticky ? this.rect.height + \"px\" : null\n }\n }, [h(\"div\", {\n \"style\": this.anchorStyle,\n \"class\": [bem({\n sticky: sticky\n }), (_ref = {}, _ref[BORDER_BOTTOM] = sticky, _ref)]\n }, [this.slots('default') || this.index])]);\n }\n});","// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { isHidden } from '../utils/dom/style';\nimport { preventDefault } from '../utils/dom/event';\nimport { getScroller, getScrollTop, getRootScrollTop, setRootScrollTop } from '../utils/dom/scroll'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch';\nimport { ParentMixin } from '../mixins/relation';\nimport { BindEventMixin } from '../mixins/bind-event';\n\nfunction genAlphabet() {\n var indexList = [];\n var charCodeOfA = 'A'.charCodeAt(0);\n\n for (var i = 0; i < 26; i++) {\n indexList.push(String.fromCharCode(charCodeOfA + i));\n }\n\n return indexList;\n}\n\nvar _createNamespace = createNamespace('index-bar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [TouchMixin, ParentMixin('vanIndexBar'), BindEventMixin(function (bind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n bind(this.scroller, 'scroll', this.onScroll);\n })],\n props: {\n zIndex: [Number, String],\n highlightColor: String,\n sticky: {\n type: Boolean,\n default: true\n },\n stickyOffsetTop: {\n type: Number,\n default: 0\n },\n indexList: {\n type: Array,\n default: genAlphabet\n }\n },\n data: function data() {\n return {\n activeAnchorIndex: null\n };\n },\n computed: {\n sidebarStyle: function sidebarStyle() {\n if (isDef(this.zIndex)) {\n return {\n zIndex: this.zIndex + 1\n };\n }\n },\n highlightStyle: function highlightStyle() {\n var highlightColor = this.highlightColor;\n\n if (highlightColor) {\n return {\n color: highlightColor\n };\n }\n }\n },\n watch: {\n indexList: function indexList() {\n this.$nextTick(this.onScroll);\n },\n activeAnchorIndex: function activeAnchorIndex(value) {\n if (value) {\n this.$emit('change', value);\n }\n }\n },\n methods: {\n onScroll: function onScroll() {\n var _this = this;\n\n if (isHidden(this.$el)) {\n return;\n }\n\n var scrollTop = getScrollTop(this.scroller);\n var scrollerRect = this.getScrollerRect();\n var rects = this.children.map(function (item) {\n return item.getRect(_this.scroller, scrollerRect);\n });\n var active = this.getActiveAnchorIndex(scrollTop, rects);\n this.activeAnchorIndex = this.indexList[active];\n\n if (this.sticky) {\n this.children.forEach(function (item, index) {\n if (index === active || index === active - 1) {\n var rect = item.$el.getBoundingClientRect();\n item.left = rect.left;\n item.width = rect.width;\n } else {\n item.left = null;\n item.width = null;\n }\n\n if (index === active) {\n item.active = true;\n item.top = Math.max(_this.stickyOffsetTop, rects[index].top - scrollTop) + scrollerRect.top;\n } else if (index === active - 1) {\n var activeItemTop = rects[active].top - scrollTop;\n item.active = activeItemTop > 0;\n item.top = activeItemTop + scrollerRect.top - rects[index].height;\n } else {\n item.active = false;\n }\n });\n }\n },\n getScrollerRect: function getScrollerRect() {\n if (this.scroller.getBoundingClientRect) {\n return this.scroller.getBoundingClientRect();\n }\n\n return {\n top: 0,\n left: 0\n };\n },\n getActiveAnchorIndex: function getActiveAnchorIndex(scrollTop, rects) {\n for (var i = this.children.length - 1; i >= 0; i--) {\n var prevHeight = i > 0 ? rects[i - 1].height : 0;\n var reachTop = this.sticky ? prevHeight + this.stickyOffsetTop : 0;\n\n if (scrollTop + reachTop >= rects[i].top) {\n return i;\n }\n }\n\n return -1;\n },\n onClick: function onClick(event) {\n this.scrollToElement(event.target);\n },\n onTouchMove: function onTouchMove(event) {\n this.touchMove(event);\n\n if (this.direction === 'vertical') {\n preventDefault(event);\n var _event$touches$ = event.touches[0],\n clientX = _event$touches$.clientX,\n clientY = _event$touches$.clientY;\n var target = document.elementFromPoint(clientX, clientY);\n\n if (target) {\n var index = target.dataset.index;\n /* istanbul ignore else */\n\n if (this.touchActiveIndex !== index) {\n this.touchActiveIndex = index;\n this.scrollToElement(target);\n }\n }\n }\n },\n scrollTo: function scrollTo(index) {\n var match = this.children.filter(function (item) {\n return String(item.index) === index;\n });\n\n if (match[0]) {\n match[0].scrollIntoView();\n\n if (this.sticky && this.stickyOffsetTop) {\n setRootScrollTop(getRootScrollTop() - this.stickyOffsetTop);\n }\n\n this.$emit('select', match[0].index);\n }\n },\n scrollToElement: function scrollToElement(element) {\n var index = element.dataset.index;\n this.scrollTo(index);\n },\n onTouchEnd: function onTouchEnd() {\n this.active = null;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var Indexes = this.indexList.map(function (index) {\n var active = index === _this2.activeAnchorIndex;\n return h(\"span\", {\n \"class\": bem('index', {\n active: active\n }),\n \"style\": active ? _this2.highlightStyle : null,\n \"attrs\": {\n \"data-index\": index\n }\n }, [index]);\n });\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"class\": bem('sidebar'),\n \"style\": this.sidebarStyle,\n \"on\": {\n \"click\": this.onClick,\n \"touchstart\": this.touchStart,\n \"touchmove\": this.onTouchMove,\n \"touchend\": this.onTouchEnd,\n \"touchcancel\": this.onTouchEnd\n }\n }, [Indexes]), this.slots('default')]);\n }\n});","// Utils\nimport { createNamespace } from '../utils';\nimport { isHidden } from '../utils/dom/style';\nimport { getScroller } from '../utils/dom/scroll'; // Mixins\n\nimport { BindEventMixin } from '../mixins/bind-event'; // Components\n\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('list'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n bind(this.scroller, 'scroll', this.check);\n })],\n model: {\n prop: 'loading'\n },\n props: {\n error: Boolean,\n loading: Boolean,\n finished: Boolean,\n errorText: String,\n loadingText: String,\n finishedText: String,\n immediateCheck: {\n type: Boolean,\n default: true\n },\n offset: {\n type: [Number, String],\n default: 300\n },\n direction: {\n type: String,\n default: 'down'\n }\n },\n data: function data() {\n return {\n // use sync innerLoading state to avoid repeated loading in some edge cases\n innerLoading: this.loading\n };\n },\n updated: function updated() {\n this.innerLoading = this.loading;\n },\n mounted: function mounted() {\n if (this.immediateCheck) {\n this.check();\n }\n },\n watch: {\n loading: 'check',\n finished: 'check'\n },\n methods: {\n // @exposed-api\n check: function check() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.innerLoading || _this.finished || _this.error) {\n return;\n }\n\n var el = _this.$el,\n scroller = _this.scroller,\n offset = _this.offset,\n direction = _this.direction;\n var scrollerRect;\n\n if (scroller.getBoundingClientRect) {\n scrollerRect = scroller.getBoundingClientRect();\n } else {\n scrollerRect = {\n top: 0,\n bottom: scroller.innerHeight\n };\n }\n\n var scrollerHeight = scrollerRect.bottom - scrollerRect.top;\n /* istanbul ignore next */\n\n if (!scrollerHeight || isHidden(el)) {\n return false;\n }\n\n var isReachEdge = false;\n\n var placeholderRect = _this.$refs.placeholder.getBoundingClientRect();\n\n if (direction === 'up') {\n isReachEdge = scrollerRect.top - placeholderRect.top <= offset;\n } else {\n isReachEdge = placeholderRect.bottom - scrollerRect.bottom <= offset;\n }\n\n if (isReachEdge) {\n _this.innerLoading = true;\n\n _this.$emit('input', true);\n\n _this.$emit('load');\n }\n });\n },\n clickErrorText: function clickErrorText() {\n this.$emit('update:error', false);\n this.check();\n },\n genLoading: function genLoading() {\n var h = this.$createElement;\n\n if (this.innerLoading && !this.finished) {\n return h(\"div\", {\n \"key\": \"loading\",\n \"class\": bem('loading')\n }, [this.slots('loading') || h(Loading, {\n \"attrs\": {\n \"size\": \"16\"\n }\n }, [this.loadingText || t('loading')])]);\n }\n },\n genFinishedText: function genFinishedText() {\n var h = this.$createElement;\n\n if (this.finished) {\n var text = this.slots('finished') || this.finishedText;\n\n if (text) {\n return h(\"div\", {\n \"class\": bem('finished-text')\n }, [text]);\n }\n }\n },\n genErrorText: function genErrorText() {\n var h = this.$createElement;\n\n if (this.error) {\n var text = this.slots('error') || this.errorText;\n\n if (text) {\n return h(\"div\", {\n \"on\": {\n \"click\": this.clickErrorText\n },\n \"class\": bem('error-text')\n }, [text]);\n }\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var Placeholder = h(\"div\", {\n \"ref\": \"placeholder\",\n \"key\": \"placeholder\",\n \"class\": bem('placeholder')\n });\n return h(\"div\", {\n \"class\": bem(),\n \"attrs\": {\n \"role\": \"feed\",\n \"aria-busy\": this.innerLoading\n }\n }, [this.direction === 'down' ? this.slots() : Placeholder, this.genLoading(), this.genFinishedText(), this.genErrorText(), this.direction === 'up' ? this.slots() : Placeholder]);\n }\n});","// Utils\nimport { createNamespace } from '../utils';\nimport { BORDER_BOTTOM } from '../utils/constant'; // Components\n\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('nav-bar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n title: String,\n fixed: Boolean,\n zIndex: [Number, String],\n leftText: String,\n rightText: String,\n leftArrow: Boolean,\n placeholder: Boolean,\n safeAreaInsetTop: Boolean,\n border: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n height: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n if (this.placeholder && this.fixed) {\n var setHeight = function setHeight() {\n _this.height = _this.$refs.navBar.getBoundingClientRect().height;\n };\n\n setHeight(); // https://github.com/vant-ui/vant/issues/10131\n\n setTimeout(setHeight, 100);\n }\n },\n methods: {\n genLeft: function genLeft() {\n var h = this.$createElement;\n var leftSlot = this.slots('left');\n\n if (leftSlot) {\n return leftSlot;\n }\n\n return [this.leftArrow && h(Icon, {\n \"class\": bem('arrow'),\n \"attrs\": {\n \"name\": \"arrow-left\"\n }\n }), this.leftText && h(\"span\", {\n \"class\": bem('text')\n }, [this.leftText])];\n },\n genRight: function genRight() {\n var h = this.$createElement;\n var rightSlot = this.slots('right');\n\n if (rightSlot) {\n return rightSlot;\n }\n\n if (this.rightText) {\n return h(\"span\", {\n \"class\": bem('text')\n }, [this.rightText]);\n }\n },\n genNavBar: function genNavBar() {\n var _ref;\n\n var h = this.$createElement;\n return h(\"div\", {\n \"ref\": \"navBar\",\n \"style\": {\n zIndex: this.zIndex\n },\n \"class\": [bem({\n fixed: this.fixed,\n 'safe-area-inset-top': this.safeAreaInsetTop\n }), (_ref = {}, _ref[BORDER_BOTTOM] = this.border, _ref)]\n }, [h(\"div\", {\n \"class\": bem('content')\n }, [this.hasLeft() && h(\"div\", {\n \"class\": bem('left'),\n \"on\": {\n \"click\": this.onClickLeft\n }\n }, [this.genLeft()]), h(\"div\", {\n \"class\": [bem('title'), 'van-ellipsis']\n }, [this.slots('title') || this.title]), this.hasRight() && h(\"div\", {\n \"class\": bem('right'),\n \"on\": {\n \"click\": this.onClickRight\n }\n }, [this.genRight()])])]);\n },\n hasLeft: function hasLeft() {\n return this.leftArrow || this.leftText || this.slots('left');\n },\n hasRight: function hasRight() {\n return this.rightText || this.slots('right');\n },\n onClickLeft: function onClickLeft(event) {\n this.$emit('click-left', event);\n },\n onClickRight: function onClickRight(event) {\n this.$emit('click-right', event);\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (this.placeholder && this.fixed) {\n return h(\"div\", {\n \"class\": bem('placeholder'),\n \"style\": {\n height: this.height + \"px\"\n }\n }, [this.genNavBar()]);\n }\n\n return this.genNavBar();\n }\n});","import { createNamespace, isDef } from '../utils';\nimport { doubleRaf, raf } from '../utils/dom/raf';\nimport { BindEventMixin } from '../mixins/bind-event';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('notice-bar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind) {\n // fix cache issues with forwards and back history in safari\n // see: https://guwii.com/cache-issues-with-forwards-and-back-history-in-safari/\n bind(window, 'pageshow', this.reset);\n })],\n inject: {\n vanPopup: {\n default: null\n }\n },\n props: {\n text: String,\n mode: String,\n color: String,\n leftIcon: String,\n wrapable: Boolean,\n background: String,\n scrollable: {\n type: Boolean,\n default: null\n },\n delay: {\n type: [Number, String],\n default: 1\n },\n speed: {\n type: [Number, String],\n default: 60\n }\n },\n data: function data() {\n return {\n show: true,\n offset: 0,\n duration: 0,\n wrapWidth: 0,\n contentWidth: 0\n };\n },\n watch: {\n scrollable: 'reset',\n text: {\n handler: 'reset',\n immediate: true\n }\n },\n created: function created() {\n // https://github.com/vant-ui/vant/issues/8634\n if (this.vanPopup) {\n this.vanPopup.onReopen(this.reset);\n }\n },\n activated: function activated() {\n this.reset();\n },\n methods: {\n onClickIcon: function onClickIcon(event) {\n if (this.mode === 'closeable') {\n this.show = false;\n this.$emit('close', event);\n }\n },\n onTransitionEnd: function onTransitionEnd() {\n var _this = this;\n\n this.offset = this.wrapWidth;\n this.duration = 0; // wait for Vue to render offset\n // using nextTick won't work in iOS14\n\n raf(function () {\n // use double raf to ensure animation can start\n doubleRaf(function () {\n _this.offset = -_this.contentWidth;\n _this.duration = (_this.contentWidth + _this.wrapWidth) / _this.speed;\n\n _this.$emit('replay');\n });\n });\n },\n // not an exposed-api, but may used by some users\n start: function start() {\n this.reset();\n },\n // @exposed-api\n reset: function reset() {\n var _this2 = this;\n\n var delay = isDef(this.delay) ? this.delay * 1000 : 0;\n this.offset = 0;\n this.duration = 0;\n this.wrapWidth = 0;\n this.contentWidth = 0;\n clearTimeout(this.startTimer);\n this.startTimer = setTimeout(function () {\n var _this2$$refs = _this2.$refs,\n wrap = _this2$$refs.wrap,\n content = _this2$$refs.content;\n\n if (!wrap || !content || _this2.scrollable === false) {\n return;\n }\n\n var wrapWidth = wrap.getBoundingClientRect().width;\n var contentWidth = content.getBoundingClientRect().width;\n\n if (_this2.scrollable || contentWidth > wrapWidth) {\n doubleRaf(function () {\n _this2.offset = -contentWidth;\n _this2.duration = contentWidth / _this2.speed;\n _this2.wrapWidth = wrapWidth;\n _this2.contentWidth = contentWidth;\n });\n }\n }, delay);\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n var slots = this.slots,\n mode = this.mode,\n leftIcon = this.leftIcon,\n onClickIcon = this.onClickIcon;\n var barStyle = {\n color: this.color,\n background: this.background\n };\n var contentStyle = {\n transform: this.offset ? \"translateX(\" + this.offset + \"px)\" : '',\n transitionDuration: this.duration + 's'\n };\n\n function LeftIcon() {\n var slot = slots('left-icon');\n\n if (slot) {\n return slot;\n }\n\n if (leftIcon) {\n return h(Icon, {\n \"class\": bem('left-icon'),\n \"attrs\": {\n \"name\": leftIcon\n }\n });\n }\n }\n\n function RightIcon() {\n var slot = slots('right-icon');\n\n if (slot) {\n return slot;\n }\n\n var iconName;\n\n if (mode === 'closeable') {\n iconName = 'cross';\n } else if (mode === 'link') {\n iconName = 'arrow';\n }\n\n if (iconName) {\n return h(Icon, {\n \"class\": bem('right-icon'),\n \"attrs\": {\n \"name\": iconName\n },\n \"on\": {\n \"click\": onClickIcon\n }\n });\n }\n }\n\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"alert\"\n },\n \"directives\": [{\n name: \"show\",\n value: this.show\n }],\n \"class\": bem({\n wrapable: this.wrapable\n }),\n \"style\": barStyle,\n \"on\": {\n \"click\": function click(event) {\n _this3.$emit('click', event);\n }\n }\n }, [LeftIcon(), h(\"div\", {\n \"ref\": \"wrap\",\n \"class\": bem('wrap'),\n \"attrs\": {\n \"role\": \"marquee\"\n }\n }, [h(\"div\", {\n \"ref\": \"content\",\n \"class\": [bem('content'), {\n 'van-ellipsis': this.scrollable === false && !this.wrapable\n }],\n \"style\": contentStyle,\n \"on\": {\n \"transitionend\": this.onTransitionEnd\n }\n }, [this.slots() || this.text])]), RightIcon()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit } from '../utils/functional'; // Mixins\n\nimport { popupMixinProps } from '../mixins/popup'; // Components\n\nimport Popup from '../popup'; // Types\n\nvar _createNamespace = createNamespace('notify'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Notify(h, props, slots, ctx) {\n var style = {\n color: props.color,\n background: props.background\n };\n return h(Popup, _mergeJSXProps([{\n \"attrs\": {\n \"value\": props.value,\n \"position\": \"top\",\n \"overlay\": false,\n \"duration\": 0.2,\n \"lockScroll\": false\n },\n \"style\": style,\n \"class\": [bem([props.type]), props.className]\n }, inherit(ctx, true)]), [(slots.default == null ? void 0 : slots.default()) || props.message]);\n}\n\nNotify.props = _extends({}, popupMixinProps, {\n color: String,\n message: [Number, String],\n duration: [Number, String],\n className: null,\n background: String,\n getContainer: [String, Function],\n type: {\n type: String,\n default: 'danger'\n }\n});\nexport default createComponent(Notify);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport VanNotify from './Notify';\nimport { isObject, isServer } from '../utils';\nimport { mount } from '../utils/functional';\nvar timer;\nvar instance;\n\nfunction parseOptions(message) {\n return isObject(message) ? message : {\n message: message\n };\n}\n\nfunction Notify(options) {\n /* istanbul ignore if */\n if (isServer) {\n return;\n }\n\n if (!instance) {\n instance = mount(VanNotify, {\n on: {\n click: function click(event) {\n if (instance.onClick) {\n instance.onClick(event);\n }\n },\n close: function close() {\n if (instance.onClose) {\n instance.onClose();\n }\n },\n opened: function opened() {\n if (instance.onOpened) {\n instance.onOpened();\n }\n }\n }\n });\n }\n\n options = _extends({}, Notify.currentOptions, parseOptions(options));\n\n _extends(instance, options);\n\n clearTimeout(timer);\n\n if (options.duration && options.duration > 0) {\n timer = setTimeout(Notify.clear, options.duration);\n }\n\n return instance;\n}\n\nfunction defaultOptions() {\n return {\n type: 'danger',\n value: true,\n message: '',\n color: undefined,\n background: undefined,\n duration: 3000,\n className: '',\n onClose: null,\n onClick: null,\n onOpened: null\n };\n}\n\nNotify.clear = function () {\n if (instance) {\n instance.value = false;\n }\n};\n\nNotify.currentOptions = defaultOptions();\n\nNotify.setDefaultOptions = function (options) {\n _extends(Notify.currentOptions, options);\n};\n\nNotify.resetDefaultOptions = function () {\n Notify.currentOptions = defaultOptions();\n};\n\nNotify.install = function () {\n Vue.use(VanNotify);\n};\n\nNotify.Component = VanNotify;\nVue.prototype.$notify = Notify;\nexport default Notify;","export default {\n render: function render() {\n var h = arguments[0];\n return h(\"svg\", {\n \"attrs\": {\n \"viewBox\": \"0 0 32 22\",\n \"xmlns\": \"http://www.w3.org/2000/svg\"\n }\n }, [h(\"path\", {\n \"attrs\": {\n \"d\": \"M28.016 0A3.991 3.991 0 0132 3.987v14.026c0 2.2-1.787 3.987-3.98 3.987H10.382c-.509 0-.996-.206-1.374-.585L.89 13.09C.33 12.62 0 11.84 0 11.006c0-.86.325-1.62.887-2.08L9.01.585A1.936 1.936 0 0110.383 0zm0 1.947H10.368L2.24 10.28c-.224.226-.312.432-.312.73 0 .287.094.51.312.729l8.128 8.333h17.648a2.041 2.041 0 002.037-2.04V3.987c0-1.127-.915-2.04-2.037-2.04zM23.028 6a.96.96 0 01.678.292.95.95 0 01-.003 1.377l-3.342 3.348 3.326 3.333c.189.188.292.43.292.679 0 .248-.103.49-.292.679a.96.96 0 01-.678.292.959.959 0 01-.677-.292L18.99 12.36l-3.343 3.345a.96.96 0 01-.677.292.96.96 0 01-.678-.292.962.962 0 01-.292-.68c0-.248.104-.49.292-.679l3.342-3.348-3.342-3.348A.963.963 0 0114 6.971c0-.248.104-.49.292-.679A.96.96 0 0114.97 6a.96.96 0 01.677.292l3.358 3.348 3.345-3.348A.96.96 0 0123.028 6z\",\n \"fill\": \"currentColor\"\n }\n })]);\n }\n};","export default {\n render: function render() {\n var h = arguments[0];\n return h(\"svg\", {\n \"attrs\": {\n \"viewBox\": \"0 0 30 24\",\n \"xmlns\": \"http://www.w3.org/2000/svg\"\n }\n }, [h(\"path\", {\n \"attrs\": {\n \"d\": \"M25.877 12.843h-1.502c-.188 0-.188 0-.188.19v1.512c0 .188 0 .188.188.188h1.5c.187 0 .187 0 .187-.188v-1.511c0-.19 0-.191-.185-.191zM17.999 10.2c0 .188 0 .188.188.188h1.687c.188 0 .188 0 .188-.188V8.688c0-.187.004-.187-.186-.19h-1.69c-.187 0-.187 0-.187.19V10.2zm2.25-3.967h1.5c.188 0 .188 0 .188-.188v-1.7c0-.19 0-.19-.188-.19h-1.5c-.189 0-.189 0-.189.19v1.7c0 .188 0 .188.19.188zm2.063 4.157h3.563c.187 0 .187 0 .187-.189V4.346c0-.19.004-.19-.185-.19h-1.69c-.187 0-.187 0-.187.188v4.155h-1.688c-.187 0-.187 0-.187.189v1.514c0 .19 0 .19.187.19zM14.812 24l2.812-3.4H12l2.813 3.4zm-9-11.157H4.31c-.188 0-.188 0-.188.19v1.512c0 .188 0 .188.188.188h1.502c.187 0 .187 0 .187-.188v-1.511c0-.19.01-.191-.189-.191zm15.937 0H8.25c-.188 0-.188 0-.188.19v1.512c0 .188 0 .188.188.188h13.5c.188 0 .188 0 .188-.188v-1.511c0-.19 0-.191-.188-.191zm-11.438-2.454h1.5c.188 0 .188 0 .188-.188V8.688c0-.187 0-.187-.188-.189h-1.5c-.187 0-.187 0-.187.189V10.2c0 .188 0 .188.187.188zM27.94 0c.563 0 .917.21 1.313.567.518.466.748.757.748 1.51v14.92c0 .567-.188 1.134-.562 1.512-.376.378-.938.566-1.313.566H2.063c-.563 0-.938-.188-1.313-.566-.562-.378-.75-.945-.75-1.511V2.078C0 1.51.188.944.562.567.938.189 1.5 0 1.875 0zm-.062 2H2v14.92h25.877V2zM5.81 4.157c.19 0 .19 0 .19.189v1.762c-.003.126-.024.126-.188.126H4.249c-.126-.003-.126-.023-.126-.188v-1.7c-.187-.19 0-.19.188-.19zm10.5 2.077h1.503c.187 0 .187 0 .187-.188v-1.7c0-.19 0-.19-.187-.19h-1.502c-.188 0-.188.001-.188.19v1.7c0 .188 0 .188.188.188zM7.875 8.5c.187 0 .187.002.187.189V10.2c0 .188 0 .188-.187.188H4.249c-.126-.002-.126-.023-.126-.188V8.625c.003-.126.024-.126.188-.126zm7.875 0c.19.002.19.002.19.189v1.575c-.003.126-.024.126-.19.126h-1.563c-.126-.002-.126-.023-.126-.188V8.625c.002-.126.023-.126.189-.126zm-6-4.342c.187 0 .187 0 .187.189v1.7c0 .188 0 .188-.187.188H8.187c-.126-.003-.126-.023-.126-.188V4.283c.003-.126.024-.126.188-.126zm3.94 0c.185 0 .372 0 .372.189v1.762c-.002.126-.023.126-.187.126h-1.75C12 6.231 12 6.211 12 6.046v-1.7c0-.19.187-.19.187-.19z\",\n \"fill\": \"currentColor\"\n }\n })]);\n }\n};","import { createNamespace } from '../utils';\nimport { TouchMixin } from '../mixins/touch';\nimport Loading from '../loading';\nimport DeleteIcon from './DeleteIcon';\nimport CollapseIcon from './CollapseIcon';\n\nvar _createNamespace = createNamespace('key'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [TouchMixin],\n props: {\n type: String,\n text: [Number, String],\n color: String,\n wider: Boolean,\n large: Boolean,\n loading: Boolean\n },\n data: function data() {\n return {\n active: false\n };\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$el);\n },\n methods: {\n onTouchStart: function onTouchStart(event) {\n // compatible with Vue 2.6 event bubble bug\n event.stopPropagation();\n this.touchStart(event);\n this.active = true;\n },\n onTouchMove: function onTouchMove(event) {\n this.touchMove(event);\n\n if (this.direction) {\n this.active = false;\n }\n },\n onTouchEnd: function onTouchEnd(event) {\n if (this.active) {\n // eliminate tap delay on safari\n // see: https://github.com/vant-ui/vant/issues/6836\n if (!this.slots('default')) {\n event.preventDefault();\n }\n\n this.active = false;\n this.$emit('press', this.text, this.type);\n }\n },\n genContent: function genContent() {\n var h = this.$createElement;\n var isExtra = this.type === 'extra';\n var isDelete = this.type === 'delete';\n var text = this.slots('default') || this.text;\n\n if (this.loading) {\n return h(Loading, {\n \"class\": bem('loading-icon')\n });\n }\n\n if (isDelete) {\n return text || h(DeleteIcon, {\n \"class\": bem('delete-icon')\n });\n }\n\n if (isExtra) {\n return text || h(CollapseIcon, {\n \"class\": bem('collapse-icon')\n });\n }\n\n return text;\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem('wrapper', {\n wider: this.wider\n })\n }, [h(\"div\", {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\"\n },\n \"class\": bem([this.color, {\n large: this.large,\n active: this.active,\n delete: this.type === 'delete'\n }])\n }, [this.genContent()])]);\n }\n});","import { createNamespace } from '../utils';\nimport { stopPropagation } from '../utils/dom/event';\nimport { PortalMixin } from '../mixins/portal';\nimport { BindEventMixin } from '../mixins/bind-event';\nimport Key from './Key';\n\nvar _createNamespace = createNamespace('number-keyboard'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [PortalMixin(), BindEventMixin(function (bind) {\n if (this.hideOnClickOutside) {\n bind(document.body, 'touchstart', this.onBlur);\n }\n })],\n model: {\n event: 'update:value'\n },\n props: {\n show: Boolean,\n title: String,\n zIndex: [Number, String],\n randomKeyOrder: Boolean,\n closeButtonText: String,\n deleteButtonText: String,\n closeButtonLoading: Boolean,\n theme: {\n type: String,\n default: 'default'\n },\n value: {\n type: String,\n default: ''\n },\n extraKey: {\n type: [String, Array],\n default: ''\n },\n maxlength: {\n type: [Number, String],\n default: Number.MAX_VALUE\n },\n transition: {\n type: Boolean,\n default: true\n },\n showDeleteKey: {\n type: Boolean,\n default: true\n },\n hideOnClickOutside: {\n type: Boolean,\n default: true\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n }\n },\n watch: {\n show: function show(val) {\n if (!this.transition) {\n this.$emit(val ? 'show' : 'hide');\n }\n }\n },\n computed: {\n keys: function keys() {\n if (this.theme === 'custom') {\n return this.genCustomKeys();\n }\n\n return this.genDefaultKeys();\n }\n },\n methods: {\n genBasicKeys: function genBasicKeys() {\n var keys = [];\n\n for (var i = 1; i <= 9; i++) {\n keys.push({\n text: i\n });\n }\n\n if (this.randomKeyOrder) {\n keys.sort(function () {\n return Math.random() > 0.5 ? 1 : -1;\n });\n }\n\n return keys;\n },\n genDefaultKeys: function genDefaultKeys() {\n return [].concat(this.genBasicKeys(), [{\n text: this.extraKey,\n type: 'extra'\n }, {\n text: 0\n }, {\n text: this.showDeleteKey ? this.deleteButtonText : '',\n type: this.showDeleteKey ? 'delete' : ''\n }]);\n },\n genCustomKeys: function genCustomKeys() {\n var keys = this.genBasicKeys();\n var extraKey = this.extraKey;\n var extraKeys = Array.isArray(extraKey) ? extraKey : [extraKey];\n\n if (extraKeys.length === 1) {\n keys.push({\n text: 0,\n wider: true\n }, {\n text: extraKeys[0],\n type: 'extra'\n });\n } else if (extraKeys.length === 2) {\n keys.push({\n text: extraKeys[0],\n type: 'extra'\n }, {\n text: 0\n }, {\n text: extraKeys[1],\n type: 'extra'\n });\n }\n\n return keys;\n },\n onBlur: function onBlur() {\n this.show && this.$emit('blur');\n },\n onClose: function onClose() {\n this.$emit('close');\n this.onBlur();\n },\n onAnimationEnd: function onAnimationEnd() {\n this.$emit(this.show ? 'show' : 'hide');\n },\n onPress: function onPress(text, type) {\n if (text === '') {\n if (type === 'extra') {\n this.onBlur();\n }\n\n return;\n }\n\n var value = this.value;\n\n if (type === 'delete') {\n this.$emit('delete');\n this.$emit('update:value', value.slice(0, value.length - 1));\n } else if (type === 'close') {\n this.onClose();\n } else if (value.length < this.maxlength) {\n this.$emit('input', text);\n this.$emit('update:value', value + text);\n }\n },\n genTitle: function genTitle() {\n var h = this.$createElement;\n var title = this.title,\n theme = this.theme,\n closeButtonText = this.closeButtonText;\n var titleLeft = this.slots('title-left');\n var showClose = closeButtonText && theme === 'default';\n var showTitle = title || showClose || titleLeft;\n\n if (!showTitle) {\n return;\n }\n\n return h(\"div\", {\n \"class\": bem('header')\n }, [titleLeft && h(\"span\", {\n \"class\": bem('title-left')\n }, [titleLeft]), title && h(\"h2\", {\n \"class\": bem('title')\n }, [title]), showClose && h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": bem('close'),\n \"on\": {\n \"click\": this.onClose\n }\n }, [closeButtonText])]);\n },\n genKeys: function genKeys() {\n var _this = this;\n\n var h = this.$createElement;\n return this.keys.map(function (key) {\n return h(Key, {\n \"key\": key.text,\n \"attrs\": {\n \"text\": key.text,\n \"type\": key.type,\n \"wider\": key.wider,\n \"color\": key.color\n },\n \"on\": {\n \"press\": _this.onPress\n }\n }, [key.type === 'delete' && _this.slots('delete'), key.type === 'extra' && _this.slots('extra-key')]);\n });\n },\n genSidebar: function genSidebar() {\n var h = this.$createElement;\n\n if (this.theme === 'custom') {\n return h(\"div\", {\n \"class\": bem('sidebar')\n }, [this.showDeleteKey && h(Key, {\n \"attrs\": {\n \"large\": true,\n \"text\": this.deleteButtonText,\n \"type\": \"delete\"\n },\n \"on\": {\n \"press\": this.onPress\n }\n }, [this.slots('delete')]), h(Key, {\n \"attrs\": {\n \"large\": true,\n \"text\": this.closeButtonText,\n \"type\": \"close\",\n \"color\": \"blue\",\n \"loading\": this.closeButtonLoading\n },\n \"on\": {\n \"press\": this.onPress\n }\n })]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var Title = this.genTitle();\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition ? 'van-slide-up' : ''\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.show\n }],\n \"style\": {\n zIndex: this.zIndex\n },\n \"class\": bem({\n unfit: !this.safeAreaInsetBottom,\n 'with-title': Title\n }),\n \"on\": {\n \"touchstart\": stopPropagation,\n \"animationend\": this.onAnimationEnd,\n \"webkitAnimationEnd\": this.onAnimationEnd\n }\n }, [Title, h(\"div\", {\n \"class\": bem('body')\n }, [h(\"div\", {\n \"class\": bem('keys')\n }, [this.genKeys()]), this.genSidebar()])])]);\n }\n});","import { createNamespace } from '../utils';\nimport { BORDER } from '../utils/constant';\n\nvar _createNamespace = createNamespace('pagination'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction makePage(number, text, active) {\n return {\n number: number,\n text: text,\n active: active\n };\n}\n\nexport default createComponent({\n props: {\n prevText: String,\n nextText: String,\n forceEllipses: Boolean,\n mode: {\n type: String,\n default: 'multi'\n },\n value: {\n type: Number,\n default: 0\n },\n pageCount: {\n type: [Number, String],\n default: 0\n },\n totalItems: {\n type: [Number, String],\n default: 0\n },\n itemsPerPage: {\n type: [Number, String],\n default: 10\n },\n showPageSize: {\n type: [Number, String],\n default: 5\n }\n },\n computed: {\n count: function count() {\n var count = this.pageCount || Math.ceil(this.totalItems / this.itemsPerPage);\n return Math.max(1, count);\n },\n pages: function pages() {\n var pages = [];\n var pageCount = this.count;\n var showPageSize = +this.showPageSize;\n\n if (this.mode !== 'multi') {\n return pages;\n } // Default page limits\n\n\n var startPage = 1;\n var endPage = pageCount;\n var isMaxSized = showPageSize < pageCount; // recompute if showPageSize\n\n if (isMaxSized) {\n // Current page is displayed in the middle of the visible ones\n startPage = Math.max(this.value - Math.floor(showPageSize / 2), 1);\n endPage = startPage + showPageSize - 1; // Adjust if limit is exceeded\n\n if (endPage > pageCount) {\n endPage = pageCount;\n startPage = endPage - showPageSize + 1;\n }\n } // Add page number links\n\n\n for (var number = startPage; number <= endPage; number++) {\n var page = makePage(number, number, number === this.value);\n pages.push(page);\n } // Add links to move between page sets\n\n\n if (isMaxSized && showPageSize > 0 && this.forceEllipses) {\n if (startPage > 1) {\n var previousPageSet = makePage(startPage - 1, '...', false);\n pages.unshift(previousPageSet);\n }\n\n if (endPage < pageCount) {\n var nextPageSet = makePage(endPage + 1, '...', false);\n pages.push(nextPageSet);\n }\n }\n\n return pages;\n }\n },\n watch: {\n value: {\n handler: function handler(page) {\n this.select(page || this.value);\n },\n immediate: true\n }\n },\n methods: {\n select: function select(page, emitChange) {\n page = Math.min(this.count, Math.max(1, page));\n\n if (this.value !== page) {\n this.$emit('input', page);\n\n if (emitChange) {\n this.$emit('change', page);\n }\n }\n }\n },\n render: function render() {\n var _this = this,\n _this$slots,\n _this$slots3;\n\n var h = arguments[0];\n var value = this.value;\n var simple = this.mode !== 'multi';\n\n var onSelect = function onSelect(value) {\n return function () {\n _this.select(value, true);\n };\n };\n\n return h(\"ul\", {\n \"class\": bem({\n simple: simple\n })\n }, [h(\"li\", {\n \"class\": [bem('item', {\n disabled: value === 1\n }), bem('prev'), BORDER],\n \"on\": {\n \"click\": onSelect(value - 1)\n }\n }, [((_this$slots = this.slots('prev-text')) != null ? _this$slots : this.prevText) || t('prev')]), this.pages.map(function (page) {\n var _this$slots2;\n\n return h(\"li\", {\n \"class\": [bem('item', {\n active: page.active\n }), bem('page'), BORDER],\n \"on\": {\n \"click\": onSelect(page.number)\n }\n }, [(_this$slots2 = _this.slots('page', page)) != null ? _this$slots2 : page.text]);\n }), simple && h(\"li\", {\n \"class\": bem('page-desc')\n }, [this.slots('pageDesc') || value + \"/\" + this.count]), h(\"li\", {\n \"class\": [bem('item', {\n disabled: value === this.count\n }), bem('next'), BORDER],\n \"on\": {\n \"click\": onSelect(value + 1)\n }\n }, [((_this$slots3 = this.slots('next-text')) != null ? _this$slots3 : this.nextText) || t('next')])]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit } from '../utils/functional';\nimport { BORDER_TOP } from '../utils/constant'; // Components\n\nimport Cell from '../cell';\nimport CellGroup from '../cell-group'; // Types\n\nvar _createNamespace = createNamespace('panel'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Panel(h, props, slots, ctx) {\n var Content = function Content() {\n return [slots.header ? slots.header() : h(Cell, {\n \"attrs\": {\n \"icon\": props.icon,\n \"label\": props.desc,\n \"title\": props.title,\n \"value\": props.status,\n \"valueClass\": bem('header-value')\n },\n \"class\": bem('header')\n }), h(\"div\", {\n \"class\": bem('content')\n }, [slots.default && slots.default()]), slots.footer && h(\"div\", {\n \"class\": [bem('footer'), BORDER_TOP]\n }, [slots.footer()])];\n };\n\n return h(CellGroup, _mergeJSXProps([{\n \"class\": bem(),\n \"scopedSlots\": {\n default: Content\n }\n }, inherit(ctx, true)]));\n}\n\nPanel.props = {\n icon: String,\n desc: String,\n title: String,\n status: String\n};\nexport default createComponent(Panel);","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { emit, inherit } from '../utils/functional';\nimport { BORDER_LEFT, BORDER_SURROUND } from '../utils/constant'; // Types\n\nvar _createNamespace = createNamespace('password-input'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction PasswordInput(h, props, slots, ctx) {\n var _ref2;\n\n var mask = props.mask,\n value = props.value,\n length = props.length,\n gutter = props.gutter,\n focused = props.focused,\n errorInfo = props.errorInfo;\n var info = errorInfo || props.info;\n var Points = [];\n\n for (var i = 0; i < length; i++) {\n var _ref;\n\n var _char = value[i];\n var showBorder = i !== 0 && !gutter;\n var showCursor = focused && i === value.length;\n var style = void 0;\n\n if (i !== 0 && gutter) {\n style = {\n marginLeft: addUnit(gutter)\n };\n }\n\n Points.push(h(\"li\", {\n \"class\": [(_ref = {}, _ref[BORDER_LEFT] = showBorder, _ref), bem('item', {\n focus: showCursor\n })],\n \"style\": style\n }, [mask ? h(\"i\", {\n \"style\": {\n visibility: _char ? 'visible' : 'hidden'\n }\n }) : _char, showCursor && h(\"div\", {\n \"class\": bem('cursor')\n })]));\n }\n\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"ul\", _mergeJSXProps([{\n \"class\": [bem('security'), (_ref2 = {}, _ref2[BORDER_SURROUND] = !gutter, _ref2)],\n \"on\": {\n \"touchstart\": function touchstart(event) {\n event.stopPropagation();\n emit(ctx, 'focus', event);\n }\n }\n }, inherit(ctx, true)]), [Points]), info && h(\"div\", {\n \"class\": bem(errorInfo ? 'error-info' : 'info')\n }, [info])]);\n}\n\nPasswordInput.props = {\n info: String,\n gutter: [Number, String],\n focused: Boolean,\n errorInfo: String,\n mask: {\n type: Boolean,\n default: true\n },\n value: {\n type: String,\n default: ''\n },\n length: {\n type: [Number, String],\n default: 6\n }\n};\nexport default createComponent(PasswordInput);","// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getWindow.js\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n if (node.toString() !== \"[object Window]\") {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n return node;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\nfunction isShadowRoot(node) {\n if (typeof ShadowRoot === \"undefined\") {\n return false;\n }\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/math.js\nvar round = Math.round;\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/userAgent.js\nfunction getUAString() {\n var uaData = navigator.userAgentData;\n if (uaData != null && uaData.brands) {\n return uaData.brands.map(function(item) {\n return item.brand + \"/\" + item.version;\n }).join(\" \");\n }\n return navigator.userAgent;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js\nfunction isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport;\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width,\n height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x,\n y\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\nfunction getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft,\n scrollTop\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js\nfunction getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js\nfunction getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\nfunction getNodeName(element) {\n return element ? (element.nodeName || \"\").toLowerCase() : null;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\nfunction getDocumentElement(element) {\n return ((isElement(element) ? element.ownerDocument : element.document) || window.document).documentElement;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\nfunction getWindowScrollBarX(element) {\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\nfunction isScrollParent(element) {\n var _getComputedStyle = getComputedStyle(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n}\nfunction getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\nfunction getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element);\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width,\n height\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\nfunction getParentNode(element) {\n if (getNodeName(element) === \"html\") {\n return element;\n }\n return element.assignedSlot || element.parentNode || (isShadowRoot(element) ? element.host : null) || getDocumentElement(element);\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js\nfunction getScrollParent(node) {\n if ([\"html\", \"body\", \"#document\"].indexOf(getNodeName(node)) >= 0) {\n return node.ownerDocument.body;\n }\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n return getScrollParent(getParentNode(node));\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js\nfunction listScrollParents(element, list) {\n var _element$ownerDocumen;\n if (list === void 0) {\n list = [];\n }\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : updatedList.concat(listScrollParents(getParentNode(target)));\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js\nfunction isTableElement(element) {\n return [\"table\", \"td\", \"th\"].indexOf(getNodeName(element)) >= 0;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === \"fixed\") {\n return null;\n }\n return element.offsetParent;\n}\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n if (isIE && isHTMLElement(element)) {\n var elementCss = getComputedStyle(element);\n if (elementCss.position === \"fixed\") {\n return null;\n }\n }\n var currentNode = getParentNode(element);\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n while (isHTMLElement(currentNode) && [\"html\", \"body\"].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode);\n if (css.transform !== \"none\" || css.perspective !== \"none\" || css.contain === \"paint\" || [\"transform\", \"perspective\"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === \"filter\" || isFirefox && css.filter && css.filter !== \"none\") {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n return null;\n}\nfunction getOffsetParent(element) {\n var window2 = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === \"static\") {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n if (offsetParent && (getNodeName(offsetParent) === \"html\" || getNodeName(offsetParent) === \"body\" && getComputedStyle(offsetParent).position === \"static\")) {\n return window2;\n }\n return offsetParent || getContainingBlock(element) || window2;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/enums.js\nvar top = \"top\";\nvar bottom = \"bottom\";\nvar right = \"right\";\nvar left = \"left\";\nvar auto = \"auto\";\nvar basePlacements = [top, bottom, right, left];\nvar start = \"start\";\nvar end = \"end\";\nvar placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nvar beforeRead = \"beforeRead\";\nvar read = \"read\";\nvar afterRead = \"afterRead\";\nvar beforeMain = \"beforeMain\";\nvar main = \"main\";\nvar afterMain = \"afterMain\";\nvar beforeWrite = \"beforeWrite\";\nvar write = \"write\";\nvar afterWrite = \"afterWrite\";\nvar modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/orderModifiers.js\nfunction order(modifiers) {\n var map = /* @__PURE__ */ new Map();\n var visited = /* @__PURE__ */ new Set();\n var result = [];\n modifiers.forEach(function(modifier) {\n map.set(modifier.name, modifier);\n });\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function(dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n modifiers.forEach(function(modifier) {\n if (!visited.has(modifier.name)) {\n sort(modifier);\n }\n });\n return result;\n}\nfunction orderModifiers(modifiers) {\n var orderedModifiers = order(modifiers);\n return modifierPhases.reduce(function(acc, phase) {\n return acc.concat(orderedModifiers.filter(function(modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/debounce.js\nfunction debounce(fn2) {\n var pending;\n return function() {\n if (!pending) {\n pending = new Promise(function(resolve) {\n Promise.resolve().then(function() {\n pending = void 0;\n resolve(fn2());\n });\n });\n }\n return pending;\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/format.js\nfunction format(str) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return [].concat(args).reduce(function(p, c) {\n return p.replace(/%s/, c);\n }, str);\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/validateModifiers.js\nvar INVALID_MODIFIER_ERROR = 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nvar MISSING_DEPENDENCY_ERROR = 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nvar VALID_PROPERTIES = [\"name\", \"enabled\", \"phase\", \"fn\", \"effect\", \"requires\", \"options\"];\nfunction validateModifiers(modifiers) {\n modifiers.forEach(function(modifier) {\n [].concat(Object.keys(modifier), VALID_PROPERTIES).filter(function(value, index, self) {\n return self.indexOf(value) === index;\n }).forEach(function(key) {\n switch (key) {\n case \"name\":\n if (typeof modifier.name !== \"string\") {\n console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '\"name\"', '\"string\"', '\"' + String(modifier.name) + '\"'));\n }\n break;\n case \"enabled\":\n if (typeof modifier.enabled !== \"boolean\") {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"enabled\"', '\"boolean\"', '\"' + String(modifier.enabled) + '\"'));\n }\n break;\n case \"phase\":\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"phase\"', \"either \" + modifierPhases.join(\", \"), '\"' + String(modifier.phase) + '\"'));\n }\n break;\n case \"fn\":\n if (typeof modifier.fn !== \"function\") {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"fn\"', '\"function\"', '\"' + String(modifier.fn) + '\"'));\n }\n break;\n case \"effect\":\n if (modifier.effect != null && typeof modifier.effect !== \"function\") {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"effect\"', '\"function\"', '\"' + String(modifier.fn) + '\"'));\n }\n break;\n case \"requires\":\n if (modifier.requires != null && !Array.isArray(modifier.requires)) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requires\"', '\"array\"', '\"' + String(modifier.requires) + '\"'));\n }\n break;\n case \"requiresIfExists\":\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requiresIfExists\"', '\"array\"', '\"' + String(modifier.requiresIfExists) + '\"'));\n }\n break;\n case \"options\":\n case \"data\":\n break;\n default:\n console.error('PopperJS: an invalid property has been provided to the \"' + modifier.name + '\" modifier, valid properties are ' + VALID_PROPERTIES.map(function(s) {\n return '\"' + s + '\"';\n }).join(\", \") + '; but \"' + key + '\" was provided.');\n }\n modifier.requires && modifier.requires.forEach(function(requirement) {\n if (modifiers.find(function(mod) {\n return mod.name === requirement;\n }) == null) {\n console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));\n }\n });\n });\n });\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/uniqueBy.js\nfunction uniqueBy(arr, fn2) {\n var identifiers = /* @__PURE__ */ new Set();\n return arr.filter(function(item) {\n var identifier = fn2(item);\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/getBasePlacement.js\nfunction getBasePlacement(placement) {\n return placement.split(\"-\")[0];\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/mergeByName.js\nfunction mergeByName(modifiers) {\n var merged = modifiers.reduce(function(merged2, current) {\n var existing = merged2[current.name];\n merged2[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged2;\n }, {});\n return Object.keys(merged).map(function(key) {\n return merged[key];\n });\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/getVariation.js\nfunction getVariation(placement) {\n return placement.split(\"-\")[1];\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js\nfunction getMainAxisFromPlacement(placement) {\n return [\"top\", \"bottom\"].indexOf(placement) >= 0 ? \"x\" : \"y\";\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/computeOffsets.js\nfunction computeOffsets(_ref) {\n var reference = _ref.reference, element = _ref.element, placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n if (mainAxis != null) {\n var len = mainAxis === \"y\" ? \"height\" : \"width\";\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n return offsets;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/createPopper.js\nvar INVALID_ELEMENT_ERROR = \"Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.\";\nvar INFINITE_LOOP_ERROR = \"Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.\";\nvar DEFAULT_OPTIONS = {\n placement: \"bottom\",\n modifiers: [],\n strategy: \"absolute\"\n};\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return !args.some(function(element) {\n return !(element && typeof element.getBoundingClientRect === \"function\");\n });\n}\nfunction popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper2(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n var state = {\n placement: \"bottom\",\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference,\n popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state,\n setOptions: function setOptions(setOptionsAction) {\n var options2 = typeof setOptionsAction === \"function\" ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options2);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n };\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers)));\n state.orderedModifiers = orderedModifiers.filter(function(m) {\n return m.enabled;\n });\n if (true) {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function(_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function(_ref2) {\n var name = _ref2.name;\n return name === \"flip\";\n });\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', \"present and enabled to work.\"].join(\" \"));\n }\n }\n var _getComputedStyle = getComputedStyle(popper), marginTop = _getComputedStyle.marginTop, marginRight = _getComputedStyle.marginRight, marginBottom = _getComputedStyle.marginBottom, marginLeft = _getComputedStyle.marginLeft;\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function(margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', \"between the popper and its reference element or boundary.\", \"To replicate margin, use the `offset` modifier, as well as\", \"the `padding` option in the `preventOverflow` and `flip`\", \"modifiers.\"].join(\" \"));\n }\n }\n runModifierEffects();\n return instance.update();\n },\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n var _state$elements = state.elements, reference2 = _state$elements.reference, popper2 = _state$elements.popper;\n if (!areValidElements(reference2, popper2)) {\n if (true) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n state.rects = {\n reference: getCompositeRect(reference2, getOffsetParent(popper2), state.options.strategy === \"fixed\"),\n popper: getLayoutRect(popper2)\n };\n state.reset = false;\n state.placement = state.options.placement;\n state.orderedModifiers.forEach(function(modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (true) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name;\n if (typeof fn2 === \"function\") {\n state = fn2({\n state,\n options: _options,\n name,\n instance\n }) || state;\n }\n }\n },\n update: debounce(function() {\n return new Promise(function(resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n if (!areValidElements(reference, popper)) {\n if (true) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n instance.setOptions(options).then(function(state2) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state2);\n }\n });\n function runModifierEffects() {\n state.orderedModifiers.forEach(function(_ref3) {\n var name = _ref3.name, _ref3$options = _ref3.options, options2 = _ref3$options === void 0 ? {} : _ref3$options, effect3 = _ref3.effect;\n if (typeof effect3 === \"function\") {\n var cleanupFn = effect3({\n state,\n name,\n instance,\n options: options2\n });\n var noopFn = function noopFn2() {\n };\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function(fn2) {\n return fn2();\n });\n effectCleanupFns = [];\n }\n return instance;\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/modifiers/eventListeners.js\nvar passive = {\n passive: true\n};\nfunction effect(_ref) {\n var state = _ref.state, instance = _ref.instance, options = _ref.options;\n var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize;\n var window2 = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n if (scroll) {\n scrollParents.forEach(function(scrollParent) {\n scrollParent.addEventListener(\"scroll\", instance.update, passive);\n });\n }\n if (resize) {\n window2.addEventListener(\"resize\", instance.update, passive);\n }\n return function() {\n if (scroll) {\n scrollParents.forEach(function(scrollParent) {\n scrollParent.removeEventListener(\"scroll\", instance.update, passive);\n });\n }\n if (resize) {\n window2.removeEventListener(\"resize\", instance.update, passive);\n }\n };\n}\nvar eventListeners_default = {\n name: \"eventListeners\",\n enabled: true,\n phase: \"write\",\n fn: function fn() {\n },\n effect,\n data: {}\n};\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\nfunction popperOffsets(_ref) {\n var state = _ref.state, name = _ref.name;\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: \"absolute\",\n placement: state.placement\n });\n}\nvar popperOffsets_default = {\n name: \"popperOffsets\",\n enabled: true,\n phase: \"read\",\n fn: popperOffsets,\n data: {}\n};\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/modifiers/computeStyles.js\nvar unsetSides = {\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\"\n};\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x, y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\nfunction mapToStyles(_ref2) {\n var _Object$assign2;\n var popper = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y;\n var _ref3 = typeof roundOffsets === \"function\" ? roundOffsets({\n x,\n y\n }) : {\n x,\n y\n };\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty(\"x\");\n var hasY = offsets.hasOwnProperty(\"y\");\n var sideX = left;\n var sideY = top;\n var win = window;\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = \"clientHeight\";\n var widthProp = \"clientWidth\";\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n if (getComputedStyle(offsetParent).position !== \"static\" && position === \"absolute\") {\n heightProp = \"scrollHeight\";\n widthProp = \"scrollWidth\";\n }\n }\n offsetParent = offsetParent;\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n var commonStyles = Object.assign({\n position\n }, adaptive && unsetSides);\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x,\n y\n }) : {\n x,\n y\n };\n x = _ref4.x;\n y = _ref4.y;\n if (gpuAcceleration) {\n var _Object$assign;\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? \"0\" : \"\", _Object$assign[sideX] = hasX ? \"0\" : \"\", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : \"\", _Object$assign2[sideX] = hasX ? x + \"px\" : \"\", _Object$assign2.transform = \"\", _Object$assign2));\n}\nfunction computeStyles(_ref5) {\n var state = _ref5.state, options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n if (true) {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || \"\";\n if (adaptive && [\"transform\", \"top\", \"right\", \"bottom\", \"left\"].some(function(property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn([\"Popper: Detected CSS transitions on at least one of the following\", 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', \"\\n\\n\", 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', \"for smooth transitions, or remove these properties from the CSS\", \"transition declaration on the popper element if only transitioning\", \"opacity or background-color for example.\", \"\\n\\n\", \"We recommend using the popper element as a wrapper around an inner\", \"element that can have any CSS property transitioned for animations.\"].join(\" \"));\n }\n }\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n isFixed: state.options.strategy === \"fixed\"\n };\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n roundOffsets\n })));\n }\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: \"absolute\",\n adaptive: false,\n roundOffsets\n })));\n }\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n \"data-popper-placement\": state.placement\n });\n}\nvar computeStyles_default = {\n name: \"computeStyles\",\n enabled: true,\n phase: \"beforeWrite\",\n fn: computeStyles,\n data: {}\n};\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/modifiers/applyStyles.js\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function(name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name];\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function(name2) {\n var value = attributes[name2];\n if (value === false) {\n element.removeAttribute(name2);\n } else {\n element.setAttribute(name2, value === true ? \"\" : value);\n }\n });\n });\n}\nfunction effect2(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: \"0\",\n top: \"0\",\n margin: \"0\"\n },\n arrow: {\n position: \"absolute\"\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n return function() {\n Object.keys(state.elements).forEach(function(name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]);\n var style = styleProperties.reduce(function(style2, property) {\n style2[property] = \"\";\n return style2;\n }, {});\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function(attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n}\nvar applyStyles_default = {\n name: \"applyStyles\",\n enabled: true,\n phase: \"write\",\n fn: applyStyles,\n effect: effect2,\n requires: [\"computeStyles\"]\n};\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/popper-lite.js\nvar defaultModifiers = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default];\nvar createPopper = /* @__PURE__ */ popperGenerator({\n defaultModifiers\n});\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/modifiers/offset.js\nfunction distanceAndSkiddingToXY(placement, rects, offset2) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n var _ref = typeof offset2 === \"function\" ? offset2(Object.assign({}, rects, {\n placement\n })) : offset2, skidding = _ref[0], distance = _ref[1];\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\nfunction offset(_ref2) {\n var state = _ref2.state, options = _ref2.options, name = _ref2.name;\n var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function(acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y;\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n state.modifiersData[name] = data;\n}\nvar offset_default = {\n name: \"offset\",\n enabled: true,\n phase: \"main\",\n requires: [\"popperOffsets\"],\n fn: offset\n};\nexport {\n createPopper,\n offset_default as offsetModifier\n};\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createPopper as _createPopper, offsetModifier } from '@vant/popperjs';\nimport { createNamespace, isServer } from '../utils';\nimport { BORDER_BOTTOM } from '../utils/constant'; // Mixins\n\nimport { ClickOutsideMixin } from '../mixins/click-outside'; // Components\n\nimport Icon from '../icon';\nimport Popup from '../popup';\n\nvar _createNamespace = createNamespace('popover'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ClickOutsideMixin({\n event: 'touchstart',\n method: 'onClickOutside'\n })],\n props: {\n value: Boolean,\n trigger: String,\n overlay: Boolean,\n offset: {\n type: Array,\n default: function _default() {\n return [0, 8];\n }\n },\n theme: {\n type: String,\n default: 'light'\n },\n actions: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n placement: {\n type: String,\n default: 'bottom'\n },\n getContainer: {\n type: [String, Function],\n default: 'body'\n },\n closeOnClickAction: {\n type: Boolean,\n default: true\n }\n },\n watch: {\n value: 'updateLocation',\n placement: 'updateLocation'\n },\n mounted: function mounted() {\n this.updateLocation();\n },\n beforeDestroy: function beforeDestroy() {\n if (this.popper) {\n if (!isServer) {\n window.removeEventListener('animationend', this.updateLocation);\n window.removeEventListener('transitionend', this.updateLocation);\n }\n\n this.popper.destroy();\n this.popper = null;\n }\n },\n methods: {\n createPopper: function createPopper() {\n var popper = _createPopper(this.$refs.wrapper, this.$refs.popover.$el, {\n placement: this.placement,\n modifiers: [{\n name: 'computeStyles',\n options: {\n adaptive: false,\n gpuAcceleration: false\n }\n }, _extends({}, offsetModifier, {\n options: {\n offset: this.offset\n }\n })]\n });\n\n if (!isServer) {\n window.addEventListener('animationend', this.updateLocation);\n window.addEventListener('transitionend', this.updateLocation);\n }\n\n return popper;\n },\n updateLocation: function updateLocation() {\n var _this = this;\n\n this.$nextTick(function () {\n if (!_this.value) {\n return;\n }\n\n if (!_this.popper) {\n _this.popper = _this.createPopper();\n } else {\n _this.popper.setOptions({\n placement: _this.placement\n });\n }\n });\n },\n renderAction: function renderAction(action, index) {\n var _this2 = this;\n\n var h = this.$createElement;\n var icon = action.icon,\n text = action.text,\n disabled = action.disabled,\n className = action.className;\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"menuitem\"\n },\n \"class\": [bem('action', {\n disabled: disabled,\n 'with-icon': icon\n }), className],\n \"on\": {\n \"click\": function click() {\n return _this2.onClickAction(action, index);\n }\n }\n }, [icon && h(Icon, {\n \"attrs\": {\n \"name\": icon\n },\n \"class\": bem('action-icon')\n }), h(\"div\", {\n \"class\": [bem('action-text'), BORDER_BOTTOM]\n }, [text])]);\n },\n onToggle: function onToggle(value) {\n this.$emit('input', value);\n },\n onClickWrapper: function onClickWrapper() {\n if (this.trigger === 'click') {\n this.onToggle(!this.value);\n }\n },\n onTouchstart: function onTouchstart(event) {\n event.stopPropagation();\n this.$emit('touchstart', event);\n },\n onClickAction: function onClickAction(action, index) {\n if (action.disabled) {\n return;\n }\n\n this.$emit('select', action, index);\n\n if (this.closeOnClickAction) {\n this.$emit('input', false);\n }\n },\n onClickOutside: function onClickOutside() {\n this.$emit('input', false);\n },\n onOpen: function onOpen() {\n this.$emit('open');\n },\n\n /* istanbul ignore next */\n onOpened: function onOpened() {\n this.$emit('opened');\n },\n onClose: function onClose() {\n this.$emit('close');\n },\n\n /* istanbul ignore next */\n onClosed: function onClosed() {\n this.$emit('closed');\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"span\", {\n \"ref\": \"wrapper\",\n \"class\": bem('wrapper'),\n \"on\": {\n \"click\": this.onClickWrapper\n }\n }, [h(Popup, {\n \"ref\": \"popover\",\n \"attrs\": {\n \"value\": this.value,\n \"overlay\": this.overlay,\n \"position\": null,\n \"transition\": \"van-popover-zoom\",\n \"lockScroll\": false,\n \"getContainer\": this.getContainer\n },\n \"class\": bem([this.theme]),\n \"on\": {\n \"open\": this.onOpen,\n \"close\": this.onClose,\n \"input\": this.onToggle,\n \"opened\": this.onOpened,\n \"closed\": this.onClosed\n },\n \"nativeOn\": {\n \"touchstart\": this.onTouchstart\n }\n }, [h(\"div\", {\n \"class\": bem('arrow')\n }), h(\"div\", {\n \"class\": bem('content'),\n \"attrs\": {\n \"role\": \"menu\"\n }\n }, [this.slots('default') || this.actions.map(this.renderAction)])]), this.slots('reference')]);\n }\n});","import { createNamespace, addUnit } from '../utils';\nimport { BindEventMixin } from '../mixins/bind-event';\n\nvar _createNamespace = createNamespace('progress'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind) {\n bind(window, 'resize', this.resize, true);\n bind(window, 'orientationchange', this.resize, true);\n })],\n props: {\n color: String,\n inactive: Boolean,\n pivotText: String,\n textColor: String,\n pivotColor: String,\n trackColor: String,\n strokeWidth: [Number, String],\n percentage: {\n type: [Number, String],\n required: true,\n validator: function validator(value) {\n return value >= 0 && value <= 100;\n }\n },\n showPivot: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n pivotWidth: 0,\n progressWidth: 0\n };\n },\n mounted: function mounted() {\n this.resize();\n },\n watch: {\n showPivot: 'resize',\n pivotText: 'resize'\n },\n methods: {\n // @exposed-api\n resize: function resize() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.progressWidth = _this.$el.offsetWidth;\n _this.pivotWidth = _this.$refs.pivot ? _this.$refs.pivot.offsetWidth : 0;\n });\n }\n },\n render: function render() {\n var h = arguments[0];\n var pivotText = this.pivotText,\n percentage = this.percentage;\n var text = pivotText != null ? pivotText : percentage + '%';\n var showPivot = this.showPivot && text;\n var background = this.inactive ? '#cacaca' : this.color;\n var pivotStyle = {\n color: this.textColor,\n left: (this.progressWidth - this.pivotWidth) * percentage / 100 + \"px\",\n background: this.pivotColor || background\n };\n var portionStyle = {\n background: background,\n width: this.progressWidth * percentage / 100 + 'px'\n };\n var wrapperStyle = {\n background: this.trackColor,\n height: addUnit(this.strokeWidth)\n };\n return h(\"div\", {\n \"class\": bem(),\n \"style\": wrapperStyle\n }, [h(\"span\", {\n \"class\": bem('portion'),\n \"style\": portionStyle\n }, [showPivot && h(\"span\", {\n \"ref\": \"pivot\",\n \"style\": pivotStyle,\n \"class\": bem('pivot')\n }, [text])])]);\n }\n});","// Utils\nimport { createNamespace } from '../utils';\nimport { preventDefault } from '../utils/dom/event';\nimport { getScrollTop, getScroller } from '../utils/dom/scroll'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch'; // Components\n\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('pull-refresh'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nvar DEFAULT_HEAD_HEIGHT = 50;\nvar TEXT_STATUS = ['pulling', 'loosing', 'success'];\nexport default createComponent({\n mixins: [TouchMixin],\n props: {\n disabled: Boolean,\n successText: String,\n pullingText: String,\n loosingText: String,\n loadingText: String,\n pullDistance: [Number, String],\n value: {\n type: Boolean,\n required: true\n },\n successDuration: {\n type: [Number, String],\n default: 500\n },\n animationDuration: {\n type: [Number, String],\n default: 300\n },\n headHeight: {\n type: [Number, String],\n default: DEFAULT_HEAD_HEIGHT\n }\n },\n data: function data() {\n return {\n status: 'normal',\n distance: 0,\n duration: 0\n };\n },\n computed: {\n touchable: function touchable() {\n return this.status !== 'loading' && this.status !== 'success' && !this.disabled;\n },\n headStyle: function headStyle() {\n if (this.headHeight !== DEFAULT_HEAD_HEIGHT) {\n return {\n height: this.headHeight + \"px\"\n };\n }\n }\n },\n watch: {\n value: function value(loading) {\n this.duration = this.animationDuration;\n\n if (loading) {\n this.setStatus(+this.headHeight, true);\n } else if (this.slots('success') || this.successText) {\n this.showSuccessTip();\n } else {\n this.setStatus(0, false);\n }\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$refs.track);\n this.scrollEl = getScroller(this.$el);\n },\n methods: {\n checkPullStart: function checkPullStart(event) {\n this.ceiling = getScrollTop(this.scrollEl) === 0;\n\n if (this.ceiling) {\n this.duration = 0;\n this.touchStart(event);\n }\n },\n onTouchStart: function onTouchStart(event) {\n if (this.touchable) {\n this.checkPullStart(event);\n }\n },\n onTouchMove: function onTouchMove(event) {\n if (!this.touchable) {\n return;\n }\n\n if (!this.ceiling) {\n this.checkPullStart(event);\n }\n\n this.touchMove(event);\n\n if (this.ceiling && this.deltaY >= 0 && this.direction === 'vertical') {\n preventDefault(event);\n this.setStatus(this.ease(this.deltaY));\n }\n },\n onTouchEnd: function onTouchEnd() {\n var _this = this;\n\n if (this.touchable && this.ceiling && this.deltaY) {\n this.duration = this.animationDuration;\n\n if (this.status === 'loosing') {\n this.setStatus(+this.headHeight, true);\n this.$emit('input', true); // ensure value change can be watched\n\n this.$nextTick(function () {\n _this.$emit('refresh');\n });\n } else {\n this.setStatus(0);\n }\n }\n },\n ease: function ease(distance) {\n var pullDistance = +(this.pullDistance || this.headHeight);\n\n if (distance > pullDistance) {\n if (distance < pullDistance * 2) {\n distance = pullDistance + (distance - pullDistance) / 2;\n } else {\n distance = pullDistance * 1.5 + (distance - pullDistance * 2) / 4;\n }\n }\n\n return Math.round(distance);\n },\n setStatus: function setStatus(distance, isLoading) {\n var status;\n\n if (isLoading) {\n status = 'loading';\n } else if (distance === 0) {\n status = 'normal';\n } else {\n status = distance < (this.pullDistance || this.headHeight) ? 'pulling' : 'loosing';\n }\n\n this.distance = distance;\n\n if (status !== this.status) {\n this.status = status;\n }\n },\n genStatus: function genStatus() {\n var h = this.$createElement;\n var status = this.status,\n distance = this.distance;\n var slot = this.slots(status, {\n distance: distance\n });\n\n if (slot) {\n return slot;\n }\n\n var nodes = [];\n var text = this[status + \"Text\"] || t(status);\n\n if (TEXT_STATUS.indexOf(status) !== -1) {\n nodes.push(h(\"div\", {\n \"class\": bem('text')\n }, [text]));\n }\n\n if (status === 'loading') {\n nodes.push(h(Loading, {\n \"attrs\": {\n \"size\": \"16\"\n }\n }, [text]));\n }\n\n return nodes;\n },\n showSuccessTip: function showSuccessTip() {\n var _this2 = this;\n\n this.status = 'success';\n setTimeout(function () {\n _this2.setStatus(0);\n }, this.successDuration);\n }\n },\n render: function render() {\n var h = arguments[0];\n var trackStyle = {\n transitionDuration: this.duration + \"ms\",\n transform: this.distance ? \"translate3d(0,\" + this.distance + \"px, 0)\" : ''\n };\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"ref\": \"track\",\n \"class\": bem('track'),\n \"style\": trackStyle\n }, [h(\"div\", {\n \"class\": bem('head'),\n \"style\": this.headStyle\n }, [this.genStatus()]), this.slots()])]);\n }\n});","// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { preventDefault } from '../utils/dom/event'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch';\nimport { FieldMixin } from '../mixins/field'; // Components\n\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('rate'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction getRateStatus(value, index, allowHalf) {\n if (value >= index) {\n return 'full';\n }\n\n if (value + 0.5 >= index && allowHalf) {\n return 'half';\n }\n\n return 'void';\n}\n\nexport default createComponent({\n mixins: [TouchMixin, FieldMixin],\n props: {\n size: [Number, String],\n color: String,\n gutter: [Number, String],\n readonly: Boolean,\n disabled: Boolean,\n allowHalf: Boolean,\n voidColor: String,\n iconPrefix: String,\n disabledColor: String,\n value: {\n type: Number,\n default: 0\n },\n icon: {\n type: String,\n default: 'star'\n },\n voidIcon: {\n type: String,\n default: 'star-o'\n },\n count: {\n type: [Number, String],\n default: 5\n },\n touchable: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n list: function list() {\n var list = [];\n\n for (var i = 1; i <= this.count; i++) {\n list.push(getRateStatus(this.value, i, this.allowHalf));\n }\n\n return list;\n },\n sizeWithUnit: function sizeWithUnit() {\n return addUnit(this.size);\n },\n gutterWithUnit: function gutterWithUnit() {\n return addUnit(this.gutter);\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$el);\n },\n methods: {\n select: function select(index) {\n if (!this.disabled && !this.readonly && index !== this.value) {\n this.$emit('input', index);\n this.$emit('change', index);\n }\n },\n onTouchStart: function onTouchStart(event) {\n var _this = this;\n\n if (this.readonly || this.disabled || !this.touchable) {\n return;\n }\n\n this.touchStart(event);\n var rects = this.$refs.items.map(function (item) {\n return item.getBoundingClientRect();\n });\n var ranges = [];\n rects.forEach(function (rect, index) {\n if (_this.allowHalf) {\n ranges.push({\n score: index + 0.5,\n left: rect.left\n }, {\n score: index + 1,\n left: rect.left + rect.width / 2\n });\n } else {\n ranges.push({\n score: index + 1,\n left: rect.left\n });\n }\n });\n this.ranges = ranges;\n },\n onTouchMove: function onTouchMove(event) {\n if (this.readonly || this.disabled || !this.touchable) {\n return;\n }\n\n this.touchMove(event);\n\n if (this.direction === 'horizontal') {\n preventDefault(event);\n var clientX = event.touches[0].clientX;\n this.select(this.getScoreByPosition(clientX));\n }\n },\n getScoreByPosition: function getScoreByPosition(x) {\n for (var i = this.ranges.length - 1; i > 0; i--) {\n if (x > this.ranges[i].left) {\n return this.ranges[i].score;\n }\n }\n\n return this.allowHalf ? 0.5 : 1;\n },\n genStar: function genStar(status, index) {\n var _this2 = this;\n\n var h = this.$createElement;\n var icon = this.icon,\n color = this.color,\n count = this.count,\n voidIcon = this.voidIcon,\n disabled = this.disabled,\n voidColor = this.voidColor,\n disabledColor = this.disabledColor;\n var score = index + 1;\n var isFull = status === 'full';\n var isVoid = status === 'void';\n var style;\n\n if (this.gutterWithUnit && score !== +count) {\n style = {\n paddingRight: this.gutterWithUnit\n };\n }\n\n return h(\"div\", {\n \"ref\": \"items\",\n \"refInFor\": true,\n \"key\": index,\n \"attrs\": {\n \"role\": \"radio\",\n \"tabindex\": \"0\",\n \"aria-setsize\": count,\n \"aria-posinset\": score,\n \"aria-checked\": String(!isVoid)\n },\n \"style\": style,\n \"class\": bem('item')\n }, [h(Icon, {\n \"attrs\": {\n \"size\": this.sizeWithUnit,\n \"name\": isFull ? icon : voidIcon,\n \"color\": disabled ? disabledColor : isFull ? color : voidColor,\n \"classPrefix\": this.iconPrefix,\n \"data-score\": score\n },\n \"class\": bem('icon', {\n disabled: disabled,\n full: isFull\n }),\n \"on\": {\n \"click\": function click() {\n _this2.select(score);\n }\n }\n }), this.allowHalf && h(Icon, {\n \"attrs\": {\n \"size\": this.sizeWithUnit,\n \"name\": isVoid ? voidIcon : icon,\n \"color\": disabled ? disabledColor : isVoid ? voidColor : color,\n \"classPrefix\": this.iconPrefix,\n \"data-score\": score - 0.5\n },\n \"class\": bem('icon', ['half', {\n disabled: disabled,\n full: !isVoid\n }]),\n \"on\": {\n \"click\": function click() {\n _this2.select(score - 0.5);\n }\n }\n })]);\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem({\n readonly: this.readonly,\n disabled: this.disabled\n }),\n \"attrs\": {\n \"tabindex\": \"0\",\n \"role\": \"radiogroup\"\n }\n }, [this.list.map(function (status, index) {\n return _this3.genStar(status, index);\n })]);\n }\n});","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('row'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanRow')],\n props: {\n type: String,\n align: String,\n justify: String,\n tag: {\n type: String,\n default: 'div'\n },\n gutter: {\n type: [Number, String],\n default: 0\n }\n },\n computed: {\n spaces: function spaces() {\n var gutter = Number(this.gutter);\n\n if (!gutter) {\n return;\n }\n\n var spaces = [];\n var groups = [[]];\n var totalSpan = 0;\n this.children.forEach(function (item, index) {\n totalSpan += Number(item.span);\n\n if (totalSpan > 24) {\n groups.push([index]);\n totalSpan -= 24;\n } else {\n groups[groups.length - 1].push(index);\n }\n });\n groups.forEach(function (group) {\n var averagePadding = gutter * (group.length - 1) / group.length;\n group.forEach(function (item, index) {\n if (index === 0) {\n spaces.push({\n right: averagePadding\n });\n } else {\n var left = gutter - spaces[item - 1].right;\n var right = averagePadding - left;\n spaces.push({\n left: left,\n right: right\n });\n }\n });\n });\n return spaces;\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n var align = this.align,\n justify = this.justify;\n var flex = this.type === 'flex';\n return h(this.tag, {\n \"class\": bem((_bem = {\n flex: flex\n }, _bem[\"align-\" + align] = flex && align, _bem[\"justify-\" + justify] = flex && justify, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots()]);\n }\n});","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit, emit } from '../utils/functional';\nimport { preventDefault } from '../utils/dom/event'; // Components\n\nimport Field from '../field'; // Types\n\nvar _createNamespace = createNamespace('search'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction Search(h, props, slots, ctx) {\n function Label() {\n if (slots.label || props.label) {\n return h(\"div\", {\n \"class\": bem('label')\n }, [slots.label ? slots.label() : props.label]);\n }\n }\n\n function Action() {\n if (!props.showAction) {\n return;\n }\n\n function onCancel() {\n if (slots.action) {\n return;\n }\n\n emit(ctx, 'input', '');\n emit(ctx, 'cancel');\n }\n\n return h(\"div\", {\n \"class\": bem('action'),\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\"\n },\n \"on\": {\n \"click\": onCancel\n }\n }, [slots.action ? slots.action() : props.actionText || t('cancel')]);\n }\n\n var fieldData = {\n attrs: ctx.data.attrs,\n on: _extends({}, ctx.listeners, {\n keypress: function keypress(event) {\n // press enter\n if (event.keyCode === 13) {\n preventDefault(event);\n emit(ctx, 'search', props.value);\n }\n\n emit(ctx, 'keypress', event);\n }\n })\n };\n var inheritData = inherit(ctx);\n inheritData.attrs = undefined;\n return h(\"div\", _mergeJSXProps2([{\n \"class\": bem({\n 'show-action': props.showAction\n }),\n \"style\": {\n background: props.background\n }\n }, inheritData]), [slots.left == null ? void 0 : slots.left(), h(\"div\", {\n \"class\": bem('content', props.shape)\n }, [Label(), h(Field, _mergeJSXProps([{\n \"attrs\": {\n \"type\": \"search\",\n \"border\": false,\n \"value\": props.value,\n \"leftIcon\": props.leftIcon,\n \"rightIcon\": props.rightIcon,\n \"clearable\": props.clearable,\n \"clearTrigger\": props.clearTrigger\n },\n \"scopedSlots\": {\n 'left-icon': slots['left-icon'],\n 'right-icon': slots['right-icon']\n }\n }, fieldData]))]), Action()]);\n}\n\nSearch.props = {\n value: String,\n label: String,\n rightIcon: String,\n actionText: String,\n background: String,\n showAction: Boolean,\n clearTrigger: String,\n shape: {\n type: String,\n default: 'square'\n },\n clearable: {\n type: Boolean,\n default: true\n },\n leftIcon: {\n type: String,\n default: 'search'\n }\n};\nexport default createComponent(Search);","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils'; // Mixins\n\nimport { popupMixinProps } from '../mixins/popup'; // Components\n\nimport Popup from '../popup';\nvar PRESET_ICONS = ['qq', 'link', 'weibo', 'wechat', 'poster', 'qrcode', 'weapp-qrcode', 'wechat-moments'];\n\nvar _createNamespace = createNamespace('share-sheet'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n props: _extends({}, popupMixinProps, {\n title: String,\n duration: String,\n cancelText: String,\n description: String,\n getContainer: [String, Function],\n options: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n overlay: {\n type: Boolean,\n default: true\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n }\n }),\n methods: {\n onCancel: function onCancel() {\n this.toggle(false);\n this.$emit('cancel');\n },\n onSelect: function onSelect(option, index) {\n this.$emit('select', option, index);\n },\n toggle: function toggle(val) {\n this.$emit('input', val);\n },\n getIconURL: function getIconURL(icon) {\n if (PRESET_ICONS.indexOf(icon) !== -1) {\n return \"https://img01.yzcdn.cn/vant/share-sheet-\" + icon + \".png\";\n }\n\n return icon;\n },\n genHeader: function genHeader() {\n var h = this.$createElement;\n var title = this.slots('title') || this.title;\n var description = this.slots('description') || this.description;\n\n if (!title && !description) {\n return;\n }\n\n return h(\"div\", {\n \"class\": bem('header')\n }, [title && h(\"h2\", {\n \"class\": bem('title')\n }, [title]), description && h(\"span\", {\n \"class\": bem('description')\n }, [description])]);\n },\n genOptions: function genOptions(options, showBorder) {\n var _this = this;\n\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": bem('options', {\n border: showBorder\n })\n }, [options.map(function (option, index) {\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\"\n },\n \"class\": [bem('option'), option.className],\n \"on\": {\n \"click\": function click() {\n _this.onSelect(option, index);\n }\n }\n }, [h(\"img\", {\n \"attrs\": {\n \"src\": _this.getIconURL(option.icon)\n },\n \"class\": bem('icon')\n }), option.name && h(\"span\", {\n \"class\": bem('name')\n }, [option.name]), option.description && h(\"span\", {\n \"class\": bem('option-description')\n }, [option.description])]);\n })]);\n },\n genRows: function genRows() {\n var _this2 = this;\n\n var options = this.options;\n\n if (Array.isArray(options[0])) {\n return options.map(function (item, index) {\n return _this2.genOptions(item, index !== 0);\n });\n }\n\n return this.genOptions(options);\n },\n genCancelText: function genCancelText() {\n var _this$cancelText;\n\n var h = this.$createElement;\n var cancelText = (_this$cancelText = this.cancelText) != null ? _this$cancelText : t('cancel');\n\n if (cancelText) {\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": bem('cancel'),\n \"on\": {\n \"click\": this.onCancel\n }\n }, [cancelText]);\n }\n },\n onClickOverlay: function onClickOverlay() {\n this.$emit('click-overlay');\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(Popup, {\n \"attrs\": {\n \"round\": true,\n \"value\": this.value,\n \"position\": \"bottom\",\n \"overlay\": this.overlay,\n \"duration\": this.duration,\n \"lazyRender\": this.lazyRender,\n \"lockScroll\": this.lockScroll,\n \"getContainer\": this.getContainer,\n \"closeOnPopstate\": this.closeOnPopstate,\n \"closeOnClickOverlay\": this.closeOnClickOverlay,\n \"safeAreaInsetBottom\": this.safeAreaInsetBottom\n },\n \"class\": bem(),\n \"on\": {\n \"input\": this.toggle,\n \"click-overlay\": this.onClickOverlay\n }\n }, [this.genHeader(), this.genRows(), this.genCancelText()]);\n }\n});","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('sidebar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanSidebar')],\n model: {\n prop: 'activeKey'\n },\n props: {\n activeKey: {\n type: [Number, String],\n default: 0\n }\n },\n data: function data() {\n return {\n index: +this.activeKey\n };\n },\n watch: {\n activeKey: function activeKey() {\n this.setIndex(+this.activeKey);\n }\n },\n methods: {\n setIndex: function setIndex(index) {\n if (index !== this.index) {\n this.index = index;\n this.$emit('change', index);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.slots()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\nimport { route, routeProps } from '../utils/router';\nimport Info from '../info';\n\nvar _createNamespace = createNamespace('sidebar-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanSidebar')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n // @deprecated\n info: [Number, String],\n badge: [Number, String],\n title: String,\n disabled: Boolean\n }),\n computed: {\n select: function select() {\n return this.index === +this.parent.activeKey;\n }\n },\n methods: {\n onClick: function onClick() {\n if (this.disabled) {\n return;\n }\n\n this.$emit('click', this.index);\n this.parent.$emit('input', this.index);\n this.parent.setIndex(this.index);\n route(this.$router, this);\n }\n },\n render: function render() {\n var _this$slots, _this$badge;\n\n var h = arguments[0];\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] SidebarItem: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n return h(\"a\", {\n \"class\": bem({\n select: this.select,\n disabled: this.disabled\n }),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('text')\n }, [(_this$slots = this.slots('title')) != null ? _this$slots : this.title, h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": (_this$badge = this.badge) != null ? _this$badge : this.info\n },\n \"class\": bem('info')\n })])]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { inherit } from '../utils/functional'; // Types\n\nvar _createNamespace = createNamespace('skeleton'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar DEFAULT_ROW_WIDTH = '100%';\nvar DEFAULT_LAST_ROW_WIDTH = '60%';\n\nfunction Skeleton(h, props, slots, ctx) {\n if (!props.loading) {\n return slots.default && slots.default();\n }\n\n function Title() {\n if (props.title) {\n return h(\"h3\", {\n \"class\": bem('title'),\n \"style\": {\n width: addUnit(props.titleWidth)\n }\n });\n }\n }\n\n function Rows() {\n var Rows = [];\n var rowWidth = props.rowWidth;\n\n function getRowWidth(index) {\n if (rowWidth === DEFAULT_ROW_WIDTH && index === +props.row - 1) {\n return DEFAULT_LAST_ROW_WIDTH;\n }\n\n if (Array.isArray(rowWidth)) {\n return rowWidth[index];\n }\n\n return rowWidth;\n }\n\n for (var i = 0; i < props.row; i++) {\n Rows.push(h(\"div\", {\n \"class\": bem('row'),\n \"style\": {\n width: addUnit(getRowWidth(i))\n }\n }));\n }\n\n return Rows;\n }\n\n function Avatar() {\n if (props.avatar) {\n var size = addUnit(props.avatarSize);\n return h(\"div\", {\n \"class\": bem('avatar', props.avatarShape),\n \"style\": {\n width: size,\n height: size\n }\n });\n }\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem({\n animate: props.animate,\n round: props.round\n })\n }, inherit(ctx)]), [Avatar(), h(\"div\", {\n \"class\": bem('content')\n }, [Title(), Rows()])]);\n}\n\nSkeleton.props = {\n title: Boolean,\n round: Boolean,\n avatar: Boolean,\n titleWidth: [Number, String],\n avatarSize: [Number, String],\n row: {\n type: [Number, String],\n default: 0\n },\n loading: {\n type: Boolean,\n default: true\n },\n animate: {\n type: Boolean,\n default: true\n },\n avatarShape: {\n type: String,\n default: 'round'\n },\n rowWidth: {\n type: [Number, String, Array],\n default: DEFAULT_ROW_WIDTH\n }\n};\nexport default createComponent(Skeleton);","/**\n * Sku only provide zh-CN lang by default\n */\nexport default {\n 'zh-CN': {\n vanSku: {\n select: '请选择',\n selected: '已选',\n selectSku: '请先选择商品规格',\n soldout: '库存不足',\n originPrice: '原价',\n minusTip: '至少选择一件',\n minusStartTip: function minusStartTip(start) {\n return start + \"\\u4EF6\\u8D77\\u552E\";\n },\n unavailable: '商品已经无法购买啦',\n stock: '剩余',\n stockUnit: '件',\n quotaTip: function quotaTip(quota) {\n return \"\\u6BCF\\u4EBA\\u9650\\u8D2D\" + quota + \"\\u4EF6\";\n },\n quotaUsedTip: function quotaUsedTip(quota, count) {\n return \"\\u6BCF\\u4EBA\\u9650\\u8D2D\" + quota + \"\\u4EF6\\uFF0C\\u4F60\\u5DF2\\u8D2D\\u4E70\" + count + \"\\u4EF6\";\n }\n },\n vanSkuActions: {\n buy: '立即购买',\n addCart: '加入购物车'\n },\n vanSkuImgUploader: {\n oversize: function oversize(maxSize) {\n return \"\\u6700\\u5927\\u53EF\\u4E0A\\u4F20\\u56FE\\u7247\\u4E3A\" + maxSize + \"MB\\uFF0C\\u8BF7\\u5C1D\\u8BD5\\u538B\\u7F29\\u56FE\\u7247\\u5C3A\\u5BF8\";\n },\n fail: '上传失败',\n uploading: '上传中...'\n },\n vanSkuStepper: {\n quotaLimit: function quotaLimit(quota) {\n return \"\\u9650\\u8D2D\" + quota + \"\\u4EF6\";\n },\n quotaStart: function quotaStart(start) {\n return start + \"\\u4EF6\\u8D77\\u552E\";\n },\n comma: ',',\n num: '购买数量'\n },\n vanSkuMessages: {\n fill: '请填写',\n upload: '请上传',\n imageLabel: '仅限一张',\n invalid: {\n tel: '请填写正确的数字格式留言',\n mobile: '手机号长度为6-20位数字',\n email: '请填写正确的邮箱',\n id_no: '请填写正确的身份证号码'\n },\n placeholder: {\n id_no: '请填写身份证号',\n text: '请填写留言',\n tel: '请填写数字',\n email: '请填写邮箱',\n date: '请选择日期',\n time: '请选择时间',\n textarea: '请填写留言',\n mobile: '请填写手机号'\n }\n },\n vanSkuRow: {\n multiple: '可多选'\n },\n vanSkuDatetimeField: {\n title: {\n date: '选择年月日',\n time: '选择时间',\n datetime: '选择日期时间'\n },\n format: {\n year: '年',\n month: '月',\n day: '日',\n hour: '时',\n minute: '分'\n }\n }\n }\n};","export var LIMIT_TYPE = {\n QUOTA_LIMIT: 0,\n STOCK_LIMIT: 1\n};\nexport var UNSELECTED_SKU_VALUE_ID = '';\nexport default {\n LIMIT_TYPE: LIMIT_TYPE,\n UNSELECTED_SKU_VALUE_ID: UNSELECTED_SKU_VALUE_ID\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { UNSELECTED_SKU_VALUE_ID } from '../constants';\n/*\n normalize sku tree\n\n [\n {\n count: 2,\n k: \"品种\", // 规格名称 skuKeyName\n k_id: \"1200\", // skuKeyId\n k_s: \"s1\" // skuKeyStr\n v: [ // skuValues\n { // skuValue\n id: \"1201\", // skuValueId\n name: \"萌\" // 具体的规格值 skuValueName\n }, {\n id: \"973\",\n name: \"帅\"\n }\n ]\n },\n ...\n ]\n |\n v\n {\n s1: [{\n id: \"1201\",\n name: \"萌\"\n }, {\n id: \"973\",\n name: \"帅\"\n }],\n ...\n }\n */\n\nexport var normalizeSkuTree = function normalizeSkuTree(skuTree) {\n var normalizedTree = {};\n skuTree.forEach(function (treeItem) {\n normalizedTree[treeItem.k_s] = treeItem.v;\n });\n return normalizedTree;\n};\nexport var normalizePropList = function normalizePropList(propList) {\n var normalizedProp = {};\n propList.forEach(function (item) {\n var itemObj = {};\n item.v.forEach(function (it) {\n itemObj[it.id] = it;\n });\n normalizedProp[item.k_id] = itemObj;\n });\n return normalizedProp;\n}; // 判断是否所有的sku都已经选中\n\nexport var isAllSelected = function isAllSelected(skuTree, selectedSku) {\n // 筛选selectedSku对象中key值不为空的值\n var selected = Object.keys(selectedSku).filter(function (skuKeyStr) {\n return selectedSku[skuKeyStr] !== UNSELECTED_SKU_VALUE_ID;\n });\n return skuTree.length === selected.length;\n}; // 根据已选择的 sku 获取 skuComb\n\nexport var getSkuComb = function getSkuComb(skuList, selectedSku) {\n var skuComb = skuList.filter(function (item) {\n return Object.keys(selectedSku).every(function (skuKeyStr) {\n return String(item[skuKeyStr]) === String(selectedSku[skuKeyStr]);\n });\n });\n return skuComb[0];\n}; // 获取已选择的sku名称\n\nexport var getSelectedSkuValues = function getSelectedSkuValues(skuTree, selectedSku) {\n var normalizedTree = normalizeSkuTree(skuTree);\n return Object.keys(selectedSku).reduce(function (selectedValues, skuKeyStr) {\n var skuValues = normalizedTree[skuKeyStr] || [];\n var skuValueId = selectedSku[skuKeyStr];\n\n if (skuValueId !== UNSELECTED_SKU_VALUE_ID && skuValues.length > 0) {\n var skuValue = skuValues.filter(function (value) {\n return value.id === skuValueId;\n })[0];\n skuValue && selectedValues.push(skuValue);\n }\n\n return selectedValues;\n }, []);\n}; // 判断sku是否可选\n\nexport var isSkuChoosable = function isSkuChoosable(skuList, selectedSku, skuToChoose) {\n var _extends2;\n\n var key = skuToChoose.key,\n valueId = skuToChoose.valueId; // 先假设sku已选中,拼入已选中sku对象中\n\n var matchedSku = _extends({}, selectedSku, (_extends2 = {}, _extends2[key] = valueId, _extends2)); // 再判断剩余sku是否全部不可选,若不可选则当前sku不可选中\n\n\n var skusToCheck = Object.keys(matchedSku).filter(function (skuKey) {\n return matchedSku[skuKey] !== UNSELECTED_SKU_VALUE_ID;\n });\n var filteredSku = skuList.filter(function (sku) {\n return skusToCheck.every(function (skuKey) {\n return String(matchedSku[skuKey]) === String(sku[skuKey]);\n });\n });\n var stock = filteredSku.reduce(function (total, sku) {\n total += sku.stock_num;\n return total;\n }, 0);\n return stock > 0;\n};\nexport var getSelectedPropValues = function getSelectedPropValues(propList, selectedProp) {\n var normalizeProp = normalizePropList(propList);\n return Object.keys(selectedProp).reduce(function (acc, cur) {\n selectedProp[cur].forEach(function (it) {\n acc.push(_extends({}, normalizeProp[cur][it]));\n });\n return acc;\n }, []);\n};\nexport var getSelectedProperties = function getSelectedProperties(propList, selectedProp) {\n var list = [];\n (propList || []).forEach(function (prop) {\n if (selectedProp[prop.k_id] && selectedProp[prop.k_id].length > 0) {\n var v = [];\n prop.v.forEach(function (it) {\n if (selectedProp[prop.k_id].indexOf(it.id) > -1) {\n v.push(_extends({}, it));\n }\n });\n list.push(_extends({}, prop, {\n v: v\n }));\n }\n });\n return list;\n};\nexport default {\n normalizeSkuTree: normalizeSkuTree,\n getSkuComb: getSkuComb,\n getSelectedSkuValues: getSelectedSkuValues,\n isAllSelected: isAllSelected,\n isSkuChoosable: isSkuChoosable,\n getSelectedPropValues: getSelectedPropValues,\n getSelectedProperties: getSelectedProperties\n};","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../../utils';\nimport { inherit } from '../../utils/functional';\nimport { BORDER_BOTTOM } from '../../utils/constant'; // Components\n\nimport Image from '../../image'; // Types\n\nvar _createNamespace = createNamespace('sku-header'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction getSkuImgValue(sku, selectedSku) {\n var imgValue;\n sku.tree.some(function (item) {\n var id = selectedSku[item.k_s];\n\n if (id && item.v) {\n var matchedSku = item.v.filter(function (skuValue) {\n return skuValue.id === id;\n })[0] || {};\n var img = matchedSku.previewImgUrl || matchedSku.imgUrl || matchedSku.img_url;\n\n if (img) {\n imgValue = _extends({}, matchedSku, {\n ks: item.k_s,\n imgUrl: img\n });\n return true;\n }\n }\n\n return false;\n });\n return imgValue;\n}\n\nfunction SkuHeader(h, props, slots, ctx) {\n var _slots$skuHeaderIma;\n\n var sku = props.sku,\n goods = props.goods,\n skuEventBus = props.skuEventBus,\n selectedSku = props.selectedSku,\n _props$showHeaderImag = props.showHeaderImage,\n showHeaderImage = _props$showHeaderImag === void 0 ? true : _props$showHeaderImag;\n var selectedValue = getSkuImgValue(sku, selectedSku);\n var imgUrl = selectedValue ? selectedValue.imgUrl : goods.picture;\n\n var previewImage = function previewImage() {\n skuEventBus.$emit('sku:previewImage', selectedValue);\n };\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": [bem(), BORDER_BOTTOM]\n }, inherit(ctx)]), [showHeaderImage && h(Image, {\n \"attrs\": {\n \"fit\": \"cover\",\n \"src\": imgUrl\n },\n \"class\": bem('img-wrap'),\n \"on\": {\n \"click\": previewImage\n }\n }, [(_slots$skuHeaderIma = slots['sku-header-image-extra']) == null ? void 0 : _slots$skuHeaderIma.call(slots)]), h(\"div\", {\n \"class\": bem('goods-info')\n }, [slots.default == null ? void 0 : slots.default()])]);\n}\n\nSkuHeader.props = {\n sku: Object,\n goods: Object,\n skuEventBus: Object,\n selectedSku: Object,\n showHeaderImage: Boolean\n};\nexport default createComponent(SkuHeader);","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../../utils';\nimport { inherit } from '../../utils/functional'; // Types\n\nvar _createNamespace = createNamespace('sku-header-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction SkuHeader(h, props, slots, ctx) {\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem()\n }, inherit(ctx)]), [slots.default && slots.default()]);\n}\n\nexport default createComponent(SkuHeader);","// Utils\nimport { createNamespace } from '../../utils';\nimport { BORDER_BOTTOM } from '../../utils/constant'; // Mixins\n\nimport { ParentMixin } from '../../mixins/relation';\nimport { BindEventMixin } from '../../mixins/bind-event';\n\nvar _createNamespace = createNamespace('sku-row'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport { bem };\nexport default createComponent({\n mixins: [ParentMixin('vanSkuRows'), BindEventMixin(function (bind) {\n if (this.scrollable && this.$refs.scroller) {\n bind(this.$refs.scroller, 'scroll', this.onScroll);\n }\n })],\n props: {\n skuRow: Object\n },\n data: function data() {\n return {\n progress: 0\n };\n },\n computed: {\n scrollable: function scrollable() {\n return this.skuRow.largeImageMode && this.skuRow.v.length > 6;\n }\n },\n methods: {\n onScroll: function onScroll() {\n var _this$$refs = this.$refs,\n scroller = _this$$refs.scroller,\n row = _this$$refs.row;\n var distance = row.offsetWidth - scroller.offsetWidth;\n this.progress = scroller.scrollLeft / distance;\n },\n genTitle: function genTitle() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": bem('title')\n }, [this.skuRow.k, this.skuRow.is_multiple && h(\"span\", {\n \"class\": bem('title-multiple')\n }, [\"\\uFF08\", t('multiple'), \"\\uFF09\"])]);\n },\n genIndicator: function genIndicator() {\n var h = this.$createElement;\n\n if (this.scrollable) {\n var style = {\n transform: \"translate3d(\" + this.progress * 20 + \"px, 0, 0)\"\n };\n return h(\"div\", {\n \"class\": bem('indicator-wrapper')\n }, [h(\"div\", {\n \"class\": bem('indicator')\n }, [h(\"div\", {\n \"class\": bem('indicator-slider'),\n \"style\": style\n })])]);\n }\n },\n genContent: function genContent() {\n var h = this.$createElement;\n var nodes = this.slots();\n\n if (this.skuRow.largeImageMode) {\n var top = [];\n var bottom = [];\n nodes.forEach(function (node, index) {\n var group = Math.floor(index / 3) % 2 === 0 ? top : bottom;\n group.push(node);\n });\n return h(\"div\", {\n \"class\": bem('scroller'),\n \"ref\": \"scroller\"\n }, [h(\"div\", {\n \"class\": bem('row'),\n \"ref\": \"row\"\n }, [top]), bottom.length ? h(\"div\", {\n \"class\": bem('row')\n }, [bottom]) : null]);\n }\n\n return nodes;\n },\n centerItem: function centerItem(selectSkuId) {\n if (!this.skuRow.largeImageMode || !selectSkuId) {\n return;\n }\n\n var _this$children = this.children,\n children = _this$children === void 0 ? [] : _this$children;\n var _this$$refs2 = this.$refs,\n scroller = _this$$refs2.scroller,\n row = _this$$refs2.row;\n var child = children.find(function (it) {\n return +it.skuValue.id === +selectSkuId;\n });\n\n if (scroller && row && child && child.$el) {\n var target = child.$el;\n var to = target.offsetLeft - (scroller.offsetWidth - target.offsetWidth) / 2;\n scroller.scrollLeft = to;\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": [bem(), BORDER_BOTTOM]\n }, [this.genTitle(), this.genContent(), this.genIndicator()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { bem } from './SkuRow';\nimport { createNamespace } from '../../utils';\nimport { isSkuChoosable } from '../utils/sku-helper';\nimport { ChildrenMixin } from '../../mixins/relation';\nimport Icon from '../../icon';\nimport Image from '../../image';\n\nvar _createNamespace = createNamespace('sku-row-item'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanSkuRows')],\n props: {\n lazyLoad: Boolean,\n skuValue: Object,\n skuKeyStr: String,\n skuEventBus: Object,\n selectedSku: Object,\n largeImageMode: Boolean,\n disableSoldoutSku: Boolean,\n skuList: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n imgUrl: function imgUrl() {\n var url = this.skuValue.imgUrl || this.skuValue.img_url;\n return this.largeImageMode ? url || 'https://img01.yzcdn.cn/upload_files/2020/06/24/FmKWDg0bN9rMcTp9ne8MXiQWGtLn.png' : url;\n },\n choosable: function choosable() {\n if (!this.disableSoldoutSku) {\n return true;\n }\n\n return isSkuChoosable(this.skuList, this.selectedSku, {\n key: this.skuKeyStr,\n valueId: this.skuValue.id\n });\n }\n },\n methods: {\n onSelect: function onSelect() {\n if (this.choosable) {\n this.skuEventBus.$emit('sku:select', _extends({}, this.skuValue, {\n skuKeyStr: this.skuKeyStr\n }));\n }\n },\n onPreviewImg: function onPreviewImg(event) {\n event.stopPropagation();\n var skuValue = this.skuValue,\n skuKeyStr = this.skuKeyStr;\n this.skuEventBus.$emit('sku:previewImage', _extends({}, skuValue, {\n ks: skuKeyStr,\n imgUrl: skuValue.imgUrl || skuValue.img_url\n }));\n },\n genImage: function genImage(classPrefix) {\n var h = this.$createElement;\n\n if (this.imgUrl) {\n return h(Image, {\n \"attrs\": {\n \"fit\": \"cover\",\n \"src\": this.imgUrl,\n \"lazyLoad\": this.lazyLoad\n },\n \"class\": classPrefix + \"-img\"\n });\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var choosed = this.skuValue.id === this.selectedSku[this.skuKeyStr];\n var classPrefix = this.largeImageMode ? bem('image-item') : bem('item');\n return h(\"span\", {\n \"class\": [classPrefix, choosed ? classPrefix + \"--active\" : '', !this.choosable ? classPrefix + \"--disabled\" : ''],\n \"on\": {\n \"click\": this.onSelect\n }\n }, [this.genImage(classPrefix), h(\"div\", {\n \"class\": classPrefix + \"-name\"\n }, [this.largeImageMode ? h(\"span\", {\n \"class\": {\n 'van-multi-ellipsis--l2': this.largeImageMode\n }\n }, [this.skuValue.name]) : this.skuValue.name]), this.largeImageMode && h(Icon, {\n \"attrs\": {\n \"name\": \"enlarge\"\n },\n \"class\": classPrefix + \"-img-icon\",\n \"on\": {\n \"click\": this.onPreviewImg\n }\n })]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../../utils';\n\nvar _createNamespace = createNamespace('sku-row-prop-item'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n props: {\n skuValue: Object,\n skuKeyStr: String,\n skuEventBus: Object,\n selectedProp: Object,\n multiple: Boolean,\n disabled: Boolean\n },\n computed: {\n choosed: function choosed() {\n var selectedProp = this.selectedProp,\n skuKeyStr = this.skuKeyStr,\n skuValue = this.skuValue;\n\n if (selectedProp && selectedProp[skuKeyStr]) {\n return selectedProp[skuKeyStr].indexOf(skuValue.id) > -1;\n }\n\n return false;\n }\n },\n methods: {\n onSelect: function onSelect() {\n if (this.disabled) return;\n this.skuEventBus.$emit('sku:propSelect', _extends({}, this.skuValue, {\n skuKeyStr: this.skuKeyStr,\n multiple: this.multiple\n }));\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"span\", {\n \"class\": ['van-sku-row__item', {\n 'van-sku-row__item--active': this.choosed\n }, {\n 'van-sku-row__item--disabled': this.disabled\n }],\n \"on\": {\n \"click\": this.onSelect\n }\n }, [h(\"span\", {\n \"class\": \"van-sku-row__item-name\"\n }, [this.skuValue.name])]);\n }\n});","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport { createNamespace, isDef, addUnit } from '../utils';\nimport { resetScroll } from '../utils/dom/reset-scroll';\nimport { preventDefault } from '../utils/dom/event';\nimport { addNumber, formatNumber as _formatNumber } from '../utils/format/number';\nimport { isNaN } from '../utils/validate/number';\nimport { FieldMixin } from '../mixins/field';\n\nvar _createNamespace = createNamespace('stepper'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar LONG_PRESS_START_TIME = 600;\nvar LONG_PRESS_INTERVAL = 200;\n\nfunction equal(value1, value2) {\n return String(value1) === String(value2);\n}\n\nexport default createComponent({\n mixins: [FieldMixin],\n props: {\n value: null,\n theme: String,\n integer: Boolean,\n disabled: Boolean,\n allowEmpty: Boolean,\n inputWidth: [Number, String],\n buttonSize: [Number, String],\n asyncChange: Boolean,\n placeholder: String,\n disablePlus: Boolean,\n disableMinus: Boolean,\n disableInput: Boolean,\n decimalLength: [Number, String],\n name: {\n type: [Number, String],\n default: ''\n },\n min: {\n type: [Number, String],\n default: 1\n },\n max: {\n type: [Number, String],\n default: Infinity\n },\n step: {\n type: [Number, String],\n default: 1\n },\n defaultValue: {\n type: [Number, String],\n default: 1\n },\n showPlus: {\n type: Boolean,\n default: true\n },\n showMinus: {\n type: Boolean,\n default: true\n },\n showInput: {\n type: Boolean,\n default: true\n },\n longPress: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n var _this$value;\n\n var defaultValue = (_this$value = this.value) != null ? _this$value : this.defaultValue;\n var value = this.format(defaultValue);\n\n if (!equal(value, this.value)) {\n this.$emit('input', value);\n }\n\n return {\n currentValue: value\n };\n },\n computed: {\n minusDisabled: function minusDisabled() {\n return this.disabled || this.disableMinus || this.currentValue <= +this.min;\n },\n plusDisabled: function plusDisabled() {\n return this.disabled || this.disablePlus || this.currentValue >= +this.max;\n },\n inputStyle: function inputStyle() {\n var style = {};\n\n if (this.inputWidth) {\n style.width = addUnit(this.inputWidth);\n }\n\n if (this.buttonSize) {\n style.height = addUnit(this.buttonSize);\n }\n\n return style;\n },\n buttonStyle: function buttonStyle() {\n if (this.buttonSize) {\n var size = addUnit(this.buttonSize);\n return {\n width: size,\n height: size\n };\n }\n }\n },\n watch: {\n max: 'check',\n min: 'check',\n integer: 'check',\n decimalLength: 'check',\n value: function value(val) {\n if (!equal(val, this.currentValue)) {\n this.currentValue = this.format(val);\n }\n },\n currentValue: function currentValue(val) {\n this.$emit('input', val);\n this.$emit('change', val, {\n name: this.name\n });\n }\n },\n methods: {\n check: function check() {\n var val = this.format(this.currentValue);\n\n if (!equal(val, this.currentValue)) {\n this.currentValue = val;\n }\n },\n // formatNumber illegal characters\n formatNumber: function formatNumber(value) {\n return _formatNumber(String(value), !this.integer);\n },\n format: function format(value) {\n if (this.allowEmpty && value === '') {\n return value;\n }\n\n value = this.formatNumber(value); // format range\n\n value = value === '' ? 0 : +value;\n value = isNaN(value) ? this.min : value;\n value = Math.max(Math.min(this.max, value), this.min); // format decimal\n\n if (isDef(this.decimalLength)) {\n value = value.toFixed(this.decimalLength);\n }\n\n return value;\n },\n onInput: function onInput(event) {\n var value = event.target.value;\n var formatted = this.formatNumber(value); // limit max decimal length\n\n if (isDef(this.decimalLength) && formatted.indexOf('.') !== -1) {\n var pair = formatted.split('.');\n formatted = pair[0] + \".\" + pair[1].slice(0, this.decimalLength);\n }\n\n if (!equal(value, formatted)) {\n event.target.value = formatted;\n } // prefer number type\n\n\n if (formatted === String(+formatted)) {\n formatted = +formatted;\n }\n\n this.emitChange(formatted);\n },\n emitChange: function emitChange(value) {\n if (this.asyncChange) {\n this.$emit('input', value);\n this.$emit('change', value, {\n name: this.name\n });\n } else {\n this.currentValue = value;\n }\n },\n onChange: function onChange() {\n var type = this.type;\n\n if (this[type + \"Disabled\"]) {\n this.$emit('overlimit', type);\n return;\n }\n\n var diff = type === 'minus' ? -this.step : +this.step;\n var value = this.format(addNumber(+this.currentValue, diff));\n this.emitChange(value);\n this.$emit(type);\n },\n onFocus: function onFocus(event) {\n // readonly not work in legacy mobile safari\n if (this.disableInput && this.$refs.input) {\n this.$refs.input.blur();\n } else {\n this.$emit('focus', event);\n }\n },\n onBlur: function onBlur(event) {\n var value = this.format(event.target.value);\n event.target.value = value;\n this.emitChange(value);\n this.$emit('blur', event);\n resetScroll();\n },\n longPressStep: function longPressStep() {\n var _this = this;\n\n this.longPressTimer = setTimeout(function () {\n _this.onChange();\n\n _this.longPressStep(_this.type);\n }, LONG_PRESS_INTERVAL);\n },\n onTouchStart: function onTouchStart() {\n var _this2 = this;\n\n if (!this.longPress) {\n return;\n }\n\n clearTimeout(this.longPressTimer);\n this.isLongPress = false;\n this.longPressTimer = setTimeout(function () {\n _this2.isLongPress = true;\n\n _this2.onChange();\n\n _this2.longPressStep();\n }, LONG_PRESS_START_TIME);\n },\n onTouchEnd: function onTouchEnd(event) {\n if (!this.longPress) {\n return;\n }\n\n clearTimeout(this.longPressTimer);\n\n if (this.isLongPress) {\n preventDefault(event);\n }\n },\n onMousedown: function onMousedown(event) {\n // fix mobile safari page scroll down issue\n // see: https://github.com/vant-ui/vant/issues/7690\n if (this.disableInput) {\n event.preventDefault();\n }\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n\n var createListeners = function createListeners(type) {\n return {\n on: {\n click: function click(e) {\n // disable double tap scrolling on mobile safari\n e.preventDefault();\n _this3.type = type;\n\n _this3.onChange();\n },\n touchstart: function touchstart() {\n _this3.type = type;\n\n _this3.onTouchStart();\n },\n touchend: _this3.onTouchEnd,\n touchcancel: _this3.onTouchEnd\n }\n };\n };\n\n return h(\"div\", {\n \"class\": bem([this.theme])\n }, [h(\"button\", _mergeJSXProps([{\n \"directives\": [{\n name: \"show\",\n value: this.showMinus\n }],\n \"attrs\": {\n \"type\": \"button\"\n },\n \"style\": this.buttonStyle,\n \"class\": bem('minus', {\n disabled: this.minusDisabled\n })\n }, createListeners('minus')])), h(\"input\", {\n \"directives\": [{\n name: \"show\",\n value: this.showInput\n }],\n \"ref\": \"input\",\n \"attrs\": {\n \"type\": this.integer ? 'tel' : 'text',\n \"role\": \"spinbutton\",\n \"disabled\": this.disabled,\n \"readonly\": this.disableInput,\n \"inputmode\": this.integer ? 'numeric' : 'decimal',\n \"placeholder\": this.placeholder,\n \"aria-valuemax\": this.max,\n \"aria-valuemin\": this.min,\n \"aria-valuenow\": this.currentValue\n },\n \"class\": bem('input'),\n \"domProps\": {\n \"value\": this.currentValue\n },\n \"style\": this.inputStyle,\n \"on\": {\n \"input\": this.onInput,\n \"focus\": this.onFocus,\n \"blur\": this.onBlur,\n \"mousedown\": this.onMousedown\n }\n }), h(\"button\", _mergeJSXProps2([{\n \"directives\": [{\n name: \"show\",\n value: this.showPlus\n }],\n \"attrs\": {\n \"type\": \"button\"\n },\n \"style\": this.buttonStyle,\n \"class\": bem('plus', {\n disabled: this.plusDisabled\n })\n }, createListeners('plus')]))]);\n }\n});","import { createNamespace } from '../../utils';\nimport { LIMIT_TYPE } from '../constants';\nimport Stepper from '../../stepper';\nvar namespace = createNamespace('sku-stepper');\nvar createComponent = namespace[0];\nvar t = namespace[2];\nvar QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT,\n STOCK_LIMIT = LIMIT_TYPE.STOCK_LIMIT;\nexport default createComponent({\n props: {\n stock: Number,\n skuEventBus: Object,\n skuStockNum: Number,\n selectedNum: Number,\n stepperTitle: String,\n disableStepperInput: Boolean,\n customStepperConfig: Object,\n hideQuotaText: Boolean,\n quota: {\n type: Number,\n default: 0\n },\n quotaUsed: {\n type: Number,\n default: 0\n },\n startSaleNum: {\n type: Number,\n default: 1\n }\n },\n data: function data() {\n return {\n currentNum: this.selectedNum,\n // 购买限制类型: 限购/库存\n limitType: STOCK_LIMIT\n };\n },\n watch: {\n currentNum: function currentNum(num) {\n var intValue = parseInt(num, 10);\n\n if (intValue >= this.stepperMinLimit && intValue <= this.stepperLimit) {\n this.skuEventBus.$emit('sku:numChange', intValue);\n }\n },\n stepperLimit: function stepperLimit(limit) {\n if (limit < this.currentNum && this.stepperMinLimit <= limit) {\n this.currentNum = limit;\n }\n\n this.checkState(this.stepperMinLimit, limit);\n },\n stepperMinLimit: function stepperMinLimit(start) {\n if (start > this.currentNum || start > this.stepperLimit) {\n this.currentNum = start;\n }\n\n this.checkState(start, this.stepperLimit);\n }\n },\n computed: {\n stepperLimit: function stepperLimit() {\n var quotaLimit = this.quota - this.quotaUsed;\n var limit; // 无限购时直接取库存,有限购时取限购数和库存数中小的那个\n\n if (this.quota > 0 && quotaLimit <= this.stock) {\n // 修正负的limit\n limit = quotaLimit < 0 ? 0 : quotaLimit;\n this.limitType = QUOTA_LIMIT;\n } else {\n limit = this.stock;\n this.limitType = STOCK_LIMIT;\n }\n\n return limit;\n },\n stepperMinLimit: function stepperMinLimit() {\n return this.startSaleNum < 1 ? 1 : this.startSaleNum;\n },\n quotaText: function quotaText() {\n var _this$customStepperCo = this.customStepperConfig,\n quotaText = _this$customStepperCo.quotaText,\n hideQuotaText = _this$customStepperCo.hideQuotaText;\n if (hideQuotaText) return '';\n var text = '';\n\n if (quotaText) {\n text = quotaText;\n } else {\n var textArr = [];\n\n if (this.startSaleNum > 1) {\n textArr.push(t('quotaStart', this.startSaleNum));\n }\n\n if (this.quota > 0) {\n textArr.push(t('quotaLimit', this.quota));\n }\n\n text = textArr.join(t('comma'));\n }\n\n return text;\n }\n },\n created: function created() {\n this.checkState(this.stepperMinLimit, this.stepperLimit);\n },\n methods: {\n setCurrentNum: function setCurrentNum(num) {\n this.currentNum = num;\n this.checkState(this.stepperMinLimit, this.stepperLimit);\n },\n onOverLimit: function onOverLimit(action) {\n this.skuEventBus.$emit('sku:overLimit', {\n action: action,\n limitType: this.limitType,\n quota: this.quota,\n quotaUsed: this.quotaUsed,\n startSaleNum: this.startSaleNum\n });\n },\n onChange: function onChange(currentValue) {\n var intValue = parseInt(currentValue, 10);\n var handleStepperChange = this.customStepperConfig.handleStepperChange;\n handleStepperChange && handleStepperChange(intValue);\n this.$emit('change', intValue);\n },\n checkState: function checkState(min, max) {\n // 如果选择小于起售,则强制变为起售\n if (this.currentNum < min || min > max) {\n this.currentNum = min;\n } else if (this.currentNum > max) {\n // 当前选择数量大于最大可选时,需要重置已选数量\n this.currentNum = max;\n }\n\n this.skuEventBus.$emit('sku:stepperState', {\n valid: min <= max,\n min: min,\n max: max,\n limitType: this.limitType,\n quota: this.quota,\n quotaUsed: this.quotaUsed,\n startSaleNum: this.startSaleNum\n });\n }\n },\n render: function render() {\n var _this = this;\n\n var h = arguments[0];\n return h(\"div\", {\n \"class\": \"van-sku-stepper-stock\"\n }, [h(\"div\", {\n \"class\": \"van-sku__stepper-title\"\n }, [this.stepperTitle || t('num')]), h(Stepper, {\n \"attrs\": {\n \"integer\": true,\n \"min\": this.stepperMinLimit,\n \"max\": this.stepperLimit,\n \"disableInput\": this.disableStepperInput\n },\n \"class\": \"van-sku__stepper\",\n \"on\": {\n \"overlimit\": this.onOverLimit,\n \"change\": this.onChange\n },\n \"model\": {\n value: _this.currentNum,\n callback: function callback($$v) {\n _this.currentNum = $$v;\n }\n }\n }), !this.hideQuotaText && this.quotaText && h(\"span\", {\n \"class\": \"van-sku__stepper-quota\"\n }, [\"(\", this.quotaText, \")\"])]);\n }\n});","/* eslint-disable */\nexport function isEmail(value) {\n var reg = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/;\n return reg.test(value.trim());\n}","import { isFunction } from '../utils';\nexport function toArray(item) {\n if (Array.isArray(item)) {\n return item;\n }\n\n return [item];\n}\nexport function readFile(file, resultType) {\n return new Promise(function (resolve) {\n if (resultType === 'file') {\n resolve(null);\n return;\n }\n\n var reader = new FileReader();\n\n reader.onload = function (event) {\n resolve(event.target.result);\n };\n\n if (resultType === 'dataUrl') {\n reader.readAsDataURL(file);\n } else if (resultType === 'text') {\n reader.readAsText(file);\n }\n });\n}\nexport function isOversize(files, maxSize) {\n return toArray(files).some(function (file) {\n if (file) {\n if (isFunction(maxSize)) {\n return maxSize(file);\n }\n\n return file.size > maxSize;\n }\n\n return false;\n });\n}\nvar IMAGE_REGEXP = /\\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;\nexport function isImageUrl(url) {\n return IMAGE_REGEXP.test(url);\n}\nexport function isImageFile(item) {\n // some special urls cannot be recognized\n // user can add `isImage` flag to mark it as an image url\n if (item.isImage) {\n return true;\n }\n\n if (item.file && item.file.type) {\n return item.file.type.indexOf('image') === 0;\n }\n\n if (item.url) {\n return isImageUrl(item.url);\n }\n\n if (item.content) {\n return item.content.indexOf('data:image') === 0;\n }\n\n return false;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, addUnit, noop, isPromise, isDef } from '../utils';\nimport { toArray, readFile as _readFile, isOversize, isImageFile } from './utils'; // Mixins\n\nimport { FieldMixin } from '../mixins/field'; // Components\n\nimport Icon from '../icon';\nimport Image from '../image';\nimport Loading from '../loading';\nimport ImagePreview from '../image-preview';\n\nvar _createNamespace = createNamespace('uploader'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n inheritAttrs: false,\n mixins: [FieldMixin],\n model: {\n prop: 'fileList'\n },\n props: {\n disabled: Boolean,\n readonly: Boolean,\n lazyLoad: Boolean,\n uploadText: String,\n afterRead: Function,\n beforeRead: Function,\n beforeDelete: Function,\n previewSize: [Number, String],\n previewOptions: Object,\n name: {\n type: [Number, String],\n default: ''\n },\n accept: {\n type: String,\n default: 'image/*'\n },\n fileList: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n maxSize: {\n type: [Number, String, Function],\n default: Number.MAX_VALUE\n },\n maxCount: {\n type: [Number, String],\n default: Number.MAX_VALUE\n },\n deletable: {\n type: Boolean,\n default: true\n },\n showUpload: {\n type: Boolean,\n default: true\n },\n previewImage: {\n type: Boolean,\n default: true\n },\n previewFullImage: {\n type: Boolean,\n default: true\n },\n imageFit: {\n type: String,\n default: 'cover'\n },\n resultType: {\n type: String,\n default: 'dataUrl'\n },\n uploadIcon: {\n type: String,\n default: 'photograph'\n }\n },\n computed: {\n previewSizeWithUnit: function previewSizeWithUnit() {\n return addUnit(this.previewSize);\n },\n // for form\n value: function value() {\n return this.fileList;\n }\n },\n created: function created() {\n this.urls = [];\n },\n beforeDestroy: function beforeDestroy() {\n this.urls.forEach(function (url) {\n return URL.revokeObjectURL(url);\n });\n },\n methods: {\n getDetail: function getDetail(index) {\n if (index === void 0) {\n index = this.fileList.length;\n }\n\n return {\n name: this.name,\n index: index\n };\n },\n onChange: function onChange(event) {\n var _this = this;\n\n var files = event.target.files;\n\n if (this.disabled || !files.length) {\n return;\n }\n\n files = files.length === 1 ? files[0] : [].slice.call(files);\n\n if (this.beforeRead) {\n var response = this.beforeRead(files, this.getDetail());\n\n if (!response) {\n this.resetInput();\n return;\n }\n\n if (isPromise(response)) {\n response.then(function (data) {\n if (data) {\n _this.readFile(data);\n } else {\n _this.readFile(files);\n }\n }).catch(this.resetInput);\n return;\n }\n }\n\n this.readFile(files);\n },\n readFile: function readFile(files) {\n var _this2 = this;\n\n var oversize = isOversize(files, this.maxSize);\n\n if (Array.isArray(files)) {\n var maxCount = this.maxCount - this.fileList.length;\n\n if (files.length > maxCount) {\n files = files.slice(0, maxCount);\n }\n\n Promise.all(files.map(function (file) {\n return _readFile(file, _this2.resultType);\n })).then(function (contents) {\n var fileList = files.map(function (file, index) {\n var result = {\n file: file,\n status: '',\n message: ''\n };\n\n if (contents[index]) {\n result.content = contents[index];\n }\n\n return result;\n });\n\n _this2.onAfterRead(fileList, oversize);\n });\n } else {\n _readFile(files, this.resultType).then(function (content) {\n var result = {\n file: files,\n status: '',\n message: ''\n };\n\n if (content) {\n result.content = content;\n }\n\n _this2.onAfterRead(result, oversize);\n });\n }\n },\n onAfterRead: function onAfterRead(files, oversize) {\n var _this3 = this;\n\n this.resetInput();\n var validFiles = files;\n\n if (oversize) {\n var oversizeFiles = files;\n\n if (Array.isArray(files)) {\n oversizeFiles = [];\n validFiles = [];\n files.forEach(function (item) {\n if (item.file) {\n if (isOversize(item.file, _this3.maxSize)) {\n oversizeFiles.push(item);\n } else {\n validFiles.push(item);\n }\n }\n });\n } else {\n validFiles = null;\n }\n\n this.$emit('oversize', oversizeFiles, this.getDetail());\n }\n\n var isValidFiles = Array.isArray(validFiles) ? Boolean(validFiles.length) : Boolean(validFiles);\n\n if (isValidFiles) {\n this.$emit('input', [].concat(this.fileList, toArray(validFiles)));\n\n if (this.afterRead) {\n this.afterRead(validFiles, this.getDetail());\n }\n }\n },\n onDelete: function onDelete(file, index) {\n var _file$beforeDelete,\n _this4 = this;\n\n var beforeDelete = (_file$beforeDelete = file.beforeDelete) != null ? _file$beforeDelete : this.beforeDelete;\n\n if (beforeDelete) {\n var response = beforeDelete(file, this.getDetail(index));\n\n if (!response) {\n return;\n }\n\n if (isPromise(response)) {\n response.then(function () {\n _this4.deleteFile(file, index);\n }).catch(noop);\n return;\n }\n }\n\n this.deleteFile(file, index);\n },\n deleteFile: function deleteFile(file, index) {\n var fileList = this.fileList.slice(0);\n fileList.splice(index, 1);\n this.$emit('input', fileList);\n this.$emit('delete', file, this.getDetail(index));\n },\n resetInput: function resetInput() {\n /* istanbul ignore else */\n if (this.$refs.input) {\n this.$refs.input.value = '';\n }\n },\n onClickUpload: function onClickUpload(event) {\n this.$emit('click-upload', event);\n },\n onPreviewImage: function onPreviewImage(item) {\n var _this5 = this;\n\n if (!this.previewFullImage) {\n return;\n }\n\n var imageFiles = this.fileList.filter(function (item) {\n return isImageFile(item);\n });\n var imageContents = imageFiles.map(function (item) {\n if (item.file && !item.url && item.status !== 'failed') {\n item.url = URL.createObjectURL(item.file);\n\n _this5.urls.push(item.url);\n }\n\n return item.url;\n });\n this.imagePreview = ImagePreview(_extends({\n images: imageContents,\n startPosition: imageFiles.indexOf(item),\n onClose: function onClose() {\n _this5.$emit('close-preview');\n }\n }, this.previewOptions));\n },\n // @exposed-api\n closeImagePreview: function closeImagePreview() {\n if (this.imagePreview) {\n this.imagePreview.close();\n }\n },\n // @exposed-api\n chooseFile: function chooseFile() {\n if (this.disabled) {\n return;\n }\n /* istanbul ignore else */\n\n\n if (this.$refs.input) {\n this.$refs.input.click();\n }\n },\n genPreviewMask: function genPreviewMask(item) {\n var h = this.$createElement;\n var status = item.status,\n message = item.message;\n\n if (status === 'uploading' || status === 'failed') {\n var MaskIcon = status === 'failed' ? h(Icon, {\n \"attrs\": {\n \"name\": \"close\"\n },\n \"class\": bem('mask-icon')\n }) : h(Loading, {\n \"class\": bem('loading')\n });\n var showMessage = isDef(message) && message !== '';\n return h(\"div\", {\n \"class\": bem('mask')\n }, [MaskIcon, showMessage && h(\"div\", {\n \"class\": bem('mask-message')\n }, [message])]);\n }\n },\n genPreviewItem: function genPreviewItem(item, index) {\n var _item$deletable,\n _this6 = this,\n _item$previewSize,\n _item$imageFit;\n\n var h = this.$createElement;\n var deleteAble = (_item$deletable = item.deletable) != null ? _item$deletable : this.deletable;\n var showDelete = item.status !== 'uploading' && deleteAble;\n var DeleteIcon = showDelete && h(\"div\", {\n \"class\": bem('preview-delete'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n\n _this6.onDelete(item, index);\n }\n }\n }, [h(Icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": bem('preview-delete-icon')\n })]);\n var PreviewCoverContent = this.slots('preview-cover', _extends({\n index: index\n }, item));\n var PreviewCover = PreviewCoverContent && h(\"div\", {\n \"class\": bem('preview-cover')\n }, [PreviewCoverContent]);\n var previewSize = (_item$previewSize = item.previewSize) != null ? _item$previewSize : this.previewSize;\n var imageFit = (_item$imageFit = item.imageFit) != null ? _item$imageFit : this.imageFit;\n var Preview = isImageFile(item) ? h(Image, {\n \"attrs\": {\n \"fit\": imageFit,\n \"src\": item.content || item.url,\n \"width\": previewSize,\n \"height\": previewSize,\n \"lazyLoad\": this.lazyLoad\n },\n \"class\": bem('preview-image'),\n \"on\": {\n \"click\": function click() {\n _this6.onPreviewImage(item);\n }\n }\n }, [PreviewCover]) : h(\"div\", {\n \"class\": bem('file'),\n \"style\": {\n width: this.previewSizeWithUnit,\n height: this.previewSizeWithUnit\n }\n }, [h(Icon, {\n \"class\": bem('file-icon'),\n \"attrs\": {\n \"name\": \"description\"\n }\n }), h(\"div\", {\n \"class\": [bem('file-name'), 'van-ellipsis']\n }, [item.file ? item.file.name : item.url]), PreviewCover]);\n return h(\"div\", {\n \"class\": bem('preview'),\n \"on\": {\n \"click\": function click() {\n _this6.$emit('click-preview', item, _this6.getDetail(index));\n }\n }\n }, [Preview, this.genPreviewMask(item), DeleteIcon]);\n },\n genPreviewList: function genPreviewList() {\n if (this.previewImage) {\n return this.fileList.map(this.genPreviewItem);\n }\n },\n genUpload: function genUpload() {\n var h = this.$createElement;\n\n if (this.fileList.length >= this.maxCount) {\n return;\n }\n\n var slot = this.slots();\n var Input = this.readonly ? null : h(\"input\", {\n \"attrs\": _extends({}, this.$attrs, {\n \"type\": \"file\",\n \"accept\": this.accept,\n \"disabled\": this.disabled\n }),\n \"ref\": \"input\",\n \"class\": bem('input'),\n \"on\": {\n \"change\": this.onChange\n }\n });\n\n if (slot) {\n return h(\"div\", {\n \"class\": bem('input-wrapper'),\n \"key\": \"input-wrapper\",\n \"on\": {\n \"click\": this.onClickUpload\n }\n }, [slot, Input]);\n }\n\n var style;\n\n if (this.previewSize) {\n var size = this.previewSizeWithUnit;\n style = {\n width: size,\n height: size\n };\n }\n\n return h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.showUpload\n }],\n \"class\": bem('upload', {\n readonly: this.readonly\n }),\n \"style\": style,\n \"on\": {\n \"click\": this.onClickUpload\n }\n }, [h(Icon, {\n \"attrs\": {\n \"name\": this.uploadIcon\n },\n \"class\": bem('upload-icon')\n }), this.uploadText && h(\"span\", {\n \"class\": bem('upload-text')\n }, [this.uploadText]), Input]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"class\": bem('wrapper', {\n disabled: this.disabled\n })\n }, [this.genPreviewList(), this.genUpload()])]);\n }\n});","// Utils\nimport { createNamespace } from '../../utils'; // Components\n\nimport Uploader from '../../uploader';\nvar namespace = createNamespace('sku-img-uploader');\nvar createComponent = namespace[0];\nvar t = namespace[2];\nexport default createComponent({\n props: {\n value: String,\n uploadImg: Function,\n customUpload: Function,\n maxSize: {\n type: Number,\n default: 6\n }\n },\n data: function data() {\n return {\n fileList: []\n };\n },\n watch: {\n value: function value(val) {\n if (val) {\n this.fileList = [{\n url: val,\n isImage: true\n }];\n } else {\n this.fileList = [];\n }\n }\n },\n methods: {\n afterReadFile: function afterReadFile(file) {\n var _this = this;\n\n file.status = 'uploading';\n file.message = t('uploading');\n this.uploadImg(file.file, file.content).then(function (img) {\n file.status = 'done';\n\n _this.$emit('input', img);\n }).catch(function () {\n file.status = 'failed';\n file.message = t('fail');\n });\n },\n onOversize: function onOversize() {\n this.$toast(t('oversize', this.maxSize));\n },\n onDelete: function onDelete() {\n this.$emit('input', '');\n },\n onClickUpload: function onClickUpload() {\n var _this2 = this;\n\n if (this.customUpload) {\n this.customUpload().then(function (url) {\n _this2.fileList.push({\n url: url\n });\n\n _this2.$emit('input', url);\n });\n }\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n return h(Uploader, {\n \"attrs\": {\n \"maxCount\": 1,\n \"readonly\": !!this.customUpload,\n \"maxSize\": this.maxSize * 1024 * 1024,\n \"afterRead\": this.afterReadFile\n },\n \"on\": {\n \"oversize\": this.onOversize,\n \"delete\": this.onDelete,\n \"click-upload\": this.onClickUpload\n },\n \"model\": {\n value: _this3.fileList,\n callback: function callback($$v) {\n _this3.fileList = $$v;\n }\n }\n });\n }\n});","import { padZero } from '../../utils/format/string'; // 字符串转 Date\n// 只处理 YYYY-MM-DD 或者 YYYY-MM-DD HH:MM 格式\n\nexport function stringToDate(timeString) {\n if (!timeString) {\n return null;\n }\n\n return new Date(timeString.replace(/-/g, '/'));\n} // Date 转字符串\n// type: date or datetime\n\nexport function dateToString(date, type) {\n if (type === void 0) {\n type = 'date';\n }\n\n if (!date) {\n return '';\n }\n\n var year = date.getFullYear();\n var month = date.getMonth() + 1;\n var day = date.getDate();\n var timeString = year + \"-\" + padZero(month) + \"-\" + padZero(day);\n\n if (type === 'datetime') {\n var hours = date.getHours();\n var minute = date.getMinutes();\n timeString += \" \" + padZero(hours) + \":\" + padZero(minute);\n }\n\n return timeString;\n}","// Utils\nimport { createNamespace } from '../../utils';\nimport { stringToDate, dateToString } from '../utils/time-helper'; // Components\n\nimport Popup from '../../popup';\nimport DateTimePicker from '../../datetime-picker';\nimport Field from '../../field';\nvar namespace = createNamespace('sku-datetime-field');\nvar createComponent = namespace[0];\nvar t = namespace[2];\nexport default createComponent({\n props: {\n value: String,\n label: String,\n required: Boolean,\n placeholder: String,\n type: {\n type: String,\n default: 'date'\n }\n },\n data: function data() {\n return {\n showDatePicker: false,\n currentDate: this.type === 'time' ? '' : new Date(),\n minDate: new Date(new Date().getFullYear() - 60, 0, 1)\n };\n },\n watch: {\n value: function value(val) {\n switch (this.type) {\n case 'time':\n this.currentDate = val;\n break;\n\n case 'date':\n case 'datetime':\n this.currentDate = stringToDate(val) || new Date();\n break;\n }\n }\n },\n computed: {\n title: function title() {\n return t(\"title.\" + this.type);\n }\n },\n methods: {\n onClick: function onClick() {\n this.showDatePicker = true;\n },\n onConfirm: function onConfirm(val) {\n var data = val;\n\n if (this.type !== 'time') {\n data = dateToString(val, this.type);\n }\n\n this.$emit('input', data);\n this.showDatePicker = false;\n },\n onCancel: function onCancel() {\n this.showDatePicker = false;\n },\n formatter: function formatter(type, val) {\n var word = t(\"format.\" + type);\n return \"\" + val + word;\n }\n },\n render: function render() {\n var _this = this;\n\n var h = arguments[0];\n return h(Field, {\n \"attrs\": {\n \"readonly\": true,\n \"is-link\": true,\n \"center\": true,\n \"value\": this.value,\n \"label\": this.label,\n \"required\": this.required,\n \"placeholder\": this.placeholder\n },\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(Popup, {\n \"attrs\": {\n \"round\": true,\n \"position\": \"bottom\",\n \"getContainer\": \"body\"\n },\n \"slot\": \"extra\",\n \"model\": {\n value: _this.showDatePicker,\n callback: function callback($$v) {\n _this.showDatePicker = $$v;\n }\n }\n }, [h(DateTimePicker, {\n \"attrs\": {\n \"type\": this.type,\n \"title\": this.title,\n \"value\": this.currentDate,\n \"minDate\": this.minDate,\n \"formatter\": this.formatter\n },\n \"on\": {\n \"cancel\": this.onCancel,\n \"confirm\": this.onConfirm\n }\n })])]);\n }\n});","// Utils\nimport { createNamespace } from '../../utils';\nimport { isEmail } from '../../utils/validate/email';\nimport { isNumeric } from '../../utils/validate/number'; // Components\n\nimport Cell from '../../cell';\nimport Field from '../../field';\nimport SkuImgUploader from './SkuImgUploader';\nimport SkuDateTimeField from './SkuDateTimeField';\n\nvar _createNamespace = createNamespace('sku-messages'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n props: {\n messageConfig: Object,\n goodsId: [Number, String],\n messages: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n messageValues: this.resetMessageValues(this.messages)\n };\n },\n watch: {\n messages: function messages(val) {\n this.messageValues = this.resetMessageValues(val);\n }\n },\n methods: {\n resetMessageValues: function resetMessageValues(messages) {\n var messageConfig = this.messageConfig;\n var _messageConfig$initia = messageConfig.initialMessages,\n initialMessages = _messageConfig$initia === void 0 ? {} : _messageConfig$initia;\n return (messages || []).map(function (message) {\n return {\n value: initialMessages[message.name] || ''\n };\n });\n },\n getType: function getType(message) {\n if (+message.multiple === 1) {\n return 'textarea';\n }\n\n if (message.type === 'id_no') {\n return 'text';\n }\n\n return message.datetime > 0 ? 'datetime' : message.type;\n },\n getMessages: function getMessages() {\n var messages = {};\n this.messageValues.forEach(function (item, index) {\n messages[\"message_\" + index] = item.value;\n });\n return messages;\n },\n getCartMessages: function getCartMessages() {\n var _this = this;\n\n var messages = {};\n this.messageValues.forEach(function (item, index) {\n var message = _this.messages[index];\n messages[message.name] = item.value;\n });\n return messages;\n },\n getPlaceholder: function getPlaceholder(message) {\n var type = +message.multiple === 1 ? 'textarea' : message.type;\n var map = this.messageConfig.placeholderMap || {};\n return message.placeholder || map[type] || t(\"placeholder.\" + type);\n },\n validateMessages: function validateMessages() {\n var values = this.messageValues;\n\n for (var i = 0; i < values.length; i++) {\n var value = values[i].value;\n var message = this.messages[i];\n\n if (value === '') {\n // 必填字段的校验\n if (String(message.required) === '1') {\n var textType = t(message.type === 'image' ? 'upload' : 'fill');\n return textType + message.name;\n }\n } else {\n if (message.type === 'tel' && !isNumeric(value)) {\n return t('invalid.tel');\n }\n\n if (message.type === 'mobile' && !/^\\d{6,20}$/.test(value)) {\n return t('invalid.mobile');\n }\n\n if (message.type === 'email' && !isEmail(value)) {\n return t('invalid.email');\n }\n\n if (message.type === 'id_no' && (value.length < 15 || value.length > 18)) {\n return t('invalid.id_no');\n }\n }\n }\n },\n\n /**\n * The phone number copied from IOS mobile phone address book\n * will add spaces and invisible Unicode characters\n * which cannot pass the /^\\d+$/ verification\n * so keep numbers and dots\n */\n getFormatter: function getFormatter(message) {\n return function formatter(value) {\n if (message.type === 'mobile' || message.type === 'tel') {\n return value.replace(/[^\\d.]/g, '');\n }\n\n return value;\n };\n },\n getExtraDesc: function getExtraDesc(message) {\n var h = this.$createElement;\n var extraDesc = message.extraDesc;\n\n if (extraDesc) {\n return h(\"div\", {\n \"class\": bem('extra-message')\n }, [extraDesc]);\n }\n },\n genMessage: function genMessage(message, index) {\n var _this2 = this;\n\n var h = this.$createElement;\n\n if (message.type === 'image') {\n return h(Cell, {\n \"key\": this.goodsId + \"-\" + index,\n \"attrs\": {\n \"title\": message.name,\n \"required\": String(message.required) === '1',\n \"valueClass\": bem('image-cell-value')\n },\n \"class\": bem('image-cell')\n }, [h(SkuImgUploader, {\n \"attrs\": {\n \"maxSize\": this.messageConfig.uploadMaxSize,\n \"uploadImg\": this.messageConfig.uploadImg,\n \"customUpload\": this.messageConfig.customUpload\n },\n \"model\": {\n value: _this2.messageValues[index].value,\n callback: function callback($$v) {\n _this2.$set(_this2.messageValues[index], \"value\", $$v);\n }\n }\n }), h(\"div\", {\n \"class\": bem('image-cell-label')\n }, [t('imageLabel')])]);\n } // 时间和日期使用的vant选择器\n\n\n var isDateOrTime = ['date', 'time'].indexOf(message.type) > -1;\n\n if (isDateOrTime) {\n return h(SkuDateTimeField, {\n \"attrs\": {\n \"label\": message.name,\n \"required\": String(message.required) === '1',\n \"placeholder\": this.getPlaceholder(message),\n \"type\": this.getType(message)\n },\n \"key\": this.goodsId + \"-\" + index,\n \"model\": {\n value: _this2.messageValues[index].value,\n callback: function callback($$v) {\n _this2.$set(_this2.messageValues[index], \"value\", $$v);\n }\n }\n });\n }\n\n return h(\"div\", {\n \"class\": bem('cell-block')\n }, [h(Field, {\n \"attrs\": {\n \"maxlength\": \"200\",\n \"center\": !message.multiple,\n \"label\": message.name,\n \"required\": String(message.required) === '1',\n \"placeholder\": this.getPlaceholder(message),\n \"type\": this.getType(message),\n \"formatter\": this.getFormatter(message),\n \"border\": false\n },\n \"key\": this.goodsId + \"-\" + index,\n \"model\": {\n value: _this2.messageValues[index].value,\n callback: function callback($$v) {\n _this2.$set(_this2.messageValues[index], \"value\", $$v);\n }\n }\n }), this.getExtraDesc(message)]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.messages.map(this.genMessage)]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../../utils';\nimport { inherit } from '../../utils/functional'; // Components\n\nimport Button from '../../button'; // Types\n\nvar _createNamespace = createNamespace('sku-actions'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction SkuActions(h, props, slots, ctx) {\n var createEmitter = function createEmitter(name) {\n return function () {\n props.skuEventBus.$emit(name);\n };\n };\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem()\n }, inherit(ctx)]), [props.showAddCartBtn && h(Button, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"warning\",\n \"text\": props.addCartText || t('addCart')\n },\n \"on\": {\n \"click\": createEmitter('sku:addCart')\n }\n }), h(Button, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"danger\",\n \"text\": props.buyText || t('buy')\n },\n \"on\": {\n \"click\": createEmitter('sku:buy')\n }\n })]);\n}\n\nSkuActions.props = {\n buyText: String,\n addCartText: String,\n skuEventBus: Object,\n showAddCartBtn: Boolean\n};\nexport default createComponent(SkuActions);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport Popup from '../popup';\nimport Toast from '../toast';\nimport ImagePreview from '../image-preview';\nimport SkuHeader from './components/SkuHeader';\nimport SkuHeaderItem from './components/SkuHeaderItem';\nimport SkuRow from './components/SkuRow';\nimport SkuRowItem from './components/SkuRowItem';\nimport SkuRowPropItem from './components/SkuRowPropItem';\nimport SkuStepper from './components/SkuStepper';\nimport SkuMessages from './components/SkuMessages';\nimport SkuActions from './components/SkuActions';\nimport { createNamespace, isEmpty } from '../utils';\nimport { isAllSelected, isSkuChoosable, getSkuComb, getSelectedSkuValues, getSelectedPropValues, getSelectedProperties } from './utils/sku-helper';\nimport { LIMIT_TYPE, UNSELECTED_SKU_VALUE_ID } from './constants';\nvar namespace = createNamespace('sku');\nvar createComponent = namespace[0],\n bem = namespace[1],\n t = namespace[2];\nvar QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;\nexport default createComponent({\n props: {\n sku: Object,\n goods: Object,\n value: Boolean,\n buyText: String,\n goodsId: [Number, String],\n priceTag: String,\n lazyLoad: Boolean,\n hideStock: Boolean,\n properties: Array,\n addCartText: String,\n stepperTitle: String,\n getContainer: [String, Function],\n hideQuotaText: Boolean,\n hideSelectedText: Boolean,\n resetStepperOnHide: Boolean,\n customSkuValidator: Function,\n disableStepperInput: Boolean,\n resetSelectedSkuOnHide: Boolean,\n quota: {\n type: Number,\n default: 0\n },\n quotaUsed: {\n type: Number,\n default: 0\n },\n startSaleNum: {\n type: Number,\n default: 1\n },\n initialSku: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n stockThreshold: {\n type: Number,\n default: 50\n },\n showSoldoutSku: {\n type: Boolean,\n default: true\n },\n showAddCartBtn: {\n type: Boolean,\n default: true\n },\n disableSoldoutSku: {\n type: Boolean,\n default: true\n },\n customStepperConfig: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n showHeaderImage: {\n type: Boolean,\n default: true\n },\n previewOnClickImage: {\n type: Boolean,\n default: true\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n },\n bodyOffsetTop: {\n type: Number,\n default: 200\n },\n messageConfig: {\n type: Object,\n default: function _default() {\n return {\n initialMessages: {},\n placeholderMap: {},\n uploadImg: function uploadImg() {\n return Promise.resolve();\n },\n uploadMaxSize: 5\n };\n }\n }\n },\n data: function data() {\n return {\n selectedSku: {},\n selectedProp: {},\n selectedNum: 1,\n show: this.value\n };\n },\n watch: {\n show: function show(val) {\n this.$emit('input', val);\n\n if (!val) {\n this.$emit('sku-close', {\n selectedSkuValues: this.selectedSkuValues,\n selectedNum: this.selectedNum,\n selectedSkuComb: this.selectedSkuComb\n });\n\n if (this.resetStepperOnHide) {\n this.resetStepper();\n }\n\n if (this.resetSelectedSkuOnHide) {\n this.resetSelectedSku();\n }\n }\n },\n value: function value(val) {\n this.show = val;\n },\n skuTree: 'resetSelectedSku',\n initialSku: function initialSku() {\n this.resetStepper();\n this.resetSelectedSku();\n }\n },\n computed: {\n skuGroupClass: function skuGroupClass() {\n return ['van-sku-group-container', {\n 'van-sku-group-container--hide-soldout': !this.showSoldoutSku\n }];\n },\n bodyStyle: function bodyStyle() {\n if (this.$isServer) {\n return;\n }\n\n var maxHeight = window.innerHeight - this.bodyOffsetTop;\n return {\n maxHeight: maxHeight + 'px'\n };\n },\n isSkuCombSelected: function isSkuCombSelected() {\n var _this = this;\n\n // SKU 未选完\n if (this.hasSku && !isAllSelected(this.skuTree, this.selectedSku)) {\n return false;\n } // 属性未全选\n\n\n return !this.propList.filter(function (i) {\n return i.is_necessary !== false;\n }).some(function (i) {\n return (_this.selectedProp[i.k_id] || []).length === 0;\n });\n },\n isSkuEmpty: function isSkuEmpty() {\n return Object.keys(this.sku).length === 0;\n },\n hasSku: function hasSku() {\n return !this.sku.none_sku;\n },\n hasSkuOrAttr: function hasSkuOrAttr() {\n return this.hasSku || this.propList.length > 0;\n },\n selectedSkuComb: function selectedSkuComb() {\n var skuComb = null;\n\n if (this.isSkuCombSelected) {\n if (this.hasSku) {\n skuComb = getSkuComb(this.skuList, this.selectedSku);\n } else {\n skuComb = {\n id: this.sku.collection_id,\n price: Math.round(this.sku.price * 100),\n stock_num: this.sku.stock_num\n };\n }\n\n if (skuComb) {\n skuComb.properties = getSelectedProperties(this.propList, this.selectedProp);\n skuComb.property_price = this.selectedPropValues.reduce(function (acc, cur) {\n return acc + (cur.price || 0);\n }, 0);\n }\n }\n\n return skuComb;\n },\n selectedSkuValues: function selectedSkuValues() {\n return getSelectedSkuValues(this.skuTree, this.selectedSku);\n },\n selectedPropValues: function selectedPropValues() {\n return getSelectedPropValues(this.propList, this.selectedProp);\n },\n price: function price() {\n if (this.selectedSkuComb) {\n return ((this.selectedSkuComb.price + this.selectedSkuComb.property_price) / 100).toFixed(2);\n } // sku.price是一个格式化好的价格区间\n\n\n return this.sku.price;\n },\n originPrice: function originPrice() {\n if (this.selectedSkuComb && this.selectedSkuComb.origin_price) {\n return ((this.selectedSkuComb.origin_price + this.selectedSkuComb.property_price) / 100).toFixed(2);\n }\n\n return this.sku.origin_price;\n },\n skuTree: function skuTree() {\n return this.sku.tree || [];\n },\n skuList: function skuList() {\n return this.sku.list || [];\n },\n propList: function propList() {\n return this.properties || [];\n },\n imageList: function imageList() {\n var imageList = [this.goods.picture];\n\n if (this.skuTree.length > 0) {\n this.skuTree.forEach(function (treeItem) {\n if (!treeItem.v) {\n return;\n }\n\n treeItem.v.forEach(function (vItem) {\n var imgUrl = vItem.previewImgUrl || vItem.imgUrl || vItem.img_url;\n\n if (imgUrl && imageList.indexOf(imgUrl) === -1) {\n imageList.push(imgUrl);\n }\n });\n });\n }\n\n return imageList;\n },\n stock: function stock() {\n var stockNum = this.customStepperConfig.stockNum;\n\n if (stockNum !== undefined) {\n return stockNum;\n }\n\n if (this.selectedSkuComb) {\n return this.selectedSkuComb.stock_num;\n }\n\n return this.sku.stock_num;\n },\n stockText: function stockText() {\n var h = this.$createElement;\n var stockFormatter = this.customStepperConfig.stockFormatter;\n\n if (stockFormatter) {\n return stockFormatter(this.stock);\n }\n\n return [t('stock') + \" \", h(\"span\", {\n \"class\": bem('stock-num', {\n highlight: this.stock < this.stockThreshold\n })\n }, [this.stock]), \" \" + t('stockUnit')];\n },\n selectedText: function selectedText() {\n var _this2 = this;\n\n if (this.selectedSkuComb) {\n var values = this.selectedSkuValues.concat(this.selectedPropValues);\n return t('selected') + \" \" + values.map(function (item) {\n return item.name;\n }).join(' ');\n }\n\n var unselectedSku = this.skuTree.filter(function (item) {\n return _this2.selectedSku[item.k_s] === UNSELECTED_SKU_VALUE_ID;\n }).map(function (item) {\n return item.k;\n });\n var unselectedProp = this.propList.filter(function (item) {\n return (_this2.selectedProp[item.k_id] || []).length < 1;\n }).map(function (item) {\n return item.k;\n });\n return t('select') + \" \" + unselectedSku.concat(unselectedProp).join(' ');\n }\n },\n created: function created() {\n var skuEventBus = new Vue();\n this.skuEventBus = skuEventBus;\n skuEventBus.$on('sku:select', this.onSelect);\n skuEventBus.$on('sku:propSelect', this.onPropSelect);\n skuEventBus.$on('sku:numChange', this.onNumChange);\n skuEventBus.$on('sku:previewImage', this.onPreviewImage);\n skuEventBus.$on('sku:overLimit', this.onOverLimit);\n skuEventBus.$on('sku:stepperState', this.onStepperState);\n skuEventBus.$on('sku:addCart', this.onAddCart);\n skuEventBus.$on('sku:buy', this.onBuy);\n this.resetStepper();\n this.resetSelectedSku(); // 组件初始化后的钩子,抛出skuEventBus\n\n this.$emit('after-sku-create', skuEventBus);\n },\n methods: {\n resetStepper: function resetStepper() {\n var skuStepper = this.$refs.skuStepper;\n var selectedNum = this.initialSku.selectedNum;\n var num = selectedNum != null ? selectedNum : this.startSaleNum; // 用来缓存不合法的情况\n\n this.stepperError = null;\n\n if (skuStepper) {\n skuStepper.setCurrentNum(num);\n } else {\n // 当首次加载(skuStepper 为空)时,传入数量如果不合法,可能会存在问题\n this.selectedNum = num;\n }\n },\n // @exposed-api\n resetSelectedSku: function resetSelectedSku() {\n var _this3 = this;\n\n this.selectedSku = {}; // 重置 selectedSku\n\n this.skuTree.forEach(function (item) {\n _this3.selectedSku[item.k_s] = UNSELECTED_SKU_VALUE_ID;\n });\n this.skuTree.forEach(function (item) {\n var key = item.k_s; // 规格值只有1个时,优先判断\n\n var valueId = item.v.length === 1 ? item.v[0].id : _this3.initialSku[key];\n\n if (valueId && isSkuChoosable(_this3.skuList, _this3.selectedSku, {\n key: key,\n valueId: valueId\n })) {\n _this3.selectedSku[key] = valueId;\n }\n });\n var skuValues = this.selectedSkuValues;\n\n if (skuValues.length > 0) {\n this.$nextTick(function () {\n _this3.$emit('sku-selected', {\n skuValue: skuValues[skuValues.length - 1],\n selectedSku: _this3.selectedSku,\n selectedSkuComb: _this3.selectedSkuComb\n });\n });\n } // 重置商品属性\n\n\n this.selectedProp = {};\n var _this$initialSku$sele = this.initialSku.selectedProp,\n selectedProp = _this$initialSku$sele === void 0 ? {} : _this$initialSku$sele; // 选中外部传入信息\n\n this.propList.forEach(function (item) {\n if (selectedProp[item.k_id]) {\n _this3.selectedProp[item.k_id] = selectedProp[item.k_id];\n }\n });\n\n if (isEmpty(this.selectedProp)) {\n this.propList.forEach(function (item) {\n var _item$v;\n\n // 没有加价的属性,默认选中第一个\n if ((item == null ? void 0 : (_item$v = item.v) == null ? void 0 : _item$v.length) > 0) {\n var v = item.v,\n k_id = item.k_id;\n var isHasConfigPrice = v.some(function (i) {\n return +i.price !== 0;\n }); // 没有加价属性\n\n if (!isHasConfigPrice) {\n // 找到第一个不被禁用的属性\n // 历史如果没有 text_status 字段的,就相当于沿用直接原来的逻辑取第一个属性\n var firstEnableProp = v.find(function (prop) {\n return prop.text_status !== 0;\n });\n\n if (firstEnableProp) {\n _this3.selectedProp[k_id] = [firstEnableProp.id];\n }\n }\n }\n });\n }\n\n var propValues = this.selectedPropValues;\n\n if (propValues.length > 0) {\n this.$emit('sku-prop-selected', {\n propValue: propValues[propValues.length - 1],\n selectedProp: this.selectedProp,\n selectedSkuComb: this.selectedSkuComb\n });\n } // 抛出重置事件\n\n\n this.$emit('sku-reset', {\n selectedSku: this.selectedSku,\n selectedProp: this.selectedProp,\n selectedSkuComb: this.selectedSkuComb\n });\n this.centerInitialSku();\n },\n getSkuMessages: function getSkuMessages() {\n return this.$refs.skuMessages ? this.$refs.skuMessages.getMessages() : {};\n },\n getSkuCartMessages: function getSkuCartMessages() {\n return this.$refs.skuMessages ? this.$refs.skuMessages.getCartMessages() : {};\n },\n validateSkuMessages: function validateSkuMessages() {\n return this.$refs.skuMessages ? this.$refs.skuMessages.validateMessages() : '';\n },\n validateSku: function validateSku() {\n if (this.selectedNum === 0) {\n return t('unavailable');\n }\n\n if (this.isSkuCombSelected) {\n return this.validateSkuMessages();\n } // 自定义sku校验\n\n\n if (this.customSkuValidator) {\n var err = this.customSkuValidator(this);\n if (err) return err;\n }\n\n return t('selectSku');\n },\n onSelect: function onSelect(skuValue) {\n var _extends2, _extends3;\n\n // 点击已选中的sku时则取消选中\n this.selectedSku = this.selectedSku[skuValue.skuKeyStr] === skuValue.id ? _extends({}, this.selectedSku, (_extends2 = {}, _extends2[skuValue.skuKeyStr] = UNSELECTED_SKU_VALUE_ID, _extends2)) : _extends({}, this.selectedSku, (_extends3 = {}, _extends3[skuValue.skuKeyStr] = skuValue.id, _extends3));\n this.$emit('sku-selected', {\n skuValue: skuValue,\n selectedSku: this.selectedSku,\n selectedSkuComb: this.selectedSkuComb\n });\n },\n onPropSelect: function onPropSelect(propValue) {\n var _extends4;\n\n var arr = this.selectedProp[propValue.skuKeyStr] || [];\n var pos = arr.indexOf(propValue.id);\n\n if (pos > -1) {\n arr.splice(pos, 1);\n } else if (propValue.multiple) {\n arr.push(propValue.id);\n } else {\n arr.splice(0, 1, propValue.id);\n }\n\n this.selectedProp = _extends({}, this.selectedProp, (_extends4 = {}, _extends4[propValue.skuKeyStr] = arr, _extends4));\n this.$emit('sku-prop-selected', {\n propValue: propValue,\n selectedProp: this.selectedProp,\n selectedSkuComb: this.selectedSkuComb\n });\n },\n onNumChange: function onNumChange(num) {\n this.selectedNum = num;\n },\n onPreviewImage: function onPreviewImage(selectedValue) {\n var _this4 = this;\n\n var imageList = this.imageList;\n var index = 0;\n var indexImage = imageList[0];\n\n if (selectedValue && selectedValue.imgUrl) {\n this.imageList.some(function (image, pos) {\n if (image === selectedValue.imgUrl) {\n index = pos;\n return true;\n }\n\n return false;\n });\n indexImage = selectedValue.imgUrl;\n }\n\n var params = _extends({}, selectedValue, {\n index: index,\n imageList: this.imageList,\n indexImage: indexImage\n });\n\n this.$emit('open-preview', params);\n\n if (!this.previewOnClickImage) {\n return;\n }\n\n ImagePreview({\n images: this.imageList,\n startPosition: index,\n onClose: function onClose() {\n _this4.$emit('close-preview', params);\n }\n });\n },\n onOverLimit: function onOverLimit(data) {\n var action = data.action,\n limitType = data.limitType,\n quota = data.quota,\n quotaUsed = data.quotaUsed;\n var handleOverLimit = this.customStepperConfig.handleOverLimit;\n\n if (handleOverLimit) {\n handleOverLimit(data);\n return;\n }\n\n if (action === 'minus') {\n if (this.startSaleNum > 1) {\n Toast(t('minusStartTip', this.startSaleNum));\n } else {\n Toast(t('minusTip'));\n }\n } else if (action === 'plus') {\n if (limitType === QUOTA_LIMIT) {\n if (quotaUsed > 0) {\n Toast(t('quotaUsedTip', quota, quotaUsed));\n } else {\n Toast(t('quotaTip', quota));\n }\n } else {\n Toast(t('soldout'));\n }\n }\n },\n onStepperState: function onStepperState(data) {\n this.stepperError = data.valid ? null : _extends({}, data, {\n action: 'plus'\n });\n },\n onAddCart: function onAddCart() {\n this.onBuyOrAddCart('add-cart');\n },\n onBuy: function onBuy() {\n this.onBuyOrAddCart('buy-clicked');\n },\n onBuyOrAddCart: function onBuyOrAddCart(type) {\n // sku 不符合购买条件\n if (this.stepperError) {\n return this.onOverLimit(this.stepperError);\n }\n\n var error = this.validateSku();\n\n if (error) {\n Toast(error);\n } else {\n this.$emit(type, this.getSkuData());\n }\n },\n // @exposed-api\n getSkuData: function getSkuData() {\n return {\n goodsId: this.goodsId,\n messages: this.getSkuMessages(),\n selectedNum: this.selectedNum,\n cartMessages: this.getSkuCartMessages(),\n selectedSkuComb: this.selectedSkuComb\n };\n },\n // 当 popup 完全打开后执行\n onOpened: function onOpened() {\n this.centerInitialSku();\n },\n centerInitialSku: function centerInitialSku() {\n var _this5 = this;\n\n (this.$refs.skuRows || []).forEach(function (it) {\n var _ref = it.skuRow || {},\n k_s = _ref.k_s;\n\n it.centerItem(_this5.initialSku[k_s]);\n });\n }\n },\n render: function render() {\n var _this6 = this;\n\n var h = arguments[0];\n\n if (this.isSkuEmpty) {\n return;\n }\n\n var sku = this.sku,\n skuList = this.skuList,\n goods = this.goods,\n price = this.price,\n lazyLoad = this.lazyLoad,\n originPrice = this.originPrice,\n skuEventBus = this.skuEventBus,\n selectedSku = this.selectedSku,\n selectedProp = this.selectedProp,\n selectedNum = this.selectedNum,\n stepperTitle = this.stepperTitle,\n selectedSkuComb = this.selectedSkuComb,\n showHeaderImage = this.showHeaderImage,\n disableSoldoutSku = this.disableSoldoutSku;\n var slotsProps = {\n price: price,\n originPrice: originPrice,\n selectedNum: selectedNum,\n skuEventBus: skuEventBus,\n selectedSku: selectedSku,\n selectedSkuComb: selectedSkuComb\n };\n\n var slots = function slots(name) {\n return _this6.slots(name, slotsProps);\n };\n\n var Header = slots('sku-header') || h(SkuHeader, {\n \"attrs\": {\n \"sku\": sku,\n \"goods\": goods,\n \"skuEventBus\": skuEventBus,\n \"selectedSku\": selectedSku,\n \"showHeaderImage\": showHeaderImage\n }\n }, [h(\"template\", {\n \"slot\": \"sku-header-image-extra\"\n }, [slots('sku-header-image-extra')]), slots('sku-header-price') || h(\"div\", {\n \"class\": \"van-sku__goods-price\"\n }, [h(\"span\", {\n \"class\": \"van-sku__price-symbol\"\n }, [\"\\uFFE5\"]), h(\"span\", {\n \"class\": \"van-sku__price-num\"\n }, [price]), this.priceTag && h(\"span\", {\n \"class\": \"van-sku__price-tag\"\n }, [this.priceTag])]), slots('sku-header-origin-price') || originPrice && h(SkuHeaderItem, [t('originPrice'), \" \\uFFE5\", originPrice]), !this.hideStock && h(SkuHeaderItem, [h(\"span\", {\n \"class\": \"van-sku__stock\"\n }, [this.stockText])]), this.hasSkuOrAttr && !this.hideSelectedText && h(SkuHeaderItem, [this.selectedText]), slots('sku-header-extra')]);\n var Group = slots('sku-group') || this.hasSkuOrAttr && h(\"div\", {\n \"class\": this.skuGroupClass\n }, [this.skuTree.map(function (skuTreeItem) {\n return h(SkuRow, {\n \"attrs\": {\n \"skuRow\": skuTreeItem\n },\n \"ref\": \"skuRows\",\n \"refInFor\": true\n }, [skuTreeItem.v.map(function (skuValue) {\n return h(SkuRowItem, {\n \"attrs\": {\n \"skuList\": skuList,\n \"lazyLoad\": lazyLoad,\n \"skuValue\": skuValue,\n \"skuKeyStr\": skuTreeItem.k_s,\n \"selectedSku\": selectedSku,\n \"skuEventBus\": skuEventBus,\n \"disableSoldoutSku\": disableSoldoutSku,\n \"largeImageMode\": skuTreeItem.largeImageMode\n }\n });\n })]);\n }), this.propList.map(function (skuTreeItem) {\n return h(SkuRow, {\n \"attrs\": {\n \"skuRow\": skuTreeItem\n }\n }, [skuTreeItem.v.map(function (skuValue) {\n return h(SkuRowPropItem, {\n \"attrs\": {\n \"skuValue\": skuValue,\n \"skuKeyStr\": skuTreeItem.k_id + '',\n \"selectedProp\": selectedProp,\n \"skuEventBus\": skuEventBus,\n \"multiple\": skuTreeItem.is_multiple,\n \"disabled\": skuValue.text_status === 0\n }\n });\n })]);\n })]);\n var Stepper = slots('sku-stepper') || h(SkuStepper, {\n \"ref\": \"skuStepper\",\n \"attrs\": {\n \"stock\": this.stock,\n \"quota\": this.quota,\n \"quotaUsed\": this.quotaUsed,\n \"startSaleNum\": this.startSaleNum,\n \"skuEventBus\": skuEventBus,\n \"selectedNum\": selectedNum,\n \"stepperTitle\": stepperTitle,\n \"skuStockNum\": sku.stock_num,\n \"disableStepperInput\": this.disableStepperInput,\n \"customStepperConfig\": this.customStepperConfig,\n \"hideQuotaText\": this.hideQuotaText\n },\n \"on\": {\n \"change\": function change(event) {\n _this6.$emit('stepper-change', event);\n }\n }\n });\n var Messages = slots('sku-messages') || h(SkuMessages, {\n \"ref\": \"skuMessages\",\n \"attrs\": {\n \"goodsId\": this.goodsId,\n \"messageConfig\": this.messageConfig,\n \"messages\": sku.messages\n }\n });\n var Actions = slots('sku-actions') || h(SkuActions, {\n \"attrs\": {\n \"buyText\": this.buyText,\n \"skuEventBus\": skuEventBus,\n \"addCartText\": this.addCartText,\n \"showAddCartBtn\": this.showAddCartBtn\n }\n });\n return h(Popup, {\n \"attrs\": {\n \"round\": true,\n \"closeable\": true,\n \"position\": \"bottom\",\n \"getContainer\": this.getContainer,\n \"closeOnClickOverlay\": this.closeOnClickOverlay,\n \"safeAreaInsetBottom\": this.safeAreaInsetBottom\n },\n \"class\": \"van-sku-container\",\n \"on\": {\n \"opened\": this.onOpened\n },\n \"model\": {\n value: _this6.show,\n callback: function callback($$v) {\n _this6.show = $$v;\n }\n }\n }, [Header, h(\"div\", {\n \"class\": \"van-sku-body\",\n \"style\": this.bodyStyle\n }, [slots('sku-body-top'), Group, slots('extra-sku-group'), Stepper, Messages]), slots('sku-actions-top'), Actions]);\n }\n});","// Utils\nimport lang from './lang';\nimport constants from './constants';\nimport skuHelper from './utils/sku-helper'; // Components\n\nimport Sku from './Sku';\nimport Locale from '../locale';\nimport SkuActions from './components/SkuActions';\nimport SkuHeader from './components/SkuHeader';\nimport SkuHeaderItem from './components/SkuHeaderItem';\nimport SkuMessages from './components/SkuMessages';\nimport SkuStepper from './components/SkuStepper';\nimport SkuRow from './components/SkuRow';\nimport SkuRowItem from './components/SkuRowItem';\nimport SkuRowPropItem from './components/SkuRowPropItem';\nLocale.add(lang);\nSku.SkuActions = SkuActions;\nSku.SkuHeader = SkuHeader;\nSku.SkuHeaderItem = SkuHeaderItem;\nSku.SkuMessages = SkuMessages;\nSku.SkuStepper = SkuStepper;\nSku.SkuRow = SkuRow;\nSku.SkuRowItem = SkuRowItem;\nSku.SkuRowPropItem = SkuRowPropItem;\nSku.skuHelper = skuHelper;\nSku.skuConstants = constants;\nexport default Sku;","import { createNamespace, addUnit } from '../utils';\nimport { deepClone } from '../utils/deep-clone';\nimport { preventDefault } from '../utils/dom/event';\nimport { range, addNumber } from '../utils/format/number';\nimport { TouchMixin } from '../mixins/touch';\nimport { FieldMixin } from '../mixins/field';\n\nvar _createNamespace = createNamespace('slider'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar isSameValue = function isSameValue(newValue, oldValue) {\n return JSON.stringify(newValue) === JSON.stringify(oldValue);\n};\n\nexport default createComponent({\n mixins: [TouchMixin, FieldMixin],\n props: {\n disabled: Boolean,\n vertical: Boolean,\n range: Boolean,\n barHeight: [Number, String],\n buttonSize: [Number, String],\n activeColor: String,\n inactiveColor: String,\n min: {\n type: [Number, String],\n default: 0\n },\n max: {\n type: [Number, String],\n default: 100\n },\n step: {\n type: [Number, String],\n default: 1\n },\n value: {\n type: [Number, Array],\n default: 0\n }\n },\n data: function data() {\n return {\n dragStatus: ''\n };\n },\n computed: {\n scope: function scope() {\n return this.max - this.min;\n },\n buttonStyle: function buttonStyle() {\n if (this.buttonSize) {\n var size = addUnit(this.buttonSize);\n return {\n width: size,\n height: size\n };\n }\n }\n },\n created: function created() {\n // format initial value\n this.updateValue(this.value);\n },\n mounted: function mounted() {\n if (this.range) {\n this.bindTouchEvent(this.$refs.wrapper0);\n this.bindTouchEvent(this.$refs.wrapper1);\n } else {\n this.bindTouchEvent(this.$refs.wrapper);\n }\n },\n methods: {\n onTouchStart: function onTouchStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.touchStart(event);\n this.currentValue = this.value;\n\n if (this.range) {\n this.startValue = this.value.map(this.format);\n } else {\n this.startValue = this.format(this.value);\n }\n\n this.dragStatus = 'start';\n },\n onTouchMove: function onTouchMove(event) {\n if (this.disabled) {\n return;\n }\n\n if (this.dragStatus === 'start') {\n this.$emit('drag-start');\n }\n\n preventDefault(event, true);\n this.touchMove(event);\n this.dragStatus = 'draging';\n var rect = this.$el.getBoundingClientRect();\n var delta = this.vertical ? this.deltaY : this.deltaX;\n var total = this.vertical ? rect.height : rect.width;\n var diff = delta / total * this.scope;\n\n if (this.range) {\n this.currentValue[this.index] = this.startValue[this.index] + diff;\n } else {\n this.currentValue = this.startValue + diff;\n }\n\n this.updateValue(this.currentValue);\n },\n onTouchEnd: function onTouchEnd() {\n if (this.disabled) {\n return;\n }\n\n if (this.dragStatus === 'draging') {\n this.updateValue(this.currentValue, true);\n this.$emit('drag-end');\n }\n\n this.dragStatus = '';\n },\n onClick: function onClick(event) {\n event.stopPropagation();\n if (this.disabled) return;\n var rect = this.$el.getBoundingClientRect();\n var delta = this.vertical ? event.clientY - rect.top : event.clientX - rect.left;\n var total = this.vertical ? rect.height : rect.width;\n var value = +this.min + delta / total * this.scope;\n\n if (this.range) {\n var _this$value = this.value,\n left = _this$value[0],\n right = _this$value[1];\n var middle = (left + right) / 2;\n\n if (value <= middle) {\n left = value;\n } else {\n right = value;\n }\n\n value = [left, right];\n }\n\n this.startValue = this.value;\n this.updateValue(value, true);\n },\n // 处理两个滑块重叠之后的情况\n handleOverlap: function handleOverlap(value) {\n if (value[0] > value[1]) {\n value = deepClone(value);\n return value.reverse();\n }\n\n return value;\n },\n updateValue: function updateValue(value, end) {\n if (this.range) {\n value = this.handleOverlap(value).map(this.format);\n } else {\n value = this.format(value);\n }\n\n if (!isSameValue(value, this.value)) {\n this.$emit('input', value);\n }\n\n if (end && !isSameValue(value, this.startValue)) {\n this.$emit('change', value);\n }\n },\n format: function format(value) {\n var min = +this.min;\n var max = +this.max;\n var step = +this.step;\n value = range(value, min, max);\n var diff = Math.round((value - min) / step) * step;\n return addNumber(min, diff);\n }\n },\n render: function render() {\n var _wrapperStyle,\n _this = this,\n _barStyle;\n\n var h = arguments[0];\n var vertical = this.vertical;\n var mainAxis = vertical ? 'height' : 'width';\n var crossAxis = vertical ? 'width' : 'height';\n var wrapperStyle = (_wrapperStyle = {\n background: this.inactiveColor\n }, _wrapperStyle[crossAxis] = addUnit(this.barHeight), _wrapperStyle); // 计算选中条的长度百分比\n\n var calcMainAxis = function calcMainAxis() {\n var value = _this.value,\n min = _this.min,\n range = _this.range,\n scope = _this.scope;\n\n if (range) {\n return (value[1] - value[0]) * 100 / scope + \"%\";\n }\n\n return (value - min) * 100 / scope + \"%\";\n }; // 计算选中条的开始位置的偏移量\n\n\n var calcOffset = function calcOffset() {\n var value = _this.value,\n min = _this.min,\n range = _this.range,\n scope = _this.scope;\n\n if (range) {\n return (value[0] - min) * 100 / scope + \"%\";\n }\n\n return null;\n };\n\n var barStyle = (_barStyle = {}, _barStyle[mainAxis] = calcMainAxis(), _barStyle.left = this.vertical ? null : calcOffset(), _barStyle.top = this.vertical ? calcOffset() : null, _barStyle.background = this.activeColor, _barStyle);\n\n if (this.dragStatus) {\n barStyle.transition = 'none';\n }\n\n var renderButton = function renderButton(i) {\n var map = ['left', 'right'];\n var isNumber = typeof i === 'number';\n var current = isNumber ? _this.value[i] : _this.value;\n\n var getClassName = function getClassName() {\n if (isNumber) {\n return \"button-wrapper-\" + map[i];\n }\n\n return \"button-wrapper\";\n };\n\n var getRefName = function getRefName() {\n if (isNumber) {\n return \"wrapper\" + i;\n }\n\n return \"wrapper\";\n };\n\n var renderButtonContent = function renderButtonContent() {\n if (isNumber) {\n var slot = _this.slots(i === 0 ? 'left-button' : 'right-button', {\n value: current\n });\n\n if (slot) {\n return slot;\n }\n }\n\n if (_this.slots('button')) {\n return _this.slots('button');\n }\n\n return h(\"div\", {\n \"class\": bem('button'),\n \"style\": _this.buttonStyle\n });\n };\n\n return h(\"div\", {\n \"ref\": getRefName(),\n \"attrs\": {\n \"role\": \"slider\",\n \"tabindex\": _this.disabled ? -1 : 0,\n \"aria-valuemin\": _this.min,\n \"aria-valuenow\": _this.value,\n \"aria-valuemax\": _this.max,\n \"aria-orientation\": _this.vertical ? 'vertical' : 'horizontal'\n },\n \"class\": bem(getClassName()),\n \"on\": {\n \"touchstart\": function touchstart() {\n if (isNumber) {\n // 保存当前按钮的索引\n _this.index = i;\n }\n },\n \"click\": function click(e) {\n return e.stopPropagation();\n }\n }\n }, [renderButtonContent()]);\n };\n\n return h(\"div\", {\n \"style\": wrapperStyle,\n \"class\": bem({\n disabled: this.disabled,\n vertical: vertical\n }),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('bar'),\n \"style\": barStyle\n }, [this.range ? [renderButton(0), renderButton(1)] : renderButton()])]);\n }\n});","import { createNamespace } from '../utils';\nimport { BORDER } from '../utils/constant';\nimport { ChildrenMixin } from '../mixins/relation';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('step'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanSteps')],\n computed: {\n status: function status() {\n if (this.index < this.parent.active) {\n return 'finish';\n }\n\n if (this.index === +this.parent.active) {\n return 'process';\n }\n },\n active: function active() {\n return this.status === 'process';\n },\n lineStyle: function lineStyle() {\n var _this$parent = this.parent,\n activeColor = _this$parent.activeColor,\n inactiveColor = _this$parent.inactiveColor,\n center = _this$parent.center,\n direction = _this$parent.direction;\n var style = {\n background: this.status === 'finish' ? activeColor : inactiveColor\n };\n\n if (center && direction === 'vertical') {\n style.top = '50%';\n }\n\n return style;\n },\n circleContainerStyle: function circleContainerStyle() {\n if (this.parent.center && this.parent.direction === 'vertical') {\n return {\n top: '50%'\n };\n }\n },\n titleStyle: function titleStyle() {\n if (this.active) {\n return {\n color: this.parent.activeColor\n };\n }\n\n if (!this.status) {\n return {\n color: this.parent.inactiveColor\n };\n }\n }\n },\n methods: {\n genCircle: function genCircle() {\n var h = this.$createElement;\n var _this$parent2 = this.parent,\n activeIcon = _this$parent2.activeIcon,\n iconPrefix = _this$parent2.iconPrefix,\n activeColor = _this$parent2.activeColor,\n finishIcon = _this$parent2.finishIcon,\n inactiveIcon = _this$parent2.inactiveIcon;\n\n if (this.active) {\n return this.slots('active-icon') || h(Icon, {\n \"class\": bem('icon', 'active'),\n \"attrs\": {\n \"name\": activeIcon,\n \"color\": activeColor,\n \"classPrefix\": iconPrefix\n }\n });\n }\n\n var finishIconSlot = this.slots('finish-icon');\n\n if (this.status === 'finish' && (finishIcon || finishIconSlot)) {\n return finishIconSlot || h(Icon, {\n \"class\": bem('icon', 'finish'),\n \"attrs\": {\n \"name\": finishIcon,\n \"color\": activeColor,\n \"classPrefix\": iconPrefix\n }\n });\n }\n\n var inactiveIconSlot = this.slots('inactive-icon');\n\n if (inactiveIcon || inactiveIconSlot) {\n return inactiveIconSlot || h(Icon, {\n \"class\": bem('icon'),\n \"attrs\": {\n \"name\": inactiveIcon,\n \"classPrefix\": iconPrefix\n }\n });\n }\n\n return h(\"i\", {\n \"class\": bem('circle'),\n \"style\": this.lineStyle\n });\n },\n onClickStep: function onClickStep() {\n this.parent.$emit('click-step', this.index);\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n var status = this.status,\n active = this.active;\n var direction = this.parent.direction;\n return h(\"div\", {\n \"class\": [BORDER, bem([direction, (_ref = {}, _ref[status] = status, _ref)])]\n }, [h(\"div\", {\n \"class\": bem('title', {\n active: active\n }),\n \"style\": this.titleStyle,\n \"on\": {\n \"click\": this.onClickStep\n }\n }, [this.slots()]), h(\"div\", {\n \"class\": bem('circle-container'),\n \"on\": {\n \"click\": this.onClickStep\n },\n \"style\": this.circleContainerStyle\n }, [this.genCircle()]), h(\"div\", {\n \"class\": bem('line'),\n \"style\": this.lineStyle\n })]);\n }\n});","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('steps'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanSteps')],\n props: {\n center: Boolean,\n iconPrefix: String,\n finishIcon: String,\n activeColor: String,\n inactiveIcon: String,\n inactiveColor: String,\n active: {\n type: [Number, String],\n default: 0\n },\n direction: {\n type: String,\n default: 'horizontal'\n },\n activeIcon: {\n type: String,\n default: 'checked'\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem([this.direction])\n }, [h(\"div\", {\n \"class\": bem('items')\n }, [this.slots()])]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { emit, inherit } from '../utils/functional'; // Components\n\nimport Icon from '../icon';\nimport Button from '../button'; // Types\n\nvar _createNamespace = createNamespace('submit-bar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction SubmitBar(h, props, slots, ctx) {\n var tip = props.tip,\n price = props.price,\n tipIcon = props.tipIcon;\n\n function Text() {\n if (typeof price === 'number') {\n var priceArr = (price / 100).toFixed(props.decimalLength).split('.');\n var decimalStr = props.decimalLength ? \".\" + priceArr[1] : '';\n return h(\"div\", {\n \"style\": {\n textAlign: props.textAlign ? props.textAlign : ''\n },\n \"class\": bem('text')\n }, [h(\"span\", [props.label || t('label')]), h(\"span\", {\n \"class\": bem('price')\n }, [props.currency, h(\"span\", {\n \"class\": bem('price', 'integer')\n }, [priceArr[0]]), decimalStr]), props.suffixLabel && h(\"span\", {\n \"class\": bem('suffix-label')\n }, [props.suffixLabel])]);\n }\n }\n\n function Tip() {\n if (slots.tip || tip) {\n return h(\"div\", {\n \"class\": bem('tip')\n }, [tipIcon && h(Icon, {\n \"class\": bem('tip-icon'),\n \"attrs\": {\n \"name\": tipIcon\n }\n }), tip && h(\"span\", {\n \"class\": bem('tip-text')\n }, [tip]), slots.tip && slots.tip()]);\n }\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem({\n unfit: !props.safeAreaInsetBottom\n })\n }, inherit(ctx)]), [slots.top && slots.top(), Tip(), h(\"div\", {\n \"class\": bem('bar')\n }, [slots.default && slots.default(), Text(), slots.button ? slots.button() : h(Button, {\n \"attrs\": {\n \"round\": true,\n \"type\": props.buttonType,\n \"text\": props.loading ? '' : props.buttonText,\n \"color\": props.buttonColor,\n \"loading\": props.loading,\n \"disabled\": props.disabled\n },\n \"class\": bem('button', props.buttonType),\n \"on\": {\n \"click\": function click() {\n emit(ctx, 'submit');\n }\n }\n })])]);\n}\n\nSubmitBar.props = {\n tip: String,\n label: String,\n price: Number,\n tipIcon: String,\n loading: Boolean,\n disabled: Boolean,\n textAlign: String,\n buttonText: String,\n buttonColor: String,\n suffixLabel: String,\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n },\n decimalLength: {\n type: [Number, String],\n default: 2\n },\n currency: {\n type: String,\n default: '¥'\n },\n buttonType: {\n type: String,\n default: 'danger'\n }\n};\nexport default createComponent(SubmitBar);","// Utils\nimport { createNamespace } from '../utils';\nimport { range } from '../utils/format/number';\nimport { preventDefault } from '../utils/dom/event'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch';\nimport { ClickOutsideMixin } from '../mixins/click-outside';\n\nvar _createNamespace = createNamespace('swipe-cell'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar THRESHOLD = 0.15;\nexport default createComponent({\n mixins: [TouchMixin, ClickOutsideMixin({\n event: 'touchstart',\n method: 'onClick'\n })],\n props: {\n // @deprecated\n // should be removed in next major version, use beforeClose instead\n onClose: Function,\n disabled: Boolean,\n leftWidth: [Number, String],\n rightWidth: [Number, String],\n beforeClose: Function,\n stopPropagation: Boolean,\n name: {\n type: [Number, String],\n default: ''\n }\n },\n data: function data() {\n return {\n offset: 0,\n dragging: false\n };\n },\n computed: {\n computedLeftWidth: function computedLeftWidth() {\n return +this.leftWidth || this.getWidthByRef('left');\n },\n computedRightWidth: function computedRightWidth() {\n return +this.rightWidth || this.getWidthByRef('right');\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$el);\n },\n methods: {\n getWidthByRef: function getWidthByRef(ref) {\n if (this.$refs[ref]) {\n var rect = this.$refs[ref].getBoundingClientRect();\n return rect.width;\n }\n\n return 0;\n },\n // @exposed-api\n open: function open(position) {\n var offset = position === 'left' ? this.computedLeftWidth : -this.computedRightWidth;\n this.opened = true;\n this.offset = offset;\n this.$emit('open', {\n position: position,\n name: this.name,\n // @deprecated\n // should be removed in next major version\n detail: this.name\n });\n },\n // @exposed-api\n close: function close(position) {\n this.offset = 0;\n\n if (this.opened) {\n this.opened = false;\n this.$emit('close', {\n position: position,\n name: this.name\n });\n }\n },\n onTouchStart: function onTouchStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.startOffset = this.offset;\n this.touchStart(event);\n },\n onTouchMove: function onTouchMove(event) {\n if (this.disabled) {\n return;\n }\n\n this.touchMove(event);\n\n if (this.direction === 'horizontal') {\n this.dragging = true;\n this.lockClick = true;\n var isPrevent = !this.opened || this.deltaX * this.startOffset < 0;\n\n if (isPrevent) {\n preventDefault(event, this.stopPropagation);\n }\n\n this.offset = range(this.deltaX + this.startOffset, -this.computedRightWidth, this.computedLeftWidth);\n }\n },\n onTouchEnd: function onTouchEnd() {\n var _this = this;\n\n if (this.disabled) {\n return;\n }\n\n if (this.dragging) {\n this.toggle(this.offset > 0 ? 'left' : 'right');\n this.dragging = false; // compatible with desktop scenario\n\n setTimeout(function () {\n _this.lockClick = false;\n }, 0);\n }\n },\n toggle: function toggle(direction) {\n var offset = Math.abs(this.offset);\n var threshold = this.opened ? 1 - THRESHOLD : THRESHOLD;\n var computedLeftWidth = this.computedLeftWidth,\n computedRightWidth = this.computedRightWidth;\n\n if (computedRightWidth && direction === 'right' && offset > computedRightWidth * threshold) {\n this.open('right');\n } else if (computedLeftWidth && direction === 'left' && offset > computedLeftWidth * threshold) {\n this.open('left');\n } else {\n this.close();\n }\n },\n onClick: function onClick(position) {\n if (position === void 0) {\n position = 'outside';\n }\n\n this.$emit('click', position);\n\n if (this.opened && !this.lockClick) {\n if (this.beforeClose) {\n this.beforeClose({\n position: position,\n name: this.name,\n instance: this\n });\n } else if (this.onClose) {\n this.onClose(position, this, {\n name: this.name\n });\n } else {\n this.close(position);\n }\n }\n },\n getClickHandler: function getClickHandler(position, stop) {\n var _this2 = this;\n\n return function (event) {\n if (stop) {\n event.stopPropagation();\n }\n\n _this2.onClick(position);\n };\n },\n genLeftPart: function genLeftPart() {\n var h = this.$createElement;\n var content = this.slots('left');\n\n if (content) {\n return h(\"div\", {\n \"ref\": \"left\",\n \"class\": bem('left'),\n \"on\": {\n \"click\": this.getClickHandler('left', true)\n }\n }, [content]);\n }\n },\n genRightPart: function genRightPart() {\n var h = this.$createElement;\n var content = this.slots('right');\n\n if (content) {\n return h(\"div\", {\n \"ref\": \"right\",\n \"class\": bem('right'),\n \"on\": {\n \"click\": this.getClickHandler('right', true)\n }\n }, [content]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var wrapperStyle = {\n transform: \"translate3d(\" + this.offset + \"px, 0, 0)\",\n transitionDuration: this.dragging ? '0s' : '.6s'\n };\n return h(\"div\", {\n \"class\": bem(),\n \"on\": {\n \"click\": this.getClickHandler('cell')\n }\n }, [h(\"div\", {\n \"class\": bem('wrapper'),\n \"style\": wrapperStyle\n }, [this.genLeftPart(), this.slots(), this.genRightPart()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit } from '../utils/functional'; // Components\n\nimport Cell from '../cell';\nimport Switch from '../switch';\nimport { switchProps } from '../switch/shared'; // Types\n\nvar _createNamespace = createNamespace('switch-cell'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction SwitchCell(h, props, slots, ctx) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('[Vant] \"SwitchCell\" component is deprecated, see: https://vant-ui.github.io/vant/v2/#/zh-CN/switch-cell.');\n }\n\n return h(Cell, _mergeJSXProps([{\n \"attrs\": {\n \"center\": true,\n \"size\": props.cellSize,\n \"title\": props.title,\n \"border\": props.border\n },\n \"class\": bem([props.cellSize])\n }, inherit(ctx)]), [h(Switch, {\n \"props\": _extends({}, props),\n \"on\": _extends({}, ctx.listeners)\n })]);\n}\n\nSwitchCell.props = _extends({}, switchProps, {\n title: String,\n cellSize: String,\n border: {\n type: Boolean,\n default: true\n },\n size: {\n type: String,\n default: '24px'\n }\n});\nexport default createComponent(SwitchCell);","import { createNamespace } from '../utils';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant';\nimport { callInterceptor } from '../utils/interceptor';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('tabbar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanTabbar')],\n props: {\n route: Boolean,\n zIndex: [Number, String],\n placeholder: Boolean,\n activeColor: String,\n beforeChange: Function,\n inactiveColor: String,\n value: {\n type: [Number, String],\n default: 0\n },\n border: {\n type: Boolean,\n default: true\n },\n fixed: {\n type: Boolean,\n default: true\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: null\n }\n },\n data: function data() {\n return {\n height: null\n };\n },\n computed: {\n fit: function fit() {\n if (this.safeAreaInsetBottom !== null) {\n return this.safeAreaInsetBottom;\n } // enable safe-area-inset-bottom by default when fixed\n\n\n return this.fixed;\n }\n },\n watch: {\n value: 'setActiveItem',\n children: 'setActiveItem'\n },\n mounted: function mounted() {\n var _this = this;\n\n if (this.placeholder && this.fixed) {\n var setHeight = function setHeight() {\n _this.height = _this.$refs.tabbar.getBoundingClientRect().height;\n };\n\n setHeight(); // https://github.com/vant-ui/vant/issues/10131\n\n setTimeout(setHeight, 100);\n }\n },\n methods: {\n setActiveItem: function setActiveItem() {\n var _this2 = this;\n\n this.children.forEach(function (item, index) {\n item.nameMatched = item.name === _this2.value || index === _this2.value;\n });\n },\n triggerChange: function triggerChange(active, afterChange) {\n var _this3 = this;\n\n callInterceptor({\n interceptor: this.beforeChange,\n args: [active],\n done: function done() {\n _this3.$emit('input', active);\n\n _this3.$emit('change', active);\n\n afterChange();\n }\n });\n },\n genTabbar: function genTabbar() {\n var _ref;\n\n var h = this.$createElement;\n return h(\"div\", {\n \"ref\": \"tabbar\",\n \"style\": {\n zIndex: this.zIndex\n },\n \"class\": [(_ref = {}, _ref[BORDER_TOP_BOTTOM] = this.border, _ref), bem({\n unfit: !this.fit,\n fixed: this.fixed\n })]\n }, [this.slots()]);\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (this.placeholder && this.fixed) {\n return h(\"div\", {\n \"class\": bem('placeholder'),\n \"style\": {\n height: this.height + \"px\"\n }\n }, [this.genTabbar()]);\n }\n\n return this.genTabbar();\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, isObject, isDef } from '../utils';\nimport { route, routeProps } from '../utils/router'; // Mixins\n\nimport { ChildrenMixin } from '../mixins/relation'; // Components\n\nimport Icon from '../icon';\nimport Info from '../info';\n\nvar _createNamespace = createNamespace('tabbar-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanTabbar')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n icon: String,\n name: [Number, String],\n // @deprecated\n info: [Number, String],\n badge: [Number, String],\n iconPrefix: String\n }),\n data: function data() {\n return {\n nameMatched: false\n };\n },\n computed: {\n active: function active() {\n var routeMode = this.parent.route;\n\n if (routeMode && '$route' in this) {\n var to = this.to,\n $route = this.$route;\n var config = isObject(to) ? to : {\n path: to\n };\n return !!$route.matched.find(function (r) {\n // vue-router 3.x $route.matched[0].path is empty in / and its children paths\n var path = r.path === '' ? '/' : r.path;\n var pathMatched = config.path === path;\n var nameMatched = isDef(config.name) && config.name === r.name;\n return pathMatched || nameMatched;\n });\n }\n\n return this.nameMatched;\n }\n },\n methods: {\n onClick: function onClick(event) {\n var _this = this;\n\n if (!this.active) {\n this.parent.triggerChange(this.name || this.index, function () {\n route(_this.$router, _this);\n });\n }\n\n this.$emit('click', event);\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var slot = this.slots('icon', {\n active: this.active\n });\n\n if (slot) {\n return slot;\n }\n\n if (this.icon) {\n return h(Icon, {\n \"attrs\": {\n \"name\": this.icon,\n \"classPrefix\": this.iconPrefix\n }\n });\n }\n }\n },\n render: function render() {\n var _this$badge;\n\n var h = arguments[0];\n var active = this.active;\n var color = this.parent[active ? 'activeColor' : 'inactiveColor'];\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] TabbarItem: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n return h(\"div\", {\n \"class\": bem({\n active: active\n }),\n \"style\": {\n color: color\n },\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('icon')\n }, [this.genIcon(), h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": (_this$badge = this.badge) != null ? _this$badge : this.info\n }\n })]), h(\"div\", {\n \"class\": bem('text')\n }, [this.slots('default', {\n active: active\n })])]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { emit, inherit } from '../utils/functional'; // Components\n\nimport Icon from '../icon';\nimport Sidebar from '../sidebar';\nimport SidebarItem from '../sidebar-item'; // Types\n\nvar _createNamespace = createNamespace('tree-select'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction TreeSelect(h, props, slots, ctx) {\n var items = props.items,\n height = props.height,\n activeId = props.activeId,\n selectedIcon = props.selectedIcon,\n mainActiveIndex = props.mainActiveIndex;\n\n if (process.env.NODE_ENV === 'development') {\n if (ctx.listeners.navclick) {\n console.warn('[Vant] TreeSelect: \"navclick\" event is deprecated, use \"click-nav\" instead.');\n }\n\n if (ctx.listeners.itemclick) {\n console.warn('[Vant] TreeSelect: \"itemclick\" event is deprecated, use \"click-item\" instead.');\n }\n }\n\n var selectedItem = items[+mainActiveIndex] || {};\n var subItems = selectedItem.children || [];\n var isMultiple = Array.isArray(activeId);\n\n function isActiveItem(id) {\n return isMultiple ? activeId.indexOf(id) !== -1 : activeId === id;\n }\n\n var Navs = items.map(function (item) {\n var _item$badge;\n\n return h(SidebarItem, {\n \"attrs\": {\n \"dot\": item.dot,\n \"info\": (_item$badge = item.badge) != null ? _item$badge : item.info,\n \"title\": item.text,\n \"disabled\": item.disabled\n },\n \"class\": [bem('nav-item'), item.className]\n });\n });\n\n function Content() {\n if (slots.content) {\n return slots.content();\n }\n\n return subItems.map(function (item) {\n return h(\"div\", {\n \"key\": item.id,\n \"class\": ['van-ellipsis', bem('item', {\n active: isActiveItem(item.id),\n disabled: item.disabled\n })],\n \"on\": {\n \"click\": function click() {\n if (!item.disabled) {\n var newActiveId = item.id;\n\n if (isMultiple) {\n newActiveId = activeId.slice();\n var index = newActiveId.indexOf(item.id);\n\n if (index !== -1) {\n newActiveId.splice(index, 1);\n } else if (newActiveId.length < props.max) {\n newActiveId.push(item.id);\n }\n }\n\n emit(ctx, 'update:active-id', newActiveId);\n emit(ctx, 'click-item', item); // compatible with legacy usage, should be removed in next major version\n\n emit(ctx, 'itemclick', item);\n }\n }\n }\n }, [item.text, isActiveItem(item.id) && h(Icon, {\n \"attrs\": {\n \"name\": selectedIcon\n },\n \"class\": bem('selected')\n })]);\n });\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem(),\n \"style\": {\n height: addUnit(height)\n }\n }, inherit(ctx)]), [h(Sidebar, {\n \"class\": bem('nav'),\n \"attrs\": {\n \"activeKey\": mainActiveIndex\n },\n \"on\": {\n \"change\": function change(index) {\n emit(ctx, 'update:main-active-index', index);\n emit(ctx, 'click-nav', index); // compatible with legacy usage, should be removed in next major version\n\n emit(ctx, 'navclick', index);\n }\n }\n }, [Navs]), h(\"div\", {\n \"class\": bem('content')\n }, [Content()])]);\n}\n\nTreeSelect.props = {\n max: {\n type: [Number, String],\n default: Infinity\n },\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n height: {\n type: [Number, String],\n default: 300\n },\n activeId: {\n type: [Number, String, Array],\n default: 0\n },\n selectedIcon: {\n type: String,\n default: 'success'\n },\n mainActiveIndex: {\n type: [Number, String],\n default: 0\n }\n};\nexport default createComponent(TreeSelect);","import ActionSheet from './action-sheet';\nimport AddressEdit from './address-edit';\nimport AddressList from './address-list';\nimport Area from './area';\nimport Badge from './badge';\nimport Button from './button';\nimport Calendar from './calendar';\nimport Card from './card';\nimport Cascader from './cascader';\nimport Cell from './cell';\nimport CellGroup from './cell-group';\nimport Checkbox from './checkbox';\nimport CheckboxGroup from './checkbox-group';\nimport Circle from './circle';\nimport Col from './col';\nimport Collapse from './collapse';\nimport CollapseItem from './collapse-item';\nimport ContactCard from './contact-card';\nimport ContactEdit from './contact-edit';\nimport ContactList from './contact-list';\nimport CountDown from './count-down';\nimport Coupon from './coupon';\nimport CouponCell from './coupon-cell';\nimport CouponList from './coupon-list';\nimport DatetimePicker from './datetime-picker';\nimport Dialog from './dialog';\nimport Divider from './divider';\nimport DropdownItem from './dropdown-item';\nimport DropdownMenu from './dropdown-menu';\nimport Empty from './empty';\nimport Field from './field';\nimport Form from './form';\nimport GoodsAction from './goods-action';\nimport GoodsActionButton from './goods-action-button';\nimport GoodsActionIcon from './goods-action-icon';\nimport Grid from './grid';\nimport GridItem from './grid-item';\nimport Icon from './icon';\nimport Image from './image';\nimport ImagePreview from './image-preview';\nimport IndexAnchor from './index-anchor';\nimport IndexBar from './index-bar';\nimport Info from './info';\nimport Lazyload from './lazyload';\nimport List from './list';\nimport Loading from './loading';\nimport Locale from './locale';\nimport NavBar from './nav-bar';\nimport NoticeBar from './notice-bar';\nimport Notify from './notify';\nimport NumberKeyboard from './number-keyboard';\nimport Overlay from './overlay';\nimport Pagination from './pagination';\nimport Panel from './panel';\nimport PasswordInput from './password-input';\nimport Picker from './picker';\nimport Popover from './popover';\nimport Popup from './popup';\nimport Progress from './progress';\nimport PullRefresh from './pull-refresh';\nimport Radio from './radio';\nimport RadioGroup from './radio-group';\nimport Rate from './rate';\nimport Row from './row';\nimport Search from './search';\nimport ShareSheet from './share-sheet';\nimport Sidebar from './sidebar';\nimport SidebarItem from './sidebar-item';\nimport Skeleton from './skeleton';\nimport Sku from './sku';\nimport Slider from './slider';\nimport Step from './step';\nimport Stepper from './stepper';\nimport Steps from './steps';\nimport Sticky from './sticky';\nimport SubmitBar from './submit-bar';\nimport Swipe from './swipe';\nimport SwipeCell from './swipe-cell';\nimport SwipeItem from './swipe-item';\nimport Switch from './switch';\nimport SwitchCell from './switch-cell';\nimport Tab from './tab';\nimport Tabbar from './tabbar';\nimport TabbarItem from './tabbar-item';\nimport Tabs from './tabs';\nimport Tag from './tag';\nimport Toast from './toast';\nimport TreeSelect from './tree-select';\nimport Uploader from './uploader';\nvar version = '2.12.54';\n\nfunction install(Vue) {\n var components = [ActionSheet, AddressEdit, AddressList, Area, Badge, Button, Calendar, Card, Cascader, Cell, CellGroup, Checkbox, CheckboxGroup, Circle, Col, Collapse, CollapseItem, ContactCard, ContactEdit, ContactList, CountDown, Coupon, CouponCell, CouponList, DatetimePicker, Dialog, Divider, DropdownItem, DropdownMenu, Empty, Field, Form, GoodsAction, GoodsActionButton, GoodsActionIcon, Grid, GridItem, Icon, Image, ImagePreview, IndexAnchor, IndexBar, Info, List, Loading, Locale, NavBar, NoticeBar, Notify, NumberKeyboard, Overlay, Pagination, Panel, PasswordInput, Picker, Popover, Popup, Progress, PullRefresh, Radio, RadioGroup, Rate, Row, Search, ShareSheet, Sidebar, SidebarItem, Skeleton, Sku, Slider, Step, Stepper, Steps, Sticky, SubmitBar, Swipe, SwipeCell, SwipeItem, Switch, SwitchCell, Tab, Tabbar, TabbarItem, Tabs, Tag, Toast, TreeSelect, Uploader];\n components.forEach(function (item) {\n if (item.install) {\n Vue.use(item);\n } else if (item.name) {\n Vue.component(item.name, item);\n }\n });\n}\n\nif (typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n}\n\nexport { install, version, ActionSheet, AddressEdit, AddressList, Area, Badge, Button, Calendar, Card, Cascader, Cell, CellGroup, Checkbox, CheckboxGroup, Circle, Col, Collapse, CollapseItem, ContactCard, ContactEdit, ContactList, CountDown, Coupon, CouponCell, CouponList, DatetimePicker, Dialog, Divider, DropdownItem, DropdownMenu, Empty, Field, Form, GoodsAction, GoodsActionButton, GoodsActionIcon, Grid, GridItem, Icon, Image, ImagePreview, IndexAnchor, IndexBar, Info, Lazyload, List, Loading, Locale, NavBar, NoticeBar, Notify, NumberKeyboard, Overlay, Pagination, Panel, PasswordInput, Picker, Popover, Popup, Progress, PullRefresh, Radio, RadioGroup, Rate, Row, Search, ShareSheet, Sidebar, SidebarItem, Skeleton, Sku, Slider, Step, Stepper, Steps, Sticky, SubmitBar, Swipe, SwipeCell, SwipeItem, Switch, SwitchCell, Tab, Tabbar, TabbarItem, Tabs, Tag, Toast, TreeSelect, Uploader };\nexport default {\n install: install,\n version: version\n};","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { inherit } from '../utils/functional'; // Types\n\nvar _createNamespace = createNamespace('info'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Info(h, props, slots, ctx) {\n var dot = props.dot,\n info = props.info;\n var showInfo = isDef(info) && info !== '';\n\n if (!dot && !showInfo) {\n return;\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem({\n dot: dot\n })\n }, inherit(ctx, true)]), [dot ? '' : props.info]);\n}\n\nInfo.props = {\n dot: Boolean,\n info: [Number, String]\n};\nexport default createComponent(Info);","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { inherit } from '../utils/functional'; // Types\n\nvar _createNamespace = createNamespace('loading'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction LoadingIcon(h, props) {\n if (props.type === 'spinner') {\n var Spin = [];\n\n for (var i = 0; i < 12; i++) {\n Spin.push(h(\"i\"));\n }\n\n return Spin;\n }\n\n return h(\"svg\", {\n \"class\": bem('circular'),\n \"attrs\": {\n \"viewBox\": \"25 25 50 50\"\n }\n }, [h(\"circle\", {\n \"attrs\": {\n \"cx\": \"50\",\n \"cy\": \"50\",\n \"r\": \"20\",\n \"fill\": \"none\"\n }\n })]);\n}\n\nfunction LoadingText(h, props, slots) {\n if (slots.default) {\n var _props$textColor;\n\n var style = {\n fontSize: addUnit(props.textSize),\n color: (_props$textColor = props.textColor) != null ? _props$textColor : props.color\n };\n return h(\"span\", {\n \"class\": bem('text'),\n \"style\": style\n }, [slots.default()]);\n }\n}\n\nfunction Loading(h, props, slots, ctx) {\n var color = props.color,\n size = props.size,\n type = props.type;\n var style = {\n color: color\n };\n\n if (size) {\n var iconSize = addUnit(size);\n style.width = iconSize;\n style.height = iconSize;\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem([type, {\n vertical: props.vertical\n }])\n }, inherit(ctx, true)]), [h(\"span\", {\n \"class\": bem('spinner', type),\n \"style\": style\n }, [LoadingIcon(h, props)]), LoadingText(h, props, slots)]);\n}\n\nLoading.props = {\n color: String,\n size: [Number, String],\n vertical: Boolean,\n textSize: [Number, String],\n textColor: String,\n type: {\n type: String,\n default: 'circular'\n }\n};\nexport default createComponent(Loading);","import { isDef, isObject } from '.';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction assignKey(to, from, key) {\n var val = from[key];\n\n if (!isDef(val)) {\n return;\n }\n\n if (!hasOwnProperty.call(to, key) || !isObject(val)) {\n to[key] = val;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n to[key] = deepAssign(Object(to[key]), from[key]);\n }\n}\n\nexport function deepAssign(to, from) {\n Object.keys(from).forEach(function (key) {\n assignKey(to, from, key);\n });\n return to;\n}","export default {\n name: '姓名',\n tel: '电话',\n save: '保存',\n confirm: '确认',\n cancel: '取消',\n delete: '删除',\n complete: '完成',\n loading: '加载中...',\n telEmpty: '请填写电话',\n nameEmpty: '请填写姓名',\n nameInvalid: '请输入正确的姓名',\n confirmDelete: '确定要删除吗',\n telInvalid: '请输入正确的手机号',\n vanCalendar: {\n end: '结束',\n start: '开始',\n title: '日期选择',\n confirm: '确定',\n startEnd: '开始/结束',\n weekdays: ['日', '一', '二', '三', '四', '五', '六'],\n monthTitle: function monthTitle(year, month) {\n return year + \"\\u5E74\" + month + \"\\u6708\";\n },\n rangePrompt: function rangePrompt(maxRange) {\n return \"\\u9009\\u62E9\\u5929\\u6570\\u4E0D\\u80FD\\u8D85\\u8FC7 \" + maxRange + \" \\u5929\";\n }\n },\n vanCascader: {\n select: '请选择'\n },\n vanContactCard: {\n addText: '添加联系人'\n },\n vanContactList: {\n addText: '新建联系人'\n },\n vanPagination: {\n prev: '上一页',\n next: '下一页'\n },\n vanPullRefresh: {\n pulling: '下拉即可刷新...',\n loosing: '释放即可刷新...'\n },\n vanSubmitBar: {\n label: '合计:'\n },\n vanCoupon: {\n unlimited: '无使用门槛',\n discount: function discount(_discount) {\n return _discount + \"\\u6298\";\n },\n condition: function condition(_condition) {\n return \"\\u6EE1\" + _condition + \"\\u5143\\u53EF\\u7528\";\n }\n },\n vanCouponCell: {\n title: '优惠券',\n tips: '暂无可用',\n count: function count(_count) {\n return _count + \"\\u5F20\\u53EF\\u7528\";\n }\n },\n vanCouponList: {\n empty: '暂无优惠券',\n exchange: '兑换',\n close: '不使用优惠券',\n enable: '可用',\n disabled: '不可用',\n placeholder: '请输入优惠码'\n },\n vanAddressEdit: {\n area: '地区',\n postal: '邮政编码',\n areaEmpty: '请选择地区',\n addressEmpty: '请填写详细地址',\n postalEmpty: '邮政编码格式不正确',\n defaultAddress: '设为默认收货地址',\n telPlaceholder: '收货人手机号',\n namePlaceholder: '收货人姓名',\n areaPlaceholder: '选择省 / 市 / 区'\n },\n vanAddressEditDetail: {\n label: '详细地址',\n placeholder: '街道门牌、楼层房间号等信息'\n },\n vanAddressList: {\n add: '新增地址'\n }\n};","import Vue from 'vue';\nimport { deepAssign } from '../utils/deep-assign';\nimport defaultMessages from './lang/zh-CN';\nvar proto = Vue.prototype;\nvar defineReactive = Vue.util.defineReactive;\ndefineReactive(proto, '$vantLang', 'zh-CN');\ndefineReactive(proto, '$vantMessages', {\n 'zh-CN': defaultMessages\n});\nexport default {\n messages: function messages() {\n return proto.$vantMessages[proto.$vantLang];\n },\n use: function use(lang, messages) {\n var _this$add;\n\n proto.$vantLang = lang;\n this.add((_this$add = {}, _this$add[lang] = messages, _this$add));\n },\n add: function add(messages) {\n if (messages === void 0) {\n messages = {};\n }\n\n deepAssign(proto.$vantMessages, messages);\n }\n};","/**\n * Bind event when mounted or activated\n */\nimport { on, off } from '../utils/dom/event';\nvar uid = 0;\nexport function BindEventMixin(handler) {\n var key = \"binded_\" + uid++;\n\n function bind() {\n if (!this[key]) {\n handler.call(this, on, true);\n this[key] = true;\n }\n }\n\n function unbind() {\n if (this[key]) {\n handler.call(this, off, false);\n this[key] = false;\n }\n }\n\n return {\n mounted: bind,\n activated: bind,\n deactivated: unbind,\n beforeDestroy: unbind\n };\n}","export var context = {\n zIndex: 2000,\n lockCount: 0,\n stack: [],\n find: function find(vm) {\n return this.stack.filter(function (item) {\n return item.vm === vm;\n })[0];\n },\n remove: function remove(vm) {\n var item = this.find(vm);\n if (!item) return;\n item.vm = null;\n item.overlay = null;\n var index = this.stack.indexOf(item);\n this.stack.splice(index, 1);\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Overlay from '../../overlay';\nimport { context } from './context';\nimport { mount } from '../../utils/functional';\nimport { removeNode } from '../../utils/dom/node';\nvar defaultConfig = {\n className: '',\n customStyle: {}\n};\n\nfunction mountOverlay(vm) {\n return mount(Overlay, {\n on: {\n // close popup when overlay clicked & closeOnClickOverlay is true\n click: function click() {\n vm.$emit('click-overlay');\n\n if (vm.closeOnClickOverlay) {\n if (vm.onClickOverlay) {\n vm.onClickOverlay();\n } else {\n vm.close();\n }\n }\n }\n }\n });\n}\n\nexport function updateOverlay(vm) {\n var item = context.find(vm);\n\n if (item) {\n var el = vm.$el;\n var config = item.config,\n overlay = item.overlay;\n\n if (el && el.parentNode) {\n el.parentNode.insertBefore(overlay.$el, el);\n }\n\n _extends(overlay, defaultConfig, config, {\n show: true\n });\n }\n}\nexport function openOverlay(vm, config) {\n var item = context.find(vm);\n\n if (item) {\n item.config = config;\n } else {\n var overlay = mountOverlay(vm);\n context.stack.push({\n vm: vm,\n config: config,\n overlay: overlay\n });\n }\n\n updateOverlay(vm);\n}\nexport function closeOverlay(vm) {\n var item = context.find(vm);\n\n if (item) {\n item.overlay.show = false;\n }\n}\nexport function removeOverlay(vm) {\n var item = context.find(vm);\n\n if (item) {\n removeNode(item.overlay.$el);\n context.remove(vm);\n }\n}","import { on, off } from '../utils/dom/event';\nimport { BindEventMixin } from './bind-event';\nexport var CloseOnPopstateMixin = {\n mixins: [BindEventMixin(function (bind, isBind) {\n this.handlePopstate(isBind && this.closeOnPopstate);\n })],\n props: {\n closeOnPopstate: Boolean\n },\n data: function data() {\n return {\n bindStatus: false\n };\n },\n watch: {\n closeOnPopstate: function closeOnPopstate(val) {\n this.handlePopstate(val);\n }\n },\n methods: {\n onPopstate: function onPopstate() {\n this.close();\n this.shouldReopen = false;\n },\n handlePopstate: function handlePopstate(bind) {\n /* istanbul ignore if */\n if (this.$isServer) {\n return;\n }\n\n if (this.bindStatus !== bind) {\n this.bindStatus = bind;\n var action = bind ? on : off;\n action(window, 'popstate', this.onPopstate);\n }\n }\n }\n};","// Context\nimport { context } from './context';\nimport { openOverlay, closeOverlay, updateOverlay, removeOverlay } from './overlay'; // Utils\n\nimport { on, off, preventDefault } from '../../utils/dom/event';\nimport { removeNode } from '../../utils/dom/node';\nimport { getScroller } from '../../utils/dom/scroll'; // Mixins\n\nimport { TouchMixin } from '../touch';\nimport { PortalMixin } from '../portal';\nimport { CloseOnPopstateMixin } from '../close-on-popstate';\nexport var popupMixinProps = {\n // Initial rendering animation\n transitionAppear: Boolean,\n // whether to show popup\n value: Boolean,\n // whether to show overlay\n overlay: Boolean,\n // overlay custom style\n overlayStyle: Object,\n // overlay custom class name\n overlayClass: String,\n // whether to close popup when overlay is clicked\n closeOnClickOverlay: Boolean,\n // z-index\n zIndex: [Number, String],\n // prevent body scroll\n lockScroll: {\n type: Boolean,\n default: true\n },\n // whether to lazy render\n lazyRender: {\n type: Boolean,\n default: true\n }\n};\nexport function PopupMixin(options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n mixins: [TouchMixin, CloseOnPopstateMixin, PortalMixin({\n afterPortal: function afterPortal() {\n if (this.overlay) {\n updateOverlay();\n }\n }\n })],\n provide: function provide() {\n return {\n vanPopup: this\n };\n },\n props: popupMixinProps,\n data: function data() {\n this.onReopenCallback = [];\n return {\n inited: this.value\n };\n },\n computed: {\n shouldRender: function shouldRender() {\n return this.inited || !this.lazyRender;\n }\n },\n watch: {\n value: function value(val) {\n var type = val ? 'open' : 'close';\n this.inited = this.inited || this.value;\n this[type]();\n\n if (!options.skipToggleEvent) {\n this.$emit(type);\n }\n },\n overlay: 'renderOverlay'\n },\n mounted: function mounted() {\n if (this.value) {\n this.open();\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.shouldReopen) {\n this.$emit('input', true);\n this.shouldReopen = false;\n }\n },\n beforeDestroy: function beforeDestroy() {\n removeOverlay(this);\n\n if (this.opened) {\n this.removeLock();\n }\n\n if (this.getContainer) {\n removeNode(this.$el);\n }\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.value) {\n this.close();\n this.shouldReopen = true;\n }\n },\n methods: {\n open: function open() {\n /* istanbul ignore next */\n if (this.$isServer || this.opened) {\n return;\n } // cover default zIndex\n\n\n if (this.zIndex !== undefined) {\n context.zIndex = this.zIndex;\n }\n\n this.opened = true;\n this.renderOverlay();\n this.addLock();\n this.onReopenCallback.forEach(function (callback) {\n callback();\n });\n },\n addLock: function addLock() {\n if (this.lockScroll) {\n on(document, 'touchstart', this.touchStart);\n on(document, 'touchmove', this.onTouchMove);\n\n if (!context.lockCount) {\n document.body.classList.add('van-overflow-hidden');\n }\n\n context.lockCount++;\n }\n },\n removeLock: function removeLock() {\n if (this.lockScroll && context.lockCount) {\n context.lockCount--;\n off(document, 'touchstart', this.touchStart);\n off(document, 'touchmove', this.onTouchMove);\n\n if (!context.lockCount) {\n document.body.classList.remove('van-overflow-hidden');\n }\n }\n },\n close: function close() {\n if (!this.opened) {\n return;\n }\n\n closeOverlay(this);\n this.opened = false;\n this.removeLock();\n this.$emit('input', false);\n },\n onTouchMove: function onTouchMove(event) {\n this.touchMove(event);\n var direction = this.deltaY > 0 ? '10' : '01';\n var el = getScroller(event.target, this.$el);\n var scrollHeight = el.scrollHeight,\n offsetHeight = el.offsetHeight,\n scrollTop = el.scrollTop;\n var status = '11';\n /* istanbul ignore next */\n\n if (scrollTop === 0) {\n status = offsetHeight >= scrollHeight ? '00' : '01';\n } else if (scrollTop + offsetHeight >= scrollHeight) {\n status = '10';\n }\n /* istanbul ignore next */\n\n\n if (status !== '11' && this.direction === 'vertical' && !(parseInt(status, 2) & parseInt(direction, 2))) {\n preventDefault(event, true);\n }\n },\n renderOverlay: function renderOverlay() {\n var _this = this;\n\n if (this.$isServer || !this.value) {\n return;\n }\n\n this.$nextTick(function () {\n _this.updateZIndex(_this.overlay ? 1 : 0);\n\n if (_this.overlay) {\n openOverlay(_this, {\n zIndex: context.zIndex++,\n duration: _this.duration,\n className: _this.overlayClass,\n customStyle: _this.overlayStyle\n });\n } else {\n closeOverlay(_this);\n }\n });\n },\n updateZIndex: function updateZIndex(value) {\n if (value === void 0) {\n value = 0;\n }\n\n this.$el.style.zIndex = ++context.zIndex + value;\n },\n onReopen: function onReopen(callback) {\n this.onReopenCallback.push(callback);\n }\n }\n };\n}","function getElement(selector) {\n if (typeof selector === 'string') {\n return document.querySelector(selector);\n }\n\n return selector();\n}\n\nexport function PortalMixin(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n ref = _ref.ref,\n afterPortal = _ref.afterPortal;\n\n return {\n props: {\n getContainer: [String, Function]\n },\n watch: {\n getContainer: 'portal'\n },\n mounted: function mounted() {\n if (this.getContainer) {\n this.portal();\n }\n },\n methods: {\n portal: function portal() {\n var getContainer = this.getContainer;\n var el = ref ? this.$refs[ref] : this.$el;\n var container;\n\n if (getContainer) {\n container = getElement(getContainer);\n } else if (this.$parent) {\n container = this.$parent.$el;\n }\n\n if (container && container !== el.parentNode) {\n container.appendChild(el);\n }\n\n if (afterPortal) {\n afterPortal.call(this);\n }\n }\n }\n };\n}","import { sortChildren } from '../utils/vnodes';\nexport function ChildrenMixin(_parent, options) {\n var _inject, _computed;\n\n if (options === void 0) {\n options = {};\n }\n\n var indexKey = options.indexKey || 'index';\n return {\n inject: (_inject = {}, _inject[_parent] = {\n default: null\n }, _inject),\n computed: (_computed = {\n parent: function parent() {\n if (this.disableBindRelation) {\n return null;\n }\n\n return this[_parent];\n }\n }, _computed[indexKey] = function () {\n this.bindRelation();\n\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n\n return null;\n }, _computed),\n watch: {\n disableBindRelation: function disableBindRelation(val) {\n if (!val) {\n this.bindRelation();\n }\n }\n },\n mounted: function mounted() {\n this.bindRelation();\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n if (this.parent) {\n this.parent.children = this.parent.children.filter(function (item) {\n return item !== _this;\n });\n }\n },\n methods: {\n bindRelation: function bindRelation() {\n if (!this.parent || this.parent.children.indexOf(this) !== -1) {\n return;\n }\n\n var children = [].concat(this.parent.children, [this]);\n sortChildren(children, this.parent);\n this.parent.children = children;\n }\n }\n };\n}\nexport function ParentMixin(parent) {\n return {\n provide: function provide() {\n var _ref;\n\n return _ref = {}, _ref[parent] = this, _ref;\n },\n data: function data() {\n return {\n children: []\n };\n }\n };\n}","import { on } from '../utils/dom/event';\n\nfunction getDirection(x, y) {\n if (x > y) {\n return 'horizontal';\n }\n\n if (y > x) {\n return 'vertical';\n }\n\n return '';\n}\n\nexport var TouchMixin = {\n data: function data() {\n return {\n direction: ''\n };\n },\n methods: {\n touchStart: function touchStart(event) {\n this.resetTouchStatus();\n this.startX = event.touches[0].clientX;\n this.startY = event.touches[0].clientY;\n },\n touchMove: function touchMove(event) {\n var touch = event.touches[0]; // safari back will set clientX to negative number\n\n this.deltaX = touch.clientX < 0 ? 0 : touch.clientX - this.startX;\n this.deltaY = touch.clientY - this.startY;\n this.offsetX = Math.abs(this.deltaX);\n this.offsetY = Math.abs(this.deltaY); // lock direction when distance is greater than a certain value\n\n var LOCK_DIRECTION_DISTANCE = 10;\n\n if (!this.direction || this.offsetX < LOCK_DIRECTION_DISTANCE && this.offsetY < LOCK_DIRECTION_DISTANCE) {\n this.direction = getDirection(this.offsetX, this.offsetY);\n }\n },\n resetTouchStatus: function resetTouchStatus() {\n this.direction = '';\n this.deltaX = 0;\n this.deltaY = 0;\n this.offsetX = 0;\n this.offsetY = 0;\n },\n // avoid Vue 2.6 event bubble issues by manually binding events\n // https://github.com/vant-ui/vant/issues/3015\n bindTouchEvent: function bindTouchEvent(el) {\n var onTouchStart = this.onTouchStart,\n onTouchMove = this.onTouchMove,\n onTouchEnd = this.onTouchEnd;\n on(el, 'touchstart', onTouchStart);\n on(el, 'touchmove', onTouchMove);\n\n if (onTouchEnd) {\n on(el, 'touchend', onTouchEnd);\n on(el, 'touchcancel', onTouchEnd);\n }\n }\n }\n};","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, isDef, noop } from '../utils';\nimport { inherit } from '../utils/functional';\nimport { preventDefault } from '../utils/dom/event'; // Types\n\nvar _createNamespace = createNamespace('overlay'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction preventTouchMove(event) {\n preventDefault(event, true);\n}\n\nfunction Overlay(h, props, slots, ctx) {\n var style = _extends({\n zIndex: props.zIndex\n }, props.customStyle);\n\n if (isDef(props.duration)) {\n style.animationDuration = props.duration + \"s\";\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"name\": \"van-fade\"\n }\n }, [h(\"div\", _mergeJSXProps([{\n \"directives\": [{\n name: \"show\",\n value: props.show\n }],\n \"style\": style,\n \"class\": [bem(), props.className],\n \"on\": {\n \"touchmove\": props.lockScroll ? preventTouchMove : noop\n }\n }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default()])]);\n}\n\nOverlay.props = {\n show: Boolean,\n zIndex: [Number, String],\n duration: [Number, String],\n className: null,\n customStyle: Object,\n lockScroll: {\n type: Boolean,\n default: true\n }\n};\nexport default createComponent(Overlay);","var lockCount = 0;\nexport function lockClick(lock) {\n if (lock) {\n if (!lockCount) {\n document.body.classList.add('van-toast--unclickable');\n }\n\n lockCount++;\n } else {\n lockCount--;\n\n if (!lockCount) {\n document.body.classList.remove('van-toast--unclickable');\n }\n }\n}","// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { lockClick } from './lock-click'; // Mixins\n\nimport { PopupMixin } from '../mixins/popup'; // Components\n\nimport Icon from '../icon';\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('toast'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [PopupMixin()],\n props: {\n icon: String,\n className: null,\n iconPrefix: String,\n loadingType: String,\n forbidClick: Boolean,\n closeOnClick: Boolean,\n message: [Number, String],\n type: {\n type: String,\n default: 'text'\n },\n position: {\n type: String,\n default: 'middle'\n },\n transition: {\n type: String,\n default: 'van-fade'\n },\n lockScroll: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n clickable: false\n };\n },\n mounted: function mounted() {\n this.toggleClickable();\n },\n destroyed: function destroyed() {\n this.toggleClickable();\n },\n watch: {\n value: 'toggleClickable',\n forbidClick: 'toggleClickable'\n },\n methods: {\n onClick: function onClick() {\n if (this.closeOnClick) {\n this.close();\n }\n },\n toggleClickable: function toggleClickable() {\n var clickable = this.value && this.forbidClick;\n\n if (this.clickable !== clickable) {\n this.clickable = clickable;\n lockClick(clickable);\n }\n },\n\n /* istanbul ignore next */\n onAfterEnter: function onAfterEnter() {\n this.$emit('opened');\n\n if (this.onOpened) {\n this.onOpened();\n }\n },\n onAfterLeave: function onAfterLeave() {\n this.$emit('closed');\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var icon = this.icon,\n type = this.type,\n iconPrefix = this.iconPrefix,\n loadingType = this.loadingType;\n var hasIcon = icon || type === 'success' || type === 'fail';\n\n if (hasIcon) {\n return h(Icon, {\n \"class\": bem('icon'),\n \"attrs\": {\n \"classPrefix\": iconPrefix,\n \"name\": icon || type\n }\n });\n }\n\n if (type === 'loading') {\n return h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"type\": loadingType\n }\n });\n }\n },\n genMessage: function genMessage() {\n var h = this.$createElement;\n var type = this.type,\n message = this.message;\n\n if (!isDef(message) || message === '') {\n return;\n }\n\n if (type === 'html') {\n return h(\"div\", {\n \"class\": bem('text'),\n \"domProps\": {\n \"innerHTML\": message\n }\n });\n }\n\n return h(\"div\", {\n \"class\": bem('text')\n }, [message]);\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterEnter\": this.onAfterEnter,\n \"afterLeave\": this.onAfterLeave\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"class\": [bem([this.position, (_ref = {}, _ref[this.type] = !this.icon, _ref)]), this.className],\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genIcon(), this.genMessage()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport VueToast from './Toast';\nimport { isObject, isServer } from '../utils';\nimport { removeNode } from '../utils/dom/node';\nvar defaultOptions = {\n icon: '',\n type: 'text',\n // @deprecated\n mask: false,\n value: true,\n message: '',\n className: '',\n overlay: false,\n onClose: null,\n onOpened: null,\n duration: 2000,\n iconPrefix: undefined,\n position: 'middle',\n transition: 'van-fade',\n forbidClick: false,\n loadingType: undefined,\n getContainer: 'body',\n overlayStyle: null,\n closeOnClick: false,\n closeOnClickOverlay: false\n}; // default options of specific type\n\nvar defaultOptionsMap = {};\nvar queue = [];\nvar multiple = false;\n\nvar currentOptions = _extends({}, defaultOptions);\n\nfunction parseOptions(message) {\n if (isObject(message)) {\n return message;\n }\n\n return {\n message: message\n };\n}\n\nfunction isInDocument(element) {\n return document.body.contains(element);\n}\n\nfunction createInstance() {\n /* istanbul ignore if */\n if (isServer) {\n return {};\n }\n\n queue = queue.filter(function (item) {\n return !item.$el.parentNode || isInDocument(item.$el);\n });\n\n if (!queue.length || multiple) {\n var toast = new (Vue.extend(VueToast))({\n el: document.createElement('div')\n });\n toast.$on('input', function (value) {\n toast.value = value;\n });\n queue.push(toast);\n }\n\n return queue[queue.length - 1];\n} // transform toast options to popup props\n\n\nfunction transformOptions(options) {\n return _extends({}, options, {\n overlay: options.mask || options.overlay,\n mask: undefined,\n duration: undefined\n });\n}\n\nfunction Toast(options) {\n if (options === void 0) {\n options = {};\n }\n\n var toast = createInstance(); // should add z-index if previous toast has not disappeared\n\n if (toast.value) {\n toast.updateZIndex();\n }\n\n options = parseOptions(options);\n options = _extends({}, currentOptions, defaultOptionsMap[options.type || currentOptions.type], options);\n\n if (process.env.NODE_ENV === 'development' && options.mask) {\n console.warn('[Vant] Toast: \"mask\" option is deprecated, use \"overlay\" option instead.');\n }\n\n options.clear = function () {\n toast.value = false;\n\n if (options.onClose) {\n options.onClose();\n options.onClose = null;\n }\n\n if (multiple && !isServer) {\n toast.$on('closed', function () {\n clearTimeout(toast.timer);\n queue = queue.filter(function (item) {\n return item !== toast;\n });\n removeNode(toast.$el);\n toast.$destroy();\n });\n }\n };\n\n _extends(toast, transformOptions(options));\n\n clearTimeout(toast.timer);\n\n if (options.duration > 0) {\n toast.timer = setTimeout(function () {\n toast.clear();\n }, options.duration);\n }\n\n return toast;\n}\n\nvar createMethod = function createMethod(type) {\n return function (options) {\n return Toast(_extends({\n type: type\n }, parseOptions(options)));\n };\n};\n\n['loading', 'success', 'fail'].forEach(function (method) {\n Toast[method] = createMethod(method);\n});\n\nToast.clear = function (all) {\n if (queue.length) {\n if (all) {\n queue.forEach(function (toast) {\n toast.clear();\n });\n queue = [];\n } else if (!multiple) {\n queue[0].clear();\n } else {\n queue.shift().clear();\n }\n }\n};\n\nToast.setDefaultOptions = function (type, options) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = options;\n } else {\n _extends(currentOptions, type);\n }\n};\n\nToast.resetDefaultOptions = function (type) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = null;\n } else {\n currentOptions = _extends({}, defaultOptions);\n defaultOptionsMap = {};\n }\n};\n\nToast.allowMultiple = function (value) {\n if (value === void 0) {\n value = true;\n }\n\n multiple = value;\n};\n\nToast.install = function () {\n Vue.use(VueToast);\n};\n\nVue.prototype.$toast = Toast;\nexport default Toast;","// color\nexport var RED = '#ee0a24'; // border\n\nexport var BORDER = 'van-hairline';\nexport var BORDER_TOP = BORDER + \"--top\";\nexport var BORDER_LEFT = BORDER + \"--left\";\nexport var BORDER_BOTTOM = BORDER + \"--bottom\";\nexport var BORDER_SURROUND = BORDER + \"--surround\";\nexport var BORDER_TOP_BOTTOM = BORDER + \"--top-bottom\";\nexport var BORDER_UNSET_TOP_BOTTOM = BORDER + \"-unset--top-bottom\";","/**\n * bem helper\n * b() // 'button'\n * b('text') // 'button__text'\n * b({ disabled }) // 'button button--disabled'\n * b('text', { disabled }) // 'button__text button__text--disabled'\n * b(['disabled', 'primary']) // 'button button--disabled button--primary'\n */\nfunction gen(name, mods) {\n if (!mods) {\n return '';\n }\n\n if (typeof mods === 'string') {\n return \" \" + name + \"--\" + mods;\n }\n\n if (Array.isArray(mods)) {\n return mods.reduce(function (ret, item) {\n return ret + gen(name, item);\n }, '');\n }\n\n return Object.keys(mods).reduce(function (ret, key) {\n return ret + (mods[key] ? gen(name, key) : '');\n }, '');\n}\n\nexport function createBEM(name) {\n return function (el, mods) {\n if (el && typeof el !== 'string') {\n mods = el;\n el = '';\n }\n\n el = el ? name + \"__\" + el : name;\n return \"\" + el + gen(el, mods);\n };\n}","/**\n * Use scopedSlots in Vue 2.6+\n * downgrade to slots in lower version\n */\nexport var SlotsMixin = {\n methods: {\n slots: function slots(name, props) {\n if (name === void 0) {\n name = 'default';\n }\n\n var $slots = this.$slots,\n $scopedSlots = this.$scopedSlots;\n var scopedSlot = $scopedSlots[name];\n\n if (scopedSlot) {\n return scopedSlot(props);\n }\n\n return $slots[name];\n }\n }\n};","/**\n * Create a basic component with common options\n */\nimport '../../locale';\nimport { isFunction } from '..';\nimport { camelize } from '../format/string';\nimport { SlotsMixin } from '../../mixins/slots';\nimport Vue from 'vue';\n\nfunction install(Vue) {\n var name = this.name;\n Vue.component(name, this);\n Vue.component(camelize(\"-\" + name), this);\n} // unify slots & scopedSlots\n\n\nexport function unifySlots(context) {\n // use data.scopedSlots in lower Vue version\n var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};\n var slots = context.slots();\n Object.keys(slots).forEach(function (key) {\n if (!scopedSlots[key]) {\n scopedSlots[key] = function () {\n return slots[key];\n };\n }\n });\n return scopedSlots;\n} // should be removed after Vue 3\n\nfunction transformFunctionComponent(pure) {\n return {\n functional: true,\n props: pure.props,\n model: pure.model,\n render: function render(h, context) {\n return pure(h, context.props, unifySlots(context), context);\n }\n };\n}\n\nexport function createComponent(name) {\n return function (sfc) {\n if (isFunction(sfc)) {\n sfc = transformFunctionComponent(sfc);\n }\n\n if (!sfc.functional) {\n sfc.mixins = sfc.mixins || [];\n sfc.mixins.push(SlotsMixin);\n }\n\n sfc.name = name;\n sfc.install = install;\n return sfc;\n };\n}","import { get, isFunction } from '..';\nimport { camelize } from '../format/string';\nimport locale from '../../locale';\nexport function createI18N(name) {\n var prefix = camelize(name) + '.';\n return function (path) {\n var messages = locale.messages();\n var message = get(messages, prefix + path) || get(messages, path);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return isFunction(message) ? message.apply(void 0, args) : message;\n };\n}","import { createBEM } from './bem';\nimport { createComponent } from './component';\nimport { createI18N } from './i18n';\nexport function createNamespace(name) {\n name = 'van-' + name;\n return [createComponent(name), createBEM(name), createI18N(name)];\n}","import { isServer } from '..';\n// eslint-disable-next-line import/no-mutable-exports\nexport var supportsPassive = false;\n\nif (!isServer) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n // eslint-disable-next-line getter-return\n get: function get() {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n });\n window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty\n } catch (e) {}\n}\n\nexport function on(target, event, handler, passive) {\n if (passive === void 0) {\n passive = false;\n }\n\n if (!isServer) {\n target.addEventListener(event, handler, supportsPassive ? {\n capture: false,\n passive: passive\n } : false);\n }\n}\nexport function off(target, event, handler) {\n if (!isServer) {\n target.removeEventListener(event, handler);\n }\n}\nexport function stopPropagation(event) {\n event.stopPropagation();\n}\nexport function preventDefault(event, isStopPropagation) {\n /* istanbul ignore else */\n if (typeof event.cancelable !== 'boolean' || event.cancelable) {\n event.preventDefault();\n }\n\n if (isStopPropagation) {\n stopPropagation(event);\n }\n}","export function removeNode(el) {\n var parent = el.parentNode;\n\n if (parent) {\n parent.removeChild(el);\n }\n}","function isWindow(val) {\n return val === window;\n} // get nearest scroll element\n// https://github.com/vant-ui/vant/issues/3823\n\n\nvar overflowScrollReg = /scroll|auto|overlay/i;\nexport function getScroller(el, root) {\n if (root === void 0) {\n root = window;\n }\n\n var node = el;\n\n while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {\n var _window$getComputedSt = window.getComputedStyle(node),\n overflowY = _window$getComputedSt.overflowY;\n\n if (overflowScrollReg.test(overflowY)) {\n return node;\n }\n\n node = node.parentNode;\n }\n\n return root;\n}\nexport function getScrollTop(el) {\n var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop\n\n return Math.max(top, 0);\n}\nexport function setScrollTop(el, value) {\n if ('scrollTop' in el) {\n el.scrollTop = value;\n } else {\n el.scrollTo(el.scrollX, value);\n }\n}\nexport function getRootScrollTop() {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n}\nexport function setRootScrollTop(value) {\n setScrollTop(window, value);\n setScrollTop(document.body, value);\n} // get distance from element top to page top or scroller top\n\nexport function getElementTop(el, scroller) {\n if (isWindow(el)) {\n return 0;\n }\n\n var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();\n return el.getBoundingClientRect().top + scrollTop;\n}\nexport function getVisibleHeight(el) {\n if (isWindow(el)) {\n return el.innerHeight;\n }\n\n return el.getBoundingClientRect().height;\n}\nexport function getVisibleTop(el) {\n if (isWindow(el)) {\n return 0;\n }\n\n return el.getBoundingClientRect().top;\n}","var camelizeRE = /-(\\w)/g;\nexport function camelize(str) {\n return str.replace(camelizeRE, function (_, c) {\n return c.toUpperCase();\n });\n}\nexport function padZero(num, targetLength) {\n if (targetLength === void 0) {\n targetLength = 2;\n }\n\n var str = num + '';\n\n while (str.length < targetLength) {\n str = '0' + str;\n }\n\n return str;\n}","import { isDef, inBrowser } from '..';\nimport { isNumeric } from '../validate/number';\nexport function addUnit(value) {\n if (!isDef(value)) {\n return undefined;\n }\n\n value = String(value);\n return isNumeric(value) ? value + \"px\" : value;\n} // cache\n\nvar rootFontSize;\n\nfunction getRootFontSize() {\n if (!rootFontSize) {\n var doc = document.documentElement;\n var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;\n rootFontSize = parseFloat(fontSize);\n }\n\n return rootFontSize;\n}\n\nfunction convertRem(value) {\n value = value.replace(/rem/g, '');\n return +value * getRootFontSize();\n}\n\nfunction convertVw(value) {\n value = value.replace(/vw/g, '');\n return +value * window.innerWidth / 100;\n}\n\nfunction convertVh(value) {\n value = value.replace(/vh/g, '');\n return +value * window.innerHeight / 100;\n}\n\nexport function unitToPx(value) {\n if (typeof value === 'number') {\n return value;\n }\n\n if (inBrowser) {\n if (value.indexOf('rem') !== -1) {\n return convertRem(value);\n }\n\n if (value.indexOf('vw') !== -1) {\n return convertVw(value);\n }\n\n if (value.indexOf('vh') !== -1) {\n return convertVh(value);\n }\n }\n\n return parseFloat(value);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nvar inheritKey = ['ref', 'key', 'style', 'class', 'attrs', 'refInFor', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];\nvar mapInheritKey = {\n nativeOn: 'on'\n}; // inherit partial context, map nativeOn to on\n\nexport function inherit(context, inheritListeners) {\n var result = inheritKey.reduce(function (obj, key) {\n if (context.data[key]) {\n obj[mapInheritKey[key] || key] = context.data[key];\n }\n\n return obj;\n }, {});\n\n if (inheritListeners) {\n result.on = result.on || {};\n\n _extends(result.on, context.data.on);\n }\n\n return result;\n} // emit event\n\nexport function emit(context, eventName) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var listeners = context.listeners[eventName];\n\n if (listeners) {\n if (Array.isArray(listeners)) {\n listeners.forEach(function (listener) {\n listener.apply(void 0, args);\n });\n } else {\n listeners.apply(void 0, args);\n }\n }\n} // mount functional component\n\nexport function mount(Component, data) {\n var instance = new Vue({\n el: document.createElement('div'),\n props: Component.props,\n render: function render(h) {\n return h(Component, _extends({\n props: this.$props\n }, data));\n }\n });\n document.body.appendChild(instance.$el);\n return instance;\n}","import Vue from 'vue';\nexport { createNamespace } from './create';\nexport { addUnit } from './format/unit';\nexport var inBrowser = typeof window !== 'undefined';\nexport var isServer = Vue.prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nexport function noop() {}\nexport function isDef(val) {\n return val !== undefined && val !== null;\n}\nexport function isFunction(val) {\n return typeof val === 'function';\n}\nexport function isObject(val) {\n return val !== null && typeof val === 'object';\n}\nexport function isPromise(val) {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n}\nexport function get(object, path) {\n var keys = path.split('.');\n var result = object;\n keys.forEach(function (key) {\n var _result$key;\n\n result = isObject(result) ? (_result$key = result[key]) != null ? _result$key : '' : '';\n });\n return result;\n}\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @function isEmpty\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n\nexport function isEmpty(value) {\n if (value == null) {\n return true;\n }\n\n if (typeof value !== 'object') {\n return true;\n }\n\n return Object.keys(value).length === 0;\n}","/**\n * Vue Router support\n */\nfunction isRedundantNavigation(err) {\n return err.name === 'NavigationDuplicated' || // compatible with vue-router@3.3\n err.message && err.message.indexOf('redundant navigation') !== -1;\n}\n\nexport function route(router, config) {\n var to = config.to,\n url = config.url,\n replace = config.replace;\n\n if (to && router) {\n var promise = router[replace ? 'replace' : 'push'](to);\n /* istanbul ignore else */\n\n if (promise && promise.catch) {\n promise.catch(function (err) {\n if (err && !isRedundantNavigation(err)) {\n throw err;\n }\n });\n }\n } else if (url) {\n replace ? location.replace(url) : location.href = url;\n }\n}\nexport function functionalRoute(context) {\n route(context.parent && context.parent.$router, context.props);\n}\nexport var routeProps = {\n url: String,\n replace: Boolean,\n to: [String, Object]\n};","export function isNumeric(val) {\n return /^\\d+(\\.\\d+)?$/.test(val);\n}\nexport function isNaN(val) {\n if (Number.isNaN) {\n return Number.isNaN(val);\n } // eslint-disable-next-line no-self-compare\n\n\n return val !== val;\n}","function flattenVNodes(vnodes) {\n var result = [];\n\n function traverse(vnodes) {\n vnodes.forEach(function (vnode) {\n result.push(vnode);\n\n if (vnode.componentInstance) {\n traverse(vnode.componentInstance.$children.map(function (item) {\n return item.$vnode;\n }));\n }\n\n if (vnode.children) {\n traverse(vnode.children);\n }\n });\n }\n\n traverse(vnodes);\n return result;\n} // sort children instances by vnodes order\n\n\nexport function sortChildren(children, parent) {\n var componentOptions = parent.$vnode.componentOptions;\n\n if (!componentOptions || !componentOptions.children) {\n return;\n }\n\n var vnodes = flattenVNodes(componentOptions.children);\n children.sort(function (a, b) {\n return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);\n });\n}","function _typeof(e){return _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},_typeof(e)}function plugin(e,n){if(!e.vueAxiosInstalled){var o=isAxiosLike(n)?migrateToMultipleInstances(n):n;if(isValidConfig(o)){var t=getVueVersion(e);if(t){var i=t<3?registerOnVue2:registerOnVue3;Object.keys(o).forEach((function(n){i(e,n,o[n])})),e.vueAxiosInstalled=!0}else console.error(\"[vue-axios] unknown Vue version\")}else console.error(\"[vue-axios] configuration is invalid, expected options are either or { : }\")}}function registerOnVue2(e,n,o){Object.defineProperty(e.prototype,n,{get:function(){return o}}),e[n]=o}function registerOnVue3(e,n,o){e.config.globalProperties[n]=o,e[n]=o}function isAxiosLike(e){return e&&\"function\"==typeof e.get&&\"function\"==typeof e.post}function migrateToMultipleInstances(e){return{axios:e,$http:e}}function isValidConfig(e){return\"object\"===_typeof(e)&&Object.keys(e).every((function(n){return isAxiosLike(e[n])}))}function getVueVersion(e){return e&&e.version&&Number(e.version.split(\".\")[0])}\"object\"==(\"undefined\"==typeof exports?\"undefined\":_typeof(exports))?module.exports=plugin:\"function\"==typeof define&&define.amd?define([],(function(){return plugin})):window.Vue&&window.axios&&window.Vue.use&&Vue.use(plugin,window.axios);export{plugin as default};","/*!\n * vue-router v3.6.5\n * (c) 2022 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (!condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction extend (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nfunction decode (str) {\n try {\n return decodeURIComponent(str)\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"Error decoding \\\"\" + str + \"\\\". Leaving it intact.\"));\n }\n }\n return str\n}\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n var value = extraQuery[key];\n parsedQuery[key] = Array.isArray(value)\n ? value.map(castQueryParamValue)\n : castQueryParamValue(value);\n }\n return parsedQuery\n}\n\nvar castQueryParamValue = function (value) { return (value == null || typeof value === 'object' ? value : String(value)); };\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0 ? decode(parts.join('=')) : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj\n ? Object.keys(obj)\n .map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n })\n .filter(function (x) { return x.length > 0; })\n .join('&')\n : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b, onlyPath) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') && (onlyPath ||\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query))\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n (onlyPath || (\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params))\n )\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a).sort();\n var bKeys = Object.keys(b).sort();\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key, i) {\n var aVal = a[key];\n var bKey = bKeys[i];\n if (bKey !== key) { return false }\n var bVal = b[key];\n // query values can be null and undefined\n if (aVal == null || bVal == null) { return aVal === bVal }\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\nfunction handleRouteEntered (route) {\n for (var i = 0; i < route.matched.length; i++) {\n var record = route.matched[i];\n for (var name in record.instances) {\n var instance = record.instances[name];\n var cbs = record.enteredCbs[name];\n if (!instance || !cbs) { continue }\n delete record.enteredCbs[name];\n for (var i$1 = 0; i$1 < cbs.length; i$1++) {\n if (!instance._isBeingDestroyed) { cbs[i$1](instance); }\n }\n }\n }\n}\n\nvar View = {\n name: 'RouterView',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n // used by devtools to display a router-view badge\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n var vnodeData = parent.$vnode ? parent.$vnode.data : {};\n if (vnodeData.routerView) {\n depth++;\n }\n if (vnodeData.keepAlive && parent._directInactive && parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n var cachedData = cache[name];\n var cachedComponent = cachedData && cachedData.component;\n if (cachedComponent) {\n // #2301\n // pass props\n if (cachedData.configProps) {\n fillPropsinData(cachedComponent, data, cachedData.route, cachedData.configProps);\n }\n return h(cachedComponent, data, children)\n } else {\n // render previous empty view\n return h()\n }\n }\n\n var matched = route.matched[depth];\n var component = matched && matched.components[name];\n\n // render empty node if no matched route or no config component\n if (!matched || !component) {\n cache[name] = null;\n return h()\n }\n\n // cache component\n cache[name] = { component: component };\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // register instance in init hook\n // in case kept-alive component be actived when routes changed\n data.hook.init = function (vnode) {\n if (vnode.data.keepAlive &&\n vnode.componentInstance &&\n vnode.componentInstance !== matched.instances[name]\n ) {\n matched.instances[name] = vnode.componentInstance;\n }\n\n // if the route transition has already been confirmed then we weren't\n // able to call the cbs during confirmation as the component was not\n // registered yet, so we call it here.\n handleRouteEntered(route);\n };\n\n var configProps = matched.props && matched.props[name];\n // save route and configProps in cache\n if (configProps) {\n extend(cache[name], {\n route: route,\n configProps: configProps\n });\n fillPropsinData(component, data, route, configProps);\n }\n\n return h(component, data, children)\n }\n};\n\nfunction fillPropsinData (component, data, route, configProps) {\n // resolve props\n var propsToPass = data.props = resolveProps(route, configProps);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n}\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/(?:\\s*\\/)+/g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options));\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n params = params || {};\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n\n // Fix #2505 resolving asterisk routes { name: 'not-found', params: { pathMatch: '/not-found' }}\n // and fix #3106 so that you can work with location descriptor object having params.pathMatch equal to empty string\n if (typeof params.pathMatch === 'string') { params[0] = params.pathMatch; }\n\n return filler(params, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // Fix #3072 no warn if `pathMatch` is string\n warn(typeof params.pathMatch === 'string', (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n } finally {\n // delete the 0 if it was added\n delete params[0];\n }\n}\n\n/* */\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next._normalized) {\n return next\n } else if (next.name) {\n next = extend({}, raw);\n var params = next.params;\n if (params && typeof params === 'object') {\n next.params = extend({}, params);\n }\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = extend({}, next);\n next._normalized = true;\n var params$1 = extend(extend({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params$1;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params$1, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar noop = function () {};\n\nvar warnedCustomSlot;\nvar warnedTagProp;\nvar warnedEventProp;\n\nvar Link = {\n name: 'RouterLink',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n custom: Boolean,\n exact: Boolean,\n exactPath: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n ariaCurrentValue: {\n type: String,\n default: 'page'\n },\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(\n this.to,\n current,\n this.append\n );\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback =\n globalActiveClass == null ? 'router-link-active' : globalActiveClass;\n var exactActiveClassFallback =\n globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass =\n this.activeClass == null ? activeClassFallback : this.activeClass;\n var exactActiveClass =\n this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n\n var compareTarget = route.redirectedFrom\n ? createRoute(null, normalizeLocation(route.redirectedFrom), null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget, this.exactPath);\n classes[activeClass] = this.exact || this.exactPath\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var ariaCurrentValue = classes[exactActiveClass] ? this.ariaCurrentValue : null;\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1$1.replace) {\n router.replace(location, noop);\n } else {\n router.push(location, noop);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) {\n on[e] = handler;\n });\n } else {\n on[this.event] = handler;\n }\n\n var data = { class: classes };\n\n var scopedSlot =\n !this.$scopedSlots.$hasNormal &&\n this.$scopedSlots.default &&\n this.$scopedSlots.default({\n href: href,\n route: route,\n navigate: handler,\n isActive: classes[activeClass],\n isExactActive: classes[exactActiveClass]\n });\n\n if (scopedSlot) {\n if (process.env.NODE_ENV !== 'production' && !this.custom) {\n !warnedCustomSlot && warn(false, 'In Vue Router 4, the v-slot API will by default wrap its content with an element. Use the custom prop to remove this warning:\\n\\n');\n warnedCustomSlot = true;\n }\n if (scopedSlot.length === 1) {\n return scopedSlot[0]\n } else if (scopedSlot.length > 1 || !scopedSlot.length) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n (\" with to=\\\"\" + (this.to) + \"\\\" is trying to use a scoped slot but it didn't provide exactly one child. Wrapping the content with a span element.\")\n );\n }\n return scopedSlot.length === 0 ? h() : h('span', {}, scopedSlot)\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if ('tag' in this.$options.propsData && !warnedTagProp) {\n warn(\n false,\n \"'s tag prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedTagProp = true;\n }\n if ('event' in this.$options.propsData && !warnedEventProp) {\n warn(\n false,\n \"'s event prop is deprecated and has been removed in Vue Router 4. Use the v-slot API to remove this warning: https://next.router.vuejs.org/guide/migration/#removal-of-event-and-tag-props-in-router-link.\"\n );\n warnedEventProp = true;\n }\n }\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href, 'aria-current': ariaCurrentValue };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var aData = (a.data = extend({}, a.data));\n aData.on = aData.on || {};\n // transform existing events in both objects into arrays so we can push later\n for (var event in aData.on) {\n var handler$1 = aData.on[event];\n if (event in on) {\n aData.on[event] = Array.isArray(handler$1) ? handler$1 : [handler$1];\n }\n }\n // append new listeners for router-link\n for (var event$1 in on) {\n if (event$1 in aData.on) {\n // on[event] is always a function\n aData.on[event$1].push(on[event$1]);\n } else {\n aData.on[event$1] = handler;\n }\n }\n\n var aAttrs = (a.data.attrs = extend({}, a.data.attrs));\n aAttrs.href = href;\n aAttrs['aria-current'] = ariaCurrentValue;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('RouterView', View);\n Vue.component('RouterLink', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap,\n parentRoute\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route, parentRoute);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n if (process.env.NODE_ENV === 'development') {\n // warn if routes do not include leading slashes\n var found = pathList\n // check for missing leading slash\n .filter(function (path) { return path && path.charAt(0) !== '*' && path.charAt(0) !== '/'; });\n\n if (found.length > 0) {\n var pathNames = found.map(function (path) { return (\"- \" + path); }).join('\\n');\n warn(false, (\"Non-nested routes must include a leading slash character. Fix the following routes: \\n\" + pathNames));\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(\n path || name\n )) + \" cannot be a \" + \"string id. Use an actual component instead.\"\n );\n\n warn(\n // eslint-disable-next-line no-control-regex\n !/[^\\u0000-\\u007F]+/.test(path),\n \"Route with path \\\"\" + path + \"\\\" contains unencoded characters, make sure \" +\n \"your path is correctly encoded before passing it to the router. Use \" +\n \"encodeURI to encode static segments of your path.\"\n );\n }\n\n var pathToRegexpOptions =\n route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(path, parent, pathToRegexpOptions.strict);\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n alias: route.alias\n ? typeof route.alias === 'string'\n ? [route.alias]\n : route.alias\n : [],\n instances: {},\n enteredCbs: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props:\n route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (\n route.name &&\n !route.redirect &&\n route.children.some(function (child) { return /^\\/?$/.test(child.path); })\n ) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'}\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias) ? route.alias : [route.alias];\n for (var i = 0; i < aliases.length; ++i) {\n var alias = aliases[i];\n if (process.env.NODE_ENV !== 'production' && alias === path) {\n warn(\n false,\n (\"Found an alias with the same value as the path: \\\"\" + path + \"\\\". You have to remove that alias. It will be ignored in development.\")\n );\n // skip in dev to make it work\n continue\n }\n\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n }\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (\n path,\n pathToRegexpOptions\n) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(\n !keys[key.name],\n (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\")\n );\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (\n path,\n parent,\n strict\n) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function addRoute (parentOrRoute, route) {\n var parent = (typeof parentOrRoute !== 'object') ? nameMap[parentOrRoute] : undefined;\n // $flow-disable-line\n createRouteMap([route || parentOrRoute], pathList, pathMap, nameMap, parent);\n\n // add aliases of parent\n if (parent && parent.alias.length) {\n createRouteMap(\n // $flow-disable-line route is defined if parent is\n parent.alias.map(function (alias) { return ({ path: alias, children: [route] }); }),\n pathList,\n pathMap,\n nameMap,\n parent\n );\n }\n }\n\n function getRoutes () {\n return pathList.map(function (path) { return pathMap[path]; })\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoute: addRoute,\n getRoutes: getRoutes,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n if (key) {\n // Fix #1994: using * with props: true generates a param named 0\n params[key.name || 'pathMatch'] = typeof m[i] === 'string' ? decode(m[i]) : m[i];\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n// use User Timing api (if present) for more accurate key precision\nvar Time =\n inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nfunction genStateKey () {\n return Time.now().toFixed(3)\n}\n\nvar _key = genStateKey();\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n return (_key = key)\n}\n\n/* */\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Prevent browser scroll behavior on History popstate\n if ('scrollRestoration' in window.history) {\n window.history.scrollRestoration = 'manual';\n }\n // Fix for #1585 for Firefox\n // Fix for #2195 Add optional third attribute to workaround a bug in safari https://bugs.webkit.org/show_bug.cgi?id=182678\n // Fix for #2774 Support for apps loaded from Windows file shares not mapped to network drives: replaced location.origin with\n // window.location.protocol + '//' + window.location.host\n // location.host contains the port and location.hostname doesn't\n var protocolAndPath = window.location.protocol + '//' + window.location.host;\n var absolutePath = window.location.href.replace(protocolAndPath, '');\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, window.history.state);\n stateCopy.key = getStateKey();\n window.history.replaceState(stateCopy, '', absolutePath);\n window.addEventListener('popstate', handlePopState);\n return function () {\n window.removeEventListener('popstate', handlePopState);\n }\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior.call(\n router,\n to,\n from,\n isPop ? position : null\n );\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll\n .then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n })\n .catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction handlePopState (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nvar hashStartsWithNumberRE = /^#\\d/;\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n // getElementById would still fail if the selector contains a more complicated query like #main[data-attr]\n // but at the same time, it doesn't make much sense to select an element with an id and an extra selector\n var el = hashStartsWithNumberRE.test(shouldScroll.selector) // $flow-disable-line\n ? document.getElementById(shouldScroll.selector.slice(1)) // $flow-disable-line\n : document.querySelector(shouldScroll.selector);\n\n if (el) {\n var offset =\n shouldScroll.offset && typeof shouldScroll.offset === 'object'\n ? shouldScroll.offset\n : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n // $flow-disable-line\n if ('scrollBehavior' in document.documentElement.style) {\n window.scrollTo({\n left: position.x,\n top: position.y,\n // $flow-disable-line\n behavior: shouldScroll.behavior\n });\n } else {\n window.scrollTo(position.x, position.y);\n }\n }\n}\n\n/* */\n\nvar supportsPushState =\n inBrowser &&\n (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && typeof window.history.pushState === 'function'\n })();\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n // preserve existing history state as it could be overriden by the user\n var stateCopy = extend({}, history.state);\n stateCopy.key = getStateKey();\n history.replaceState(stateCopy, '', url);\n } else {\n history.pushState({ key: setStateKey(genStateKey()) }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n// When changing thing, also edit router.d.ts\nvar NavigationFailureType = {\n redirected: 2,\n aborted: 4,\n cancelled: 8,\n duplicated: 16\n};\n\nfunction createNavigationRedirectedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.redirected,\n (\"Redirected when going from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (stringifyRoute(\n to\n )) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createNavigationDuplicatedError (from, to) {\n var error = createRouterError(\n from,\n to,\n NavigationFailureType.duplicated,\n (\"Avoided redundant navigation to current location: \\\"\" + (from.fullPath) + \"\\\".\")\n );\n // backwards compatible with the first introduction of Errors\n error.name = 'NavigationDuplicated';\n return error\n}\n\nfunction createNavigationCancelledError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.cancelled,\n (\"Navigation cancelled from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" with a new navigation.\")\n )\n}\n\nfunction createNavigationAbortedError (from, to) {\n return createRouterError(\n from,\n to,\n NavigationFailureType.aborted,\n (\"Navigation aborted from \\\"\" + (from.fullPath) + \"\\\" to \\\"\" + (to.fullPath) + \"\\\" via a navigation guard.\")\n )\n}\n\nfunction createRouterError (from, to, type, message) {\n var error = new Error(message);\n error._isRouter = true;\n error.from = from;\n error.to = to;\n error.type = type;\n\n return error\n}\n\nvar propertiesToLog = ['params', 'query', 'hash'];\n\nfunction stringifyRoute (to) {\n if (typeof to === 'string') { return to }\n if ('path' in to) { return to.path }\n var location = {};\n propertiesToLog.forEach(function (key) {\n if (key in to) { location[key] = to[key]; }\n });\n return JSON.stringify(location, null, 2)\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nfunction isNavigationFailure (err, errorType) {\n return (\n isError(err) &&\n err._isRouter &&\n (errorType == null || err.type === errorType)\n )\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n this.listeners = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (\n location,\n onComplete,\n onAbort\n) {\n var this$1$1 = this;\n\n var route;\n // catch redirect option https://github.com/vuejs/vue-router/issues/3201\n try {\n route = this.router.match(location, this.current);\n } catch (e) {\n this.errorCbs.forEach(function (cb) {\n cb(e);\n });\n // Exception should still be thrown\n throw e\n }\n var prev = this.current;\n this.confirmTransition(\n route,\n function () {\n this$1$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1$1.ensureURL();\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n\n // fire ready cbs once\n if (!this$1$1.ready) {\n this$1$1.ready = true;\n this$1$1.readyCbs.forEach(function (cb) {\n cb(route);\n });\n }\n },\n function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1$1.ready) {\n // Initial redirection should not mark the history as ready yet\n // because it's triggered by the redirection instead\n // https://github.com/vuejs/vue-router/issues/3225\n // https://github.com/vuejs/vue-router/issues/3331\n if (!isNavigationFailure(err, NavigationFailureType.redirected) || prev !== START) {\n this$1$1.ready = true;\n this$1$1.readyErrorCbs.forEach(function (cb) {\n cb(err);\n });\n }\n }\n }\n );\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1$1 = this;\n\n var current = this.current;\n this.pending = route;\n var abort = function (err) {\n // changed after adding errors with\n // https://github.com/vuejs/vue-router/pull/3047 before that change,\n // redirect and aborted navigation would produce an err == null\n if (!isNavigationFailure(err) && isError(err)) {\n if (this$1$1.errorCbs.length) {\n this$1$1.errorCbs.forEach(function (cb) {\n cb(err);\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'uncaught error during route navigation:');\n }\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n var lastRouteIndex = route.matched.length - 1;\n var lastCurrentIndex = current.matched.length - 1;\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n lastRouteIndex === lastCurrentIndex &&\n route.matched[lastRouteIndex] === current.matched[lastCurrentIndex]\n ) {\n this.ensureURL();\n if (route.hash) {\n handleScroll(this.router, current, route, false);\n }\n return abort(createNavigationDuplicatedError(current, route))\n }\n\n var ref = resolveQueue(\n this.current.matched,\n route.matched\n );\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n var iterator = function (hook, next) {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n try {\n hook(route, current, function (to) {\n if (to === false) {\n // next(false) -> abort navigation, ensure current URL\n this$1$1.ensureURL(true);\n abort(createNavigationAbortedError(current, route));\n } else if (isError(to)) {\n this$1$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' &&\n (typeof to.path === 'string' || typeof to.name === 'string'))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort(createNavigationRedirectedError(current, route));\n if (typeof to === 'object' && to.replace) {\n this$1$1.replace(to);\n } else {\n this$1$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated);\n var queue = enterGuards.concat(this$1$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1$1.pending !== route) {\n return abort(createNavigationCancelledError(current, route))\n }\n this$1$1.pending = null;\n onComplete(route);\n if (this$1$1.router.app) {\n this$1$1.router.app.$nextTick(function () {\n handleRouteEntered(route);\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n this.current = route;\n this.cb && this.cb(route);\n};\n\nHistory.prototype.setupListeners = function setupListeners () {\n // Default implementation is empty\n};\n\nHistory.prototype.teardown = function teardown () {\n // clean up event listeners\n // https://github.com/vuejs/vue-router/issues/2341\n this.listeners.forEach(function (cleanupListener) {\n cleanupListener();\n });\n this.listeners = [];\n\n // reset current history route\n // https://github.com/vuejs/vue-router/issues/3294\n this.current = START;\n this.pending = null;\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated\n) {\n return extractGuards(\n activated,\n 'beforeRouteEnter',\n function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key)\n }\n )\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n if (typeof cb === 'function') {\n if (!match.enteredCbs[key]) {\n match.enteredCbs[key] = [];\n }\n match.enteredCbs[key].push(cb);\n }\n next(cb);\n })\n }\n}\n\n/* */\n\nvar HTML5History = /*@__PURE__*/(function (History) {\n function HTML5History (router, base) {\n History.call(this, router, base);\n\n this._startLocation = getLocation(this.base);\n }\n\n if ( History ) HTML5History.__proto__ = History;\n HTML5History.prototype = Object.create( History && History.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1$1.base);\n if (this$1$1.current === START && location === this$1$1._startLocation) {\n return\n }\n\n this$1$1.transitionTo(location, function (route) {\n if (supportsScroll) {\n handleScroll(router, route, current, true);\n }\n });\n };\n window.addEventListener('popstate', handleRoutingEvent);\n this.listeners.push(function () {\n window.removeEventListener('popstate', handleRoutingEvent);\n });\n };\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1$1.base + route.fullPath));\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n var pathLowerCase = path.toLowerCase();\n var baseLowerCase = base.toLowerCase();\n // base=\"/a\" shouldn't turn path=\"/app\" into \"/a/pp\"\n // https://github.com/vuejs/vue-router/issues/3555\n // so we ensure the trailing slash in the base\n if (base && ((pathLowerCase === baseLowerCase) ||\n (pathLowerCase.indexOf(cleanPath(baseLowerCase + '/')) === 0))) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\nvar HashHistory = /*@__PURE__*/(function (History) {\n function HashHistory (router, base, fallback) {\n History.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History ) HashHistory.__proto__ = History;\n HashHistory.prototype = Object.create( History && History.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1$1 = this;\n\n if (this.listeners.length > 0) {\n return\n }\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n this.listeners.push(setupScroll());\n }\n\n var handleRoutingEvent = function () {\n var current = this$1$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n };\n var eventType = supportsPushState ? 'popstate' : 'hashchange';\n window.addEventListener(\n eventType,\n handleRoutingEvent\n );\n this.listeners.push(function () {\n window.removeEventListener(eventType, handleRoutingEvent);\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(\n location,\n function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(cleanPath(base + '/#' + location));\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n // empty path\n if (index < 0) { return '' }\n\n href = href.slice(index + 1);\n\n return href\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\nvar AbstractHistory = /*@__PURE__*/(function (History) {\n function AbstractHistory (router, base) {\n History.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History ) AbstractHistory.__proto__ = History;\n AbstractHistory.prototype = Object.create( History && History.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index + 1).concat(route);\n this$1$1.index++;\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n this.transitionTo(\n location,\n function (route) {\n this$1$1.stack = this$1$1.stack.slice(0, this$1$1.index).concat(route);\n onComplete && onComplete(route);\n },\n onAbort\n );\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(\n route,\n function () {\n var prev = this$1$1.current;\n this$1$1.index = targetIndex;\n this$1$1.updateRoute(route);\n this$1$1.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n },\n function (err) {\n if (isNavigationFailure(err, NavigationFailureType.duplicated)) {\n this$1$1.index = targetIndex;\n }\n }\n );\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\n\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n if (process.env.NODE_ENV !== 'production') {\n warn(this instanceof VueRouter, \"Router must be called with the new operator.\");\n }\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback =\n mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (raw, current, redirectedFrom) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1$1 = this;\n\n process.env.NODE_ENV !== 'production' &&\n assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // set up app destroyed handler\n // https://github.com/vuejs/vue-router/issues/2639\n app.$once('hook:destroyed', function () {\n // clean out app from this.apps array once destroyed\n var index = this$1$1.apps.indexOf(app);\n if (index > -1) { this$1$1.apps.splice(index, 1); }\n // ensure we still have a main app or null if no apps\n // we do not release the router so it can be reused\n if (this$1$1.app === app) { this$1$1.app = this$1$1.apps[0] || null; }\n\n if (!this$1$1.app) { this$1$1.history.teardown(); }\n });\n\n // main app previously initialized\n // return as we don't need to set up new history listener\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History || history instanceof HashHistory) {\n var handleInitialScroll = function (routeOrError) {\n var from = history.current;\n var expectScroll = this$1$1.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll && 'fullPath' in routeOrError) {\n handleScroll(this$1$1, routeOrError, from, false);\n }\n };\n var setupListeners = function (routeOrError) {\n history.setupListeners();\n handleInitialScroll(routeOrError);\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupListeners,\n setupListeners\n );\n }\n\n history.listen(function (route) {\n this$1$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.push(location, resolve, reject);\n })\n } else {\n this.history.push(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1$1 = this;\n\n // $flow-disable-line\n if (!onComplete && !onAbort && typeof Promise !== 'undefined') {\n return new Promise(function (resolve, reject) {\n this$1$1.history.replace(location, resolve, reject);\n })\n } else {\n this.history.replace(location, onComplete, onAbort);\n }\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply(\n [],\n route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n })\n )\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n current = current || this.history.current;\n var location = normalizeLocation(to, current, append, this);\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.getRoutes = function getRoutes () {\n return this.matcher.getRoutes()\n};\n\nVueRouter.prototype.addRoute = function addRoute (parentOrRoute, route) {\n this.matcher.addRoute(parentOrRoute, route);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, 'router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.');\n }\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nvar VueRouter$1 = VueRouter;\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\n// We cannot remove this as it would be a breaking change\nVueRouter.install = install;\nVueRouter.version = '3.6.5';\nVueRouter.isNavigationFailure = isNavigationFailure;\nVueRouter.NavigationFailureType = NavigationFailureType;\nVueRouter.START_LOCATION = START;\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nvar version = '3.6.5';\n\nexport { NavigationFailureType, Link as RouterLink, View as RouterView, START as START_LOCATION, VueRouter$1 as default, isNavigationFailure, version };\n","/*!\n * Vue.js v2.7.14\n * (c) 2014-2022 Evan You\n * Released under the MIT License.\n */\nvar emptyObject = Object.freeze({});\nvar isArray = Array.isArray;\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef(v) {\n return v === undefined || v === null;\n}\nfunction isDef(v) {\n return v !== undefined && v !== null;\n}\nfunction isTrue(v) {\n return v === true;\n}\nfunction isFalse(v) {\n return v === false;\n}\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive(value) {\n return (typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean');\n}\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Quick object check - this is primarily used to tell\n * objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\nfunction toRawType(value) {\n return _toString.call(value).slice(8, -1);\n}\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject(obj) {\n return _toString.call(obj) === '[object Object]';\n}\nfunction isRegExp(v) {\n return _toString.call(v) === '[object RegExp]';\n}\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex(val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val);\n}\nfunction isPromise(val) {\n return (isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function');\n}\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString(val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n}\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber(val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n;\n}\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap(str, expectsLowerCase) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; };\n}\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n/**\n * Remove an item from an array.\n */\nfunction remove$2(arr, item) {\n var len = arr.length;\n if (len) {\n // fast path for the only / last item\n if (item === arr[len - 1]) {\n arr.length = len - 1;\n return;\n }\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1);\n }\n }\n}\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/**\n * Create a cached version of a pure function.\n */\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); });\n});\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n});\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n/* istanbul ignore next */\nfunction polyfillBind(fn, ctx) {\n function boundFn(a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx);\n }\n boundFn._length = fn.length;\n return boundFn;\n}\nfunction nativeBind(fn, ctx) {\n return fn.bind(ctx);\n}\n// @ts-expect-error bind cannot be `undefined`\nvar bind = Function.prototype.bind ? nativeBind : polyfillBind;\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray(list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret;\n}\n/**\n * Mix properties into target object.\n */\nfunction extend(to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to;\n}\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject(arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res;\n}\n/* eslint-disable no-unused-vars */\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop(a, b, c) { }\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n/* eslint-enable no-unused-vars */\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual(a, b) {\n if (a === b)\n return true;\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return (a.length === b.length &&\n a.every(function (e, i) {\n return looseEqual(e, b[i]);\n }));\n }\n else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return (keysA.length === keysB.length &&\n keysA.every(function (key) {\n return looseEqual(a[key], b[key]);\n }));\n }\n else {\n /* istanbul ignore next */\n return false;\n }\n }\n catch (e) {\n /* istanbul ignore next */\n return false;\n }\n }\n else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n }\n else {\n return false;\n }\n}\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf(arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val))\n return i;\n }\n return -1;\n}\n/**\n * Ensure a function is called only once.\n */\nfunction once(fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill\nfunction hasChanged(x, y) {\n if (x === y) {\n return x === 0 && 1 / x !== 1 / y;\n }\n else {\n return x === x || y === y;\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\nvar ASSET_TYPES = ['component', 'directive', 'filter'];\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch',\n 'renderTracked',\n 'renderTriggered'\n];\n\nvar config = {\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n /**\n * Whether to record perf\n */\n performance: false,\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n};\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved(str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5f;\n}\n/**\n * Define a property.\n */\nfunction def(obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp(\"[^\".concat(unicodeRegExp.source, \".$_\\\\d]\"));\nfunction parsePath(path) {\n if (bailRE.test(path)) {\n return;\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj)\n return;\n obj = obj[segments[i]];\n }\n return obj;\n };\n}\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nUA && UA.indexOf('android') > 0;\nvar isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);\nUA && /chrome\\/\\d+/.test(UA) && !isEdge;\nUA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n// Firefox has a \"watch\" function on Object.prototype...\n// @ts-expect-error firebox support\nvar nativeWatch = {}.watch;\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n get: function () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n }); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n }\n catch (e) { }\n}\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer =\n global['process'] && global['process'].env.VUE_ENV === 'server';\n }\n else {\n _isServer = false;\n }\n }\n return _isServer;\n};\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n/* istanbul ignore next */\nfunction isNative(Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString());\n}\nvar hasSymbol = typeof Symbol !== 'undefined' &&\n isNative(Symbol) &&\n typeof Reflect !== 'undefined' &&\n isNative(Reflect.ownKeys);\nvar _Set; // $flow-disable-line\n/* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n}\nelse {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /** @class */ (function () {\n function Set() {\n this.set = Object.create(null);\n }\n Set.prototype.has = function (key) {\n return this.set[key] === true;\n };\n Set.prototype.add = function (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function () {\n this.set = Object.create(null);\n };\n return Set;\n }());\n}\n\nvar currentInstance = null;\n/**\n * This is exposed for compatibility with v3 (e.g. some functions in VueUse\n * relies on it). Do not use this internally, just use `currentInstance`.\n *\n * @internal this function needs manual type declaration because it relies\n * on previously manually authored types from Vue 2\n */\nfunction getCurrentInstance() {\n return currentInstance && { proxy: currentInstance };\n}\n/**\n * @internal\n */\nfunction setCurrentInstance(vm) {\n if (vm === void 0) { vm = null; }\n if (!vm)\n currentInstance && currentInstance._scope.off();\n currentInstance = vm;\n vm && vm._scope.on();\n}\n\n/**\n * @internal\n */\nvar VNode = /** @class */ (function () {\n function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n }\n Object.defineProperty(VNode.prototype, \"child\", {\n // DEPRECATED: alias for componentInstance for backwards compat.\n /* istanbul ignore next */\n get: function () {\n return this.componentInstance;\n },\n enumerable: false,\n configurable: true\n });\n return VNode;\n}());\nvar createEmptyVNode = function (text) {\n if (text === void 0) { text = ''; }\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node;\n};\nfunction createTextVNode(val) {\n return new VNode(undefined, undefined, undefined, String(val));\n}\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode(vnode) {\n var cloned = new VNode(vnode.tag, vnode.data, \n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory);\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned;\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar uid$2 = 0;\nvar pendingCleanupDeps = [];\nvar cleanupDeps = function () {\n for (var i = 0; i < pendingCleanupDeps.length; i++) {\n var dep = pendingCleanupDeps[i];\n dep.subs = dep.subs.filter(function (s) { return s; });\n dep._pending = false;\n }\n pendingCleanupDeps.length = 0;\n};\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n * @internal\n */\nvar Dep = /** @class */ (function () {\n function Dep() {\n // pending subs cleanup\n this._pending = false;\n this.id = uid$2++;\n this.subs = [];\n }\n Dep.prototype.addSub = function (sub) {\n this.subs.push(sub);\n };\n Dep.prototype.removeSub = function (sub) {\n // #12696 deps with massive amount of subscribers are extremely slow to\n // clean up in Chromium\n // to workaround this, we unset the sub for now, and clear them on\n // next scheduler flush.\n this.subs[this.subs.indexOf(sub)] = null;\n if (!this._pending) {\n this._pending = true;\n pendingCleanupDeps.push(this);\n }\n };\n Dep.prototype.depend = function (info) {\n if (Dep.target) {\n Dep.target.addDep(this);\n if (process.env.NODE_ENV !== 'production' && info && Dep.target.onTrack) {\n Dep.target.onTrack(__assign({ effect: Dep.target }, info));\n }\n }\n };\n Dep.prototype.notify = function (info) {\n // stabilize the subscriber list first\n var subs = this.subs.filter(function (s) { return s; });\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n var sub = subs[i];\n if (process.env.NODE_ENV !== 'production' && info) {\n sub.onTrigger &&\n sub.onTrigger(__assign({ effect: subs[i] }, info));\n }\n sub.update();\n }\n };\n return Dep;\n}());\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\nfunction pushTarget(target) {\n targetStack.push(target);\n Dep.target = target;\n}\nfunction popTarget() {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break;\n case 'splice':\n inserted = args.slice(2);\n break;\n }\n if (inserted)\n ob.observeArray(inserted);\n // notify change\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"array mutation\" /* TriggerOpTypes.ARRAY_MUTATION */,\n target: this,\n key: method\n });\n }\n else {\n ob.dep.notify();\n }\n return result;\n });\n});\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\nvar NO_INIITIAL_VALUE = {};\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\nfunction toggleObserving(value) {\n shouldObserve = value;\n}\n// ssr mock dep\nvar mockDep = {\n notify: noop,\n depend: noop,\n addSub: noop,\n removeSub: noop\n};\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = /** @class */ (function () {\n function Observer(value, shallow, mock) {\n if (shallow === void 0) { shallow = false; }\n if (mock === void 0) { mock = false; }\n this.value = value;\n this.shallow = shallow;\n this.mock = mock;\n // this.value = value\n this.dep = mock ? mockDep : new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (isArray(value)) {\n if (!mock) {\n if (hasProto) {\n value.__proto__ = arrayMethods;\n /* eslint-enable no-proto */\n }\n else {\n for (var i = 0, l = arrayKeys.length; i < l; i++) {\n var key = arrayKeys[i];\n def(value, key, arrayMethods[key]);\n }\n }\n }\n if (!shallow) {\n this.observeArray(value);\n }\n }\n else {\n /**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\n var keys = Object.keys(value);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);\n }\n }\n }\n /**\n * Observe a list of Array items.\n */\n Observer.prototype.observeArray = function (value) {\n for (var i = 0, l = value.length; i < l; i++) {\n observe(value[i], false, this.mock);\n }\n };\n return Observer;\n}());\n// helpers\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe(value, shallow, ssrMockReactivity) {\n if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n return value.__ob__;\n }\n if (shouldObserve &&\n (ssrMockReactivity || !isServerRendering()) &&\n (isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value.__v_skip /* ReactiveFlags.SKIP */ &&\n !isRef(value) &&\n !(value instanceof VNode)) {\n return new Observer(value, shallow, ssrMockReactivity);\n }\n}\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive(obj, key, val, customSetter, shallow, mock) {\n var dep = new Dep();\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return;\n }\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) &&\n (val === NO_INIITIAL_VALUE || arguments.length === 2)) {\n val = obj[key];\n }\n var childOb = !shallow && observe(val, false, mock);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter() {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: obj,\n type: \"get\" /* TrackOpTypes.GET */,\n key: key\n });\n }\n else {\n dep.depend();\n }\n if (childOb) {\n childOb.dep.depend();\n if (isArray(value)) {\n dependArray(value);\n }\n }\n }\n return isRef(value) && !shallow ? value.value : value;\n },\n set: function reactiveSetter(newVal) {\n var value = getter ? getter.call(obj) : val;\n if (!hasChanged(value, newVal)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n }\n else if (getter) {\n // #7981: for accessor properties without setter\n return;\n }\n else if (!shallow && isRef(value) && !isRef(newVal)) {\n value.value = newVal;\n return;\n }\n else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal, false, mock);\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: obj,\n key: key,\n newValue: newVal,\n oldValue: value\n });\n }\n else {\n dep.notify();\n }\n }\n });\n return dep;\n}\nfunction set(target, key, val) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot set reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' && warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n var ob = target.__ob__;\n if (isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n // when mocking for SSR, array methods are not hijacked\n if (ob && !ob.shallow && ob.mock) {\n observe(val, false, true);\n }\n return val;\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val;\n }\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.');\n return val;\n }\n if (!ob) {\n target[key] = val;\n return val;\n }\n defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"add\" /* TriggerOpTypes.ADD */,\n target: target,\n key: key,\n newValue: val,\n oldValue: undefined\n });\n }\n else {\n ob.dep.notify();\n }\n return val;\n}\nfunction del(target, key) {\n if (process.env.NODE_ENV !== 'production' && (isUndef(target) || isPrimitive(target))) {\n warn(\"Cannot delete reactive property on undefined, null, or primitive value: \".concat(target));\n }\n if (isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return;\n }\n var ob = target.__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' &&\n warn('Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.');\n return;\n }\n if (isReadonly(target)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Delete operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n return;\n }\n if (!hasOwn(target, key)) {\n return;\n }\n delete target[key];\n if (!ob) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n ob.dep.notify({\n type: \"delete\" /* TriggerOpTypes.DELETE */,\n target: target,\n key: key\n });\n }\n else {\n ob.dep.notify();\n }\n}\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray(value) {\n for (var e = void 0, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n if (e && e.__ob__) {\n e.__ob__.dep.depend();\n }\n if (isArray(e)) {\n dependArray(e);\n }\n }\n}\n\nfunction reactive(target) {\n makeReactive(target, false);\n return target;\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n makeReactive(target, true);\n def(target, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n return target;\n}\nfunction makeReactive(target, shallow) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (!isReadonly(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Avoid using Array as root value for \".concat(shallow ? \"shallowReactive()\" : \"reactive()\", \" as it cannot be tracked in watch() or watchEffect(). Use \").concat(shallow ? \"shallowRef()\" : \"ref()\", \" instead. This is a Vue-2-only limitation.\"));\n }\n var existingOb = target && target.__ob__;\n if (existingOb && existingOb.shallow !== shallow) {\n warn(\"Target is already a \".concat(existingOb.shallow ? \"\" : \"non-\", \"shallow reactive object, and cannot be converted to \").concat(shallow ? \"\" : \"non-\", \"shallow.\"));\n }\n }\n var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);\n if (process.env.NODE_ENV !== 'production' && !ob) {\n if (target == null || isPrimitive(target)) {\n warn(\"value cannot be made reactive: \".concat(String(target)));\n }\n if (isCollectionType(target)) {\n warn(\"Vue 2 does not support reactive collection types such as Map or Set.\");\n }\n }\n }\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value.__ob__);\n}\nfunction isShallow(value) {\n return !!(value && value.__v_isShallow);\n}\nfunction isReadonly(value) {\n return !!(value && value.__v_isReadonly);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n var raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n // non-extensible objects won't be observed anyway\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n }\n return value;\n}\n/**\n * @internal\n */\nfunction isCollectionType(value) {\n var type = toRawType(value);\n return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');\n}\n\n/**\n * @internal\n */\nvar RefFlag = \"__v_isRef\";\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref$1(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n var ref = {};\n def(ref, RefFlag, true);\n def(ref, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, shallow);\n def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));\n return ref;\n}\nfunction triggerRef(ref) {\n if (process.env.NODE_ENV !== 'production' && !ref.dep) {\n warn(\"received object is not a triggerable ref.\");\n }\n if (process.env.NODE_ENV !== 'production') {\n ref.dep &&\n ref.dep.notify({\n type: \"set\" /* TriggerOpTypes.SET */,\n target: ref,\n key: 'value'\n });\n }\n else {\n ref.dep && ref.dep.notify();\n }\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nfunction proxyRefs(objectWithRefs) {\n if (isReactive(objectWithRefs)) {\n return objectWithRefs;\n }\n var proxy = {};\n var keys = Object.keys(objectWithRefs);\n for (var i = 0; i < keys.length; i++) {\n proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]);\n }\n return proxy;\n}\nfunction proxyWithRefUnwrap(target, source, key) {\n Object.defineProperty(target, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = source[key];\n if (isRef(val)) {\n return val.value;\n }\n else {\n var ob = val && val.__ob__;\n if (ob)\n ob.dep.depend();\n return val;\n }\n },\n set: function (value) {\n var oldValue = source[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n }\n else {\n source[key] = value;\n }\n }\n });\n}\nfunction customRef(factory) {\n var dep = new Dep();\n var _a = factory(function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.depend({\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n dep.depend();\n }\n }, function () {\n if (process.env.NODE_ENV !== 'production') {\n dep.notify({\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value'\n });\n }\n else {\n dep.notify();\n }\n }), get = _a.get, set = _a.set;\n var ref = {\n get value() {\n return get();\n },\n set value(newVal) {\n set(newVal);\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\nfunction toRefs(object) {\n if (process.env.NODE_ENV !== 'production' && !isReactive(object)) {\n warn(\"toRefs() expects a reactive object but received a plain one.\");\n }\n var ret = isArray(object) ? new Array(object.length) : {};\n for (var key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nfunction toRef(object, key, defaultValue) {\n var val = object[key];\n if (isRef(val)) {\n return val;\n }\n var ref = {\n get value() {\n var val = object[key];\n return val === undefined ? defaultValue : val;\n },\n set value(newVal) {\n object[key] = newVal;\n }\n };\n def(ref, RefFlag, true);\n return ref;\n}\n\nvar rawToReadonlyFlag = \"__v_rawToReadonly\";\nvar rawToShallowReadonlyFlag = \"__v_rawToShallowReadonly\";\nfunction readonly(target) {\n return createReadonly(target, false);\n}\nfunction createReadonly(target, shallow) {\n if (!isPlainObject(target)) {\n if (process.env.NODE_ENV !== 'production') {\n if (isArray(target)) {\n warn(\"Vue 2 does not support readonly arrays.\");\n }\n else if (isCollectionType(target)) {\n warn(\"Vue 2 does not support readonly collection types such as Map or Set.\");\n }\n else {\n warn(\"value cannot be made readonly: \".concat(typeof target));\n }\n }\n return target;\n }\n if (process.env.NODE_ENV !== 'production' && !Object.isExtensible(target)) {\n warn(\"Vue 2 does not support creating readonly proxy for non-extensible object.\");\n }\n // already a readonly object\n if (isReadonly(target)) {\n return target;\n }\n // already has a readonly proxy\n var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;\n var existingProxy = target[existingFlag];\n if (existingProxy) {\n return existingProxy;\n }\n var proxy = Object.create(Object.getPrototypeOf(target));\n def(target, existingFlag, proxy);\n def(proxy, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, true);\n def(proxy, \"__v_raw\" /* ReactiveFlags.RAW */, target);\n if (isRef(target)) {\n def(proxy, RefFlag, true);\n }\n if (shallow || isShallow(target)) {\n def(proxy, \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */, true);\n }\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n defineReadonlyProperty(proxy, target, keys[i], shallow);\n }\n return proxy;\n}\nfunction defineReadonlyProperty(proxy, target, key, shallow) {\n Object.defineProperty(proxy, key, {\n enumerable: true,\n configurable: true,\n get: function () {\n var val = target[key];\n return shallow || !isPlainObject(val) ? val : readonly(val);\n },\n set: function () {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Set operation on key \\\"\".concat(key, \"\\\" failed: target is readonly.\"));\n }\n });\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReadonly(target, true);\n}\n\nfunction computed(getterOrOptions, debugOptions) {\n var getter;\n var setter;\n var onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = process.env.NODE_ENV !== 'production'\n ? function () {\n warn('Write operation failed: computed value is readonly');\n }\n : noop;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n var watcher = isServerRendering()\n ? null\n : new Watcher(currentInstance, getter, noop, { lazy: true });\n if (process.env.NODE_ENV !== 'production' && watcher && debugOptions) {\n watcher.onTrack = debugOptions.onTrack;\n watcher.onTrigger = debugOptions.onTrigger;\n }\n var ref = {\n // some libs rely on the presence effect for checking computed refs\n // from normal refs, but the implementation doesn't matter\n effect: watcher,\n get value() {\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n if (process.env.NODE_ENV !== 'production' && Dep.target.onTrack) {\n Dep.target.onTrack({\n effect: Dep.target,\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n watcher.depend();\n }\n return watcher.value;\n }\n else {\n return getter();\n }\n },\n set value(newVal) {\n setter(newVal);\n }\n };\n def(ref, RefFlag, true);\n def(ref, \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */, onlyGetter);\n return ref;\n}\n\nvar WATCHER = \"watcher\";\nvar WATCHER_CB = \"\".concat(WATCHER, \" callback\");\nvar WATCHER_GETTER = \"\".concat(WATCHER, \" getter\");\nvar WATCHER_CLEANUP = \"\".concat(WATCHER, \" cleanup\");\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'post' }) : { flush: 'post' }));\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production'\n ? __assign(__assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\n}\n// initial value for watchers to trigger on undefined initial values\nvar INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if (process.env.NODE_ENV !== 'production' && typeof cb !== 'function') {\n warn(\"`watch(fn, options?)` signature has been moved to a separate API. \" +\n \"Use `watchEffect(fn, options?)` instead. `watch` now only \" +\n \"supports `watch(source, cb, options?) signature.\");\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, _a) {\n var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger;\n if (process.env.NODE_ENV !== 'production' && !cb) {\n if (immediate !== undefined) {\n warn(\"watch() \\\"immediate\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n if (deep !== undefined) {\n warn(\"watch() \\\"deep\\\" option is only respected when using the \" +\n \"watch(source, callback, options?) signature.\");\n }\n }\n var warnInvalidSource = function (s) {\n warn(\"Invalid watch source: \".concat(s, \". A watch source can only be a getter/effect \") +\n \"function, a ref, a reactive object, or an array of these types.\");\n };\n var instance = currentInstance;\n var call = function (fn, type, args) {\n if (args === void 0) { args = null; }\n return invokeWithErrorHandling(fn, null, args, instance, type);\n };\n var getter;\n var forceTrigger = false;\n var isMultiSource = false;\n if (isRef(source)) {\n getter = function () { return source.value; };\n forceTrigger = isShallow(source);\n }\n else if (isReactive(source)) {\n getter = function () {\n source.__ob__.dep.depend();\n return source;\n };\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); });\n getter = function () {\n return source.map(function (s) {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n return traverse(s);\n }\n else if (isFunction(s)) {\n return call(s, WATCHER_GETTER);\n }\n else {\n process.env.NODE_ENV !== 'production' && warnInvalidSource(s);\n }\n });\n };\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = function () { return call(source, WATCHER_GETTER); };\n }\n else {\n // no cb -> simple effect\n getter = function () {\n if (instance && instance._isDestroyed) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return call(source, WATCHER, [onCleanup]);\n };\n }\n }\n else {\n getter = noop;\n process.env.NODE_ENV !== 'production' && warnInvalidSource(source);\n }\n if (cb && deep) {\n var baseGetter_1 = getter;\n getter = function () { return traverse(baseGetter_1()); };\n }\n var cleanup;\n var onCleanup = function (fn) {\n cleanup = watcher.onStop = function () {\n call(fn, WATCHER_CLEANUP);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager\n if (isServerRendering()) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = noop;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n call(cb, WATCHER_CB, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n return noop;\n }\n var watcher = new Watcher(currentInstance, getter, noop, {\n lazy: true\n });\n watcher.noRecurse = !cb;\n var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\n // overwrite default run\n watcher.run = function () {\n if (!watcher.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n var newValue = watcher.get();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some(function (v, i) {\n return hasChanged(v, oldValue[i]);\n })\n : hasChanged(newValue, oldValue))) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n call(cb, WATCHER_CB, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n watcher.get();\n }\n };\n if (flush === 'sync') {\n watcher.update = watcher.run;\n }\n else if (flush === 'post') {\n watcher.post = true;\n watcher.update = function () { return queueWatcher(watcher); };\n }\n else {\n // pre\n watcher.update = function () {\n if (instance && instance === currentInstance && !instance._isMounted) {\n // pre-watcher triggered before\n var buffer = instance._preWatchers || (instance._preWatchers = []);\n if (buffer.indexOf(watcher) < 0)\n buffer.push(watcher);\n }\n else {\n queueWatcher(watcher);\n }\n };\n }\n if (process.env.NODE_ENV !== 'production') {\n watcher.onTrack = onTrack;\n watcher.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n watcher.run();\n }\n else {\n oldValue = watcher.get();\n }\n }\n else if (flush === 'post' && instance) {\n instance.$once('hook:mounted', function () { return watcher.get(); });\n }\n else {\n watcher.get();\n }\n return function () {\n watcher.teardown();\n };\n}\n\nvar activeEffectScope;\nvar EffectScope = /** @class */ (function () {\n function EffectScope(detached) {\n if (detached === void 0) { detached = false; }\n this.detached = detached;\n /**\n * @internal\n */\n this.active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n EffectScope.prototype.run = function (fn) {\n if (this.active) {\n var currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"cannot run an inactive effect scope.\");\n }\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.on = function () {\n activeEffectScope = this;\n };\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n EffectScope.prototype.off = function () {\n activeEffectScope = this.parent;\n };\n EffectScope.prototype.stop = function (fromParent) {\n if (this.active) {\n var i = void 0, l = void 0;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].teardown();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n var last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this.active = false;\n }\n };\n return EffectScope;\n}());\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\n/**\n * @internal\n */\nfunction recordEffectScope(effect, scope) {\n if (scope === void 0) { scope = activeEffectScope; }\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"onScopeDispose() is called when there is no active effect scope\" +\n \" to be associated with.\");\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"provide() can only be used inside setup().\");\n }\n }\n else {\n // TS doesn't allow symbol as index type\n resolveProvided(currentInstance)[key] = value;\n }\n}\nfunction resolveProvided(vm) {\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n var existing = vm._provided;\n var parentProvides = vm.$parent && vm.$parent._provided;\n if (parentProvides === existing) {\n return (vm._provided = Object.create(parentProvides));\n }\n else {\n return existing;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory) {\n if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; }\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n var instance = currentInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n var provides = instance.$parent && instance.$parent._provided;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance)\n : defaultValue;\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"injection \\\"\".concat(String(key), \"\\\" not found.\"));\n }\n }\n else if (process.env.NODE_ENV !== 'production') {\n warn(\"inject() can only be used inside setup() or functional components.\");\n }\n}\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once,\n capture: capture,\n passive: passive\n };\n});\nfunction createFnInvoker(fns, vm) {\n function invoker() {\n var fns = invoker.fns;\n if (isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments, vm, \"v-on handler\");\n }\n }\n else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\");\n }\n }\n invoker.fns = fns;\n return invoker;\n}\nfunction updateListeners(on, oldOn, add, remove, createOnceHandler, vm) {\n var name, cur, old, event;\n for (name in on) {\n cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' &&\n warn(\"Invalid handler for event \\\"\".concat(event.name, \"\\\": got \") + String(cur), vm);\n }\n else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n }\n else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove(event.name, oldOn[name], event.capture);\n }\n }\n}\n\nfunction mergeVNodeHook(def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n function wrappedHook() {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove$2(invoker.fns, wrappedHook);\n }\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n }\n else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n }\n else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\nfunction extractPropsFromVNodeData(data, Ctor, tag) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return;\n }\n var res = {};\n var attrs = data.attrs, props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) {\n tip(\"Prop \\\"\".concat(keyInLowerCase, \"\\\" is passed to component \") +\n \"\".concat(formatComponentName(\n // @ts-expect-error tag is string\n tag || Ctor), \", but the declared prop name is\") +\n \" \\\"\".concat(key, \"\\\". \") +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\".concat(altKey, \"\\\" instead of \\\"\").concat(key, \"\\\".\"));\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res;\n}\nfunction checkProp(res, hash, key, altKey, preserve) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true;\n }\n else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true;\n }\n }\n return false;\n}\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren(children) {\n for (var i = 0; i < children.length; i++) {\n if (isArray(children[i])) {\n return Array.prototype.concat.apply([], children);\n }\n }\n return children;\n}\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.