{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.regexp.test.js","webpack:///./node_modules/vant/lib/toast/style/index.js","webpack:///./node_modules/vant/lib/vant.js"],"names":["$","call","isCallable","anObject","toString","DELEGATES_TO_EXEC","execCalled","re","exec","apply","this","arguments","test","nativeTest","target","proto","forced","S","R","string","result","root","factory","module","exports","self","__WEBPACK_EXTERNAL_MODULE__3__","modules","installedModules","__webpack_require__","moduleId","i","l","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","inBrowser","isServer","noop","isDef","isFunction","isObject","isPromise","isEmpty","vue__WEBPACK_IMPORTED_MODULE_0__","vue__WEBPACK_IMPORTED_MODULE_0___default","window","a","$isServer","val","undefined","then","catch","path","keys","split","forEach","_result$key","length","_extends","assign","b","normalMerge","toArrayMerge","functionalMerge","mergeJsxProps","reduce","indexOf","Array","e","concat","f","g","h","mergeFn","camelize","padZero","camelizeRE","str","replace","_","toUpperCase","num","targetLength","global","raf","doubleRaf","cancelRaf","___WEBPACK_IMPORTED_MODULE_0__","prev","Date","now","fallback","fn","curr","ms","Math","max","id","setTimeout","iRaf","requestAnimationFrame","iCancel","cancelAnimationFrame","clearTimeout","isNumeric","isNaN","Number","addUnit","unitToPx","rootFontSize","_validate_number__WEBPACK_IMPORTED_MODULE_1__","String","getRootFontSize","doc","document","documentElement","fontSize","style","getComputedStyle","parseFloat","convertRem","convertVw","innerWidth","convertVh","innerHeight","external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_","external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default","utils","deep_assign_hasOwnProperty","assignKey","to","from","deepAssign","zh_CN","tel","save","confirm","cancel","delete","complete","loading","telEmpty","nameEmpty","nameInvalid","confirmDelete","telInvalid","vanCalendar","end","start","title","startEnd","weekdays","monthTitle","year","month","rangePrompt","maxRange","vanCascader","select","vanContactCard","addText","vanContactList","vanPagination","next","vanPullRefresh","pulling","loosing","vanSubmitBar","label","vanCoupon","unlimited","discount","_discount","condition","_condition","vanCouponCell","tips","count","_count","vanCouponList","empty","exchange","close","enable","disabled","placeholder","vanAddressEdit","area","postal","areaEmpty","addressEmpty","postalEmpty","defaultAddress","telPlaceholder","namePlaceholder","areaPlaceholder","vanAddressEditDetail","vanAddressList","add","defineReactive","util","messages","$vantMessages","$vantLang","use","lang","_this$add","gen","mods","isArray","ret","item","createBEM","el","createNamespace","SlotsMixin","methods","slots","props","$slots","$scopedSlots","scopedSlot","install","Vue","component","unifySlots","context","scopedSlots","data","transformFunctionComponent","pure","functional","model","render","createComponent","sfc","mixins","push","locale","createI18N","prefix","message","_len","args","_key","constructor","isBuffer","L","splice","tagName","getAttribute","parentNode","offsetWidth","u","trim","map","lastIndexOf","substr","parseInt","sort","k","createElement","type","visibility","innerHTML","body","appendChild","removeChild","v","iterator","TypeError","y","configurable","writable","getOwnPropertySymbols","propertyIsEnumerable","w","Boolean","Function","slice","RegExp","E","A","event","observer","j","bubbles","cancelable","detail","createEvent","initCustomEvent","CustomEvent","Event","z","devicePixelRatio","T","addEventListener","O","on","capture","passive","off","removeEventListener","I","Image","src","onload","naturalHeight","naturalWidth","onerror","x","getPropertyValue","HTMLElement","H","Q","error","bindType","$parent","options","elRenderer","attempt","rect","performanceData","init","loadStart","loadEnd","filter","initState","dataset","state","loaded","rendered","getBoundingClientRect","getRect","top","preLoad","bottom","preLoadTop","left","right","silent","console","warn","log","renderLoading","record","time","C","W","rootMargin","threshold","D","throttleWait","dispatchEvent","scale","listenEvents","hasbind","adapter","observerOptions","version","ListenerQueue","TargetIndex","TargetQueue","ListenEvents","supportWebp","_initEvent","lazyLoadHandler","_lazyLoadHandler","setMode","performance","_addListenerTarget","_observer","observe","$el","update","nextTick","_valueFormatter","modifiers","$refs","getElementById","arg","_elRenderer","unobserve","_removeListenerTarget","destroy","_initListen","_initIntersectionObserver","childrenCount","listened","listeners","$on","$once","$off","$emit","checkInView","load","IntersectionObserver","_observerHandler","isIntersecting","setAttribute","B","tag","default","show","mounted","addLazyBox","beforeDestroy","removeComponent","V","lazy","lazyContainerMananger","_queue","N","binding","vnode","clear","M","selector","getImgs","querySelectorAll","remove","$Lazyload","lazyComponent","directive","componentUpdated","unbind","vm","$els","oldValue","source","action_sheet","address_edit","address_list","es_area","badge","es_button","calendar","card","cascader","cell","cell_group","es_checkbox","checkbox_group","circle","col","collapse","collapse_item","contact_card","contact_edit","contact_list","count_down","es_coupon","coupon_cell","coupon_list","datetime_picker","dialog","divider","dropdown_item","dropdown_menu","es_field","es_form","goods_action","goods_action_button","goods_action_icon","grid","grid_item","es_icon","es_image","image_preview","index_anchor","index_bar","es_info","lazyload","es_list","es_loading","nav_bar","notice_bar","notify","number_keyboard","es_overlay","pagination","panel","password_input","es_picker","popover","popup","es_progress","pull_refresh","es_radio","radio_group","es_rate","row","search","share_sheet","sidebar","sidebar_item","skeleton","es_sku","slider","es_step","stepper","steps","es_sticky","submit_bar","swipe","swipe_cell","swipe_item","es_switch","switch_cell","tab","tabbar","tabbar_item","tabs","es_tag","es_toast","tree_select","uploader","helper","helper_default","inheritKey","mapInheritKey","nativeOn","inherit","inheritListeners","obj","functional_emit","eventName","listener","mount","Component","instance","$props","context_context","zIndex","lockCount","stack","find","overlay","index","supportsPassive","opts","event_on","handler","event_stopPropagation","stopPropagation","preventDefault","isStopPropagation","_createNamespace","overlay_bem","preventTouchMove","Overlay","ctx","customStyle","duration","animationDuration","className","lockScroll","removeNode","parent","defaultConfig","mountOverlay","click","closeOnClickOverlay","onClickOverlay","updateOverlay","config","insertBefore","openOverlay","closeOverlay","removeOverlay","isWindow","overflowScrollReg","getScroller","node","nodeType","_window$getComputedSt","overflowY","getScrollTop","scrollTop","pageYOffset","setScrollTop","scrollTo","scrollX","getRootScrollTop","setRootScrollTop","getElementTop","scroller","getVisibleHeight","height","getVisibleTop","getDirection","TouchMixin","direction","touchStart","resetTouchStatus","startX","touches","clientX","startY","clientY","touchMove","touch","deltaX","deltaY","offsetX","abs","offsetY","LOCK_DIRECTION_DISTANCE","bindTouchEvent","onTouchStart","onTouchMove","onTouchEnd","getElement","querySelector","PortalMixin","_temp","_ref","ref","afterPortal","getContainer","watch","portal","container","uid","BindEventMixin","activated","deactivated","CloseOnPopstateMixin","isBind","handlePopstate","closeOnPopstate","bindStatus","onPopstate","shouldReopen","action","popupMixinProps","transitionAppear","overlayStyle","overlayClass","lazyRender","PopupMixin","provide","vanPopup","onReopenCallback","inited","computed","shouldRender","skipToggleEvent","open","opened","removeLock","renderOverlay","addLock","callback","classList","scrollHeight","offsetHeight","status","_this","$nextTick","updateZIndex","onReopen","unit","info_createNamespace","info_createComponent","info_bem","info_Info","dot","info","showInfo","icon_createNamespace","icon_createComponent","icon_bem","isImage","LEGACY_MAP","medel","correctName","Icon","_props$badge","imageIcon","classPrefix","color","size","popup_createNamespace","popup_createComponent","popup_bem","round","closeable","transition","safeAreaInsetBottom","closeIcon","closeIconPosition","position","beforeCreate","createEmitter","onClick","onOpened","onClosed","onClickCloseIcon","_bem","isCenter","transitionName","loading_createNamespace","loading_createComponent","loading_bem","LoadingIcon","Spin","LoadingText","_props$textColor","textSize","textColor","Loading","iconSize","width","vertical","action_sheet_createNamespace","action_sheet_createComponent","action_sheet_bem","ActionSheet","cancelText","onCancel","Header","Option","onClickOption","closeOnClickAction","OptionContent","subname","CancelText","Description","description","actions","isMobile","DEFAULT_ITEM_HEIGHT","pickerProps","readonly","itemHeight","showToolbar","cancelButtonText","confirmButtonText","allowHtml","visibleItemCount","swipeDuration","RED","BORDER","BORDER_TOP","BORDER_LEFT","BORDER_BOTTOM","BORDER_SURROUND","BORDER_TOP_BOTTOM","BORDER_UNSET_TOP_BOTTOM","deepClone","range","min","trimExtraChar","_char","regExp","match","number_formatNumber","allowDot","allowMinus","addNumber","num1","num2","cardinal","pow","DEFAULT_DURATION","MOMENTUM_LIMIT_TIME","MOMENTUM_LIMIT_DISTANCE","PickerColumn_createNamespace","PickerColumn_createComponent","PickerColumn_bem","getElementTranslateY","element","transform","webkitTransform","translateY","isOptionDisabled","option","supportMousewheel","mousewheelTimer","PickerColumn","valueKey","defaultIndex","initialOptions","offset","currentIndex","created","children","setIndex","onMouseWheel","destroyed","baseOffset","setOptions","JSON","stringify","moving","wrapper","startOffset","transitionEndTrigger","touchStartTime","momentumOffset","distance","allowMomentum","momentum","getIndexByOffset","_this2","onTransitionEnd","stopMomentum","onClickItem","adjustIndex","_i","getOptionText","emitChange","_this3","trigger","setValue","getValue","speed","genOptions","_this4","$createElement","optionStyle","_domProps","text","attrs","role","tabindex","class","selected","childData","domProps","wrapperStyle","transitionDuration","transitionProperty","picker_createNamespace","picker_createComponent","picker_bem","columns","toolbarPosition","formattedColumns","itemPxHeight","dataType","firstColumn","values","immediate","format","formatCascade","formatted","cursor","_cursor$defaultIndex","_cursor","emit","getColumnValue","getColumnIndex","getValues","getIndexes","onCascadeChange","columnIndex","indexes","setColumnValues","onChange","getColumn","column","setColumnValue","setColumnIndex","optionIndex","getColumnValues","child","setValues","setIndexes","genTitle","titleSlot","genCancel","genConfirm","genToolbar","genColumns","wrapHeight","frameStyle","columnsStyle","maskStyle","backgroundSize","genColumnItems","_this5","_item$defaultIndex","area_createNamespace","area_createComponent","area_bem","PLACEHOLDER_CODE","isOverseaCode","code","pickSlots","areaList","columnsNum","columnsPlaceholder","province","province_list","city","city_list","county","county_list","displayColumns","placeholderMap","deep","getList","list","listCode","codeFill","unshift","getIndex","compareNum","parseOutputValues","parse","picker","parsedValues","onConfirm","getDefaultCode","countyCodes","cityCodes","getArea","country","names","validValues","reset","$listeners","change","isRedundantNavigation","err","route","router","url","promise","location","href","functionalRoute","$router","routeProps","cellProps","icon","center","isLink","required","iconPrefix","titleStyle","titleClass","valueClass","labelClass","arrowDirection","border","clickable","cell_createNamespace","cell_createComponent","cell_bem","Cell","_props$clickable","showTitle","Label","showLabel","Title","Value","showValue","alone","LeftIcon","RightIcon","rightIconSlot","classes","borderless","extra","isAndroid","navigator","userAgent","toLowerCase","isIOS","reset_scroll_isIOS","resetScroll","field_createNamespace","field_createComponent","field_bem","inheritAttrs","vanField","inject","vanForm","rules","autosize","leftIcon","rightIcon","clearable","formatter","maxlength","labelWidth","labelAlign","inputAlign","errorMessage","errorMessageAlign","showWordLimit","colon","clearTrigger","formatTrigger","focused","validateFailed","validateMessage","updateValue","resetValidation","validateWithTrigger","adjustSize","addField","removeField","showClear","getProp","hasValue","showError","blur","onBlur","focus","onFocus","input","onInput","onClickInput","keypress","onKeypress","labelStyle","formValue","runValidator","rule","Promise","resolve","returnVal","validator","isEmptyValue","runSyncRule","pattern","getRuleMessage","runRules","validate","defaultTrigger","validateTrigger","isNumber","composing","onClickLeftIcon","onClickRightIcon","onClear","ENTER_CODE","keyCode","submitOnEnter","_this$autosize","maxHeight","minHeight","genInput","inputSlot","inputProps","$attrs","directives","inputMode","inputType","genLeftIcon","showLeftIcon","genRightIcon","showRightIcon","genWordLimit","genMessage","showErrorMessage","genLabel","lockClick","lock","Toast_createNamespace","Toast_createComponent","Toast_bem","Toast","loadingType","forbidClick","closeOnClick","toggleClickable","onAfterEnter","onAfterLeave","genIcon","hasIcon","toast_defaultOptions","mask","onClose","defaultOptionsMap","queue","toast_multiple","currentOptions","parseOptions","isInDocument","contains","createInstance","toast","extend","transformOptions","toast_Toast","timer","$destroy","toast_createMethod","method","all","shift","setDefaultOptions","resetDefaultOptions","allowMultiple","$toast","button_createNamespace","button_createComponent","button_bem","Button","plain","hairline","loadingText","iconPosition","onTouchstart","background","borderColor","block","square","renderIcon","loadingSize","renderContent","content","nativeType","flattenVNodes","vnodes","traverse","componentInstance","$children","$vnode","sortChildren","componentOptions","ChildrenMixin","_parent","_inject","_computed","indexKey","disableBindRelation","bindRelation","ParentMixin","dialog_instance","goods_action_createNamespace","goods_action_createComponent","goods_action_bem","unfit","goods_action_button_createNamespace","goods_action_button_createComponent","goods_action_button_bem","isFirst","$options","isLast","first","last","Dialog_createNamespace","Dialog_createComponent","Dialog_bem","Dialog_t","Dialog","theme","beforeClose","messageAlign","cancelButtonColor","confirmButtonColor","showCancelButton","showConfirmButton","handleAction","_this2$$refs$dialog","onKeydown","onEventType","Enter","Escape","genRoundButtons","genButtons","multiple","genContent","hasTitle","messageSlot","isolated","dialog_isInDocument","dialog_initInstance","propsData","dialog_Dialog","reject","defaultOptions","alert","$dialog","Detail_createNamespace","Detail_createComponent","Detail_bem","Detail_t","android","Detail","detailRows","searchResult","detailMaxlength","showSearchResult","shouldShowSearchResult","onSelect","express","address","onFinish","field","genFinish","genSearchResult","switchProps","activeColor","inactiveColor","activeValue","inactiveValue","FieldMixin","switch_createNamespace","switch_createComponent","switch_bem","checked","backgroundColor","newValue","genLoading","address_edit_createNamespace","address_edit_createComponent","address_edit_bem","address_edit_t","defaultData","areaCode","postalCode","addressDetail","isDefault","isPostal","isSaving","isDeleting","showDelete","showPostal","telMaxlength","showSetDefault","saveButtonText","deleteButtonText","showArea","showDetail","disableArea","addressInfo","telValidator","postalValidator","areaColumnsPlaceholder","showAreaPopup","detailFocused","errorInfo","areaListLoaded","areaText","_this$data","arr","join","hideBottomFields","setAreaCode","onChangeDetail","onAreaConfirm","some","assignAreaValues","onSave","items","isValid","every","msg","getErrorMessage","onDelete","setAddressDetail","onDetailBlur","genSetDefaultCell","$$v","$set","radio_group_createNamespace","radio_group_createComponent","radio_group_bem","checkedColor","_value","tag_createNamespace","tag_createComponent","tag_bem","Tag","_style","mark","CloseIcon","checkbox_CheckboxMixin","bem","labelPosition","labelDisabled","shape","bindGroup","isDisabled","iconStyle","iconClicked","toggle","slot","Children","radio_createNamespace","radio_createComponent","radio_bem","currentValue","set","Item_createNamespace","Item_createComponent","Item_bem","AddressItem","switchable","genTag","defaultTagText","Info","Item","address_list_createNamespace","address_list_createComponent","address_list_bem","address_list_t","AddressList","genList","List","DisabledList","disabledList","disabledText","addButtonText","number","badge_createNamespace","badge_createComponent","badge_bem","hasContent","renderBadge","fixed","isDate","getTime","utils_createNamespace","utils_createComponent","utils_bem","utils_t","formatMonthTitle","date","getFullYear","getMonth","compareMonth","date1","date2","year1","year2","month1","month2","compareDay","day1","day2","compareMonthResult","getDate","getDayByOffset","setDate","getPrevDay","getNextDay","calcDateNum","copyDate","dates","copyDates","times","iteratee","getTrueValue","getMonthEndDay","Month_createNamespace","Month_createComponent","Month","minDate","maxDate","showMark","rowHeight","currentDate","allowSameDay","showSubtitle","showMonthTitle","firstDayOfWeek","visible","rowHeightWithUnit","realDay","getDay","totalDay","placeholders","rows","ceil","day","days","getDayType","bottomInfo","getBottomInfo","getHeight","_this$$el","scrollIntoView","_this$$refs","getMultipleDayType","isSelected","prevDay","nextDay","prevSelected","nextSelected","getRangeDayType","_this$currentDate","startDay","endDay","compareToStart","compareToEnd","getDayStyle","marginLeft","genMark","genDays","genDay","genTopInfo","topInfo","genBottomInfo","Header_createNamespace","Header_createComponent","components_Header","subtitle","genSubtitle","genWeekDays","renderWeekDays","confirmText","defaultDate","confirmDisabledText","poppable","showConfirm","getInitialDate","months","setMonth","buttonDisabled","dayOffset","_this$vanPopup","onScroll","bodyHeight","floor","scrollToDate","targetDate","displayed","_this2$$refs","defaultVal","heights","heightSum","currentMonth","visibleRange","showed","onClickDay","selectedIndex","dateItem","equal","_currentDate$splice","unselectedDate","togglePopup","valid","checkRange","genMonth","genFooterContent","genFooter","genCalendar","_attrs","createListener","image_createNamespace","image_createComponent","image_bem","fit","alt","radius","lazyLoad","showLoading","errorIcon","loadingIcon","overflow","borderRadius","onLazyLoaded","onLazyLoadError","onLoad","image","_ref2","onError","genPlaceholder","genImage","imgData","objectFit","card_createNamespace","card_createComponent","card_bem","Card","_slots$priceTop","thumb","showNum","showPrice","price","showOriginPrice","originPrice","showBottom","onThumbClick","ThumbTag","Thumb","thumbLink","Desc","desc","PriceContent","priceArr","currency","Price","OriginPrice","Num","Footer","footer","centered","tags","tab_createNamespace","tab_createComponent","tab_bem","computedName","_this$name","isActive","active","currentName","setLine","slotContent","animated","scrollspy","Content","inactive","scrollLeftTo","scrollLeft","frames","animate","scrollTopTo","current","isDown","step","isHidden","hidden","display","parentHidden","offsetParent","callInterceptor","interceptor","done","Title_createNamespace","Title_createComponent","Title_bem","tabs_Title","scrollable","isCard","titleColor","genText","Text","ellipsis","sticky_createNamespace","sticky_createComponent","sticky_bem","offsetTop","offsetTopPx","isFixed","entries","intersectionRatio","topToPageTop","emitScrollEvent","bottomToPageTop","distanceToBottom","Content_createNamespace","Content_createComponent","Content_bem","MIN_SWIPE_DISTANCE","tabs_Content","swipeable","touchstart","touchmove","touchend","touchcancel","genChildren","tabs_createNamespace","tabs_createComponent","tabs_bem","resize","prop","sticky","lineWidth","lineHeight","beforeChange","titleActiveColor","titleInactiveColor","swipeThreshold","lineStyle","navStyle","activeTab","scrollOffset","tabHeight","setCurrentIndexByName","stickyFixed","wrap","shouldAnimate","titles","offsetLeft","matched","setCurrentIndex","newIndex","findAvailableTab","newTab","newName","shouldEmitChange","diff","_this$children$index","scrollToCurrentContent","nav","onSticktScroll","params","_this6","_this7","getCurrentIndexOnScroll","_this8","Nav","_item$badge","Wrap","cascader_createNamespace","cascader_createComponent","cascader_bem","cascader_t","fieldNames","showHeader","textKey","_this$fieldNames","_this$fieldNames2","childrenKey","_this$fieldNames3","_tab$selectedOption","selectedOption","updateTabs","getSelectedOptionsByValue","selectedOptions","optionsCursor","tabIndex","nextTab","eventParams","renderHeader","renderOptions","renderOption","renderTab","unselected","renderTabs","cell_group_createNamespace","cell_group_createComponent","cell_group_bem","CellGroup","Group","inset","checkbox_createNamespace","checkbox_createComponent","checkbox_bem","setParentValue","toggleTask","checkbox_group_createNamespace","checkbox_group_createComponent","checkbox_group_bem","toggleAll","_options","skipDisabled","circle_createNamespace","circle_createComponent","circle_bem","PERIMETER","circle_uid","circle_format","rate","getPath","clockwise","viewBoxSize","sweepFlag","layerColor","strokeLinecap","fill","strokeWidth","layerStyle","stroke","hoverStyle","gradient","strokeDasharray","LinearGradient","Stops","startTime","startRate","endRate","increase","rafId","progress","toFixed","col_createNamespace","col_createComponent","col_bem","span","spaces","_spaces$index","paddingLeft","paddingRight","collapse_createNamespace","collapse_createComponent","collapse_bem","accordion","switch","expanded","activeName","collapse_item_createNamespace","collapse_item_createComponent","collapse_item_bem","CELL_SLOTS","_this$parent","_expanded","contentHeight","titleSlots","contact_card_createNamespace","contact_card_createComponent","contact_card_bem","contact_card_t","ContactCard","editable","contact_edit_createNamespace","contact_edit_createComponent","contact_edit_bem","contact_edit_t","defaultContact","isEdit","setDefaultLabel","contactInfo","getErrorMessageByKey","contact_list_createNamespace","contact_list_createComponent","contact_list_bem","contact_list_t","ContactList","nodes","SECOND","MINUTE","HOUR","DAY","parseTimeData","hours","minutes","seconds","milliseconds","parseFormat","timeData","charAt","isSameSecond","time1","time2","count_down_createNamespace","count_down_createComponent","count_down_bem","millisecond","autoStart","remain","formattedTime","keepAlivePaused","counting","tick","pause","endTime","microTick","macroTick","setRemain","getRemain","coupon_createNamespace","coupon_createComponent","coupon_bem","coupon_t","formatTimeStamp","timeStamp","formatDiscount","formatAmount","amount","coupon","chosen","validPeriod","_this$coupon","startAt","endAt","customValidPeriod","faceAmount","valueDesc","unitDesc","denominations","conditionMessage","originCondition","reason","coupon_cell_createNamespace","coupon_cell_createComponent","coupon_cell_bem","coupon_cell_t","coupon_cell_formatValue","coupons","chosenCoupon","CouponCell","coupon_list_createNamespace","coupon_list_createComponent","coupon_list_bem","coupon_list_t","EMPTY_IMAGE","closeButtonText","inputPlaceholder","enabledTitle","disabledTitle","exchangeButtonText","exchangeButtonLoading","exchangeButtonDisabled","exchangeMinLength","disabledCoupons","displayedCouponIndex","showExchangeBar","showCloseButton","showCount","emptyImage","winHeight","currentCode","listStyle","_code","scrollToShowCoupon","onClickExchangeButton","genEmpty","genExchangeButton","disabledCount","ExchangeBar","CouponTab","DisabledCouponTab","sharedProps","columnsOrder","TimePickerMixin","innerValue","formatValue","originColumns","ranges","rangeArr","oldVal","updateColumnValue","updateInnerValue","getPicker","getProxiedPicker","proxy","TimePicker_createNamespace","TimePicker_createComponent","TimePicker","minHour","maxHour","minMinute","maxMinute","_this$innerValue$spli","hour","minute","_this$innerValue$spli2","_value$split","_this$getPicker$getIn","hourIndex","minuteIndex","_this$originColumns","hourColumn","minuteColumn","pair","_setPrototypeOf","setPrototypeOf","__proto__","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","construct_construct","Parent","Class","Constructor","currentYear","DatePicker_createNamespace","DatePicker_createComponent","DatePicker","valueOf","_this$getBoundary","getBoundary","maxYear","maxMonth","_this$getBoundary2","minYear","minMonth","dateMethods","dateColumns","minDateVal","maxDateVal","_dateColumns$filter$","boundary","getHours","getMinutes","maxDay","datetime_picker_createNamespace","datetime_picker_createComponent","datetime_picker_bem","divider_createNamespace","divider_createComponent","divider_bem","Divider","dashed","contentPosition","dropdown_item_createNamespace","dropdown_item_createComponent","dropdown_item_bem","showPopup","showWrapper","displayTitle","bindScroll","onOpen","updateOffset","onClickWrapper","Options","click_outside_ClickOutsideMixin","closeOnClickOutside","clickOutsideHandler","dropdown_menu_createNamespace","dropdown_menu_createComponent","dropdown_menu_bem","barStyle","bar","toggleItem","onClickOutside","Titles","down","Network","genStop","opacity","empty_createNamespace","empty_createComponent","empty_bem","PRESETS","imageSize","genImageContent","imageStyle","genDescription","genBottom","form_createNamespace","form_createComponent","form_bem","scrollToError","validateFirst","fields","getFieldsByNames","validateSeq","errors","validateFields","validateField","scrollToField","form","onSubmit","submit","goods_action_icon_createNamespace","goods_action_icon_createComponent","goods_action_icon_bem","iconClass","_this$badge","grid_createNamespace","grid_createComponent","grid_bem","gutter","columnNum","grid_item_createNamespace","grid_item_createComponent","grid_item_bem","percent","flexBasis","paddingTop","gutterValue","marginTop","contentStyle","_this$parent2","iconSlot","getText","textSlot","_this$parent3","surround","shared_createNamespace","shared_createComponent","shared_bem","swipe_createNamespace","swipe_createComponent","swipe_bem","onVisibilityChange","initialize","autoplay","indicatorColor","loop","touchable","initialSwipe","showIndicators","swiping","computedWidth","computedHeight","_autoplay","autoPlay","maxCount","minOffset","delta","trackSize","activeIndicator","isCorrectDirection","expect","trackStyle","mainAxis","crossAxis","indicatorStyle","track","getTargetOffset","correctPosition","move","shouldSwipe","pace","getTargetActive","targetActive","currentPosition","targetOffset","_ref$pace","_ref$offset","outRightBound","outLeftBound","swipeTo","targetIndex","genIndicator","swipe_item_createNamespace","swipe_item_createComponent","swipe_item_bem","maxActive","prevActive","nextActive","getDistance","sqrt","image_preview_instance","ImagePreviewItem","minZoom","maxZoom","rootWidth","rootHeight","moveX","moveY","zooming","imageRatio","displayWidth","displayHeight","rootRatio","maxMoveX","maxMoveY","resetScale","setScale","toggleScale","_this$offsetX","fingerNum","startMoveX","startMoveY","startScale","startDistance","checkTap","_this$offsetX2","_this$offsetY","deltaTime","TAP_TIME","TAP_OFFSET","doubleTapTimer","_event$target","imageSlots","image_preview_ImagePreview","asyncClose","images","showIndex","startPosition","doubleClickTimer","setActive","emitClose","emitScale","genIndex","genCover","cover","genImages","genClose","image_preview_defaultConfig","image_preview_initInstance","onScale","es_image_preview_ImagePreview","index_anchor_createNamespace","index_anchor_createComponent","index_anchor_bem","anchorStyle","highlightColor","scrollerRect","elRect","genAlphabet","indexList","charCodeOfA","charCodeAt","fromCharCode","index_bar_createNamespace","index_bar_createComponent","index_bar_bem","stickyOffsetTop","activeAnchorIndex","sidebarStyle","highlightStyle","getScrollerRect","rects","getActiveAnchorIndex","activeItemTop","prevHeight","reachTop","scrollToElement","_event$touches$","elementFromPoint","touchActiveIndex","Indexes","vue_lazyload","vue_lazyload_default","list_createNamespace","list_createComponent","list_bem","list_t","check","finished","errorText","finishedText","immediateCheck","innerLoading","updated","scrollerHeight","isReachEdge","placeholderRect","clickErrorText","genFinishedText","genErrorText","Placeholder","nav_bar_createNamespace","nav_bar_createComponent","nav_bar_bem","leftText","rightText","leftArrow","safeAreaInsetTop","setHeight","navBar","genLeft","leftSlot","genRight","rightSlot","genNavBar","hasLeft","onClickLeft","hasRight","onClickRight","notice_bar_createNamespace","notice_bar_createComponent","notice_bar_bem","wrapable","delay","wrapWidth","contentWidth","onClickIcon","startTimer","iconName","Notify_createNamespace","Notify_createComponent","Notify_bem","Notify","notify_instance","notify_Notify","notify_parseOptions","es_notify_Notify","notify_defaultOptions","$notify","number_keyboard_DeleteIcon","CollapseIcon","Key_createNamespace","Key_createComponent","Key_bem","Key","wider","large","isExtra","isDelete","number_keyboard_createNamespace","number_keyboard_createComponent","number_keyboard_bem","hideOnClickOutside","randomKeyOrder","closeButtonLoading","extraKey","MAX_VALUE","showDeleteKey","genCustomKeys","genDefaultKeys","genBasicKeys","random","extraKeys","onAnimationEnd","onPress","titleLeft","showClose","genKeys","genSidebar","pagination_createNamespace","pagination_createComponent","pagination_bem","pagination_t","makePage","prevText","nextText","forceEllipses","pageCount","totalItems","itemsPerPage","showPageSize","pages","startPage","endPage","isMaxSized","page","previousPageSet","nextPageSet","_this$slots","_this$slots3","simple","_this$slots2","panel_createNamespace","panel_createComponent","panel_bem","Panel","header","password_input_createNamespace","password_input_createComponent","password_input_bem","PasswordInput","Points","showBorder","showCursor","getWindow","ownerDocument","defaultView","getWindowScroll","win","pageXOffset","isElement","OwnElement","Element","isHTMLElement","isShadowRoot","ShadowRoot","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","getDocumentElement","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflowX","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","scroll","offsets","clientLeft","clientTop","getLayoutRect","clientRect","getParentNode","assignedSlot","host","getScrollParent","listScrollParents","_element$ownerDocumen","scrollParent","isBody","visualViewport","updatedList","isTableElement","getTrueOffsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","css","perspective","contain","willChange","getOffsetParent","esm_top","esm_bottom","esm_left","auto","basePlacements","placements","acc","placement","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","Map","visited","Set","modifier","requires","requiresIfExists","dep","has","depModifier","orderModifiers","orderedModifiers","phase","debounce","pending","getBasePlacement","mergeByName","merged","existing","esm_round","getVariation","getMainAxisFromPlacement","computeOffsets","reference","basePlacement","variation","commonX","commonY","len","DEFAULT_OPTIONS","strategy","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","popper","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","cleanupModifierEffects","scrollParents","contextElement","enabled","runModifierEffects","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","_ref3","_ref3$options","effect","cleanupFn","noopFn","onFirstUpdate","esm_passive","_options$scroll","_options$resize","eventListeners","popperOffsets","popperOffsets$1","unsetSides","roundOffsetsByDPR","dpr","mapToStyles","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","_ref3$x","_ref3$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","computeStyles","_ref4","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","arrow","computeStyles$1","applyStyles","removeAttribute","effect$1","initialStyles","margin","styleProperties","attribute","applyStyles$1","esm_defaultModifiers","esm_createPopper","distanceAndSkiddingToXY","invertDistance","skidding","esm_offset","_options$offset","_data$state$placement","offset$1","popover_createNamespace","popover_createComponent","popover_bem","updateLocation","createPopper","renderAction","onClickAction","onToggle","progress_createNamespace","progress_createComponent","progress_bem","pivotText","pivotColor","trackColor","percentage","showPivot","pivotWidth","progressWidth","pivot","pivotStyle","portionStyle","pull_refresh_createNamespace","pull_refresh_createComponent","pull_refresh_bem","pull_refresh_t","DEFAULT_HEAD_HEIGHT","TEXT_STATUS","successText","pullingText","loosingText","pullDistance","successDuration","headHeight","headStyle","setStatus","showSuccessTip","scrollEl","checkPullStart","ceiling","ease","isLoading","genStatus","rate_createNamespace","rate_createComponent","rate_bem","getRateStatus","allowHalf","voidColor","disabledColor","voidIcon","sizeWithUnit","gutterWithUnit","score","getScoreByPosition","genStar","isFull","isVoid","full","row_createNamespace","row_createComponent","row_bem","align","justify","groups","totalSpan","group","averagePadding","flex","search_createNamespace","search_createComponent","search_bem","search_t","Search","Action","showAction","actionText","fieldData","inheritData","PRESET_ICONS","share_sheet_createNamespace","share_sheet_createComponent","share_sheet_bem","share_sheet_t","getIconURL","genHeader","genRows","genCancelText","_this$cancelText","sidebar_createNamespace","sidebar_createComponent","sidebar_bem","activeKey","sidebar_item_createNamespace","sidebar_item_createComponent","sidebar_item_bem","skeleton_createNamespace","skeleton_createComponent","skeleton_bem","DEFAULT_ROW_WIDTH","DEFAULT_LAST_ROW_WIDTH","Skeleton","titleWidth","Rows","rowWidth","getRowWidth","Avatar","avatar","avatarSize","avatarShape","vanSku","selectSku","soldout","minusTip","minusStartTip","unavailable","stock","stockUnit","quotaTip","quota","quotaUsedTip","vanSkuActions","buy","addCart","vanSkuImgUploader","oversize","maxSize","fail","uploading","vanSkuStepper","quotaLimit","quotaStart","comma","vanSkuMessages","upload","imageLabel","invalid","mobile","email","id_no","textarea","vanSkuRow","vanSkuDatetimeField","datetime","LIMIT_TYPE","QUOTA_LIMIT","STOCK_LIMIT","UNSELECTED_SKU_VALUE_ID","constants","normalizeSkuTree","skuTree","normalizedTree","treeItem","k_s","normalizePropList","propList","normalizedProp","itemObj","it","k_id","sku_helper_isAllSelected","selectedSku","skuKeyStr","getSkuComb","skuList","skuComb","sku_helper_getSelectedSkuValues","selectedValues","skuValues","skuValueId","skuValue","sku_helper_isSkuChoosable","skuToChoose","_extends2","valueId","matchedSku","skusToCheck","skuKey","filteredSku","sku","total","stock_num","sku_helper_getSelectedPropValues","selectedProp","normalizeProp","cur","sku_helper_getSelectedProperties","sku_helper","getSelectedSkuValues","isAllSelected","isSkuChoosable","getSelectedPropValues","getSelectedProperties","SkuHeader_createNamespace","SkuHeader_createComponent","SkuHeader_bem","getSkuImgValue","imgValue","tree","img","previewImgUrl","imgUrl","img_url","ks","SkuHeader","_slots$skuHeaderIma","goods","skuEventBus","_props$showHeaderImag","showHeaderImage","selectedValue","picture","previewImage","components_SkuHeader","SkuHeaderItem_createNamespace","SkuHeaderItem_createComponent","SkuHeaderItem_bem","SkuHeaderItem_SkuHeader","SkuHeaderItem","SkuRow_createNamespace","SkuRow_createComponent","SkuRow_bem","SkuRow_t","SkuRow","skuRow","largeImageMode","is_multiple","centerItem","selectSkuId","_this$children","_this$$refs2","SkuRowItem_createNamespace","SkuRowItem_createComponent","SkuRowItem","disableSoldoutSku","choosable","onPreviewImg","choosed","SkuRowPropItem_createNamespace","SkuRowPropItem_createComponent","SkuRowPropItem","stepper_createNamespace","stepper_createComponent","stepper_bem","LONG_PRESS_START_TIME","LONG_PRESS_INTERVAL","stepper_equal","value1","value2","integer","allowEmpty","inputWidth","buttonSize","asyncChange","disablePlus","disableMinus","disableInput","decimalLength","Infinity","defaultValue","showPlus","showMinus","showInput","longPress","_this$value","minusDisabled","plusDisabled","inputStyle","buttonStyle","formatNumber","longPressStep","longPressTimer","isLongPress","onMousedown","createListeners","namespace","SkuStepper_createComponent","SkuStepper_t","SkuStepper","skuStockNum","selectedNum","stepperTitle","disableStepperInput","customStepperConfig","hideQuotaText","quotaUsed","startSaleNum","currentNum","limitType","intValue","stepperMinLimit","stepperLimit","limit","checkState","quotaText","_this$customStepperCo","textArr","setCurrentNum","onOverLimit","handleStepperChange","isEmail","reg","toArray","utils_readFile","file","resultType","reader","FileReader","readAsDataURL","readAsText","isOversize","files","IMAGE_REGEXP","isImageUrl","isImageFile","uploader_createNamespace","uploader_createComponent","uploader_bem","uploadText","beforeDelete","previewSize","previewOptions","accept","fileList","deletable","showUpload","previewFullImage","imageFit","uploadIcon","previewSizeWithUnit","urls","URL","revokeObjectURL","getDetail","response","resetInput","readFile","contents","onAfterRead","validFiles","oversizeFiles","isValidFiles","_file$beforeDelete","deleteFile","onClickUpload","onPreviewImage","imageFiles","imageContents","createObjectURL","imagePreview","closeImagePreview","chooseFile","genPreviewMask","MaskIcon","showMessage","genPreviewItem","_item$deletable","_item$previewSize","_item$imageFit","deleteAble","DeleteIcon","PreviewCoverContent","PreviewCover","Preview","genPreviewList","genUpload","Input","SkuImgUploader_namespace","SkuImgUploader_createComponent","SkuImgUploader_t","SkuImgUploader","uploadImg","customUpload","afterReadFile","onOversize","stringToDate","timeString","dateToString","SkuDateTimeField_namespace","SkuDateTimeField_createComponent","SkuDateTimeField_t","SkuDateTimeField","showDatePicker","word","SkuMessages_createNamespace","SkuMessages_createComponent","SkuMessages_bem","SkuMessages_t","SkuMessages","messageConfig","goodsId","messageValues","resetMessageValues","_messageConfig$initia","initialMessages","getType","getMessages","getCartMessages","getPlaceholder","validateMessages","textType","getFormatter","getExtraDesc","extraDesc","uploadMaxSize","isDateOrTime","SkuActions_createNamespace","SkuActions_createComponent","SkuActions_bem","SkuActions_t","SkuActions","showAddCartBtn","addCartText","buyText","components_SkuActions","Sku_namespace","Sku_createComponent","Sku_bem","Sku_t","Sku_QUOTA_LIMIT","Sku","priceTag","hideStock","properties","hideSelectedText","resetStepperOnHide","customSkuValidator","resetSelectedSkuOnHide","initialSku","stockThreshold","showSoldoutSku","previewOnClickImage","bodyOffsetTop","selectedSkuValues","selectedSkuComb","resetStepper","resetSelectedSku","skuGroupClass","bodyStyle","isSkuCombSelected","hasSku","is_necessary","isSkuEmpty","none_sku","hasSkuOrAttr","collection_id","property_price","selectedPropValues","origin_price","imageList","vItem","stockNum","stockText","stockFormatter","highlight","selectedText","unselectedSku","unselectedProp","onPropSelect","onNumChange","onStepperState","onAddCart","onBuy","skuStepper","stepperError","_this$initialSku$sele","_item$v","isHasConfigPrice","firstEnableProp","text_status","propValues","propValue","centerInitialSku","getSkuMessages","skuMessages","getSkuCartMessages","validateSkuMessages","validateSku","_extends3","_extends4","pos","indexImage","handleOverLimit","onBuyOrAddCart","getSkuData","cartMessages","skuRows","slotsProps","skuTreeItem","Stepper","Messages","Actions","skuHelper","skuConstants","slider_createNamespace","slider_createComponent","slider_bem","isSameValue","barHeight","dragStatus","scope","wrapper0","wrapper1","startValue","middle","handleOverlap","reverse","_wrapperStyle","_barStyle","calcMainAxis","calcOffset","renderButton","getClassName","getRefName","renderButtonContent","step_createNamespace","step_createComponent","step_bem","circleContainerStyle","genCircle","activeIcon","finishIcon","inactiveIcon","finishIconSlot","inactiveIconSlot","onClickStep","steps_createNamespace","steps_createComponent","steps_bem","submit_bar_createNamespace","submit_bar_createComponent","submit_bar_bem","submit_bar_t","SubmitBar","tip","tipIcon","decimalStr","textAlign","suffixLabel","Tip","button","buttonType","buttonText","buttonColor","swipe_cell_createNamespace","swipe_cell_createComponent","swipe_cell_bem","THRESHOLD","leftWidth","rightWidth","dragging","computedLeftWidth","getWidthByRef","computedRightWidth","isPrevent","getClickHandler","stop","genLeftPart","genRightPart","switch_cell_createNamespace","switch_cell_createComponent","switch_cell_bem","SwitchCell","cellSize","tabbar_createNamespace","tabbar_createComponent","tabbar_bem","setActiveItem","nameMatched","triggerChange","afterChange","genTabbar","tabbar_item_createNamespace","tabbar_item_createComponent","tabbar_item_bem","routeMode","$route","pathMatched","tree_select_createNamespace","tree_select_createComponent","tree_select_bem","TreeSelect","activeId","selectedIcon","mainActiveIndex","selectedItem","subItems","isMultiple","isActiveItem","Navs","newActiveId","components"],"mappings":"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","file":"js/chunk-ba45d37c.1.2.2.1743557803536.js","sourcesContent":["'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar anObject = require('../internals/an-object');\nvar toString = require('../internals/to-string');\n\nvar DELEGATES_TO_EXEC = function () {\n var execCalled = false;\n var re = /[ac]/;\n re.exec = function () {\n execCalled = true;\n return /./.exec.apply(this, arguments);\n };\n return re.test('abc') === true && execCalled;\n}();\n\nvar nativeTest = /./.test;\n\n// `RegExp.prototype.test` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.test\n$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {\n test: function (S) {\n var R = anObject(this);\n var string = toString(S);\n var exec = R.exec;\n if (!isCallable(exec)) return call(nativeTest, R, string);\n var result = call(exec, R, string);\n if (result === null) return false;\n anObject(result);\n return true;\n }\n});\n","require('../../style/base.css');\nrequire('../../overlay/index.css');\nrequire('../../info/index.css');\nrequire('../../icon/index.css');\nrequire('../../popup/index.css');\nrequire('../../loading/index.css');\nrequire('../index.css');","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"vant\", [\"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vant\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vant\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__3__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return inBrowser; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return isServer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return noop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return isDef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return isFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return isObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return isPromise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return get; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return isEmpty; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\n\n\nvar inBrowser = typeof window !== 'undefined';\nvar isServer = vue__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nfunction noop() {}\nfunction isDef(val) {\n return val !== undefined && val !== null;\n}\nfunction isFunction(val) {\n return typeof val === 'function';\n}\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\nfunction isPromise(val) {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n}\nfunction 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\nfunction 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\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _extends() {\n return _extends = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nmodule.exports = mergeJsxProps;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return camelize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return padZero; });\nvar camelizeRE = /-(\\w)/g;\nfunction camelize(str) {\n return str.replace(camelizeRE, function (_, c) {\n return c.toUpperCase();\n });\n}\nfunction 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}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__3__;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return raf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return doubleRaf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return cancelRaf; });\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);\n/**\n * requestAnimationFrame polyfill\n */\n\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 = ___WEBPACK_IMPORTED_MODULE_0__[/* isServer */ \"h\"] ? global : window;\n/* istanbul ignore next */\n\nvar iRaf = root.requestAnimationFrame || fallback;\n/* istanbul ignore next */\n\nvar iCancel = root.cancelAnimationFrame || root.clearTimeout;\nfunction raf(fn) {\n return iRaf.call(root, fn);\n} // double raf for animation\n\nfunction doubleRaf(fn) {\n raf(function () {\n raf(fn);\n });\n}\nfunction cancelRaf(id) {\n iCancel.call(root, id);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(10)))\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return isNumeric; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return isNaN; });\nfunction isNumeric(val) {\n return /^\\d+(\\.\\d+)?$/.test(val);\n}\nfunction 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}\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return addUnit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return unitToPx; });\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);\n/* harmony import */ var _validate_number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);\n\n\nfunction addUnit(value) {\n if (!Object(___WEBPACK_IMPORTED_MODULE_0__[/* isDef */ \"c\"])(value)) {\n return undefined;\n }\n\n value = String(value);\n return Object(_validate_number__WEBPACK_IMPORTED_MODULE_1__[/* isNumeric */ \"b\"])(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\nfunction unitToPx(value) {\n if (typeof value === 'number') {\n return value;\n }\n\n if (___WEBPACK_IMPORTED_MODULE_0__[/* inBrowser */ \"b\"]) {\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}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXTERNAL MODULE: external {\"root\":\"Vue\",\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"amd\":\"vue\"}\nvar external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(3);\nvar external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default = /*#__PURE__*/__webpack_require__.n(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_);\n\n// EXTERNAL MODULE: ./es/utils/index.js\nvar utils = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./es/utils/deep-assign.js\n\nvar deep_assign_hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction assignKey(to, from, key) {\n var val = from[key];\n\n if (!Object(utils[\"c\" /* isDef */])(val)) {\n return;\n }\n\n if (!deep_assign_hasOwnProperty.call(to, key) || !Object(utils[\"f\" /* 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\nfunction deepAssign(to, from) {\n Object.keys(from).forEach(function (key) {\n assignKey(to, from, key);\n });\n return to;\n}\n// CONCATENATED MODULE: ./es/locale/lang/zh-CN.js\n/* harmony default export */ var zh_CN = ({\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});\n// CONCATENATED MODULE: ./es/locale/index.js\n\n\n\nvar proto = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.prototype;\nvar defineReactive = external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.util.defineReactive;\ndefineReactive(proto, '$vantLang', 'zh-CN');\ndefineReactive(proto, '$vantMessages', {\n 'zh-CN': zh_CN\n});\n/* harmony default export */ var locale = __webpack_exports__[\"a\"] = ({\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\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"a\", function() { return /* binding */ createNamespace; });\n\n// CONCATENATED MODULE: ./es/utils/create/bem.js\n/**\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\nfunction 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// EXTERNAL MODULE: ./es/utils/index.js\nvar utils = __webpack_require__(0);\n\n// EXTERNAL MODULE: ./es/utils/format/string.js\nvar string = __webpack_require__(2);\n\n// CONCATENATED MODULE: ./es/mixins/slots.js\n/**\n * Use scopedSlots in Vue 2.6+\n * downgrade to slots in lower version\n */\nvar 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// EXTERNAL MODULE: external {\"root\":\"Vue\",\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"amd\":\"vue\"}\nvar external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./es/utils/create/component.js\n/**\n * Create a basic component with common options\n */\n\n\n\n\n\n\nfunction install(Vue) {\n var name = this.name;\n Vue.component(name, this);\n Vue.component(Object(string[\"a\" /* camelize */])(\"-\" + name), this);\n} // unify slots & scopedSlots\n\n\nfunction 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\nfunction createComponent(name) {\n return function (sfc) {\n if (Object(utils[\"e\" /* 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}\n// EXTERNAL MODULE: ./es/locale/index.js + 2 modules\nvar locale = __webpack_require__(7);\n\n// CONCATENATED MODULE: ./es/utils/create/i18n.js\n\n\n\nfunction createI18N(name) {\n var prefix = Object(string[\"a\" /* camelize */])(name) + '.';\n return function (path) {\n var messages = locale[\"a\" /* default */].messages();\n var message = Object(utils[\"a\" /* get */])(messages, prefix + path) || Object(utils[\"a\" /* 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 Object(utils[\"e\" /* isFunction */])(message) ? message.apply(void 0, args) : message;\n };\n}\n// CONCATENATED MODULE: ./es/utils/create/index.js\n\n\n\nfunction createNamespace(name) {\n name = 'van-' + name;\n return [createComponent(name), createBEM(name), createI18N(name)];\n}\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*!\n * Vue-Lazyload.js v1.2.3\n * (c) 2018 Awe \n * Released under the MIT License.\n */\n!function (e, t) {\n true ? module.exports = t() : undefined;\n}(this, function () {\n \"use strict\";\n\n function e(e) {\n return e.constructor && \"function\" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e);\n }\n\n function t(e) {\n e = e || {};\n var t = arguments.length,\n i = 0;\n if (1 === t) return e;\n\n for (; ++i < t;) {\n var o = arguments[i];\n g(e) && (e = o), r(o) && n(e, o);\n }\n\n return e;\n }\n\n function n(e, n) {\n m(e, n);\n\n for (var o in n) {\n if (\"__proto__\" !== o && i(n, o)) {\n var a = n[o];\n r(a) ? (\"undefined\" === L(e[o]) && \"function\" === L(a) && (e[o] = a), e[o] = t(e[o] || {}, a)) : e[o] = a;\n }\n }\n\n return e;\n }\n\n function r(e) {\n return \"object\" === L(e) || \"function\" === L(e);\n }\n\n function i(e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }\n\n function o(e, t) {\n if (e.length) {\n var n = e.indexOf(t);\n return n > -1 ? e.splice(n, 1) : void 0;\n }\n }\n\n function a(e, t) {\n for (var n = !1, r = 0, i = e.length; r < i; r++) {\n if (t(e[r])) {\n n = !0;\n break;\n }\n }\n\n return n;\n }\n\n function s(e, t) {\n if (\"IMG\" === e.tagName && e.getAttribute(\"data-srcset\")) {\n var n = e.getAttribute(\"data-srcset\"),\n r = [],\n i = e.parentNode,\n o = i.offsetWidth * t,\n a = void 0,\n s = void 0,\n u = void 0;\n n = n.trim().split(\",\"), n.map(function (e) {\n e = e.trim(), a = e.lastIndexOf(\" \"), -1 === a ? (s = e, u = 999998) : (s = e.substr(0, a), u = parseInt(e.substr(a + 1, e.length - a - 2), 10)), r.push([u, s]);\n }), r.sort(function (e, t) {\n if (e[0] < t[0]) return -1;\n if (e[0] > t[0]) return 1;\n\n if (e[0] === t[0]) {\n if (-1 !== t[1].indexOf(\".webp\", t[1].length - 5)) return 1;\n if (-1 !== e[1].indexOf(\".webp\", e[1].length - 5)) return -1;\n }\n\n return 0;\n });\n\n for (var l = \"\", d = void 0, c = r.length, h = 0; h < c; h++) {\n if (d = r[h], d[0] >= o) {\n l = d[1];\n break;\n }\n }\n\n return l;\n }\n }\n\n function u(e, t) {\n for (var n = void 0, r = 0, i = e.length; r < i; r++) {\n if (t(e[r])) {\n n = e[r];\n break;\n }\n }\n\n return n;\n }\n\n function l() {\n if (!k) return !1;\n var e = !0,\n t = document;\n\n try {\n var n = t.createElement(\"object\");\n n.type = \"image/webp\", n.style.visibility = \"hidden\", n.innerHTML = \"!\", t.body.appendChild(n), e = !n.offsetWidth, t.body.removeChild(n);\n } catch (t) {\n e = !1;\n }\n\n return e;\n }\n\n function d(e, t) {\n var n = null,\n r = 0;\n return function () {\n if (!n) {\n var i = Date.now() - r,\n o = this,\n a = arguments,\n s = function s() {\n r = Date.now(), n = !1, e.apply(o, a);\n };\n\n i >= t ? s() : n = setTimeout(s, t);\n }\n };\n }\n\n function c(e) {\n return null !== e && \"object\" === (void 0 === e ? \"undefined\" : p(e));\n }\n\n function h(e) {\n if (!(e instanceof Object)) return [];\n if (Object.keys) return Object.keys(e);\n var t = [];\n\n for (var n in e) {\n e.hasOwnProperty(n) && t.push(n);\n }\n\n return t;\n }\n\n function f(e) {\n for (var t = e.length, n = [], r = 0; r < t; r++) {\n n.push(e[r]);\n }\n\n return n;\n }\n\n function v() {}\n\n var p = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n },\n b = function b(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n },\n y = function () {\n function e(e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n }\n\n return function (t, n, r) {\n return n && e(t.prototype, n), r && e(t, r), t;\n };\n }(),\n g = function g(e) {\n return null == e || \"function\" != typeof e && \"object\" !== (void 0 === e ? \"undefined\" : p(e));\n },\n m = function m(e, t) {\n if (null === e || void 0 === e) throw new TypeError(\"expected first argument to be an object.\");\n if (void 0 === t || \"undefined\" == typeof Symbol) return e;\n if (\"function\" != typeof Object.getOwnPropertySymbols) return e;\n\n for (var n = Object.prototype.propertyIsEnumerable, r = Object(e), i = arguments.length, o = 0; ++o < i;) {\n for (var a = Object(arguments[o]), s = Object.getOwnPropertySymbols(a), u = 0; u < s.length; u++) {\n var l = s[u];\n n.call(a, l) && (r[l] = a[l]);\n }\n }\n\n return r;\n },\n w = Object.prototype.toString,\n L = function L(t) {\n var n = void 0 === t ? \"undefined\" : p(t);\n return \"undefined\" === n ? \"undefined\" : null === t ? \"null\" : !0 === t || !1 === t || t instanceof Boolean ? \"boolean\" : \"string\" === n || t instanceof String ? \"string\" : \"number\" === n || t instanceof Number ? \"number\" : \"function\" === n || t instanceof Function ? void 0 !== t.constructor.name && \"Generator\" === t.constructor.name.slice(0, 9) ? \"generatorfunction\" : \"function\" : void 0 !== Array.isArray && Array.isArray(t) ? \"array\" : t instanceof RegExp ? \"regexp\" : t instanceof Date ? \"date\" : (n = w.call(t), \"[object RegExp]\" === n ? \"regexp\" : \"[object Date]\" === n ? \"date\" : \"[object Arguments]\" === n ? \"arguments\" : \"[object Error]\" === n ? \"error\" : \"[object Promise]\" === n ? \"promise\" : e(t) ? \"buffer\" : \"[object Set]\" === n ? \"set\" : \"[object WeakSet]\" === n ? \"weakset\" : \"[object Map]\" === n ? \"map\" : \"[object WeakMap]\" === n ? \"weakmap\" : \"[object Symbol]\" === n ? \"symbol\" : \"[object Map Iterator]\" === n ? \"mapiterator\" : \"[object Set Iterator]\" === n ? \"setiterator\" : \"[object String Iterator]\" === n ? \"stringiterator\" : \"[object Array Iterator]\" === n ? \"arrayiterator\" : \"[object Int8Array]\" === n ? \"int8array\" : \"[object Uint8Array]\" === n ? \"uint8array\" : \"[object Uint8ClampedArray]\" === n ? \"uint8clampedarray\" : \"[object Int16Array]\" === n ? \"int16array\" : \"[object Uint16Array]\" === n ? \"uint16array\" : \"[object Int32Array]\" === n ? \"int32array\" : \"[object Uint32Array]\" === n ? \"uint32array\" : \"[object Float32Array]\" === n ? \"float32array\" : \"[object Float64Array]\" === n ? \"float64array\" : \"object\");\n },\n _ = t,\n k = \"undefined\" != typeof window,\n E = k && \"IntersectionObserver\" in window,\n A = {\n event: \"event\",\n observer: \"observer\"\n },\n j = function () {\n function e(e, t) {\n t = t || {\n bubbles: !1,\n cancelable: !1,\n detail: void 0\n };\n var n = document.createEvent(\"CustomEvent\");\n return n.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), n;\n }\n\n if (k) return \"function\" == typeof window.CustomEvent ? window.CustomEvent : (e.prototype = window.Event.prototype, e);\n }(),\n z = function z() {\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1;\n return k ? window.devicePixelRatio || e : e;\n },\n T = function () {\n if (k) {\n var e = !1;\n\n try {\n var t = Object.defineProperty({}, \"passive\", {\n get: function get() {\n e = !0;\n }\n });\n window.addEventListener(\"test\", null, t);\n } catch (e) {}\n\n return e;\n }\n }(),\n O = {\n on: function on(e, t, n) {\n var r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3];\n T ? e.addEventListener(t, n, {\n capture: r,\n passive: !0\n }) : e.addEventListener(t, n, r);\n },\n off: function off(e, t, n) {\n var r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3];\n e.removeEventListener(t, n, r);\n }\n },\n I = function I(e, t, n) {\n var r = new Image();\n r.src = e.src, r.onload = function () {\n t({\n naturalHeight: r.naturalHeight,\n naturalWidth: r.naturalWidth,\n src: r.src\n });\n }, r.onerror = function (e) {\n n(e);\n };\n },\n x = function x(e, t) {\n return \"undefined\" != typeof getComputedStyle ? getComputedStyle(e, null).getPropertyValue(t) : e.style[t];\n },\n S = function S(e) {\n return x(e, \"overflow\") + x(e, \"overflow-y\") + x(e, \"overflow-x\");\n },\n $ = function $(e) {\n if (k) {\n if (!(e instanceof HTMLElement)) return window;\n\n for (var t = e; t && t !== document.body && t !== document.documentElement && t.parentNode;) {\n if (/(scroll|auto)/.test(S(t))) return t;\n t = t.parentNode;\n }\n\n return window;\n }\n },\n H = {},\n Q = function () {\n function e(t) {\n var n = t.el,\n r = t.src,\n i = t.error,\n o = t.loading,\n a = t.bindType,\n s = t.$parent,\n u = t.options,\n l = t.elRenderer;\n b(this, e), this.el = n, this.src = r, this.error = i, this.loading = o, this.bindType = a, this.attempt = 0, this.naturalHeight = 0, this.naturalWidth = 0, this.options = u, this.rect = null, this.$parent = s, this.elRenderer = l, this.performanceData = {\n init: Date.now(),\n loadStart: 0,\n loadEnd: 0\n }, this.filter(), this.initState(), this.render(\"loading\", !1);\n }\n\n return y(e, [{\n key: \"initState\",\n value: function value() {\n this.el.dataset.src = this.src, this.state = {\n error: !1,\n loaded: !1,\n rendered: !1\n };\n }\n }, {\n key: \"record\",\n value: function value(e) {\n this.performanceData[e] = Date.now();\n }\n }, {\n key: \"update\",\n value: function value(e) {\n var t = e.src,\n n = e.loading,\n r = e.error,\n i = this.src;\n this.src = t, this.loading = n, this.error = r, this.filter(), i !== this.src && (this.attempt = 0, this.initState());\n }\n }, {\n key: \"getRect\",\n value: function value() {\n this.rect = this.el.getBoundingClientRect();\n }\n }, {\n key: \"checkInView\",\n value: function value() {\n return this.getRect(), this.rect.top < window.innerHeight * this.options.preLoad && this.rect.bottom > this.options.preLoadTop && this.rect.left < window.innerWidth * this.options.preLoad && this.rect.right > 0;\n }\n }, {\n key: \"filter\",\n value: function value() {\n var e = this;\n h(this.options.filter).map(function (t) {\n e.options.filter[t](e, e.options);\n });\n }\n }, {\n key: \"renderLoading\",\n value: function value(e) {\n var t = this;\n I({\n src: this.loading\n }, function (n) {\n t.render(\"loading\", !1), e();\n }, function () {\n e(), t.options.silent || console.warn(\"VueLazyload log: load failed with loading image(\" + t.loading + \")\");\n });\n }\n }, {\n key: \"load\",\n value: function value() {\n var e = this,\n t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : v;\n return this.attempt > this.options.attempt - 1 && this.state.error ? (this.options.silent || console.log(\"VueLazyload log: \" + this.src + \" tried too more than \" + this.options.attempt + \" times\"), void t()) : this.state.loaded || H[this.src] ? (this.state.loaded = !0, t(), this.render(\"loaded\", !0)) : void this.renderLoading(function () {\n e.attempt++, e.record(\"loadStart\"), I({\n src: e.src\n }, function (n) {\n e.naturalHeight = n.naturalHeight, e.naturalWidth = n.naturalWidth, e.state.loaded = !0, e.state.error = !1, e.record(\"loadEnd\"), e.render(\"loaded\", !1), H[e.src] = 1, t();\n }, function (t) {\n !e.options.silent && console.error(t), e.state.error = !0, e.state.loaded = !1, e.render(\"error\", !1);\n });\n });\n }\n }, {\n key: \"render\",\n value: function value(e, t) {\n this.elRenderer(this, e, t);\n }\n }, {\n key: \"performance\",\n value: function value() {\n var e = \"loading\",\n t = 0;\n return this.state.loaded && (e = \"loaded\", t = (this.performanceData.loadEnd - this.performanceData.loadStart) / 1e3), this.state.error && (e = \"error\"), {\n src: this.src,\n state: e,\n time: t\n };\n }\n }, {\n key: \"destroy\",\n value: function value() {\n this.el = null, this.src = null, this.error = null, this.loading = null, this.bindType = null, this.attempt = 0;\n }\n }]), e;\n }(),\n C = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\",\n R = [\"scroll\", \"wheel\", \"mousewheel\", \"resize\", \"animationend\", \"transitionend\", \"touchmove\"],\n W = {\n rootMargin: \"0px\",\n threshold: 0\n },\n D = function D(e) {\n return function () {\n function t(e) {\n var n = e.preLoad,\n r = e.error,\n i = e.throttleWait,\n o = e.preLoadTop,\n a = e.dispatchEvent,\n s = e.loading,\n u = e.attempt,\n c = e.silent,\n h = void 0 === c || c,\n f = e.scale,\n v = e.listenEvents,\n p = (e.hasbind, e.filter),\n y = e.adapter,\n g = e.observer,\n m = e.observerOptions;\n b(this, t), this.version = \"1.2.3\", this.mode = A.event, this.ListenerQueue = [], this.TargetIndex = 0, this.TargetQueue = [], this.options = {\n silent: h,\n dispatchEvent: !!a,\n throttleWait: i || 200,\n preLoad: n || 1.3,\n preLoadTop: o || 0,\n error: r || C,\n loading: s || C,\n attempt: u || 3,\n scale: f || z(f),\n ListenEvents: v || R,\n hasbind: !1,\n supportWebp: l(),\n filter: p || {},\n adapter: y || {},\n observer: !!g,\n observerOptions: m || W\n }, this._initEvent(), this.lazyLoadHandler = d(this._lazyLoadHandler.bind(this), this.options.throttleWait), this.setMode(this.options.observer ? A.observer : A.event);\n }\n\n return y(t, [{\n key: \"config\",\n value: function value() {\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\n\n _(this.options, e);\n }\n }, {\n key: \"performance\",\n value: function value() {\n var e = [];\n return this.ListenerQueue.map(function (t) {\n e.push(t.performance());\n }), e;\n }\n }, {\n key: \"addLazyBox\",\n value: function value(e) {\n this.ListenerQueue.push(e), k && (this._addListenerTarget(window), this._observer && this._observer.observe(e.el), e.$el && e.$el.parentNode && this._addListenerTarget(e.$el.parentNode));\n }\n }, {\n key: \"add\",\n value: function value(t, n, r) {\n var i = this;\n if (a(this.ListenerQueue, function (e) {\n return e.el === t;\n })) return this.update(t, n), e.nextTick(this.lazyLoadHandler);\n\n var o = this._valueFormatter(n.value),\n u = o.src,\n l = o.loading,\n d = o.error;\n\n e.nextTick(function () {\n u = s(t, i.options.scale) || u, i._observer && i._observer.observe(t);\n var o = Object.keys(n.modifiers)[0],\n a = void 0;\n o && (a = r.context.$refs[o], a = a ? a.$el || a : document.getElementById(o)), a || (a = $(t));\n var c = new Q({\n bindType: n.arg,\n $parent: a,\n el: t,\n loading: l,\n error: d,\n src: u,\n elRenderer: i._elRenderer.bind(i),\n options: i.options\n });\n i.ListenerQueue.push(c), k && (i._addListenerTarget(window), i._addListenerTarget(a)), i.lazyLoadHandler(), e.nextTick(function () {\n return i.lazyLoadHandler();\n });\n });\n }\n }, {\n key: \"update\",\n value: function value(t, n) {\n var r = this,\n i = this._valueFormatter(n.value),\n o = i.src,\n a = i.loading,\n l = i.error;\n\n o = s(t, this.options.scale) || o;\n var d = u(this.ListenerQueue, function (e) {\n return e.el === t;\n });\n d && d.update({\n src: o,\n loading: a,\n error: l\n }), this._observer && (this._observer.unobserve(t), this._observer.observe(t)), this.lazyLoadHandler(), e.nextTick(function () {\n return r.lazyLoadHandler();\n });\n }\n }, {\n key: \"remove\",\n value: function value(e) {\n if (e) {\n this._observer && this._observer.unobserve(e);\n var t = u(this.ListenerQueue, function (t) {\n return t.el === e;\n });\n t && (this._removeListenerTarget(t.$parent), this._removeListenerTarget(window), o(this.ListenerQueue, t) && t.destroy());\n }\n }\n }, {\n key: \"removeComponent\",\n value: function value(e) {\n e && (o(this.ListenerQueue, e), this._observer && this._observer.unobserve(e.el), e.$parent && e.$el.parentNode && this._removeListenerTarget(e.$el.parentNode), this._removeListenerTarget(window));\n }\n }, {\n key: \"setMode\",\n value: function value(e) {\n var t = this;\n E || e !== A.observer || (e = A.event), this.mode = e, e === A.event ? (this._observer && (this.ListenerQueue.forEach(function (e) {\n t._observer.unobserve(e.el);\n }), this._observer = null), this.TargetQueue.forEach(function (e) {\n t._initListen(e.el, !0);\n })) : (this.TargetQueue.forEach(function (e) {\n t._initListen(e.el, !1);\n }), this._initIntersectionObserver());\n }\n }, {\n key: \"_addListenerTarget\",\n value: function value(e) {\n if (e) {\n var t = u(this.TargetQueue, function (t) {\n return t.el === e;\n });\n return t ? t.childrenCount++ : (t = {\n el: e,\n id: ++this.TargetIndex,\n childrenCount: 1,\n listened: !0\n }, this.mode === A.event && this._initListen(t.el, !0), this.TargetQueue.push(t)), this.TargetIndex;\n }\n }\n }, {\n key: \"_removeListenerTarget\",\n value: function value(e) {\n var t = this;\n this.TargetQueue.forEach(function (n, r) {\n n.el === e && (--n.childrenCount || (t._initListen(n.el, !1), t.TargetQueue.splice(r, 1), n = null));\n });\n }\n }, {\n key: \"_initListen\",\n value: function value(e, t) {\n var n = this;\n this.options.ListenEvents.forEach(function (r) {\n return O[t ? \"on\" : \"off\"](e, r, n.lazyLoadHandler);\n });\n }\n }, {\n key: \"_initEvent\",\n value: function value() {\n var e = this;\n this.Event = {\n listeners: {\n loading: [],\n loaded: [],\n error: []\n }\n }, this.$on = function (t, n) {\n e.Event.listeners[t].push(n);\n }, this.$once = function (t, n) {\n function r() {\n i.$off(t, r), n.apply(i, arguments);\n }\n\n var i = e;\n e.$on(t, r);\n }, this.$off = function (t, n) {\n if (!n) return void (e.Event.listeners[t] = []);\n o(e.Event.listeners[t], n);\n }, this.$emit = function (t, n, r) {\n e.Event.listeners[t].forEach(function (e) {\n return e(n, r);\n });\n };\n }\n }, {\n key: \"_lazyLoadHandler\",\n value: function value() {\n var e = this,\n t = !1;\n this.ListenerQueue.forEach(function (n, r) {\n n.state.loaded || (t = n.checkInView()) && n.load(function () {\n !n.error && n.loaded && e.ListenerQueue.splice(r, 1);\n });\n });\n }\n }, {\n key: \"_initIntersectionObserver\",\n value: function value() {\n var e = this;\n E && (this._observer = new IntersectionObserver(this._observerHandler.bind(this), this.options.observerOptions), this.ListenerQueue.length && this.ListenerQueue.forEach(function (t) {\n e._observer.observe(t.el);\n }));\n }\n }, {\n key: \"_observerHandler\",\n value: function value(e, t) {\n var n = this;\n e.forEach(function (e) {\n e.isIntersecting && n.ListenerQueue.forEach(function (t) {\n if (t.el === e.target) {\n if (t.state.loaded) return n._observer.unobserve(t.el);\n t.load();\n }\n });\n });\n }\n }, {\n key: \"_elRenderer\",\n value: function value(e, t, n) {\n if (e.el) {\n var r = e.el,\n i = e.bindType,\n o = void 0;\n\n switch (t) {\n case \"loading\":\n o = e.loading;\n break;\n\n case \"error\":\n o = e.error;\n break;\n\n default:\n o = e.src;\n }\n\n if (i ? r.style[i] = 'url(\"' + o + '\")' : r.getAttribute(\"src\") !== o && r.setAttribute(\"src\", o), r.setAttribute(\"lazy\", t), this.$emit(t, e, n), this.options.adapter[t] && this.options.adapter[t](e, this.options), this.options.dispatchEvent) {\n var a = new j(t, {\n detail: e\n });\n r.dispatchEvent(a);\n }\n }\n }\n }, {\n key: \"_valueFormatter\",\n value: function value(e) {\n var t = e,\n n = this.options.loading,\n r = this.options.error;\n return c(e) && (e.src || this.options.silent || console.error(\"Vue Lazyload warning: miss src with \" + e), t = e.src, n = e.loading || this.options.loading, r = e.error || this.options.error), {\n src: t,\n loading: n,\n error: r\n };\n }\n }]), t;\n }();\n },\n B = function B(e) {\n return {\n props: {\n tag: {\n type: String,\n default: \"div\"\n }\n },\n render: function render(e) {\n return !1 === this.show ? e(this.tag) : e(this.tag, null, this.$slots.default);\n },\n data: function data() {\n return {\n el: null,\n state: {\n loaded: !1\n },\n rect: {},\n show: !1\n };\n },\n mounted: function mounted() {\n this.el = this.$el, e.addLazyBox(this), e.lazyLoadHandler();\n },\n beforeDestroy: function beforeDestroy() {\n e.removeComponent(this);\n },\n methods: {\n getRect: function getRect() {\n this.rect = this.$el.getBoundingClientRect();\n },\n checkInView: function checkInView() {\n return this.getRect(), k && this.rect.top < window.innerHeight * e.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * e.options.preLoad && this.rect.right > 0;\n },\n load: function load() {\n this.show = !0, this.state.loaded = !0, this.$emit(\"show\", this);\n }\n }\n };\n },\n V = function () {\n function e(t) {\n var n = t.lazy;\n b(this, e), this.lazy = n, n.lazyContainerMananger = this, this._queue = [];\n }\n\n return y(e, [{\n key: \"bind\",\n value: function value(e, t, n) {\n var r = new N({\n el: e,\n binding: t,\n vnode: n,\n lazy: this.lazy\n });\n\n this._queue.push(r);\n }\n }, {\n key: \"update\",\n value: function value(e, t, n) {\n var r = u(this._queue, function (t) {\n return t.el === e;\n });\n r && r.update({\n el: e,\n binding: t,\n vnode: n\n });\n }\n }, {\n key: \"unbind\",\n value: function value(e, t, n) {\n var r = u(this._queue, function (t) {\n return t.el === e;\n });\n r && (r.clear(), o(this._queue, r));\n }\n }]), e;\n }(),\n M = {\n selector: \"img\"\n },\n N = function () {\n function e(t) {\n var n = t.el,\n r = t.binding,\n i = t.vnode,\n o = t.lazy;\n b(this, e), this.el = null, this.vnode = i, this.binding = r, this.options = {}, this.lazy = o, this._queue = [], this.update({\n el: n,\n binding: r\n });\n }\n\n return y(e, [{\n key: \"update\",\n value: function value(e) {\n var t = this,\n n = e.el,\n r = e.binding;\n this.el = n, this.options = _({}, M, r.value), this.getImgs().forEach(function (e) {\n t.lazy.add(e, _({}, t.binding, {\n value: {\n src: e.dataset.src,\n error: e.dataset.error,\n loading: e.dataset.loading\n }\n }), t.vnode);\n });\n }\n }, {\n key: \"getImgs\",\n value: function value() {\n return f(this.el.querySelectorAll(this.options.selector));\n }\n }, {\n key: \"clear\",\n value: function value() {\n var e = this;\n this.getImgs().forEach(function (t) {\n return e.lazy.remove(t);\n }), this.vnode = null, this.binding = null, this.lazy = null;\n }\n }]), e;\n }();\n\n return {\n install: function install(e) {\n var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n n = D(e),\n r = new n(t),\n i = new V({\n lazy: r\n }),\n o = \"2\" === e.version.split(\".\")[0];\n e.prototype.$Lazyload = r, t.lazyComponent && e.component(\"lazy-component\", B(r)), o ? (e.directive(\"lazy\", {\n bind: r.add.bind(r),\n update: r.update.bind(r),\n componentUpdated: r.lazyLoadHandler.bind(r),\n unbind: r.remove.bind(r)\n }), e.directive(\"lazy-container\", {\n bind: i.bind.bind(i),\n update: i.update.bind(i),\n unbind: i.unbind.bind(i)\n })) : (e.directive(\"lazy\", {\n bind: r.lazyLoadHandler.bind(r),\n update: function update(e, t) {\n _(this.vm.$refs, this.vm.$els), r.add(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: e,\n oldValue: t\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n r.remove(this.el);\n }\n }), e.directive(\"lazy-container\", {\n update: function update(e, t) {\n i.update(this.el, {\n modifiers: this.modifiers || {},\n arg: this.arg,\n value: e,\n oldValue: t\n }, {\n context: this.vm\n });\n },\n unbind: function unbind() {\n i.unbind(this.el);\n }\n }));\n }\n };\n});\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"install\", function() { return /* binding */ install; });\n__webpack_require__.d(__webpack_exports__, \"version\", function() { return /* binding */ version; });\n__webpack_require__.d(__webpack_exports__, \"ActionSheet\", function() { return /* reexport */ action_sheet; });\n__webpack_require__.d(__webpack_exports__, \"AddressEdit\", function() { return /* reexport */ address_edit; });\n__webpack_require__.d(__webpack_exports__, \"AddressList\", function() { return /* reexport */ address_list; });\n__webpack_require__.d(__webpack_exports__, \"Area\", function() { return /* reexport */ es_area; });\n__webpack_require__.d(__webpack_exports__, \"Badge\", function() { return /* reexport */ badge; });\n__webpack_require__.d(__webpack_exports__, \"Button\", function() { return /* reexport */ es_button; });\n__webpack_require__.d(__webpack_exports__, \"Calendar\", function() { return /* reexport */ calendar; });\n__webpack_require__.d(__webpack_exports__, \"Card\", function() { return /* reexport */ card; });\n__webpack_require__.d(__webpack_exports__, \"Cascader\", function() { return /* reexport */ cascader; });\n__webpack_require__.d(__webpack_exports__, \"Cell\", function() { return /* reexport */ cell; });\n__webpack_require__.d(__webpack_exports__, \"CellGroup\", function() { return /* reexport */ cell_group; });\n__webpack_require__.d(__webpack_exports__, \"Checkbox\", function() { return /* reexport */ es_checkbox; });\n__webpack_require__.d(__webpack_exports__, \"CheckboxGroup\", function() { return /* reexport */ checkbox_group; });\n__webpack_require__.d(__webpack_exports__, \"Circle\", function() { return /* reexport */ circle; });\n__webpack_require__.d(__webpack_exports__, \"Col\", function() { return /* reexport */ col; });\n__webpack_require__.d(__webpack_exports__, \"Collapse\", function() { return /* reexport */ collapse; });\n__webpack_require__.d(__webpack_exports__, \"CollapseItem\", function() { return /* reexport */ collapse_item; });\n__webpack_require__.d(__webpack_exports__, \"ContactCard\", function() { return /* reexport */ contact_card; });\n__webpack_require__.d(__webpack_exports__, \"ContactEdit\", function() { return /* reexport */ contact_edit; });\n__webpack_require__.d(__webpack_exports__, \"ContactList\", function() { return /* reexport */ contact_list; });\n__webpack_require__.d(__webpack_exports__, \"CountDown\", function() { return /* reexport */ count_down; });\n__webpack_require__.d(__webpack_exports__, \"Coupon\", function() { return /* reexport */ es_coupon; });\n__webpack_require__.d(__webpack_exports__, \"CouponCell\", function() { return /* reexport */ coupon_cell; });\n__webpack_require__.d(__webpack_exports__, \"CouponList\", function() { return /* reexport */ coupon_list; });\n__webpack_require__.d(__webpack_exports__, \"DatetimePicker\", function() { return /* reexport */ datetime_picker; });\n__webpack_require__.d(__webpack_exports__, \"Dialog\", function() { return /* reexport */ dialog; });\n__webpack_require__.d(__webpack_exports__, \"Divider\", function() { return /* reexport */ divider; });\n__webpack_require__.d(__webpack_exports__, \"DropdownItem\", function() { return /* reexport */ dropdown_item; });\n__webpack_require__.d(__webpack_exports__, \"DropdownMenu\", function() { return /* reexport */ dropdown_menu; });\n__webpack_require__.d(__webpack_exports__, \"Empty\", function() { return /* reexport */ empty; });\n__webpack_require__.d(__webpack_exports__, \"Field\", function() { return /* reexport */ es_field; });\n__webpack_require__.d(__webpack_exports__, \"Form\", function() { return /* reexport */ es_form; });\n__webpack_require__.d(__webpack_exports__, \"GoodsAction\", function() { return /* reexport */ goods_action; });\n__webpack_require__.d(__webpack_exports__, \"GoodsActionButton\", function() { return /* reexport */ goods_action_button; });\n__webpack_require__.d(__webpack_exports__, \"GoodsActionIcon\", function() { return /* reexport */ goods_action_icon; });\n__webpack_require__.d(__webpack_exports__, \"Grid\", function() { return /* reexport */ grid; });\n__webpack_require__.d(__webpack_exports__, \"GridItem\", function() { return /* reexport */ grid_item; });\n__webpack_require__.d(__webpack_exports__, \"Icon\", function() { return /* reexport */ es_icon; });\n__webpack_require__.d(__webpack_exports__, \"Image\", function() { return /* reexport */ es_image; });\n__webpack_require__.d(__webpack_exports__, \"ImagePreview\", function() { return /* reexport */ image_preview; });\n__webpack_require__.d(__webpack_exports__, \"IndexAnchor\", function() { return /* reexport */ index_anchor; });\n__webpack_require__.d(__webpack_exports__, \"IndexBar\", function() { return /* reexport */ index_bar; });\n__webpack_require__.d(__webpack_exports__, \"Info\", function() { return /* reexport */ es_info; });\n__webpack_require__.d(__webpack_exports__, \"Lazyload\", function() { return /* reexport */ lazyload; });\n__webpack_require__.d(__webpack_exports__, \"List\", function() { return /* reexport */ es_list; });\n__webpack_require__.d(__webpack_exports__, \"Loading\", function() { return /* reexport */ es_loading; });\n__webpack_require__.d(__webpack_exports__, \"Locale\", function() { return /* reexport */ locale[\"a\" /* default */]; });\n__webpack_require__.d(__webpack_exports__, \"NavBar\", function() { return /* reexport */ nav_bar; });\n__webpack_require__.d(__webpack_exports__, \"NoticeBar\", function() { return /* reexport */ notice_bar; });\n__webpack_require__.d(__webpack_exports__, \"Notify\", function() { return /* reexport */ notify; });\n__webpack_require__.d(__webpack_exports__, \"NumberKeyboard\", function() { return /* reexport */ number_keyboard; });\n__webpack_require__.d(__webpack_exports__, \"Overlay\", function() { return /* reexport */ es_overlay; });\n__webpack_require__.d(__webpack_exports__, \"Pagination\", function() { return /* reexport */ pagination; });\n__webpack_require__.d(__webpack_exports__, \"Panel\", function() { return /* reexport */ panel; });\n__webpack_require__.d(__webpack_exports__, \"PasswordInput\", function() { return /* reexport */ password_input; });\n__webpack_require__.d(__webpack_exports__, \"Picker\", function() { return /* reexport */ es_picker; });\n__webpack_require__.d(__webpack_exports__, \"Popover\", function() { return /* reexport */ popover; });\n__webpack_require__.d(__webpack_exports__, \"Popup\", function() { return /* reexport */ popup; });\n__webpack_require__.d(__webpack_exports__, \"Progress\", function() { return /* reexport */ es_progress; });\n__webpack_require__.d(__webpack_exports__, \"PullRefresh\", function() { return /* reexport */ pull_refresh; });\n__webpack_require__.d(__webpack_exports__, \"Radio\", function() { return /* reexport */ es_radio; });\n__webpack_require__.d(__webpack_exports__, \"RadioGroup\", function() { return /* reexport */ radio_group; });\n__webpack_require__.d(__webpack_exports__, \"Rate\", function() { return /* reexport */ es_rate; });\n__webpack_require__.d(__webpack_exports__, \"Row\", function() { return /* reexport */ row; });\n__webpack_require__.d(__webpack_exports__, \"Search\", function() { return /* reexport */ search; });\n__webpack_require__.d(__webpack_exports__, \"ShareSheet\", function() { return /* reexport */ share_sheet; });\n__webpack_require__.d(__webpack_exports__, \"Sidebar\", function() { return /* reexport */ sidebar; });\n__webpack_require__.d(__webpack_exports__, \"SidebarItem\", function() { return /* reexport */ sidebar_item; });\n__webpack_require__.d(__webpack_exports__, \"Skeleton\", function() { return /* reexport */ skeleton; });\n__webpack_require__.d(__webpack_exports__, \"Sku\", function() { return /* reexport */ es_sku; });\n__webpack_require__.d(__webpack_exports__, \"Slider\", function() { return /* reexport */ slider; });\n__webpack_require__.d(__webpack_exports__, \"Step\", function() { return /* reexport */ es_step; });\n__webpack_require__.d(__webpack_exports__, \"Stepper\", function() { return /* reexport */ stepper; });\n__webpack_require__.d(__webpack_exports__, \"Steps\", function() { return /* reexport */ steps; });\n__webpack_require__.d(__webpack_exports__, \"Sticky\", function() { return /* reexport */ es_sticky; });\n__webpack_require__.d(__webpack_exports__, \"SubmitBar\", function() { return /* reexport */ submit_bar; });\n__webpack_require__.d(__webpack_exports__, \"Swipe\", function() { return /* reexport */ swipe; });\n__webpack_require__.d(__webpack_exports__, \"SwipeCell\", function() { return /* reexport */ swipe_cell; });\n__webpack_require__.d(__webpack_exports__, \"SwipeItem\", function() { return /* reexport */ swipe_item; });\n__webpack_require__.d(__webpack_exports__, \"Switch\", function() { return /* reexport */ es_switch; });\n__webpack_require__.d(__webpack_exports__, \"SwitchCell\", function() { return /* reexport */ switch_cell; });\n__webpack_require__.d(__webpack_exports__, \"Tab\", function() { return /* reexport */ tab; });\n__webpack_require__.d(__webpack_exports__, \"Tabbar\", function() { return /* reexport */ tabbar; });\n__webpack_require__.d(__webpack_exports__, \"TabbarItem\", function() { return /* reexport */ tabbar_item; });\n__webpack_require__.d(__webpack_exports__, \"Tabs\", function() { return /* reexport */ tabs; });\n__webpack_require__.d(__webpack_exports__, \"Tag\", function() { return /* reexport */ es_tag; });\n__webpack_require__.d(__webpack_exports__, \"Toast\", function() { return /* reexport */ es_toast; });\n__webpack_require__.d(__webpack_exports__, \"TreeSelect\", function() { return /* reexport */ tree_select; });\n__webpack_require__.d(__webpack_exports__, \"Uploader\", function() { return /* reexport */ uploader; });\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n// EXTERNAL MODULE: ./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js\nvar helper = __webpack_require__(1);\nvar helper_default = /*#__PURE__*/__webpack_require__.n(helper);\n\n// EXTERNAL MODULE: external {\"root\":\"Vue\",\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"amd\":\"vue\"}\nvar external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_ = __webpack_require__(3);\nvar external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default = /*#__PURE__*/__webpack_require__.n(external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_);\n\n// EXTERNAL MODULE: ./es/utils/create/index.js + 4 modules\nvar create = __webpack_require__(8);\n\n// CONCATENATED MODULE: ./es/utils/functional.js\n\n\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\nfunction 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\nfunction functional_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\nfunction mount(Component, data) {\n var instance = new external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a({\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}\n// CONCATENATED MODULE: ./es/mixins/popup/context.js\nvar context_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};\n// EXTERNAL MODULE: ./es/utils/index.js\nvar utils = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./es/utils/dom/event.js\n // eslint-disable-next-line import/no-mutable-exports\n\nvar supportsPassive = false;\n\nif (!utils[\"h\" /* 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\nfunction event_on(target, event, handler, passive) {\n if (passive === void 0) {\n passive = false;\n }\n\n if (!utils[\"h\" /* isServer */]) {\n target.addEventListener(event, handler, supportsPassive ? {\n capture: false,\n passive: passive\n } : false);\n }\n}\nfunction off(target, event, handler) {\n if (!utils[\"h\" /* isServer */]) {\n target.removeEventListener(event, handler);\n }\n}\nfunction event_stopPropagation(event) {\n event.stopPropagation();\n}\nfunction preventDefault(event, isStopPropagation) {\n /* istanbul ignore else */\n if (typeof event.cancelable !== 'boolean' || event.cancelable) {\n event.preventDefault();\n }\n\n if (isStopPropagation) {\n event_stopPropagation(event);\n }\n}\n// CONCATENATED MODULE: ./es/overlay/index.js\n\n // Utils\n\n\n\n // Types\n\nvar _createNamespace = Object(create[\"a\" /* createNamespace */])('overlay'),\n createComponent = _createNamespace[0],\n overlay_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 (Object(utils[\"c\" /* 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\", helper_default()([{\n \"directives\": [{\n name: \"show\",\n value: props.show\n }],\n \"style\": style,\n \"class\": [overlay_bem(), props.className],\n \"on\": {\n \"touchmove\": props.lockScroll ? preventTouchMove : utils[\"i\" /* 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};\n/* harmony default export */ var es_overlay = (createComponent(Overlay));\n// CONCATENATED MODULE: ./es/utils/dom/node.js\nfunction removeNode(el) {\n var parent = el.parentNode;\n\n if (parent) {\n parent.removeChild(el);\n }\n}\n// CONCATENATED MODULE: ./es/mixins/popup/overlay.js\n\n\n\n\n\nvar defaultConfig = {\n className: '',\n customStyle: {}\n};\n\nfunction mountOverlay(vm) {\n return mount(es_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\nfunction updateOverlay(vm) {\n var item = context_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}\nfunction openOverlay(vm, config) {\n var item = context_context.find(vm);\n\n if (item) {\n item.config = config;\n } else {\n var overlay = mountOverlay(vm);\n context_context.stack.push({\n vm: vm,\n config: config,\n overlay: overlay\n });\n }\n\n updateOverlay(vm);\n}\nfunction closeOverlay(vm) {\n var item = context_context.find(vm);\n\n if (item) {\n item.overlay.show = false;\n }\n}\nfunction removeOverlay(vm) {\n var item = context_context.find(vm);\n\n if (item) {\n removeNode(item.overlay.$el);\n context_context.remove(vm);\n }\n}\n// CONCATENATED MODULE: ./es/utils/dom/scroll.js\nfunction 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;\nfunction 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}\nfunction 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}\nfunction setScrollTop(el, value) {\n if ('scrollTop' in el) {\n el.scrollTop = value;\n } else {\n el.scrollTo(el.scrollX, value);\n }\n}\nfunction getRootScrollTop() {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n}\nfunction setRootScrollTop(value) {\n setScrollTop(window, value);\n setScrollTop(document.body, value);\n} // get distance from element top to page top or scroller top\n\nfunction 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}\nfunction getVisibleHeight(el) {\n if (isWindow(el)) {\n return el.innerHeight;\n }\n\n return el.getBoundingClientRect().height;\n}\nfunction getVisibleTop(el) {\n if (isWindow(el)) {\n return 0;\n }\n\n return el.getBoundingClientRect().top;\n}\n// CONCATENATED MODULE: ./es/mixins/touch.js\n\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\nvar 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 event_on(el, 'touchstart', onTouchStart);\n event_on(el, 'touchmove', onTouchMove);\n\n if (onTouchEnd) {\n event_on(el, 'touchend', onTouchEnd);\n event_on(el, 'touchcancel', onTouchEnd);\n }\n }\n }\n};\n// CONCATENATED MODULE: ./es/mixins/portal.js\nfunction getElement(selector) {\n if (typeof selector === 'string') {\n return document.querySelector(selector);\n }\n\n return selector();\n}\n\nfunction 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}\n// CONCATENATED MODULE: ./es/mixins/bind-event.js\n/**\n * Bind event when mounted or activated\n */\n\nvar uid = 0;\nfunction BindEventMixin(handler) {\n var key = \"binded_\" + uid++;\n\n function bind() {\n if (!this[key]) {\n handler.call(this, event_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}\n// CONCATENATED MODULE: ./es/mixins/close-on-popstate.js\n\n\nvar 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 ? event_on : off;\n action(window, 'popstate', this.onPopstate);\n }\n }\n }\n};\n// CONCATENATED MODULE: ./es/mixins/popup/index.js\n// Context\n\n // Utils\n\n\n\n // Mixins\n\n\n\n\nvar 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};\nfunction 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_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 event_on(document, 'touchstart', this.touchStart);\n event_on(document, 'touchmove', this.onTouchMove);\n\n if (!context_context.lockCount) {\n document.body.classList.add('van-overflow-hidden');\n }\n\n context_context.lockCount++;\n }\n },\n removeLock: function removeLock() {\n if (this.lockScroll && context_context.lockCount) {\n context_context.lockCount--;\n off(document, 'touchstart', this.touchStart);\n off(document, 'touchmove', this.onTouchMove);\n\n if (!context_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_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_context.zIndex + value;\n },\n onReopen: function onReopen(callback) {\n this.onReopenCallback.push(callback);\n }\n }\n };\n}\n// EXTERNAL MODULE: ./es/utils/format/unit.js\nvar unit = __webpack_require__(6);\n\n// CONCATENATED MODULE: ./es/info/index.js\n // Utils\n\n\n // Types\n\nvar info_createNamespace = Object(create[\"a\" /* createNamespace */])('info'),\n info_createComponent = info_createNamespace[0],\n info_bem = info_createNamespace[1];\n\nfunction info_Info(h, props, slots, ctx) {\n var dot = props.dot,\n info = props.info;\n var showInfo = Object(utils[\"c\" /* isDef */])(info) && info !== '';\n\n if (!dot && !showInfo) {\n return;\n }\n\n return h(\"div\", helper_default()([{\n \"class\": info_bem({\n dot: dot\n })\n }, inherit(ctx, true)]), [dot ? '' : props.info]);\n}\n\ninfo_Info.props = {\n dot: Boolean,\n info: [Number, String]\n};\n/* harmony default export */ var es_info = (info_createComponent(info_Info));\n// CONCATENATED MODULE: ./es/icon/index.js\n // Utils\n\n\n // Components\n\n // Types\n\nvar icon_createNamespace = Object(create[\"a\" /* createNamespace */])('icon'),\n icon_createComponent = icon_createNamespace[0],\n icon_bem = icon_createNamespace[1];\n\nfunction isImage(name) {\n return name ? name.indexOf('/') !== -1 : false;\n} // compatible with legacy usage, should be removed in next major version\n\n\nvar LEGACY_MAP = {\n medel: 'medal',\n 'medel-o': 'medal-o',\n 'calender-o': 'calendar-o'\n};\n\nfunction correctName(name) {\n return name && LEGACY_MAP[name] || name;\n}\n\nfunction Icon(h, props, slots, ctx) {\n var _props$badge;\n\n var name = correctName(props.name);\n var imageIcon = isImage(name);\n\n if (false) {}\n\n return h(props.tag, helper_default()([{\n \"class\": [props.classPrefix, imageIcon ? '' : props.classPrefix + \"-\" + name],\n \"style\": {\n color: props.color,\n fontSize: Object(unit[\"a\" /* addUnit */])(props.size)\n }\n }, inherit(ctx, true)]), [slots.default && slots.default(), imageIcon && h(\"img\", {\n \"class\": icon_bem('image'),\n \"attrs\": {\n \"src\": name\n }\n }), h(es_info, {\n \"attrs\": {\n \"dot\": props.dot,\n \"info\": (_props$badge = props.badge) != null ? _props$badge : props.info\n }\n })]);\n}\n\nIcon.props = {\n dot: Boolean,\n name: String,\n size: [Number, String],\n // @deprecated\n // should be removed in next major version\n info: [Number, String],\n badge: [Number, String],\n color: String,\n tag: {\n type: String,\n default: 'i'\n },\n classPrefix: {\n type: String,\n default: icon_bem()\n }\n};\n/* harmony default export */ var es_icon = (icon_createComponent(Icon));\n// CONCATENATED MODULE: ./es/popup/index.js\n\n\n\n\nvar popup_createNamespace = Object(create[\"a\" /* createNamespace */])('popup'),\n popup_createComponent = popup_createNamespace[0],\n popup_bem = popup_createNamespace[1];\n\n/* harmony default export */ var popup = (popup_createComponent({\n mixins: [PopupMixin()],\n props: {\n round: Boolean,\n duration: [Number, String],\n closeable: Boolean,\n transition: String,\n safeAreaInsetBottom: Boolean,\n closeIcon: {\n type: String,\n default: 'cross'\n },\n closeIconPosition: {\n type: String,\n default: 'top-right'\n },\n position: {\n type: String,\n default: 'center'\n },\n overlay: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n }\n },\n beforeCreate: function beforeCreate() {\n var _this = this;\n\n var createEmitter = function createEmitter(eventName) {\n return function (event) {\n return _this.$emit(eventName, event);\n };\n };\n\n this.onClick = createEmitter('click');\n this.onOpened = createEmitter('opened');\n this.onClosed = createEmitter('closed');\n },\n methods: {\n onClickCloseIcon: function onClickCloseIcon(event) {\n this.$emit('click-close-icon', event);\n this.close();\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n var round = this.round,\n position = this.position,\n duration = this.duration;\n var isCenter = position === 'center';\n var transitionName = this.transition || (isCenter ? 'van-fade' : \"van-popup-slide-\" + position);\n var style = {};\n\n if (Object(utils[\"c\" /* isDef */])(duration)) {\n var key = isCenter ? 'animationDuration' : 'transitionDuration';\n style[key] = duration + \"s\";\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"appear\": this.transitionAppear,\n \"name\": transitionName\n },\n \"on\": {\n \"afterEnter\": this.onOpened,\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"style\": style,\n \"class\": popup_bem((_bem = {\n round: round\n }, _bem[position] = position, _bem['safe-area-inset-bottom'] = this.safeAreaInsetBottom, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots(), this.closeable && h(es_icon, {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\",\n \"name\": this.closeIcon\n },\n \"class\": popup_bem('close-icon', this.closeIconPosition),\n \"on\": {\n \"click\": this.onClickCloseIcon\n }\n })])]);\n }\n}));\n// CONCATENATED MODULE: ./es/loading/index.js\n // Utils\n\n\n // Types\n\nvar loading_createNamespace = Object(create[\"a\" /* createNamespace */])('loading'),\n loading_createComponent = loading_createNamespace[0],\n loading_bem = loading_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\": loading_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: Object(unit[\"a\" /* addUnit */])(props.textSize),\n color: (_props$textColor = props.textColor) != null ? _props$textColor : props.color\n };\n return h(\"span\", {\n \"class\": loading_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 = Object(unit[\"a\" /* addUnit */])(size);\n style.width = iconSize;\n style.height = iconSize;\n }\n\n return h(\"div\", helper_default()([{\n \"class\": loading_bem([type, {\n vertical: props.vertical\n }])\n }, inherit(ctx, true)]), [h(\"span\", {\n \"class\": loading_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};\n/* harmony default export */ var es_loading = (loading_createComponent(Loading));\n// CONCATENATED MODULE: ./es/action-sheet/index.js\n\n\n // Utils\n\n\n // Mixins\n\n // Components\n\n\n\n // Types\n\nvar action_sheet_createNamespace = Object(create[\"a\" /* createNamespace */])('action-sheet'),\n action_sheet_createComponent = action_sheet_createNamespace[0],\n action_sheet_bem = action_sheet_createNamespace[1];\n\nfunction ActionSheet(h, props, slots, ctx) {\n var title = props.title,\n cancelText = props.cancelText,\n closeable = props.closeable;\n\n function onCancel() {\n functional_emit(ctx, 'input', false);\n functional_emit(ctx, 'cancel');\n }\n\n function Header() {\n if (title) {\n return h(\"div\", {\n \"class\": action_sheet_bem('header')\n }, [title, closeable && h(es_icon, {\n \"attrs\": {\n \"name\": props.closeIcon\n },\n \"class\": action_sheet_bem('close'),\n \"on\": {\n \"click\": onCancel\n }\n })]);\n }\n }\n\n function Option(item, index) {\n var disabled = item.disabled,\n loading = item.loading,\n callback = item.callback;\n\n function onClickOption(event) {\n event.stopPropagation();\n\n if (disabled || loading) {\n return;\n }\n\n if (callback) {\n callback(item);\n }\n\n if (props.closeOnClickAction) {\n functional_emit(ctx, 'input', false);\n }\n\n external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.nextTick(function () {\n functional_emit(ctx, 'select', item, index);\n });\n }\n\n function OptionContent() {\n if (loading) {\n return h(es_loading, {\n \"class\": action_sheet_bem('loading-icon')\n });\n }\n\n return [h(\"span\", {\n \"class\": action_sheet_bem('name')\n }, [item.name]), item.subname && h(\"div\", {\n \"class\": action_sheet_bem('subname')\n }, [item.subname])];\n }\n\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": [action_sheet_bem('item', {\n disabled: disabled,\n loading: loading\n }), item.className],\n \"style\": {\n color: item.color\n },\n \"on\": {\n \"click\": onClickOption\n }\n }, [OptionContent()]);\n }\n\n function CancelText() {\n if (cancelText) {\n return [h(\"div\", {\n \"class\": action_sheet_bem('gap')\n }), h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": action_sheet_bem('cancel'),\n \"on\": {\n \"click\": onCancel\n }\n }, [cancelText])];\n }\n }\n\n function Description() {\n var description = (slots.description == null ? void 0 : slots.description()) || props.description;\n\n if (description) {\n return h(\"div\", {\n \"class\": action_sheet_bem('description')\n }, [description]);\n }\n }\n\n return h(popup, helper_default()([{\n \"class\": action_sheet_bem(),\n \"attrs\": {\n \"position\": \"bottom\",\n \"round\": props.round,\n \"value\": props.value,\n \"overlay\": props.overlay,\n \"duration\": props.duration,\n \"lazyRender\": props.lazyRender,\n \"lockScroll\": props.lockScroll,\n \"getContainer\": props.getContainer,\n \"closeOnPopstate\": props.closeOnPopstate,\n \"closeOnClickOverlay\": props.closeOnClickOverlay,\n \"safeAreaInsetBottom\": props.safeAreaInsetBottom\n }\n }, inherit(ctx, true)]), [Header(), Description(), h(\"div\", {\n \"class\": action_sheet_bem('content')\n }, [props.actions && props.actions.map(Option), slots.default == null ? void 0 : slots.default()]), CancelText()]);\n}\n\nActionSheet.props = _extends({}, popupMixinProps, {\n title: String,\n actions: Array,\n duration: [Number, String],\n cancelText: String,\n description: String,\n getContainer: [String, Function],\n closeOnPopstate: Boolean,\n closeOnClickAction: Boolean,\n round: {\n type: Boolean,\n default: true\n },\n closeable: {\n type: Boolean,\n default: true\n },\n closeIcon: {\n type: String,\n default: 'cross'\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n },\n overlay: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n }\n});\n/* harmony default export */ var action_sheet = (action_sheet_createComponent(ActionSheet));\n// CONCATENATED MODULE: ./es/utils/validate/mobile.js\nfunction isMobile(value) {\n value = value.replace(/[^-|\\d]/g, '');\n return /^((\\+86)|(86))?(1)\\d{10}$/.test(value) || /^0[0-9-]{10,13}$/.test(value);\n}\n// CONCATENATED MODULE: ./es/picker/shared.js\nvar DEFAULT_ITEM_HEIGHT = 44;\nvar pickerProps = {\n title: String,\n loading: Boolean,\n readonly: Boolean,\n itemHeight: [Number, String],\n showToolbar: Boolean,\n cancelButtonText: String,\n confirmButtonText: String,\n allowHtml: {\n type: Boolean,\n default: true\n },\n visibleItemCount: {\n type: [Number, String],\n default: 6\n },\n swipeDuration: {\n type: [Number, String],\n default: 1000\n }\n};\n// CONCATENATED MODULE: ./es/utils/constant.js\n// color\nvar RED = '#ee0a24'; // border\n\nvar BORDER = 'van-hairline';\nvar BORDER_TOP = BORDER + \"--top\";\nvar BORDER_LEFT = BORDER + \"--left\";\nvar BORDER_BOTTOM = BORDER + \"--bottom\";\nvar BORDER_SURROUND = BORDER + \"--surround\";\nvar BORDER_TOP_BOTTOM = BORDER + \"--top-bottom\";\nvar BORDER_UNSET_TOP_BOTTOM = BORDER + \"-unset--top-bottom\";\n// CONCATENATED MODULE: ./es/utils/deep-clone.js\n\nfunction deepClone(obj) {\n if (!Object(utils[\"c\" /* isDef */])(obj)) {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(function (item) {\n return deepClone(item);\n });\n }\n\n if (typeof obj === 'object') {\n var to = {};\n Object.keys(obj).forEach(function (key) {\n to[key] = deepClone(obj[key]);\n });\n return to;\n }\n\n return obj;\n}\n// CONCATENATED MODULE: ./es/utils/format/number.js\nfunction range(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\n\nfunction trimExtraChar(value, _char, regExp) {\n var index = value.indexOf(_char);\n var prefix = '';\n\n if (index === -1) {\n return value;\n }\n\n if (_char === '-' && index !== 0) {\n return value.slice(0, index);\n }\n\n if (_char === '.' && value.match(/^(\\.|-\\.)/)) {\n prefix = index ? '-0' : '0';\n }\n\n return prefix + value.slice(0, index + 1) + value.slice(index).replace(regExp, '');\n}\n\nfunction number_formatNumber(value, allowDot, allowMinus) {\n if (allowDot === void 0) {\n allowDot = true;\n }\n\n if (allowMinus === void 0) {\n allowMinus = true;\n }\n\n if (allowDot) {\n value = trimExtraChar(value, '.', /\\./g);\n } else {\n value = value.split('.')[0];\n }\n\n if (allowMinus) {\n value = trimExtraChar(value, '-', /-/g);\n } else {\n value = value.replace(/-/, '');\n }\n\n var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;\n return value.replace(regExp, '');\n} // add num and avoid float number\n\nfunction addNumber(num1, num2) {\n var cardinal = Math.pow(10, 10);\n return Math.round((num1 + num2) * cardinal) / cardinal;\n}\n// CONCATENATED MODULE: ./es/picker/PickerColumn.js\n\n\n\n\n\n\n\nvar DEFAULT_DURATION = 200; // 惯性滑动思路:\n// 在手指离开屏幕时,如果和上一次 move 时的间隔小于 `MOMENTUM_LIMIT_TIME` 且 move\n// 距离大于 `MOMENTUM_LIMIT_DISTANCE` 时,执行惯性滑动\n\nvar MOMENTUM_LIMIT_TIME = 300;\nvar MOMENTUM_LIMIT_DISTANCE = 15;\n\nvar PickerColumn_createNamespace = Object(create[\"a\" /* createNamespace */])('picker-column'),\n PickerColumn_createComponent = PickerColumn_createNamespace[0],\n PickerColumn_bem = PickerColumn_createNamespace[1];\n\nfunction getElementTranslateY(element) {\n var style = window.getComputedStyle(element);\n var transform = style.transform || style.webkitTransform;\n var translateY = transform.slice(7, transform.length - 1).split(', ')[5];\n return Number(translateY);\n}\n\nfunction isOptionDisabled(option) {\n return Object(utils[\"f\" /* isObject */])(option) && option.disabled;\n} // use standard WheelEvent:\n// https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent\n\n\nvar supportMousewheel = utils[\"b\" /* inBrowser */] && 'onwheel' in window;\nvar mousewheelTimer = null;\n/* harmony default export */ var PickerColumn = (PickerColumn_createComponent({\n mixins: [TouchMixin],\n props: {\n valueKey: String,\n readonly: Boolean,\n allowHtml: Boolean,\n className: String,\n itemHeight: Number,\n defaultIndex: Number,\n swipeDuration: [Number, String],\n visibleItemCount: [Number, String],\n initialOptions: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n offset: 0,\n duration: 0,\n options: deepClone(this.initialOptions),\n currentIndex: this.defaultIndex\n };\n },\n created: function created() {\n if (this.$parent.children) {\n this.$parent.children.push(this);\n }\n\n this.setIndex(this.currentIndex);\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$el);\n\n if (supportMousewheel) {\n event_on(this.$el, 'wheel', this.onMouseWheel, false);\n }\n },\n destroyed: function destroyed() {\n var children = this.$parent.children;\n\n if (children) {\n children.splice(children.indexOf(this), 1);\n }\n\n if (supportMousewheel) {\n off(this.$el, 'wheel');\n }\n },\n watch: {\n initialOptions: 'setOptions',\n defaultIndex: function defaultIndex(val) {\n this.setIndex(val);\n }\n },\n computed: {\n count: function count() {\n return this.options.length;\n },\n baseOffset: function baseOffset() {\n return this.itemHeight * (this.visibleItemCount - 1) / 2;\n }\n },\n methods: {\n setOptions: function setOptions(options) {\n if (JSON.stringify(options) !== JSON.stringify(this.options)) {\n this.options = deepClone(options);\n this.setIndex(this.defaultIndex);\n }\n },\n onTouchStart: function onTouchStart(event) {\n if (this.readonly) {\n return;\n }\n\n this.touchStart(event);\n\n if (this.moving) {\n var translateY = getElementTranslateY(this.$refs.wrapper);\n this.offset = Math.min(0, translateY - this.baseOffset);\n this.startOffset = this.offset;\n } else {\n this.startOffset = this.offset;\n }\n\n this.duration = 0;\n this.transitionEndTrigger = null;\n this.touchStartTime = Date.now();\n this.momentumOffset = this.startOffset;\n },\n onTouchMove: function onTouchMove(event) {\n if (this.readonly) {\n return;\n }\n\n this.touchMove(event);\n\n if (this.direction === 'vertical') {\n this.moving = true;\n preventDefault(event, true);\n }\n\n this.offset = range(this.startOffset + this.deltaY, -(this.count * this.itemHeight), this.itemHeight);\n var now = Date.now();\n\n if (now - this.touchStartTime > 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 (Object(utils[\"f\" /* 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: [PickerColumn_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\", helper_default()([{}, data]), [_this4.slots('option', option) || h(\"div\", helper_default()([{}, 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\": [PickerColumn_bem(), this.className]\n }, [h(\"ul\", {\n \"ref\": \"wrapper\",\n \"style\": wrapperStyle,\n \"class\": PickerColumn_bem('wrapper'),\n \"on\": {\n \"transitionend\": this.onTransitionEnd\n }\n }, [this.genOptions()])]);\n }\n}));\n// CONCATENATED MODULE: ./es/picker/index.js\n // Utils\n\n\n\n\n\n // Components\n\n\n\n\nvar picker_createNamespace = Object(create[\"a\" /* createNamespace */])('picker'),\n picker_createComponent = picker_createNamespace[0],\n picker_bem = picker_createNamespace[1],\n t = picker_createNamespace[2];\n\n/* harmony default export */ var es_picker = (picker_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 ? Object(unit[\"b\" /* 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', picker_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\": picker_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\": picker_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\": picker_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\": picker_bem('columns'),\n \"style\": columnsStyle,\n \"on\": {\n \"touchmove\": preventDefault\n }\n }, [this.genColumnItems(), h(\"div\", {\n \"class\": picker_bem('mask'),\n \"style\": maskStyle\n }), h(\"div\", {\n \"class\": [BORDER_UNSET_TOP_BOTTOM, picker_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\": picker_bem()\n }, [this.toolbarPosition === 'top' ? this.genToolbar() : h(), this.loading ? h(es_loading, {\n \"class\": picker_bem('loading')\n }) : h(), this.slots('columns-top'), this.genColumns(), this.slots('columns-bottom'), this.toolbarPosition === 'bottom' ? this.genToolbar() : h()]);\n }\n}));\n// CONCATENATED MODULE: ./es/area/index.js\n\n\n\n\n\nvar area_createNamespace = Object(create[\"a\" /* createNamespace */])('area'),\n area_createComponent = area_createNamespace[0],\n area_bem = area_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\n/* harmony default export */ var es_area = (area_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(es_picker, {\n \"ref\": \"picker\",\n \"class\": area_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}));\n// CONCATENATED MODULE: ./es/utils/router.js\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\nfunction 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}\nfunction functionalRoute(context) {\n route(context.parent && context.parent.$router, context.props);\n}\nvar routeProps = {\n url: String,\n replace: Boolean,\n to: [String, Object]\n};\n// CONCATENATED MODULE: ./es/cell/shared.js\nvar 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};\n// CONCATENATED MODULE: ./es/cell/index.js\n\n // Utils\n\n\n\n\n // Components\n\n // Types\n\nvar cell_createNamespace = Object(create[\"a\" /* createNamespace */])('cell'),\n cell_createComponent = cell_createNamespace[0],\n cell_bem = cell_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 || Object(utils[\"c\" /* isDef */])(title);\n\n function Label() {\n var showLabel = slots.label || Object(utils[\"c\" /* isDef */])(label);\n\n if (showLabel) {\n return h(\"div\", {\n \"class\": [cell_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\": [cell_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 || Object(utils[\"c\" /* isDef */])(value);\n\n if (showValue) {\n return h(\"div\", {\n \"class\": [cell_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(es_icon, {\n \"class\": cell_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(es_icon, {\n \"class\": cell_bem('right-icon'),\n \"attrs\": {\n \"name\": arrowDirection ? \"arrow-\" + arrowDirection : 'arrow'\n }\n });\n }\n }\n\n function onClick(event) {\n functional_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\", helper_default()([{\n \"class\": cell_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);\n/* harmony default export */ var cell = (cell_createComponent(Cell));\n// CONCATENATED MODULE: ./es/utils/validate/system.js\n\nfunction isAndroid() {\n /* istanbul ignore next */\n return utils[\"h\" /* isServer */] ? false : /android/.test(navigator.userAgent.toLowerCase());\n}\nfunction isIOS() {\n /* istanbul ignore next */\n return utils[\"h\" /* isServer */] ? false : /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());\n}\n// CONCATENATED MODULE: ./es/utils/dom/reset-scroll.js\n/**\n * Hack for iOS12 page scroll\n * https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800\n */\n\n\nvar reset_scroll_isIOS = isIOS();\n/* istanbul ignore next */\n\nfunction resetScroll() {\n if (reset_scroll_isIOS) {\n setRootScrollTop(getRootScrollTop());\n }\n}\n// CONCATENATED MODULE: ./es/field/index.js\n\n\n // Utils\n\n\n\n\n\n // Components\n\n\n\n\n\nvar field_createNamespace = Object(create[\"a\" /* createNamespace */])('field'),\n field_createComponent = field_createNamespace[0],\n field_bem = field_createNamespace[1];\n\n/* harmony default export */ var es_field = (field_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 = Object(utils[\"c\" /* 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: Object(unit[\"a\" /* 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 (Object(utils[\"g\" /* 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 (Object(utils[\"e\" /* 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 = Object(utils[\"c\" /* 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 (Object(utils[\"c\" /* 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 = number_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 (Object(utils[\"f\" /* 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\": field_bem('control', [inputAlign, 'custom']),\n \"on\": {\n \"click\": this.onClickInput\n }\n }, [inputSlot]);\n }\n\n var inputProps = {\n ref: 'input',\n class: field_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\", helper_default()([{}, 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\", helper_default()([{\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\": field_bem('left-icon'),\n \"on\": {\n \"click\": this.onClickLeftIcon\n }\n }, [this.slots('left-icon') || h(es_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\": field_bem('right-icon'),\n \"on\": {\n \"click\": this.onClickRightIcon\n }\n }, [slots('right-icon') || h(es_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\": field_bem('word-limit')\n }, [h(\"span\", {\n \"class\": field_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\": field_bem('error-message', errorMessageAlign)\n }, [message]);\n }\n },\n getProp: function getProp(key) {\n if (Object(utils[\"c\" /* isDef */])(this[key])) {\n return this[key];\n }\n\n if (this.vanForm && Object(utils[\"c\" /* 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\": field_bem('value'),\n \"titleClass\": [field_bem('label', labelAlign), this.labelClass],\n \"arrowDirection\": this.arrowDirection\n },\n \"scopedSlots\": scopedSlots,\n \"class\": field_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\": field_bem('body')\n }, [this.genInput(), this.showClear && h(es_icon, {\n \"attrs\": {\n \"name\": \"clear\"\n },\n \"class\": field_bem('clear'),\n \"on\": {\n \"touchstart\": this.onClear\n }\n }), this.genRightIcon(), slots('button') && h(\"div\", {\n \"class\": field_bem('button')\n }, [slots('button')])]), this.genWordLimit(), this.genMessage()]);\n }\n}));\n// CONCATENATED MODULE: ./es/toast/lock-click.js\nvar lockCount = 0;\nfunction 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}\n// CONCATENATED MODULE: ./es/toast/Toast.js\n// Utils\n\n // Mixins\n\n // Components\n\n\n\n\nvar Toast_createNamespace = Object(create[\"a\" /* createNamespace */])('toast'),\n Toast_createComponent = Toast_createNamespace[0],\n Toast_bem = Toast_createNamespace[1];\n\n/* harmony default export */ var Toast = (Toast_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(es_icon, {\n \"class\": Toast_bem('icon'),\n \"attrs\": {\n \"classPrefix\": iconPrefix,\n \"name\": icon || type\n }\n });\n }\n\n if (type === 'loading') {\n return h(es_loading, {\n \"class\": Toast_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 (!Object(utils[\"c\" /* isDef */])(message) || message === '') {\n return;\n }\n\n if (type === 'html') {\n return h(\"div\", {\n \"class\": Toast_bem('text'),\n \"domProps\": {\n \"innerHTML\": message\n }\n });\n }\n\n return h(\"div\", {\n \"class\": Toast_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\": [Toast_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}));\n// CONCATENATED MODULE: ./es/toast/index.js\n\n\n\n\n\nvar toast_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 toast_multiple = false;\n\nvar currentOptions = _extends({}, toast_defaultOptions);\n\nfunction parseOptions(message) {\n if (Object(utils[\"f\" /* 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 (utils[\"h\" /* 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 || toast_multiple) {\n var toast = new (external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(Toast))({\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_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 (false) {}\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 (toast_multiple && !utils[\"h\" /* 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 toast_createMethod = function createMethod(type) {\n return function (options) {\n return toast_Toast(_extends({\n type: type\n }, parseOptions(options)));\n };\n};\n\n['loading', 'success', 'fail'].forEach(function (method) {\n toast_Toast[method] = toast_createMethod(method);\n});\n\ntoast_Toast.clear = function (all) {\n if (queue.length) {\n if (all) {\n queue.forEach(function (toast) {\n toast.clear();\n });\n queue = [];\n } else if (!toast_multiple) {\n queue[0].clear();\n } else {\n queue.shift().clear();\n }\n }\n};\n\ntoast_Toast.setDefaultOptions = function (type, options) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = options;\n } else {\n _extends(currentOptions, type);\n }\n};\n\ntoast_Toast.resetDefaultOptions = function (type) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = null;\n } else {\n currentOptions = _extends({}, toast_defaultOptions);\n defaultOptionsMap = {};\n }\n};\n\ntoast_Toast.allowMultiple = function (value) {\n if (value === void 0) {\n value = true;\n }\n\n toast_multiple = value;\n};\n\ntoast_Toast.install = function () {\n external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.use(Toast);\n};\n\nexternal_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.prototype.$toast = toast_Toast;\n/* harmony default export */ var es_toast = (toast_Toast);\n// CONCATENATED MODULE: ./es/button/index.js\n\n // Utils\n\n\n\n\n // Components\n\n\n // Types\n\nvar button_createNamespace = Object(create[\"a\" /* createNamespace */])('button'),\n button_createComponent = button_createNamespace[0],\n button_bem = button_createNamespace[1];\n\nfunction Button(h, props, slots, ctx) {\n var _ref;\n\n var tag = props.tag,\n icon = props.icon,\n type = props.type,\n color = props.color,\n plain = props.plain,\n disabled = props.disabled,\n loading = props.loading,\n hairline = props.hairline,\n loadingText = props.loadingText,\n iconPosition = props.iconPosition;\n var style = {};\n\n if (color) {\n style.color = plain ? color : 'white';\n\n if (!plain) {\n // Use background instead of backgroundColor to make linear-gradient work\n style.background = color;\n } // hide border when color is linear-gradient\n\n\n if (color.indexOf('gradient') !== -1) {\n style.border = 0;\n } else {\n style.borderColor = color;\n }\n }\n\n function onClick(event) {\n if (props.loading) {\n event.preventDefault();\n }\n\n if (!loading && !disabled) {\n functional_emit(ctx, 'click', event);\n functionalRoute(ctx);\n }\n }\n\n function onTouchstart(event) {\n functional_emit(ctx, 'touchstart', event);\n }\n\n var classes = [button_bem([type, props.size, {\n plain: plain,\n loading: loading,\n disabled: disabled,\n hairline: hairline,\n block: props.block,\n round: props.round,\n square: props.square\n }]), (_ref = {}, _ref[BORDER_SURROUND] = hairline, _ref)];\n\n function renderIcon() {\n if (loading) {\n return slots.loading ? slots.loading() : h(es_loading, {\n \"class\": button_bem('loading'),\n \"attrs\": {\n \"size\": props.loadingSize,\n \"type\": props.loadingType,\n \"color\": \"currentColor\"\n }\n });\n }\n\n if (slots.icon) {\n return h(\"div\", {\n \"class\": button_bem('icon')\n }, [slots.icon()]);\n }\n\n if (icon) {\n return h(es_icon, {\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n },\n \"class\": button_bem('icon')\n });\n }\n }\n\n function renderContent() {\n var content = [];\n\n if (iconPosition === 'left') {\n content.push(renderIcon());\n }\n\n var text;\n\n if (loading) {\n text = loadingText;\n } else {\n text = slots.default ? slots.default() : props.text;\n }\n\n if (text) {\n content.push(h(\"span\", {\n \"class\": button_bem('text')\n }, [text]));\n }\n\n if (iconPosition === 'right') {\n content.push(renderIcon());\n }\n\n return content;\n }\n\n return h(tag, helper_default()([{\n \"style\": style,\n \"class\": classes,\n \"attrs\": {\n \"type\": props.nativeType,\n \"disabled\": disabled\n },\n \"on\": {\n \"click\": onClick,\n \"touchstart\": onTouchstart\n }\n }, inherit(ctx)]), [h(\"div\", {\n \"class\": button_bem('content')\n }, [renderContent()])]);\n}\n\nButton.props = _extends({}, routeProps, {\n text: String,\n icon: String,\n color: String,\n block: Boolean,\n plain: Boolean,\n round: Boolean,\n square: Boolean,\n loading: Boolean,\n hairline: Boolean,\n disabled: Boolean,\n iconPrefix: String,\n nativeType: String,\n loadingText: String,\n loadingType: String,\n tag: {\n type: String,\n default: 'button'\n },\n type: {\n type: String,\n default: 'default'\n },\n size: {\n type: String,\n default: 'normal'\n },\n loadingSize: {\n type: String,\n default: '20px'\n },\n iconPosition: {\n type: String,\n default: 'left'\n }\n});\n/* harmony default export */ var es_button = (button_createComponent(Button));\n// CONCATENATED MODULE: ./es/utils/vnodes.js\nfunction 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\nfunction 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}\n// CONCATENATED MODULE: ./es/mixins/relation.js\n\nfunction 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}\nfunction 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}\n// CONCATENATED MODULE: ./es/goods-action/index.js\n\n\n\nvar goods_action_createNamespace = Object(create[\"a\" /* createNamespace */])('goods-action'),\n goods_action_createComponent = goods_action_createNamespace[0],\n goods_action_bem = goods_action_createNamespace[1];\n\n/* harmony default export */ var goods_action = (goods_action_createComponent({\n mixins: [ParentMixin('vanGoodsAction')],\n props: {\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": goods_action_bem({\n unfit: !this.safeAreaInsetBottom\n })\n }, [this.slots()]);\n }\n}));\n// CONCATENATED MODULE: ./es/goods-action-button/index.js\n\n\n\n\n\n\nvar goods_action_button_createNamespace = Object(create[\"a\" /* createNamespace */])('goods-action-button'),\n goods_action_button_createComponent = goods_action_button_createNamespace[0],\n goods_action_button_bem = goods_action_button_createNamespace[1];\n\n/* harmony default export */ var goods_action_button = (goods_action_button_createComponent({\n mixins: [ChildrenMixin('vanGoodsAction')],\n props: _extends({}, routeProps, {\n type: String,\n text: String,\n icon: String,\n color: String,\n loading: Boolean,\n disabled: Boolean\n }),\n computed: {\n isFirst: function isFirst() {\n var prev = this.parent && this.parent.children[this.index - 1];\n return !prev || prev.$options.name !== this.$options.name;\n },\n isLast: function isLast() {\n var next = this.parent && this.parent.children[this.index + 1];\n return !next || next.$options.name !== this.$options.name;\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n route(this.$router, this);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(es_button, {\n \"class\": goods_action_button_bem([{\n first: this.isFirst,\n last: this.isLast\n }, this.type]),\n \"attrs\": {\n \"size\": \"large\",\n \"type\": this.type,\n \"icon\": this.icon,\n \"color\": this.color,\n \"loading\": this.loading,\n \"disabled\": this.disabled\n },\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots() || this.text]);\n }\n}));\n// CONCATENATED MODULE: ./es/dialog/Dialog.js\n\n\n\n\n\n\n\n\nvar Dialog_createNamespace = Object(create[\"a\" /* createNamespace */])('dialog'),\n Dialog_createComponent = Dialog_createNamespace[0],\n Dialog_bem = Dialog_createNamespace[1],\n Dialog_t = Dialog_createNamespace[2];\n\n/* harmony default export */ var Dialog = (Dialog_createComponent({\n mixins: [PopupMixin()],\n props: {\n title: String,\n theme: String,\n width: [Number, String],\n message: String,\n className: null,\n callback: Function,\n beforeClose: Function,\n messageAlign: String,\n cancelButtonText: String,\n cancelButtonColor: String,\n confirmButtonText: String,\n confirmButtonColor: String,\n showCancelButton: Boolean,\n overlay: {\n type: Boolean,\n default: true\n },\n allowHtml: {\n type: Boolean,\n default: true\n },\n transition: {\n type: String,\n default: 'van-dialog-bounce'\n },\n showConfirmButton: {\n type: Boolean,\n default: true\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n loading: {\n confirm: false,\n cancel: false\n }\n };\n },\n methods: {\n onClickOverlay: function onClickOverlay() {\n this.handleAction('overlay');\n },\n handleAction: function handleAction(action) {\n var _this = this;\n\n this.$emit(action); // show not trigger close event when hidden\n\n if (!this.value) {\n return;\n }\n\n if (this.beforeClose) {\n this.loading[action] = true;\n this.beforeClose(action, function (state) {\n if (state !== false && _this.loading[action]) {\n _this.onClose(action);\n }\n\n _this.loading.confirm = false;\n _this.loading.cancel = false;\n });\n } else {\n this.onClose(action);\n }\n },\n onClose: function onClose(action) {\n this.close();\n\n if (this.callback) {\n this.callback(action);\n }\n },\n onOpened: function onOpened() {\n var _this2 = this;\n\n this.$emit('opened');\n this.$nextTick(function () {\n var _this2$$refs$dialog;\n\n (_this2$$refs$dialog = _this2.$refs.dialog) == null ? void 0 : _this2$$refs$dialog.focus();\n });\n },\n onClosed: function onClosed() {\n this.$emit('closed');\n },\n onKeydown: function onKeydown(event) {\n var _this3 = this;\n\n if (event.key === 'Escape' || event.key === 'Enter') {\n // skip keyboard events of child elements\n if (event.target !== this.$refs.dialog) {\n return;\n }\n\n var onEventType = {\n Enter: this.showConfirmButton ? function () {\n return _this3.handleAction('confirm');\n } : utils[\"i\" /* noop */],\n Escape: this.showCancelButton ? function () {\n return _this3.handleAction('cancel');\n } : utils[\"i\" /* noop */]\n };\n onEventType[event.key]();\n this.$emit('keydown', event);\n }\n },\n genRoundButtons: function genRoundButtons() {\n var _this4 = this;\n\n var h = this.$createElement;\n return h(goods_action, {\n \"class\": Dialog_bem('footer')\n }, [this.showCancelButton && h(goods_action_button, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"warning\",\n \"text\": this.cancelButtonText || Dialog_t('cancel'),\n \"color\": this.cancelButtonColor,\n \"loading\": this.loading.cancel\n },\n \"class\": Dialog_bem('cancel'),\n \"on\": {\n \"click\": function click() {\n _this4.handleAction('cancel');\n }\n }\n }), this.showConfirmButton && h(goods_action_button, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"danger\",\n \"text\": this.confirmButtonText || Dialog_t('confirm'),\n \"color\": this.confirmButtonColor,\n \"loading\": this.loading.confirm\n },\n \"class\": Dialog_bem('confirm'),\n \"on\": {\n \"click\": function click() {\n _this4.handleAction('confirm');\n }\n }\n })]);\n },\n genButtons: function genButtons() {\n var _this5 = this,\n _ref;\n\n var h = this.$createElement;\n var multiple = this.showCancelButton && this.showConfirmButton;\n return h(\"div\", {\n \"class\": [BORDER_TOP, Dialog_bem('footer')]\n }, [this.showCancelButton && h(es_button, {\n \"attrs\": {\n \"size\": \"large\",\n \"loading\": this.loading.cancel,\n \"text\": this.cancelButtonText || Dialog_t('cancel'),\n \"nativeType\": \"button\"\n },\n \"class\": Dialog_bem('cancel'),\n \"style\": {\n color: this.cancelButtonColor\n },\n \"on\": {\n \"click\": function click() {\n _this5.handleAction('cancel');\n }\n }\n }), this.showConfirmButton && h(es_button, {\n \"attrs\": {\n \"size\": \"large\",\n \"loading\": this.loading.confirm,\n \"text\": this.confirmButtonText || Dialog_t('confirm'),\n \"nativeType\": \"button\"\n },\n \"class\": [Dialog_bem('confirm'), (_ref = {}, _ref[BORDER_LEFT] = multiple, _ref)],\n \"style\": {\n color: this.confirmButtonColor\n },\n \"on\": {\n \"click\": function click() {\n _this5.handleAction('confirm');\n }\n }\n })]);\n },\n genContent: function genContent(hasTitle, messageSlot) {\n var h = this.$createElement;\n\n if (messageSlot) {\n return h(\"div\", {\n \"class\": Dialog_bem('content')\n }, [messageSlot]);\n }\n\n var message = this.message,\n messageAlign = this.messageAlign;\n\n if (message) {\n var _bem, _domProps;\n\n var data = {\n class: Dialog_bem('message', (_bem = {\n 'has-title': hasTitle\n }, _bem[messageAlign] = messageAlign, _bem)),\n domProps: (_domProps = {}, _domProps[this.allowHtml ? 'innerHTML' : 'textContent'] = message, _domProps)\n };\n return h(\"div\", {\n \"class\": Dialog_bem('content', {\n isolated: !hasTitle\n })\n }, [h(\"div\", helper_default()([{}, data]))]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n var message = this.message;\n var messageSlot = this.slots();\n var title = this.slots('title') || this.title;\n var Title = title && h(\"div\", {\n \"class\": Dialog_bem('header', {\n isolated: !message && !messageSlot\n })\n }, [title]);\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterEnter\": this.onOpened,\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"attrs\": {\n \"role\": \"dialog\",\n \"aria-labelledby\": this.title || message,\n \"tabIndex\": 0\n },\n \"class\": [Dialog_bem([this.theme]), this.className],\n \"style\": {\n width: Object(unit[\"a\" /* addUnit */])(this.width)\n },\n \"ref\": \"dialog\",\n \"on\": {\n \"keydown\": this.onKeydown\n }\n }, [Title, this.genContent(title, messageSlot), this.theme === 'round-button' ? this.genRoundButtons() : this.genButtons()])]);\n }\n}));\n// CONCATENATED MODULE: ./es/dialog/index.js\n\n\n\n\nvar dialog_instance;\n\nfunction dialog_isInDocument(element) {\n return document.body.contains(element);\n}\n\nfunction dialog_initInstance() {\n if (dialog_instance) {\n dialog_instance.$destroy();\n }\n\n dialog_instance = new (external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(Dialog))({\n el: document.createElement('div'),\n // avoid missing animation when first rendered\n propsData: {\n lazyRender: false\n }\n });\n dialog_instance.$on('input', function (value) {\n dialog_instance.value = value;\n });\n}\n\nfunction dialog_Dialog(options) {\n /* istanbul ignore if */\n if (utils[\"h\" /* isServer */]) {\n return Promise.resolve();\n }\n\n return new Promise(function (resolve, reject) {\n if (!dialog_instance || !dialog_isInDocument(dialog_instance.$el)) {\n dialog_initInstance();\n }\n\n _extends(dialog_instance, dialog_Dialog.currentOptions, options, {\n resolve: resolve,\n reject: reject\n });\n });\n}\n\ndialog_Dialog.defaultOptions = {\n value: true,\n title: '',\n width: '',\n theme: null,\n message: '',\n overlay: true,\n className: '',\n allowHtml: true,\n lockScroll: true,\n transition: 'van-dialog-bounce',\n beforeClose: null,\n overlayClass: '',\n overlayStyle: null,\n messageAlign: '',\n getContainer: 'body',\n cancelButtonText: '',\n cancelButtonColor: null,\n confirmButtonText: '',\n confirmButtonColor: null,\n showConfirmButton: true,\n showCancelButton: false,\n closeOnPopstate: true,\n closeOnClickOverlay: false,\n callback: function callback(action) {\n dialog_instance[action === 'confirm' ? 'resolve' : 'reject'](action);\n }\n};\ndialog_Dialog.alert = dialog_Dialog;\n\ndialog_Dialog.confirm = function (options) {\n return dialog_Dialog(_extends({\n showCancelButton: true\n }, options));\n};\n\ndialog_Dialog.close = function () {\n if (dialog_instance) {\n dialog_instance.value = false;\n }\n};\n\ndialog_Dialog.setDefaultOptions = function (options) {\n _extends(dialog_Dialog.currentOptions, options);\n};\n\ndialog_Dialog.resetDefaultOptions = function () {\n dialog_Dialog.currentOptions = _extends({}, dialog_Dialog.defaultOptions);\n};\n\ndialog_Dialog.resetDefaultOptions();\n\ndialog_Dialog.install = function () {\n external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.use(Dialog);\n};\n\ndialog_Dialog.Component = Dialog;\nexternal_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.prototype.$dialog = dialog_Dialog;\n/* harmony default export */ var dialog = (dialog_Dialog);\n// CONCATENATED MODULE: ./es/address-edit/Detail.js\n // Utils\n\n\n // Components\n\n\n\n\nvar Detail_createNamespace = Object(create[\"a\" /* createNamespace */])('address-edit-detail'),\n Detail_createComponent = Detail_createNamespace[0],\n Detail_bem = Detail_createNamespace[1],\n Detail_t = Detail_createNamespace[2];\n\nvar android = isAndroid();\n/* harmony default export */ var Detail = (Detail_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\": Detail_bem('finish'),\n \"on\": {\n \"click\": this.onFinish\n }\n }, [Detail_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\": Detail_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\": Detail_bem()\n }, [h(es_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\": Detail_t('label'),\n \"maxlength\": this.detailMaxlength,\n \"placeholder\": Detail_t('placeholder')\n },\n \"ref\": \"field\",\n \"scopedSlots\": {\n icon: this.genFinish\n },\n \"on\": _extends({}, this.$listeners)\n }), this.genSearchResult()]);\n }\n}));\n// CONCATENATED MODULE: ./es/switch/shared.js\n/**\n * Common Switch Props\n */\nvar 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};\n// CONCATENATED MODULE: ./es/mixins/field.js\nvar 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};\n// CONCATENATED MODULE: ./es/switch/index.js\n// Utils\n\n // Mixins\n\n // Components\n\n\n\nvar switch_createNamespace = Object(create[\"a\" /* createNamespace */])('switch'),\n switch_createComponent = switch_createNamespace[0],\n switch_bem = switch_createNamespace[1];\n\n/* harmony default export */ var es_switch = (switch_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: Object(unit[\"a\" /* 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(es_loading, {\n \"class\": switch_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\": switch_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\": switch_bem('node')\n }, [this.genLoading()])]);\n }\n}));\n// CONCATENATED MODULE: ./es/address-edit/index.js\n // Utils\n\n\n // Components\n\n\n\n\n\n\n\n\n\n\n\nvar address_edit_createNamespace = Object(create[\"a\" /* createNamespace */])('address-edit'),\n address_edit_createComponent = address_edit_createNamespace[0],\n address_edit_bem = address_edit_createNamespace[1],\n address_edit_t = address_edit_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\n/* harmony default export */ var address_edit = (address_edit_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 Object(utils[\"f\" /* 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 es_toast(address_edit_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 ? '' : address_edit_t('nameEmpty');\n\n case 'tel':\n return this.telValidator(value) ? '' : address_edit_t('telInvalid');\n\n case 'areaCode':\n return value ? '' : address_edit_t('areaEmpty');\n\n case 'addressDetail':\n return value ? '' : address_edit_t('addressEmpty');\n\n case 'postalCode':\n return value && !this.postalValidator(value) ? address_edit_t('postalEmpty') : '';\n }\n },\n onDelete: function onDelete() {\n var _this2 = this;\n\n dialog.confirm({\n title: address_edit_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; // await for click search event\n\n\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(es_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\": address_edit_t('defaultAddress')\n },\n \"class\": address_edit_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\": address_edit_bem()\n }, [h(\"div\", {\n \"class\": address_edit_bem('fields')\n }, [h(es_field, {\n \"attrs\": {\n \"clearable\": true,\n \"label\": address_edit_t('name'),\n \"placeholder\": address_edit_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(es_field, {\n \"attrs\": {\n \"clearable\": true,\n \"type\": \"tel\",\n \"label\": address_edit_t('tel'),\n \"maxlength\": this.telMaxlength,\n \"placeholder\": address_edit_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(es_field, {\n \"directives\": [{\n name: \"show\",\n value: this.showArea\n }],\n \"attrs\": {\n \"readonly\": true,\n \"clickable\": !disableArea,\n \"label\": address_edit_t('area'),\n \"placeholder\": this.areaPlaceholder || address_edit_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(es_field, {\n \"directives\": [{\n name: \"show\",\n value: !hideBottomFields\n }],\n \"attrs\": {\n \"type\": \"tel\",\n \"maxlength\": \"6\",\n \"label\": address_edit_t('postal'),\n \"placeholder\": address_edit_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\": address_edit_bem('buttons')\n }, [h(es_button, {\n \"attrs\": {\n \"block\": true,\n \"round\": true,\n \"loading\": this.isSaving,\n \"type\": \"danger\",\n \"text\": this.saveButtonText || address_edit_t('save')\n },\n \"on\": {\n \"click\": this.onSave\n }\n }), this.showDelete && h(es_button, {\n \"attrs\": {\n \"block\": true,\n \"round\": true,\n \"loading\": this.isDeleting,\n \"text\": this.deleteButtonText || address_edit_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(es_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}));\n// CONCATENATED MODULE: ./es/radio-group/index.js\n\n\n\n\nvar radio_group_createNamespace = Object(create[\"a\" /* createNamespace */])('radio-group'),\n radio_group_createComponent = radio_group_createNamespace[0],\n radio_group_bem = radio_group_createNamespace[1];\n\n/* harmony default export */ var radio_group = (radio_group_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\": radio_group_bem([this.direction]),\n \"attrs\": {\n \"role\": \"radiogroup\"\n }\n }, [this.slots()]);\n }\n}));\n// CONCATENATED MODULE: ./es/tag/index.js\n // Utils\n\n\n // Components\n\n // Types\n\nvar tag_createNamespace = Object(create[\"a\" /* createNamespace */])('tag'),\n tag_createComponent = tag_createNamespace[0],\n tag_bem = tag_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(es_icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": tag_bem('close'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n functional_emit(ctx, 'close');\n }\n }\n });\n return h(\"transition\", {\n \"attrs\": {\n \"name\": props.closeable ? 'van-fade' : null\n }\n }, [h(\"span\", helper_default()([{\n \"key\": \"content\",\n \"style\": style,\n \"class\": tag_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};\n/* harmony default export */ var es_tag = (tag_createComponent(Tag));\n// CONCATENATED MODULE: ./es/mixins/checkbox.js\n/**\n * Common part of Checkbox & Radio\n */\n\n\n\n\nvar checkbox_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: Object(unit[\"a\" /* addUnit */])(iconSize)\n }\n }, [this.slots('icon', {\n checked: checked\n }) || h(es_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};\n// CONCATENATED MODULE: ./es/radio/index.js\n\n\n\nvar radio_createNamespace = Object(create[\"a\" /* createNamespace */])('radio'),\n radio_createComponent = radio_createNamespace[0],\n radio_bem = radio_createNamespace[1];\n\n/* harmony default export */ var es_radio = (radio_createComponent({\n mixins: [checkbox_CheckboxMixin({\n bem: radio_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}));\n// CONCATENATED MODULE: ./es/address-list/Item.js\n\n // Utils\n\n\n // Components\n\n\n\n\n // Types\n\nvar Item_createNamespace = Object(create[\"a\" /* createNamespace */])('address-item'),\n Item_createComponent = Item_createNamespace[0],\n Item_bem = Item_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 functional_emit(ctx, 'select');\n }\n\n functional_emit(ctx, 'click');\n }\n\n var genRightIcon = function genRightIcon() {\n return h(es_icon, {\n \"attrs\": {\n \"name\": \"edit\"\n },\n \"class\": Item_bem('edit'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n functional_emit(ctx, 'edit');\n functional_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(es_tag, {\n \"attrs\": {\n \"type\": \"danger\",\n \"round\": true\n },\n \"class\": Item_bem('tag')\n }, [props.defaultTagText]);\n }\n }\n\n function genContent() {\n var data = props.data;\n var Info = [h(\"div\", {\n \"class\": Item_bem('name')\n }, [data.name + \" \" + data.tel, genTag()]), h(\"div\", {\n \"class\": Item_bem('address')\n }, [data.address])];\n\n if (switchable && !disabled) {\n return h(es_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\": Item_bem({\n disabled: disabled\n }),\n \"on\": {\n \"click\": onClick\n }\n }, [h(cell, helper_default()([{\n \"attrs\": {\n \"border\": false,\n \"valueClass\": Item_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};\n/* harmony default export */ var Item = (Item_createComponent(AddressItem));\n// CONCATENATED MODULE: ./es/address-list/index.js\n // Utils\n\n\n // Components\n\n\n\n // Types\n\nvar address_list_createNamespace = Object(create[\"a\" /* createNamespace */])('address-list'),\n address_list_createComponent = address_list_createNamespace[0],\n address_list_bem = address_list_createNamespace[1],\n address_list_t = address_list_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(Item, {\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 functional_emit(ctx, disabled ? 'select-disabled' : 'select', item, index);\n\n if (!disabled) {\n functional_emit(ctx, 'input', item.id);\n }\n },\n \"edit\": function edit() {\n functional_emit(ctx, disabled ? 'edit-disabled' : 'edit', item, index);\n },\n \"click\": function click() {\n functional_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\", helper_default()([{\n \"class\": address_list_bem()\n }, inherit(ctx)]), [slots.top == null ? void 0 : slots.top(), h(radio_group, {\n \"attrs\": {\n \"value\": props.value\n }\n }, [List]), props.disabledText && h(\"div\", {\n \"class\": address_list_bem('disabled-text')\n }, [props.disabledText]), DisabledList, slots.default == null ? void 0 : slots.default(), h(\"div\", {\n \"class\": address_list_bem('bottom')\n }, [h(es_button, {\n \"attrs\": {\n \"round\": true,\n \"block\": true,\n \"type\": \"danger\",\n \"text\": props.addButtonText || address_list_t('add')\n },\n \"class\": address_list_bem('add'),\n \"on\": {\n \"click\": function click() {\n functional_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};\n/* harmony default export */ var address_list = (address_list_createComponent(AddressList));\n// EXTERNAL MODULE: ./es/utils/validate/number.js\nvar number = __webpack_require__(5);\n\n// CONCATENATED MODULE: ./es/badge/index.js\n\n\n\nvar badge_createNamespace = Object(create[\"a\" /* createNamespace */])('badge'),\n badge_createComponent = badge_createNamespace[0],\n badge_bem = badge_createNamespace[1];\n\n/* harmony default export */ var badge = (badge_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 || Object(utils[\"c\" /* 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 (Object(utils[\"c\" /* isDef */])(max) && Object(number[\"b\" /* 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\": badge_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\": badge_bem('wrapper')\n }, [this.$scopedSlots.default(), this.renderBadge()]);\n }\n\n return this.renderBadge();\n }\n}));\n// EXTERNAL MODULE: ./es/utils/dom/raf.js\nvar raf = __webpack_require__(4);\n\n// CONCATENATED MODULE: ./es/utils/validate/date.js\n\nfunction isDate(val) {\n return Object.prototype.toString.call(val) === '[object Date]' && !Object(number[\"a\" /* isNaN */])(val.getTime());\n}\n// CONCATENATED MODULE: ./es/calendar/utils.js\n\n\nvar utils_createNamespace = Object(create[\"a\" /* createNamespace */])('calendar'),\n utils_createComponent = utils_createNamespace[0],\n utils_bem = utils_createNamespace[1],\n utils_t = utils_createNamespace[2];\n\n\nfunction formatMonthTitle(date) {\n return utils_t('monthTitle', date.getFullYear(), date.getMonth() + 1);\n}\nfunction 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}\nfunction 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}\nfunction getDayByOffset(date, offset) {\n date = new Date(date);\n date.setDate(date.getDate() + offset);\n return date;\n}\nfunction getPrevDay(date) {\n return getDayByOffset(date, -1);\n}\nfunction getNextDay(date) {\n return getDayByOffset(date, 1);\n}\nfunction calcDateNum(date) {\n var day1 = date[0].getTime();\n var day2 = date[1].getTime();\n return (day2 - day1) / (1000 * 60 * 60 * 24) + 1;\n}\nfunction copyDate(dates) {\n return new Date(dates);\n}\nfunction 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}\n// CONCATENATED MODULE: ./es/datetime-picker/utils.js\n\nfunction 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}\nfunction getTrueValue(value) {\n if (!value) {\n return 0;\n }\n\n while (Object(number[\"a\" /* 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}\nfunction getMonthEndDay(year, month) {\n return 32 - new Date(year, month - 1, 32).getDate();\n}\n// CONCATENATED MODULE: ./es/calendar/components/Month.js\n\n\n\n\n\nvar Month_createNamespace = Object(create[\"a\" /* createNamespace */])('calendar-month'),\n Month_createComponent = Month_createNamespace[0];\n\n/* harmony default export */ var Month = (Month_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 Object(unit[\"a\" /* 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 utils_t(type);\n }\n\n if (type === 'start-end') {\n return utils_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\": utils_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\": utils_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\": utils_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\": utils_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\": utils_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\": [utils_bem('day'), item.className],\n \"on\": {\n \"click\": onClick\n }\n }, [h(\"div\", {\n \"class\": utils_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\": [utils_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\": utils_bem('month'),\n \"ref\": \"month\"\n }, [this.genTitle(), this.genDays()]);\n }\n}));\n// CONCATENATED MODULE: ./es/calendar/components/Header.js\n\n\n\nvar Header_createNamespace = Object(create[\"a\" /* createNamespace */])('calendar-header'),\n Header_createComponent = Header_createNamespace[0];\n\n/* harmony default export */ var components_Header = (Header_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 || utils_t('title');\n return h(\"div\", {\n \"class\": utils_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\": utils_bem('header-subtitle')\n }, [this.subtitle]);\n }\n },\n genWeekDays: function genWeekDays() {\n var h = this.$createElement;\n var weekdays = utils_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\": utils_bem('weekdays')\n }, [renderWeekDays.map(function (item) {\n return h(\"span\", {\n \"class\": utils_bem('weekday')\n }, [item]);\n })]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": utils_bem('header')\n }, [this.genTitle(), this.genSubtitle(), this.genWeekDays()]);\n }\n}));\n// CONCATENATED MODULE: ./es/calendar/index.js\n// Utils\n\n\n\n // Components\n\n\n\n\n\n\n/* harmony default export */ var calendar = (utils_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 Object(raf[\"c\" /* 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 es_toast(this.rangePrompt || utils_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 es_toast(rangePrompt || utils_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(es_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\": utils_bem('confirm'),\n \"on\": {\n \"click\": this.onConfirm\n }\n }, [text || utils_t('confirm')]);\n }\n },\n genFooter: function genFooter() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": utils_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\": utils_bem()\n }, [h(components_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\": utils_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\": utils_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}));\n// CONCATENATED MODULE: ./es/image/index.js\n\n\n\n\n\nvar image_createNamespace = Object(create[\"a\" /* createNamespace */])('image'),\n image_createComponent = image_createNamespace[0],\n image_bem = image_createNamespace[1];\n\n/* harmony default export */ var es_image = (image_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 (Object(utils[\"c\" /* isDef */])(this.width)) {\n style.width = Object(unit[\"a\" /* addUnit */])(this.width);\n }\n\n if (Object(utils[\"c\" /* isDef */])(this.height)) {\n style.height = Object(unit[\"a\" /* addUnit */])(this.height);\n }\n\n if (Object(utils[\"c\" /* isDef */])(this.radius)) {\n style.overflow = 'hidden';\n style.borderRadius = Object(unit[\"a\" /* addUnit */])(this.radius);\n }\n\n return style;\n }\n },\n created: function created() {\n var $Lazyload = this.$Lazyload;\n\n if ($Lazyload && utils[\"b\" /* 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\": image_bem('loading')\n }, [this.slots('loading') || h(es_icon, {\n \"attrs\": {\n \"name\": this.loadingIcon,\n \"classPrefix\": this.iconPrefix\n },\n \"class\": image_bem('loading-icon')\n })]);\n }\n\n if (this.error && this.showError) {\n return h(\"div\", {\n \"class\": image_bem('error')\n }, [this.slots('error') || h(es_icon, {\n \"attrs\": {\n \"name\": this.errorIcon,\n \"classPrefix\": this.iconPrefix\n },\n \"class\": image_bem('error-icon')\n })]);\n }\n },\n genImage: function genImage() {\n var h = this.$createElement;\n var imgData = {\n class: image_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\", helper_default()([{\n \"ref\": \"image\",\n \"directives\": [{\n name: \"lazy\",\n value: this.src\n }]\n }, imgData]));\n }\n\n return h(\"img\", helper_default()([{\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\": image_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}));\n// CONCATENATED MODULE: ./es/card/index.js\n // Utils\n\n\n // Components\n\n\n // Types\n\nvar card_createNamespace = Object(create[\"a\" /* createNamespace */])('card'),\n card_createComponent = card_createNamespace[0],\n card_bem = card_createNamespace[1];\n\nfunction Card(h, props, slots, ctx) {\n var _slots$priceTop;\n\n var thumb = props.thumb;\n var showNum = slots.num || Object(utils[\"c\" /* isDef */])(props.num);\n var showPrice = slots.price || Object(utils[\"c\" /* isDef */])(props.price);\n var showOriginPrice = slots['origin-price'] || Object(utils[\"c\" /* isDef */])(props.originPrice);\n var showBottom = showNum || showPrice || showOriginPrice || slots.bottom;\n\n function onThumbClick(event) {\n functional_emit(ctx, 'click-thumb', event);\n }\n\n function ThumbTag() {\n if (slots.tag || props.tag) {\n return h(\"div\", {\n \"class\": card_bem('tag')\n }, [slots.tag ? slots.tag() : h(es_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\": card_bem('thumb'),\n \"on\": {\n \"click\": onThumbClick\n }\n }, [slots.thumb ? slots.thumb() : h(es_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\": [card_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\": [card_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\": card_bem('price-currency')\n }, [props.currency]), h(\"span\", {\n \"class\": card_bem('price-integer')\n }, [priceArr[0]]), \".\", h(\"span\", {\n \"class\": card_bem('price-decimal')\n }, [priceArr[1]])]);\n }\n\n function Price() {\n if (showPrice) {\n return h(\"div\", {\n \"class\": card_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\": card_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\": card_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\": card_bem('footer')\n }, [slots.footer()]);\n }\n }\n\n return h(\"div\", helper_default()([{\n \"class\": card_bem()\n }, inherit(ctx, true)]), [h(\"div\", {\n \"class\": card_bem('header')\n }, [Thumb(), h(\"div\", {\n \"class\": card_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};\n/* harmony default export */ var card = (card_createComponent(Card));\n// CONCATENATED MODULE: ./es/tab/index.js\n\n\n\n\n\nvar tab_createNamespace = Object(create[\"a\" /* createNamespace */])('tab'),\n tab_createComponent = tab_createNamespace[0],\n tab_bem = tab_createNamespace[1];\n\n/* harmony default export */ var tab = (tab_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 (false) {}\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\": tab_bem('pane-wrapper', {\n inactive: !isActive\n })\n }, [h(\"div\", {\n \"class\": tab_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\": tab_bem('pane')\n }, [Content]);\n }\n}));\n// CONCATENATED MODULE: ./es/tabs/utils.js\n\n\nfunction 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 Object(raf[\"c\" /* raf */])(animate);\n }\n }\n\n animate();\n}\nfunction 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 Object(raf[\"c\" /* raf */])(animate);\n } else if (callback) {\n Object(raf[\"c\" /* raf */])(callback);\n }\n }\n\n animate();\n}\n// CONCATENATED MODULE: ./es/utils/dom/style.js\nfunction 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}\n// CONCATENATED MODULE: ./es/utils/interceptor.js\n\nfunction 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 (Object(utils[\"g\" /* isPromise */])(returnVal)) {\n returnVal.then(function (value) {\n if (value) {\n done();\n }\n }).catch(utils[\"i\" /* noop */]);\n } else if (returnVal) {\n done();\n }\n } else {\n done();\n }\n}\n// CONCATENATED MODULE: ./es/tabs/Title.js\n\n\n\nvar Title_createNamespace = Object(create[\"a\" /* createNamespace */])('tab'),\n Title_createComponent = Title_createNamespace[0],\n Title_bem = Title_createNamespace[1];\n\n/* harmony default export */ var tabs_Title = (Title_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\": Title_bem('text', {\n ellipsis: !this.scrollable\n })\n }, [this.slots() || this.title]);\n\n if (this.dot || Object(utils[\"c\" /* isDef */])(this.info) && this.info !== '') {\n return h(\"span\", {\n \"class\": Title_bem('text-wrapper')\n }, [Text, h(es_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\": [Title_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}));\n// CONCATENATED MODULE: ./es/sticky/index.js\n\n\n\n\n\n\nvar sticky_createNamespace = Object(create[\"a\" /* createNamespace */])('sticky'),\n sticky_createComponent = sticky_createNamespace[0],\n sticky_bem = sticky_createNamespace[1];\n\n/* harmony default export */ var es_sticky = (sticky_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 Object(unit[\"b\" /* unitToPx */])(this.offsetTop);\n },\n style: function style() {\n if (!this.fixed) {\n return;\n }\n\n var style = {};\n\n if (Object(utils[\"c\" /* 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; // compatibility: https://caniuse.com/#feat=intersectionobserver\n\n\n if (!utils[\"h\" /* 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\": sticky_bem({\n fixed: fixed\n }),\n \"style\": this.style\n }, [this.slots()])]);\n }\n}));\n// CONCATENATED MODULE: ./es/tabs/Content.js\n\n\n\n\nvar Content_createNamespace = Object(create[\"a\" /* createNamespace */])('tabs'),\n Content_createComponent = Content_createNamespace[0],\n Content_bem = Content_createNamespace[1];\n\nvar MIN_SWIPE_DISTANCE = 50;\n/* harmony default export */ var tabs_Content = (Content_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\": Content_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\": Content_bem('content', {\n animated: this.animated\n }),\n \"on\": _extends({}, this.listeners)\n }, [this.genChildren()]);\n }\n}));\n// CONCATENATED MODULE: ./es/tabs/index.js\n// Utils\n\n\n\n\n\n\n\n\n // Mixins\n\n\n // Components\n\n\n\n\n\nvar tabs_createNamespace = Object(create[\"a\" /* createNamespace */])('tabs'),\n tabs_createComponent = tabs_createNamespace[0],\n tabs_bem = tabs_createNamespace[1];\n\n/* harmony default export */ var tabs = (tabs_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 Object(unit[\"b\" /* 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 event_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: Object(unit[\"a\" /* 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 (Object(utils[\"c\" /* isDef */])(lineHeight)) {\n var height = Object(unit[\"a\" /* 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 (!Object(utils[\"c\" /* 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(tabs_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\": [tabs_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\": tabs_bem('nav', [type, {\n complete: this.scrollable\n }]),\n \"style\": this.navStyle\n }, [this.slots('nav-left'), Nav, type === 'line' && h(\"div\", {\n \"class\": tabs_bem('line'),\n \"style\": this.lineStyle\n }), this.slots('nav-right')])]);\n return h(\"div\", {\n \"class\": tabs_bem([type])\n }, [this.sticky ? h(es_sticky, {\n \"attrs\": {\n \"container\": this.$el,\n \"offsetTop\": this.offsetTop\n },\n \"on\": {\n \"scroll\": this.onSticktScroll\n }\n }, [Wrap]) : Wrap, h(tabs_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}));\n// CONCATENATED MODULE: ./es/cascader/index.js\n\n\n\n\n\nvar cascader_createNamespace = Object(create[\"a\" /* createNamespace */])('cascader'),\n cascader_createComponent = cascader_createNamespace[0],\n cascader_bem = cascader_createNamespace[1],\n cascader_t = cascader_createNamespace[2];\n\n/* harmony default export */ var cascader = (cascader_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\": cascader_bem('header')\n }, [h(\"h2\", {\n \"class\": cascader_bem('title')\n }, [this.slots('title') || this.title]), this.closeable ? h(es_icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": cascader_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\": cascader_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(es_icon, {\n \"attrs\": {\n \"name\": \"success\"\n },\n \"class\": cascader_bem('selected-icon')\n }) : null]);\n };\n\n return h(\"ul\", {\n \"class\": cascader_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 || cascader_t('select');\n return h(tab, {\n \"attrs\": {\n \"title\": title,\n \"titleClass\": cascader_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\": cascader_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\": cascader_bem()\n }, [this.renderHeader(), this.renderTabs()]);\n }\n}));\n// CONCATENATED MODULE: ./es/cell-group/index.js\n // Utils\n\n\n\n // Types\n\nvar cell_group_createNamespace = Object(create[\"a\" /* createNamespace */])('cell-group'),\n cell_group_createComponent = cell_group_createNamespace[0],\n cell_group_bem = cell_group_createNamespace[1];\n\nfunction CellGroup(h, props, slots, ctx) {\n var _ref;\n\n var Group = h(\"div\", helper_default()([{\n \"class\": [cell_group_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\": cell_group_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};\n/* harmony default export */ var cell_group = (cell_group_createComponent(CellGroup));\n// CONCATENATED MODULE: ./es/checkbox/index.js\n\n\n\nvar checkbox_createNamespace = Object(create[\"a\" /* createNamespace */])('checkbox'),\n checkbox_createComponent = checkbox_createNamespace[0],\n checkbox_bem = checkbox_createNamespace[1];\n\n/* harmony default export */ var es_checkbox = (checkbox_createComponent({\n mixins: [checkbox_CheckboxMixin({\n bem: checkbox_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 } // 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\n\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}));\n// CONCATENATED MODULE: ./es/checkbox-group/index.js\n\n\n\n\nvar checkbox_group_createNamespace = Object(create[\"a\" /* createNamespace */])('checkbox-group'),\n checkbox_group_createComponent = checkbox_group_createNamespace[0],\n checkbox_group_bem = checkbox_group_createNamespace[1];\n\n/* harmony default export */ var checkbox_group = (checkbox_group_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\": checkbox_group_bem([this.direction])\n }, [this.slots()]);\n }\n}));\n// CONCATENATED MODULE: ./es/circle/index.js\n\n\n\nvar circle_createNamespace = Object(create[\"a\" /* createNamespace */])('circle'),\n circle_createComponent = circle_createNamespace[0],\n circle_bem = circle_createNamespace[1];\n\nvar PERIMETER = 3140;\nvar circle_uid = 0;\n\nfunction circle_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\n/* harmony default export */ var circle = (circle_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-\" + circle_uid++;\n },\n computed: {\n style: function style() {\n var size = Object(unit[\"a\" /* 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 Object(utils[\"f\" /* 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 = circle_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 Object(raf[\"a\" /* cancelRaf */])(this.rafId);\n this.rafId = Object(raf[\"c\" /* 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', circle_format(parseFloat(rate.toFixed(1))));\n\n if (this.increase ? rate < this.endRate : rate > this.endRate) {\n this.rafId = Object(raf[\"c\" /* raf */])(this.animate);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": circle_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\": circle_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\": circle_bem('hover'),\n \"style\": this.hoverStyle\n })]), this.slots() || this.text && h(\"div\", {\n \"class\": circle_bem('text')\n }, [this.text])]);\n }\n}));\n// CONCATENATED MODULE: ./es/col/index.js\n\n\n\nvar col_createNamespace = Object(create[\"a\" /* createNamespace */])('col'),\n col_createComponent = col_createNamespace[0],\n col_bem = col_createNamespace[1];\n\n/* harmony default export */ var col = (col_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\": col_bem((_bem = {}, _bem[span] = span, _bem[\"offset-\" + offset] = offset, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots()]);\n }\n}));\n// CONCATENATED MODULE: ./es/collapse/index.js\n\n\n\n\nvar collapse_createNamespace = Object(create[\"a\" /* createNamespace */])('collapse'),\n collapse_createComponent = collapse_createNamespace[0],\n collapse_bem = collapse_createNamespace[1];\n\n/* harmony default export */ var collapse = (collapse_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\": [collapse_bem(), (_ref = {}, _ref[BORDER_TOP_BOTTOM] = this.border, _ref)]\n }, [this.slots()]);\n }\n}));\n// CONCATENATED MODULE: ./es/collapse-item/index.js\n // Utils\n\n\n // Mixins\n\n // Components\n\n\n\n\nvar collapse_item_createNamespace = Object(create[\"a\" /* createNamespace */])('collapse-item'),\n collapse_item_createComponent = collapse_item_createNamespace[0],\n collapse_item_bem = collapse_item_createNamespace[1];\n\nvar CELL_SLOTS = ['title', 'icon', 'right-icon'];\n/* harmony default export */ var collapse_item = (collapse_item_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 (false) {}\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[\"c\" /* 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 Object(raf[\"b\" /* 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\": collapse_item_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\": collapse_item_bem('wrapper'),\n \"on\": {\n \"transitionend\": this.onTransitionEnd\n }\n }, [h(\"div\", {\n \"ref\": \"content\",\n \"class\": collapse_item_bem('content')\n }, [this.slots()])]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": [collapse_item_bem({\n border: this.index && this.border\n })]\n }, [this.genTitle(), this.genContent()]);\n }\n}));\n// CONCATENATED MODULE: ./es/contact-card/index.js\n // Utils\n\n\n // Components\n\n // Types\n\nvar contact_card_createNamespace = Object(create[\"a\" /* createNamespace */])('contact-card'),\n contact_card_createComponent = contact_card_createNamespace[0],\n contact_card_bem = contact_card_createNamespace[1],\n contact_card_t = contact_card_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 functional_emit(ctx, 'click', event);\n }\n }\n\n function Content() {\n if (type === 'add') {\n return props.addText || contact_card_t('addText');\n }\n\n return [h(\"div\", [contact_card_t('name') + \"\\uFF1A\" + props.name]), h(\"div\", [contact_card_t('tel') + \"\\uFF1A\" + props.tel])];\n }\n\n return h(cell, helper_default()([{\n \"attrs\": {\n \"center\": true,\n \"border\": false,\n \"isLink\": editable,\n \"valueClass\": contact_card_bem('value'),\n \"icon\": type === 'edit' ? 'contact' : 'add-square'\n },\n \"class\": contact_card_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};\n/* harmony default export */ var contact_card = (contact_card_createComponent(ContactCard));\n// CONCATENATED MODULE: ./es/contact-edit/index.js\n // Utils\n\n\n // Components\n\n\n\n\n\n\n\nvar contact_edit_createNamespace = Object(create[\"a\" /* createNamespace */])('contact-edit'),\n contact_edit_createComponent = contact_edit_createNamespace[0],\n contact_edit_bem = contact_edit_createNamespace[1],\n contact_edit_t = contact_edit_createNamespace[2];\n\nvar defaultContact = {\n tel: '',\n name: ''\n};\n/* harmony default export */ var contact_edit = (contact_edit_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 ? '' : contact_edit_t('nameInvalid');\n\n case 'tel':\n return this.telValidator(value) ? '' : contact_edit_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: contact_edit_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\": contact_edit_bem()\n }, [h(\"div\", {\n \"class\": contact_edit_bem('fields')\n }, [h(es_field, {\n \"attrs\": {\n \"clearable\": true,\n \"maxlength\": \"30\",\n \"label\": contact_edit_t('name'),\n \"placeholder\": contact_edit_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(es_field, {\n \"attrs\": {\n \"clearable\": true,\n \"type\": \"tel\",\n \"label\": contact_edit_t('tel'),\n \"placeholder\": contact_edit_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\": contact_edit_bem('switch-cell')\n }, [h(es_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\": contact_edit_bem('buttons')\n }, [h(es_button, {\n \"attrs\": {\n \"block\": true,\n \"round\": true,\n \"type\": \"danger\",\n \"text\": contact_edit_t('save'),\n \"loading\": this.isSaving\n },\n \"on\": {\n \"click\": this.onSave\n }\n }), this.isEdit && h(es_button, {\n \"attrs\": {\n \"block\": true,\n \"round\": true,\n \"text\": contact_edit_t('delete'),\n \"loading\": this.isDeleting\n },\n \"on\": {\n \"click\": this.onDelete\n }\n })])]);\n }\n}));\n// CONCATENATED MODULE: ./es/contact-list/index.js\n // Utils\n\n\n\n // Components\n\n\n\n\n\n\n // Types\n\nvar contact_list_createNamespace = Object(create[\"a\" /* createNamespace */])('contact-list'),\n contact_list_createComponent = contact_list_createNamespace[0],\n contact_list_bem = contact_list_createNamespace[1],\n contact_list_t = contact_list_createNamespace[2];\n\nfunction ContactList(h, props, slots, ctx) {\n var List = props.list && props.list.map(function (item, index) {\n function onClick() {\n functional_emit(ctx, 'input', item.id);\n functional_emit(ctx, 'select', item, index);\n }\n\n function RightIcon() {\n return h(es_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(es_icon, {\n \"attrs\": {\n \"name\": \"edit\"\n },\n \"class\": contact_list_bem('edit'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n functional_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(es_tag, {\n \"attrs\": {\n \"type\": \"danger\",\n \"round\": true\n },\n \"class\": contact_list_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\": contact_list_bem('item-value')\n },\n \"class\": contact_list_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\", helper_default()([{\n \"class\": contact_list_bem()\n }, inherit(ctx)]), [h(radio_group, {\n \"attrs\": {\n \"value\": props.value\n },\n \"class\": contact_list_bem('group')\n }, [List]), h(\"div\", {\n \"class\": contact_list_bem('bottom')\n }, [h(es_button, {\n \"attrs\": {\n \"round\": true,\n \"block\": true,\n \"type\": \"danger\",\n \"text\": props.addText || contact_list_t('addText')\n },\n \"class\": contact_list_bem('add'),\n \"on\": {\n \"click\": function click() {\n functional_emit(ctx, 'add');\n }\n }\n })])]);\n}\n\nContactList.props = {\n value: null,\n list: Array,\n addText: String,\n defaultTagText: String\n};\n/* harmony default export */ var contact_list = (contact_list_createComponent(ContactList));\n// EXTERNAL MODULE: ./es/utils/format/string.js\nvar string = __webpack_require__(2);\n\n// CONCATENATED MODULE: ./es/count-down/utils.js\n\nvar SECOND = 1000;\nvar MINUTE = 60 * SECOND;\nvar HOUR = 60 * MINUTE;\nvar DAY = 24 * HOUR;\nfunction 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}\nfunction 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', Object(string[\"b\" /* padZero */])(days));\n }\n\n if (format.indexOf('HH') === -1) {\n minutes += hours * 60;\n } else {\n format = format.replace('HH', Object(string[\"b\" /* padZero */])(hours));\n }\n\n if (format.indexOf('mm') === -1) {\n seconds += minutes * 60;\n } else {\n format = format.replace('mm', Object(string[\"b\" /* padZero */])(minutes));\n }\n\n if (format.indexOf('ss') === -1) {\n milliseconds += seconds * 1000;\n } else {\n format = format.replace('ss', Object(string[\"b\" /* padZero */])(seconds));\n }\n\n if (format.indexOf('S') !== -1) {\n var ms = Object(string[\"b\" /* 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}\nfunction isSameSecond(time1, time2) {\n return Math.floor(time1 / 1000) === Math.floor(time2 / 1000);\n}\n// CONCATENATED MODULE: ./es/count-down/index.js\n\n\n\n\nvar count_down_createNamespace = Object(create[\"a\" /* createNamespace */])('count-down'),\n count_down_createComponent = count_down_createNamespace[0],\n count_down_bem = count_down_createNamespace[1];\n\n/* harmony default export */ var count_down = (count_down_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 Object(raf[\"a\" /* 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 (!utils[\"b\" /* 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 = Object(raf[\"c\" /* 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 = Object(raf[\"c\" /* 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\": count_down_bem()\n }, [this.slots('default', this.timeData) || this.formattedTime]);\n }\n}));\n// CONCATENATED MODULE: ./es/coupon/index.js\n\n\n\n\n\nvar coupon_createNamespace = Object(create[\"a\" /* createNamespace */])('coupon'),\n coupon_createComponent = coupon_createNamespace[0],\n coupon_bem = coupon_createNamespace[1],\n coupon_t = coupon_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() + \".\" + Object(string[\"b\" /* padZero */])(date.getMonth() + 1) + \".\" + Object(string[\"b\" /* 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\n/* harmony default export */ var es_coupon = (coupon_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 coupon_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' ? coupon_t('unlimited') : coupon_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\": coupon_bem({\n disabled: disabled\n })\n }, [h(\"div\", {\n \"class\": coupon_bem('content')\n }, [h(\"div\", {\n \"class\": coupon_bem('head')\n }, [h(\"h2\", {\n \"class\": coupon_bem('amount'),\n \"domProps\": {\n \"innerHTML\": this.faceAmount\n }\n }), h(\"p\", {\n \"class\": coupon_bem('condition')\n }, [this.coupon.condition || this.conditionMessage])]), h(\"div\", {\n \"class\": coupon_bem('body')\n }, [h(\"p\", {\n \"class\": coupon_bem('name')\n }, [coupon.name]), h(\"p\", {\n \"class\": coupon_bem('valid')\n }, [this.validPeriod]), !this.disabled && h(es_checkbox, {\n \"attrs\": {\n \"size\": 18,\n \"value\": this.chosen,\n \"checkedColor\": RED\n },\n \"class\": coupon_bem('corner')\n })])]), description && h(\"p\", {\n \"class\": coupon_bem('description')\n }, [description])]);\n }\n}));\n// CONCATENATED MODULE: ./es/coupon-cell/index.js\n // Utils\n\n\n // Components\n\n // Types\n\nvar coupon_cell_createNamespace = Object(create[\"a\" /* createNamespace */])('coupon-cell'),\n coupon_cell_createComponent = coupon_cell_createNamespace[0],\n coupon_cell_bem = coupon_cell_createNamespace[1],\n coupon_cell_t = coupon_cell_createNamespace[2];\n\nfunction coupon_cell_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 (Object(utils[\"c\" /* isDef */])(coupon.value)) {\n value = coupon.value;\n } else if (Object(utils[\"c\" /* isDef */])(coupon.denominations)) {\n value = coupon.denominations;\n }\n\n return \"-\" + currency + \" \" + (value / 100).toFixed(2);\n }\n\n return coupons.length === 0 ? coupon_cell_t('tips') : coupon_cell_t('count', coupons.length);\n}\n\nfunction CouponCell(h, props, slots, ctx) {\n var selected = props.coupons[+props.chosenCoupon];\n var value = coupon_cell_formatValue(props);\n return h(cell, helper_default()([{\n \"class\": coupon_cell_bem(),\n \"attrs\": {\n \"value\": value,\n \"title\": props.title || coupon_cell_t('title'),\n \"border\": props.border,\n \"isLink\": props.editable,\n \"valueClass\": coupon_cell_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};\n/* harmony default export */ var coupon_cell = (coupon_cell_createComponent(CouponCell));\n// CONCATENATED MODULE: ./es/coupon-list/index.js\n// Utils\n // Components\n\n\n\n\n\n\n\nvar coupon_list_createNamespace = Object(create[\"a\" /* createNamespace */])('coupon-list'),\n coupon_list_createComponent = coupon_list_createNamespace[0],\n coupon_list_bem = coupon_list_createNamespace[1],\n coupon_list_t = coupon_list_createNamespace[2];\n\nvar EMPTY_IMAGE = 'https://img01.yzcdn.cn/vant/coupon-empty.png';\n/* harmony default export */ var coupon_list = (coupon_list_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\": coupon_list_bem('empty')\n }, [h(\"img\", {\n \"attrs\": {\n \"src\": this.emptyImage\n }\n }), h(\"p\", [coupon_list_t('empty')])]);\n },\n genExchangeButton: function genExchangeButton() {\n var h = this.$createElement;\n return h(es_button, {\n \"attrs\": {\n \"plain\": true,\n \"type\": \"danger\",\n \"text\": this.exchangeButtonText || coupon_list_t('exchange'),\n \"loading\": this.exchangeButtonLoading,\n \"disabled\": this.buttonDisabled\n },\n \"class\": coupon_list_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 || coupon_list_t('enable')) + count;\n var disabledCount = this.showCount ? \" (\" + disabledCoupons.length + \")\" : '';\n var disabledTitle = (this.disabledTitle || coupon_list_t('disabled')) + disabledCount;\n var ExchangeBar = this.showExchangeBar && h(\"div\", {\n \"class\": coupon_list_bem('exchange-bar')\n }, [h(es_field, {\n \"attrs\": {\n \"clearable\": true,\n \"border\": false,\n \"placeholder\": this.inputPlaceholder || coupon_list_t('placeholder'),\n \"maxlength\": \"20\"\n },\n \"class\": coupon_list_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\": coupon_list_bem('list', {\n 'with-bottom': this.showCloseButton\n }),\n \"style\": this.listStyle\n }, [coupons.map(function (coupon, index) {\n return h(es_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\": coupon_list_bem('list', {\n 'with-bottom': this.showCloseButton\n }),\n \"style\": this.listStyle\n }, [disabledCoupons.map(function (coupon) {\n return h(es_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\": coupon_list_bem()\n }, [ExchangeBar, h(tabs, {\n \"class\": coupon_list_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\": coupon_list_bem('bottom')\n }, [h(es_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 || coupon_list_t('close')\n },\n \"class\": coupon_list_bem('close'),\n \"on\": {\n \"click\": onChange(-1)\n }\n })])]);\n }\n}));\n// CONCATENATED MODULE: ./es/datetime-picker/shared.js\n\n\n\n\n\nvar 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});\nvar 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 = Object(string[\"b\" /* 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(es_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};\n// CONCATENATED MODULE: ./es/datetime-picker/TimePicker.js\n\n\n\n\n\n\nvar TimePicker_createNamespace = Object(create[\"a\" /* createNamespace */])('time-picker'),\n TimePicker_createComponent = TimePicker_createNamespace[0];\n\n/* harmony default export */ var TimePicker = (TimePicker_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 = Object(string[\"b\" /* padZero */])(this.minHour) + \":\" + Object(string[\"b\" /* padZero */])(this.minMinute);\n }\n\n var _value$split = value.split(':'),\n hour = _value$split[0],\n minute = _value$split[1];\n\n hour = Object(string[\"b\" /* padZero */])(range(hour, this.minHour, this.maxHour));\n minute = Object(string[\"b\" /* 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}));\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js\nfunction _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\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/construct.js\n\n\nfunction construct_construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n construct_construct = Reflect.construct;\n } else {\n construct_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\n return construct_construct.apply(null, arguments);\n}\n// CONCATENATED MODULE: ./es/datetime-picker/DatePicker.js\n\n\n\n\n\n\n\nvar currentYear = new Date().getFullYear();\n\nvar DatePicker_createNamespace = Object(create[\"a\" /* createNamespace */])('date-picker'),\n DatePicker_createComponent = DatePicker_createNamespace[0];\n\n/* harmony default export */ var DatePicker = (DatePicker_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_construct(Date, dates.map(function (val) {\n return getTrueValue(val[0]);\n }));\n maxDate = construct_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', Object(string[\"b\" /* padZero */])(value.getMonth() + 1));\n\n case 'day':\n return formatter('day', Object(string[\"b\" /* padZero */])(value.getDate()));\n\n case 'hour':\n return formatter('hour', Object(string[\"b\" /* padZero */])(value.getHours()));\n\n case 'minute':\n return formatter('minute', Object(string[\"b\" /* 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}));\n// CONCATENATED MODULE: ./es/datetime-picker/index.js\n\n\n\n\n\nvar datetime_picker_createNamespace = Object(create[\"a\" /* createNamespace */])('datetime-picker'),\n datetime_picker_createComponent = datetime_picker_createNamespace[0],\n datetime_picker_bem = datetime_picker_createNamespace[1];\n\n/* harmony default export */ var datetime_picker = (datetime_picker_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\": datetime_picker_bem(),\n \"scopedSlots\": this.$scopedSlots,\n \"props\": _extends({}, this.$props),\n \"on\": _extends({}, this.$listeners)\n });\n }\n}));\n// CONCATENATED MODULE: ./es/divider/index.js\n // Utils\n\n\n // Types\n\nvar divider_createNamespace = Object(create[\"a\" /* createNamespace */])('divider'),\n divider_createComponent = divider_createNamespace[0],\n divider_bem = divider_createNamespace[1];\n\nfunction Divider(h, props, slots, ctx) {\n var _bem;\n\n return h(\"div\", helper_default()([{\n \"attrs\": {\n \"role\": \"separator\"\n },\n \"style\": {\n borderColor: props.borderColor\n },\n \"class\": divider_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};\n/* harmony default export */ var divider = (divider_createComponent(Divider));\n// CONCATENATED MODULE: ./es/dropdown-item/index.js\n// Utils\n\n // Mixins\n\n\n // Components\n\n\n\n\n\nvar dropdown_item_createNamespace = Object(create[\"a\" /* createNamespace */])('dropdown-item'),\n dropdown_item_createComponent = dropdown_item_createNamespace[0],\n dropdown_item_bem = dropdown_item_createNamespace[1];\n\n/* harmony default export */ var dropdown_item = (dropdown_item_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 ? event_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\": dropdown_item_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(es_icon, {\n \"class\": dropdown_item_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\": dropdown_item_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\": dropdown_item_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// CONCATENATED MODULE: ./es/mixins/click-outside.js\n/**\n * Listen to click outside event\n */\n\nvar click_outside_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 event_on(document, config.event, this.clickOutsideHandler);\n },\n beforeDestroy: function beforeDestroy() {\n off(document, config.event, this.clickOutsideHandler);\n }\n };\n};\n// CONCATENATED MODULE: ./es/dropdown-menu/index.js\n// Utils\n\n // Mixins\n\n\n\n\nvar dropdown_menu_createNamespace = Object(create[\"a\" /* createNamespace */])('dropdown-menu'),\n dropdown_menu_createComponent = dropdown_menu_createNamespace[0],\n dropdown_menu_bem = dropdown_menu_createNamespace[1];\n\n/* harmony default export */ var dropdown_menu = (dropdown_menu_createComponent({\n mixins: [ParentMixin('vanDropdownMenu'), click_outside_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 && Object(utils[\"c\" /* 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\": dropdown_menu_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\": [dropdown_menu_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\": dropdown_menu_bem()\n }, [h(\"div\", {\n \"ref\": \"bar\",\n \"style\": this.barStyle,\n \"class\": dropdown_menu_bem('bar', {\n opened: this.opened\n })\n }, [Titles]), this.slots('default')]);\n }\n}));\n// CONCATENATED MODULE: ./es/empty/Network.js\nvar prefix = 'van-empty-network-';\n/* harmony default export */ var Network = ({\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});\n// CONCATENATED MODULE: ./es/empty/index.js\n\n\n\nvar empty_createNamespace = Object(create[\"a\" /* createNamespace */])('empty'),\n empty_createComponent = empty_createNamespace[0],\n empty_bem = empty_createNamespace[1];\n\nvar PRESETS = ['error', 'search', 'default'];\n/* harmony default export */ var empty = (empty_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: Object(unit[\"a\" /* addUnit */])(this.imageSize),\n height: Object(unit[\"a\" /* addUnit */])(this.imageSize)\n };\n return h(\"div\", {\n \"class\": empty_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\": empty_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\": empty_bem('bottom')\n }, [slot]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": empty_bem()\n }, [this.genImage(), this.genDescription(), this.genBottom()]);\n }\n}));\n// CONCATENATED MODULE: ./es/form/index.js\n\n\n\nvar form_createNamespace = Object(create[\"a\" /* createNamespace */])('form'),\n form_createComponent = form_createNamespace[0],\n form_bem = form_createNamespace[1];\n\n/* harmony default export */ var es_form = (form_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\": form_bem(),\n \"on\": {\n \"submit\": this.onSubmit\n }\n }, [this.slots()]);\n }\n}));\n// CONCATENATED MODULE: ./es/goods-action-icon/index.js\n\n\n\n\n\n\n\nvar goods_action_icon_createNamespace = Object(create[\"a\" /* createNamespace */])('goods-action-icon'),\n goods_action_icon_createComponent = goods_action_icon_createNamespace[0],\n goods_action_icon_bem = goods_action_icon_createNamespace[1];\n\n/* harmony default export */ var goods_action_icon = (goods_action_icon_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 (false) {}\n\n if (slot) {\n return h(\"div\", {\n \"class\": goods_action_icon_bem('icon')\n }, [slot, h(es_info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": info\n }\n })]);\n }\n\n return h(es_icon, {\n \"class\": [goods_action_icon_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\": goods_action_icon_bem(),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genIcon(), this.slots() || this.text]);\n }\n}));\n// CONCATENATED MODULE: ./es/grid/index.js\n\n\n\n\nvar grid_createNamespace = Object(create[\"a\" /* createNamespace */])('grid'),\n grid_createComponent = grid_createNamespace[0],\n grid_bem = grid_createNamespace[1];\n\n/* harmony default export */ var grid = (grid_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: Object(unit[\"a\" /* 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\": [grid_bem(), (_ref = {}, _ref[BORDER_TOP] = this.border && !this.gutter, _ref)]\n }, [this.slots()]);\n }\n}));\n// CONCATENATED MODULE: ./es/grid-item/index.js\n // Utils\n\n\n\n // Mixins\n\n // Components\n\n\n\n\nvar grid_item_createNamespace = Object(create[\"a\" /* createNamespace */])('grid-item'),\n grid_item_createComponent = grid_item_createNamespace[0],\n grid_item_bem = grid_item_createNamespace[1];\n\n/* harmony default export */ var grid_item = (grid_item_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 = Object(unit[\"a\" /* 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 = Object(unit[\"a\" /* 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 (false) {}\n\n if (iconSlot) {\n return h(\"div\", {\n \"class\": grid_item_bem('icon-wrapper')\n }, [iconSlot, h(es_info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": info\n }\n })]);\n }\n\n if (this.icon) {\n return h(es_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\": grid_item_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\": grid_item_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\": [grid_item_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\": [grid_item_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}));\n// CONCATENATED MODULE: ./es/image-preview/shared.js\n\n\nvar shared_createNamespace = Object(create[\"a\" /* createNamespace */])('image-preview'),\n shared_createComponent = shared_createNamespace[0],\n shared_bem = shared_createNamespace[1];\n\n\n// CONCATENATED MODULE: ./es/swipe/index.js\n// Utils\n\n\n\n\n // Mixins\n\n\n\n\n\nvar swipe_createNamespace = Object(create[\"a\" /* createNamespace */])('swipe'),\n swipe_createComponent = swipe_createNamespace[0],\n swipe_bem = swipe_createNamespace[1];\n\n/* harmony default export */ var swipe = (swipe_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 Object(raf[\"b\" /* 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 Object(raf[\"b\" /* 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 Object(raf[\"b\" /* 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 Object(raf[\"b\" /* 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\": swipe_bem('indicators', {\n vertical: this.vertical\n })\n }, [Array.apply(void 0, Array(count)).map(function (empty, index) {\n return h(\"i\", {\n \"class\": swipe_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\": swipe_bem()\n }, [h(\"div\", {\n \"ref\": \"track\",\n \"style\": this.trackStyle,\n \"class\": swipe_bem('track', {\n vertical: this.vertical\n })\n }, [this.slots()]), this.genIndicator()]);\n }\n}));\n// CONCATENATED MODULE: ./es/swipe-item/index.js\n\n\n\n\nvar swipe_item_createNamespace = Object(create[\"a\" /* createNamespace */])('swipe-item'),\n swipe_item_createComponent = swipe_item_createNamespace[0],\n swipe_item_bem = swipe_item_createNamespace[1];\n\n/* harmony default export */ var swipe_item = (swipe_item_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\": swipe_item_bem(),\n \"style\": this.style,\n \"on\": _extends({}, this.$listeners)\n }, [this.shouldRender && this.slots()]);\n }\n}));\n// CONCATENATED MODULE: ./es/image-preview/ImagePreviewItem.js\n// Utils\n\n\n // Mixins\n\n // Component\n\n\n\n\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\n/* harmony default export */ var ImagePreviewItem = ({\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(es_loading, {\n \"attrs\": {\n \"type\": \"spinner\"\n }\n });\n }\n };\n return h(swipe_item, {\n \"class\": shared_bem('swipe-item')\n }, [h(es_image, {\n \"attrs\": {\n \"src\": this.src,\n \"fit\": \"contain\"\n },\n \"class\": shared_bem('image', {\n vertical: this.vertical\n }),\n \"style\": this.imageStyle,\n \"scopedSlots\": imageSlots,\n \"on\": {\n \"load\": this.onLoad\n }\n })]);\n }\n});\n// CONCATENATED MODULE: ./es/image-preview/ImagePreview.js\n// Utils\n // Mixins\n\n\n\n // Components\n\n\n\n\n/* harmony default export */ var image_preview_ImagePreview = (shared_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: shared_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\": shared_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\": shared_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\": shared_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(es_icon, {\n \"attrs\": {\n \"role\": \"button\",\n \"name\": this.closeIcon\n },\n \"class\": shared_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\": [shared_bem(), this.className]\n }, [this.genClose(), this.genImages(), this.genIndex(), this.genCover()]) : null]);\n }\n}));\n// CONCATENATED MODULE: ./es/image-preview/index.js\n\n\n\n\nvar image_preview_instance;\nvar image_preview_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 image_preview_initInstance = function initInstance() {\n image_preview_instance = new (external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.extend(image_preview_ImagePreview))({\n el: document.createElement('div')\n });\n document.body.appendChild(image_preview_instance.$el);\n image_preview_instance.$on('change', function (index) {\n if (image_preview_instance.onChange) {\n image_preview_instance.onChange(index);\n }\n });\n image_preview_instance.$on('scale', function (data) {\n if (image_preview_instance.onScale) {\n image_preview_instance.onScale(data);\n }\n });\n};\n\nvar es_image_preview_ImagePreview = function ImagePreview(images, startPosition) {\n if (startPosition === void 0) {\n startPosition = 0;\n }\n /* istanbul ignore if */\n\n\n if (utils[\"h\" /* isServer */]) {\n return;\n }\n\n if (!image_preview_instance) {\n image_preview_initInstance();\n }\n\n var options = Array.isArray(images) ? {\n images: images,\n startPosition: startPosition\n } : images;\n\n _extends(image_preview_instance, image_preview_defaultConfig, options);\n\n image_preview_instance.$once('input', function (show) {\n image_preview_instance.value = show;\n });\n image_preview_instance.$once('closed', function () {\n image_preview_instance.images = [];\n });\n\n if (options.onClose) {\n image_preview_instance.$off('close');\n image_preview_instance.$once('close', options.onClose);\n }\n\n return image_preview_instance;\n};\n\nes_image_preview_ImagePreview.Component = image_preview_ImagePreview;\n\nes_image_preview_ImagePreview.install = function () {\n external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.use(image_preview_ImagePreview);\n};\n\n/* harmony default export */ var image_preview = (es_image_preview_ImagePreview);\n// CONCATENATED MODULE: ./es/index-anchor/index.js\n\n\n\n\n\nvar index_anchor_createNamespace = Object(create[\"a\" /* createNamespace */])('index-anchor'),\n index_anchor_createComponent = index_anchor_createNamespace[0],\n index_anchor_bem = index_anchor_createNamespace[1];\n\n/* harmony default export */ var index_anchor = (index_anchor_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\": [index_anchor_bem({\n sticky: sticky\n }), (_ref = {}, _ref[BORDER_BOTTOM] = sticky, _ref)]\n }, [this.slots('default') || this.index])]);\n }\n}));\n// CONCATENATED MODULE: ./es/index-bar/index.js\n// Utils\n\n\n\n // Mixins\n\n\n\n\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 index_bar_createNamespace = Object(create[\"a\" /* createNamespace */])('index-bar'),\n index_bar_createComponent = index_bar_createNamespace[0],\n index_bar_bem = index_bar_createNamespace[1];\n\n/* harmony default export */ var index_bar = (index_bar_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 (Object(utils[\"c\" /* 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\": index_bar_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\": index_bar_bem()\n }, [h(\"div\", {\n \"class\": index_bar_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}));\n// EXTERNAL MODULE: ./node_modules/vue-lazyload/vue-lazyload.js\nvar vue_lazyload = __webpack_require__(9);\nvar vue_lazyload_default = /*#__PURE__*/__webpack_require__.n(vue_lazyload);\n\n// CONCATENATED MODULE: ./es/lazyload/index.js\n\n/* harmony default export */ var lazyload = (vue_lazyload_default.a);\n// CONCATENATED MODULE: ./es/list/index.js\n// Utils\n\n\n // Mixins\n\n // Components\n\n\n\nvar list_createNamespace = Object(create[\"a\" /* createNamespace */])('list'),\n list_createComponent = list_createNamespace[0],\n list_bem = list_createNamespace[1],\n list_t = list_createNamespace[2];\n\n/* harmony default export */ var es_list = (list_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\": list_bem('loading')\n }, [this.slots('loading') || h(es_loading, {\n \"attrs\": {\n \"size\": \"16\"\n }\n }, [this.loadingText || list_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\": list_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\": list_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\": list_bem('placeholder')\n });\n return h(\"div\", {\n \"class\": list_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}));\n// EXTERNAL MODULE: ./es/locale/index.js + 2 modules\nvar locale = __webpack_require__(7);\n\n// CONCATENATED MODULE: ./es/nav-bar/index.js\n// Utils\n\n // Components\n\n\n\nvar nav_bar_createNamespace = Object(create[\"a\" /* createNamespace */])('nav-bar'),\n nav_bar_createComponent = nav_bar_createNamespace[0],\n nav_bar_bem = nav_bar_createNamespace[1];\n\n/* harmony default export */ var nav_bar = (nav_bar_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(es_icon, {\n \"class\": nav_bar_bem('arrow'),\n \"attrs\": {\n \"name\": \"arrow-left\"\n }\n }), this.leftText && h(\"span\", {\n \"class\": nav_bar_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\": nav_bar_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\": [nav_bar_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\": nav_bar_bem('content')\n }, [this.hasLeft() && h(\"div\", {\n \"class\": nav_bar_bem('left'),\n \"on\": {\n \"click\": this.onClickLeft\n }\n }, [this.genLeft()]), h(\"div\", {\n \"class\": [nav_bar_bem('title'), 'van-ellipsis']\n }, [this.slots('title') || this.title]), this.hasRight() && h(\"div\", {\n \"class\": nav_bar_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\": nav_bar_bem('placeholder'),\n \"style\": {\n height: this.height + \"px\"\n }\n }, [this.genNavBar()]);\n }\n\n return this.genNavBar();\n }\n}));\n// CONCATENATED MODULE: ./es/notice-bar/index.js\n\n\n\n\n\nvar notice_bar_createNamespace = Object(create[\"a\" /* createNamespace */])('notice-bar'),\n notice_bar_createComponent = notice_bar_createNamespace[0],\n notice_bar_bem = notice_bar_createNamespace[1];\n\n/* harmony default export */ var notice_bar = (notice_bar_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 Object(raf[\"c\" /* raf */])(function () {\n // use double raf to ensure animation can start\n Object(raf[\"b\" /* 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 = Object(utils[\"c\" /* 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 Object(raf[\"b\" /* 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(es_icon, {\n \"class\": notice_bar_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(es_icon, {\n \"class\": notice_bar_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\": notice_bar_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\": notice_bar_bem('wrap'),\n \"attrs\": {\n \"role\": \"marquee\"\n }\n }, [h(\"div\", {\n \"ref\": \"content\",\n \"class\": [notice_bar_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}));\n// CONCATENATED MODULE: ./es/notify/Notify.js\n\n // Utils\n\n\n // Mixins\n\n // Components\n\n // Types\n\nvar Notify_createNamespace = Object(create[\"a\" /* createNamespace */])('notify'),\n Notify_createComponent = Notify_createNamespace[0],\n Notify_bem = Notify_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, helper_default()([{\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\": [Notify_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});\n/* harmony default export */ var notify_Notify = (Notify_createComponent(Notify));\n// CONCATENATED MODULE: ./es/notify/index.js\n\n\n\n\n\nvar timer;\nvar notify_instance;\n\nfunction notify_parseOptions(message) {\n return Object(utils[\"f\" /* isObject */])(message) ? message : {\n message: message\n };\n}\n\nfunction es_notify_Notify(options) {\n /* istanbul ignore if */\n if (utils[\"h\" /* isServer */]) {\n return;\n }\n\n if (!notify_instance) {\n notify_instance = mount(notify_Notify, {\n on: {\n click: function click(event) {\n if (notify_instance.onClick) {\n notify_instance.onClick(event);\n }\n },\n close: function close() {\n if (notify_instance.onClose) {\n notify_instance.onClose();\n }\n },\n opened: function opened() {\n if (notify_instance.onOpened) {\n notify_instance.onOpened();\n }\n }\n }\n });\n }\n\n options = _extends({}, es_notify_Notify.currentOptions, notify_parseOptions(options));\n\n _extends(notify_instance, options);\n\n clearTimeout(timer);\n\n if (options.duration && options.duration > 0) {\n timer = setTimeout(es_notify_Notify.clear, options.duration);\n }\n\n return notify_instance;\n}\n\nfunction notify_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\nes_notify_Notify.clear = function () {\n if (notify_instance) {\n notify_instance.value = false;\n }\n};\n\nes_notify_Notify.currentOptions = notify_defaultOptions();\n\nes_notify_Notify.setDefaultOptions = function (options) {\n _extends(es_notify_Notify.currentOptions, options);\n};\n\nes_notify_Notify.resetDefaultOptions = function () {\n es_notify_Notify.currentOptions = notify_defaultOptions();\n};\n\nes_notify_Notify.install = function () {\n external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.use(notify_Notify);\n};\n\nes_notify_Notify.Component = notify_Notify;\nexternal_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a.prototype.$notify = es_notify_Notify;\n/* harmony default export */ var notify = (es_notify_Notify);\n// CONCATENATED MODULE: ./es/number-keyboard/DeleteIcon.js\n/* harmony default export */ var number_keyboard_DeleteIcon = ({\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});\n// CONCATENATED MODULE: ./es/number-keyboard/CollapseIcon.js\n/* harmony default export */ var CollapseIcon = ({\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});\n// CONCATENATED MODULE: ./es/number-keyboard/Key.js\n\n\n\n\n\n\nvar Key_createNamespace = Object(create[\"a\" /* createNamespace */])('key'),\n Key_createComponent = Key_createNamespace[0],\n Key_bem = Key_createNamespace[1];\n\n/* harmony default export */ var Key = (Key_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(es_loading, {\n \"class\": Key_bem('loading-icon')\n });\n }\n\n if (isDelete) {\n return text || h(number_keyboard_DeleteIcon, {\n \"class\": Key_bem('delete-icon')\n });\n }\n\n if (isExtra) {\n return text || h(CollapseIcon, {\n \"class\": Key_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\": Key_bem('wrapper', {\n wider: this.wider\n })\n }, [h(\"div\", {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\"\n },\n \"class\": Key_bem([this.color, {\n large: this.large,\n active: this.active,\n delete: this.type === 'delete'\n }])\n }, [this.genContent()])]);\n }\n}));\n// CONCATENATED MODULE: ./es/number-keyboard/index.js\n\n\n\n\n\n\nvar number_keyboard_createNamespace = Object(create[\"a\" /* createNamespace */])('number-keyboard'),\n number_keyboard_createComponent = number_keyboard_createNamespace[0],\n number_keyboard_bem = number_keyboard_createNamespace[1];\n\n/* harmony default export */ var number_keyboard = (number_keyboard_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\": number_keyboard_bem('header')\n }, [titleLeft && h(\"span\", {\n \"class\": number_keyboard_bem('title-left')\n }, [titleLeft]), title && h(\"h2\", {\n \"class\": number_keyboard_bem('title')\n }, [title]), showClose && h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": number_keyboard_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\": number_keyboard_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\": number_keyboard_bem({\n unfit: !this.safeAreaInsetBottom,\n 'with-title': Title\n }),\n \"on\": {\n \"touchstart\": event_stopPropagation,\n \"animationend\": this.onAnimationEnd,\n \"webkitAnimationEnd\": this.onAnimationEnd\n }\n }, [Title, h(\"div\", {\n \"class\": number_keyboard_bem('body')\n }, [h(\"div\", {\n \"class\": number_keyboard_bem('keys')\n }, [this.genKeys()]), this.genSidebar()])])]);\n }\n}));\n// CONCATENATED MODULE: ./es/pagination/index.js\n\n\n\nvar pagination_createNamespace = Object(create[\"a\" /* createNamespace */])('pagination'),\n pagination_createComponent = pagination_createNamespace[0],\n pagination_bem = pagination_createNamespace[1],\n pagination_t = pagination_createNamespace[2];\n\nfunction makePage(number, text, active) {\n return {\n number: number,\n text: text,\n active: active\n };\n}\n\n/* harmony default export */ var pagination = (pagination_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\": pagination_bem({\n simple: simple\n })\n }, [h(\"li\", {\n \"class\": [pagination_bem('item', {\n disabled: value === 1\n }), pagination_bem('prev'), BORDER],\n \"on\": {\n \"click\": onSelect(value - 1)\n }\n }, [((_this$slots = this.slots('prev-text')) != null ? _this$slots : this.prevText) || pagination_t('prev')]), this.pages.map(function (page) {\n var _this$slots2;\n\n return h(\"li\", {\n \"class\": [pagination_bem('item', {\n active: page.active\n }), pagination_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\": pagination_bem('page-desc')\n }, [this.slots('pageDesc') || value + \"/\" + this.count]), h(\"li\", {\n \"class\": [pagination_bem('item', {\n disabled: value === this.count\n }), pagination_bem('next'), BORDER],\n \"on\": {\n \"click\": onSelect(value + 1)\n }\n }, [((_this$slots3 = this.slots('next-text')) != null ? _this$slots3 : this.nextText) || pagination_t('next')])]);\n }\n}));\n// CONCATENATED MODULE: ./es/panel/index.js\n // Utils\n\n\n\n // Components\n\n\n // Types\n\nvar panel_createNamespace = Object(create[\"a\" /* createNamespace */])('panel'),\n panel_createComponent = panel_createNamespace[0],\n panel_bem = panel_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\": panel_bem('header-value')\n },\n \"class\": panel_bem('header')\n }), h(\"div\", {\n \"class\": panel_bem('content')\n }, [slots.default && slots.default()]), slots.footer && h(\"div\", {\n \"class\": [panel_bem('footer'), BORDER_TOP]\n }, [slots.footer()])];\n };\n\n return h(cell_group, helper_default()([{\n \"class\": panel_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};\n/* harmony default export */ var panel = (panel_createComponent(Panel));\n// CONCATENATED MODULE: ./es/password-input/index.js\n // Utils\n\n\n\n // Types\n\nvar password_input_createNamespace = Object(create[\"a\" /* createNamespace */])('password-input'),\n password_input_createComponent = password_input_createNamespace[0],\n password_input_bem = password_input_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: Object(unit[\"a\" /* addUnit */])(gutter)\n };\n }\n\n Points.push(h(\"li\", {\n \"class\": [(_ref = {}, _ref[BORDER_LEFT] = showBorder, _ref), password_input_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\": password_input_bem('cursor')\n })]));\n }\n\n return h(\"div\", {\n \"class\": password_input_bem()\n }, [h(\"ul\", helper_default()([{\n \"class\": [password_input_bem('security'), (_ref2 = {}, _ref2[BORDER_SURROUND] = !gutter, _ref2)],\n \"on\": {\n \"touchstart\": function touchstart(event) {\n event.stopPropagation();\n functional_emit(ctx, 'focus', event);\n }\n }\n }, inherit(ctx, true)]), [Points]), info && h(\"div\", {\n \"class\": password_input_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};\n/* harmony default export */ var password_input = (password_input_createComponent(PasswordInput));\n// CONCATENATED MODULE: ./node_modules/@vant/popperjs/dist/esm/index.js\n\n\nfunction getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}\n\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nfunction getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n\nfunction getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n\nfunction getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}\n\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n} // Composite means it takes into account transforms as well as layout.\n\n\nfunction getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\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} // means it doesn't take into account transforms.\n\n\nfunction getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}\n\nfunction getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\n\nfunction listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\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 : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\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\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nvar esm_top = 'top';\nvar esm_bottom = 'bottom';\nvar right = 'right';\nvar esm_left = 'left';\nvar auto = 'auto';\nvar basePlacements = [esm_top, esm_bottom, right, esm_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}, []); // modifiers that need to read the DOM\n\nvar beforeRead = 'beforeRead';\nvar read = 'read';\nvar afterRead = 'afterRead'; // pure-logic modifiers\n\nvar beforeMain = 'beforeMain';\nvar main = 'main';\nvar afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nvar beforeWrite = 'beforeWrite';\nvar write = 'write';\nvar afterWrite = 'afterWrite';\nvar modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\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\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nfunction orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}\n\nfunction debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n\nfunction esm_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\n return [].concat(args).reduce(function (p, c) {\n return p.replace(/%s/, c);\n }, str);\n}\n\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'];\n\nfunction validateModifiers(modifiers) {\n modifiers.forEach(function (modifier) {\n Object.keys(modifier).forEach(function (key) {\n switch (key) {\n case 'name':\n if (typeof modifier.name !== 'string') {\n console.error(esm_format(INVALID_MODIFIER_ERROR, String(modifier.name), '\"name\"', '\"string\"', \"\\\"\" + String(modifier.name) + \"\\\"\"));\n }\n\n break;\n\n case 'enabled':\n if (typeof modifier.enabled !== 'boolean') {\n console.error(esm_format(INVALID_MODIFIER_ERROR, modifier.name, '\"enabled\"', '\"boolean\"', \"\\\"\" + String(modifier.enabled) + \"\\\"\"));\n }\n\n case 'phase':\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(esm_format(INVALID_MODIFIER_ERROR, modifier.name, '\"phase\"', \"either \" + modifierPhases.join(', '), \"\\\"\" + String(modifier.phase) + \"\\\"\"));\n }\n\n break;\n\n case 'fn':\n if (typeof modifier.fn !== 'function') {\n console.error(esm_format(INVALID_MODIFIER_ERROR, modifier.name, '\"fn\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n }\n\n break;\n\n case 'effect':\n if (typeof modifier.effect !== 'function') {\n console.error(esm_format(INVALID_MODIFIER_ERROR, modifier.name, '\"effect\"', '\"function\"', \"\\\"\" + String(modifier.fn) + \"\\\"\"));\n }\n\n break;\n\n case 'requires':\n if (!Array.isArray(modifier.requires)) {\n console.error(esm_format(INVALID_MODIFIER_ERROR, modifier.name, '\"requires\"', '\"array\"', \"\\\"\" + String(modifier.requires) + \"\\\"\"));\n }\n\n break;\n\n case 'requiresIfExists':\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(esm_format(INVALID_MODIFIER_ERROR, modifier.name, '\"requiresIfExists\"', '\"array\"', \"\\\"\" + String(modifier.requiresIfExists) + \"\\\"\"));\n }\n\n break;\n\n case 'options':\n case 'data':\n break;\n\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\n modifier.requires && modifier.requires.forEach(function (requirement) {\n if (modifiers.find(function (mod) {\n return mod.name === requirement;\n }) == null) {\n console.error(esm_format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));\n }\n });\n });\n });\n}\n\nfunction uniqueBy(arr, fn) {\n var identifiers = new Set();\n return arr.filter(function (item) {\n var identifier = fn(item);\n\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n\nfunction getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? _extends({}, existing, current, {\n options: _extends({}, existing.options, current.options),\n data: _extends({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}\n\nvar esm_round = Math.round;\n\nfunction getVariation(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n\nfunction computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n 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\n switch (basePlacement) {\n case esm_top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case esm_bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case esm_left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n }\n }\n\n return offsets;\n}\n\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};\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\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nfunction popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: _extends({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = _extends({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (false) { var _getComputedStyle, marginTop, marginRight, marginBottom, marginLeft, flipModifier, modifiers; }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (false) {}\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = _extends({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (false) {}\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\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\n if (!areValidElements(reference, popper)) {\n if (false) {}\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nvar esm_passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, esm_passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, esm_passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, esm_passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, esm_passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar eventListeners = {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name; // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar popperOffsets$1 = {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: esm_round(esm_round(x * dpr) / dpr) || 0,\n y: esm_round(esm_round(y * dpr) / dpr) || 0\n };\n}\n\nfunction mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets;\n\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = esm_left;\n var sideY = esm_top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === esm_top) {\n sideY = esm_bottom; // $FlowFixMe[prop-missing]\n\n y -= offsetParent[heightProp] - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === esm_left) {\n sideX = right; // $FlowFixMe[prop-missing]\n\n x -= offsetParent[widthProp] - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = _extends({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return _extends({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return _extends({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n var state = _ref4.state,\n options = _ref4.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (false) { var transitionProperty; }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = _extends({}, state.styles.popper, mapToStyles(_extends({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = _extends({}, state.styles.arrow, mapToStyles(_extends({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = _extends({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar computeStyles$1 = {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n}; // and applies them to the HTMLElements such as popper and arrow\n\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]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n _extends(element.style, style);\n\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect$1(_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\n _extends(state.elements.popper.style, initialStyles.popper);\n\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n _extends(state.elements.arrow.style, initialStyles.arrow);\n }\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]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n _extends(element.style, style);\n\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar applyStyles$1 = {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect$1,\n requires: ['computeStyles']\n};\nvar esm_defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1];\nvar esm_createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: esm_defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nfunction distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [esm_left, esm_top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(_extends({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [esm_left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction esm_offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar offset$1 = {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: esm_offset\n};\n\n// CONCATENATED MODULE: ./es/popover/index.js\n\n\n\n // Mixins\n\n // Components\n\n\n\n\nvar popover_createNamespace = Object(create[\"a\" /* createNamespace */])('popover'),\n popover_createComponent = popover_createNamespace[0],\n popover_bem = popover_createNamespace[1];\n\n/* harmony default export */ var popover = (popover_createComponent({\n mixins: [click_outside_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 (!utils[\"h\" /* 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 = esm_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({}, offset$1, {\n options: {\n offset: this.offset\n }\n })]\n });\n\n if (!utils[\"h\" /* 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\": [popover_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(es_icon, {\n \"attrs\": {\n \"name\": icon\n },\n \"class\": popover_bem('action-icon')\n }), h(\"div\", {\n \"class\": [popover_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\": popover_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\": popover_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\": popover_bem('arrow')\n }), h(\"div\", {\n \"class\": popover_bem('content'),\n \"attrs\": {\n \"role\": \"menu\"\n }\n }, [this.slots('default') || this.actions.map(this.renderAction)])]), this.slots('reference')]);\n }\n}));\n// CONCATENATED MODULE: ./es/progress/index.js\n\n\n\nvar progress_createNamespace = Object(create[\"a\" /* createNamespace */])('progress'),\n progress_createComponent = progress_createNamespace[0],\n progress_bem = progress_createNamespace[1];\n\n/* harmony default export */ var es_progress = (progress_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: Object(unit[\"a\" /* addUnit */])(this.strokeWidth)\n };\n return h(\"div\", {\n \"class\": progress_bem(),\n \"style\": wrapperStyle\n }, [h(\"span\", {\n \"class\": progress_bem('portion'),\n \"style\": portionStyle\n }, [showPivot && h(\"span\", {\n \"ref\": \"pivot\",\n \"style\": pivotStyle,\n \"class\": progress_bem('pivot')\n }, [text])])]);\n }\n}));\n// CONCATENATED MODULE: ./es/pull-refresh/index.js\n// Utils\n\n\n // Mixins\n\n // Components\n\n\n\nvar pull_refresh_createNamespace = Object(create[\"a\" /* createNamespace */])('pull-refresh'),\n pull_refresh_createComponent = pull_refresh_createNamespace[0],\n pull_refresh_bem = pull_refresh_createNamespace[1],\n pull_refresh_t = pull_refresh_createNamespace[2];\n\nvar DEFAULT_HEAD_HEIGHT = 50;\nvar TEXT_STATUS = ['pulling', 'loosing', 'success'];\n/* harmony default export */ var pull_refresh = (pull_refresh_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\"] || pull_refresh_t(status);\n\n if (TEXT_STATUS.indexOf(status) !== -1) {\n nodes.push(h(\"div\", {\n \"class\": pull_refresh_bem('text')\n }, [text]));\n }\n\n if (status === 'loading') {\n nodes.push(h(es_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\": pull_refresh_bem()\n }, [h(\"div\", {\n \"ref\": \"track\",\n \"class\": pull_refresh_bem('track'),\n \"style\": trackStyle\n }, [h(\"div\", {\n \"class\": pull_refresh_bem('head'),\n \"style\": this.headStyle\n }, [this.genStatus()]), this.slots()])]);\n }\n}));\n// CONCATENATED MODULE: ./es/rate/index.js\n// Utils\n\n // Mixins\n\n\n // Components\n\n\n\nvar rate_createNamespace = Object(create[\"a\" /* createNamespace */])('rate'),\n rate_createComponent = rate_createNamespace[0],\n rate_bem = rate_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\n/* harmony default export */ var es_rate = (rate_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 Object(unit[\"a\" /* addUnit */])(this.size);\n },\n gutterWithUnit: function gutterWithUnit() {\n return Object(unit[\"a\" /* 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\": rate_bem('item')\n }, [h(es_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\": rate_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(es_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\": rate_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\": rate_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}));\n// CONCATENATED MODULE: ./es/row/index.js\n\n\n\nvar row_createNamespace = Object(create[\"a\" /* createNamespace */])('row'),\n row_createComponent = row_createNamespace[0],\n row_bem = row_createNamespace[1];\n\n/* harmony default export */ var row = (row_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\": row_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}));\n// CONCATENATED MODULE: ./es/search/index.js\n\n\n // Utils\n\n\n\n // Components\n\n // Types\n\nvar search_createNamespace = Object(create[\"a\" /* createNamespace */])('search'),\n search_createComponent = search_createNamespace[0],\n search_bem = search_createNamespace[1],\n search_t = search_createNamespace[2];\n\nfunction Search(h, props, slots, ctx) {\n function Label() {\n if (slots.label || props.label) {\n return h(\"div\", {\n \"class\": search_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 functional_emit(ctx, 'input', '');\n functional_emit(ctx, 'cancel');\n }\n\n return h(\"div\", {\n \"class\": search_bem('action'),\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\"\n },\n \"on\": {\n \"click\": onCancel\n }\n }, [slots.action ? slots.action() : props.actionText || search_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 functional_emit(ctx, 'search', props.value);\n }\n\n functional_emit(ctx, 'keypress', event);\n }\n })\n };\n var inheritData = inherit(ctx);\n inheritData.attrs = undefined;\n return h(\"div\", helper_default()([{\n \"class\": search_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\": search_bem('content', props.shape)\n }, [Label(), h(es_field, helper_default()([{\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};\n/* harmony default export */ var search = (search_createComponent(Search));\n// CONCATENATED MODULE: ./es/share-sheet/index.js\n // Utils\n\n // Mixins\n\n // Components\n\n\nvar PRESET_ICONS = ['qq', 'link', 'weibo', 'wechat', 'poster', 'qrcode', 'weapp-qrcode', 'wechat-moments'];\n\nvar share_sheet_createNamespace = Object(create[\"a\" /* createNamespace */])('share-sheet'),\n share_sheet_createComponent = share_sheet_createNamespace[0],\n share_sheet_bem = share_sheet_createNamespace[1],\n share_sheet_t = share_sheet_createNamespace[2];\n\n/* harmony default export */ var share_sheet = (share_sheet_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\": share_sheet_bem('header')\n }, [title && h(\"h2\", {\n \"class\": share_sheet_bem('title')\n }, [title]), description && h(\"span\", {\n \"class\": share_sheet_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\": share_sheet_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\": [share_sheet_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\": share_sheet_bem('icon')\n }), option.name && h(\"span\", {\n \"class\": share_sheet_bem('name')\n }, [option.name]), option.description && h(\"span\", {\n \"class\": share_sheet_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 : share_sheet_t('cancel');\n\n if (cancelText) {\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": share_sheet_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\": share_sheet_bem(),\n \"on\": {\n \"input\": this.toggle,\n \"click-overlay\": this.onClickOverlay\n }\n }, [this.genHeader(), this.genRows(), this.genCancelText()]);\n }\n}));\n// CONCATENATED MODULE: ./es/sidebar/index.js\n\n\n\nvar sidebar_createNamespace = Object(create[\"a\" /* createNamespace */])('sidebar'),\n sidebar_createComponent = sidebar_createNamespace[0],\n sidebar_bem = sidebar_createNamespace[1];\n\n/* harmony default export */ var sidebar = (sidebar_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\": sidebar_bem()\n }, [this.slots()]);\n }\n}));\n// CONCATENATED MODULE: ./es/sidebar-item/index.js\n\n\n\n\n\n\nvar sidebar_item_createNamespace = Object(create[\"a\" /* createNamespace */])('sidebar-item'),\n sidebar_item_createComponent = sidebar_item_createNamespace[0],\n sidebar_item_bem = sidebar_item_createNamespace[1];\n\n/* harmony default export */ var sidebar_item = (sidebar_item_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 (false) {}\n\n return h(\"a\", {\n \"class\": sidebar_item_bem({\n select: this.select,\n disabled: this.disabled\n }),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": sidebar_item_bem('text')\n }, [(_this$slots = this.slots('title')) != null ? _this$slots : this.title, h(es_info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": (_this$badge = this.badge) != null ? _this$badge : this.info\n },\n \"class\": sidebar_item_bem('info')\n })])]);\n }\n}));\n// CONCATENATED MODULE: ./es/skeleton/index.js\n // Utils\n\n\n // Types\n\nvar skeleton_createNamespace = Object(create[\"a\" /* createNamespace */])('skeleton'),\n skeleton_createComponent = skeleton_createNamespace[0],\n skeleton_bem = skeleton_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\": skeleton_bem('title'),\n \"style\": {\n width: Object(unit[\"a\" /* 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\": skeleton_bem('row'),\n \"style\": {\n width: Object(unit[\"a\" /* addUnit */])(getRowWidth(i))\n }\n }));\n }\n\n return Rows;\n }\n\n function Avatar() {\n if (props.avatar) {\n var size = Object(unit[\"a\" /* addUnit */])(props.avatarSize);\n return h(\"div\", {\n \"class\": skeleton_bem('avatar', props.avatarShape),\n \"style\": {\n width: size,\n height: size\n }\n });\n }\n }\n\n return h(\"div\", helper_default()([{\n \"class\": skeleton_bem({\n animate: props.animate,\n round: props.round\n })\n }, inherit(ctx)]), [Avatar(), h(\"div\", {\n \"class\": skeleton_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};\n/* harmony default export */ var skeleton = (skeleton_createComponent(Skeleton));\n// CONCATENATED MODULE: ./es/sku/lang.js\n/**\n * Sku only provide zh-CN lang by default\n */\n/* harmony default export */ var lang = ({\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});\n// CONCATENATED MODULE: ./es/sku/constants.js\nvar LIMIT_TYPE = {\n QUOTA_LIMIT: 0,\n STOCK_LIMIT: 1\n};\nvar UNSELECTED_SKU_VALUE_ID = '';\n/* harmony default export */ var constants = ({\n LIMIT_TYPE: LIMIT_TYPE,\n UNSELECTED_SKU_VALUE_ID: UNSELECTED_SKU_VALUE_ID\n});\n// CONCATENATED MODULE: ./es/sku/utils/sku-helper.js\n\n\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\nvar normalizeSkuTree = function normalizeSkuTree(skuTree) {\n var normalizedTree = {};\n skuTree.forEach(function (treeItem) {\n normalizedTree[treeItem.k_s] = treeItem.v;\n });\n return normalizedTree;\n};\nvar 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\nvar sku_helper_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\nvar 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\nvar sku_helper_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\nvar sku_helper_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};\nvar sku_helper_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};\nvar sku_helper_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};\n/* harmony default export */ var sku_helper = ({\n normalizeSkuTree: normalizeSkuTree,\n getSkuComb: getSkuComb,\n getSelectedSkuValues: sku_helper_getSelectedSkuValues,\n isAllSelected: sku_helper_isAllSelected,\n isSkuChoosable: sku_helper_isSkuChoosable,\n getSelectedPropValues: sku_helper_getSelectedPropValues,\n getSelectedProperties: sku_helper_getSelectedProperties\n});\n// CONCATENATED MODULE: ./es/sku/components/SkuHeader.js\n\n // Utils\n\n\n\n // Components\n\n // Types\n\nvar SkuHeader_createNamespace = Object(create[\"a\" /* createNamespace */])('sku-header'),\n SkuHeader_createComponent = SkuHeader_createNamespace[0],\n SkuHeader_bem = SkuHeader_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\", helper_default()([{\n \"class\": [SkuHeader_bem(), BORDER_BOTTOM]\n }, inherit(ctx)]), [showHeaderImage && h(es_image, {\n \"attrs\": {\n \"fit\": \"cover\",\n \"src\": imgUrl\n },\n \"class\": SkuHeader_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\": SkuHeader_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};\n/* harmony default export */ var components_SkuHeader = (SkuHeader_createComponent(SkuHeader));\n// CONCATENATED MODULE: ./es/sku/components/SkuHeaderItem.js\n // Utils\n\n\n // Types\n\nvar SkuHeaderItem_createNamespace = Object(create[\"a\" /* createNamespace */])('sku-header-item'),\n SkuHeaderItem_createComponent = SkuHeaderItem_createNamespace[0],\n SkuHeaderItem_bem = SkuHeaderItem_createNamespace[1];\n\nfunction SkuHeaderItem_SkuHeader(h, props, slots, ctx) {\n return h(\"div\", helper_default()([{\n \"class\": SkuHeaderItem_bem()\n }, inherit(ctx)]), [slots.default && slots.default()]);\n}\n\n/* harmony default export */ var SkuHeaderItem = (SkuHeaderItem_createComponent(SkuHeaderItem_SkuHeader));\n// CONCATENATED MODULE: ./es/sku/components/SkuRow.js\n// Utils\n\n // Mixins\n\n\n\n\nvar SkuRow_createNamespace = Object(create[\"a\" /* createNamespace */])('sku-row'),\n SkuRow_createComponent = SkuRow_createNamespace[0],\n SkuRow_bem = SkuRow_createNamespace[1],\n SkuRow_t = SkuRow_createNamespace[2];\n\n\n/* harmony default export */ var SkuRow = (SkuRow_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\": SkuRow_bem('title')\n }, [this.skuRow.k, this.skuRow.is_multiple && h(\"span\", {\n \"class\": SkuRow_bem('title-multiple')\n }, [\"\\uFF08\", SkuRow_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\": SkuRow_bem('indicator-wrapper')\n }, [h(\"div\", {\n \"class\": SkuRow_bem('indicator')\n }, [h(\"div\", {\n \"class\": SkuRow_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\": SkuRow_bem('scroller'),\n \"ref\": \"scroller\"\n }, [h(\"div\", {\n \"class\": SkuRow_bem('row'),\n \"ref\": \"row\"\n }, [top]), bottom.length ? h(\"div\", {\n \"class\": SkuRow_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\": [SkuRow_bem(), BORDER_BOTTOM]\n }, [this.genTitle(), this.genContent(), this.genIndicator()]);\n }\n}));\n// CONCATENATED MODULE: ./es/sku/components/SkuRowItem.js\n\n\n\n\n\n\n\n\nvar SkuRowItem_createNamespace = Object(create[\"a\" /* createNamespace */])('sku-row-item'),\n SkuRowItem_createComponent = SkuRowItem_createNamespace[0];\n\n/* harmony default export */ var SkuRowItem = (SkuRowItem_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 sku_helper_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(es_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 ? SkuRow_bem('image-item') : SkuRow_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(es_icon, {\n \"attrs\": {\n \"name\": \"enlarge\"\n },\n \"class\": classPrefix + \"-img-icon\",\n \"on\": {\n \"click\": this.onPreviewImg\n }\n })]);\n }\n}));\n// CONCATENATED MODULE: ./es/sku/components/SkuRowPropItem.js\n\n\n\nvar SkuRowPropItem_createNamespace = Object(create[\"a\" /* createNamespace */])('sku-row-prop-item'),\n SkuRowPropItem_createComponent = SkuRowPropItem_createNamespace[0];\n\n/* harmony default export */ var SkuRowPropItem = (SkuRowPropItem_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}));\n// CONCATENATED MODULE: ./es/stepper/index.js\n\n\n\n\n\n\n\n\n\nvar stepper_createNamespace = Object(create[\"a\" /* createNamespace */])('stepper'),\n stepper_createComponent = stepper_createNamespace[0],\n stepper_bem = stepper_createNamespace[1];\n\nvar LONG_PRESS_START_TIME = 600;\nvar LONG_PRESS_INTERVAL = 200;\n\nfunction stepper_equal(value1, value2) {\n return String(value1) === String(value2);\n}\n\n/* harmony default export */ var stepper = (stepper_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 (!stepper_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 = Object(unit[\"a\" /* addUnit */])(this.inputWidth);\n }\n\n if (this.buttonSize) {\n style.height = Object(unit[\"a\" /* addUnit */])(this.buttonSize);\n }\n\n return style;\n },\n buttonStyle: function buttonStyle() {\n if (this.buttonSize) {\n var size = Object(unit[\"a\" /* 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 (!stepper_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 (!stepper_equal(val, this.currentValue)) {\n this.currentValue = val;\n }\n },\n // formatNumber illegal characters\n formatNumber: function formatNumber(value) {\n return number_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 = Object(number[\"a\" /* isNaN */])(value) ? this.min : value;\n value = Math.max(Math.min(this.max, value), this.min); // format decimal\n\n if (Object(utils[\"c\" /* 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 (Object(utils[\"c\" /* 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 (!stepper_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\": stepper_bem([this.theme])\n }, [h(\"button\", helper_default()([{\n \"directives\": [{\n name: \"show\",\n value: this.showMinus\n }],\n \"attrs\": {\n \"type\": \"button\"\n },\n \"style\": this.buttonStyle,\n \"class\": stepper_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\": stepper_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\", helper_default()([{\n \"directives\": [{\n name: \"show\",\n value: this.showPlus\n }],\n \"attrs\": {\n \"type\": \"button\"\n },\n \"style\": this.buttonStyle,\n \"class\": stepper_bem('plus', {\n disabled: this.plusDisabled\n })\n }, createListeners('plus')]))]);\n }\n}));\n// CONCATENATED MODULE: ./es/sku/components/SkuStepper.js\n\n\n\nvar namespace = Object(create[\"a\" /* createNamespace */])('sku-stepper');\nvar SkuStepper_createComponent = namespace[0];\nvar SkuStepper_t = namespace[2];\nvar QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT,\n STOCK_LIMIT = LIMIT_TYPE.STOCK_LIMIT;\n/* harmony default export */ var SkuStepper = (SkuStepper_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(SkuStepper_t('quotaStart', this.startSaleNum));\n }\n\n if (this.quota > 0) {\n textArr.push(SkuStepper_t('quotaLimit', this.quota));\n }\n\n text = textArr.join(SkuStepper_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 || SkuStepper_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}));\n// CONCATENATED MODULE: ./es/utils/validate/email.js\n/* eslint-disable */\nfunction isEmail(value) {\n var reg = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/;\n return reg.test(value.trim());\n}\n// CONCATENATED MODULE: ./es/uploader/utils.js\n\nfunction toArray(item) {\n if (Array.isArray(item)) {\n return item;\n }\n\n return [item];\n}\nfunction utils_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}\nfunction isOversize(files, maxSize) {\n return toArray(files).some(function (file) {\n if (file) {\n if (Object(utils[\"e\" /* 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;\nfunction isImageUrl(url) {\n return IMAGE_REGEXP.test(url);\n}\nfunction 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}\n// CONCATENATED MODULE: ./es/uploader/index.js\n // Utils\n\n\n // Mixins\n\n // Components\n\n\n\n\n\n\nvar uploader_createNamespace = Object(create[\"a\" /* createNamespace */])('uploader'),\n uploader_createComponent = uploader_createNamespace[0],\n uploader_bem = uploader_createNamespace[1];\n\n/* harmony default export */ var uploader = (uploader_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 Object(unit[\"a\" /* 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 (Object(utils[\"g\" /* 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 utils_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 utils_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 (Object(utils[\"g\" /* isPromise */])(response)) {\n response.then(function () {\n _this4.deleteFile(file, index);\n }).catch(utils[\"i\" /* 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 = image_preview(_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(es_icon, {\n \"attrs\": {\n \"name\": \"close\"\n },\n \"class\": uploader_bem('mask-icon')\n }) : h(es_loading, {\n \"class\": uploader_bem('loading')\n });\n var showMessage = Object(utils[\"c\" /* isDef */])(message) && message !== '';\n return h(\"div\", {\n \"class\": uploader_bem('mask')\n }, [MaskIcon, showMessage && h(\"div\", {\n \"class\": uploader_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\": uploader_bem('preview-delete'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n\n _this6.onDelete(item, index);\n }\n }\n }, [h(es_icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": uploader_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\": uploader_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(es_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\": uploader_bem('preview-image'),\n \"on\": {\n \"click\": function click() {\n _this6.onPreviewImage(item);\n }\n }\n }, [PreviewCover]) : h(\"div\", {\n \"class\": uploader_bem('file'),\n \"style\": {\n width: this.previewSizeWithUnit,\n height: this.previewSizeWithUnit\n }\n }, [h(es_icon, {\n \"class\": uploader_bem('file-icon'),\n \"attrs\": {\n \"name\": \"description\"\n }\n }), h(\"div\", {\n \"class\": [uploader_bem('file-name'), 'van-ellipsis']\n }, [item.file ? item.file.name : item.url]), PreviewCover]);\n return h(\"div\", {\n \"class\": uploader_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\": uploader_bem('input'),\n \"on\": {\n \"change\": this.onChange\n }\n });\n\n if (slot) {\n return h(\"div\", {\n \"class\": uploader_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\": uploader_bem('upload', {\n readonly: this.readonly\n }),\n \"style\": style,\n \"on\": {\n \"click\": this.onClickUpload\n }\n }, [h(es_icon, {\n \"attrs\": {\n \"name\": this.uploadIcon\n },\n \"class\": uploader_bem('upload-icon')\n }), this.uploadText && h(\"span\", {\n \"class\": uploader_bem('upload-text')\n }, [this.uploadText]), Input]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": uploader_bem()\n }, [h(\"div\", {\n \"class\": uploader_bem('wrapper', {\n disabled: this.disabled\n })\n }, [this.genPreviewList(), this.genUpload()])]);\n }\n}));\n// CONCATENATED MODULE: ./es/sku/components/SkuImgUploader.js\n// Utils\n // Components\n\n\nvar SkuImgUploader_namespace = Object(create[\"a\" /* createNamespace */])('sku-img-uploader');\nvar SkuImgUploader_createComponent = SkuImgUploader_namespace[0];\nvar SkuImgUploader_t = SkuImgUploader_namespace[2];\n/* harmony default export */ var SkuImgUploader = (SkuImgUploader_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 = SkuImgUploader_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 = SkuImgUploader_t('fail');\n });\n },\n onOversize: function onOversize() {\n this.$toast(SkuImgUploader_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}));\n// CONCATENATED MODULE: ./es/sku/utils/time-helper.js\n // 字符串转 Date\n// 只处理 YYYY-MM-DD 或者 YYYY-MM-DD HH:MM 格式\n\nfunction 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\nfunction 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 + \"-\" + Object(string[\"b\" /* padZero */])(month) + \"-\" + Object(string[\"b\" /* padZero */])(day);\n\n if (type === 'datetime') {\n var hours = date.getHours();\n var minute = date.getMinutes();\n timeString += \" \" + Object(string[\"b\" /* padZero */])(hours) + \":\" + Object(string[\"b\" /* padZero */])(minute);\n }\n\n return timeString;\n}\n// CONCATENATED MODULE: ./es/sku/components/SkuDateTimeField.js\n// Utils\n\n // Components\n\n\n\n\nvar SkuDateTimeField_namespace = Object(create[\"a\" /* createNamespace */])('sku-datetime-field');\nvar SkuDateTimeField_createComponent = SkuDateTimeField_namespace[0];\nvar SkuDateTimeField_t = SkuDateTimeField_namespace[2];\n/* harmony default export */ var SkuDateTimeField = (SkuDateTimeField_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 SkuDateTimeField_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 = SkuDateTimeField_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(es_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(datetime_picker, {\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}));\n// CONCATENATED MODULE: ./es/sku/components/SkuMessages.js\n// Utils\n\n\n // Components\n\n\n\n\n\n\nvar SkuMessages_createNamespace = Object(create[\"a\" /* createNamespace */])('sku-messages'),\n SkuMessages_createComponent = SkuMessages_createNamespace[0],\n SkuMessages_bem = SkuMessages_createNamespace[1],\n SkuMessages_t = SkuMessages_createNamespace[2];\n\n/* harmony default export */ var SkuMessages = (SkuMessages_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] || SkuMessages_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 = SkuMessages_t(message.type === 'image' ? 'upload' : 'fill');\n return textType + message.name;\n }\n } else {\n if (message.type === 'tel' && !Object(number[\"b\" /* isNumeric */])(value)) {\n return SkuMessages_t('invalid.tel');\n }\n\n if (message.type === 'mobile' && !/^\\d{6,20}$/.test(value)) {\n return SkuMessages_t('invalid.mobile');\n }\n\n if (message.type === 'email' && !isEmail(value)) {\n return SkuMessages_t('invalid.email');\n }\n\n if (message.type === 'id_no' && (value.length < 15 || value.length > 18)) {\n return SkuMessages_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\": SkuMessages_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\": SkuMessages_bem('image-cell-value')\n },\n \"class\": SkuMessages_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\": SkuMessages_bem('image-cell-label')\n }, [SkuMessages_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\": SkuMessages_bem('cell-block')\n }, [h(es_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\": SkuMessages_bem()\n }, [this.messages.map(this.genMessage)]);\n }\n}));\n// CONCATENATED MODULE: ./es/sku/components/SkuActions.js\n // Utils\n\n\n // Components\n\n // Types\n\nvar SkuActions_createNamespace = Object(create[\"a\" /* createNamespace */])('sku-actions'),\n SkuActions_createComponent = SkuActions_createNamespace[0],\n SkuActions_bem = SkuActions_createNamespace[1],\n SkuActions_t = SkuActions_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\", helper_default()([{\n \"class\": SkuActions_bem()\n }, inherit(ctx)]), [props.showAddCartBtn && h(es_button, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"warning\",\n \"text\": props.addCartText || SkuActions_t('addCart')\n },\n \"on\": {\n \"click\": createEmitter('sku:addCart')\n }\n }), h(es_button, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"danger\",\n \"text\": props.buyText || SkuActions_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};\n/* harmony default export */ var components_SkuActions = (SkuActions_createComponent(SkuActions));\n// CONCATENATED MODULE: ./es/sku/Sku.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Sku_namespace = Object(create[\"a\" /* createNamespace */])('sku');\nvar Sku_createComponent = Sku_namespace[0],\n Sku_bem = Sku_namespace[1],\n Sku_t = Sku_namespace[2];\nvar Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;\n/* harmony default export */ var Sku = (Sku_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; // SKU 未选完\n\n\n if (this.hasSku && !sku_helper_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 = sku_helper_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 sku_helper_getSelectedSkuValues(this.skuTree, this.selectedSku);\n },\n selectedPropValues: function selectedPropValues() {\n return sku_helper_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 [Sku_t('stock') + \" \", h(\"span\", {\n \"class\": Sku_bem('stock-num', {\n highlight: this.stock < this.stockThreshold\n })\n }, [this.stock]), \" \" + Sku_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 Sku_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 Sku_t('select') + \" \" + unselectedSku.concat(unselectedProp).join(' ');\n }\n },\n created: function created() {\n var skuEventBus = new external_root_Vue_commonjs_vue_commonjs2_vue_amd_vue_default.a();\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 && sku_helper_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 (Object(utils[\"d\" /* 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 Sku_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 Sku_t('selectSku');\n },\n onSelect: function onSelect(skuValue) {\n var _extends2, _extends3; // 点击已选中的sku时则取消选中\n\n\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 image_preview({\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 es_toast(Sku_t('minusStartTip', this.startSaleNum));\n } else {\n es_toast(Sku_t('minusTip'));\n }\n } else if (action === 'plus') {\n if (limitType === Sku_QUOTA_LIMIT) {\n if (quotaUsed > 0) {\n es_toast(Sku_t('quotaUsedTip', quota, quotaUsed));\n } else {\n es_toast(Sku_t('quotaTip', quota));\n }\n } else {\n es_toast(Sku_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 es_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(components_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, [Sku_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(components_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}));\n// CONCATENATED MODULE: ./es/sku/index.js\n// Utils\n\n\n // Components\n\n\n\n\n\n\n\n\n\n\n\nlocale[\"a\" /* default */].add(lang);\nSku.SkuActions = components_SkuActions;\nSku.SkuHeader = components_SkuHeader;\nSku.SkuHeaderItem = SkuHeaderItem;\nSku.SkuMessages = SkuMessages;\nSku.SkuStepper = SkuStepper;\nSku.SkuRow = SkuRow;\nSku.SkuRowItem = SkuRowItem;\nSku.SkuRowPropItem = SkuRowPropItem;\nSku.skuHelper = sku_helper;\nSku.skuConstants = constants;\n/* harmony default export */ var es_sku = (Sku);\n// CONCATENATED MODULE: ./es/slider/index.js\n\n\n\n\n\n\n\nvar slider_createNamespace = Object(create[\"a\" /* createNamespace */])('slider'),\n slider_createComponent = slider_createNamespace[0],\n slider_bem = slider_createNamespace[1];\n\nvar isSameValue = function isSameValue(newValue, oldValue) {\n return JSON.stringify(newValue) === JSON.stringify(oldValue);\n};\n\n/* harmony default export */ var slider = (slider_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 = Object(unit[\"a\" /* 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] = Object(unit[\"a\" /* 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\": slider_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\": slider_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\": slider_bem({\n disabled: this.disabled,\n vertical: vertical\n }),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": slider_bem('bar'),\n \"style\": barStyle\n }, [this.range ? [renderButton(0), renderButton(1)] : renderButton()])]);\n }\n}));\n// CONCATENATED MODULE: ./es/step/index.js\n\n\n\n\n\nvar step_createNamespace = Object(create[\"a\" /* createNamespace */])('step'),\n step_createComponent = step_createNamespace[0],\n step_bem = step_createNamespace[1];\n\n/* harmony default export */ var es_step = (step_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(es_icon, {\n \"class\": step_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(es_icon, {\n \"class\": step_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(es_icon, {\n \"class\": step_bem('icon'),\n \"attrs\": {\n \"name\": inactiveIcon,\n \"classPrefix\": iconPrefix\n }\n });\n }\n\n return h(\"i\", {\n \"class\": step_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, step_bem([direction, (_ref = {}, _ref[status] = status, _ref)])]\n }, [h(\"div\", {\n \"class\": step_bem('title', {\n active: active\n }),\n \"style\": this.titleStyle,\n \"on\": {\n \"click\": this.onClickStep\n }\n }, [this.slots()]), h(\"div\", {\n \"class\": step_bem('circle-container'),\n \"on\": {\n \"click\": this.onClickStep\n },\n \"style\": this.circleContainerStyle\n }, [this.genCircle()]), h(\"div\", {\n \"class\": step_bem('line'),\n \"style\": this.lineStyle\n })]);\n }\n}));\n// CONCATENATED MODULE: ./es/steps/index.js\n\n\n\nvar steps_createNamespace = Object(create[\"a\" /* createNamespace */])('steps'),\n steps_createComponent = steps_createNamespace[0],\n steps_bem = steps_createNamespace[1];\n\n/* harmony default export */ var steps = (steps_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\": steps_bem([this.direction])\n }, [h(\"div\", {\n \"class\": steps_bem('items')\n }, [this.slots()])]);\n }\n}));\n// CONCATENATED MODULE: ./es/submit-bar/index.js\n // Utils\n\n\n // Components\n\n\n // Types\n\nvar submit_bar_createNamespace = Object(create[\"a\" /* createNamespace */])('submit-bar'),\n submit_bar_createComponent = submit_bar_createNamespace[0],\n submit_bar_bem = submit_bar_createNamespace[1],\n submit_bar_t = submit_bar_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\": submit_bar_bem('text')\n }, [h(\"span\", [props.label || submit_bar_t('label')]), h(\"span\", {\n \"class\": submit_bar_bem('price')\n }, [props.currency, h(\"span\", {\n \"class\": submit_bar_bem('price', 'integer')\n }, [priceArr[0]]), decimalStr]), props.suffixLabel && h(\"span\", {\n \"class\": submit_bar_bem('suffix-label')\n }, [props.suffixLabel])]);\n }\n }\n\n function Tip() {\n if (slots.tip || tip) {\n return h(\"div\", {\n \"class\": submit_bar_bem('tip')\n }, [tipIcon && h(es_icon, {\n \"class\": submit_bar_bem('tip-icon'),\n \"attrs\": {\n \"name\": tipIcon\n }\n }), tip && h(\"span\", {\n \"class\": submit_bar_bem('tip-text')\n }, [tip]), slots.tip && slots.tip()]);\n }\n }\n\n return h(\"div\", helper_default()([{\n \"class\": submit_bar_bem({\n unfit: !props.safeAreaInsetBottom\n })\n }, inherit(ctx)]), [slots.top && slots.top(), Tip(), h(\"div\", {\n \"class\": submit_bar_bem('bar')\n }, [slots.default && slots.default(), Text(), slots.button ? slots.button() : h(es_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\": submit_bar_bem('button', props.buttonType),\n \"on\": {\n \"click\": function click() {\n functional_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};\n/* harmony default export */ var submit_bar = (submit_bar_createComponent(SubmitBar));\n// CONCATENATED MODULE: ./es/swipe-cell/index.js\n// Utils\n\n\n // Mixins\n\n\n\n\nvar swipe_cell_createNamespace = Object(create[\"a\" /* createNamespace */])('swipe-cell'),\n swipe_cell_createComponent = swipe_cell_createNamespace[0],\n swipe_cell_bem = swipe_cell_createNamespace[1];\n\nvar THRESHOLD = 0.15;\n/* harmony default export */ var swipe_cell = (swipe_cell_createComponent({\n mixins: [TouchMixin, click_outside_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\": swipe_cell_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\": swipe_cell_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\": swipe_cell_bem(),\n \"on\": {\n \"click\": this.getClickHandler('cell')\n }\n }, [h(\"div\", {\n \"class\": swipe_cell_bem('wrapper'),\n \"style\": wrapperStyle\n }, [this.genLeftPart(), this.slots(), this.genRightPart()])]);\n }\n}));\n// CONCATENATED MODULE: ./es/switch-cell/index.js\n\n // Utils\n\n\n // Components\n\n\n\n // Types\n\nvar switch_cell_createNamespace = Object(create[\"a\" /* createNamespace */])('switch-cell'),\n switch_cell_createComponent = switch_cell_createNamespace[0],\n switch_cell_bem = switch_cell_createNamespace[1];\n\nfunction SwitchCell(h, props, slots, ctx) {\n if (false) {}\n\n return h(cell, helper_default()([{\n \"attrs\": {\n \"center\": true,\n \"size\": props.cellSize,\n \"title\": props.title,\n \"border\": props.border\n },\n \"class\": switch_cell_bem([props.cellSize])\n }, inherit(ctx)]), [h(es_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});\n/* harmony default export */ var switch_cell = (switch_cell_createComponent(SwitchCell));\n// CONCATENATED MODULE: ./es/tabbar/index.js\n\n\n\n\n\nvar tabbar_createNamespace = Object(create[\"a\" /* createNamespace */])('tabbar'),\n tabbar_createComponent = tabbar_createNamespace[0],\n tabbar_bem = tabbar_createNamespace[1];\n\n/* harmony default export */ var tabbar = (tabbar_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), tabbar_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\": tabbar_bem('placeholder'),\n \"style\": {\n height: this.height + \"px\"\n }\n }, [this.genTabbar()]);\n }\n\n return this.genTabbar();\n }\n}));\n// CONCATENATED MODULE: ./es/tabbar-item/index.js\n // Utils\n\n\n // Mixins\n\n // Components\n\n\n\n\nvar tabbar_item_createNamespace = Object(create[\"a\" /* createNamespace */])('tabbar-item'),\n tabbar_item_createComponent = tabbar_item_createNamespace[0],\n tabbar_item_bem = tabbar_item_createNamespace[1];\n\n/* harmony default export */ var tabbar_item = (tabbar_item_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 = Object(utils[\"f\" /* 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 = Object(utils[\"c\" /* 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(es_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 (false) {}\n\n return h(\"div\", {\n \"class\": tabbar_item_bem({\n active: active\n }),\n \"style\": {\n color: color\n },\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": tabbar_item_bem('icon')\n }, [this.genIcon(), h(es_info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": (_this$badge = this.badge) != null ? _this$badge : this.info\n }\n })]), h(\"div\", {\n \"class\": tabbar_item_bem('text')\n }, [this.slots('default', {\n active: active\n })])]);\n }\n}));\n// CONCATENATED MODULE: ./es/tree-select/index.js\n // Utils\n\n\n // Components\n\n\n\n // Types\n\nvar tree_select_createNamespace = Object(create[\"a\" /* createNamespace */])('tree-select'),\n tree_select_createComponent = tree_select_createNamespace[0],\n tree_select_bem = tree_select_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 (false) {}\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(sidebar_item, {\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\": [tree_select_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', tree_select_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 functional_emit(ctx, 'update:active-id', newActiveId);\n functional_emit(ctx, 'click-item', item); // compatible with legacy usage, should be removed in next major version\n\n functional_emit(ctx, 'itemclick', item);\n }\n }\n }\n }, [item.text, isActiveItem(item.id) && h(es_icon, {\n \"attrs\": {\n \"name\": selectedIcon\n },\n \"class\": tree_select_bem('selected')\n })]);\n });\n }\n\n return h(\"div\", helper_default()([{\n \"class\": tree_select_bem(),\n \"style\": {\n height: Object(unit[\"a\" /* addUnit */])(height)\n }\n }, inherit(ctx)]), [h(sidebar, {\n \"class\": tree_select_bem('nav'),\n \"attrs\": {\n \"activeKey\": mainActiveIndex\n },\n \"on\": {\n \"change\": function change(index) {\n functional_emit(ctx, 'update:main-active-index', index);\n functional_emit(ctx, 'click-nav', index); // compatible with legacy usage, should be removed in next major version\n\n functional_emit(ctx, 'navclick', index);\n }\n }\n }, [Navs]), h(\"div\", {\n \"class\": tree_select_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};\n/* harmony default export */ var tree_select = (tree_select_createComponent(TreeSelect));\n// CONCATENATED MODULE: ./es/index.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar version = '2.12.54';\n\nfunction install(Vue) {\n var components = [action_sheet, address_edit, address_list, es_area, badge, es_button, calendar, card, cascader, cell, cell_group, es_checkbox, checkbox_group, circle, col, collapse, collapse_item, contact_card, contact_edit, contact_list, count_down, es_coupon, coupon_cell, coupon_list, datetime_picker, dialog, divider, dropdown_item, dropdown_menu, empty, es_field, es_form, goods_action, goods_action_button, goods_action_icon, grid, grid_item, es_icon, es_image, image_preview, index_anchor, index_bar, es_info, es_list, es_loading, locale[\"a\" /* default */], nav_bar, notice_bar, notify, number_keyboard, es_overlay, pagination, panel, password_input, es_picker, popover, popup, es_progress, pull_refresh, es_radio, radio_group, es_rate, row, search, share_sheet, sidebar, sidebar_item, skeleton, es_sku, slider, es_step, stepper, steps, es_sticky, submit_bar, swipe, swipe_cell, swipe_item, es_switch, switch_cell, tab, tabbar, tabbar_item, tabs, es_tag, es_toast, tree_select, 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\n\n/* harmony default export */ var es = __webpack_exports__[\"default\"] = ({\n install: install,\n version: version\n});\n\n/***/ })\n/******/ ]);\n});"],"sourceRoot":""}