form-generator-hengdian 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +127 -0
- package/README.md +2 -0
- package/dist/favicon.ico +0 -0
- package/dist/img/show/PixPin_2024-07-17_16-25-59.gif +0 -0
- package/dist/img/show/PixPin_2024-07-17_16-33-51.png +0 -0
- package/dist/img/show/file.png +0 -0
- package/dist/img/show/image.png +0 -0
- package/dist/img/show/pc/347/253/257/346/270/262/346/237/223.png +0 -0
- package/dist/img/show/pc/347/253/257/350/257/246/346/203/205.png +0 -0
- package/dist/img/show//344/272/213/344/273/266.png +0 -0
- package/dist/img/show//345/205/250/345/261/200/344/272/213/344/273/266.png +0 -0
- package/dist/img/show//345/205/250/345/261/200/346/240/267/345/274/217.png +0 -0
- package/dist/img/show//346/240/267/345/274/217/345/261/236/346/200/247.png +0 -0
- package/dist/img/show//347/247/273/345/212/250/347/253/257/346/270/262/346/237/223.png +0 -0
- package/dist/img/show//347/247/273/345/212/250/347/253/257/350/257/246/346/203/205.png +0 -0
- package/dist/img/show//347/274/226/350/276/221/345/231/2502.png +0 -0
- package/dist/img/show//347/274/226/350/276/221/345/231/2503.png +0 -0
- package/dist/img/show//347/274/226/350/276/221/345/231/2504.png +0 -0
- package/dist/img/temp//344/270/273/344/273/216/350/241/250/345/215/225.jpg +0 -0
- package/dist/img/temp//345/210/206/347/273/204/350/241/250/345/215/225.jpg +0 -0
- package/dist/img/temp//345/215/225/345/210/227/350/241/250/345/215/225.jpg +0 -0
- package/dist/img/temp//345/233/272/345/256/232/350/241/250/346/240/274/350/241/250/345/215/225.jpg +0 -0
- package/dist/img/temp//345/244/232/345/210/227/350/241/250/345/215/225.jpg +0 -0
- package/dist/img/temp//346/240/207/347/255/276/351/241/265/350/241/250/345/215/225.jpg +0 -0
- package/dist/index.html +1 -0
- package/dist/static/css/app.8888007b.css +1 -0
- package/dist/static/css/chunk-1d5993bd.a069bb65.css +1 -0
- package/dist/static/css/chunk-3d088dbc.309f79f6.css +1 -0
- package/dist/static/css/chunk-5398dfd9.4b573fd8.css +1 -0
- package/dist/static/css/chunk-689e99c6.561785d1.css +1 -0
- package/dist/static/css/chunk-6c2021e2.aa03ac83.css +1 -0
- package/dist/static/css/chunk-d0dba024.ef4c2e76.css +1 -0
- package/dist/static/css/chunk-d4c15a5e.8d89579e.css +1 -0
- package/dist/static/css/chunk-e0929d3c.e03cacfd.css +1 -0
- package/dist/static/css/chunk-vendors.28b0d0dc.css +24 -0
- package/dist/static/fonts/element-icons.535877f5.woff +0 -0
- package/dist/static/fonts/element-icons.732389de.ttf +0 -0
- package/dist/static/img/phone_bg.7ead1463.png +0 -0
- package/dist/static/js/app.1ed56101.js +2 -0
- package/dist/static/js/app.1ed56101.js.map +1 -0
- package/dist/static/js/chunk-16b822c9.26be686c.js +2 -0
- package/dist/static/js/chunk-16b822c9.26be686c.js.map +1 -0
- package/dist/static/js/chunk-1d5993bd.258624e9.js +2 -0
- package/dist/static/js/chunk-1d5993bd.258624e9.js.map +1 -0
- package/dist/static/js/chunk-2d2091fc.f2bc517f.js +2 -0
- package/dist/static/js/chunk-2d2091fc.f2bc517f.js.map +1 -0
- package/dist/static/js/chunk-3d088dbc.de46a257.js +2 -0
- package/dist/static/js/chunk-3d088dbc.de46a257.js.map +1 -0
- package/dist/static/js/chunk-5398dfd9.519456eb.js +2 -0
- package/dist/static/js/chunk-5398dfd9.519456eb.js.map +1 -0
- package/dist/static/js/chunk-5a353a94.44d8aedf.js +2 -0
- package/dist/static/js/chunk-5a353a94.44d8aedf.js.map +1 -0
- package/dist/static/js/chunk-689e99c6.3dae639b.js +2 -0
- package/dist/static/js/chunk-689e99c6.3dae639b.js.map +1 -0
- package/dist/static/js/chunk-6c2021e2.40514c1e.js +2 -0
- package/dist/static/js/chunk-6c2021e2.40514c1e.js.map +1 -0
- package/dist/static/js/chunk-a0e16608.18593055.js +2 -0
- package/dist/static/js/chunk-a0e16608.18593055.js.map +1 -0
- package/dist/static/js/chunk-a94b59b8.026c117f.js +2 -0
- package/dist/static/js/chunk-a94b59b8.026c117f.js.map +1 -0
- package/dist/static/js/chunk-d0dba024.63c07de1.js +2 -0
- package/dist/static/js/chunk-d0dba024.63c07de1.js.map +1 -0
- package/dist/static/js/chunk-d4c15a5e.f4e65182.js +2 -0
- package/dist/static/js/chunk-d4c15a5e.f4e65182.js.map +1 -0
- package/dist/static/js/chunk-e0929d3c.f4c16fac.js +45 -0
- package/dist/static/js/chunk-e0929d3c.f4c16fac.js.map +1 -0
- package/dist/static/js/chunk-vendors.acc37ed6.js +75 -0
- package/dist/static/js/chunk-vendors.acc37ed6.js.map +1 -0
- package/dist/static/js/config.js +2 -0
- package/package.json +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/components/formGenerator/formComponents/phoneForm.vue","webpack:///src/components/formGenerator/formComponents/phoneForm.vue","webpack:///./src/components/formGenerator/formComponents/phoneForm.vue?bf80","webpack:///./src/components/formGenerator/formComponents/phoneForm.vue?f1ef","webpack:///./node_modules/vant/es/utils/deep-clone.js","webpack:///./node_modules/vant/es/mixins/field.js","webpack:///./node_modules/vant/es/slider/index.js","webpack:///./node_modules/vant/es/rate/index.js","webpack:///./node_modules/vant/es/utils/validate/system.js","webpack:///./node_modules/vant/es/utils/dom/reset-scroll.js","webpack:///./node_modules/vant/es/stepper/index.js","webpack:///./node_modules/vant/es/tab/index.js","webpack:///./node_modules/vant/es/tabs/utils.js","webpack:///./node_modules/vant/es/utils/interceptor.js","webpack:///./node_modules/vant/es/tabs/Title.js","webpack:///./node_modules/vant/es/sticky/index.js","webpack:///./node_modules/vant/es/tabs/Content.js","webpack:///./node_modules/vant/es/tabs/index.js","webpack:///./node_modules/vant/es/cascader/index.js","webpack:///./node_modules/vant/es/uploader/utils.js","webpack:///./node_modules/vant/es/uploader/index.js","webpack:///./node_modules/vant/es/tabbar/index.js","webpack:///./node_modules/vant/es/tabbar-item/index.js","webpack:///./node_modules/vant/es/count-down/utils.js","webpack:///./node_modules/vant/es/count-down/index.js","webpack:///./node_modules/vant/es/divider/index.js","webpack:///./node_modules/vant/es/sidebar/index.js","webpack:///./node_modules/vant/es/sidebar-item/index.js","webpack:///./node_modules/vant/es/tree-select/index.js","webpack:///./node_modules/vant/es/radio-group/index.js","webpack:///./node_modules/vant/es/mixins/checkbox.js","webpack:///./node_modules/vant/es/radio/index.js","webpack:///./node_modules/vant/es/collapse/index.js","webpack:///./node_modules/vant/es/cell/shared.js","webpack:///./node_modules/vant/es/cell/index.js","webpack:///./node_modules/vant/es/collapse-item/index.js","webpack:///./node_modules/vant/es/badge/index.js","webpack:///./node_modules/vant/es/checkbox/index.js","webpack:///./node_modules/vant/es/checkbox-group/index.js","webpack:///./node_modules/vant/es/switch/shared.js","webpack:///./node_modules/vant/es/switch/index.js","webpack:///./node_modules/vant/es/pull-refresh/index.js","webpack:///./node_modules/vant/es/mixins/click-outside.js","webpack:///./node_modules/vant/es/swipe-cell/index.js","webpack:///./node_modules/vant/es/form/index.js","webpack:///./node_modules/vant/es/datetime-picker/utils.js","webpack:///./node_modules/vant/es/picker/shared.js","webpack:///./node_modules/vant/es/picker/PickerColumn.js","webpack:///./node_modules/vant/es/picker/index.js","webpack:///./node_modules/vant/es/datetime-picker/shared.js","webpack:///./node_modules/vant/es/datetime-picker/TimePicker.js","webpack:///./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/construct.js","webpack:///./node_modules/vant/es/utils/validate/date.js","webpack:///./node_modules/vant/es/datetime-picker/DatePicker.js","webpack:///./node_modules/vant/es/datetime-picker/index.js","webpack:///./node_modules/vant/es/index-bar/index.js","webpack:///./node_modules/vant/es/index-anchor/index.js","webpack:///./node_modules/vant/es/step/index.js","webpack:///./node_modules/vant/es/steps/index.js","webpack:///./node_modules/vant/es/popup/index.js","webpack:///./node_modules/vant/es/field/index.js","webpack:///./node_modules/vant/es/empty/Network.js","webpack:///./node_modules/vant/es/empty/index.js","webpack:///./node_modules/vant/es/notice-bar/index.js","webpack:///./node_modules/vant/es/grid/index.js","webpack:///./node_modules/vant/es/grid-item/index.js","webpack:///./node_modules/vant/es/search/index.js","webpack:///./node_modules/@vant/popperjs/dist/index.esm.mjs","webpack:///./node_modules/vant/es/popover/index.js","webpack:///./node_modules/vant/es/cell-group/index.js","webpack:///./node_modules/vant/es/tag/index.js","webpack:///./node_modules/vant/es/col/index.js","webpack:///./node_modules/vant/es/row/index.js","webpack:///./node_modules/vant/es/pagination/index.js","webpack:///./node_modules/vant/es/action-sheet/index.js","webpack:///./node_modules/vant/es/list/index.js","webpack:///./node_modules/vant/es/nav-bar/index.js","webpack:///./src/package/common/initPhone.js"],"names":["render","_vm","this","_c","_self","formConf","formList","length","ref","formRef","attrs","formModel","labelWidth","disabled","list","onlyShow","on","$event","_e","staticRenderFns","name","mixins","computedFormItemMixin","props","type","Object","default","Array","Boolean","dbData","data","formArray","timer","_cachedTargets","watch","immediate","deep","handler","newValue","oldValue","deepClone","$form","setForm","_this","handleComputedConfig","getFormModel","targets","formTreeToArray","filter","item","isDataBaseQuery","JSON","stringify","clearTimeout","setTimeout","handleDBQuery","setFormValueByDB","computed","methods","toCamelCase","_this2","forEach","el","__vModel__","__config__","obj","parse","assign","_defineProperty","defaultValue","push","fieldId","fieldKey","formKey","tag","_typeof","formCode","children","submitForm","cb","$emit","validateForm","_this3","$refs","validate","then","catch","error","resetForm","resetValidation","traverseTree","node","readonly","tagType","clearValidate","_this$$refs$this$form","val","flag","some","params","ele","key","dataBaseQueryName","value","component","isArray","map","to","keys","FieldMixin","inject","vanField","field","validateWithTrigger","created","_createNamespace","create","createComponent","isSameValue","vertical","range","barHeight","Number","String","buttonSize","activeColor","inactiveColor","min","max","step","dragStatus","scope","buttonStyle","size","width","height","updateValue","mounted","bindTouchEvent","wrapper0","wrapper1","wrapper","onTouchStart","event","touchStart","currentValue","startValue","format","onTouchMove","touchMove","rect","$el","getBoundingClientRect","delta","deltaY","deltaX","total","diff","index","onTouchEnd","onClick","stopPropagation","clientY","top","clientX","left","_this$value","right","middle","handleOverlap","reverse","end","Math","round","_wrapperStyle","_barStyle","h","arguments","mainAxis","crossAxis","wrapperStyle","background","calcMainAxis","calcOffset","barStyle","transition","renderButton","i","isNumber","current","getClassName","getRefName","renderButtonContent","slot","slots","e","getRateStatus","allowHalf","color","gutter","voidColor","iconPrefix","disabledColor","icon","voidIcon","count","touchable","sizeWithUnit","gutterWithUnit","select","rects","items","ranges","score","direction","touches","getScoreByPosition","x","genStar","status","style","$createElement","isFull","isVoid","paddingRight","full","isIOS","test","navigator","userAgent","toLowerCase","resetScroll","LONG_PRESS_START_TIME","LONG_PRESS_INTERVAL","equal","value1","value2","theme","integer","allowEmpty","inputWidth","asyncChange","placeholder","disablePlus","disableMinus","disableInput","decimalLength","Infinity","showPlus","showMinus","showInput","longPress","minusDisabled","plusDisabled","inputStyle","check","formatNumber","toFixed","onInput","target","formatted","indexOf","pair","split","slice","emitChange","onChange","onFocus","input","blur","onBlur","longPressStep","longPressTimer","isLongPress","onMousedown","preventDefault","createListeners","click","touchstart","touchend","touchcancel","dot","info","badge","title","titleStyle","titleClass","inited","computedName","_this$name","isActive","active","parent","currentName","setLine","scrollIntoView","lazyRender","$nextTick","slotContent","animated","show","scrollspy","shouldRender","Content","inactive","scrollLeftTo","scroller","duration","from","scrollLeft","frames","animate","raf","scrollTopTo","callback","isDown","callInterceptor","options","interceptor","args","done","returnVal","apply","scrollable","isCard","borderColor","backgroundColor","titleColor","genText","Text","ellipsis","bind","isBind","observer","method","onScroll","zIndex","container","offsetTop","fixed","transform","offsetTopPx","unit","isFixed","window","IntersectionObserver","entries","intersectionRatio","root","document","body","offsetHeight","scrollTop","topToPageTop","emitScrollEvent","bottomToPageTop","distanceToBottom","MIN_SWIPE_DISTANCE","swipeable","currentIndex","transitionDuration","listeners","touchmove","offsetX","genChildren","resize","vanPopup","model","prop","border","sticky","lineWidth","lineHeight","beforeChange","Function","titleActiveColor","titleInactiveColor","swipeThreshold","position","lineStyle","navStyle","activeTab","scrollOffset","tabHeight","setCurrentIndexByName","stickyFixed","ceil","init","onReopen","activated","wrap","_this4","shouldAnimate","titles","offsetLeft","offsetWidth","borderRadius","matched","tab","defaultIndex","setCurrentIndex","newIndex","findAvailableTab","newTab","newName","shouldEmitChange","_this5","_this$children$index","scrollToCurrentContent","$router","nav","onSticktScroll","scrollTo","_this6","_this7","lockScroll","getCurrentIndexOnScroll","_ref","_this8","Nav","_item$badge","Wrap","complete","fieldNames","closeable","showHeader","tabs","textKey","_this$fieldNames","text","valueKey","_this$fieldNames2","childrenKey","_this$fieldNames3","_value","values","_tab$selectedOption","selectedOption","updateTabs","getSelectedOptionsByValue","option","selectedOptions","concat","optionsCursor","next","onSelect","tabIndex","nextTab","$set","eventParams","onClose","renderHeader","renderOptions","renderOption","isSelected","selected","renderTab","unselected","renderTabs","$$v","toArray","file","resultType","Promise","resolve","reader","FileReader","onload","result","readAsDataURL","readAsText","isOversize","files","maxSize","IMAGE_REGEXP","isImageUrl","url","isImageFile","isImage","content","inheritAttrs","lazyLoad","uploadText","afterRead","beforeRead","beforeDelete","previewSize","previewOptions","accept","fileList","MAX_VALUE","maxCount","deletable","showUpload","previewImage","previewFullImage","imageFit","uploadIcon","previewSizeWithUnit","urls","beforeDestroy","URL","revokeObjectURL","getDetail","call","response","resetInput","readFile","oversize","all","contents","message","onAfterRead","validFiles","oversizeFiles","isValidFiles","onDelete","_file$beforeDelete","deleteFile","splice","onClickUpload","onPreviewImage","imageFiles","imageContents","createObjectURL","imagePreview","images","startPosition","closeImagePreview","close","chooseFile","genPreviewMask","MaskIcon","showMessage","genPreviewItem","_item$deletable","_item$previewSize","_item$imageFit","deleteAble","showDelete","DeleteIcon","PreviewCoverContent","PreviewCover","Preview","genPreviewList","genUpload","Input","$attrs","route","safeAreaInsetBottom","fit","setHeight","tabbar","setActiveItem","nameMatched","triggerChange","afterChange","genTabbar","unfit","routeMode","$route","config","path","find","r","pathMatched","genIcon","_this$badge","SECOND","MINUTE","HOUR","DAY","parseTimeData","time","days","floor","hours","minutes","seconds","milliseconds","parseFormat","timeData","replace","ms","charAt","isSameSecond","time1","time2","millisecond","autoStart","remain","formattedTime","keepAlivePaused","counting","tick","deactivated","pause","start","endTime","Date","now","rafId","reset","microTick","macroTick","setRemain","getRemain","Divider","ctx","_bem","dashed","hairline","contentPosition","activeKey","setIndex","_this$slots","TreeSelect","activeId","selectedIcon","mainActiveIndex","selectedItem","subItems","isMultiple","isActiveItem","id","Navs","className","newActiveId","checkedColor","iconSize","bem","role","labelPosition","labelDisabled","shape","bindGroup","disableBindRelation","isDisabled","iconStyle","checked","tabindex","iconClicked","contains","toggle","fontSize","genLabel","Children","unshift","get","set","accordion","switch","expanded","activeName","cellProps","center","isLink","required","valueClass","labelClass","label","arrowDirection","clickable","Cell","_props$clickable","showTitle","Label","showLabel","Title","Value","showValue","alone","LeftIcon","RightIcon","rightIconSlot","classes","borderless","extra","CELL_SLOTS","_this$parent","_expanded","prev","nextTick","_this2$$refs","contentHeight","onTransitionEnd","genTitle","titleSlots","reduce","$props","genContent","hasContent","$scopedSlots","renderContent","renderBadge","setParentValue","toggleTask","toggleAll","_options","skipDisabled","names","switchProps","loading","activeValue","inactiveValue","genLoading","DEFAULT_HEAD_HEIGHT","TEXT_STATUS","successText","pullingText","loosingText","loadingText","pullDistance","successDuration","animationDuration","headHeight","distance","headStyle","setStatus","showSuccessTip","track","scrollEl","checkPullStart","ceiling","ease","isLoading","genStatus","nodes","trackStyle","closeOnClickOutside","clickOutsideHandler","THRESHOLD","leftWidth","rightWidth","beforeClose","offset","dragging","computedLeftWidth","getWidthByRef","computedRightWidth","open","opened","detail","startOffset","lockClick","isPrevent","abs","threshold","instance","getClickHandler","stop","genLeftPart","genRightPart","colon","labelAlign","inputAlign","scrollToError","validateFirst","errorMessageAlign","submitOnEnter","validateTrigger","showError","showErrorMessage","provide","vanForm","fields","getFieldsByNames","validateSeq","reject","errors","promise","validateFields","validateField","scrollToField","addField","removeField","getValues","form","formValue","onSubmit","submit","times","n","iteratee","getTrueValue","parseInt","getMonthEndDay","year","month","getDate","DEFAULT_ITEM_HEIGHT","pickerProps","itemHeight","showToolbar","cancelButtonText","confirmButtonText","allowHtml","visibleItemCount","swipeDuration","DEFAULT_DURATION","MOMENTUM_LIMIT_TIME","MOMENTUM_LIMIT_DISTANCE","getElementTranslateY","element","getComputedStyle","webkitTransform","translateY","isOptionDisabled","supportMousewheel","mousewheelTimer","initialOptions","$parent","onMouseWheel","destroyed","baseOffset","setOptions","moving","transitionEndTrigger","touchStartTime","momentumOffset","allowMomentum","momentum","getIndexByOffset","itemOffset","stopMomentum","onClickItem","adjustIndex","_i","getOptionText","trigger","setValue","getValue","speed","genOptions","optionStyle","_domProps","class","childData","domProps","transitionProperty","columns","toolbarPosition","formattedColumns","itemPxHeight","dataType","firstColumn","formatCascade","cursor","_cursor$defaultIndex","_cursor","emit","getColumnValue","getColumnIndex","getIndexes","onCascadeChange","columnIndex","indexes","setColumnValues","getColumn","column","setColumnValue","setColumnIndex","optionIndex","getColumnValues","child","setValues","setIndexes","confirm","cancel","titleSlot","genCancel","genConfirm","genToolbar","genColumns","wrapHeight","frameStyle","columnsStyle","maskStyle","backgroundSize","genColumnItems","_item$defaultIndex","PickerColumn","sharedProps","columnsOrder","formatter","TimePickerMixin","innerValue","formatValue","originColumns","rangeArr","oldVal","updateColumnValue","updateInnerValue","getPicker","picker","getProxiedPicker","proxy","fn","onConfirm","onCancel","minHour","maxHour","minMinute","maxMinute","_this$innerValue$spli","hour","minute","_this$innerValue$spli2","_value$split","_this$getPicker$getIn","hourIndex","minuteIndex","_this$originColumns","hourColumn","minuteColumn","_isNativeReflectConstruct","t","prototype","valueOf","Reflect","construct","_setPrototypeOf","setPrototypeOf","__proto__","_construct","isNativeReflectConstruct","o","p","isDate","toString","getTime","currentYear","getFullYear","minDate","validator","maxDate","_this$getBoundary","getBoundary","maxYear","maxMonth","_this$getBoundary2","minYear","minMonth","sort","a","b","dateMethods","day","dateColumns","minDateVal","maxDateVal","dates","_dateColumns$filter$","_ref2","boundary","date","getMonth","getHours","getMinutes","maxDay","TimePicker","DatePicker","Component","$listeners","genAlphabet","indexList","charCodeOfA","charCodeAt","fromCharCode","highlightColor","stickyOffsetTop","activeAnchorIndex","sidebarStyle","highlightStyle","scrollerRect","getScrollerRect","getRect","getActiveAnchorIndex","activeItemTop","prevHeight","reachTop","scrollToElement","_event$touches$","elementFromPoint","dataset","touchActiveIndex","match","Indexes","indexKey","anchorStyle","elRect","circleContainerStyle","genCircle","_this$parent2","activeIcon","finishIcon","inactiveIcon","finishIconSlot","inactiveIconSlot","onClickStep","closeIcon","closeIconPosition","overlay","closeOnClickOverlay","beforeCreate","createEmitter","eventName","onOpened","onClosed","onClickCloseIcon","isCenter","transitionName","transitionAppear","rules","autosize","leftIcon","rightIcon","clearable","maxlength","errorMessage","showWordLimit","clearTrigger","formatTrigger","focused","validateFailed","validateMessage","adjustSize","showClear","getProp","hasValue","focus","onClickInput","keypress","onKeypress","labelStyle","$slots","runValidator","rule","isEmptyValue","runSyncRule","pattern","getRuleMessage","runRules","defaultTrigger","composing","onClickLeftIcon","onClickRightIcon","onClear","ENTER_CODE","keyCode","scrollHeight","_this$autosize","maxHeight","minHeight","genInput","inputSlot","inputProps","directives","inputMode","inputType","genLeftIcon","showLeftIcon","genRightIcon","showRightIcon","genWordLimit","genMessage","scopedSlots","prefix","genStop","opacity","PRESETS","imageSize","description","image","genImageContent","Network","genImage","imageStyle","genDescription","genBottom","mode","wrapable","delay","wrapWidth","contentWidth","onClickIcon","startTimer","contentStyle","iconName","square","columnNum","paddingLeft","percent","flexBasis","paddingTop","gutterValue","marginTop","bottom","iconSlot","getText","textSlot","_this$parent3","surround","Search","Action","showAction","action","actionText","fieldData","inheritData","undefined","getWindow","ownerDocument","defaultView","isElement","OwnElement","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","getUAString","uaData","userAgentData","brands","brand","version","join","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","y","getWindowScroll","win","pageXOffset","pageYOffset","getHTMLElementScroll","getNodeScroll","getNodeName","nodeName","getDocumentElement","documentElement","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","isElementScaled","getCompositeRect","elementOrVirtualElement","offsetParent","isOffsetParentAnElement","offsetParentIsScaled","scroll","offsets","clientLeft","clientTop","getLayoutRect","getParentNode","assignedSlot","parentNode","host","getScrollParent","listScrollParents","_element$ownerDocumen","scrollParent","isBody","updatedList","isTableElement","getTrueOffsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","css","perspective","contain","willChange","getOffsetParent","window2","auto","basePlacements","placements","acc","placement","read","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","order","modifiers","Map","visited","Set","modifier","add","requires","requiresIfExists","dep","has","depModifier","orderModifiers","orderedModifiers","phase","debounce","fn2","pending","str","_len","_key","c","INVALID_MODIFIER_ERROR","MISSING_DEPENDENCY_ERROR","VALID_PROPERTIES","validateModifiers","self","console","enabled","effect","s","requirement","mod","uniqueBy","arr","identifiers","identifier","getBasePlacement","mergeByName","merged","merged2","existing","getVariation","getMainAxisFromPlacement","computeOffsets","reference","basePlacement","variation","commonX","commonY","len","INVALID_ELEMENT_ERROR","INFINITE_LOOP_ERROR","DEFAULT_OPTIONS","strategy","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","defaultModifiers2","_generatorOptions$def2","defaultOptions","popper","state","modifiersData","elements","attributes","styles","effectCleanupFns","isDestroyed","setOptionsAction","options2","cleanupModifierEffects","scrollParents","contextElement","m","flipModifier","marginRight","marginBottom","marginLeft","margin","parseFloat","warn","runModifierEffects","update","forceUpdate","_state$elements","reference2","popper2","__debug_loops__","_state$orderedModifie","_state$orderedModifie2","destroy","_ref3","_ref3$options","effect3","cleanupFn","noopFn","state2","onFirstUpdate","passive","_options$scroll","_options$resize","addEventListener","removeEventListener","eventListeners_default","popperOffsets","popperOffsets_default","unsetSides","roundOffsetsByDPR","dpr","devicePixelRatio","mapToStyles","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","_offsets$x","_offsets$y","hasX","hasOwnProperty","hasY","sideX","sideY","heightProp","widthProp","offsetY","_Object$assign","commonStyles","_ref4","computeStyles","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","property","arrow","computeStyles_default","applyStyles","name2","removeAttribute","setAttribute","effect2","initialStyles","styleProperties","style2","attribute","applyStyles_default","distanceAndSkiddingToXY","offset2","invertDistance","skidding","_options$offset","_data$state$placement","offset_default","actions","getContainer","closeOnClickAction","updateLocation","createPopper","popover","renderAction","onClickAction","onToggle","onClickWrapper","onTouchstart","onClickOutside","onOpen","CellGroup","Group","inset","Tag","_style","mark","plain","textColor","CloseIcon","span","spaces","_spaces$index","align","justify","groups","totalSpan","group","averagePadding","flex","makePage","number","prevText","nextText","forceEllipses","pageCount","totalItems","itemsPerPage","showPageSize","pages","startPage","endPage","isMaxSized","page","previousPageSet","nextPageSet","_this$slots3","simple","_this$slots2","ActionSheet","cancelText","Header","Option","onClickOption","OptionContent","subname","CancelText","Description","closeOnPopstate","finished","errorText","finishedText","immediateCheck","innerLoading","updated","innerHeight","scrollerHeight","isReachEdge","placeholderRect","clickErrorText","genFinishedText","genErrorText","Placeholder","leftText","rightText","leftArrow","safeAreaInsetTop","navBar","genLeft","leftSlot","genRight","rightSlot","genNavBar","hasLeft","onClickLeft","hasRight","onClickRight","Vue","use","_List","_NavBar","_Tab","_Tabs","_Sticky","_Button","_Search","_Icon","_Popover","_Cell","_CellGroup","_Tag","_Col","_Row","_Pagination","_ActionSheet","_Step","_Steps","_Image","_Picker","_Popup","_Field","_Empty","_Toast","_NoticeBar","_Swipe","_SwipeItem","_Grid","_GridItem","_Dialog","_Checkbox","_CheckboxGroup","_Switch","_PullRefresh","_SwipeCell","_Form","_DatetimePicker","_IndexBar","_IndexAnchor","_RadioGroup","_Radio","_Collapse","_CollapseItem","_Loading","_Overlay","_Badge","_Stepper","_Cascader","_Uploader","_Tabbar","_TabbarItem","_CountDown","_Divider","_Sidebar","_SidebarItem","_TreeSelect","_Slider","_Rate"],"mappings":"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","file":"static/js/chunk-6c2021e2.40514c1e.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.formConf && _vm.formList.length)?_c('van-form',{ref:_vm.formConf.formRef,attrs:{\"model\":_vm.formModel,\"label-width\":_vm.formConf.labelWidth,\"label-align\":\"top\",\"disabled\":_vm.formConf.disabled,\"show-error-message\":\"\"}},[_c('phone-form-row-container',{attrs:{\"list\":_vm.list,\"formConf\":_vm.formConf,\"onlyShow\":_vm.onlyShow},on:{\"update:list\":function($event){_vm.list=$event}}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <!-- 移动端预览 -->\r\n <van-form\r\n v-if=\"formConf && formList.length\"\r\n :model=\"formModel\"\r\n :ref=\"formConf.formRef\"\r\n :label-width=\"formConf.labelWidth\"\r\n label-align=\"top\"\r\n :disabled=\"formConf.disabled\"\r\n show-error-message\r\n >\r\n <phone-form-row-container :list.sync=\"list\" :formConf=\"formConf\" :onlyShow=\"onlyShow\" />\r\n </van-form>\r\n</template>\r\n\r\n<script>\r\nimport {deepClone, formTreeToArray, setFormValueByDB, toCamelCase, traverseTree} from \"../utils/index\";\r\nimport computedFormItemMixin from \"@/utils/computedFormItem\";\r\nexport default {\r\n name: \"phoneForm\",\r\n mixins: [computedFormItemMixin],\r\n props: {\r\n // 表单属性\r\n formConf: {\r\n type: Object,\r\n default: () => {},\r\n },\r\n // 表单列表\r\n formList: {\r\n type: Array,\r\n default: () => [],\r\n },\r\n onlyShow: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n // 传入的对应的{key: value}\r\n dbData: {\r\n type: Object,\r\n default: () => {},\r\n },\r\n },\r\n data() {\r\n return {\r\n formModel: {},\r\n formArray: [],\r\n list: [],\r\n timer: null,\r\n _cachedTargets: []\r\n };\r\n },\r\n watch: {\r\n formList: {\r\n immediate: true,\r\n deep: true,\r\n handler(newValue, oldValue) {\r\n if (newValue) {\r\n this.list = deepClone(newValue);\r\n this.$form.setForm(this.list);\r\n }\r\n },\r\n },\r\n list: {\r\n immediate: true,\r\n deep: true,\r\n handler(newValue) {\r\n if (newValue) {\r\n this.handleComputedConfig(newValue);\r\n // 将表单列表数据存储\r\n this.$form.setForm(newValue);\r\n this.formArray = [];\r\n // 根据表单列表生成动态表单模型数据\r\n this.getFormModel(newValue);\r\n // 监听筛选条件\r\n const targets = formTreeToArray(newValue).filter(item => item.isDataBaseQuery);\r\n if (JSON.stringify(targets) !== JSON.stringify(this._cachedTargets)) {\r\n this._cachedTargets = targets;\r\n if (this.timer) {\r\n clearTimeout(this.timer)\r\n }\r\n this.timer = setTimeout(() => {\r\n this.handleDBQuery(targets);\r\n }, 1000)\r\n }\r\n }\r\n },\r\n },\r\n dbData: {\r\n immediate: true,\r\n deep: true,\r\n handler(newValue) {\r\n this.list = setFormValueByDB(this.list || [], newValue);\r\n }\r\n }\r\n },\r\n computed: {},\r\n methods: {\r\n toCamelCase,\r\n // 根据表单列表生成动态表单模型数据\r\n getFormModel(list) {\r\n list.forEach((el) => {\r\n if (el?.__vModel__ && el.__config__) {\r\n let obj = JSON.parse(JSON.stringify(this.formModel));\r\n this.formModel = Object.assign(obj, {\r\n [el.__vModel__]: el.__config__.defaultValue,\r\n });\r\n this.formArray.push({\r\n fieldId: el.__vModel__,\r\n fieldKey: el.__config__.formKey,\r\n tag: el.__config__.tag,\r\n defaultValue: el.__config__.defaultValue,\r\n type: typeof el.__config__.defaultValue,\r\n formCode: this.formConf.formCode,\r\n });\r\n }\r\n if (el?.children) {\r\n this.getFormModel(el.children);\r\n }\r\n });\r\n },\r\n submitForm(cb) {\r\n this.$emit(\"update:formList\", this.list);\r\n this.$emit(\"submit\", this.list);\r\n cb(this.formArray, deepClone(this.list));\r\n },\r\n validateForm(cb) {\r\n this.$emit(\"update:formList\", this.list);\r\n this.$refs[this.formConf.formRef]\r\n .validate()\r\n .then(() => {\r\n this.$emit(\"submit\", this.list);\r\n cb(true, this.formArray, deepClone(this.list));\r\n })\r\n .catch((error) => {\r\n // 检验失败\r\n cb(false, this.formModel, deepClone(this.list));\r\n });\r\n },\r\n // 重置\r\n resetForm() {\r\n this.$refs[this.formConf.formRef].resetValidation();\r\n traverseTree(this.list, (node) => {\r\n if (\r\n node &&\r\n node.__config__ &&\r\n node.disabled !== true &&\r\n node.readonly !== true &&\r\n node.__config__.tagType != \"assist\"\r\n ) {\r\n node.__config__.defaultValue = null;\r\n }\r\n }); // 从根节点开始遍历整个树\r\n this.$emit(\"update:formList\", this.list);\r\n },\r\n // 清除校验结果\r\n clearValidate() {\r\n this.$refs[this.formConf.formRef]?.clearValidate()\r\n },\r\n handleDBQuery(val) {\r\n let flag = !val.some(item => !item.__config__.defaultValue);\r\n let params = [];\r\n val.forEach(ele => {\r\n if(ele.__config__.defaultValue) {\r\n params.push({key: ele.dataBaseQueryName, value: ele.__config__.defaultValue})\r\n }\r\n })\r\n this.$emit('changeDataBaseQuery', flag ? params: []);\r\n // console.log('搜索条件', params)\r\n }\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\"></style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./phoneForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./phoneForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./phoneForm.vue?vue&type=template&id=577142be\"\nimport script from \"./phoneForm.vue?vue&type=script&lang=js\"\nexport * from \"./phoneForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { isDef } from './index';\nexport function deepClone(obj) {\n if (!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}","export var FieldMixin = {\n inject: {\n vanField: {\n default: null\n }\n },\n watch: {\n value: function value() {\n var field = this.vanField;\n\n if (field) {\n field.resetValidation();\n field.validateWithTrigger('onChange');\n }\n }\n },\n created: function created() {\n var field = this.vanField;\n\n if (field && !field.children) {\n field.children = this;\n }\n }\n};","import { createNamespace, addUnit } from '../utils';\nimport { deepClone } from '../utils/deep-clone';\nimport { preventDefault } from '../utils/dom/event';\nimport { range, addNumber } from '../utils/format/number';\nimport { TouchMixin } from '../mixins/touch';\nimport { FieldMixin } from '../mixins/field';\n\nvar _createNamespace = createNamespace('slider'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar isSameValue = function isSameValue(newValue, oldValue) {\n return JSON.stringify(newValue) === JSON.stringify(oldValue);\n};\n\nexport default createComponent({\n mixins: [TouchMixin, FieldMixin],\n props: {\n disabled: Boolean,\n vertical: Boolean,\n range: Boolean,\n barHeight: [Number, String],\n buttonSize: [Number, String],\n activeColor: String,\n inactiveColor: String,\n min: {\n type: [Number, String],\n default: 0\n },\n max: {\n type: [Number, String],\n default: 100\n },\n step: {\n type: [Number, String],\n default: 1\n },\n value: {\n type: [Number, Array],\n default: 0\n }\n },\n data: function data() {\n return {\n dragStatus: ''\n };\n },\n computed: {\n scope: function scope() {\n return this.max - this.min;\n },\n buttonStyle: function buttonStyle() {\n if (this.buttonSize) {\n var size = addUnit(this.buttonSize);\n return {\n width: size,\n height: size\n };\n }\n }\n },\n created: function created() {\n // format initial value\n this.updateValue(this.value);\n },\n mounted: function mounted() {\n if (this.range) {\n this.bindTouchEvent(this.$refs.wrapper0);\n this.bindTouchEvent(this.$refs.wrapper1);\n } else {\n this.bindTouchEvent(this.$refs.wrapper);\n }\n },\n methods: {\n onTouchStart: function onTouchStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.touchStart(event);\n this.currentValue = this.value;\n\n if (this.range) {\n this.startValue = this.value.map(this.format);\n } else {\n this.startValue = this.format(this.value);\n }\n\n this.dragStatus = 'start';\n },\n onTouchMove: function onTouchMove(event) {\n if (this.disabled) {\n return;\n }\n\n if (this.dragStatus === 'start') {\n this.$emit('drag-start');\n }\n\n preventDefault(event, true);\n this.touchMove(event);\n this.dragStatus = 'draging';\n var rect = this.$el.getBoundingClientRect();\n var delta = this.vertical ? this.deltaY : this.deltaX;\n var total = this.vertical ? rect.height : rect.width;\n var diff = delta / total * this.scope;\n\n if (this.range) {\n this.currentValue[this.index] = this.startValue[this.index] + diff;\n } else {\n this.currentValue = this.startValue + diff;\n }\n\n this.updateValue(this.currentValue);\n },\n onTouchEnd: function onTouchEnd() {\n if (this.disabled) {\n return;\n }\n\n if (this.dragStatus === 'draging') {\n this.updateValue(this.currentValue, true);\n this.$emit('drag-end');\n }\n\n this.dragStatus = '';\n },\n onClick: function onClick(event) {\n event.stopPropagation();\n if (this.disabled) return;\n var rect = this.$el.getBoundingClientRect();\n var delta = this.vertical ? event.clientY - rect.top : event.clientX - rect.left;\n var total = this.vertical ? rect.height : rect.width;\n var value = +this.min + delta / total * this.scope;\n\n if (this.range) {\n var _this$value = this.value,\n left = _this$value[0],\n right = _this$value[1];\n var middle = (left + right) / 2;\n\n if (value <= middle) {\n left = value;\n } else {\n right = value;\n }\n\n value = [left, right];\n }\n\n this.startValue = this.value;\n this.updateValue(value, true);\n },\n // 处理两个滑块重叠之后的情况\n handleOverlap: function handleOverlap(value) {\n if (value[0] > value[1]) {\n value = deepClone(value);\n return value.reverse();\n }\n\n return value;\n },\n updateValue: function updateValue(value, end) {\n if (this.range) {\n value = this.handleOverlap(value).map(this.format);\n } else {\n value = this.format(value);\n }\n\n if (!isSameValue(value, this.value)) {\n this.$emit('input', value);\n }\n\n if (end && !isSameValue(value, this.startValue)) {\n this.$emit('change', value);\n }\n },\n format: function format(value) {\n var min = +this.min;\n var max = +this.max;\n var step = +this.step;\n value = range(value, min, max);\n var diff = Math.round((value - min) / step) * step;\n return addNumber(min, diff);\n }\n },\n render: function render() {\n var _wrapperStyle,\n _this = this,\n _barStyle;\n\n var h = arguments[0];\n var vertical = this.vertical;\n var mainAxis = vertical ? 'height' : 'width';\n var crossAxis = vertical ? 'width' : 'height';\n var wrapperStyle = (_wrapperStyle = {\n background: this.inactiveColor\n }, _wrapperStyle[crossAxis] = addUnit(this.barHeight), _wrapperStyle); // 计算选中条的长度百分比\n\n var calcMainAxis = function calcMainAxis() {\n var value = _this.value,\n min = _this.min,\n range = _this.range,\n scope = _this.scope;\n\n if (range) {\n return (value[1] - value[0]) * 100 / scope + \"%\";\n }\n\n return (value - min) * 100 / scope + \"%\";\n }; // 计算选中条的开始位置的偏移量\n\n\n var calcOffset = function calcOffset() {\n var value = _this.value,\n min = _this.min,\n range = _this.range,\n scope = _this.scope;\n\n if (range) {\n return (value[0] - min) * 100 / scope + \"%\";\n }\n\n return null;\n };\n\n var barStyle = (_barStyle = {}, _barStyle[mainAxis] = calcMainAxis(), _barStyle.left = this.vertical ? null : calcOffset(), _barStyle.top = this.vertical ? calcOffset() : null, _barStyle.background = this.activeColor, _barStyle);\n\n if (this.dragStatus) {\n barStyle.transition = 'none';\n }\n\n var renderButton = function renderButton(i) {\n var map = ['left', 'right'];\n var isNumber = typeof i === 'number';\n var current = isNumber ? _this.value[i] : _this.value;\n\n var getClassName = function getClassName() {\n if (isNumber) {\n return \"button-wrapper-\" + map[i];\n }\n\n return \"button-wrapper\";\n };\n\n var getRefName = function getRefName() {\n if (isNumber) {\n return \"wrapper\" + i;\n }\n\n return \"wrapper\";\n };\n\n var renderButtonContent = function renderButtonContent() {\n if (isNumber) {\n var slot = _this.slots(i === 0 ? 'left-button' : 'right-button', {\n value: current\n });\n\n if (slot) {\n return slot;\n }\n }\n\n if (_this.slots('button')) {\n return _this.slots('button');\n }\n\n return h(\"div\", {\n \"class\": bem('button'),\n \"style\": _this.buttonStyle\n });\n };\n\n return h(\"div\", {\n \"ref\": getRefName(),\n \"attrs\": {\n \"role\": \"slider\",\n \"tabindex\": _this.disabled ? -1 : 0,\n \"aria-valuemin\": _this.min,\n \"aria-valuenow\": _this.value,\n \"aria-valuemax\": _this.max,\n \"aria-orientation\": _this.vertical ? 'vertical' : 'horizontal'\n },\n \"class\": bem(getClassName()),\n \"on\": {\n \"touchstart\": function touchstart() {\n if (isNumber) {\n // 保存当前按钮的索引\n _this.index = i;\n }\n },\n \"click\": function click(e) {\n return e.stopPropagation();\n }\n }\n }, [renderButtonContent()]);\n };\n\n return h(\"div\", {\n \"style\": wrapperStyle,\n \"class\": bem({\n disabled: this.disabled,\n vertical: vertical\n }),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('bar'),\n \"style\": barStyle\n }, [this.range ? [renderButton(0), renderButton(1)] : renderButton()])]);\n }\n});","// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { preventDefault } from '../utils/dom/event'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch';\nimport { FieldMixin } from '../mixins/field'; // Components\n\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('rate'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction getRateStatus(value, index, allowHalf) {\n if (value >= index) {\n return 'full';\n }\n\n if (value + 0.5 >= index && allowHalf) {\n return 'half';\n }\n\n return 'void';\n}\n\nexport default createComponent({\n mixins: [TouchMixin, FieldMixin],\n props: {\n size: [Number, String],\n color: String,\n gutter: [Number, String],\n readonly: Boolean,\n disabled: Boolean,\n allowHalf: Boolean,\n voidColor: String,\n iconPrefix: String,\n disabledColor: String,\n value: {\n type: Number,\n default: 0\n },\n icon: {\n type: String,\n default: 'star'\n },\n voidIcon: {\n type: String,\n default: 'star-o'\n },\n count: {\n type: [Number, String],\n default: 5\n },\n touchable: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n list: function list() {\n var list = [];\n\n for (var i = 1; i <= this.count; i++) {\n list.push(getRateStatus(this.value, i, this.allowHalf));\n }\n\n return list;\n },\n sizeWithUnit: function sizeWithUnit() {\n return addUnit(this.size);\n },\n gutterWithUnit: function gutterWithUnit() {\n return addUnit(this.gutter);\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$el);\n },\n methods: {\n select: function select(index) {\n if (!this.disabled && !this.readonly && index !== this.value) {\n this.$emit('input', index);\n this.$emit('change', index);\n }\n },\n onTouchStart: function onTouchStart(event) {\n var _this = this;\n\n if (this.readonly || this.disabled || !this.touchable) {\n return;\n }\n\n this.touchStart(event);\n var rects = this.$refs.items.map(function (item) {\n return item.getBoundingClientRect();\n });\n var ranges = [];\n rects.forEach(function (rect, index) {\n if (_this.allowHalf) {\n ranges.push({\n score: index + 0.5,\n left: rect.left\n }, {\n score: index + 1,\n left: rect.left + rect.width / 2\n });\n } else {\n ranges.push({\n score: index + 1,\n left: rect.left\n });\n }\n });\n this.ranges = ranges;\n },\n onTouchMove: function onTouchMove(event) {\n if (this.readonly || this.disabled || !this.touchable) {\n return;\n }\n\n this.touchMove(event);\n\n if (this.direction === 'horizontal') {\n preventDefault(event);\n var clientX = event.touches[0].clientX;\n this.select(this.getScoreByPosition(clientX));\n }\n },\n getScoreByPosition: function getScoreByPosition(x) {\n for (var i = this.ranges.length - 1; i > 0; i--) {\n if (x > this.ranges[i].left) {\n return this.ranges[i].score;\n }\n }\n\n return this.allowHalf ? 0.5 : 1;\n },\n genStar: function genStar(status, index) {\n var _this2 = this;\n\n var h = this.$createElement;\n var icon = this.icon,\n color = this.color,\n count = this.count,\n voidIcon = this.voidIcon,\n disabled = this.disabled,\n voidColor = this.voidColor,\n disabledColor = this.disabledColor;\n var score = index + 1;\n var isFull = status === 'full';\n var isVoid = status === 'void';\n var style;\n\n if (this.gutterWithUnit && score !== +count) {\n style = {\n paddingRight: this.gutterWithUnit\n };\n }\n\n return h(\"div\", {\n \"ref\": \"items\",\n \"refInFor\": true,\n \"key\": index,\n \"attrs\": {\n \"role\": \"radio\",\n \"tabindex\": \"0\",\n \"aria-setsize\": count,\n \"aria-posinset\": score,\n \"aria-checked\": String(!isVoid)\n },\n \"style\": style,\n \"class\": bem('item')\n }, [h(Icon, {\n \"attrs\": {\n \"size\": this.sizeWithUnit,\n \"name\": isFull ? icon : voidIcon,\n \"color\": disabled ? disabledColor : isFull ? color : voidColor,\n \"classPrefix\": this.iconPrefix,\n \"data-score\": score\n },\n \"class\": bem('icon', {\n disabled: disabled,\n full: isFull\n }),\n \"on\": {\n \"click\": function click() {\n _this2.select(score);\n }\n }\n }), this.allowHalf && h(Icon, {\n \"attrs\": {\n \"size\": this.sizeWithUnit,\n \"name\": isVoid ? voidIcon : icon,\n \"color\": disabled ? disabledColor : isVoid ? voidColor : color,\n \"classPrefix\": this.iconPrefix,\n \"data-score\": score - 0.5\n },\n \"class\": bem('icon', ['half', {\n disabled: disabled,\n full: !isVoid\n }]),\n \"on\": {\n \"click\": function click() {\n _this2.select(score - 0.5);\n }\n }\n })]);\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem({\n readonly: this.readonly,\n disabled: this.disabled\n }),\n \"attrs\": {\n \"tabindex\": \"0\",\n \"role\": \"radiogroup\"\n }\n }, [this.list.map(function (status, index) {\n return _this3.genStar(status, index);\n })]);\n }\n});","import { isServer } from '..';\nexport function isAndroid() {\n /* istanbul ignore next */\n return isServer ? false : /android/.test(navigator.userAgent.toLowerCase());\n}\nexport function isIOS() {\n /* istanbul ignore next */\n return isServer ? false : /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());\n}","/**\n * Hack for iOS12 page scroll\n * https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800\n */\nimport { isIOS as checkIsIOS } from '../validate/system';\nimport { getRootScrollTop, setRootScrollTop } from './scroll';\nvar isIOS = checkIsIOS();\n/* istanbul ignore next */\n\nexport function resetScroll() {\n if (isIOS) {\n setRootScrollTop(getRootScrollTop());\n }\n}","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport { createNamespace, isDef, addUnit } from '../utils';\nimport { resetScroll } from '../utils/dom/reset-scroll';\nimport { preventDefault } from '../utils/dom/event';\nimport { addNumber, formatNumber as _formatNumber } from '../utils/format/number';\nimport { isNaN } from '../utils/validate/number';\nimport { FieldMixin } from '../mixins/field';\n\nvar _createNamespace = createNamespace('stepper'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar LONG_PRESS_START_TIME = 600;\nvar LONG_PRESS_INTERVAL = 200;\n\nfunction equal(value1, value2) {\n return String(value1) === String(value2);\n}\n\nexport default createComponent({\n mixins: [FieldMixin],\n props: {\n value: null,\n theme: String,\n integer: Boolean,\n disabled: Boolean,\n allowEmpty: Boolean,\n inputWidth: [Number, String],\n buttonSize: [Number, String],\n asyncChange: Boolean,\n placeholder: String,\n disablePlus: Boolean,\n disableMinus: Boolean,\n disableInput: Boolean,\n decimalLength: [Number, String],\n name: {\n type: [Number, String],\n default: ''\n },\n min: {\n type: [Number, String],\n default: 1\n },\n max: {\n type: [Number, String],\n default: Infinity\n },\n step: {\n type: [Number, String],\n default: 1\n },\n defaultValue: {\n type: [Number, String],\n default: 1\n },\n showPlus: {\n type: Boolean,\n default: true\n },\n showMinus: {\n type: Boolean,\n default: true\n },\n showInput: {\n type: Boolean,\n default: true\n },\n longPress: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n var _this$value;\n\n var defaultValue = (_this$value = this.value) != null ? _this$value : this.defaultValue;\n var value = this.format(defaultValue);\n\n if (!equal(value, this.value)) {\n this.$emit('input', value);\n }\n\n return {\n currentValue: value\n };\n },\n computed: {\n minusDisabled: function minusDisabled() {\n return this.disabled || this.disableMinus || this.currentValue <= +this.min;\n },\n plusDisabled: function plusDisabled() {\n return this.disabled || this.disablePlus || this.currentValue >= +this.max;\n },\n inputStyle: function inputStyle() {\n var style = {};\n\n if (this.inputWidth) {\n style.width = addUnit(this.inputWidth);\n }\n\n if (this.buttonSize) {\n style.height = addUnit(this.buttonSize);\n }\n\n return style;\n },\n buttonStyle: function buttonStyle() {\n if (this.buttonSize) {\n var size = addUnit(this.buttonSize);\n return {\n width: size,\n height: size\n };\n }\n }\n },\n watch: {\n max: 'check',\n min: 'check',\n integer: 'check',\n decimalLength: 'check',\n value: function value(val) {\n if (!equal(val, this.currentValue)) {\n this.currentValue = this.format(val);\n }\n },\n currentValue: function currentValue(val) {\n this.$emit('input', val);\n this.$emit('change', val, {\n name: this.name\n });\n }\n },\n methods: {\n check: function check() {\n var val = this.format(this.currentValue);\n\n if (!equal(val, this.currentValue)) {\n this.currentValue = val;\n }\n },\n // formatNumber illegal characters\n formatNumber: function formatNumber(value) {\n return _formatNumber(String(value), !this.integer);\n },\n format: function format(value) {\n if (this.allowEmpty && value === '') {\n return value;\n }\n\n value = this.formatNumber(value); // format range\n\n value = value === '' ? 0 : +value;\n value = isNaN(value) ? this.min : value;\n value = Math.max(Math.min(this.max, value), this.min); // format decimal\n\n if (isDef(this.decimalLength)) {\n value = value.toFixed(this.decimalLength);\n }\n\n return value;\n },\n onInput: function onInput(event) {\n var value = event.target.value;\n var formatted = this.formatNumber(value); // limit max decimal length\n\n if (isDef(this.decimalLength) && formatted.indexOf('.') !== -1) {\n var pair = formatted.split('.');\n formatted = pair[0] + \".\" + pair[1].slice(0, this.decimalLength);\n }\n\n if (!equal(value, formatted)) {\n event.target.value = formatted;\n } // prefer number type\n\n\n if (formatted === String(+formatted)) {\n formatted = +formatted;\n }\n\n this.emitChange(formatted);\n },\n emitChange: function emitChange(value) {\n if (this.asyncChange) {\n this.$emit('input', value);\n this.$emit('change', value, {\n name: this.name\n });\n } else {\n this.currentValue = value;\n }\n },\n onChange: function onChange() {\n var type = this.type;\n\n if (this[type + \"Disabled\"]) {\n this.$emit('overlimit', type);\n return;\n }\n\n var diff = type === 'minus' ? -this.step : +this.step;\n var value = this.format(addNumber(+this.currentValue, diff));\n this.emitChange(value);\n this.$emit(type);\n },\n onFocus: function onFocus(event) {\n // readonly not work in legacy mobile safari\n if (this.disableInput && this.$refs.input) {\n this.$refs.input.blur();\n } else {\n this.$emit('focus', event);\n }\n },\n onBlur: function onBlur(event) {\n var value = this.format(event.target.value);\n event.target.value = value;\n this.emitChange(value);\n this.$emit('blur', event);\n resetScroll();\n },\n longPressStep: function longPressStep() {\n var _this = this;\n\n this.longPressTimer = setTimeout(function () {\n _this.onChange();\n\n _this.longPressStep(_this.type);\n }, LONG_PRESS_INTERVAL);\n },\n onTouchStart: function onTouchStart() {\n var _this2 = this;\n\n if (!this.longPress) {\n return;\n }\n\n clearTimeout(this.longPressTimer);\n this.isLongPress = false;\n this.longPressTimer = setTimeout(function () {\n _this2.isLongPress = true;\n\n _this2.onChange();\n\n _this2.longPressStep();\n }, LONG_PRESS_START_TIME);\n },\n onTouchEnd: function onTouchEnd(event) {\n if (!this.longPress) {\n return;\n }\n\n clearTimeout(this.longPressTimer);\n\n if (this.isLongPress) {\n preventDefault(event);\n }\n },\n onMousedown: function onMousedown(event) {\n // fix mobile safari page scroll down issue\n // see: https://github.com/vant-ui/vant/issues/7690\n if (this.disableInput) {\n event.preventDefault();\n }\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n\n var createListeners = function createListeners(type) {\n return {\n on: {\n click: function click(e) {\n // disable double tap scrolling on mobile safari\n e.preventDefault();\n _this3.type = type;\n\n _this3.onChange();\n },\n touchstart: function touchstart() {\n _this3.type = type;\n\n _this3.onTouchStart();\n },\n touchend: _this3.onTouchEnd,\n touchcancel: _this3.onTouchEnd\n }\n };\n };\n\n return h(\"div\", {\n \"class\": bem([this.theme])\n }, [h(\"button\", _mergeJSXProps([{\n \"directives\": [{\n name: \"show\",\n value: this.showMinus\n }],\n \"attrs\": {\n \"type\": \"button\"\n },\n \"style\": this.buttonStyle,\n \"class\": bem('minus', {\n disabled: this.minusDisabled\n })\n }, createListeners('minus')])), h(\"input\", {\n \"directives\": [{\n name: \"show\",\n value: this.showInput\n }],\n \"ref\": \"input\",\n \"attrs\": {\n \"type\": this.integer ? 'tel' : 'text',\n \"role\": \"spinbutton\",\n \"disabled\": this.disabled,\n \"readonly\": this.disableInput,\n \"inputmode\": this.integer ? 'numeric' : 'decimal',\n \"placeholder\": this.placeholder,\n \"aria-valuemax\": this.max,\n \"aria-valuemin\": this.min,\n \"aria-valuenow\": this.currentValue\n },\n \"class\": bem('input'),\n \"domProps\": {\n \"value\": this.currentValue\n },\n \"style\": this.inputStyle,\n \"on\": {\n \"input\": this.onInput,\n \"focus\": this.onFocus,\n \"blur\": this.onBlur,\n \"mousedown\": this.onMousedown\n }\n }), h(\"button\", _mergeJSXProps2([{\n \"directives\": [{\n name: \"show\",\n value: this.showPlus\n }],\n \"attrs\": {\n \"type\": \"button\"\n },\n \"style\": this.buttonStyle,\n \"class\": bem('plus', {\n disabled: this.plusDisabled\n })\n }, createListeners('plus')]))]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\nimport { routeProps } from '../utils/router';\n\nvar _createNamespace = createNamespace('tab'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanTabs')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n name: [Number, String],\n // @deprecated\n info: [Number, String],\n badge: [Number, String],\n title: String,\n titleStyle: null,\n titleClass: null,\n disabled: Boolean\n }),\n data: function data() {\n return {\n inited: false\n };\n },\n computed: {\n computedName: function computedName() {\n var _this$name;\n\n return (_this$name = this.name) != null ? _this$name : this.index;\n },\n isActive: function isActive() {\n var active = this.computedName === this.parent.currentName;\n\n if (active) {\n this.inited = true;\n }\n\n return active;\n }\n },\n watch: {\n title: function title() {\n this.parent.setLine();\n this.parent.scrollIntoView();\n },\n inited: function inited(val) {\n var _this = this;\n\n if (this.parent.lazyRender && val) {\n this.$nextTick(function () {\n _this.parent.$emit('rendered', _this.computedName, _this.title);\n });\n }\n }\n },\n render: function render(h) {\n var slots = this.slots,\n parent = this.parent,\n isActive = this.isActive;\n var slotContent = slots();\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] Tab: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n if (!slotContent && !parent.animated) {\n return;\n }\n\n var show = parent.scrollspy || isActive;\n var shouldRender = this.inited || parent.scrollspy || !parent.lazyRender;\n var Content = shouldRender ? slotContent : h();\n\n if (parent.animated) {\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"tabpanel\",\n \"aria-hidden\": !isActive\n },\n \"class\": bem('pane-wrapper', {\n inactive: !isActive\n })\n }, [h(\"div\", {\n \"class\": bem('pane')\n }, [Content])]);\n }\n\n return h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: show\n }],\n \"attrs\": {\n \"role\": \"tabpanel\"\n },\n \"class\": bem('pane')\n }, [Content]);\n }\n});","import { raf } from '../utils/dom/raf';\nimport { getScrollTop, setScrollTop } from '../utils/dom/scroll';\nexport function scrollLeftTo(scroller, to, duration) {\n var count = 0;\n var from = scroller.scrollLeft;\n var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);\n\n function animate() {\n scroller.scrollLeft += (to - from) / frames;\n\n if (++count < frames) {\n raf(animate);\n }\n }\n\n animate();\n}\nexport function scrollTopTo(scroller, to, duration, callback) {\n var current = getScrollTop(scroller);\n var isDown = current < to;\n var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);\n var step = (to - current) / frames;\n\n function animate() {\n current += step;\n\n if (isDown && current > to || !isDown && current < to) {\n current = to;\n }\n\n setScrollTop(scroller, current);\n\n if (isDown && current < to || !isDown && current > to) {\n raf(animate);\n } else if (callback) {\n raf(callback);\n }\n }\n\n animate();\n}","import { isPromise, noop } from '.';\nexport function callInterceptor(options) {\n var interceptor = options.interceptor,\n args = options.args,\n done = options.done;\n\n if (interceptor) {\n var returnVal = interceptor.apply(void 0, args);\n\n if (isPromise(returnVal)) {\n returnVal.then(function (value) {\n if (value) {\n done();\n }\n }).catch(noop);\n } else if (returnVal) {\n done();\n }\n } else {\n done();\n }\n}","import { createNamespace, isDef } from '../utils';\nimport Info from '../info';\n\nvar _createNamespace = createNamespace('tab'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n dot: Boolean,\n type: String,\n info: [Number, String],\n color: String,\n title: String,\n isActive: Boolean,\n disabled: Boolean,\n scrollable: Boolean,\n activeColor: String,\n inactiveColor: String\n },\n computed: {\n style: function style() {\n var style = {};\n var color = this.color,\n isActive = this.isActive;\n var isCard = this.type === 'card'; // card theme color\n\n if (color && isCard) {\n style.borderColor = color;\n\n if (!this.disabled) {\n if (isActive) {\n style.backgroundColor = color;\n } else {\n style.color = color;\n }\n }\n }\n\n var titleColor = isActive ? this.activeColor : this.inactiveColor;\n\n if (titleColor) {\n style.color = titleColor;\n }\n\n return style;\n }\n },\n methods: {\n onClick: function onClick() {\n this.$emit('click');\n },\n genText: function genText() {\n var h = this.$createElement;\n var Text = h(\"span\", {\n \"class\": bem('text', {\n ellipsis: !this.scrollable\n })\n }, [this.slots() || this.title]);\n\n if (this.dot || isDef(this.info) && this.info !== '') {\n return h(\"span\", {\n \"class\": bem('text-wrapper')\n }, [Text, h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": this.info\n }\n })]);\n }\n\n return Text;\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"tab\",\n \"aria-selected\": this.isActive\n },\n \"class\": [bem({\n active: this.isActive,\n disabled: this.disabled\n })],\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genText()]);\n }\n});","import { isHidden } from '../utils/dom/style';\nimport { unitToPx } from '../utils/format/unit';\nimport { createNamespace, isDef, isServer } from '../utils';\nimport { getScrollTop, getElementTop, getScroller } from '../utils/dom/scroll';\nimport { BindEventMixin } from '../mixins/bind-event';\n\nvar _createNamespace = createNamespace('sticky'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind, isBind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n if (this.observer) {\n var method = isBind ? 'observe' : 'unobserve';\n this.observer[method](this.$el);\n }\n\n bind(this.scroller, 'scroll', this.onScroll, true);\n this.onScroll();\n })],\n props: {\n zIndex: [Number, String],\n container: null,\n offsetTop: {\n type: [Number, String],\n default: 0\n }\n },\n data: function data() {\n return {\n fixed: false,\n height: 0,\n transform: 0\n };\n },\n computed: {\n offsetTopPx: function offsetTopPx() {\n return unitToPx(this.offsetTop);\n },\n style: function style() {\n if (!this.fixed) {\n return;\n }\n\n var style = {};\n\n if (isDef(this.zIndex)) {\n style.zIndex = this.zIndex;\n }\n\n if (this.offsetTopPx && this.fixed) {\n style.top = this.offsetTopPx + \"px\";\n }\n\n if (this.transform) {\n style.transform = \"translate3d(0, \" + this.transform + \"px, 0)\";\n }\n\n return style;\n }\n },\n watch: {\n fixed: function fixed(isFixed) {\n this.$emit('change', isFixed);\n }\n },\n created: function created() {\n var _this = this;\n\n // compatibility: https://caniuse.com/#feat=intersectionobserver\n if (!isServer && window.IntersectionObserver) {\n this.observer = new IntersectionObserver(function (entries) {\n // trigger scroll when visibility changed\n if (entries[0].intersectionRatio > 0) {\n _this.onScroll();\n }\n }, {\n root: document.body\n });\n }\n },\n methods: {\n onScroll: function onScroll() {\n var _this2 = this;\n\n if (isHidden(this.$el)) {\n return;\n }\n\n this.height = this.$el.offsetHeight;\n var container = this.container,\n offsetTopPx = this.offsetTopPx;\n var scrollTop = getScrollTop(window);\n var topToPageTop = getElementTop(this.$el);\n\n var emitScrollEvent = function emitScrollEvent() {\n _this2.$emit('scroll', {\n scrollTop: scrollTop,\n isFixed: _this2.fixed\n });\n }; // The sticky component should be kept inside the container element\n\n\n if (container) {\n var bottomToPageTop = topToPageTop + container.offsetHeight;\n\n if (scrollTop + offsetTopPx + this.height > bottomToPageTop) {\n var distanceToBottom = this.height + scrollTop - bottomToPageTop;\n\n if (distanceToBottom < this.height) {\n this.fixed = true;\n this.transform = -(distanceToBottom + offsetTopPx);\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n return;\n }\n }\n\n if (scrollTop + offsetTopPx > topToPageTop) {\n this.fixed = true;\n this.transform = 0;\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n }\n },\n render: function render() {\n var h = arguments[0];\n var fixed = this.fixed;\n var style = {\n height: fixed ? this.height + \"px\" : null\n };\n return h(\"div\", {\n \"style\": style\n }, [h(\"div\", {\n \"class\": bem({\n fixed: fixed\n }),\n \"style\": this.style\n }, [this.slots()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { TouchMixin } from '../mixins/touch';\n\nvar _createNamespace = createNamespace('tabs'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar MIN_SWIPE_DISTANCE = 50;\nexport default createComponent({\n mixins: [TouchMixin],\n props: {\n count: Number,\n duration: [Number, String],\n animated: Boolean,\n swipeable: Boolean,\n currentIndex: Number\n },\n computed: {\n style: function style() {\n if (this.animated) {\n return {\n transform: \"translate3d(\" + -1 * this.currentIndex * 100 + \"%, 0, 0)\",\n transitionDuration: this.duration + \"s\"\n };\n }\n },\n listeners: function listeners() {\n if (this.swipeable) {\n return {\n touchstart: this.touchStart,\n touchmove: this.touchMove,\n touchend: this.onTouchEnd,\n touchcancel: this.onTouchEnd\n };\n }\n }\n },\n methods: {\n // watch swipe touch end\n onTouchEnd: function onTouchEnd() {\n var direction = this.direction,\n deltaX = this.deltaX,\n currentIndex = this.currentIndex;\n /* istanbul ignore else */\n\n if (direction === 'horizontal' && this.offsetX >= MIN_SWIPE_DISTANCE) {\n /* istanbul ignore else */\n if (deltaX > 0 && currentIndex !== 0) {\n this.$emit('change', currentIndex - 1);\n } else if (deltaX < 0 && currentIndex !== this.count - 1) {\n this.$emit('change', currentIndex + 1);\n }\n }\n },\n genChildren: function genChildren() {\n var h = this.$createElement;\n\n if (this.animated) {\n return h(\"div\", {\n \"class\": bem('track'),\n \"style\": this.style\n }, [this.slots()]);\n }\n\n return this.slots();\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem('content', {\n animated: this.animated\n }),\n \"on\": _extends({}, this.listeners)\n }, [this.genChildren()]);\n }\n});","// Utils\nimport { createNamespace, isDef, addUnit } from '../utils';\nimport { scrollLeftTo, scrollTopTo } from './utils';\nimport { route } from '../utils/router';\nimport { isHidden } from '../utils/dom/style';\nimport { on, off } from '../utils/dom/event';\nimport { unitToPx } from '../utils/format/unit';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant';\nimport { callInterceptor } from '../utils/interceptor';\nimport { getScroller, getVisibleTop, getElementTop, getVisibleHeight, setRootScrollTop } from '../utils/dom/scroll'; // Mixins\n\nimport { ParentMixin } from '../mixins/relation';\nimport { BindEventMixin } from '../mixins/bind-event'; // Components\n\nimport Title from './Title';\nimport Sticky from '../sticky';\nimport Content from './Content';\n\nvar _createNamespace = createNamespace('tabs'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanTabs'), BindEventMixin(function (bind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n bind(window, 'resize', this.resize, true);\n\n if (this.scrollspy) {\n bind(this.scroller, 'scroll', this.onScroll, true);\n }\n })],\n inject: {\n vanPopup: {\n default: null\n }\n },\n model: {\n prop: 'active'\n },\n props: {\n color: String,\n border: Boolean,\n sticky: Boolean,\n animated: Boolean,\n swipeable: Boolean,\n scrollspy: Boolean,\n background: String,\n lineWidth: [Number, String],\n lineHeight: [Number, String],\n beforeChange: Function,\n titleActiveColor: String,\n titleInactiveColor: String,\n type: {\n type: String,\n default: 'line'\n },\n active: {\n type: [Number, String],\n default: 0\n },\n ellipsis: {\n type: Boolean,\n default: true\n },\n duration: {\n type: [Number, String],\n default: 0.3\n },\n offsetTop: {\n type: [Number, String],\n default: 0\n },\n lazyRender: {\n type: Boolean,\n default: true\n },\n swipeThreshold: {\n type: [Number, String],\n default: 5\n }\n },\n data: function data() {\n return {\n position: '',\n currentIndex: null,\n lineStyle: {\n backgroundColor: this.color\n }\n };\n },\n computed: {\n // whether the nav is scrollable\n scrollable: function scrollable() {\n return this.children.length > this.swipeThreshold || !this.ellipsis;\n },\n navStyle: function navStyle() {\n return {\n borderColor: this.color,\n background: this.background\n };\n },\n currentName: function currentName() {\n var activeTab = this.children[this.currentIndex];\n\n if (activeTab) {\n return activeTab.computedName;\n }\n },\n offsetTopPx: function offsetTopPx() {\n return unitToPx(this.offsetTop);\n },\n scrollOffset: function scrollOffset() {\n if (this.sticky) {\n return this.offsetTopPx + this.tabHeight;\n }\n\n return 0;\n }\n },\n watch: {\n color: 'setLine',\n active: function active(name) {\n if (name !== this.currentName) {\n this.setCurrentIndexByName(name);\n }\n },\n children: function children() {\n var _this = this;\n\n this.setCurrentIndexByName(this.active);\n this.setLine();\n this.$nextTick(function () {\n _this.scrollIntoView(true);\n });\n },\n currentIndex: function currentIndex() {\n this.scrollIntoView();\n this.setLine(); // scroll to correct position\n\n if (this.stickyFixed && !this.scrollspy) {\n setRootScrollTop(Math.ceil(getElementTop(this.$el) - this.offsetTopPx));\n }\n },\n scrollspy: function scrollspy(val) {\n if (val) {\n on(this.scroller, 'scroll', this.onScroll, true);\n } else {\n off(this.scroller, 'scroll', this.onScroll);\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.init(); // https://github.com/vant-ui/vant/issues/7959\n\n if (this.vanPopup) {\n this.vanPopup.onReopen(function () {\n _this2.setLine();\n });\n }\n },\n activated: function activated() {\n this.init();\n this.setLine();\n },\n methods: {\n // @exposed-api\n resize: function resize() {\n this.setLine();\n },\n init: function init() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.inited = true;\n _this3.tabHeight = getVisibleHeight(_this3.$refs.wrap);\n\n _this3.scrollIntoView(true);\n });\n },\n // update nav bar style\n setLine: function setLine() {\n var _this4 = this;\n\n var shouldAnimate = this.inited;\n this.$nextTick(function () {\n var titles = _this4.$refs.titles;\n\n if (!titles || !titles[_this4.currentIndex] || _this4.type !== 'line' || isHidden(_this4.$el)) {\n return;\n }\n\n var title = titles[_this4.currentIndex].$el;\n var lineWidth = _this4.lineWidth,\n lineHeight = _this4.lineHeight;\n var left = title.offsetLeft + title.offsetWidth / 2;\n var lineStyle = {\n width: addUnit(lineWidth),\n backgroundColor: _this4.color,\n transform: \"translateX(\" + left + \"px) translateX(-50%)\"\n };\n\n if (shouldAnimate) {\n lineStyle.transitionDuration = _this4.duration + \"s\";\n }\n\n if (isDef(lineHeight)) {\n var height = addUnit(lineHeight);\n lineStyle.height = height;\n lineStyle.borderRadius = height;\n }\n\n _this4.lineStyle = lineStyle;\n });\n },\n // correct the index of active tab\n setCurrentIndexByName: function setCurrentIndexByName(name) {\n var matched = this.children.filter(function (tab) {\n return tab.computedName === name;\n });\n var defaultIndex = (this.children[0] || {}).index || 0;\n this.setCurrentIndex(matched.length ? matched[0].index : defaultIndex);\n },\n setCurrentIndex: function setCurrentIndex(currentIndex) {\n var newIndex = this.findAvailableTab(currentIndex);\n\n if (!isDef(newIndex)) {\n return;\n }\n\n var newTab = this.children[newIndex];\n var newName = newTab.computedName;\n var shouldEmitChange = this.currentIndex !== null;\n this.currentIndex = newIndex;\n\n if (newName !== this.active) {\n this.$emit('input', newName);\n\n if (shouldEmitChange) {\n this.$emit('change', newName, newTab.title);\n }\n }\n },\n findAvailableTab: function findAvailableTab(index) {\n var diff = index < this.currentIndex ? -1 : 1;\n\n while (index >= 0 && index < this.children.length) {\n if (!this.children[index].disabled) {\n return index;\n }\n\n index += diff;\n }\n },\n // emit event when clicked\n onClick: function onClick(item, index) {\n var _this5 = this;\n\n var _this$children$index = this.children[index],\n title = _this$children$index.title,\n disabled = _this$children$index.disabled,\n computedName = _this$children$index.computedName;\n\n if (disabled) {\n this.$emit('disabled', computedName, title);\n } else {\n callInterceptor({\n interceptor: this.beforeChange,\n args: [computedName],\n done: function done() {\n _this5.setCurrentIndex(index);\n\n _this5.scrollToCurrentContent();\n }\n });\n this.$emit('click', computedName, title);\n route(item.$router, item);\n }\n },\n // scroll active tab into view\n scrollIntoView: function scrollIntoView(immediate) {\n var titles = this.$refs.titles;\n\n if (!this.scrollable || !titles || !titles[this.currentIndex]) {\n return;\n }\n\n var nav = this.$refs.nav;\n var title = titles[this.currentIndex].$el;\n var to = title.offsetLeft - (nav.offsetWidth - title.offsetWidth) / 2;\n scrollLeftTo(nav, to, immediate ? 0 : +this.duration);\n },\n onSticktScroll: function onSticktScroll(params) {\n this.stickyFixed = params.isFixed;\n this.$emit('scroll', params);\n },\n // @exposed-api\n scrollTo: function scrollTo(name) {\n var _this6 = this;\n\n this.$nextTick(function () {\n _this6.setCurrentIndexByName(name);\n\n _this6.scrollToCurrentContent(true);\n });\n },\n scrollToCurrentContent: function scrollToCurrentContent(immediate) {\n var _this7 = this;\n\n if (immediate === void 0) {\n immediate = false;\n }\n\n if (this.scrollspy) {\n var target = this.children[this.currentIndex];\n var el = target == null ? void 0 : target.$el;\n\n if (el) {\n var to = getElementTop(el, this.scroller) - this.scrollOffset;\n this.lockScroll = true;\n scrollTopTo(this.scroller, to, immediate ? 0 : +this.duration, function () {\n _this7.lockScroll = false;\n });\n }\n }\n },\n onScroll: function onScroll() {\n if (this.scrollspy && !this.lockScroll) {\n var index = this.getCurrentIndexOnScroll();\n this.setCurrentIndex(index);\n }\n },\n getCurrentIndexOnScroll: function getCurrentIndexOnScroll() {\n var children = this.children;\n\n for (var index = 0; index < children.length; index++) {\n var top = getVisibleTop(children[index].$el);\n\n if (top > this.scrollOffset) {\n return index === 0 ? 0 : index - 1;\n }\n }\n\n return children.length - 1;\n }\n },\n render: function render() {\n var _this8 = this,\n _ref;\n\n var h = arguments[0];\n var type = this.type,\n animated = this.animated,\n scrollable = this.scrollable;\n var Nav = this.children.map(function (item, index) {\n var _item$badge;\n\n return h(Title, {\n \"ref\": \"titles\",\n \"refInFor\": true,\n \"attrs\": {\n \"type\": type,\n \"dot\": item.dot,\n \"info\": (_item$badge = item.badge) != null ? _item$badge : item.info,\n \"title\": item.title,\n \"color\": _this8.color,\n \"isActive\": index === _this8.currentIndex,\n \"disabled\": item.disabled,\n \"scrollable\": scrollable,\n \"activeColor\": _this8.titleActiveColor,\n \"inactiveColor\": _this8.titleInactiveColor\n },\n \"style\": item.titleStyle,\n \"class\": item.titleClass,\n \"scopedSlots\": {\n default: function _default() {\n return item.slots('title');\n }\n },\n \"on\": {\n \"click\": function click() {\n _this8.onClick(item, index);\n }\n }\n });\n });\n var Wrap = h(\"div\", {\n \"ref\": \"wrap\",\n \"class\": [bem('wrap', {\n scrollable: scrollable\n }), (_ref = {}, _ref[BORDER_TOP_BOTTOM] = type === 'line' && this.border, _ref)]\n }, [h(\"div\", {\n \"ref\": \"nav\",\n \"attrs\": {\n \"role\": \"tablist\"\n },\n \"class\": bem('nav', [type, {\n complete: this.scrollable\n }]),\n \"style\": this.navStyle\n }, [this.slots('nav-left'), Nav, type === 'line' && h(\"div\", {\n \"class\": bem('line'),\n \"style\": this.lineStyle\n }), this.slots('nav-right')])]);\n return h(\"div\", {\n \"class\": bem([type])\n }, [this.sticky ? h(Sticky, {\n \"attrs\": {\n \"container\": this.$el,\n \"offsetTop\": this.offsetTop\n },\n \"on\": {\n \"scroll\": this.onSticktScroll\n }\n }, [Wrap]) : Wrap, h(Content, {\n \"attrs\": {\n \"count\": this.children.length,\n \"animated\": animated,\n \"duration\": this.duration,\n \"swipeable\": this.swipeable,\n \"currentIndex\": this.currentIndex\n },\n \"on\": {\n \"change\": this.setCurrentIndex\n }\n }, [this.slots()])]);\n }\n});","import { createNamespace } from '../utils';\nimport Tab from '../tab';\nimport Tabs from '../tabs';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('cascader'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n props: {\n title: String,\n value: [Number, String],\n fieldNames: Object,\n placeholder: String,\n activeColor: String,\n options: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n closeable: {\n type: Boolean,\n default: true\n },\n showHeader: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n tabs: [],\n activeTab: 0\n };\n },\n computed: {\n textKey: function textKey() {\n var _this$fieldNames;\n\n return ((_this$fieldNames = this.fieldNames) == null ? void 0 : _this$fieldNames.text) || 'text';\n },\n valueKey: function valueKey() {\n var _this$fieldNames2;\n\n return ((_this$fieldNames2 = this.fieldNames) == null ? void 0 : _this$fieldNames2.value) || 'value';\n },\n childrenKey: function childrenKey() {\n var _this$fieldNames3;\n\n return ((_this$fieldNames3 = this.fieldNames) == null ? void 0 : _this$fieldNames3.children) || 'children';\n }\n },\n watch: {\n options: {\n deep: true,\n handler: 'updateTabs'\n },\n value: function value(_value) {\n var _this = this;\n\n if (_value || _value === 0) {\n var values = this.tabs.map(function (tab) {\n var _tab$selectedOption;\n\n return (_tab$selectedOption = tab.selectedOption) == null ? void 0 : _tab$selectedOption[_this.valueKey];\n });\n\n if (values.indexOf(_value) !== -1) {\n return;\n }\n }\n\n this.updateTabs();\n }\n },\n created: function created() {\n this.updateTabs();\n },\n methods: {\n getSelectedOptionsByValue: function getSelectedOptionsByValue(options, value) {\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option[this.valueKey] === value) {\n return [option];\n }\n\n if (option[this.childrenKey]) {\n var selectedOptions = this.getSelectedOptionsByValue(option[this.childrenKey], value);\n\n if (selectedOptions) {\n return [option].concat(selectedOptions);\n }\n }\n }\n },\n updateTabs: function updateTabs() {\n var _this2 = this;\n\n if (this.value || this.value === 0) {\n var selectedOptions = this.getSelectedOptionsByValue(this.options, this.value);\n\n if (selectedOptions) {\n var optionsCursor = this.options;\n this.tabs = selectedOptions.map(function (option) {\n var tab = {\n options: optionsCursor,\n selectedOption: option\n };\n var next = optionsCursor.filter(function (item) {\n return item[_this2.valueKey] === option[_this2.valueKey];\n });\n\n if (next.length) {\n optionsCursor = next[0][_this2.childrenKey];\n }\n\n return tab;\n });\n\n if (optionsCursor) {\n this.tabs.push({\n options: optionsCursor,\n selectedOption: null\n });\n }\n\n this.$nextTick(function () {\n _this2.activeTab = _this2.tabs.length - 1;\n });\n return;\n }\n }\n\n this.tabs = [{\n options: this.options,\n selectedOption: null\n }];\n },\n onSelect: function onSelect(option, tabIndex) {\n var _this3 = this;\n\n this.tabs[tabIndex].selectedOption = option;\n\n if (this.tabs.length > tabIndex + 1) {\n this.tabs = this.tabs.slice(0, tabIndex + 1);\n }\n\n if (option[this.childrenKey]) {\n var nextTab = {\n options: option[this.childrenKey],\n selectedOption: null\n };\n\n if (this.tabs[tabIndex + 1]) {\n this.$set(this.tabs, tabIndex + 1, nextTab);\n } else {\n this.tabs.push(nextTab);\n }\n\n this.$nextTick(function () {\n _this3.activeTab++;\n });\n }\n\n var selectedOptions = this.tabs.map(function (tab) {\n return tab.selectedOption;\n }).filter(function (item) {\n return !!item;\n });\n var eventParams = {\n value: option[this.valueKey],\n tabIndex: tabIndex,\n selectedOptions: selectedOptions\n };\n this.$emit('input', option[this.valueKey]);\n this.$emit('change', eventParams);\n\n if (!option[this.childrenKey]) {\n this.$emit('finish', eventParams);\n }\n },\n onClose: function onClose() {\n this.$emit('close');\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n\n if (this.showHeader) {\n return h(\"div\", {\n \"class\": bem('header')\n }, [h(\"h2\", {\n \"class\": bem('title')\n }, [this.slots('title') || this.title]), this.closeable ? h(Icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": bem('close-icon'),\n \"on\": {\n \"click\": this.onClose\n }\n }) : null]);\n }\n },\n renderOptions: function renderOptions(options, selectedOption, tabIndex) {\n var _this4 = this;\n\n var h = this.$createElement;\n\n var renderOption = function renderOption(option) {\n var isSelected = selectedOption && option[_this4.valueKey] === selectedOption[_this4.valueKey];\n var Text = _this4.slots('option', {\n option: option,\n selected: isSelected\n }) || h(\"span\", [option[_this4.textKey]]);\n return h(\"li\", {\n \"class\": bem('option', {\n selected: isSelected\n }),\n \"style\": {\n color: isSelected ? _this4.activeColor : null\n },\n \"on\": {\n \"click\": function click() {\n _this4.onSelect(option, tabIndex);\n }\n }\n }, [Text, isSelected ? h(Icon, {\n \"attrs\": {\n \"name\": \"success\"\n },\n \"class\": bem('selected-icon')\n }) : null]);\n };\n\n return h(\"ul\", {\n \"class\": bem('options')\n }, [options.map(renderOption)]);\n },\n renderTab: function renderTab(item, tabIndex) {\n var h = this.$createElement;\n var options = item.options,\n selectedOption = item.selectedOption;\n var title = selectedOption ? selectedOption[this.textKey] : this.placeholder || t('select');\n return h(Tab, {\n \"attrs\": {\n \"title\": title,\n \"titleClass\": bem('tab', {\n unselected: !selectedOption\n })\n }\n }, [this.renderOptions(options, selectedOption, tabIndex)]);\n },\n renderTabs: function renderTabs() {\n var _this5 = this;\n\n var h = this.$createElement;\n return h(Tabs, {\n \"attrs\": {\n \"animated\": true,\n \"swipeable\": true,\n \"swipeThreshold\": 0,\n \"color\": this.activeColor\n },\n \"class\": bem('tabs'),\n \"model\": {\n value: _this5.activeTab,\n callback: function callback($$v) {\n _this5.activeTab = $$v;\n }\n }\n }, [this.tabs.map(this.renderTab)]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.renderHeader(), this.renderTabs()]);\n }\n});","import { isFunction } from '../utils';\nexport function toArray(item) {\n if (Array.isArray(item)) {\n return item;\n }\n\n return [item];\n}\nexport function readFile(file, resultType) {\n return new Promise(function (resolve) {\n if (resultType === 'file') {\n resolve(null);\n return;\n }\n\n var reader = new FileReader();\n\n reader.onload = function (event) {\n resolve(event.target.result);\n };\n\n if (resultType === 'dataUrl') {\n reader.readAsDataURL(file);\n } else if (resultType === 'text') {\n reader.readAsText(file);\n }\n });\n}\nexport function isOversize(files, maxSize) {\n return toArray(files).some(function (file) {\n if (file) {\n if (isFunction(maxSize)) {\n return maxSize(file);\n }\n\n return file.size > maxSize;\n }\n\n return false;\n });\n}\nvar IMAGE_REGEXP = /\\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;\nexport function isImageUrl(url) {\n return IMAGE_REGEXP.test(url);\n}\nexport function isImageFile(item) {\n // some special urls cannot be recognized\n // user can add `isImage` flag to mark it as an image url\n if (item.isImage) {\n return true;\n }\n\n if (item.file && item.file.type) {\n return item.file.type.indexOf('image') === 0;\n }\n\n if (item.url) {\n return isImageUrl(item.url);\n }\n\n if (item.content) {\n return item.content.indexOf('data:image') === 0;\n }\n\n return false;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, addUnit, noop, isPromise, isDef } from '../utils';\nimport { toArray, readFile as _readFile, isOversize, isImageFile } from './utils'; // Mixins\n\nimport { FieldMixin } from '../mixins/field'; // Components\n\nimport Icon from '../icon';\nimport Image from '../image';\nimport Loading from '../loading';\nimport ImagePreview from '../image-preview';\n\nvar _createNamespace = createNamespace('uploader'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n inheritAttrs: false,\n mixins: [FieldMixin],\n model: {\n prop: 'fileList'\n },\n props: {\n disabled: Boolean,\n readonly: Boolean,\n lazyLoad: Boolean,\n uploadText: String,\n afterRead: Function,\n beforeRead: Function,\n beforeDelete: Function,\n previewSize: [Number, String],\n previewOptions: Object,\n name: {\n type: [Number, String],\n default: ''\n },\n accept: {\n type: String,\n default: 'image/*'\n },\n fileList: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n maxSize: {\n type: [Number, String, Function],\n default: Number.MAX_VALUE\n },\n maxCount: {\n type: [Number, String],\n default: Number.MAX_VALUE\n },\n deletable: {\n type: Boolean,\n default: true\n },\n showUpload: {\n type: Boolean,\n default: true\n },\n previewImage: {\n type: Boolean,\n default: true\n },\n previewFullImage: {\n type: Boolean,\n default: true\n },\n imageFit: {\n type: String,\n default: 'cover'\n },\n resultType: {\n type: String,\n default: 'dataUrl'\n },\n uploadIcon: {\n type: String,\n default: 'photograph'\n }\n },\n computed: {\n previewSizeWithUnit: function previewSizeWithUnit() {\n return addUnit(this.previewSize);\n },\n // for form\n value: function value() {\n return this.fileList;\n }\n },\n created: function created() {\n this.urls = [];\n },\n beforeDestroy: function beforeDestroy() {\n this.urls.forEach(function (url) {\n return URL.revokeObjectURL(url);\n });\n },\n methods: {\n getDetail: function getDetail(index) {\n if (index === void 0) {\n index = this.fileList.length;\n }\n\n return {\n name: this.name,\n index: index\n };\n },\n onChange: function onChange(event) {\n var _this = this;\n\n var files = event.target.files;\n\n if (this.disabled || !files.length) {\n return;\n }\n\n files = files.length === 1 ? files[0] : [].slice.call(files);\n\n if (this.beforeRead) {\n var response = this.beforeRead(files, this.getDetail());\n\n if (!response) {\n this.resetInput();\n return;\n }\n\n if (isPromise(response)) {\n response.then(function (data) {\n if (data) {\n _this.readFile(data);\n } else {\n _this.readFile(files);\n }\n }).catch(this.resetInput);\n return;\n }\n }\n\n this.readFile(files);\n },\n readFile: function readFile(files) {\n var _this2 = this;\n\n var oversize = isOversize(files, this.maxSize);\n\n if (Array.isArray(files)) {\n var maxCount = this.maxCount - this.fileList.length;\n\n if (files.length > maxCount) {\n files = files.slice(0, maxCount);\n }\n\n Promise.all(files.map(function (file) {\n return _readFile(file, _this2.resultType);\n })).then(function (contents) {\n var fileList = files.map(function (file, index) {\n var result = {\n file: file,\n status: '',\n message: ''\n };\n\n if (contents[index]) {\n result.content = contents[index];\n }\n\n return result;\n });\n\n _this2.onAfterRead(fileList, oversize);\n });\n } else {\n _readFile(files, this.resultType).then(function (content) {\n var result = {\n file: files,\n status: '',\n message: ''\n };\n\n if (content) {\n result.content = content;\n }\n\n _this2.onAfterRead(result, oversize);\n });\n }\n },\n onAfterRead: function onAfterRead(files, oversize) {\n var _this3 = this;\n\n this.resetInput();\n var validFiles = files;\n\n if (oversize) {\n var oversizeFiles = files;\n\n if (Array.isArray(files)) {\n oversizeFiles = [];\n validFiles = [];\n files.forEach(function (item) {\n if (item.file) {\n if (isOversize(item.file, _this3.maxSize)) {\n oversizeFiles.push(item);\n } else {\n validFiles.push(item);\n }\n }\n });\n } else {\n validFiles = null;\n }\n\n this.$emit('oversize', oversizeFiles, this.getDetail());\n }\n\n var isValidFiles = Array.isArray(validFiles) ? Boolean(validFiles.length) : Boolean(validFiles);\n\n if (isValidFiles) {\n this.$emit('input', [].concat(this.fileList, toArray(validFiles)));\n\n if (this.afterRead) {\n this.afterRead(validFiles, this.getDetail());\n }\n }\n },\n onDelete: function onDelete(file, index) {\n var _file$beforeDelete,\n _this4 = this;\n\n var beforeDelete = (_file$beforeDelete = file.beforeDelete) != null ? _file$beforeDelete : this.beforeDelete;\n\n if (beforeDelete) {\n var response = beforeDelete(file, this.getDetail(index));\n\n if (!response) {\n return;\n }\n\n if (isPromise(response)) {\n response.then(function () {\n _this4.deleteFile(file, index);\n }).catch(noop);\n return;\n }\n }\n\n this.deleteFile(file, index);\n },\n deleteFile: function deleteFile(file, index) {\n var fileList = this.fileList.slice(0);\n fileList.splice(index, 1);\n this.$emit('input', fileList);\n this.$emit('delete', file, this.getDetail(index));\n },\n resetInput: function resetInput() {\n /* istanbul ignore else */\n if (this.$refs.input) {\n this.$refs.input.value = '';\n }\n },\n onClickUpload: function onClickUpload(event) {\n this.$emit('click-upload', event);\n },\n onPreviewImage: function onPreviewImage(item) {\n var _this5 = this;\n\n if (!this.previewFullImage) {\n return;\n }\n\n var imageFiles = this.fileList.filter(function (item) {\n return isImageFile(item);\n });\n var imageContents = imageFiles.map(function (item) {\n if (item.file && !item.url && item.status !== 'failed') {\n item.url = URL.createObjectURL(item.file);\n\n _this5.urls.push(item.url);\n }\n\n return item.url;\n });\n this.imagePreview = ImagePreview(_extends({\n images: imageContents,\n startPosition: imageFiles.indexOf(item),\n onClose: function onClose() {\n _this5.$emit('close-preview');\n }\n }, this.previewOptions));\n },\n // @exposed-api\n closeImagePreview: function closeImagePreview() {\n if (this.imagePreview) {\n this.imagePreview.close();\n }\n },\n // @exposed-api\n chooseFile: function chooseFile() {\n if (this.disabled) {\n return;\n }\n /* istanbul ignore else */\n\n\n if (this.$refs.input) {\n this.$refs.input.click();\n }\n },\n genPreviewMask: function genPreviewMask(item) {\n var h = this.$createElement;\n var status = item.status,\n message = item.message;\n\n if (status === 'uploading' || status === 'failed') {\n var MaskIcon = status === 'failed' ? h(Icon, {\n \"attrs\": {\n \"name\": \"close\"\n },\n \"class\": bem('mask-icon')\n }) : h(Loading, {\n \"class\": bem('loading')\n });\n var showMessage = isDef(message) && message !== '';\n return h(\"div\", {\n \"class\": bem('mask')\n }, [MaskIcon, showMessage && h(\"div\", {\n \"class\": bem('mask-message')\n }, [message])]);\n }\n },\n genPreviewItem: function genPreviewItem(item, index) {\n var _item$deletable,\n _this6 = this,\n _item$previewSize,\n _item$imageFit;\n\n var h = this.$createElement;\n var deleteAble = (_item$deletable = item.deletable) != null ? _item$deletable : this.deletable;\n var showDelete = item.status !== 'uploading' && deleteAble;\n var DeleteIcon = showDelete && h(\"div\", {\n \"class\": bem('preview-delete'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n\n _this6.onDelete(item, index);\n }\n }\n }, [h(Icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": bem('preview-delete-icon')\n })]);\n var PreviewCoverContent = this.slots('preview-cover', _extends({\n index: index\n }, item));\n var PreviewCover = PreviewCoverContent && h(\"div\", {\n \"class\": bem('preview-cover')\n }, [PreviewCoverContent]);\n var previewSize = (_item$previewSize = item.previewSize) != null ? _item$previewSize : this.previewSize;\n var imageFit = (_item$imageFit = item.imageFit) != null ? _item$imageFit : this.imageFit;\n var Preview = isImageFile(item) ? h(Image, {\n \"attrs\": {\n \"fit\": imageFit,\n \"src\": item.content || item.url,\n \"width\": previewSize,\n \"height\": previewSize,\n \"lazyLoad\": this.lazyLoad\n },\n \"class\": bem('preview-image'),\n \"on\": {\n \"click\": function click() {\n _this6.onPreviewImage(item);\n }\n }\n }, [PreviewCover]) : h(\"div\", {\n \"class\": bem('file'),\n \"style\": {\n width: this.previewSizeWithUnit,\n height: this.previewSizeWithUnit\n }\n }, [h(Icon, {\n \"class\": bem('file-icon'),\n \"attrs\": {\n \"name\": \"description\"\n }\n }), h(\"div\", {\n \"class\": [bem('file-name'), 'van-ellipsis']\n }, [item.file ? item.file.name : item.url]), PreviewCover]);\n return h(\"div\", {\n \"class\": bem('preview'),\n \"on\": {\n \"click\": function click() {\n _this6.$emit('click-preview', item, _this6.getDetail(index));\n }\n }\n }, [Preview, this.genPreviewMask(item), DeleteIcon]);\n },\n genPreviewList: function genPreviewList() {\n if (this.previewImage) {\n return this.fileList.map(this.genPreviewItem);\n }\n },\n genUpload: function genUpload() {\n var h = this.$createElement;\n\n if (this.fileList.length >= this.maxCount) {\n return;\n }\n\n var slot = this.slots();\n var Input = this.readonly ? null : h(\"input\", {\n \"attrs\": _extends({}, this.$attrs, {\n \"type\": \"file\",\n \"accept\": this.accept,\n \"disabled\": this.disabled\n }),\n \"ref\": \"input\",\n \"class\": bem('input'),\n \"on\": {\n \"change\": this.onChange\n }\n });\n\n if (slot) {\n return h(\"div\", {\n \"class\": bem('input-wrapper'),\n \"key\": \"input-wrapper\",\n \"on\": {\n \"click\": this.onClickUpload\n }\n }, [slot, Input]);\n }\n\n var style;\n\n if (this.previewSize) {\n var size = this.previewSizeWithUnit;\n style = {\n width: size,\n height: size\n };\n }\n\n return h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.showUpload\n }],\n \"class\": bem('upload', {\n readonly: this.readonly\n }),\n \"style\": style,\n \"on\": {\n \"click\": this.onClickUpload\n }\n }, [h(Icon, {\n \"attrs\": {\n \"name\": this.uploadIcon\n },\n \"class\": bem('upload-icon')\n }), this.uploadText && h(\"span\", {\n \"class\": bem('upload-text')\n }, [this.uploadText]), Input]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"class\": bem('wrapper', {\n disabled: this.disabled\n })\n }, [this.genPreviewList(), this.genUpload()])]);\n }\n});","import { createNamespace } from '../utils';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant';\nimport { callInterceptor } from '../utils/interceptor';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('tabbar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanTabbar')],\n props: {\n route: Boolean,\n zIndex: [Number, String],\n placeholder: Boolean,\n activeColor: String,\n beforeChange: Function,\n inactiveColor: String,\n value: {\n type: [Number, String],\n default: 0\n },\n border: {\n type: Boolean,\n default: true\n },\n fixed: {\n type: Boolean,\n default: true\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: null\n }\n },\n data: function data() {\n return {\n height: null\n };\n },\n computed: {\n fit: function fit() {\n if (this.safeAreaInsetBottom !== null) {\n return this.safeAreaInsetBottom;\n } // enable safe-area-inset-bottom by default when fixed\n\n\n return this.fixed;\n }\n },\n watch: {\n value: 'setActiveItem',\n children: 'setActiveItem'\n },\n mounted: function mounted() {\n var _this = this;\n\n if (this.placeholder && this.fixed) {\n var setHeight = function setHeight() {\n _this.height = _this.$refs.tabbar.getBoundingClientRect().height;\n };\n\n setHeight(); // https://github.com/vant-ui/vant/issues/10131\n\n setTimeout(setHeight, 100);\n }\n },\n methods: {\n setActiveItem: function setActiveItem() {\n var _this2 = this;\n\n this.children.forEach(function (item, index) {\n item.nameMatched = item.name === _this2.value || index === _this2.value;\n });\n },\n triggerChange: function triggerChange(active, afterChange) {\n var _this3 = this;\n\n callInterceptor({\n interceptor: this.beforeChange,\n args: [active],\n done: function done() {\n _this3.$emit('input', active);\n\n _this3.$emit('change', active);\n\n afterChange();\n }\n });\n },\n genTabbar: function genTabbar() {\n var _ref;\n\n var h = this.$createElement;\n return h(\"div\", {\n \"ref\": \"tabbar\",\n \"style\": {\n zIndex: this.zIndex\n },\n \"class\": [(_ref = {}, _ref[BORDER_TOP_BOTTOM] = this.border, _ref), bem({\n unfit: !this.fit,\n fixed: this.fixed\n })]\n }, [this.slots()]);\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (this.placeholder && this.fixed) {\n return h(\"div\", {\n \"class\": bem('placeholder'),\n \"style\": {\n height: this.height + \"px\"\n }\n }, [this.genTabbar()]);\n }\n\n return this.genTabbar();\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, isObject, isDef } from '../utils';\nimport { route, routeProps } from '../utils/router'; // Mixins\n\nimport { ChildrenMixin } from '../mixins/relation'; // Components\n\nimport Icon from '../icon';\nimport Info from '../info';\n\nvar _createNamespace = createNamespace('tabbar-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanTabbar')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n icon: String,\n name: [Number, String],\n // @deprecated\n info: [Number, String],\n badge: [Number, String],\n iconPrefix: String\n }),\n data: function data() {\n return {\n nameMatched: false\n };\n },\n computed: {\n active: function active() {\n var routeMode = this.parent.route;\n\n if (routeMode && '$route' in this) {\n var to = this.to,\n $route = this.$route;\n var config = isObject(to) ? to : {\n path: to\n };\n return !!$route.matched.find(function (r) {\n // vue-router 3.x $route.matched[0].path is empty in / and its children paths\n var path = r.path === '' ? '/' : r.path;\n var pathMatched = config.path === path;\n var nameMatched = isDef(config.name) && config.name === r.name;\n return pathMatched || nameMatched;\n });\n }\n\n return this.nameMatched;\n }\n },\n methods: {\n onClick: function onClick(event) {\n var _this = this;\n\n if (!this.active) {\n this.parent.triggerChange(this.name || this.index, function () {\n route(_this.$router, _this);\n });\n }\n\n this.$emit('click', event);\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var slot = this.slots('icon', {\n active: this.active\n });\n\n if (slot) {\n return slot;\n }\n\n if (this.icon) {\n return h(Icon, {\n \"attrs\": {\n \"name\": this.icon,\n \"classPrefix\": this.iconPrefix\n }\n });\n }\n }\n },\n render: function render() {\n var _this$badge;\n\n var h = arguments[0];\n var active = this.active;\n var color = this.parent[active ? 'activeColor' : 'inactiveColor'];\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] TabbarItem: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n return h(\"div\", {\n \"class\": bem({\n active: active\n }),\n \"style\": {\n color: color\n },\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('icon')\n }, [this.genIcon(), h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": (_this$badge = this.badge) != null ? _this$badge : this.info\n }\n })]), h(\"div\", {\n \"class\": bem('text')\n }, [this.slots('default', {\n active: active\n })])]);\n }\n});","import { padZero } from '../utils/format/string';\nvar SECOND = 1000;\nvar MINUTE = 60 * SECOND;\nvar HOUR = 60 * MINUTE;\nvar DAY = 24 * HOUR;\nexport function parseTimeData(time) {\n var days = Math.floor(time / DAY);\n var hours = Math.floor(time % DAY / HOUR);\n var minutes = Math.floor(time % HOUR / MINUTE);\n var seconds = Math.floor(time % MINUTE / SECOND);\n var milliseconds = Math.floor(time % SECOND);\n return {\n days: days,\n hours: hours,\n minutes: minutes,\n seconds: seconds,\n milliseconds: milliseconds\n };\n}\nexport function parseFormat(format, timeData) {\n var days = timeData.days;\n var hours = timeData.hours,\n minutes = timeData.minutes,\n seconds = timeData.seconds,\n milliseconds = timeData.milliseconds;\n\n if (format.indexOf('DD') === -1) {\n hours += days * 24;\n } else {\n format = format.replace('DD', padZero(days));\n }\n\n if (format.indexOf('HH') === -1) {\n minutes += hours * 60;\n } else {\n format = format.replace('HH', padZero(hours));\n }\n\n if (format.indexOf('mm') === -1) {\n seconds += minutes * 60;\n } else {\n format = format.replace('mm', padZero(minutes));\n }\n\n if (format.indexOf('ss') === -1) {\n milliseconds += seconds * 1000;\n } else {\n format = format.replace('ss', padZero(seconds));\n }\n\n if (format.indexOf('S') !== -1) {\n var ms = padZero(milliseconds, 3);\n\n if (format.indexOf('SSS') !== -1) {\n format = format.replace('SSS', ms);\n } else if (format.indexOf('SS') !== -1) {\n format = format.replace('SS', ms.slice(0, 2));\n } else {\n format = format.replace('S', ms.charAt(0));\n }\n }\n\n return format;\n}\nexport function isSameSecond(time1, time2) {\n return Math.floor(time1 / 1000) === Math.floor(time2 / 1000);\n}","import { createNamespace, inBrowser } from '../utils';\nimport { raf, cancelRaf } from '../utils/dom/raf';\nimport { isSameSecond, parseTimeData, parseFormat } from './utils';\n\nvar _createNamespace = createNamespace('count-down'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n millisecond: Boolean,\n time: {\n type: [Number, String],\n default: 0\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n autoStart: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n remain: 0\n };\n },\n computed: {\n timeData: function timeData() {\n return parseTimeData(this.remain);\n },\n formattedTime: function formattedTime() {\n return parseFormat(this.format, this.timeData);\n }\n },\n watch: {\n time: {\n immediate: true,\n handler: 'reset'\n }\n },\n activated: function activated() {\n if (this.keepAlivePaused) {\n this.counting = true;\n this.keepAlivePaused = false;\n this.tick();\n }\n },\n deactivated: function deactivated() {\n if (this.counting) {\n this.pause();\n this.keepAlivePaused = true;\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.pause();\n },\n methods: {\n // @exposed-api\n start: function start() {\n if (this.counting) {\n return;\n }\n\n this.counting = true;\n this.endTime = Date.now() + this.remain;\n this.tick();\n },\n // @exposed-api\n pause: function pause() {\n this.counting = false;\n cancelRaf(this.rafId);\n },\n // @exposed-api\n reset: function reset() {\n this.pause();\n this.remain = +this.time;\n\n if (this.autoStart) {\n this.start();\n }\n },\n tick: function tick() {\n // should not start counting in server\n // see: https://github.com/vant-ui/vant/issues/7807\n if (!inBrowser) {\n return;\n }\n\n if (this.millisecond) {\n this.microTick();\n } else {\n this.macroTick();\n }\n },\n microTick: function microTick() {\n var _this = this;\n\n this.rafId = raf(function () {\n /* istanbul ignore if */\n // in case of call reset immediately after finish\n if (!_this.counting) {\n return;\n }\n\n _this.setRemain(_this.getRemain());\n\n if (_this.remain > 0) {\n _this.microTick();\n }\n });\n },\n macroTick: function macroTick() {\n var _this2 = this;\n\n this.rafId = raf(function () {\n /* istanbul ignore if */\n // in case of call reset immediately after finish\n if (!_this2.counting) {\n return;\n }\n\n var remain = _this2.getRemain();\n\n if (!isSameSecond(remain, _this2.remain) || remain === 0) {\n _this2.setRemain(remain);\n }\n\n if (_this2.remain > 0) {\n _this2.macroTick();\n }\n });\n },\n getRemain: function getRemain() {\n return Math.max(this.endTime - Date.now(), 0);\n },\n setRemain: function setRemain(remain) {\n this.remain = remain;\n this.$emit('change', this.timeData);\n\n if (remain === 0) {\n this.pause();\n this.$emit('finish');\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.slots('default', this.timeData) || this.formattedTime]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit } from '../utils/functional'; // Types\n\nvar _createNamespace = createNamespace('divider'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Divider(h, props, slots, ctx) {\n var _bem;\n\n return h(\"div\", _mergeJSXProps([{\n \"attrs\": {\n \"role\": \"separator\"\n },\n \"style\": {\n borderColor: props.borderColor\n },\n \"class\": bem((_bem = {\n dashed: props.dashed,\n hairline: props.hairline\n }, _bem[\"content-\" + props.contentPosition] = slots.default, _bem))\n }, inherit(ctx, true)]), [slots.default && slots.default()]);\n}\n\nDivider.props = {\n dashed: Boolean,\n hairline: {\n type: Boolean,\n default: true\n },\n contentPosition: {\n type: String,\n default: 'center'\n }\n};\nexport default createComponent(Divider);","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('sidebar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanSidebar')],\n model: {\n prop: 'activeKey'\n },\n props: {\n activeKey: {\n type: [Number, String],\n default: 0\n }\n },\n data: function data() {\n return {\n index: +this.activeKey\n };\n },\n watch: {\n activeKey: function activeKey() {\n this.setIndex(+this.activeKey);\n }\n },\n methods: {\n setIndex: function setIndex(index) {\n if (index !== this.index) {\n this.index = index;\n this.$emit('change', index);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.slots()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\nimport { route, routeProps } from '../utils/router';\nimport Info from '../info';\n\nvar _createNamespace = createNamespace('sidebar-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanSidebar')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n // @deprecated\n info: [Number, String],\n badge: [Number, String],\n title: String,\n disabled: Boolean\n }),\n computed: {\n select: function select() {\n return this.index === +this.parent.activeKey;\n }\n },\n methods: {\n onClick: function onClick() {\n if (this.disabled) {\n return;\n }\n\n this.$emit('click', this.index);\n this.parent.$emit('input', this.index);\n this.parent.setIndex(this.index);\n route(this.$router, this);\n }\n },\n render: function render() {\n var _this$slots, _this$badge;\n\n var h = arguments[0];\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] SidebarItem: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n return h(\"a\", {\n \"class\": bem({\n select: this.select,\n disabled: this.disabled\n }),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('text')\n }, [(_this$slots = this.slots('title')) != null ? _this$slots : this.title, h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": (_this$badge = this.badge) != null ? _this$badge : this.info\n },\n \"class\": bem('info')\n })])]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { emit, inherit } from '../utils/functional'; // Components\n\nimport Icon from '../icon';\nimport Sidebar from '../sidebar';\nimport SidebarItem from '../sidebar-item'; // Types\n\nvar _createNamespace = createNamespace('tree-select'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction TreeSelect(h, props, slots, ctx) {\n var items = props.items,\n height = props.height,\n activeId = props.activeId,\n selectedIcon = props.selectedIcon,\n mainActiveIndex = props.mainActiveIndex;\n\n if (process.env.NODE_ENV === 'development') {\n if (ctx.listeners.navclick) {\n console.warn('[Vant] TreeSelect: \"navclick\" event is deprecated, use \"click-nav\" instead.');\n }\n\n if (ctx.listeners.itemclick) {\n console.warn('[Vant] TreeSelect: \"itemclick\" event is deprecated, use \"click-item\" instead.');\n }\n }\n\n var selectedItem = items[+mainActiveIndex] || {};\n var subItems = selectedItem.children || [];\n var isMultiple = Array.isArray(activeId);\n\n function isActiveItem(id) {\n return isMultiple ? activeId.indexOf(id) !== -1 : activeId === id;\n }\n\n var Navs = items.map(function (item) {\n var _item$badge;\n\n return h(SidebarItem, {\n \"attrs\": {\n \"dot\": item.dot,\n \"info\": (_item$badge = item.badge) != null ? _item$badge : item.info,\n \"title\": item.text,\n \"disabled\": item.disabled\n },\n \"class\": [bem('nav-item'), item.className]\n });\n });\n\n function Content() {\n if (slots.content) {\n return slots.content();\n }\n\n return subItems.map(function (item) {\n return h(\"div\", {\n \"key\": item.id,\n \"class\": ['van-ellipsis', bem('item', {\n active: isActiveItem(item.id),\n disabled: item.disabled\n })],\n \"on\": {\n \"click\": function click() {\n if (!item.disabled) {\n var newActiveId = item.id;\n\n if (isMultiple) {\n newActiveId = activeId.slice();\n var index = newActiveId.indexOf(item.id);\n\n if (index !== -1) {\n newActiveId.splice(index, 1);\n } else if (newActiveId.length < props.max) {\n newActiveId.push(item.id);\n }\n }\n\n emit(ctx, 'update:active-id', newActiveId);\n emit(ctx, 'click-item', item); // compatible with legacy usage, should be removed in next major version\n\n emit(ctx, 'itemclick', item);\n }\n }\n }\n }, [item.text, isActiveItem(item.id) && h(Icon, {\n \"attrs\": {\n \"name\": selectedIcon\n },\n \"class\": bem('selected')\n })]);\n });\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem(),\n \"style\": {\n height: addUnit(height)\n }\n }, inherit(ctx)]), [h(Sidebar, {\n \"class\": bem('nav'),\n \"attrs\": {\n \"activeKey\": mainActiveIndex\n },\n \"on\": {\n \"change\": function change(index) {\n emit(ctx, 'update:main-active-index', index);\n emit(ctx, 'click-nav', index); // compatible with legacy usage, should be removed in next major version\n\n emit(ctx, 'navclick', index);\n }\n }\n }, [Navs]), h(\"div\", {\n \"class\": bem('content')\n }, [Content()])]);\n}\n\nTreeSelect.props = {\n max: {\n type: [Number, String],\n default: Infinity\n },\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n height: {\n type: [Number, String],\n default: 300\n },\n activeId: {\n type: [Number, String, Array],\n default: 0\n },\n selectedIcon: {\n type: String,\n default: 'success'\n },\n mainActiveIndex: {\n type: [Number, String],\n default: 0\n }\n};\nexport default createComponent(TreeSelect);","import { createNamespace } from '../utils';\nimport { FieldMixin } from '../mixins/field';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('radio-group'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanRadio'), FieldMixin],\n props: {\n value: null,\n disabled: Boolean,\n direction: String,\n checkedColor: String,\n iconSize: [Number, String]\n },\n watch: {\n value: function value(_value) {\n this.$emit('change', _value);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem([this.direction]),\n \"attrs\": {\n \"role\": \"radiogroup\"\n }\n }, [this.slots()]);\n }\n});","/**\n * Common part of Checkbox & Radio\n */\nimport Icon from '../icon';\nimport { FieldMixin } from './field';\nimport { ChildrenMixin } from './relation';\nimport { addUnit } from '../utils';\nexport var CheckboxMixin = function CheckboxMixin(_ref) {\n var parent = _ref.parent,\n bem = _ref.bem,\n role = _ref.role;\n return {\n mixins: [ChildrenMixin(parent), FieldMixin],\n props: {\n name: null,\n value: null,\n disabled: Boolean,\n iconSize: [Number, String],\n checkedColor: String,\n labelPosition: String,\n labelDisabled: Boolean,\n shape: {\n type: String,\n default: 'round'\n },\n bindGroup: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n disableBindRelation: function disableBindRelation() {\n return !this.bindGroup;\n },\n isDisabled: function isDisabled() {\n return this.parent && this.parent.disabled || this.disabled;\n },\n direction: function direction() {\n return this.parent && this.parent.direction || null;\n },\n iconStyle: function iconStyle() {\n var checkedColor = this.checkedColor || this.parent && this.parent.checkedColor;\n\n if (checkedColor && this.checked && !this.isDisabled) {\n return {\n borderColor: checkedColor,\n backgroundColor: checkedColor\n };\n }\n },\n tabindex: function tabindex() {\n if (this.isDisabled || role === 'radio' && !this.checked) {\n return -1;\n }\n\n return 0;\n }\n },\n methods: {\n onClick: function onClick(event) {\n var _this = this;\n\n var target = event.target;\n var icon = this.$refs.icon;\n var iconClicked = icon === target || (icon == null ? void 0 : icon.contains(target));\n\n if (!this.isDisabled && (iconClicked || !this.labelDisabled)) {\n this.toggle(); // wait for toggle method to complete\n // so we can get the changed value in the click event listener\n\n setTimeout(function () {\n _this.$emit('click', event);\n });\n } else {\n this.$emit('click', event);\n }\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var checked = this.checked;\n var iconSize = this.iconSize || this.parent && this.parent.iconSize;\n return h(\"div\", {\n \"ref\": \"icon\",\n \"class\": bem('icon', [this.shape, {\n disabled: this.isDisabled,\n checked: checked\n }]),\n \"style\": {\n fontSize: addUnit(iconSize)\n }\n }, [this.slots('icon', {\n checked: checked\n }) || h(Icon, {\n \"attrs\": {\n \"name\": \"success\"\n },\n \"style\": this.iconStyle\n })]);\n },\n genLabel: function genLabel() {\n var h = this.$createElement;\n var slot = this.slots();\n\n if (slot) {\n return h(\"span\", {\n \"class\": bem('label', [this.labelPosition, {\n disabled: this.isDisabled\n }])\n }, [slot]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var Children = [this.genIcon()];\n\n if (this.labelPosition === 'left') {\n Children.unshift(this.genLabel());\n } else {\n Children.push(this.genLabel());\n }\n\n return h(\"div\", {\n \"attrs\": {\n \"role\": role,\n \"tabindex\": this.tabindex,\n \"aria-checked\": String(this.checked)\n },\n \"class\": bem([{\n disabled: this.isDisabled,\n 'label-disabled': this.labelDisabled\n }, this.direction]),\n \"on\": {\n \"click\": this.onClick\n }\n }, [Children]);\n }\n };\n};","import { createNamespace } from '../utils';\nimport { CheckboxMixin } from '../mixins/checkbox';\n\nvar _createNamespace = createNamespace('radio'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [CheckboxMixin({\n bem: bem,\n role: 'radio',\n parent: 'vanRadio'\n })],\n computed: {\n currentValue: {\n get: function get() {\n return this.parent ? this.parent.value : this.value;\n },\n set: function set(val) {\n (this.parent || this).$emit('input', val);\n }\n },\n checked: function checked() {\n return this.currentValue === this.name;\n }\n },\n methods: {\n toggle: function toggle() {\n this.currentValue = this.name;\n }\n }\n});","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant';\n\nvar _createNamespace = createNamespace('collapse'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanCollapse')],\n props: {\n accordion: Boolean,\n value: [String, Number, Array],\n border: {\n type: Boolean,\n default: true\n }\n },\n methods: {\n switch: function _switch(name, expanded) {\n if (!this.accordion) {\n name = expanded ? this.value.concat(name) : this.value.filter(function (activeName) {\n return activeName !== name;\n });\n }\n\n this.$emit('change', name);\n this.$emit('input', name);\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n return h(\"div\", {\n \"class\": [bem(), (_ref = {}, _ref[BORDER_TOP_BOTTOM] = this.border, _ref)]\n }, [this.slots()]);\n }\n});","export var cellProps = {\n icon: String,\n size: String,\n center: Boolean,\n isLink: Boolean,\n required: Boolean,\n iconPrefix: String,\n titleStyle: null,\n titleClass: null,\n valueClass: null,\n labelClass: null,\n title: [Number, String],\n value: [Number, String],\n label: [Number, String],\n arrowDirection: String,\n border: {\n type: Boolean,\n default: true\n },\n clickable: {\n type: Boolean,\n default: null\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { emit, inherit } from '../utils/functional';\nimport { routeProps, functionalRoute } from '../utils/router';\nimport { cellProps } from './shared'; // Components\n\nimport Icon from '../icon'; // Types\n\nvar _createNamespace = createNamespace('cell'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Cell(h, props, slots, ctx) {\n var _props$clickable;\n\n var icon = props.icon,\n size = props.size,\n title = props.title,\n label = props.label,\n value = props.value,\n isLink = props.isLink;\n var showTitle = slots.title || isDef(title);\n\n function Label() {\n var showLabel = slots.label || isDef(label);\n\n if (showLabel) {\n return h(\"div\", {\n \"class\": [bem('label'), props.labelClass]\n }, [slots.label ? slots.label() : label]);\n }\n }\n\n function Title() {\n if (showTitle) {\n return h(\"div\", {\n \"class\": [bem('title'), props.titleClass],\n \"style\": props.titleStyle\n }, [slots.title ? slots.title() : h(\"span\", [title]), Label()]);\n }\n }\n\n function Value() {\n var showValue = slots.default || isDef(value);\n\n if (showValue) {\n return h(\"div\", {\n \"class\": [bem('value', {\n alone: !showTitle\n }), props.valueClass]\n }, [slots.default ? slots.default() : h(\"span\", [value])]);\n }\n }\n\n function LeftIcon() {\n if (slots.icon) {\n return slots.icon();\n }\n\n if (icon) {\n return h(Icon, {\n \"class\": bem('left-icon'),\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n }\n });\n }\n }\n\n function RightIcon() {\n var rightIconSlot = slots['right-icon'];\n\n if (rightIconSlot) {\n return rightIconSlot();\n }\n\n if (isLink) {\n var arrowDirection = props.arrowDirection;\n return h(Icon, {\n \"class\": bem('right-icon'),\n \"attrs\": {\n \"name\": arrowDirection ? \"arrow-\" + arrowDirection : 'arrow'\n }\n });\n }\n }\n\n function onClick(event) {\n emit(ctx, 'click', event);\n functionalRoute(ctx);\n }\n\n var clickable = (_props$clickable = props.clickable) != null ? _props$clickable : isLink;\n var classes = {\n clickable: clickable,\n center: props.center,\n required: props.required,\n borderless: !props.border\n };\n\n if (size) {\n classes[size] = size;\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem(classes),\n \"attrs\": {\n \"role\": clickable ? 'button' : null,\n \"tabindex\": clickable ? 0 : null\n },\n \"on\": {\n \"click\": onClick\n }\n }, inherit(ctx)]), [LeftIcon(), Title(), Value(), RightIcon(), slots.extra == null ? void 0 : slots.extra()]);\n}\n\nCell.props = _extends({}, cellProps, routeProps);\nexport default createComponent(Cell);","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { raf, doubleRaf } from '../utils/dom/raf'; // Mixins\n\nimport { ChildrenMixin } from '../mixins/relation'; // Components\n\nimport Cell from '../cell';\nimport { cellProps } from '../cell/shared';\n\nvar _createNamespace = createNamespace('collapse-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar CELL_SLOTS = ['title', 'icon', 'right-icon'];\nexport default createComponent({\n mixins: [ChildrenMixin('vanCollapse')],\n props: _extends({}, cellProps, {\n name: [Number, String],\n disabled: Boolean,\n lazyRender: {\n type: Boolean,\n default: true\n },\n isLink: {\n type: Boolean,\n default: true\n }\n }),\n data: function data() {\n return {\n show: null,\n inited: null\n };\n },\n computed: {\n currentName: function currentName() {\n var _this$name;\n\n return (_this$name = this.name) != null ? _this$name : this.index;\n },\n expanded: function expanded() {\n var _this = this;\n\n if (!this.parent) {\n return null;\n }\n\n var _this$parent = this.parent,\n value = _this$parent.value,\n accordion = _this$parent.accordion;\n\n if (process.env.NODE_ENV === 'development' && !accordion && !Array.isArray(value)) {\n console.error('[Vant] Collapse: type of prop \"value\" should be Array');\n return;\n }\n\n return accordion ? value === this.currentName : value.some(function (name) {\n return name === _this.currentName;\n });\n }\n },\n created: function created() {\n this.show = this.expanded;\n this.inited = this.expanded;\n },\n watch: {\n expanded: function expanded(_expanded, prev) {\n var _this2 = this;\n\n if (prev === null) {\n return;\n }\n\n if (_expanded) {\n this.show = true;\n this.inited = true;\n } // Use raf: flick when opened in safari\n // Use nextTick: closing animation failed when set `user-select: none`\n\n\n var nextTick = _expanded ? this.$nextTick : raf;\n nextTick(function () {\n var _this2$$refs = _this2.$refs,\n content = _this2$$refs.content,\n wrapper = _this2$$refs.wrapper;\n\n if (!content || !wrapper) {\n return;\n }\n\n var offsetHeight = content.offsetHeight;\n\n if (offsetHeight) {\n var contentHeight = offsetHeight + \"px\";\n wrapper.style.height = _expanded ? 0 : contentHeight; // use double raf to ensure animation can start\n\n doubleRaf(function () {\n wrapper.style.height = _expanded ? contentHeight : 0;\n });\n } else {\n _this2.onTransitionEnd();\n }\n });\n }\n },\n methods: {\n onClick: function onClick() {\n if (!this.disabled) {\n this.toggle();\n }\n },\n // @exposed-api\n toggle: function toggle(expanded) {\n if (expanded === void 0) {\n expanded = !this.expanded;\n }\n\n var parent = this.parent,\n currentName = this.currentName;\n var close = parent.accordion && currentName === parent.value;\n var name = close ? '' : currentName;\n this.parent.switch(name, expanded);\n },\n onTransitionEnd: function onTransitionEnd() {\n if (!this.expanded) {\n this.show = false;\n } else {\n this.$refs.wrapper.style.height = '';\n }\n },\n genTitle: function genTitle() {\n var _this3 = this;\n\n var h = this.$createElement;\n var border = this.border,\n disabled = this.disabled,\n expanded = this.expanded;\n var titleSlots = CELL_SLOTS.reduce(function (slots, name) {\n if (_this3.slots(name)) {\n slots[name] = function () {\n return _this3.slots(name);\n };\n }\n\n return slots;\n }, {});\n\n if (this.slots('value')) {\n titleSlots.default = function () {\n return _this3.slots('value');\n };\n }\n\n return h(Cell, {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": disabled ? -1 : 0,\n \"aria-expanded\": String(expanded)\n },\n \"class\": bem('title', {\n disabled: disabled,\n expanded: expanded,\n borderless: !border\n }),\n \"on\": {\n \"click\": this.onClick\n },\n \"scopedSlots\": titleSlots,\n \"props\": _extends({}, this.$props)\n });\n },\n genContent: function genContent() {\n var h = this.$createElement;\n\n if (this.inited || !this.lazyRender) {\n return h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.show\n }],\n \"ref\": \"wrapper\",\n \"class\": bem('wrapper'),\n \"on\": {\n \"transitionend\": this.onTransitionEnd\n }\n }, [h(\"div\", {\n \"ref\": \"content\",\n \"class\": bem('content')\n }, [this.slots()])]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": [bem({\n border: this.index && this.border\n })]\n }, [this.genTitle(), this.genContent()]);\n }\n});","import { isDef, createNamespace } from '../utils';\nimport { isNumeric } from '../utils/validate/number';\n\nvar _createNamespace = createNamespace('badge'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n dot: Boolean,\n max: [Number, String],\n color: String,\n content: [Number, String],\n tag: {\n type: String,\n default: 'div'\n }\n },\n methods: {\n hasContent: function hasContent() {\n return !!(this.$scopedSlots.content || isDef(this.content) && this.content !== '');\n },\n renderContent: function renderContent() {\n var dot = this.dot,\n max = this.max,\n content = this.content;\n\n if (!dot && this.hasContent()) {\n if (this.$scopedSlots.content) {\n return this.$scopedSlots.content();\n }\n\n if (isDef(max) && isNumeric(content) && +content > max) {\n return max + \"+\";\n }\n\n return content;\n }\n },\n renderBadge: function renderBadge() {\n var h = this.$createElement;\n\n if (this.hasContent() || this.dot) {\n return h(\"div\", {\n \"class\": bem({\n dot: this.dot,\n fixed: !!this.$scopedSlots.default\n }),\n \"style\": {\n background: this.color\n }\n }, [this.renderContent()]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (this.$scopedSlots.default) {\n var tag = this.tag;\n return h(tag, {\n \"class\": bem('wrapper')\n }, [this.$scopedSlots.default(), this.renderBadge()]);\n }\n\n return this.renderBadge();\n }\n});","import { createNamespace } from '../utils';\nimport { CheckboxMixin } from '../mixins/checkbox';\n\nvar _createNamespace = createNamespace('checkbox'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [CheckboxMixin({\n bem: bem,\n role: 'checkbox',\n parent: 'vanCheckbox'\n })],\n computed: {\n checked: {\n get: function get() {\n if (this.parent) {\n return this.parent.value.indexOf(this.name) !== -1;\n }\n\n return this.value;\n },\n set: function set(val) {\n if (this.parent) {\n this.setParentValue(val);\n } else {\n this.$emit('input', val);\n }\n }\n }\n },\n watch: {\n value: function value(val) {\n this.$emit('change', val);\n }\n },\n methods: {\n // @exposed-api\n toggle: function toggle(checked) {\n var _this = this;\n\n if (checked === void 0) {\n checked = !this.checked;\n }\n\n // When toggle method is called multiple times at the same time,\n // only the last call is valid.\n // This is a hack for usage inside Cell.\n clearTimeout(this.toggleTask);\n this.toggleTask = setTimeout(function () {\n _this.checked = checked;\n });\n },\n setParentValue: function setParentValue(val) {\n var parent = this.parent;\n var value = parent.value.slice();\n\n if (val) {\n if (parent.max && value.length >= parent.max) {\n return;\n }\n /* istanbul ignore else */\n\n\n if (value.indexOf(this.name) === -1) {\n value.push(this.name);\n parent.$emit('input', value);\n }\n } else {\n var index = value.indexOf(this.name);\n /* istanbul ignore else */\n\n if (index !== -1) {\n value.splice(index, 1);\n parent.$emit('input', value);\n }\n }\n }\n }\n});","import { createNamespace } from '../utils';\nimport { FieldMixin } from '../mixins/field';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('checkbox-group'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanCheckbox'), FieldMixin],\n props: {\n max: [Number, String],\n disabled: Boolean,\n direction: String,\n iconSize: [Number, String],\n checkedColor: String,\n value: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n watch: {\n value: function value(val) {\n this.$emit('change', val);\n }\n },\n methods: {\n // @exposed-api\n toggleAll: function toggleAll(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === 'boolean') {\n options = {\n checked: options\n };\n }\n\n var _options = options,\n checked = _options.checked,\n skipDisabled = _options.skipDisabled;\n var children = this.children.filter(function (item) {\n if (item.disabled && skipDisabled) {\n return item.checked;\n }\n\n return checked != null ? checked : !item.checked;\n });\n var names = children.map(function (item) {\n return item.name;\n });\n this.$emit('input', names);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem([this.direction])\n }, [this.slots()]);\n }\n});","/**\n * Common Switch Props\n */\nexport var switchProps = {\n size: [Number, String],\n value: null,\n loading: Boolean,\n disabled: Boolean,\n activeColor: String,\n inactiveColor: String,\n activeValue: {\n type: null,\n default: true\n },\n inactiveValue: {\n type: null,\n default: false\n }\n};","// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { switchProps } from './shared'; // Mixins\n\nimport { FieldMixin } from '../mixins/field'; // Components\n\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('switch'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [FieldMixin],\n props: switchProps,\n computed: {\n checked: function checked() {\n return this.value === this.activeValue;\n },\n style: function style() {\n return {\n fontSize: addUnit(this.size),\n backgroundColor: this.checked ? this.activeColor : this.inactiveColor\n };\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n\n if (!this.disabled && !this.loading) {\n var newValue = this.checked ? this.inactiveValue : this.activeValue;\n this.$emit('input', newValue);\n this.$emit('change', newValue);\n }\n },\n genLoading: function genLoading() {\n var h = this.$createElement;\n\n if (this.loading) {\n var color = this.checked ? this.activeColor : this.inactiveColor;\n return h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"color\": color\n }\n });\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var checked = this.checked,\n loading = this.loading,\n disabled = this.disabled;\n return h(\"div\", {\n \"class\": bem({\n on: checked,\n loading: loading,\n disabled: disabled\n }),\n \"attrs\": {\n \"role\": \"switch\",\n \"aria-checked\": String(checked)\n },\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('node')\n }, [this.genLoading()])]);\n }\n});","// Utils\nimport { createNamespace } from '../utils';\nimport { preventDefault } from '../utils/dom/event';\nimport { getScrollTop, getScroller } from '../utils/dom/scroll'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch'; // Components\n\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('pull-refresh'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nvar DEFAULT_HEAD_HEIGHT = 50;\nvar TEXT_STATUS = ['pulling', 'loosing', 'success'];\nexport default createComponent({\n mixins: [TouchMixin],\n props: {\n disabled: Boolean,\n successText: String,\n pullingText: String,\n loosingText: String,\n loadingText: String,\n pullDistance: [Number, String],\n value: {\n type: Boolean,\n required: true\n },\n successDuration: {\n type: [Number, String],\n default: 500\n },\n animationDuration: {\n type: [Number, String],\n default: 300\n },\n headHeight: {\n type: [Number, String],\n default: DEFAULT_HEAD_HEIGHT\n }\n },\n data: function data() {\n return {\n status: 'normal',\n distance: 0,\n duration: 0\n };\n },\n computed: {\n touchable: function touchable() {\n return this.status !== 'loading' && this.status !== 'success' && !this.disabled;\n },\n headStyle: function headStyle() {\n if (this.headHeight !== DEFAULT_HEAD_HEIGHT) {\n return {\n height: this.headHeight + \"px\"\n };\n }\n }\n },\n watch: {\n value: function value(loading) {\n this.duration = this.animationDuration;\n\n if (loading) {\n this.setStatus(+this.headHeight, true);\n } else if (this.slots('success') || this.successText) {\n this.showSuccessTip();\n } else {\n this.setStatus(0, false);\n }\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$refs.track);\n this.scrollEl = getScroller(this.$el);\n },\n methods: {\n checkPullStart: function checkPullStart(event) {\n this.ceiling = getScrollTop(this.scrollEl) === 0;\n\n if (this.ceiling) {\n this.duration = 0;\n this.touchStart(event);\n }\n },\n onTouchStart: function onTouchStart(event) {\n if (this.touchable) {\n this.checkPullStart(event);\n }\n },\n onTouchMove: function onTouchMove(event) {\n if (!this.touchable) {\n return;\n }\n\n if (!this.ceiling) {\n this.checkPullStart(event);\n }\n\n this.touchMove(event);\n\n if (this.ceiling && this.deltaY >= 0 && this.direction === 'vertical') {\n preventDefault(event);\n this.setStatus(this.ease(this.deltaY));\n }\n },\n onTouchEnd: function onTouchEnd() {\n var _this = this;\n\n if (this.touchable && this.ceiling && this.deltaY) {\n this.duration = this.animationDuration;\n\n if (this.status === 'loosing') {\n this.setStatus(+this.headHeight, true);\n this.$emit('input', true); // ensure value change can be watched\n\n this.$nextTick(function () {\n _this.$emit('refresh');\n });\n } else {\n this.setStatus(0);\n }\n }\n },\n ease: function ease(distance) {\n var pullDistance = +(this.pullDistance || this.headHeight);\n\n if (distance > pullDistance) {\n if (distance < pullDistance * 2) {\n distance = pullDistance + (distance - pullDistance) / 2;\n } else {\n distance = pullDistance * 1.5 + (distance - pullDistance * 2) / 4;\n }\n }\n\n return Math.round(distance);\n },\n setStatus: function setStatus(distance, isLoading) {\n var status;\n\n if (isLoading) {\n status = 'loading';\n } else if (distance === 0) {\n status = 'normal';\n } else {\n status = distance < (this.pullDistance || this.headHeight) ? 'pulling' : 'loosing';\n }\n\n this.distance = distance;\n\n if (status !== this.status) {\n this.status = status;\n }\n },\n genStatus: function genStatus() {\n var h = this.$createElement;\n var status = this.status,\n distance = this.distance;\n var slot = this.slots(status, {\n distance: distance\n });\n\n if (slot) {\n return slot;\n }\n\n var nodes = [];\n var text = this[status + \"Text\"] || t(status);\n\n if (TEXT_STATUS.indexOf(status) !== -1) {\n nodes.push(h(\"div\", {\n \"class\": bem('text')\n }, [text]));\n }\n\n if (status === 'loading') {\n nodes.push(h(Loading, {\n \"attrs\": {\n \"size\": \"16\"\n }\n }, [text]));\n }\n\n return nodes;\n },\n showSuccessTip: function showSuccessTip() {\n var _this2 = this;\n\n this.status = 'success';\n setTimeout(function () {\n _this2.setStatus(0);\n }, this.successDuration);\n }\n },\n render: function render() {\n var h = arguments[0];\n var trackStyle = {\n transitionDuration: this.duration + \"ms\",\n transform: this.distance ? \"translate3d(0,\" + this.distance + \"px, 0)\" : ''\n };\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"ref\": \"track\",\n \"class\": bem('track'),\n \"style\": trackStyle\n }, [h(\"div\", {\n \"class\": bem('head'),\n \"style\": this.headStyle\n }, [this.genStatus()]), this.slots()])]);\n }\n});","/**\n * Listen to click outside event\n */\nimport { on, off } from '../utils/dom/event';\nexport var ClickOutsideMixin = function ClickOutsideMixin(config) {\n return {\n props: {\n closeOnClickOutside: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n var _this = this;\n\n var clickOutsideHandler = function clickOutsideHandler(event) {\n if (_this.closeOnClickOutside && !_this.$el.contains(event.target)) {\n _this[config.method]();\n }\n };\n\n return {\n clickOutsideHandler: clickOutsideHandler\n };\n },\n mounted: function mounted() {\n on(document, config.event, this.clickOutsideHandler);\n },\n beforeDestroy: function beforeDestroy() {\n off(document, config.event, this.clickOutsideHandler);\n }\n };\n};","// Utils\nimport { createNamespace } from '../utils';\nimport { range } from '../utils/format/number';\nimport { preventDefault } from '../utils/dom/event'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch';\nimport { ClickOutsideMixin } from '../mixins/click-outside';\n\nvar _createNamespace = createNamespace('swipe-cell'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar THRESHOLD = 0.15;\nexport default createComponent({\n mixins: [TouchMixin, ClickOutsideMixin({\n event: 'touchstart',\n method: 'onClick'\n })],\n props: {\n // @deprecated\n // should be removed in next major version, use beforeClose instead\n onClose: Function,\n disabled: Boolean,\n leftWidth: [Number, String],\n rightWidth: [Number, String],\n beforeClose: Function,\n stopPropagation: Boolean,\n name: {\n type: [Number, String],\n default: ''\n }\n },\n data: function data() {\n return {\n offset: 0,\n dragging: false\n };\n },\n computed: {\n computedLeftWidth: function computedLeftWidth() {\n return +this.leftWidth || this.getWidthByRef('left');\n },\n computedRightWidth: function computedRightWidth() {\n return +this.rightWidth || this.getWidthByRef('right');\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$el);\n },\n methods: {\n getWidthByRef: function getWidthByRef(ref) {\n if (this.$refs[ref]) {\n var rect = this.$refs[ref].getBoundingClientRect();\n return rect.width;\n }\n\n return 0;\n },\n // @exposed-api\n open: function open(position) {\n var offset = position === 'left' ? this.computedLeftWidth : -this.computedRightWidth;\n this.opened = true;\n this.offset = offset;\n this.$emit('open', {\n position: position,\n name: this.name,\n // @deprecated\n // should be removed in next major version\n detail: this.name\n });\n },\n // @exposed-api\n close: function close(position) {\n this.offset = 0;\n\n if (this.opened) {\n this.opened = false;\n this.$emit('close', {\n position: position,\n name: this.name\n });\n }\n },\n onTouchStart: function onTouchStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.startOffset = this.offset;\n this.touchStart(event);\n },\n onTouchMove: function onTouchMove(event) {\n if (this.disabled) {\n return;\n }\n\n this.touchMove(event);\n\n if (this.direction === 'horizontal') {\n this.dragging = true;\n this.lockClick = true;\n var isPrevent = !this.opened || this.deltaX * this.startOffset < 0;\n\n if (isPrevent) {\n preventDefault(event, this.stopPropagation);\n }\n\n this.offset = range(this.deltaX + this.startOffset, -this.computedRightWidth, this.computedLeftWidth);\n }\n },\n onTouchEnd: function onTouchEnd() {\n var _this = this;\n\n if (this.disabled) {\n return;\n }\n\n if (this.dragging) {\n this.toggle(this.offset > 0 ? 'left' : 'right');\n this.dragging = false; // compatible with desktop scenario\n\n setTimeout(function () {\n _this.lockClick = false;\n }, 0);\n }\n },\n toggle: function toggle(direction) {\n var offset = Math.abs(this.offset);\n var threshold = this.opened ? 1 - THRESHOLD : THRESHOLD;\n var computedLeftWidth = this.computedLeftWidth,\n computedRightWidth = this.computedRightWidth;\n\n if (computedRightWidth && direction === 'right' && offset > computedRightWidth * threshold) {\n this.open('right');\n } else if (computedLeftWidth && direction === 'left' && offset > computedLeftWidth * threshold) {\n this.open('left');\n } else {\n this.close();\n }\n },\n onClick: function onClick(position) {\n if (position === void 0) {\n position = 'outside';\n }\n\n this.$emit('click', position);\n\n if (this.opened && !this.lockClick) {\n if (this.beforeClose) {\n this.beforeClose({\n position: position,\n name: this.name,\n instance: this\n });\n } else if (this.onClose) {\n this.onClose(position, this, {\n name: this.name\n });\n } else {\n this.close(position);\n }\n }\n },\n getClickHandler: function getClickHandler(position, stop) {\n var _this2 = this;\n\n return function (event) {\n if (stop) {\n event.stopPropagation();\n }\n\n _this2.onClick(position);\n };\n },\n genLeftPart: function genLeftPart() {\n var h = this.$createElement;\n var content = this.slots('left');\n\n if (content) {\n return h(\"div\", {\n \"ref\": \"left\",\n \"class\": bem('left'),\n \"on\": {\n \"click\": this.getClickHandler('left', true)\n }\n }, [content]);\n }\n },\n genRightPart: function genRightPart() {\n var h = this.$createElement;\n var content = this.slots('right');\n\n if (content) {\n return h(\"div\", {\n \"ref\": \"right\",\n \"class\": bem('right'),\n \"on\": {\n \"click\": this.getClickHandler('right', true)\n }\n }, [content]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var wrapperStyle = {\n transform: \"translate3d(\" + this.offset + \"px, 0, 0)\",\n transitionDuration: this.dragging ? '0s' : '.6s'\n };\n return h(\"div\", {\n \"class\": bem(),\n \"on\": {\n \"click\": this.getClickHandler('cell')\n }\n }, [h(\"div\", {\n \"class\": bem('wrapper'),\n \"style\": wrapperStyle\n }, [this.genLeftPart(), this.slots(), this.genRightPart()])]);\n }\n});","import { createNamespace } from '../utils';\nimport { sortChildren } from '../utils/vnodes';\n\nvar _createNamespace = createNamespace('form'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n colon: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n labelWidth: [Number, String],\n labelAlign: String,\n inputAlign: String,\n scrollToError: Boolean,\n validateFirst: Boolean,\n errorMessageAlign: String,\n submitOnEnter: {\n type: Boolean,\n default: true\n },\n validateTrigger: {\n type: String,\n default: 'onBlur'\n },\n showError: {\n type: Boolean,\n default: true\n },\n showErrorMessage: {\n type: Boolean,\n default: true\n }\n },\n provide: function provide() {\n return {\n vanForm: this\n };\n },\n data: function data() {\n return {\n fields: []\n };\n },\n methods: {\n getFieldsByNames: function getFieldsByNames(names) {\n if (names) {\n return this.fields.filter(function (field) {\n return names.indexOf(field.name) !== -1;\n });\n }\n\n return this.fields;\n },\n validateSeq: function validateSeq(names) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n var errors = [];\n\n var fields = _this.getFieldsByNames(names);\n\n fields.reduce(function (promise, field) {\n return promise.then(function () {\n if (!errors.length) {\n return field.validate().then(function (error) {\n if (error) {\n errors.push(error);\n }\n });\n }\n });\n }, Promise.resolve()).then(function () {\n if (errors.length) {\n reject(errors);\n } else {\n resolve();\n }\n });\n });\n },\n validateFields: function validateFields(names) {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n var fields = _this2.getFieldsByNames(names);\n\n Promise.all(fields.map(function (item) {\n return item.validate();\n })).then(function (errors) {\n errors = errors.filter(function (item) {\n return item;\n });\n\n if (errors.length) {\n reject(errors);\n } else {\n resolve();\n }\n });\n });\n },\n // @exposed-api\n validate: function validate(name) {\n if (name && !Array.isArray(name)) {\n return this.validateField(name);\n }\n\n return this.validateFirst ? this.validateSeq(name) : this.validateFields(name);\n },\n validateField: function validateField(name) {\n var matched = this.fields.filter(function (item) {\n return item.name === name;\n });\n\n if (matched.length) {\n return new Promise(function (resolve, reject) {\n matched[0].validate().then(function (error) {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n }\n\n return Promise.reject();\n },\n // @exposed-api\n resetValidation: function resetValidation(name) {\n if (name && !Array.isArray(name)) {\n name = [name];\n }\n\n var fields = this.getFieldsByNames(name);\n fields.forEach(function (item) {\n item.resetValidation();\n });\n },\n // @exposed-api\n scrollToField: function scrollToField(name, options) {\n this.fields.some(function (item) {\n if (item.name === name) {\n item.$el.scrollIntoView(options);\n return true;\n }\n\n return false;\n });\n },\n addField: function addField(field) {\n this.fields.push(field);\n sortChildren(this.fields, this);\n },\n removeField: function removeField(field) {\n this.fields = this.fields.filter(function (item) {\n return item !== field;\n });\n },\n getValues: function getValues() {\n return this.fields.reduce(function (form, field) {\n form[field.name] = field.formValue;\n return form;\n }, {});\n },\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n this.submit();\n },\n // @exposed-api\n submit: function submit() {\n var _this3 = this;\n\n var values = this.getValues();\n this.validate().then(function () {\n _this3.$emit('submit', values);\n }).catch(function (errors) {\n _this3.$emit('failed', {\n values: values,\n errors: errors\n });\n\n if (_this3.scrollToError) {\n _this3.scrollToField(errors[0].name);\n }\n });\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"form\", {\n \"class\": bem(),\n \"on\": {\n \"submit\": this.onSubmit\n }\n }, [this.slots()]);\n }\n});","import { isNaN } from '../utils/validate/number';\nexport function times(n, iteratee) {\n if (n < 0) {\n return [];\n }\n\n var index = -1;\n var result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n\n return result;\n}\nexport function getTrueValue(value) {\n if (!value) {\n return 0;\n }\n\n while (isNaN(parseInt(value, 10))) {\n if (value.length > 1) {\n value = value.slice(1);\n } else {\n return 0;\n }\n }\n\n return parseInt(value, 10);\n}\nexport function getMonthEndDay(year, month) {\n return 32 - new Date(year, month - 1, 32).getDate();\n}","export var DEFAULT_ITEM_HEIGHT = 44;\nexport var 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};","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport { deepClone } from '../utils/deep-clone';\nimport { createNamespace, inBrowser, isObject } from '../utils';\nimport { range } from '../utils/format/number';\nimport { preventDefault, on, off } from '../utils/dom/event';\nimport { TouchMixin } from '../mixins/touch';\nvar DEFAULT_DURATION = 200; // 惯性滑动思路:\n// 在手指离开屏幕时,如果和上一次 move 时的间隔小于 `MOMENTUM_LIMIT_TIME` 且 move\n// 距离大于 `MOMENTUM_LIMIT_DISTANCE` 时,执行惯性滑动\n\nexport var MOMENTUM_LIMIT_TIME = 300;\nexport var MOMENTUM_LIMIT_DISTANCE = 15;\n\nvar _createNamespace = createNamespace('picker-column'),\n createComponent = _createNamespace[0],\n bem = _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 isObject(option) && option.disabled;\n} // use standard WheelEvent:\n// https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent\n\n\nvar supportMousewheel = inBrowser && 'onwheel' in window;\nvar mousewheelTimer = null;\nexport default 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 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 } // Calculate the offset based on itemHeight\n\n\n var itemOffset = this.itemHeight * (deltaY > 0 ? -1 : 1);\n this.offset = range(this.startOffset + itemOffset, -(this.count * this.itemHeight), this.itemHeight);\n\n if (mousewheelTimer) {\n clearTimeout(mousewheelTimer);\n }\n\n mousewheelTimer = setTimeout(function () {\n _this2.onTouchEnd();\n\n _this2.touchStartTime = 0;\n }, MOMENTUM_LIMIT_TIME);\n },\n onTransitionEnd: function onTransitionEnd() {\n this.stopMomentum();\n },\n onClickItem: function onClickItem(index) {\n if (this.moving || this.readonly) {\n return;\n }\n\n this.transitionEndTrigger = null;\n this.duration = DEFAULT_DURATION;\n this.setIndex(index, true);\n },\n adjustIndex: function adjustIndex(index) {\n index = range(index, 0, this.count);\n\n for (var i = index; i < this.count; i++) {\n if (!isOptionDisabled(this.options[i])) return i;\n }\n\n for (var _i = index - 1; _i >= 0; _i--) {\n if (!isOptionDisabled(this.options[_i])) return _i;\n }\n },\n getOptionText: function getOptionText(option) {\n if (isObject(option) && this.valueKey in option) {\n return option[this.valueKey];\n }\n\n return option;\n },\n setIndex: function setIndex(index, emitChange) {\n var _this3 = this;\n\n index = this.adjustIndex(index) || 0;\n var offset = -index * this.itemHeight;\n\n var trigger = function trigger() {\n if (index !== _this3.currentIndex) {\n _this3.currentIndex = index;\n\n if (emitChange) {\n _this3.$emit('change', index);\n }\n }\n }; // trigger the change event after transitionend when moving\n\n\n if (this.moving && offset !== this.offset) {\n this.transitionEndTrigger = trigger;\n } else {\n trigger();\n }\n\n this.offset = offset;\n },\n setValue: function setValue(value) {\n var options = this.options;\n\n for (var i = 0; i < options.length; i++) {\n if (this.getOptionText(options[i]) === value) {\n return this.setIndex(i);\n }\n }\n },\n getValue: function getValue() {\n return this.options[this.currentIndex];\n },\n getIndexByOffset: function getIndexByOffset(offset) {\n return range(Math.round(-offset / this.itemHeight), 0, this.count - 1);\n },\n momentum: function momentum(distance, duration) {\n var speed = Math.abs(distance / duration);\n distance = this.offset + speed / 0.003 * (distance < 0 ? -1 : 1);\n var index = this.getIndexByOffset(distance);\n this.duration = +this.swipeDuration;\n this.setIndex(index, true);\n },\n stopMomentum: function stopMomentum() {\n this.moving = false;\n this.duration = 0;\n\n if (this.transitionEndTrigger) {\n this.transitionEndTrigger();\n this.transitionEndTrigger = null;\n }\n },\n genOptions: function genOptions() {\n var _this4 = this;\n\n var h = this.$createElement;\n var optionStyle = {\n height: this.itemHeight + \"px\"\n };\n return this.options.map(function (option, index) {\n var _domProps;\n\n var text = _this4.getOptionText(option);\n\n var disabled = isOptionDisabled(option);\n var data = {\n style: optionStyle,\n attrs: {\n role: 'button',\n tabindex: disabled ? -1 : 0\n },\n class: [bem('item', {\n disabled: disabled,\n selected: index === _this4.currentIndex\n })],\n on: {\n click: function click() {\n _this4.onClickItem(index);\n }\n }\n };\n var childData = {\n class: 'van-ellipsis',\n domProps: (_domProps = {}, _domProps[_this4.allowHtml ? 'innerHTML' : 'textContent'] = text, _domProps)\n };\n return h(\"li\", _mergeJSXProps([{}, data]), [_this4.slots('option', option) || h(\"div\", _mergeJSXProps2([{}, childData]))]);\n });\n }\n },\n render: function render() {\n var h = arguments[0];\n var wrapperStyle = {\n transform: \"translate3d(0, \" + (this.offset + this.baseOffset) + \"px, 0)\",\n transitionDuration: this.duration + \"ms\",\n transitionProperty: this.duration ? 'all' : 'none'\n };\n return h(\"div\", {\n \"class\": [bem(), this.className]\n }, [h(\"ul\", {\n \"ref\": \"wrapper\",\n \"style\": wrapperStyle,\n \"class\": bem('wrapper'),\n \"on\": {\n \"transitionend\": this.onTransitionEnd\n }\n }, [this.genOptions()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { preventDefault } from '../utils/dom/event';\nimport { BORDER_UNSET_TOP_BOTTOM } from '../utils/constant';\nimport { pickerProps, DEFAULT_ITEM_HEIGHT } from './shared';\nimport { unitToPx } from '../utils/format/unit'; // Components\n\nimport Loading from '../loading';\nimport PickerColumn from './PickerColumn';\n\nvar _createNamespace = createNamespace('picker'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n props: _extends({}, pickerProps, {\n defaultIndex: {\n type: [Number, String],\n default: 0\n },\n columns: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n toolbarPosition: {\n type: String,\n default: 'top'\n },\n valueKey: {\n type: String,\n default: 'text'\n }\n }),\n data: function data() {\n return {\n children: [],\n formattedColumns: []\n };\n },\n computed: {\n itemPxHeight: function itemPxHeight() {\n return this.itemHeight ? unitToPx(this.itemHeight) : DEFAULT_ITEM_HEIGHT;\n },\n dataType: function dataType() {\n var columns = this.columns;\n var firstColumn = columns[0] || {};\n\n if (firstColumn.children) {\n return 'cascade';\n }\n\n if (firstColumn.values) {\n return 'object';\n }\n\n return 'text';\n }\n },\n watch: {\n columns: {\n handler: 'format',\n immediate: true\n }\n },\n methods: {\n format: function format() {\n var columns = this.columns,\n dataType = this.dataType;\n\n if (dataType === 'text') {\n this.formattedColumns = [{\n values: columns\n }];\n } else if (dataType === 'cascade') {\n this.formatCascade();\n } else {\n this.formattedColumns = columns;\n }\n },\n formatCascade: function formatCascade() {\n var formatted = [];\n var cursor = {\n children: this.columns\n };\n\n while (cursor && cursor.children) {\n var _cursor$defaultIndex;\n\n var _cursor = cursor,\n children = _cursor.children;\n var defaultIndex = (_cursor$defaultIndex = cursor.defaultIndex) != null ? _cursor$defaultIndex : +this.defaultIndex;\n\n while (children[defaultIndex] && children[defaultIndex].disabled) {\n if (defaultIndex < children.length - 1) {\n defaultIndex++;\n } else {\n defaultIndex = 0;\n break;\n }\n }\n\n formatted.push({\n values: cursor.children,\n className: cursor.className,\n defaultIndex: defaultIndex\n });\n cursor = children[defaultIndex];\n }\n\n this.formattedColumns = formatted;\n },\n emit: function emit(event) {\n var _this = this;\n\n if (this.dataType === 'text') {\n this.$emit(event, this.getColumnValue(0), this.getColumnIndex(0));\n } else {\n var values = this.getValues(); // compatible with old version of wrong parameters\n // should be removed in next major version\n // see: https://github.com/vant-ui/vant/issues/5905\n\n if (this.dataType === 'cascade') {\n values = values.map(function (item) {\n return item[_this.valueKey];\n });\n }\n\n this.$emit(event, values, this.getIndexes());\n }\n },\n onCascadeChange: function onCascadeChange(columnIndex) {\n var cursor = {\n children: this.columns\n };\n var indexes = this.getIndexes();\n\n for (var i = 0; i <= columnIndex; i++) {\n cursor = cursor.children[indexes[i]];\n }\n\n while (cursor && cursor.children) {\n columnIndex++;\n this.setColumnValues(columnIndex, cursor.children);\n cursor = cursor.children[cursor.defaultIndex || 0];\n }\n },\n onChange: function onChange(columnIndex) {\n var _this2 = this;\n\n if (this.dataType === 'cascade') {\n this.onCascadeChange(columnIndex);\n }\n\n if (this.dataType === 'text') {\n this.$emit('change', this, this.getColumnValue(0), this.getColumnIndex(0));\n } else {\n var values = this.getValues(); // compatible with old version of wrong parameters\n // should be removed in next major version\n // see: https://github.com/vant-ui/vant/issues/5905\n\n if (this.dataType === 'cascade') {\n values = values.map(function (item) {\n return item[_this2.valueKey];\n });\n }\n\n this.$emit('change', this, values, columnIndex);\n }\n },\n // get column instance by index\n getColumn: function getColumn(index) {\n return this.children[index];\n },\n // @exposed-api\n // get column value by index\n getColumnValue: function getColumnValue(index) {\n var column = this.getColumn(index);\n return column && column.getValue();\n },\n // @exposed-api\n // set column value by index\n setColumnValue: function setColumnValue(index, value) {\n var column = this.getColumn(index);\n\n if (column) {\n column.setValue(value);\n\n if (this.dataType === 'cascade') {\n this.onCascadeChange(index);\n }\n }\n },\n // @exposed-api\n // get column option index by column index\n getColumnIndex: function getColumnIndex(columnIndex) {\n return (this.getColumn(columnIndex) || {}).currentIndex;\n },\n // @exposed-api\n // set column option index by column index\n setColumnIndex: function setColumnIndex(columnIndex, optionIndex) {\n var column = this.getColumn(columnIndex);\n\n if (column) {\n column.setIndex(optionIndex);\n\n if (this.dataType === 'cascade') {\n this.onCascadeChange(columnIndex);\n }\n }\n },\n // @exposed-api\n // get options of column by index\n getColumnValues: function getColumnValues(index) {\n return (this.children[index] || {}).options;\n },\n // @exposed-api\n // set options of column by index\n setColumnValues: function setColumnValues(index, options) {\n var column = this.children[index];\n\n if (column) {\n column.setOptions(options);\n }\n },\n // @exposed-api\n // get values of all columns\n getValues: function getValues() {\n return this.children.map(function (child) {\n return child.getValue();\n });\n },\n // @exposed-api\n // set values of all columns\n setValues: function setValues(values) {\n var _this3 = this;\n\n values.forEach(function (value, index) {\n _this3.setColumnValue(index, value);\n });\n },\n // @exposed-api\n // get indexes of all columns\n getIndexes: function getIndexes() {\n return this.children.map(function (child) {\n return child.currentIndex;\n });\n },\n // @exposed-api\n // set indexes of all columns\n setIndexes: function setIndexes(indexes) {\n var _this4 = this;\n\n indexes.forEach(function (optionIndex, columnIndex) {\n _this4.setColumnIndex(columnIndex, optionIndex);\n });\n },\n // @exposed-api\n confirm: function confirm() {\n this.children.forEach(function (child) {\n return child.stopMomentum();\n });\n this.emit('confirm');\n },\n cancel: function cancel() {\n this.emit('cancel');\n },\n genTitle: function genTitle() {\n var h = this.$createElement;\n var titleSlot = this.slots('title');\n\n if (titleSlot) {\n return titleSlot;\n }\n\n if (this.title) {\n return h(\"div\", {\n \"class\": ['van-ellipsis', bem('title')]\n }, [this.title]);\n }\n },\n genCancel: function genCancel() {\n var h = this.$createElement;\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": bem('cancel'),\n \"on\": {\n \"click\": this.cancel\n }\n }, [this.slots('cancel') || this.cancelButtonText || t('cancel')]);\n },\n genConfirm: function genConfirm() {\n var h = this.$createElement;\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": bem('confirm'),\n \"on\": {\n \"click\": this.confirm\n }\n }, [this.slots('confirm') || this.confirmButtonText || t('confirm')]);\n },\n genToolbar: function genToolbar() {\n var h = this.$createElement;\n\n if (this.showToolbar) {\n return h(\"div\", {\n \"class\": bem('toolbar')\n }, [this.slots() || [this.genCancel(), this.genTitle(), this.genConfirm()]]);\n }\n },\n genColumns: function genColumns() {\n var h = this.$createElement;\n var itemPxHeight = this.itemPxHeight;\n var wrapHeight = itemPxHeight * this.visibleItemCount;\n var frameStyle = {\n height: itemPxHeight + \"px\"\n };\n var columnsStyle = {\n height: wrapHeight + \"px\"\n };\n var maskStyle = {\n backgroundSize: \"100% \" + (wrapHeight - itemPxHeight) / 2 + \"px\"\n };\n return h(\"div\", {\n \"class\": bem('columns'),\n \"style\": columnsStyle,\n \"on\": {\n \"touchmove\": preventDefault\n }\n }, [this.genColumnItems(), h(\"div\", {\n \"class\": bem('mask'),\n \"style\": maskStyle\n }), h(\"div\", {\n \"class\": [BORDER_UNSET_TOP_BOTTOM, bem('frame')],\n \"style\": frameStyle\n })]);\n },\n genColumnItems: function genColumnItems() {\n var _this5 = this;\n\n var h = this.$createElement;\n return this.formattedColumns.map(function (item, columnIndex) {\n var _item$defaultIndex;\n\n return h(PickerColumn, {\n \"attrs\": {\n \"readonly\": _this5.readonly,\n \"valueKey\": _this5.valueKey,\n \"allowHtml\": _this5.allowHtml,\n \"className\": item.className,\n \"itemHeight\": _this5.itemPxHeight,\n \"defaultIndex\": (_item$defaultIndex = item.defaultIndex) != null ? _item$defaultIndex : +_this5.defaultIndex,\n \"swipeDuration\": _this5.swipeDuration,\n \"visibleItemCount\": _this5.visibleItemCount,\n \"initialOptions\": item.values\n },\n \"scopedSlots\": {\n option: _this5.$scopedSlots.option\n },\n \"on\": {\n \"change\": function change() {\n _this5.onChange(columnIndex);\n }\n }\n });\n });\n }\n },\n render: function render(h) {\n return h(\"div\", {\n \"class\": bem()\n }, [this.toolbarPosition === 'top' ? this.genToolbar() : h(), this.loading ? h(Loading, {\n \"class\": bem('loading')\n }) : h(), this.slots('columns-top'), this.genColumns(), this.slots('columns-bottom'), this.toolbarPosition === 'bottom' ? this.genToolbar() : h()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { times } from './utils';\nimport { padZero } from '../utils/format/string';\nimport { pickerProps } from '../picker/shared';\nimport Picker from '../picker';\nexport var sharedProps = _extends({}, pickerProps, {\n value: null,\n filter: Function,\n columnsOrder: Array,\n showToolbar: {\n type: Boolean,\n default: true\n },\n formatter: {\n type: Function,\n default: function _default(type, value) {\n return value;\n }\n }\n});\nexport var TimePickerMixin = {\n data: function data() {\n return {\n innerValue: this.formatValue(this.value)\n };\n },\n computed: {\n originColumns: function originColumns() {\n var _this = this;\n\n return this.ranges.map(function (_ref) {\n var type = _ref.type,\n rangeArr = _ref.range;\n var values = times(rangeArr[1] - rangeArr[0] + 1, function (index) {\n var value = padZero(rangeArr[0] + index);\n return value;\n });\n\n if (_this.filter) {\n values = _this.filter(type, values);\n }\n\n return {\n type: type,\n values: values\n };\n });\n },\n columns: function columns() {\n var _this2 = this;\n\n return this.originColumns.map(function (column) {\n return {\n values: column.values.map(function (value) {\n return _this2.formatter(column.type, value);\n })\n };\n });\n }\n },\n watch: {\n columns: 'updateColumnValue',\n innerValue: function innerValue(val, oldVal) {\n if (!oldVal) {\n this.$emit('input', null);\n } else {\n this.$emit('input', val);\n }\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.updateColumnValue();\n this.$nextTick(function () {\n _this3.updateInnerValue();\n });\n },\n methods: {\n getPicker: function getPicker() {\n return this.$refs.picker;\n },\n // https://github.com/vant-ui/vant/issues/10013\n getProxiedPicker: function getProxiedPicker() {\n var _this4 = this;\n\n var picker = this.$refs.picker;\n\n if (picker) {\n var proxy = function proxy(fn) {\n return function () {\n picker[fn].apply(picker, arguments);\n\n _this4.updateInnerValue();\n };\n };\n\n return _extends({}, picker, {\n setValues: proxy('setValues'),\n setIndexes: proxy('setIndexes'),\n setColumnIndex: proxy('setColumnIndex'),\n setColumnValue: proxy('setColumnValue')\n });\n }\n },\n onConfirm: function onConfirm() {\n this.$emit('input', this.innerValue);\n this.$emit('confirm', this.innerValue);\n },\n onCancel: function onCancel() {\n this.$emit('cancel');\n }\n },\n render: function render() {\n var _this5 = this;\n\n var h = arguments[0];\n var props = {};\n Object.keys(pickerProps).forEach(function (key) {\n props[key] = _this5[key];\n });\n return h(Picker, {\n \"ref\": \"picker\",\n \"attrs\": {\n \"columns\": this.columns,\n \"readonly\": this.readonly\n },\n \"scopedSlots\": this.$scopedSlots,\n \"on\": {\n \"change\": this.onChange,\n \"confirm\": this.onConfirm,\n \"cancel\": this.onCancel\n },\n \"props\": _extends({}, props)\n });\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { padZero } from '../utils/format/string';\nimport { range } from '../utils/format/number';\nimport { sharedProps, TimePickerMixin } from './shared';\n\nvar _createNamespace = createNamespace('time-picker'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n mixins: [TimePickerMixin],\n props: _extends({}, sharedProps, {\n minHour: {\n type: [Number, String],\n default: 0\n },\n maxHour: {\n type: [Number, String],\n default: 23\n },\n minMinute: {\n type: [Number, String],\n default: 0\n },\n maxMinute: {\n type: [Number, String],\n default: 59\n }\n }),\n computed: {\n ranges: function ranges() {\n return [{\n type: 'hour',\n range: [+this.minHour, +this.maxHour]\n }, {\n type: 'minute',\n range: [+this.minMinute, +this.maxMinute]\n }];\n }\n },\n watch: {\n filter: 'updateInnerValue',\n minHour: function minHour() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.updateInnerValue();\n });\n },\n maxHour: function maxHour(value) {\n var _this$innerValue$spli = this.innerValue.split(':'),\n hour = _this$innerValue$spli[0],\n minute = _this$innerValue$spli[1];\n\n if (hour >= value) {\n this.innerValue = this.formatValue(value + \":\" + minute);\n this.updateColumnValue();\n } else {\n this.updateInnerValue();\n }\n },\n minMinute: 'updateInnerValue',\n maxMinute: function maxMinute(value) {\n var _this$innerValue$spli2 = this.innerValue.split(':'),\n hour = _this$innerValue$spli2[0],\n minute = _this$innerValue$spli2[1];\n\n if (minute >= value) {\n this.innerValue = this.formatValue(hour + \":\" + value);\n this.updateColumnValue();\n } else {\n this.updateInnerValue();\n }\n },\n value: function value(val) {\n val = this.formatValue(val);\n\n if (val !== this.innerValue) {\n this.innerValue = val;\n this.updateColumnValue();\n }\n }\n },\n methods: {\n formatValue: function formatValue(value) {\n if (!value) {\n value = padZero(this.minHour) + \":\" + padZero(this.minMinute);\n }\n\n var _value$split = value.split(':'),\n hour = _value$split[0],\n minute = _value$split[1];\n\n hour = padZero(range(hour, this.minHour, this.maxHour));\n minute = padZero(range(minute, this.minMinute, this.maxMinute));\n return hour + \":\" + minute;\n },\n updateInnerValue: function updateInnerValue() {\n var _this$getPicker$getIn = this.getPicker().getIndexes(),\n hourIndex = _this$getPicker$getIn[0],\n minuteIndex = _this$getPicker$getIn[1];\n\n var _this$originColumns = this.originColumns,\n hourColumn = _this$originColumns[0],\n minuteColumn = _this$originColumns[1];\n var hour = hourColumn.values[hourIndex] || hourColumn.values[0];\n var minute = minuteColumn.values[minuteIndex] || minuteColumn.values[0];\n this.innerValue = this.formatValue(hour + \":\" + minute);\n this.updateColumnValue();\n },\n onChange: function onChange(picker) {\n var _this2 = this;\n\n this.updateInnerValue();\n this.$nextTick(function () {\n _this2.$nextTick(function () {\n // https://github.com/vant-ui/vant/issues/9775\n _this2.updateInnerValue();\n\n _this2.$emit('change', picker);\n });\n });\n },\n updateColumnValue: function updateColumnValue() {\n var _this3 = this;\n\n var formatter = this.formatter;\n var pair = this.innerValue.split(':');\n var values = [formatter('hour', pair[0]), formatter('minute', pair[1])];\n this.$nextTick(function () {\n _this3.getPicker().setValues(values);\n });\n }\n }\n});","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };","import { isNaN } from './number';\nexport function isDate(val) {\n return Object.prototype.toString.call(val) === '[object Date]' && !isNaN(val.getTime());\n}","import _construct from \"@babel/runtime/helpers/esm/construct\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { isDate } from '../utils/validate/date';\nimport { padZero } from '../utils/format/string';\nimport { getTrueValue, getMonthEndDay } from './utils';\nimport { sharedProps, TimePickerMixin } from './shared';\nvar currentYear = new Date().getFullYear();\n\nvar _createNamespace = createNamespace('date-picker'),\n createComponent = _createNamespace[0];\n\nexport default createComponent({\n mixins: [TimePickerMixin],\n props: _extends({}, sharedProps, {\n type: {\n type: String,\n default: 'datetime'\n },\n minDate: {\n type: Date,\n default: function _default() {\n return new Date(currentYear - 10, 0, 1);\n },\n validator: isDate\n },\n maxDate: {\n type: Date,\n default: function _default() {\n return new Date(currentYear + 10, 11, 31);\n },\n validator: isDate\n }\n }),\n watch: {\n filter: 'updateInnerValue',\n minDate: function minDate() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.updateInnerValue();\n });\n },\n maxDate: function maxDate(value) {\n if (this.innerValue.valueOf() >= value.valueOf()) {\n this.innerValue = value;\n } else {\n this.updateInnerValue();\n }\n },\n value: function value(val) {\n val = this.formatValue(val);\n\n if (val && val.valueOf() !== this.innerValue.valueOf()) {\n this.innerValue = val;\n }\n }\n },\n computed: {\n ranges: function ranges() {\n var _this$getBoundary = this.getBoundary('max', this.innerValue ? this.innerValue : this.minDate),\n maxYear = _this$getBoundary.maxYear,\n maxDate = _this$getBoundary.maxDate,\n maxMonth = _this$getBoundary.maxMonth,\n maxHour = _this$getBoundary.maxHour,\n maxMinute = _this$getBoundary.maxMinute;\n\n var _this$getBoundary2 = this.getBoundary('min', this.innerValue ? this.innerValue : this.minDate),\n minYear = _this$getBoundary2.minYear,\n minDate = _this$getBoundary2.minDate,\n minMonth = _this$getBoundary2.minMonth,\n minHour = _this$getBoundary2.minHour,\n minMinute = _this$getBoundary2.minMinute;\n\n var result = [{\n type: 'year',\n range: [minYear, maxYear]\n }, {\n type: 'month',\n range: [minMonth, maxMonth]\n }, {\n type: 'day',\n range: [minDate, maxDate]\n }, {\n type: 'hour',\n range: [minHour, maxHour]\n }, {\n type: 'minute',\n range: [minMinute, maxMinute]\n }];\n\n switch (this.type) {\n case 'date':\n result = result.slice(0, 3);\n break;\n\n case 'year-month':\n result = result.slice(0, 2);\n break;\n\n case 'month-day':\n result = result.slice(1, 3);\n break;\n\n case 'datehour':\n result = result.slice(0, 4);\n break;\n }\n\n if (this.columnsOrder) {\n var columnsOrder = this.columnsOrder.concat(result.map(function (column) {\n return column.type;\n }));\n result.sort(function (a, b) {\n return columnsOrder.indexOf(a.type) - columnsOrder.indexOf(b.type);\n });\n }\n\n return result;\n }\n },\n methods: {\n formatValue: function formatValue(value) {\n var _this2 = this;\n\n if (!isDate(value)) {\n return null;\n }\n\n var minDate = new Date(this.minDate);\n var maxDate = new Date(this.maxDate);\n var dateMethods = {\n year: 'getFullYear',\n month: 'getMonth',\n day: 'getDate',\n hour: 'getHours',\n minute: 'getMinutes'\n };\n\n if (this.originColumns) {\n var dateColumns = this.originColumns.map(function (_ref, index) {\n var type = _ref.type,\n values = _ref.values;\n var range = _this2.ranges[index].range;\n var minDateVal = minDate[dateMethods[type]]();\n var maxDateVal = maxDate[dateMethods[type]]();\n var min = type === 'month' ? +values[0] - 1 : +values[0];\n var max = type === 'month' ? +values[values.length - 1] - 1 : +values[values.length - 1];\n return {\n type: type,\n values: [minDateVal < range[0] ? Math.max(minDateVal, min) : min || minDateVal, maxDateVal > range[1] ? Math.min(maxDateVal, max) : max || maxDateVal]\n };\n });\n\n if (this.type === 'month-day') {\n var year = (this.innerValue || this.minDate).getFullYear();\n dateColumns.unshift({\n type: 'year',\n values: [year, year]\n });\n }\n\n var dates = Object.keys(dateMethods).map(function (type) {\n var _dateColumns$filter$;\n\n return (_dateColumns$filter$ = dateColumns.filter(function (item) {\n return item.type === type;\n })[0]) == null ? void 0 : _dateColumns$filter$.values;\n }).filter(function (item) {\n return item;\n });\n minDate = _construct(Date, dates.map(function (val) {\n return getTrueValue(val[0]);\n }));\n maxDate = _construct(Date, dates.map(function (val) {\n return getTrueValue(val[1]);\n }));\n }\n\n value = Math.max(value, minDate.getTime());\n value = Math.min(value, maxDate.getTime());\n return new Date(value);\n },\n getBoundary: function getBoundary(type, value) {\n var _ref2;\n\n var boundary = this[type + \"Date\"];\n var year = boundary.getFullYear();\n var month = 1;\n var date = 1;\n var hour = 0;\n var minute = 0;\n\n if (type === 'max') {\n month = 12;\n date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);\n hour = 23;\n minute = 59;\n }\n\n if (value.getFullYear() === year) {\n month = boundary.getMonth() + 1;\n\n if (value.getMonth() + 1 === month) {\n date = boundary.getDate();\n\n if (value.getDate() === date) {\n hour = boundary.getHours();\n\n if (value.getHours() === hour) {\n minute = boundary.getMinutes();\n }\n }\n }\n }\n\n return _ref2 = {}, _ref2[type + \"Year\"] = year, _ref2[type + \"Month\"] = month, _ref2[type + \"Date\"] = date, _ref2[type + \"Hour\"] = hour, _ref2[type + \"Minute\"] = minute, _ref2;\n },\n updateInnerValue: function updateInnerValue() {\n var _this3 = this;\n\n var type = this.type;\n var indexes = this.getPicker().getIndexes();\n\n var getValue = function getValue(type) {\n var index = 0;\n\n _this3.originColumns.forEach(function (column, columnIndex) {\n if (type === column.type) {\n index = columnIndex;\n }\n });\n\n var values = _this3.originColumns[index].values;\n return getTrueValue(values[indexes[index]]);\n };\n\n var year;\n var month;\n var day;\n\n if (type === 'month-day') {\n year = (this.innerValue || this.minDate).getFullYear();\n month = getValue('month');\n day = getValue('day');\n } else {\n year = getValue('year');\n month = getValue('month');\n day = type === 'year-month' ? 1 : getValue('day');\n }\n\n var maxDay = getMonthEndDay(year, month);\n day = day > maxDay ? maxDay : day;\n var hour = 0;\n var minute = 0;\n\n if (type === 'datehour') {\n hour = getValue('hour');\n }\n\n if (type === 'datetime') {\n hour = getValue('hour');\n minute = getValue('minute');\n }\n\n var value = new Date(year, month - 1, day, hour, minute);\n this.innerValue = this.formatValue(value);\n },\n onChange: function onChange(picker) {\n var _this4 = this;\n\n this.updateInnerValue();\n this.$nextTick(function () {\n _this4.$nextTick(function () {\n // https://github.com/vant-ui/vant/issues/9775\n _this4.updateInnerValue();\n\n _this4.$emit('change', picker);\n });\n });\n },\n updateColumnValue: function updateColumnValue() {\n var _this5 = this;\n\n var value = this.innerValue ? this.innerValue : this.minDate;\n var formatter = this.formatter;\n var values = this.originColumns.map(function (column) {\n switch (column.type) {\n case 'year':\n return formatter('year', \"\" + value.getFullYear());\n\n case 'month':\n return formatter('month', padZero(value.getMonth() + 1));\n\n case 'day':\n return formatter('day', padZero(value.getDate()));\n\n case 'hour':\n return formatter('hour', padZero(value.getHours()));\n\n case 'minute':\n return formatter('minute', padZero(value.getMinutes()));\n\n default:\n // no default\n return null;\n }\n });\n this.$nextTick(function () {\n _this5.getPicker().setValues(values);\n });\n }\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport TimePicker from './TimePicker';\nimport DatePicker from './DatePicker';\n\nvar _createNamespace = createNamespace('datetime-picker'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: _extends({}, TimePicker.props, DatePicker.props),\n methods: {\n // @exposed-api\n getPicker: function getPicker() {\n return this.$refs.root.getProxiedPicker();\n }\n },\n render: function render() {\n var h = arguments[0];\n var Component = this.type === 'time' ? TimePicker : DatePicker;\n return h(Component, {\n \"ref\": \"root\",\n \"class\": bem(),\n \"scopedSlots\": this.$scopedSlots,\n \"props\": _extends({}, this.$props),\n \"on\": _extends({}, this.$listeners)\n });\n }\n});","// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { isHidden } from '../utils/dom/style';\nimport { preventDefault } from '../utils/dom/event';\nimport { getScroller, getScrollTop, getRootScrollTop, setRootScrollTop } from '../utils/dom/scroll'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch';\nimport { ParentMixin } from '../mixins/relation';\nimport { BindEventMixin } from '../mixins/bind-event';\n\nfunction genAlphabet() {\n var indexList = [];\n var charCodeOfA = 'A'.charCodeAt(0);\n\n for (var i = 0; i < 26; i++) {\n indexList.push(String.fromCharCode(charCodeOfA + i));\n }\n\n return indexList;\n}\n\nvar _createNamespace = createNamespace('index-bar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [TouchMixin, ParentMixin('vanIndexBar'), BindEventMixin(function (bind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n bind(this.scroller, 'scroll', this.onScroll);\n })],\n props: {\n zIndex: [Number, String],\n highlightColor: String,\n sticky: {\n type: Boolean,\n default: true\n },\n stickyOffsetTop: {\n type: Number,\n default: 0\n },\n indexList: {\n type: Array,\n default: genAlphabet\n }\n },\n data: function data() {\n return {\n activeAnchorIndex: null\n };\n },\n computed: {\n sidebarStyle: function sidebarStyle() {\n if (isDef(this.zIndex)) {\n return {\n zIndex: this.zIndex + 1\n };\n }\n },\n highlightStyle: function highlightStyle() {\n var highlightColor = this.highlightColor;\n\n if (highlightColor) {\n return {\n color: highlightColor\n };\n }\n }\n },\n watch: {\n indexList: function indexList() {\n this.$nextTick(this.onScroll);\n },\n activeAnchorIndex: function activeAnchorIndex(value) {\n if (value) {\n this.$emit('change', value);\n }\n }\n },\n methods: {\n onScroll: function onScroll() {\n var _this = this;\n\n if (isHidden(this.$el)) {\n return;\n }\n\n var scrollTop = getScrollTop(this.scroller);\n var scrollerRect = this.getScrollerRect();\n var rects = this.children.map(function (item) {\n return item.getRect(_this.scroller, scrollerRect);\n });\n var active = this.getActiveAnchorIndex(scrollTop, rects);\n this.activeAnchorIndex = this.indexList[active];\n\n if (this.sticky) {\n this.children.forEach(function (item, index) {\n if (index === active || index === active - 1) {\n var rect = item.$el.getBoundingClientRect();\n item.left = rect.left;\n item.width = rect.width;\n } else {\n item.left = null;\n item.width = null;\n }\n\n if (index === active) {\n item.active = true;\n item.top = Math.max(_this.stickyOffsetTop, rects[index].top - scrollTop) + scrollerRect.top;\n } else if (index === active - 1) {\n var activeItemTop = rects[active].top - scrollTop;\n item.active = activeItemTop > 0;\n item.top = activeItemTop + scrollerRect.top - rects[index].height;\n } else {\n item.active = false;\n }\n });\n }\n },\n getScrollerRect: function getScrollerRect() {\n if (this.scroller.getBoundingClientRect) {\n return this.scroller.getBoundingClientRect();\n }\n\n return {\n top: 0,\n left: 0\n };\n },\n getActiveAnchorIndex: function getActiveAnchorIndex(scrollTop, rects) {\n for (var i = this.children.length - 1; i >= 0; i--) {\n var prevHeight = i > 0 ? rects[i - 1].height : 0;\n var reachTop = this.sticky ? prevHeight + this.stickyOffsetTop : 0;\n\n if (scrollTop + reachTop >= rects[i].top) {\n return i;\n }\n }\n\n return -1;\n },\n onClick: function onClick(event) {\n this.scrollToElement(event.target);\n },\n onTouchMove: function onTouchMove(event) {\n this.touchMove(event);\n\n if (this.direction === 'vertical') {\n preventDefault(event);\n var _event$touches$ = event.touches[0],\n clientX = _event$touches$.clientX,\n clientY = _event$touches$.clientY;\n var target = document.elementFromPoint(clientX, clientY);\n\n if (target) {\n var index = target.dataset.index;\n /* istanbul ignore else */\n\n if (this.touchActiveIndex !== index) {\n this.touchActiveIndex = index;\n this.scrollToElement(target);\n }\n }\n }\n },\n scrollTo: function scrollTo(index) {\n var match = this.children.filter(function (item) {\n return String(item.index) === index;\n });\n\n if (match[0]) {\n match[0].scrollIntoView();\n\n if (this.sticky && this.stickyOffsetTop) {\n setRootScrollTop(getRootScrollTop() - this.stickyOffsetTop);\n }\n\n this.$emit('select', match[0].index);\n }\n },\n scrollToElement: function scrollToElement(element) {\n var index = element.dataset.index;\n this.scrollTo(index);\n },\n onTouchEnd: function onTouchEnd() {\n this.active = null;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var Indexes = this.indexList.map(function (index) {\n var active = index === _this2.activeAnchorIndex;\n return h(\"span\", {\n \"class\": bem('index', {\n active: active\n }),\n \"style\": active ? _this2.highlightStyle : null,\n \"attrs\": {\n \"data-index\": index\n }\n }, [index]);\n });\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"class\": bem('sidebar'),\n \"style\": this.sidebarStyle,\n \"on\": {\n \"click\": this.onClick,\n \"touchstart\": this.touchStart,\n \"touchmove\": this.onTouchMove,\n \"touchend\": this.onTouchEnd,\n \"touchcancel\": this.onTouchEnd\n }\n }, [Indexes]), this.slots('default')]);\n }\n});","import { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\nimport { BORDER_BOTTOM } from '../utils/constant';\nimport { getScrollTop, getRootScrollTop } from '../utils/dom/scroll';\n\nvar _createNamespace = createNamespace('index-anchor'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanIndexBar', {\n indexKey: 'childrenIndex'\n })],\n props: {\n index: [Number, String]\n },\n data: function data() {\n return {\n top: 0,\n left: null,\n rect: {\n top: 0,\n height: 0\n },\n width: null,\n active: false\n };\n },\n computed: {\n sticky: function sticky() {\n return this.active && this.parent.sticky;\n },\n anchorStyle: function anchorStyle() {\n if (this.sticky) {\n return {\n zIndex: \"\" + this.parent.zIndex,\n left: this.left ? this.left + \"px\" : null,\n width: this.width ? this.width + \"px\" : null,\n transform: \"translate3d(0, \" + this.top + \"px, 0)\",\n color: this.parent.highlightColor\n };\n }\n }\n },\n mounted: function mounted() {\n var rect = this.$el.getBoundingClientRect();\n this.rect.height = rect.height;\n },\n methods: {\n scrollIntoView: function scrollIntoView() {\n this.$el.scrollIntoView();\n },\n getRect: function getRect(scroller, scrollerRect) {\n var el = this.$el;\n var elRect = el.getBoundingClientRect();\n this.rect.height = elRect.height;\n\n if (scroller === window || scroller === document.body) {\n this.rect.top = elRect.top + getRootScrollTop();\n } else {\n this.rect.top = elRect.top + getScrollTop(scroller) - scrollerRect.top;\n }\n\n return this.rect;\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n var sticky = this.sticky;\n return h(\"div\", {\n \"style\": {\n height: sticky ? this.rect.height + \"px\" : null\n }\n }, [h(\"div\", {\n \"style\": this.anchorStyle,\n \"class\": [bem({\n sticky: sticky\n }), (_ref = {}, _ref[BORDER_BOTTOM] = sticky, _ref)]\n }, [this.slots('default') || this.index])]);\n }\n});","import { createNamespace } from '../utils';\nimport { BORDER } from '../utils/constant';\nimport { ChildrenMixin } from '../mixins/relation';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('step'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanSteps')],\n computed: {\n status: function status() {\n if (this.index < this.parent.active) {\n return 'finish';\n }\n\n if (this.index === +this.parent.active) {\n return 'process';\n }\n },\n active: function active() {\n return this.status === 'process';\n },\n lineStyle: function lineStyle() {\n var _this$parent = this.parent,\n activeColor = _this$parent.activeColor,\n inactiveColor = _this$parent.inactiveColor,\n center = _this$parent.center,\n direction = _this$parent.direction;\n var style = {\n background: this.status === 'finish' ? activeColor : inactiveColor\n };\n\n if (center && direction === 'vertical') {\n style.top = '50%';\n }\n\n return style;\n },\n circleContainerStyle: function circleContainerStyle() {\n if (this.parent.center && this.parent.direction === 'vertical') {\n return {\n top: '50%'\n };\n }\n },\n titleStyle: function titleStyle() {\n if (this.active) {\n return {\n color: this.parent.activeColor\n };\n }\n\n if (!this.status) {\n return {\n color: this.parent.inactiveColor\n };\n }\n }\n },\n methods: {\n genCircle: function genCircle() {\n var h = this.$createElement;\n var _this$parent2 = this.parent,\n activeIcon = _this$parent2.activeIcon,\n iconPrefix = _this$parent2.iconPrefix,\n activeColor = _this$parent2.activeColor,\n finishIcon = _this$parent2.finishIcon,\n inactiveIcon = _this$parent2.inactiveIcon;\n\n if (this.active) {\n return this.slots('active-icon') || h(Icon, {\n \"class\": bem('icon', 'active'),\n \"attrs\": {\n \"name\": activeIcon,\n \"color\": activeColor,\n \"classPrefix\": iconPrefix\n }\n });\n }\n\n var finishIconSlot = this.slots('finish-icon');\n\n if (this.status === 'finish' && (finishIcon || finishIconSlot)) {\n return finishIconSlot || h(Icon, {\n \"class\": bem('icon', 'finish'),\n \"attrs\": {\n \"name\": finishIcon,\n \"color\": activeColor,\n \"classPrefix\": iconPrefix\n }\n });\n }\n\n var inactiveIconSlot = this.slots('inactive-icon');\n\n if (inactiveIcon || inactiveIconSlot) {\n return inactiveIconSlot || h(Icon, {\n \"class\": bem('icon'),\n \"attrs\": {\n \"name\": inactiveIcon,\n \"classPrefix\": iconPrefix\n }\n });\n }\n\n return h(\"i\", {\n \"class\": bem('circle'),\n \"style\": this.lineStyle\n });\n },\n onClickStep: function onClickStep() {\n this.parent.$emit('click-step', this.index);\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n var status = this.status,\n active = this.active;\n var direction = this.parent.direction;\n return h(\"div\", {\n \"class\": [BORDER, bem([direction, (_ref = {}, _ref[status] = status, _ref)])]\n }, [h(\"div\", {\n \"class\": bem('title', {\n active: active\n }),\n \"style\": this.titleStyle,\n \"on\": {\n \"click\": this.onClickStep\n }\n }, [this.slots()]), h(\"div\", {\n \"class\": bem('circle-container'),\n \"on\": {\n \"click\": this.onClickStep\n },\n \"style\": this.circleContainerStyle\n }, [this.genCircle()]), h(\"div\", {\n \"class\": bem('line'),\n \"style\": this.lineStyle\n })]);\n }\n});","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('steps'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanSteps')],\n props: {\n center: Boolean,\n iconPrefix: String,\n finishIcon: String,\n activeColor: String,\n inactiveIcon: String,\n inactiveColor: String,\n active: {\n type: [Number, String],\n default: 0\n },\n direction: {\n type: String,\n default: 'horizontal'\n },\n activeIcon: {\n type: String,\n default: 'checked'\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem([this.direction])\n }, [h(\"div\", {\n \"class\": bem('items')\n }, [this.slots()])]);\n }\n});","import { createNamespace, isDef } from '../utils';\nimport { PopupMixin } from '../mixins/popup';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('popup'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default 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 (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\": 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(Icon, {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\",\n \"name\": this.closeIcon\n },\n \"class\": bem('close-icon', this.closeIconPosition),\n \"on\": {\n \"click\": this.onClickCloseIcon\n }\n })])]);\n }\n});","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { resetScroll } from '../utils/dom/reset-scroll';\nimport { formatNumber } from '../utils/format/number';\nimport { preventDefault } from '../utils/dom/event';\nimport { getRootScrollTop, setRootScrollTop } from '../utils/dom/scroll';\nimport { isDef, addUnit, isObject, isPromise, isFunction, createNamespace } from '../utils'; // Components\n\nimport Icon from '../icon';\nimport Cell from '../cell';\nimport { cellProps } from '../cell/shared';\n\nvar _createNamespace = createNamespace('field'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n inheritAttrs: false,\n provide: function provide() {\n return {\n vanField: this\n };\n },\n inject: {\n vanForm: {\n default: null\n }\n },\n props: _extends({}, cellProps, {\n name: String,\n rules: Array,\n disabled: {\n type: Boolean,\n default: null\n },\n readonly: {\n type: Boolean,\n default: null\n },\n autosize: [Boolean, Object],\n leftIcon: String,\n rightIcon: String,\n clearable: Boolean,\n formatter: Function,\n maxlength: [Number, String],\n labelWidth: [Number, String],\n labelClass: null,\n labelAlign: String,\n inputAlign: String,\n placeholder: String,\n errorMessage: String,\n errorMessageAlign: String,\n showWordLimit: Boolean,\n value: {\n type: [Number, String],\n default: ''\n },\n type: {\n type: String,\n default: 'text'\n },\n error: {\n type: Boolean,\n default: null\n },\n colon: {\n type: Boolean,\n default: null\n },\n clearTrigger: {\n type: String,\n default: 'focus'\n },\n formatTrigger: {\n type: String,\n default: 'onChange'\n }\n }),\n data: function data() {\n return {\n focused: false,\n validateFailed: false,\n validateMessage: ''\n };\n },\n watch: {\n value: function value() {\n this.updateValue(this.value);\n this.resetValidation();\n this.validateWithTrigger('onChange');\n this.$nextTick(this.adjustSize);\n }\n },\n mounted: function mounted() {\n this.updateValue(this.value, this.formatTrigger);\n this.$nextTick(this.adjustSize);\n\n if (this.vanForm) {\n this.vanForm.addField(this);\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.vanForm) {\n this.vanForm.removeField(this);\n }\n },\n computed: {\n showClear: function showClear() {\n var readonly = this.getProp('readonly');\n\n if (this.clearable && !readonly) {\n var hasValue = isDef(this.value) && this.value !== '';\n var trigger = this.clearTrigger === 'always' || this.clearTrigger === 'focus' && this.focused;\n return hasValue && trigger;\n }\n },\n showError: function showError() {\n if (this.error !== null) {\n return this.error;\n }\n\n if (this.vanForm && this.vanForm.showError && this.validateFailed) {\n return true;\n }\n },\n listeners: function listeners() {\n return _extends({}, this.$listeners, {\n blur: this.onBlur,\n focus: this.onFocus,\n input: this.onInput,\n click: this.onClickInput,\n keypress: this.onKeypress\n });\n },\n labelStyle: function labelStyle() {\n var labelWidth = this.getProp('labelWidth');\n\n if (labelWidth) {\n return {\n width: addUnit(labelWidth)\n };\n }\n },\n formValue: function formValue() {\n if (this.children && (this.$scopedSlots.input || this.$slots.input)) {\n return this.children.value;\n }\n\n return this.value;\n }\n },\n methods: {\n // @exposed-api\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n // @exposed-api\n blur: function blur() {\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n runValidator: function runValidator(value, rule) {\n return new Promise(function (resolve) {\n var returnVal = rule.validator(value, rule);\n\n if (isPromise(returnVal)) {\n return returnVal.then(resolve);\n }\n\n resolve(returnVal);\n });\n },\n isEmptyValue: function isEmptyValue(value) {\n if (Array.isArray(value)) {\n return !value.length;\n }\n\n if (value === 0) {\n return false;\n }\n\n return !value;\n },\n runSyncRule: function runSyncRule(value, rule) {\n if (rule.required && this.isEmptyValue(value)) {\n return false;\n }\n\n if (rule.pattern && !rule.pattern.test(value)) {\n return false;\n }\n\n return true;\n },\n getRuleMessage: function getRuleMessage(value, rule) {\n var message = rule.message;\n\n if (isFunction(message)) {\n return message(value, rule);\n }\n\n return message;\n },\n runRules: function runRules(rules) {\n var _this = this;\n\n return rules.reduce(function (promise, rule) {\n return promise.then(function () {\n if (_this.validateFailed) {\n return;\n }\n\n var value = _this.formValue;\n\n if (rule.formatter) {\n value = rule.formatter(value, rule);\n }\n\n if (!_this.runSyncRule(value, rule)) {\n _this.validateFailed = true;\n _this.validateMessage = _this.getRuleMessage(value, rule);\n return;\n }\n\n if (rule.validator) {\n return _this.runValidator(value, rule).then(function (result) {\n if (result === false) {\n _this.validateFailed = true;\n _this.validateMessage = _this.getRuleMessage(value, rule);\n }\n });\n }\n });\n }, Promise.resolve());\n },\n validate: function validate(rules) {\n var _this2 = this;\n\n if (rules === void 0) {\n rules = this.rules;\n }\n\n return new Promise(function (resolve) {\n if (!rules) {\n resolve();\n }\n\n _this2.resetValidation();\n\n _this2.runRules(rules).then(function () {\n if (_this2.validateFailed) {\n resolve({\n name: _this2.name,\n message: _this2.validateMessage\n });\n } else {\n resolve();\n }\n });\n });\n },\n validateWithTrigger: function validateWithTrigger(trigger) {\n if (this.vanForm && this.rules) {\n var defaultTrigger = this.vanForm.validateTrigger === trigger;\n var rules = this.rules.filter(function (rule) {\n if (rule.trigger) {\n return rule.trigger === trigger;\n }\n\n return defaultTrigger;\n });\n\n if (rules.length) {\n this.validate(rules);\n }\n }\n },\n resetValidation: function resetValidation() {\n if (this.validateFailed) {\n this.validateFailed = false;\n this.validateMessage = '';\n }\n },\n updateValue: function updateValue(value, trigger) {\n if (trigger === void 0) {\n trigger = 'onChange';\n }\n\n value = isDef(value) ? String(value) : ''; // native maxlength have incorrect line-break counting\n // see: https://github.com/vant-ui/vant/issues/5033\n\n var maxlength = this.maxlength;\n\n if (isDef(maxlength) && value.length > maxlength) {\n if (this.value && this.value.length === +maxlength) {\n value = this.value;\n } else {\n value = value.slice(0, maxlength);\n }\n }\n\n if (this.type === 'number' || this.type === 'digit') {\n var isNumber = this.type === 'number';\n value = formatNumber(value, isNumber, isNumber);\n }\n\n if (this.formatter && trigger === this.formatTrigger) {\n value = this.formatter(value);\n }\n\n var input = this.$refs.input;\n\n if (input && value !== input.value) {\n input.value = value;\n }\n\n if (value !== this.value) {\n this.$emit('input', value);\n }\n },\n onInput: function onInput(event) {\n // not update v-model when composing\n if (event.target.composing) {\n return;\n }\n\n this.updateValue(event.target.value);\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n this.$emit('focus', event); // https://github.com/vant-ui/vant/issues/9715\n\n this.$nextTick(this.adjustSize); // readonly not work in legacy mobile safari\n\n /* istanbul ignore if */\n\n if (this.getProp('readonly')) {\n this.blur();\n }\n },\n onBlur: function onBlur(event) {\n if (this.getProp('readonly')) {\n return;\n }\n\n this.focused = false;\n this.updateValue(this.value, 'onBlur');\n this.$emit('blur', event);\n this.validateWithTrigger('onBlur');\n this.$nextTick(this.adjustSize);\n resetScroll();\n },\n onClick: function onClick(event) {\n this.$emit('click', event);\n },\n onClickInput: function onClickInput(event) {\n this.$emit('click-input', event);\n },\n onClickLeftIcon: function onClickLeftIcon(event) {\n this.$emit('click-left-icon', event);\n },\n onClickRightIcon: function onClickRightIcon(event) {\n this.$emit('click-right-icon', event);\n },\n onClear: function onClear(event) {\n preventDefault(event);\n this.$emit('input', '');\n this.$emit('clear', event);\n },\n onKeypress: function onKeypress(event) {\n var ENTER_CODE = 13;\n\n if (event.keyCode === ENTER_CODE) {\n var submitOnEnter = this.getProp('submitOnEnter');\n\n if (!submitOnEnter && this.type !== 'textarea') {\n preventDefault(event);\n } // trigger blur after click keyboard search button\n\n\n if (this.type === 'search') {\n this.blur();\n }\n }\n\n this.$emit('keypress', event);\n },\n adjustSize: function adjustSize() {\n var input = this.$refs.input;\n\n if (!(this.type === 'textarea' && this.autosize) || !input) {\n return;\n }\n\n var scrollTop = getRootScrollTop();\n input.style.height = 'auto';\n var height = input.scrollHeight;\n\n if (isObject(this.autosize)) {\n var _this$autosize = this.autosize,\n maxHeight = _this$autosize.maxHeight,\n minHeight = _this$autosize.minHeight;\n\n if (maxHeight) {\n height = Math.min(height, maxHeight);\n }\n\n if (minHeight) {\n height = Math.max(height, minHeight);\n }\n }\n\n if (height) {\n input.style.height = height + 'px'; // https://github.com/vant-ui/vant/issues/9178\n\n setRootScrollTop(scrollTop);\n }\n },\n genInput: function genInput() {\n var h = this.$createElement;\n var type = this.type;\n var disabled = this.getProp('disabled');\n var readonly = this.getProp('readonly');\n var inputSlot = this.slots('input');\n var inputAlign = this.getProp('inputAlign');\n\n if (inputSlot) {\n return h(\"div\", {\n \"class\": bem('control', [inputAlign, 'custom']),\n \"on\": {\n \"click\": this.onClickInput\n }\n }, [inputSlot]);\n }\n\n var inputProps = {\n ref: 'input',\n class: bem('control', inputAlign),\n domProps: {\n value: this.value\n },\n attrs: _extends({}, this.$attrs, {\n name: this.name,\n disabled: disabled,\n readonly: readonly,\n placeholder: this.placeholder\n }),\n on: this.listeners,\n // add model directive to skip IME composition\n directives: [{\n name: 'model',\n value: this.value\n }]\n };\n\n if (type === 'textarea') {\n return h(\"textarea\", _mergeJSXProps([{}, inputProps]));\n }\n\n var inputType = type;\n var inputMode; // type=\"number\" is weird in iOS, and can't prevent dot in Android\n // so use inputmode to set keyboard in modern browsers\n\n if (type === 'number') {\n inputType = 'text';\n inputMode = 'decimal';\n }\n\n if (type === 'digit') {\n inputType = 'tel';\n inputMode = 'numeric';\n }\n\n return h(\"input\", _mergeJSXProps2([{\n \"attrs\": {\n \"type\": inputType,\n \"inputmode\": inputMode\n }\n }, inputProps]));\n },\n genLeftIcon: function genLeftIcon() {\n var h = this.$createElement;\n var showLeftIcon = this.slots('left-icon') || this.leftIcon;\n\n if (showLeftIcon) {\n return h(\"div\", {\n \"class\": bem('left-icon'),\n \"on\": {\n \"click\": this.onClickLeftIcon\n }\n }, [this.slots('left-icon') || h(Icon, {\n \"attrs\": {\n \"name\": this.leftIcon,\n \"classPrefix\": this.iconPrefix\n }\n })]);\n }\n },\n genRightIcon: function genRightIcon() {\n var h = this.$createElement;\n var slots = this.slots;\n var showRightIcon = slots('right-icon') || this.rightIcon;\n\n if (showRightIcon) {\n return h(\"div\", {\n \"class\": bem('right-icon'),\n \"on\": {\n \"click\": this.onClickRightIcon\n }\n }, [slots('right-icon') || h(Icon, {\n \"attrs\": {\n \"name\": this.rightIcon,\n \"classPrefix\": this.iconPrefix\n }\n })]);\n }\n },\n genWordLimit: function genWordLimit() {\n var h = this.$createElement;\n\n if (this.showWordLimit && this.maxlength) {\n var count = (this.value || '').length;\n return h(\"div\", {\n \"class\": bem('word-limit')\n }, [h(\"span\", {\n \"class\": bem('word-num')\n }, [count]), \"/\", this.maxlength]);\n }\n },\n genMessage: function genMessage() {\n var h = this.$createElement;\n\n if (this.vanForm && this.vanForm.showErrorMessage === false) {\n return;\n }\n\n var message = this.errorMessage || this.validateMessage;\n\n if (message) {\n var errorMessageAlign = this.getProp('errorMessageAlign');\n return h(\"div\", {\n \"class\": bem('error-message', errorMessageAlign)\n }, [message]);\n }\n },\n getProp: function getProp(key) {\n if (isDef(this[key])) {\n return this[key];\n }\n\n if (this.vanForm && isDef(this.vanForm[key])) {\n return this.vanForm[key];\n }\n },\n genLabel: function genLabel() {\n var h = this.$createElement;\n var colon = this.getProp('colon') ? ':' : '';\n\n if (this.slots('label')) {\n return [this.slots('label'), colon];\n }\n\n if (this.label) {\n return h(\"span\", [this.label + colon]);\n }\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n var slots = this.slots;\n var disabled = this.getProp('disabled');\n var labelAlign = this.getProp('labelAlign');\n var scopedSlots = {\n icon: this.genLeftIcon\n };\n var Label = this.genLabel();\n\n if (Label) {\n scopedSlots.title = function () {\n return Label;\n };\n }\n\n var extra = this.slots('extra');\n\n if (extra) {\n scopedSlots.extra = function () {\n return extra;\n };\n }\n\n return h(Cell, {\n \"attrs\": {\n \"icon\": this.leftIcon,\n \"size\": this.size,\n \"center\": this.center,\n \"border\": this.border,\n \"isLink\": this.isLink,\n \"required\": this.required,\n \"clickable\": this.clickable,\n \"titleStyle\": this.labelStyle,\n \"valueClass\": bem('value'),\n \"titleClass\": [bem('label', labelAlign), this.labelClass],\n \"arrowDirection\": this.arrowDirection\n },\n \"scopedSlots\": scopedSlots,\n \"class\": bem((_bem = {\n error: this.showError,\n disabled: disabled\n }, _bem[\"label-\" + labelAlign] = labelAlign, _bem['min-height'] = this.type === 'textarea' && !this.autosize, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('body')\n }, [this.genInput(), this.showClear && h(Icon, {\n \"attrs\": {\n \"name\": \"clear\"\n },\n \"class\": bem('clear'),\n \"on\": {\n \"touchstart\": this.onClear\n }\n }), this.genRightIcon(), slots('button') && h(\"div\", {\n \"class\": bem('button')\n }, [slots('button')])]), this.genWordLimit(), this.genMessage()]);\n }\n});","var prefix = 'van-empty-network-';\nexport default {\n render: function render() {\n var h = arguments[0];\n\n var genStop = function genStop(color, offset, opacity) {\n return h(\"stop\", {\n \"attrs\": {\n \"stop-color\": color,\n \"offset\": offset + \"%\",\n \"stop-opacity\": opacity\n }\n });\n };\n\n return h(\"svg\", {\n \"attrs\": {\n \"viewBox\": \"0 0 160 160\",\n \"xmlns\": \"http://www.w3.org/2000/svg\"\n }\n }, [h(\"defs\", [h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"1\",\n \"x1\": \"64.022%\",\n \"y1\": \"100%\",\n \"x2\": \"64.022%\",\n \"y2\": \"0%\"\n }\n }, [genStop('#FFF', 0, 0.5), genStop('#F2F3F5', 100)]), h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"2\",\n \"x1\": \"50%\",\n \"y1\": \"0%\",\n \"x2\": \"50%\",\n \"y2\": \"84.459%\"\n }\n }, [genStop('#EBEDF0', 0), genStop('#DCDEE0', 100, 0)]), h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"3\",\n \"x1\": \"100%\",\n \"y1\": \"0%\",\n \"x2\": \"100%\",\n \"y2\": \"100%\"\n }\n }, [genStop('#EAEDF0', 0), genStop('#DCDEE0', 100)]), h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"4\",\n \"x1\": \"100%\",\n \"y1\": \"100%\",\n \"x2\": \"100%\",\n \"y2\": \"0%\"\n }\n }, [genStop('#EAEDF0', 0), genStop('#DCDEE0', 100)]), h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"5\",\n \"x1\": \"0%\",\n \"y1\": \"43.982%\",\n \"x2\": \"100%\",\n \"y2\": \"54.703%\"\n }\n }, [genStop('#EAEDF0', 0), genStop('#DCDEE0', 100)]), h(\"linearGradient\", {\n \"attrs\": {\n \"id\": prefix + \"6\",\n \"x1\": \"94.535%\",\n \"y1\": \"43.837%\",\n \"x2\": \"5.465%\",\n \"y2\": \"54.948%\"\n }\n }, [genStop('#EAEDF0', 0), genStop('#DCDEE0', 100)]), h(\"radialGradient\", {\n \"attrs\": {\n \"id\": prefix + \"7\",\n \"cx\": \"50%\",\n \"cy\": \"0%\",\n \"fx\": \"50%\",\n \"fy\": \"0%\",\n \"r\": \"100%\",\n \"gradientTransform\": \"matrix(0 1 -.54835 0 .5 -.5)\"\n }\n }, [genStop('#EBEDF0', 0), genStop('#FFF', 100, 0)])]), h(\"g\", {\n \"attrs\": {\n \"fill\": \"none\",\n \"fill-rule\": \"evenodd\"\n }\n }, [h(\"g\", {\n \"attrs\": {\n \"opacity\": \".8\"\n }\n }, [h(\"path\", {\n \"attrs\": {\n \"d\": \"M0 124V46h20v20h14v58H0z\",\n \"fill\": \"url(#\" + prefix + \"1)\",\n \"transform\": \"matrix(-1 0 0 1 36 7)\"\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": \"M121 8h22.231v14H152v77.37h-31V8z\",\n \"fill\": \"url(#\" + prefix + \"1)\",\n \"transform\": \"translate(2 7)\"\n }\n })]), h(\"path\", {\n \"attrs\": {\n \"fill\": \"url(#\" + prefix + \"7)\",\n \"d\": \"M0 139h160v21H0z\"\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": \"M37 18a7 7 0 013 13.326v26.742c0 1.23-.997 2.227-2.227 2.227h-1.546A2.227 2.227 0 0134 58.068V31.326A7 7 0 0137 18z\",\n \"fill\": \"url(#\" + prefix + \"2)\",\n \"fill-rule\": \"nonzero\",\n \"transform\": \"translate(43 36)\"\n }\n }), h(\"g\", {\n \"attrs\": {\n \"opacity\": \".6\",\n \"stroke-linecap\": \"round\",\n \"stroke-width\": \"7\"\n }\n }, [h(\"path\", {\n \"attrs\": {\n \"d\": \"M20.875 11.136a18.868 18.868 0 00-5.284 13.121c0 5.094 2.012 9.718 5.284 13.12\",\n \"stroke\": \"url(#\" + prefix + \"3)\",\n \"transform\": \"translate(43 36)\"\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": \"M9.849 0C3.756 6.225 0 14.747 0 24.146c0 9.398 3.756 17.92 9.849 24.145\",\n \"stroke\": \"url(#\" + prefix + \"3)\",\n \"transform\": \"translate(43 36)\"\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": \"M57.625 11.136a18.868 18.868 0 00-5.284 13.121c0 5.094 2.012 9.718 5.284 13.12\",\n \"stroke\": \"url(#\" + prefix + \"4)\",\n \"transform\": \"rotate(-180 76.483 42.257)\"\n }\n }), h(\"path\", {\n \"attrs\": {\n \"d\": \"M73.216 0c-6.093 6.225-9.849 14.747-9.849 24.146 0 9.398 3.756 17.92 9.849 24.145\",\n \"stroke\": \"url(#\" + prefix + \"4)\",\n \"transform\": \"rotate(-180 89.791 42.146)\"\n }\n })]), h(\"g\", {\n \"attrs\": {\n \"transform\": \"translate(31 105)\",\n \"fill-rule\": \"nonzero\"\n }\n }, [h(\"rect\", {\n \"attrs\": {\n \"fill\": \"url(#\" + prefix + \"5)\",\n \"width\": \"98\",\n \"height\": \"34\",\n \"rx\": \"2\"\n }\n }), h(\"rect\", {\n \"attrs\": {\n \"fill\": \"#FFF\",\n \"x\": \"9\",\n \"y\": \"8\",\n \"width\": \"80\",\n \"height\": \"18\",\n \"rx\": \"1.114\"\n }\n }), h(\"rect\", {\n \"attrs\": {\n \"fill\": \"url(#\" + prefix + \"6)\",\n \"x\": \"15\",\n \"y\": \"12\",\n \"width\": \"18\",\n \"height\": \"6\",\n \"rx\": \"1.114\"\n }\n })])])]);\n }\n};","import { addUnit, createNamespace } from '../utils';\nimport Network from './Network';\n\nvar _createNamespace = createNamespace('empty'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar PRESETS = ['error', 'search', 'default'];\nexport default createComponent({\n props: {\n imageSize: [Number, String],\n description: String,\n image: {\n type: String,\n default: 'default'\n }\n },\n methods: {\n genImageContent: function genImageContent() {\n var h = this.$createElement;\n var slots = this.slots('image');\n\n if (slots) {\n return slots;\n }\n\n if (this.image === 'network') {\n return h(Network);\n }\n\n var image = this.image;\n\n if (PRESETS.indexOf(image) !== -1) {\n image = \"https://img01.yzcdn.cn/vant/empty-image-\" + image + \".png\";\n }\n\n return h(\"img\", {\n \"attrs\": {\n \"src\": image\n }\n });\n },\n genImage: function genImage() {\n var h = this.$createElement;\n var imageStyle = {\n width: addUnit(this.imageSize),\n height: addUnit(this.imageSize)\n };\n return h(\"div\", {\n \"class\": bem('image'),\n \"style\": imageStyle\n }, [this.genImageContent()]);\n },\n genDescription: function genDescription() {\n var h = this.$createElement;\n var description = this.slots('description') || this.description;\n\n if (description) {\n return h(\"p\", {\n \"class\": bem('description')\n }, [description]);\n }\n },\n genBottom: function genBottom() {\n var h = this.$createElement;\n var slot = this.slots();\n\n if (slot) {\n return h(\"div\", {\n \"class\": bem('bottom')\n }, [slot]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.genImage(), this.genDescription(), this.genBottom()]);\n }\n});","import { createNamespace, isDef } from '../utils';\nimport { doubleRaf, raf } from '../utils/dom/raf';\nimport { BindEventMixin } from '../mixins/bind-event';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('notice-bar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind) {\n // fix cache issues with forwards and back history in safari\n // see: https://guwii.com/cache-issues-with-forwards-and-back-history-in-safari/\n bind(window, 'pageshow', this.reset);\n })],\n inject: {\n vanPopup: {\n default: null\n }\n },\n props: {\n text: String,\n mode: String,\n color: String,\n leftIcon: String,\n wrapable: Boolean,\n background: String,\n scrollable: {\n type: Boolean,\n default: null\n },\n delay: {\n type: [Number, String],\n default: 1\n },\n speed: {\n type: [Number, String],\n default: 60\n }\n },\n data: function data() {\n return {\n show: true,\n offset: 0,\n duration: 0,\n wrapWidth: 0,\n contentWidth: 0\n };\n },\n watch: {\n scrollable: 'reset',\n text: {\n handler: 'reset',\n immediate: true\n }\n },\n created: function created() {\n // https://github.com/vant-ui/vant/issues/8634\n if (this.vanPopup) {\n this.vanPopup.onReopen(this.reset);\n }\n },\n activated: function activated() {\n this.reset();\n },\n methods: {\n onClickIcon: function onClickIcon(event) {\n if (this.mode === 'closeable') {\n this.show = false;\n this.$emit('close', event);\n }\n },\n onTransitionEnd: function onTransitionEnd() {\n var _this = this;\n\n this.offset = this.wrapWidth;\n this.duration = 0; // wait for Vue to render offset\n // using nextTick won't work in iOS14\n\n raf(function () {\n // use double raf to ensure animation can start\n doubleRaf(function () {\n _this.offset = -_this.contentWidth;\n _this.duration = (_this.contentWidth + _this.wrapWidth) / _this.speed;\n\n _this.$emit('replay');\n });\n });\n },\n // not an exposed-api, but may used by some users\n start: function start() {\n this.reset();\n },\n // @exposed-api\n reset: function reset() {\n var _this2 = this;\n\n var delay = isDef(this.delay) ? this.delay * 1000 : 0;\n this.offset = 0;\n this.duration = 0;\n this.wrapWidth = 0;\n this.contentWidth = 0;\n clearTimeout(this.startTimer);\n this.startTimer = setTimeout(function () {\n var _this2$$refs = _this2.$refs,\n wrap = _this2$$refs.wrap,\n content = _this2$$refs.content;\n\n if (!wrap || !content || _this2.scrollable === false) {\n return;\n }\n\n var wrapWidth = wrap.getBoundingClientRect().width;\n var contentWidth = content.getBoundingClientRect().width;\n\n if (_this2.scrollable || contentWidth > wrapWidth) {\n doubleRaf(function () {\n _this2.offset = -contentWidth;\n _this2.duration = contentWidth / _this2.speed;\n _this2.wrapWidth = wrapWidth;\n _this2.contentWidth = contentWidth;\n });\n }\n }, delay);\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n var slots = this.slots,\n mode = this.mode,\n leftIcon = this.leftIcon,\n onClickIcon = this.onClickIcon;\n var barStyle = {\n color: this.color,\n background: this.background\n };\n var contentStyle = {\n transform: this.offset ? \"translateX(\" + this.offset + \"px)\" : '',\n transitionDuration: this.duration + 's'\n };\n\n function LeftIcon() {\n var slot = slots('left-icon');\n\n if (slot) {\n return slot;\n }\n\n if (leftIcon) {\n return h(Icon, {\n \"class\": bem('left-icon'),\n \"attrs\": {\n \"name\": leftIcon\n }\n });\n }\n }\n\n function RightIcon() {\n var slot = slots('right-icon');\n\n if (slot) {\n return slot;\n }\n\n var iconName;\n\n if (mode === 'closeable') {\n iconName = 'cross';\n } else if (mode === 'link') {\n iconName = 'arrow';\n }\n\n if (iconName) {\n return h(Icon, {\n \"class\": bem('right-icon'),\n \"attrs\": {\n \"name\": iconName\n },\n \"on\": {\n \"click\": onClickIcon\n }\n });\n }\n }\n\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"alert\"\n },\n \"directives\": [{\n name: \"show\",\n value: this.show\n }],\n \"class\": bem({\n wrapable: this.wrapable\n }),\n \"style\": barStyle,\n \"on\": {\n \"click\": function click(event) {\n _this3.$emit('click', event);\n }\n }\n }, [LeftIcon(), h(\"div\", {\n \"ref\": \"wrap\",\n \"class\": bem('wrap'),\n \"attrs\": {\n \"role\": \"marquee\"\n }\n }, [h(\"div\", {\n \"ref\": \"content\",\n \"class\": [bem('content'), {\n 'van-ellipsis': this.scrollable === false && !this.wrapable\n }],\n \"style\": contentStyle,\n \"on\": {\n \"transitionend\": this.onTransitionEnd\n }\n }, [this.slots() || this.text])]), RightIcon()]);\n }\n});","import { createNamespace, addUnit } from '../utils';\nimport { BORDER_TOP } from '../utils/constant';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('grid'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanGrid')],\n props: {\n square: Boolean,\n gutter: [Number, String],\n iconSize: [Number, String],\n direction: String,\n clickable: Boolean,\n columnNum: {\n type: [Number, String],\n default: 4\n },\n center: {\n type: Boolean,\n default: true\n },\n border: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n style: function style() {\n var gutter = this.gutter;\n\n if (gutter) {\n return {\n paddingLeft: addUnit(gutter)\n };\n }\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n return h(\"div\", {\n \"style\": this.style,\n \"class\": [bem(), (_ref = {}, _ref[BORDER_TOP] = this.border && !this.gutter, _ref)]\n }, [this.slots()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { BORDER } from '../utils/constant';\nimport { route, routeProps } from '../utils/router'; // Mixins\n\nimport { ChildrenMixin } from '../mixins/relation'; // Components\n\nimport Info from '../info';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('grid-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanGrid')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n text: String,\n icon: String,\n iconPrefix: String,\n // @deprecated\n info: [Number, String],\n badge: [Number, String]\n }),\n computed: {\n style: function style() {\n var _this$parent = this.parent,\n square = _this$parent.square,\n gutter = _this$parent.gutter,\n columnNum = _this$parent.columnNum;\n var percent = 100 / columnNum + \"%\";\n var style = {\n flexBasis: percent\n };\n\n if (square) {\n style.paddingTop = percent;\n } else if (gutter) {\n var gutterValue = addUnit(gutter);\n style.paddingRight = gutterValue;\n\n if (this.index >= columnNum) {\n style.marginTop = gutterValue;\n }\n }\n\n return style;\n },\n contentStyle: function contentStyle() {\n var _this$parent2 = this.parent,\n square = _this$parent2.square,\n gutter = _this$parent2.gutter;\n\n if (square && gutter) {\n var gutterValue = addUnit(gutter);\n return {\n right: gutterValue,\n bottom: gutterValue,\n height: 'auto'\n };\n }\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n route(this.$router, this);\n },\n genIcon: function genIcon() {\n var _this$badge;\n\n var h = this.$createElement;\n var iconSlot = this.slots('icon');\n var info = (_this$badge = this.badge) != null ? _this$badge : this.info;\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] GridItem: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n if (iconSlot) {\n return h(\"div\", {\n \"class\": bem('icon-wrapper')\n }, [iconSlot, h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": info\n }\n })]);\n }\n\n if (this.icon) {\n return h(Icon, {\n \"attrs\": {\n \"name\": this.icon,\n \"dot\": this.dot,\n \"badge\": info,\n \"size\": this.parent.iconSize,\n \"classPrefix\": this.iconPrefix\n },\n \"class\": bem('icon')\n });\n }\n },\n getText: function getText() {\n var h = this.$createElement;\n var textSlot = this.slots('text');\n\n if (textSlot) {\n return textSlot;\n }\n\n if (this.text) {\n return h(\"span\", {\n \"class\": bem('text')\n }, [this.text]);\n }\n },\n genContent: function genContent() {\n var slot = this.slots();\n\n if (slot) {\n return slot;\n }\n\n return [this.genIcon(), this.getText()];\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n var _this$parent3 = this.parent,\n center = _this$parent3.center,\n border = _this$parent3.border,\n square = _this$parent3.square,\n gutter = _this$parent3.gutter,\n direction = _this$parent3.direction,\n clickable = _this$parent3.clickable;\n return h(\"div\", {\n \"class\": [bem({\n square: square\n })],\n \"style\": this.style\n }, [h(\"div\", {\n \"style\": this.contentStyle,\n \"attrs\": {\n \"role\": clickable ? 'button' : null,\n \"tabindex\": clickable ? 0 : null\n },\n \"class\": [bem('content', [direction, {\n center: center,\n square: square,\n clickable: clickable,\n surround: border && gutter\n }]), (_ref = {}, _ref[BORDER] = border, _ref)],\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genContent()])]);\n }\n});","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit, emit } from '../utils/functional';\nimport { preventDefault } from '../utils/dom/event'; // Components\n\nimport Field from '../field'; // Types\n\nvar _createNamespace = createNamespace('search'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction Search(h, props, slots, ctx) {\n function Label() {\n if (slots.label || props.label) {\n return h(\"div\", {\n \"class\": bem('label')\n }, [slots.label ? slots.label() : props.label]);\n }\n }\n\n function Action() {\n if (!props.showAction) {\n return;\n }\n\n function onCancel() {\n if (slots.action) {\n return;\n }\n\n emit(ctx, 'input', '');\n emit(ctx, 'cancel');\n }\n\n return h(\"div\", {\n \"class\": bem('action'),\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\"\n },\n \"on\": {\n \"click\": onCancel\n }\n }, [slots.action ? slots.action() : props.actionText || t('cancel')]);\n }\n\n var fieldData = {\n attrs: ctx.data.attrs,\n on: _extends({}, ctx.listeners, {\n keypress: function keypress(event) {\n // press enter\n if (event.keyCode === 13) {\n preventDefault(event);\n emit(ctx, 'search', props.value);\n }\n\n emit(ctx, 'keypress', event);\n }\n })\n };\n var inheritData = inherit(ctx);\n inheritData.attrs = undefined;\n return h(\"div\", _mergeJSXProps2([{\n \"class\": bem({\n 'show-action': props.showAction\n }),\n \"style\": {\n background: props.background\n }\n }, inheritData]), [slots.left == null ? void 0 : slots.left(), h(\"div\", {\n \"class\": bem('content', props.shape)\n }, [Label(), h(Field, _mergeJSXProps([{\n \"attrs\": {\n \"type\": \"search\",\n \"border\": false,\n \"value\": props.value,\n \"leftIcon\": props.leftIcon,\n \"rightIcon\": props.rightIcon,\n \"clearable\": props.clearable,\n \"clearTrigger\": props.clearTrigger\n },\n \"scopedSlots\": {\n 'left-icon': slots['left-icon'],\n 'right-icon': slots['right-icon']\n }\n }, fieldData]))]), Action()]);\n}\n\nSearch.props = {\n value: String,\n label: String,\n rightIcon: String,\n actionText: String,\n background: String,\n showAction: Boolean,\n clearTrigger: String,\n shape: {\n type: String,\n default: 'square'\n },\n clearable: {\n type: Boolean,\n default: true\n },\n leftIcon: {\n type: String,\n default: 'search'\n }\n};\nexport default createComponent(Search);","// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getWindow.js\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n if (node.toString() !== \"[object Window]\") {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n return node;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\nfunction isShadowRoot(node) {\n if (typeof ShadowRoot === \"undefined\") {\n return false;\n }\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/math.js\nvar round = Math.round;\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/userAgent.js\nfunction getUAString() {\n var uaData = navigator.userAgentData;\n if (uaData != null && uaData.brands) {\n return uaData.brands.map(function(item) {\n return item.brand + \"/\" + item.version;\n }).join(\" \");\n }\n return navigator.userAgent;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js\nfunction isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport;\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width,\n height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x,\n y\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\nfunction getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft,\n scrollTop\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js\nfunction getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js\nfunction getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\nfunction getNodeName(element) {\n return element ? (element.nodeName || \"\").toLowerCase() : null;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\nfunction getDocumentElement(element) {\n return ((isElement(element) ? element.ownerDocument : element.document) || window.document).documentElement;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\nfunction getWindowScrollBarX(element) {\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\nfunction isScrollParent(element) {\n var _getComputedStyle = getComputedStyle(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n}\nfunction getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\nfunction getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element);\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width,\n height\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\nfunction getParentNode(element) {\n if (getNodeName(element) === \"html\") {\n return element;\n }\n return element.assignedSlot || element.parentNode || (isShadowRoot(element) ? element.host : null) || getDocumentElement(element);\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js\nfunction getScrollParent(node) {\n if ([\"html\", \"body\", \"#document\"].indexOf(getNodeName(node)) >= 0) {\n return node.ownerDocument.body;\n }\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n return getScrollParent(getParentNode(node));\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js\nfunction listScrollParents(element, list) {\n var _element$ownerDocumen;\n if (list === void 0) {\n list = [];\n }\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : updatedList.concat(listScrollParents(getParentNode(target)));\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js\nfunction isTableElement(element) {\n return [\"table\", \"td\", \"th\"].indexOf(getNodeName(element)) >= 0;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === \"fixed\") {\n return null;\n }\n return element.offsetParent;\n}\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n if (isIE && isHTMLElement(element)) {\n var elementCss = getComputedStyle(element);\n if (elementCss.position === \"fixed\") {\n return null;\n }\n }\n var currentNode = getParentNode(element);\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n while (isHTMLElement(currentNode) && [\"html\", \"body\"].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode);\n if (css.transform !== \"none\" || css.perspective !== \"none\" || css.contain === \"paint\" || [\"transform\", \"perspective\"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === \"filter\" || isFirefox && css.filter && css.filter !== \"none\") {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n return null;\n}\nfunction getOffsetParent(element) {\n var window2 = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === \"static\") {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n if (offsetParent && (getNodeName(offsetParent) === \"html\" || getNodeName(offsetParent) === \"body\" && getComputedStyle(offsetParent).position === \"static\")) {\n return window2;\n }\n return offsetParent || getContainingBlock(element) || window2;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/enums.js\nvar top = \"top\";\nvar bottom = \"bottom\";\nvar right = \"right\";\nvar left = \"left\";\nvar auto = \"auto\";\nvar basePlacements = [top, bottom, right, left];\nvar start = \"start\";\nvar end = \"end\";\nvar placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nvar beforeRead = \"beforeRead\";\nvar read = \"read\";\nvar afterRead = \"afterRead\";\nvar beforeMain = \"beforeMain\";\nvar main = \"main\";\nvar afterMain = \"afterMain\";\nvar beforeWrite = \"beforeWrite\";\nvar write = \"write\";\nvar afterWrite = \"afterWrite\";\nvar modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/orderModifiers.js\nfunction order(modifiers) {\n var map = /* @__PURE__ */ new Map();\n var visited = /* @__PURE__ */ new Set();\n var result = [];\n modifiers.forEach(function(modifier) {\n map.set(modifier.name, modifier);\n });\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function(dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n modifiers.forEach(function(modifier) {\n if (!visited.has(modifier.name)) {\n sort(modifier);\n }\n });\n return result;\n}\nfunction orderModifiers(modifiers) {\n var orderedModifiers = order(modifiers);\n return modifierPhases.reduce(function(acc, phase) {\n return acc.concat(orderedModifiers.filter(function(modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/debounce.js\nfunction debounce(fn2) {\n var pending;\n return function() {\n if (!pending) {\n pending = new Promise(function(resolve) {\n Promise.resolve().then(function() {\n pending = void 0;\n resolve(fn2());\n });\n });\n }\n return pending;\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/format.js\nfunction format(str) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return [].concat(args).reduce(function(p, c) {\n return p.replace(/%s/, c);\n }, str);\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/validateModifiers.js\nvar INVALID_MODIFIER_ERROR = 'Popper: modifier \"%s\" provided an invalid %s property, expected %s but got %s';\nvar MISSING_DEPENDENCY_ERROR = 'Popper: modifier \"%s\" requires \"%s\", but \"%s\" modifier is not available';\nvar VALID_PROPERTIES = [\"name\", \"enabled\", \"phase\", \"fn\", \"effect\", \"requires\", \"options\"];\nfunction validateModifiers(modifiers) {\n modifiers.forEach(function(modifier) {\n [].concat(Object.keys(modifier), VALID_PROPERTIES).filter(function(value, index, self) {\n return self.indexOf(value) === index;\n }).forEach(function(key) {\n switch (key) {\n case \"name\":\n if (typeof modifier.name !== \"string\") {\n console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '\"name\"', '\"string\"', '\"' + String(modifier.name) + '\"'));\n }\n break;\n case \"enabled\":\n if (typeof modifier.enabled !== \"boolean\") {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"enabled\"', '\"boolean\"', '\"' + String(modifier.enabled) + '\"'));\n }\n break;\n case \"phase\":\n if (modifierPhases.indexOf(modifier.phase) < 0) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"phase\"', \"either \" + modifierPhases.join(\", \"), '\"' + String(modifier.phase) + '\"'));\n }\n break;\n case \"fn\":\n if (typeof modifier.fn !== \"function\") {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"fn\"', '\"function\"', '\"' + String(modifier.fn) + '\"'));\n }\n break;\n case \"effect\":\n if (modifier.effect != null && typeof modifier.effect !== \"function\") {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"effect\"', '\"function\"', '\"' + String(modifier.fn) + '\"'));\n }\n break;\n case \"requires\":\n if (modifier.requires != null && !Array.isArray(modifier.requires)) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requires\"', '\"array\"', '\"' + String(modifier.requires) + '\"'));\n }\n break;\n case \"requiresIfExists\":\n if (!Array.isArray(modifier.requiresIfExists)) {\n console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '\"requiresIfExists\"', '\"array\"', '\"' + String(modifier.requiresIfExists) + '\"'));\n }\n break;\n case \"options\":\n case \"data\":\n break;\n default:\n console.error('PopperJS: an invalid property has been provided to the \"' + modifier.name + '\" modifier, valid properties are ' + VALID_PROPERTIES.map(function(s) {\n return '\"' + s + '\"';\n }).join(\", \") + '; but \"' + key + '\" was provided.');\n }\n modifier.requires && modifier.requires.forEach(function(requirement) {\n if (modifiers.find(function(mod) {\n return mod.name === requirement;\n }) == null) {\n console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));\n }\n });\n });\n });\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/uniqueBy.js\nfunction uniqueBy(arr, fn2) {\n var identifiers = /* @__PURE__ */ new Set();\n return arr.filter(function(item) {\n var identifier = fn2(item);\n if (!identifiers.has(identifier)) {\n identifiers.add(identifier);\n return true;\n }\n });\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/getBasePlacement.js\nfunction getBasePlacement(placement) {\n return placement.split(\"-\")[0];\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/mergeByName.js\nfunction mergeByName(modifiers) {\n var merged = modifiers.reduce(function(merged2, current) {\n var existing = merged2[current.name];\n merged2[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged2;\n }, {});\n return Object.keys(merged).map(function(key) {\n return merged[key];\n });\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/getVariation.js\nfunction getVariation(placement) {\n return placement.split(\"-\")[1];\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js\nfunction getMainAxisFromPlacement(placement) {\n return [\"top\", \"bottom\"].indexOf(placement) >= 0 ? \"x\" : \"y\";\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/utils/computeOffsets.js\nfunction computeOffsets(_ref) {\n var reference = _ref.reference, element = _ref.element, placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n if (mainAxis != null) {\n var len = mainAxis === \"y\" ? \"height\" : \"width\";\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n default:\n }\n }\n return offsets;\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/createPopper.js\nvar INVALID_ELEMENT_ERROR = \"Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.\";\nvar INFINITE_LOOP_ERROR = \"Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.\";\nvar DEFAULT_OPTIONS = {\n placement: \"bottom\",\n modifiers: [],\n strategy: \"absolute\"\n};\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return !args.some(function(element) {\n return !(element && typeof element.getBoundingClientRect === \"function\");\n });\n}\nfunction popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper2(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n var state = {\n placement: \"bottom\",\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference,\n popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state,\n setOptions: function setOptions(setOptionsAction) {\n var options2 = typeof setOptionsAction === \"function\" ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options2);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n };\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers)));\n state.orderedModifiers = orderedModifiers.filter(function(m) {\n return m.enabled;\n });\n if (true) {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function(_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function(_ref2) {\n var name = _ref2.name;\n return name === \"flip\";\n });\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', \"present and enabled to work.\"].join(\" \"));\n }\n }\n var _getComputedStyle = getComputedStyle(popper), marginTop = _getComputedStyle.marginTop, marginRight = _getComputedStyle.marginRight, marginBottom = _getComputedStyle.marginBottom, marginLeft = _getComputedStyle.marginLeft;\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function(margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', \"between the popper and its reference element or boundary.\", \"To replicate margin, use the `offset` modifier, as well as\", \"the `padding` option in the `preventOverflow` and `flip`\", \"modifiers.\"].join(\" \"));\n }\n }\n runModifierEffects();\n return instance.update();\n },\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n var _state$elements = state.elements, reference2 = _state$elements.reference, popper2 = _state$elements.popper;\n if (!areValidElements(reference2, popper2)) {\n if (true) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return;\n }\n state.rects = {\n reference: getCompositeRect(reference2, getOffsetParent(popper2), state.options.strategy === \"fixed\"),\n popper: getLayoutRect(popper2)\n };\n state.reset = false;\n state.placement = state.options.placement;\n state.orderedModifiers.forEach(function(modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (true) {\n __debug_loops__ += 1;\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name;\n if (typeof fn2 === \"function\") {\n state = fn2({\n state,\n options: _options,\n name,\n instance\n }) || state;\n }\n }\n },\n update: debounce(function() {\n return new Promise(function(resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n if (!areValidElements(reference, popper)) {\n if (true) {\n console.error(INVALID_ELEMENT_ERROR);\n }\n return instance;\n }\n instance.setOptions(options).then(function(state2) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state2);\n }\n });\n function runModifierEffects() {\n state.orderedModifiers.forEach(function(_ref3) {\n var name = _ref3.name, _ref3$options = _ref3.options, options2 = _ref3$options === void 0 ? {} : _ref3$options, effect3 = _ref3.effect;\n if (typeof effect3 === \"function\") {\n var cleanupFn = effect3({\n state,\n name,\n instance,\n options: options2\n });\n var noopFn = function noopFn2() {\n };\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function(fn2) {\n return fn2();\n });\n effectCleanupFns = [];\n }\n return instance;\n };\n}\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/modifiers/eventListeners.js\nvar passive = {\n passive: true\n};\nfunction effect(_ref) {\n var state = _ref.state, instance = _ref.instance, options = _ref.options;\n var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize;\n var window2 = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n if (scroll) {\n scrollParents.forEach(function(scrollParent) {\n scrollParent.addEventListener(\"scroll\", instance.update, passive);\n });\n }\n if (resize) {\n window2.addEventListener(\"resize\", instance.update, passive);\n }\n return function() {\n if (scroll) {\n scrollParents.forEach(function(scrollParent) {\n scrollParent.removeEventListener(\"scroll\", instance.update, passive);\n });\n }\n if (resize) {\n window2.removeEventListener(\"resize\", instance.update, passive);\n }\n };\n}\nvar eventListeners_default = {\n name: \"eventListeners\",\n enabled: true,\n phase: \"write\",\n fn: function fn() {\n },\n effect,\n data: {}\n};\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\nfunction popperOffsets(_ref) {\n var state = _ref.state, name = _ref.name;\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: \"absolute\",\n placement: state.placement\n });\n}\nvar popperOffsets_default = {\n name: \"popperOffsets\",\n enabled: true,\n phase: \"read\",\n fn: popperOffsets,\n data: {}\n};\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/modifiers/computeStyles.js\nvar unsetSides = {\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\"\n};\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x, y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\nfunction mapToStyles(_ref2) {\n var _Object$assign2;\n var popper = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y;\n var _ref3 = typeof roundOffsets === \"function\" ? roundOffsets({\n x,\n y\n }) : {\n x,\n y\n };\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty(\"x\");\n var hasY = offsets.hasOwnProperty(\"y\");\n var sideX = left;\n var sideY = top;\n var win = window;\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = \"clientHeight\";\n var widthProp = \"clientWidth\";\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n if (getComputedStyle(offsetParent).position !== \"static\" && position === \"absolute\") {\n heightProp = \"scrollHeight\";\n widthProp = \"scrollWidth\";\n }\n }\n offsetParent = offsetParent;\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n var commonStyles = Object.assign({\n position\n }, adaptive && unsetSides);\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x,\n y\n }) : {\n x,\n y\n };\n x = _ref4.x;\n y = _ref4.y;\n if (gpuAcceleration) {\n var _Object$assign;\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? \"0\" : \"\", _Object$assign[sideX] = hasX ? \"0\" : \"\", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : \"\", _Object$assign2[sideX] = hasX ? x + \"px\" : \"\", _Object$assign2.transform = \"\", _Object$assign2));\n}\nfunction computeStyles(_ref5) {\n var state = _ref5.state, options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n if (true) {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || \"\";\n if (adaptive && [\"transform\", \"top\", \"right\", \"bottom\", \"left\"].some(function(property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn([\"Popper: Detected CSS transitions on at least one of the following\", 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', \"\\n\\n\", 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', \"for smooth transitions, or remove these properties from the CSS\", \"transition declaration on the popper element if only transitioning\", \"opacity or background-color for example.\", \"\\n\\n\", \"We recommend using the popper element as a wrapper around an inner\", \"element that can have any CSS property transitioned for animations.\"].join(\" \"));\n }\n }\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration,\n isFixed: state.options.strategy === \"fixed\"\n };\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive,\n roundOffsets\n })));\n }\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: \"absolute\",\n adaptive: false,\n roundOffsets\n })));\n }\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n \"data-popper-placement\": state.placement\n });\n}\nvar computeStyles_default = {\n name: \"computeStyles\",\n enabled: true,\n phase: \"beforeWrite\",\n fn: computeStyles,\n data: {}\n};\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/modifiers/applyStyles.js\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function(name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name];\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function(name2) {\n var value = attributes[name2];\n if (value === false) {\n element.removeAttribute(name2);\n } else {\n element.setAttribute(name2, value === true ? \"\" : value);\n }\n });\n });\n}\nfunction effect2(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: \"0\",\n top: \"0\",\n margin: \"0\"\n },\n arrow: {\n position: \"absolute\"\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n return function() {\n Object.keys(state.elements).forEach(function(name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]);\n var style = styleProperties.reduce(function(style2, property) {\n style2[property] = \"\";\n return style2;\n }, {});\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function(attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n}\nvar applyStyles_default = {\n name: \"applyStyles\",\n enabled: true,\n phase: \"write\",\n fn: applyStyles,\n effect: effect2,\n requires: [\"computeStyles\"]\n};\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/popper-lite.js\nvar defaultModifiers = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default];\nvar createPopper = /* @__PURE__ */ popperGenerator({\n defaultModifiers\n});\n\n// ../../node_modules/.pnpm/@popperjs+core@2.11.6/node_modules/@popperjs/core/lib/modifiers/offset.js\nfunction distanceAndSkiddingToXY(placement, rects, offset2) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n var _ref = typeof offset2 === \"function\" ? offset2(Object.assign({}, rects, {\n placement\n })) : offset2, skidding = _ref[0], distance = _ref[1];\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\nfunction offset(_ref2) {\n var state = _ref2.state, options = _ref2.options, name = _ref2.name;\n var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function(acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y;\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n state.modifiersData[name] = data;\n}\nvar offset_default = {\n name: \"offset\",\n enabled: true,\n phase: \"main\",\n requires: [\"popperOffsets\"],\n fn: offset\n};\nexport {\n createPopper,\n offset_default as offsetModifier\n};\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createPopper as _createPopper, offsetModifier } from '@vant/popperjs';\nimport { createNamespace, isServer } from '../utils';\nimport { BORDER_BOTTOM } from '../utils/constant'; // Mixins\n\nimport { ClickOutsideMixin } from '../mixins/click-outside'; // Components\n\nimport Icon from '../icon';\nimport Popup from '../popup';\n\nvar _createNamespace = createNamespace('popover'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ClickOutsideMixin({\n event: 'touchstart',\n method: 'onClickOutside'\n })],\n props: {\n value: Boolean,\n trigger: String,\n overlay: Boolean,\n offset: {\n type: Array,\n default: function _default() {\n return [0, 8];\n }\n },\n theme: {\n type: String,\n default: 'light'\n },\n actions: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n placement: {\n type: String,\n default: 'bottom'\n },\n getContainer: {\n type: [String, Function],\n default: 'body'\n },\n closeOnClickAction: {\n type: Boolean,\n default: true\n }\n },\n watch: {\n value: 'updateLocation',\n placement: 'updateLocation'\n },\n mounted: function mounted() {\n this.updateLocation();\n },\n beforeDestroy: function beforeDestroy() {\n if (this.popper) {\n if (!isServer) {\n window.removeEventListener('animationend', this.updateLocation);\n window.removeEventListener('transitionend', this.updateLocation);\n }\n\n this.popper.destroy();\n this.popper = null;\n }\n },\n methods: {\n createPopper: function createPopper() {\n var popper = _createPopper(this.$refs.wrapper, this.$refs.popover.$el, {\n placement: this.placement,\n modifiers: [{\n name: 'computeStyles',\n options: {\n adaptive: false,\n gpuAcceleration: false\n }\n }, _extends({}, offsetModifier, {\n options: {\n offset: this.offset\n }\n })]\n });\n\n if (!isServer) {\n window.addEventListener('animationend', this.updateLocation);\n window.addEventListener('transitionend', this.updateLocation);\n }\n\n return popper;\n },\n updateLocation: function updateLocation() {\n var _this = this;\n\n this.$nextTick(function () {\n if (!_this.value) {\n return;\n }\n\n if (!_this.popper) {\n _this.popper = _this.createPopper();\n } else {\n _this.popper.setOptions({\n placement: _this.placement\n });\n }\n });\n },\n renderAction: function renderAction(action, index) {\n var _this2 = this;\n\n var h = this.$createElement;\n var icon = action.icon,\n text = action.text,\n disabled = action.disabled,\n className = action.className;\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"menuitem\"\n },\n \"class\": [bem('action', {\n disabled: disabled,\n 'with-icon': icon\n }), className],\n \"on\": {\n \"click\": function click() {\n return _this2.onClickAction(action, index);\n }\n }\n }, [icon && h(Icon, {\n \"attrs\": {\n \"name\": icon\n },\n \"class\": bem('action-icon')\n }), h(\"div\", {\n \"class\": [bem('action-text'), BORDER_BOTTOM]\n }, [text])]);\n },\n onToggle: function onToggle(value) {\n this.$emit('input', value);\n },\n onClickWrapper: function onClickWrapper() {\n if (this.trigger === 'click') {\n this.onToggle(!this.value);\n }\n },\n onTouchstart: function onTouchstart(event) {\n event.stopPropagation();\n this.$emit('touchstart', event);\n },\n onClickAction: function onClickAction(action, index) {\n if (action.disabled) {\n return;\n }\n\n this.$emit('select', action, index);\n\n if (this.closeOnClickAction) {\n this.$emit('input', false);\n }\n },\n onClickOutside: function onClickOutside() {\n this.$emit('input', false);\n },\n onOpen: function onOpen() {\n this.$emit('open');\n },\n\n /* istanbul ignore next */\n onOpened: function onOpened() {\n this.$emit('opened');\n },\n onClose: function onClose() {\n this.$emit('close');\n },\n\n /* istanbul ignore next */\n onClosed: function onClosed() {\n this.$emit('closed');\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"span\", {\n \"ref\": \"wrapper\",\n \"class\": bem('wrapper'),\n \"on\": {\n \"click\": this.onClickWrapper\n }\n }, [h(Popup, {\n \"ref\": \"popover\",\n \"attrs\": {\n \"value\": this.value,\n \"overlay\": this.overlay,\n \"position\": null,\n \"transition\": \"van-popover-zoom\",\n \"lockScroll\": false,\n \"getContainer\": this.getContainer\n },\n \"class\": bem([this.theme]),\n \"on\": {\n \"open\": this.onOpen,\n \"close\": this.onClose,\n \"input\": this.onToggle,\n \"opened\": this.onOpened,\n \"closed\": this.onClosed\n },\n \"nativeOn\": {\n \"touchstart\": this.onTouchstart\n }\n }, [h(\"div\", {\n \"class\": bem('arrow')\n }), h(\"div\", {\n \"class\": bem('content'),\n \"attrs\": {\n \"role\": \"menu\"\n }\n }, [this.slots('default') || this.actions.map(this.renderAction)])]), this.slots('reference')]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit } from '../utils/functional';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant'; // Types\n\nvar _createNamespace = createNamespace('cell-group'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction CellGroup(h, props, slots, ctx) {\n var _ref;\n\n var Group = h(\"div\", _mergeJSXProps([{\n \"class\": [bem({\n inset: props.inset\n }), (_ref = {}, _ref[BORDER_TOP_BOTTOM] = props.border, _ref)]\n }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default()]);\n\n if (props.title || slots.title) {\n return h(\"div\", {\n \"key\": ctx.data.key\n }, [h(\"div\", {\n \"class\": bem('title', {\n inset: props.inset\n })\n }, [slots.title ? slots.title() : props.title]), Group]);\n }\n\n return Group;\n}\n\nCellGroup.props = {\n title: String,\n inset: Boolean,\n border: {\n type: Boolean,\n default: true\n }\n};\nexport default createComponent(CellGroup);","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { inherit, emit } from '../utils/functional'; // Components\n\nimport Icon from '../icon'; // Types\n\nvar _createNamespace = createNamespace('tag'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Tag(h, props, slots, ctx) {\n var _style;\n\n var type = props.type,\n mark = props.mark,\n plain = props.plain,\n color = props.color,\n round = props.round,\n size = props.size,\n textColor = props.textColor;\n var key = plain ? 'color' : 'backgroundColor';\n var style = (_style = {}, _style[key] = color, _style);\n\n if (plain) {\n style.color = textColor || color;\n style.borderColor = color;\n } else {\n style.color = textColor;\n style.background = color;\n }\n\n var classes = {\n mark: mark,\n plain: plain,\n round: round\n };\n\n if (size) {\n classes[size] = size;\n }\n\n var CloseIcon = props.closeable && h(Icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": bem('close'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n emit(ctx, 'close');\n }\n }\n });\n return h(\"transition\", {\n \"attrs\": {\n \"name\": props.closeable ? 'van-fade' : null\n }\n }, [h(\"span\", _mergeJSXProps([{\n \"key\": \"content\",\n \"style\": style,\n \"class\": bem([classes, type])\n }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default(), CloseIcon])]);\n}\n\nTag.props = {\n size: String,\n mark: Boolean,\n color: String,\n plain: Boolean,\n round: Boolean,\n textColor: String,\n closeable: Boolean,\n type: {\n type: String,\n default: 'default'\n }\n};\nexport default createComponent(Tag);","import { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('col'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanRow')],\n props: {\n span: [Number, String],\n offset: [Number, String],\n tag: {\n type: String,\n default: 'div'\n }\n },\n computed: {\n style: function style() {\n var index = this.index;\n\n var _ref = this.parent || {},\n spaces = _ref.spaces;\n\n if (spaces && spaces[index]) {\n var _spaces$index = spaces[index],\n left = _spaces$index.left,\n right = _spaces$index.right;\n return {\n paddingLeft: left ? left + \"px\" : null,\n paddingRight: right ? right + \"px\" : null\n };\n }\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n var span = this.span,\n offset = this.offset;\n return h(this.tag, {\n \"style\": this.style,\n \"class\": bem((_bem = {}, _bem[span] = span, _bem[\"offset-\" + offset] = offset, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots()]);\n }\n});","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('row'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanRow')],\n props: {\n type: String,\n align: String,\n justify: String,\n tag: {\n type: String,\n default: 'div'\n },\n gutter: {\n type: [Number, String],\n default: 0\n }\n },\n computed: {\n spaces: function spaces() {\n var gutter = Number(this.gutter);\n\n if (!gutter) {\n return;\n }\n\n var spaces = [];\n var groups = [[]];\n var totalSpan = 0;\n this.children.forEach(function (item, index) {\n totalSpan += Number(item.span);\n\n if (totalSpan > 24) {\n groups.push([index]);\n totalSpan -= 24;\n } else {\n groups[groups.length - 1].push(index);\n }\n });\n groups.forEach(function (group) {\n var averagePadding = gutter * (group.length - 1) / group.length;\n group.forEach(function (item, index) {\n if (index === 0) {\n spaces.push({\n right: averagePadding\n });\n } else {\n var left = gutter - spaces[item - 1].right;\n var right = averagePadding - left;\n spaces.push({\n left: left,\n right: right\n });\n }\n });\n });\n return spaces;\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n var align = this.align,\n justify = this.justify;\n var flex = this.type === 'flex';\n return h(this.tag, {\n \"class\": bem((_bem = {\n flex: flex\n }, _bem[\"align-\" + align] = flex && align, _bem[\"justify-\" + justify] = flex && justify, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots()]);\n }\n});","import { createNamespace } from '../utils';\nimport { BORDER } from '../utils/constant';\n\nvar _createNamespace = createNamespace('pagination'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction makePage(number, text, active) {\n return {\n number: number,\n text: text,\n active: active\n };\n}\n\nexport default createComponent({\n props: {\n prevText: String,\n nextText: String,\n forceEllipses: Boolean,\n mode: {\n type: String,\n default: 'multi'\n },\n value: {\n type: Number,\n default: 0\n },\n pageCount: {\n type: [Number, String],\n default: 0\n },\n totalItems: {\n type: [Number, String],\n default: 0\n },\n itemsPerPage: {\n type: [Number, String],\n default: 10\n },\n showPageSize: {\n type: [Number, String],\n default: 5\n }\n },\n computed: {\n count: function count() {\n var count = this.pageCount || Math.ceil(this.totalItems / this.itemsPerPage);\n return Math.max(1, count);\n },\n pages: function pages() {\n var pages = [];\n var pageCount = this.count;\n var showPageSize = +this.showPageSize;\n\n if (this.mode !== 'multi') {\n return pages;\n } // Default page limits\n\n\n var startPage = 1;\n var endPage = pageCount;\n var isMaxSized = showPageSize < pageCount; // recompute if showPageSize\n\n if (isMaxSized) {\n // Current page is displayed in the middle of the visible ones\n startPage = Math.max(this.value - Math.floor(showPageSize / 2), 1);\n endPage = startPage + showPageSize - 1; // Adjust if limit is exceeded\n\n if (endPage > pageCount) {\n endPage = pageCount;\n startPage = endPage - showPageSize + 1;\n }\n } // Add page number links\n\n\n for (var number = startPage; number <= endPage; number++) {\n var page = makePage(number, number, number === this.value);\n pages.push(page);\n } // Add links to move between page sets\n\n\n if (isMaxSized && showPageSize > 0 && this.forceEllipses) {\n if (startPage > 1) {\n var previousPageSet = makePage(startPage - 1, '...', false);\n pages.unshift(previousPageSet);\n }\n\n if (endPage < pageCount) {\n var nextPageSet = makePage(endPage + 1, '...', false);\n pages.push(nextPageSet);\n }\n }\n\n return pages;\n }\n },\n watch: {\n value: {\n handler: function handler(page) {\n this.select(page || this.value);\n },\n immediate: true\n }\n },\n methods: {\n select: function select(page, emitChange) {\n page = Math.min(this.count, Math.max(1, page));\n\n if (this.value !== page) {\n this.$emit('input', page);\n\n if (emitChange) {\n this.$emit('change', page);\n }\n }\n }\n },\n render: function render() {\n var _this = this,\n _this$slots,\n _this$slots3;\n\n var h = arguments[0];\n var value = this.value;\n var simple = this.mode !== 'multi';\n\n var onSelect = function onSelect(value) {\n return function () {\n _this.select(value, true);\n };\n };\n\n return h(\"ul\", {\n \"class\": bem({\n simple: simple\n })\n }, [h(\"li\", {\n \"class\": [bem('item', {\n disabled: value === 1\n }), bem('prev'), BORDER],\n \"on\": {\n \"click\": onSelect(value - 1)\n }\n }, [((_this$slots = this.slots('prev-text')) != null ? _this$slots : this.prevText) || t('prev')]), this.pages.map(function (page) {\n var _this$slots2;\n\n return h(\"li\", {\n \"class\": [bem('item', {\n active: page.active\n }), bem('page'), BORDER],\n \"on\": {\n \"click\": onSelect(page.number)\n }\n }, [(_this$slots2 = _this.slots('page', page)) != null ? _this$slots2 : page.text]);\n }), simple && h(\"li\", {\n \"class\": bem('page-desc')\n }, [this.slots('pageDesc') || value + \"/\" + this.count]), h(\"li\", {\n \"class\": [bem('item', {\n disabled: value === this.count\n }), bem('next'), BORDER],\n \"on\": {\n \"click\": onSelect(value + 1)\n }\n }, [((_this$slots3 = this.slots('next-text')) != null ? _this$slots3 : this.nextText) || t('next')])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport Vue from 'vue'; // Utils\n\nimport { createNamespace } from '../utils';\nimport { emit, inherit } from '../utils/functional'; // Mixins\n\nimport { popupMixinProps } from '../mixins/popup'; // Components\n\nimport Icon from '../icon';\nimport Popup from '../popup';\nimport Loading from '../loading'; // Types\n\nvar _createNamespace = createNamespace('action-sheet'),\n createComponent = _createNamespace[0],\n bem = _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 emit(ctx, 'input', false);\n emit(ctx, 'cancel');\n }\n\n function Header() {\n if (title) {\n return h(\"div\", {\n \"class\": bem('header')\n }, [title, closeable && h(Icon, {\n \"attrs\": {\n \"name\": props.closeIcon\n },\n \"class\": 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 emit(ctx, 'input', false);\n }\n\n Vue.nextTick(function () {\n emit(ctx, 'select', item, index);\n });\n }\n\n function OptionContent() {\n if (loading) {\n return h(Loading, {\n \"class\": bem('loading-icon')\n });\n }\n\n return [h(\"span\", {\n \"class\": bem('name')\n }, [item.name]), item.subname && h(\"div\", {\n \"class\": bem('subname')\n }, [item.subname])];\n }\n\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": [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\": bem('gap')\n }), h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": 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\": bem('description')\n }, [description]);\n }\n }\n\n return h(Popup, _mergeJSXProps([{\n \"class\": 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\": 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});\nexport default createComponent(ActionSheet);","// Utils\nimport { createNamespace } from '../utils';\nimport { isHidden } from '../utils/dom/style';\nimport { getScroller } from '../utils/dom/scroll'; // Mixins\n\nimport { BindEventMixin } from '../mixins/bind-event'; // Components\n\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('list'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n bind(this.scroller, 'scroll', this.check);\n })],\n model: {\n prop: 'loading'\n },\n props: {\n error: Boolean,\n loading: Boolean,\n finished: Boolean,\n errorText: String,\n loadingText: String,\n finishedText: String,\n immediateCheck: {\n type: Boolean,\n default: true\n },\n offset: {\n type: [Number, String],\n default: 300\n },\n direction: {\n type: String,\n default: 'down'\n }\n },\n data: function data() {\n return {\n // use sync innerLoading state to avoid repeated loading in some edge cases\n innerLoading: this.loading\n };\n },\n updated: function updated() {\n this.innerLoading = this.loading;\n },\n mounted: function mounted() {\n if (this.immediateCheck) {\n this.check();\n }\n },\n watch: {\n loading: 'check',\n finished: 'check'\n },\n methods: {\n // @exposed-api\n check: function check() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.innerLoading || _this.finished || _this.error) {\n return;\n }\n\n var el = _this.$el,\n scroller = _this.scroller,\n offset = _this.offset,\n direction = _this.direction;\n var scrollerRect;\n\n if (scroller.getBoundingClientRect) {\n scrollerRect = scroller.getBoundingClientRect();\n } else {\n scrollerRect = {\n top: 0,\n bottom: scroller.innerHeight\n };\n }\n\n var scrollerHeight = scrollerRect.bottom - scrollerRect.top;\n /* istanbul ignore next */\n\n if (!scrollerHeight || isHidden(el)) {\n return false;\n }\n\n var isReachEdge = false;\n\n var placeholderRect = _this.$refs.placeholder.getBoundingClientRect();\n\n if (direction === 'up') {\n isReachEdge = scrollerRect.top - placeholderRect.top <= offset;\n } else {\n isReachEdge = placeholderRect.bottom - scrollerRect.bottom <= offset;\n }\n\n if (isReachEdge) {\n _this.innerLoading = true;\n\n _this.$emit('input', true);\n\n _this.$emit('load');\n }\n });\n },\n clickErrorText: function clickErrorText() {\n this.$emit('update:error', false);\n this.check();\n },\n genLoading: function genLoading() {\n var h = this.$createElement;\n\n if (this.innerLoading && !this.finished) {\n return h(\"div\", {\n \"key\": \"loading\",\n \"class\": bem('loading')\n }, [this.slots('loading') || h(Loading, {\n \"attrs\": {\n \"size\": \"16\"\n }\n }, [this.loadingText || t('loading')])]);\n }\n },\n genFinishedText: function genFinishedText() {\n var h = this.$createElement;\n\n if (this.finished) {\n var text = this.slots('finished') || this.finishedText;\n\n if (text) {\n return h(\"div\", {\n \"class\": bem('finished-text')\n }, [text]);\n }\n }\n },\n genErrorText: function genErrorText() {\n var h = this.$createElement;\n\n if (this.error) {\n var text = this.slots('error') || this.errorText;\n\n if (text) {\n return h(\"div\", {\n \"on\": {\n \"click\": this.clickErrorText\n },\n \"class\": bem('error-text')\n }, [text]);\n }\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var Placeholder = h(\"div\", {\n \"ref\": \"placeholder\",\n \"key\": \"placeholder\",\n \"class\": bem('placeholder')\n });\n return h(\"div\", {\n \"class\": bem(),\n \"attrs\": {\n \"role\": \"feed\",\n \"aria-busy\": this.innerLoading\n }\n }, [this.direction === 'down' ? this.slots() : Placeholder, this.genLoading(), this.genFinishedText(), this.genErrorText(), this.direction === 'up' ? this.slots() : Placeholder]);\n }\n});","// Utils\nimport { createNamespace } from '../utils';\nimport { BORDER_BOTTOM } from '../utils/constant'; // Components\n\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('nav-bar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n title: String,\n fixed: Boolean,\n zIndex: [Number, String],\n leftText: String,\n rightText: String,\n leftArrow: Boolean,\n placeholder: Boolean,\n safeAreaInsetTop: Boolean,\n border: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n height: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n if (this.placeholder && this.fixed) {\n var setHeight = function setHeight() {\n _this.height = _this.$refs.navBar.getBoundingClientRect().height;\n };\n\n setHeight(); // https://github.com/vant-ui/vant/issues/10131\n\n setTimeout(setHeight, 100);\n }\n },\n methods: {\n genLeft: function genLeft() {\n var h = this.$createElement;\n var leftSlot = this.slots('left');\n\n if (leftSlot) {\n return leftSlot;\n }\n\n return [this.leftArrow && h(Icon, {\n \"class\": bem('arrow'),\n \"attrs\": {\n \"name\": \"arrow-left\"\n }\n }), this.leftText && h(\"span\", {\n \"class\": bem('text')\n }, [this.leftText])];\n },\n genRight: function genRight() {\n var h = this.$createElement;\n var rightSlot = this.slots('right');\n\n if (rightSlot) {\n return rightSlot;\n }\n\n if (this.rightText) {\n return h(\"span\", {\n \"class\": bem('text')\n }, [this.rightText]);\n }\n },\n genNavBar: function genNavBar() {\n var _ref;\n\n var h = this.$createElement;\n return h(\"div\", {\n \"ref\": \"navBar\",\n \"style\": {\n zIndex: this.zIndex\n },\n \"class\": [bem({\n fixed: this.fixed,\n 'safe-area-inset-top': this.safeAreaInsetTop\n }), (_ref = {}, _ref[BORDER_BOTTOM] = this.border, _ref)]\n }, [h(\"div\", {\n \"class\": bem('content')\n }, [this.hasLeft() && h(\"div\", {\n \"class\": bem('left'),\n \"on\": {\n \"click\": this.onClickLeft\n }\n }, [this.genLeft()]), h(\"div\", {\n \"class\": [bem('title'), 'van-ellipsis']\n }, [this.slots('title') || this.title]), this.hasRight() && h(\"div\", {\n \"class\": bem('right'),\n \"on\": {\n \"click\": this.onClickRight\n }\n }, [this.genRight()])])]);\n },\n hasLeft: function hasLeft() {\n return this.leftArrow || this.leftText || this.slots('left');\n },\n hasRight: function hasRight() {\n return this.rightText || this.slots('right');\n },\n onClickLeft: function onClickLeft(event) {\n this.$emit('click-left', event);\n },\n onClickRight: function onClickRight(event) {\n this.$emit('click-right', event);\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (this.placeholder && this.fixed) {\n return h(\"div\", {\n \"class\": bem('placeholder'),\n \"style\": {\n height: this.height + \"px\"\n }\n }, [this.genNavBar()]);\n }\n\n return this.genNavBar();\n }\n});","import Vue from \"vue\";\r\nimport \"./init\";\r\nimport \"@/components/formGenerator/styles/phone.scss\";\r\n\r\nimport {\r\n List, NavBar, Tab, Tabs, Sticky, Button, Search, Icon, Popover, Cell, CellGroup, Tag, Step, Steps, Image as VanImage, ActionSheet,\r\n Picker, Popup, Field, Empty, Toast, Dialog, Checkbox, CheckboxGroup, Switch, PullRefresh, NoticeBar, Swipe, SwipeItem, Pagination,\r\n Grid, GridItem, SwipeCell, Form, DatetimePicker, IndexBar, IndexAnchor, Col, Row, RadioGroup, Radio, Collapse, CollapseItem, Loading,\r\n Stepper, Overlay, Badge, Cascader, Uploader, Tabbar, TabbarItem, CountDown, Divider, Sidebar, SidebarItem, TreeSelect, Slider, Rate,\r\n} from 'vant';\r\n\r\nVue.use(List).use(NavBar).use(Tab).use(Tabs).use(Sticky);\r\nVue.use(Button).use(Search).use(Icon).use(Popover).use(Cell).use(CellGroup).use(Tag).use(Col).use(Row).use(Pagination).use(ActionSheet);\r\nVue.use(Step).use(Steps).use(VanImage).use(Picker).use(Popup).use(Field).use(Empty).use(Toast).use(NoticeBar).use(Swipe).use(SwipeItem).use(Grid).use(GridItem)\r\nVue.use(Dialog).use(Checkbox).use(CheckboxGroup).use(Switch).use(PullRefresh).use(SwipeCell).use(Form).use(DatetimePicker).use(IndexBar).use(IndexAnchor)\r\nVue.use(RadioGroup).use(Radio).use(Grid).use(GridItem).use(Collapse).use(CollapseItem).use(Loading).use(Overlay).use(Badge);\r\nVue.use(Stepper).use(Cascader).use(Uploader).use(Tabbar).use(TabbarItem).use(CountDown).use(Divider).use(Sidebar).use(SidebarItem).use(TreeSelect)\r\nVue.use(Slider).use(Rate)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"],"sourceRoot":""}
|