dfish-widget 0.1.488 → 0.1.491

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/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://dfish/webpack/universalModuleDefinition","webpack://dfish/webpack/bootstrap","webpack://dfish/./src/widgets/AlignParent.vue","webpack://dfish/./src/widgets/AlignParent.vue?f746","webpack://dfish/./src/widgets/Leaf.vue?d317","webpack://dfish/./src/widgets/Video.vue?99e5","webpack://dfish/./src/widgets/Jigsaw.vue?cafd","webpack://dfish/./src/template/TemplateAlert.vue","webpack://dfish/./src/template/TemplateAlert.vue?b656","webpack://dfish/./src/widgets/Option.vue?0834","webpack://dfish/./src/widgets/Switch.vue?b0ad","webpack://dfish/./src/widgets/Menu.vue","webpack://dfish/./src/widgets/Menu.vue?61b6","webpack://dfish/./src/widgets/TabButton.vue","webpack://dfish/./src/widgets/TabButton.vue?e0b1","webpack://dfish/./src/widgets/PageBar.vue","webpack://dfish/./src/widgets/PageBar.vue?15df","webpack://dfish/./src/widgets/Hidden.vue","webpack://dfish/./src/widgets/Hidden.vue?f5d8","webpack://dfish/./src/widgets/FormBase.vue","webpack://dfish/./src/widgets/FormBase.vue?9859","webpack://dfish/./src/widgets/MenuButton.vue?7ceb","webpack://dfish/./src/widgets/LinkBox.vue","webpack://dfish/./src/widgets/LinkBox.vue?8d22","webpack://dfish/./src/widgets/MediaUploadItem.vue?b462","webpack://dfish/./src/widgets/ViewAbs.vue?fd43","webpack://dfish/./src/widgets/Dialog.vue?4ef0","webpack://dfish/./src/widgets/Option.vue","webpack://dfish/./src/widgets/Option.vue?2ad8","webpack://dfish/./src/widgets/TabButton.vue?b2df","webpack://dfish/./src/util/str.js","webpack://dfish/./src/widgets/View.vue","webpack://dfish/./src/widgets/View.vue?86cf","webpack://dfish/./src/util/number.js","webpack://dfish/./src/widgets/MenuButton.vue","webpack://dfish/./src/widgets/MenuButton.vue?9b54","webpack://dfish/./src/widgets/Tabs.vue?d968","webpack://dfish/./src/widgets/ComboBox.vue","webpack://dfish/./src/widgets/ComboBox.vue?2036","webpack://dfish/./src/widgets/ButtonBar.vue","webpack://dfish/./src/widgets/ButtonBar.vue?b9d7","webpack://dfish/./src/util/json.js","webpack://dfish/./src/widgets/Toggle.vue?a46f","webpack://dfish/./src/widgets/ViewAbs.vue","webpack://dfish/./src/widgets/ViewAbs.vue?7b03","webpack://dfish/./src/widgets/FileUpload.vue","webpack://dfish/./src/widgets/FileUpload.vue?e312","webpack://dfish/./src/widgets/ImageUpload.vue","webpack://dfish/./src/widgets/ImageUpload.vue?f89f","webpack://dfish/./src/widgets/DocView.vue","webpack://dfish/./src/widgets/DocView.vue?ba0c","webpack://dfish/./src/widgets/TableTBody.vue","webpack://dfish/./src/widgets/TableTBody.vue?abdf","webpack://dfish/./src/util/snap.js","webpack://dfish/./src/util/uid.js","webpack://dfish/./src/widgets/Button.vue","webpack://dfish/./src/widgets/Button.vue?fbcc","webpack://dfish/./src/widgets/FileUpload.vue?88fc","webpack://dfish/./src/widgets/TableColumns.vue","webpack://dfish/./src/widgets/TableColumns.vue?3525","webpack://dfish/./src/widgets/Swiper.vue?65da","webpack://dfish/./src/widgets/CheckBox.vue","webpack://dfish/./src/widgets/CheckBox.vue?54ae","webpack://dfish/./src/widgets/Tip.vue?e935","webpack://dfish/./src/widgets/DialogMove.vue?15d2","webpack://dfish/./src/widgets/Timeline.vue?0f85","webpack://dfish/./src/template/TemplateDateSheet.vue?280e","webpack://dfish/./src/widgets/FormBase.vue?b2b9","webpack://dfish/./src/widgets/SrcParent.vue","webpack://dfish/./src/widgets/SrcParent.vue?93a3","webpack://dfish/./src/template/TemplateLoading.vue","webpack://dfish/./src/template/TemplateLoading.vue?982e","webpack://dfish/./src/widgets/Label.vue","webpack://dfish/./src/widgets/Label.vue?969b","webpack://dfish/./src/assets/SVGIcon.vue","webpack://dfish/./src/assets/SVGIcon.vue?69f7","webpack://dfish/./src/widgets/SubmitButton.vue","webpack://dfish/./src/widgets/SubmitButton.vue?3fa5","webpack://dfish/./src/widgets/SlidePicker.vue?ed76","webpack://dfish/./src/widgets/Timeline.vue","webpack://dfish/./src/widgets/Timeline.vue?6722","webpack://dfish/./src/widgets/Rate.vue?1ae5","webpack://dfish/./src/widgets/Split.vue?d855","webpack://dfish/./src/widgets/Grid.vue?ff6f","webpack://dfish/./src/widgets/Spinner.vue?134c","webpack://dfish/./src/widgets/Tree.vue","webpack://dfish/./src/widgets/Tree.vue?42d7","webpack://dfish/./src/widgets/Password.vue","webpack://dfish/./src/widgets/Password.vue?6cda","webpack://dfish/./src/widgets/Html.vue","webpack://dfish/./src/widgets/Html.vue?092f","webpack://dfish/./src/widgets/TimelineItem.vue","webpack://dfish/./src/widgets/TimelineItem.vue?4eaa","webpack://dfish/./src/widgets/TableTH.vue","webpack://dfish/./src/widgets/TableTH.vue?1b2e","webpack://dfish/./src/widgets/DialogMove.vue","webpack://dfish/./src/widgets/DialogMove.vue?5066","webpack://dfish/./src/widgets/Form.vue","webpack://dfish/./src/widgets/Form.vue?b8f9","webpack://dfish/./src/util/range.js","webpack://dfish/./src/widgets/PickBox.vue","webpack://dfish/./src/widgets/PickBox.vue?62f5","webpack://dfish/./src/template/TemplateTip.vue","webpack://dfish/./src/template/TemplateTip.vue?9a7a","webpack://dfish/./src/directive/dialog-move.js","webpack://dfish/./src/widgets/PubParent.vue","webpack://dfish/./src/widgets/PubParent.vue?cedb","webpack://dfish/./src/widgets/TableTD.vue","webpack://dfish/./src/widgets/TableTD.vue?b65e","webpack://dfish/./src/directive/index.js","webpack://dfish/./src/util/loc/zh-CN.js","webpack://dfish/./src/widgets/Horizontal.vue","webpack://dfish/./src/widgets/Horizontal.vue?3f14","webpack://dfish/./src/util/date.js","webpack://dfish/./src lazy ^\\.\\/.*$ namespace object","webpack://dfish/./src/widgets/Tip.vue","webpack://dfish/./src/widgets/Tip.vue?9916","webpack://dfish/./src/widgets/Scroll.vue?11ca","webpack://dfish/./src/widgets/DatePicker.vue","webpack://dfish/./src/widgets/DatePicker.vue?304a","webpack://dfish/./src/widgets/Textarea.vue","webpack://dfish/./src/widgets/Textarea.vue?e32b","webpack://dfish/./src/widgets/Scroll.vue","webpack://dfish/./src/widgets/Scroll.vue?2cbe","webpack://dfish/./src/widgets/LinkBox.vue?1856","webpack://dfish/./src/widgets/Range.vue?f220","webpack://dfish/./src/util/mime.js","webpack://dfish/./src/widgets/Loading.vue?b3a7","webpack://dfish/./src/widgets/Video.vue","webpack://dfish/./src/widgets/Video.vue?eba0","webpack://dfish/./src/widgets/Split.vue","webpack://dfish/./src/widgets/Split.vue?04cd","webpack://dfish/./src/widgets/Rate.vue","webpack://dfish/./src/widgets/Rate.vue?d642","webpack://dfish/./src/widgets/Pop.vue","webpack://dfish/./src/widgets/Pop.vue?0f20","webpack://dfish/./src/widgets/TableColumn.vue","webpack://dfish/./src/widgets/TableColumn.vue?2711","webpack://dfish/./src/util/css.js","webpack://dfish/./src/widgets/Swiper.vue","webpack://dfish/./src/widgets/Swiper.vue?78b8","webpack://dfish/./src/widgets/Table.vue?fb08","webpack://dfish/./src/widgets/Progress.vue?98e9","webpack://dfish/./src/assets/SVGIcon.vue?6823","webpack://dfish/./src/widgets/TableTHead.vue","webpack://dfish/./src/widgets/TableTHead.vue?ceef","webpack://dfish/./src/widgets/Range.vue","webpack://dfish/./src/widgets/Range.vue?477c","webpack://dfish/./src/util/browser.js","webpack://dfish/./src/widgets/Alert.vue","webpack://dfish/./src/widgets/Alert.vue?3137","webpack://dfish/./src/widgets/Menu.vue?63f3","webpack://dfish/./src/util/event.js","webpack://dfish/./src/widgets/Confirm.vue","webpack://dfish/./src/widgets/Confirm.vue?d56c","webpack://dfish/./src/widgets/Tabs.vue","webpack://dfish/./src/widgets/Tabs.vue?6c52","webpack://dfish/./src/widgets/Album.vue","webpack://dfish/./src/widgets/Album.vue?74b6","webpack://dfish/./src/widgets/Img.vue?4aaa","webpack://dfish/./src/template/TemplateJigsaw.vue","webpack://dfish/./src/template/TemplateJigsaw.vue?4b4b","webpack://dfish/./src/widgets/MediaUploadItem.vue","webpack://dfish/./src/widgets/MediaUploadItem.vue?907a","webpack://dfish/./src/widgets/index.js","webpack://dfish/./src/widgets/SlidePicker.vue","webpack://dfish/./src/widgets/SlidePicker.vue?f95b","webpack://dfish/./src/widgets/MediaUpload.vue?0142","webpack://dfish/./src/widgets/Leaf.vue","webpack://dfish/./src/widgets/Leaf.vue?6aec","webpack://dfish/./src/widgets/Calendar.vue","webpack://dfish/./src/widgets/Calendar.vue?083c","webpack://dfish/./src/widgets/Tab.vue","webpack://dfish/./src/widgets/Tab.vue?a801","webpack://dfish/./src/widgets/Dialog.vue","webpack://dfish/./src/widgets/Dialog.vue?3792","webpack://dfish/./src/widgets/Toggle.vue","webpack://dfish/./src/widgets/Toggle.vue?3b65","webpack://dfish/./src/template/TemplateConfirm.vue","webpack://dfish/./src/template/TemplateConfirm.vue?3095","webpack://dfish/./src/template/TemplateDateSheet.vue","webpack://dfish/./src/template/TemplateDateSheet.vue?c94f","webpack://dfish/./src/widgets/WidgetAbs.vue","webpack://dfish/./src/widgets/WidgetAbs.vue?ba8a","webpack://dfish/./src/widgets/TableTR.vue","webpack://dfish/./src/widgets/TableTR.vue?ee1d","webpack://dfish/./src/widgets/PageBar.vue?868d","webpack://dfish/./src/dfish.js","webpack://dfish/./src/widgets/ComboBox.vue?4b31","webpack://dfish/./src/widgets/Jigsaw.vue","webpack://dfish/./src/widgets/Jigsaw.vue?9364","webpack://dfish/./src/widgets/RadioGroup.vue","webpack://dfish/./src/widgets/RadioGroup.vue?e09b","webpack://dfish/./src/widgets/Vertical.vue","webpack://dfish/./src/widgets/Vertical.vue?590a","webpack://dfish/./src/widgets/PickBox.vue?d830","webpack://dfish/./src/util/elem.js","webpack://dfish/./src/widgets/SwiperItem.vue","webpack://dfish/./src/widgets/SwiperItem.vue?dfa1","webpack://dfish/./src/widgets/WidgetBase.vue","webpack://dfish/./src/widgets/WidgetBase.vue?b91b","webpack://dfish/./src/widgets/Progress.vue","webpack://dfish/./src/widgets/Progress.vue?8139","webpack://dfish/./src/widgets/Switch.vue","webpack://dfish/./src/widgets/Switch.vue?e783","webpack://dfish/./src/widgets/Tree.vue?5f4e","webpack://dfish/./src/widgets/Img.vue","webpack://dfish/./src/widgets/Img.vue?496d","webpack://dfish/./src/widgets/Grid.vue","webpack://dfish/./src/widgets/Grid.vue?3b0e","webpack://dfish/./src/widgets/MediaUpload.vue","webpack://dfish/./src/widgets/MediaUpload.vue?2ed7","webpack://dfish/./src/widgets/Loading.vue","webpack://dfish/./src/widgets/Loading.vue?ce77","webpack://dfish/./src/widgets/CheckBoxGroup.vue","webpack://dfish/./src/widgets/CheckBoxGroup.vue?6c17","webpack://dfish/./src/widgets/Spinner.vue","webpack://dfish/./src/widgets/Spinner.vue?fa77","webpack://dfish/./src/widgets/TripleBox.vue","webpack://dfish/./src/widgets/TripleBox.vue?8717","webpack://dfish/./src/widgets/Radio.vue","webpack://dfish/./src/widgets/Radio.vue?f1bf","webpack://dfish/./src/widgets/Html.vue?e48a","webpack://dfish/./src/widgets/Text.vue","webpack://dfish/./src/widgets/Text.vue?367a","webpack://dfish/./src/directive/form-ignore.js","webpack://dfish/./src/widgets/Calendar.vue?b8a7","webpack://dfish/./src/template/TemplatePreviewMedia.vue","webpack://dfish/./src/template/TemplatePreviewMedia.vue?3261","webpack://dfish/./src/template/TemplateJigsaw.vue?165a","webpack://dfish/./src/widgets/DropBox.vue","webpack://dfish/./src/widgets/DropBox.vue?9370","webpack://dfish/./src/widgets/Table.vue","webpack://dfish/./src/widgets/Table.vue?8309"],"names":["root","factory","exports","module","define","amd","window","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","oldJsonpFunction","slice","props","computed","dir","html_align_class","this","x","align","vertical","valign","class","w-width","title","close","typeIcon","text","showButton","dfish","br","compat","gap","face","save","ownproperty","icons","info","warning","success","question","defaultIconType","methods","dialog","cueYes","icon","render","inst","mixins","Dialog","x_default","autoHide","independent","hasBubble","a","b","contains","parentMenu","rootCommander","arrow","$refs","bbr","el","bcr","scrollTop","height","mousewheel","wheelDelta","getRoot","getCommander","$options","html_buttons","slots_children","map","MenuButton","children","html_slots","maxHeight","onclick","Vertical","ref","onwheel","default","html_class","animateClass","snapClass","dropClass","isDeactivated","fullScreen","commander","mounted","context","Button","ButtonBar","emits","isJumpFocus","showDrop","limit","size","offset","buttonCount","inCurrent","currentPage","clickItem","runType","trigger","clickDrop","onJumpClick","v","Math","max","number","jumpInput","html_button","ic","ds","disabled","html_face_button","html_face_simple","html_face_normal","loc","page_text","prev","sumPage","next","html_drop","sp","onClick","Menu","snap","drop","position","indent","onClose","concat","cp","f","ceil","min","noFirstLast","labelFirst","iconFirst","labelPrev","iconPrev","labelNext","iconNext","labelLast","iconLast","jump","to","onfocus","onblur","onkeydown","keyCode","page","html_face_mini","first","last","FormBase","isModified","html","id","uid","modelValue","WidgetBase","AlignParent","mv","isFormWidget","isFocus","hasBorder","isPlural","warnClass","labelVertical","modifiedValue","defaultValue","placeholder_type","val","arguments","ov","changed","JSON","stringify","warn","isUsableVal","$emit","formVal","input_value","defaultRuleValue","rules","Array","isArray","valid","getValidError","showErrorTip","ques","validTriggers","validQueues","isNormal","isReadonly","readonlyValidate","groupFormVal","join","trim","hs","validHooks","q","rv","rule","formErr","que","arg","label","getLabelText","ps","form","wid","w","_tip","scrollIntoView","ease","exec","errorTipTarget","focus","formText","pubParent","oninput","baseFocus","baseBlur","isFocusTarget","relatedTarget","$","isUnmounted","time","Date","getTime","snapElem","isWidget","original","dv","saveModified","lodash","clone","reset","empty","html_label","$slots","Label","html_input","input_tag","input_type","input_name","readonly","isDisabled","placeholder","input_placeholder","autocomplete","input_prop","html_input_hidden","html_form","slot","html_main","fh","inputHeight","unitSize","style","input_title","main_prop","pubValidHooks","required","pattern","eval","test","validateHandler","k","includes","forEach","item","keys","autoPlaceholder","html_on","html_props","fw","inputWidth","created","$watch","initOptions","sugger","showSuggest","sug_timer","_KC","imeMode","paste_rng","currOpt","store","strict","array","addStore","inp","innerHTML","html_options","addVal","multiple","unionBy","complete","u","rngElement","separator","tagName","nextSibling","after","querySelector","append","rng_text","classAdd","forbid","rngCursor","eq","addBack","remove","closeDrop","suggest","input","innerText","replace","createEvent","fixStyle","g","parentElement","firstChild","nodeType","extractContents","createTextNode","insertNode","previousSibling","nodeValue","indexOf","replaceWith","rngCursorOffset","split","strTrim","param","classAny","classRemove","removeAttribute","rngSelection","selectNodeContents","clickPicker","stopPropagation","picker","cmd","clickDropper","dropper","filter","find","each","preventDefault","onkeyup","ondblclick","getSelection","removeAllRanges","html_var","contentEditable","width","dropWidth","scrollY","validateDefault","getOn","addEventListener","provideOptionParent","isMul","click","inject","clickOption","idsAny","String","string","strQuot","strFrom","lastIndexOf","substr","strTo","strLen","cnBytes","charCodeAt","strPad","strFormat","$0","$1","encodeURIComponent","strEscape","strHighlight","RegExp","strSplitword","$2","$3","_s_regexp","ViewAbs","html_self","html_pops","html_scroll_class","parseFloat","isNaN","isNumber","numRange","numAdd","args","pow","round","numFormat","charAt","numDecimal","parseInt","closeSub","subMenu","isMore","onmouseenter","currentTarget","classList","add","clickClose","font","startsWith","closable","Img","dropIcon","provideView","isView","ownerView","isCurrent","onmouseleave","sensor_text","sensor_width","clear","$nextTick","selectionStart","selectionEnd","dispatchEvent","Event","findIndex","sensor","offsetWidth","observe","Horizontal","PubParent","html_scroll_slots","jsonArray","jsonChain","SrcParent","provide","pops","beforeCreate","popCommanders","reload","querySelectorAll","fv","fAll","getFormList","dom","not","getPostData","range","checked","indeterminate","selectedIndex","_err_ns","vueMap","resetForm","showLoading","cover","local","hide","cmdDialog","orientUid","removeDialog","hidden","getDialogOptions","Pop","suffixHooks","xls","doc","ppt","htm","zip","fla","fon","iso","vid","aud","img","suffix","url","toLowerCase","unit","toUpperCase","fileTypeHooks","video","audio","image","list","emiting","immediate","getFileTypes","fileTypes","getAccept","mime","isImage","file","isVideo","isAudio","fileSelected","uploadLimit","files","alert","upload_limit","xfs_names","nfs_names","ft_names","xfs","maxFileSize","nfs","minFileSize","ft","sfx","upload_maxfilesize","upload_minfilesize","upload_invalid_file_type","nextUpload","upload","uploadSrc","loading","urlFormat","fd","FormData","source","http","CancelToken","post","onUploadProgress","progress","floor","loaded","total","cancelToken","token","res","upload_invalid_data","upload_no_data","catch","response","status","downloadSrc","download","urlServer","cancel","chooseFile","html_list","itemWidth","upload_error","html_input_form","accept","onchange","html_input_button","button","html_input_list","no_files","canUpload","uploadbbr","html_style","MediaUpload","thumbnailWidth","thumbnailHeight","WidgetAbs","providePubParent","provideBoxParent","provideRangeParent","docView","getElementById","getKey","previewVideo","template","TemplatePreviewMedia","previewImage","imgs","options","dateSheet","dateOptions","dialogOptions","TemplateDateSheet","SVGIcon","debug","Scroll","thead","provideInBody","table","scrollX","fixed","onScroll","hd","slotHooks","scrollLeft","onScrollPosition","onScrollAttributeChange","attributeName","hasAttribute","html_tbody","inBody","T","N","cvs","documentElement","_arr_comma","_snaptype","h","top","bottom","left","right","tl","tr","rt","rb","bl","lb","lt","_snapMag","pix","mag","inner","canvasOffset","clientWidth","clientHeight","offsetHeight","offsetTop","offsetLeft","offsetParent","clientLeft","clientTop","getBoundingClientRect","originalEvent","clientX","clientY","ew","eh","ot","or","ob","ol","y","pix_r","pix_b","mag_r","mag_b","mag_l","mag_t","snapTo","css","_uidCnt","_uidKey","_guid","toString","pubParentName","mouses","dropHover","onmousedown","onmouseup","watch","removeClass","ajaxLock","html_icon","focusIcon","isCombo","minWidth","dropPosition","modifiedChecked","defaultChecked","boxProxy","isChecked","getVal","setVal","checkValue","rdo","idsAdd","idsRemove","siblings","sb","check","relate","onbasechange","input_icon","html_target","minSize","maxSize","partialSubmit","$el","getSrc","$props","fn","ex","$parent","focusable","aria-hidden","viewBox","transform","cx","cy","opacity","values","begin","dur","repeatCount","p-id","len","wrap","vt","prevWidth","nextWidth","prevBcr","nextBcr","marginTop","marginLeft","prevItems","firstBcr","lastBcr","wrapBcr","line","prevSlots","nextSlots","set","provideLevel","provideParentLeaf","provideParentTR","getCurrent","leaf","viewCurrent","expandToView","chd","level","index","sortType","sortOrder","sortable","clickSort","order","sortUID","orders","sortOrders","col","colgroup","vnode","dfishColIndex","td_props","movable","sl","sr","st","moveup","appendTo","body","setPosition","moved","nextElementSibling","unmounted","removeEventListener","Range","movePoint","__defineGetter__","__defineSetter__","deleteContents","startContainer","setStart","setEnd","select","addRange","rangeCount","getRangeAt","createRange","collapseToEnd","startOffset","createTextRange","setEndPoint","rngText","DropBox","clickClear","input_text","current","isCurrentChild","ci","colspan","rowspan","Vue","directive","formIgnore","dialogMove","yes","no","none","confirm","search","query","choose","edit","finish","refresh","operfail","opertip","nodata","more","field","restore","rotate_left","rotate_right","dialog_max","dialog_min","detect_zoom","no_tip_anymore","wait","submiting","uploading","click_preview","toomuch_wait","toomuch_wait_countdown","preview_orginal_image","auth_success","auth_fail","choose_image","tree_movefail1","tree_movefail2","internet_error","server_error","preload_error","print_preview","placeholder_input","placeholder_select","pulldown_refresh","release_refresh","pullup_refresh","pullup_nomore","download_start","download_complete","download_cannotopen","download_fail","tab_close","tab_close_others","tab_close_all","sort_asc","sort_desc","sort_cancel","column_choose","connection_not_wifi","sorry","view_more","no_command","no_combo","error_template_type","error_type","tmpl_method_undefined","onlyone","maxLength","reach_maxLength","over_maxLength","minLength","maxValue","minValue","password_weak","password_middle","password_strong","number_invalid","number_integer","number_decimal_digit","step_max_value","step_min_value","time_exceed","time_format","period_invalid","beforeNow","afterNow","compare","invalid_option","need_valid_option","choose_atleastone","complete_required","jigsaw_drag_right","jigsaw_required","jigsaw_errorimg","upload_loading","upload_invalid_file","year","month","day","sky","hour","minute","second","calendar","now","today","weeknow","monthnow","yearnow","day_title","day_title_1","monthname","backdate","picktime","H","from_to","end","provideLayout","html_scroll_cont_style","_date_D","_date_sf","dateFormat","dateParse","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","dateWeek","M","dateAdd","setFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","weekPoint","weekStart","getDay","dateWeekFirst","dateWeekLast","dateValid","dateDiff","_dateDiff","z","webpackAsyncContext","req","ids","tipCache","prong","defaultSnapTargetElem","defaultSnapPosition","Text","currentDate","focusValue","format","autoFix","enableHour","arrayNumber","em","enableMinute","es","enableSecond","onclose","doAutoFix","re","mobile","getPeriod","calendarCallback","forms","getCompareError","tv","td","timeCols","onlyTime","Calendar","pad","defaultHour","defaultMinute","defaultSecond","getRangeError","wScrollPercentX","scrollXPosition","wScrollSizeX","wScrollBarThumbX","wScrollPercentY","scrollYPosition","wScrollSizeY","wScrollBarThumbY","dnEv","dnX","dnY","scrLeft","scrTop","wScrollOverflow","mvEv","upEv","scrollTo","ovf","wScrollCont","scrollToY","scrollToX","onscroll","initScroll","scrollState","flow","cont","percent","state","thbX","thbY","scroll_observe","sx","sy","scrollFlex","scrollView","MutationObserver","attributes","deactivated","activated","mimes","playing","getMimeType","filePath","fileName","mimeType","poster","onplay","onpause","controls","vd","paused","play","pause","expanded","toggle","exp","minorElem","toNext","previousElementSibling","toggleClass","dragstart","prevElem","nextElem","pos","help","vert","inVertical","downX","eventX","downY","eventY","posName","sizeName","clientName","downPos","minPos","maxPos","movRect","pick","expandedIcon","collapsedIcon","hoverWrap","hoverIndex","sum","count","hoverItem","cancelable","html_star","onMouseenter","half","allowHalf","step","stars","onMouseleave","templateHooks","Alert","TemplateAlert","Confirm","TemplateConfirm","Tip","TemplateTip","Loading","TemplateLoading","com","omit","templateDir","endsWith","errorComponent","loader","_css_camelize","_set_style","getComputedStyle","_number","focusIndex","setFocus","clickArrow","clickIndicator","indicatorDots","duration","childList","provideLeafLevel","rows","isExpanded","cg","vr","vi","mw","cellpadding","cellspacing","isEscape","escape","navigator","userAgent","chrome","match","firefox","agent","safari","ie","appName","documentMode","app","location","protocol","wechat","version","android","isBadAndroid","appVersion","iphone","ios","ipad","addEvent","cue","cueNo","isCmd","_EventUser","_event_remove","pull","_event_name","_event_space","sort","_event_handlers","EventListener","ctx","one","ori","removeEvent","targetTouches","moveCB","upCB","downEv","moveHdl","upHdl","evX","evY","prevent","userSelect","abs","passive","html_prop_class","buttons","pages","TabButton","SwiperItem","lazy","Swiper","bigSrc","smallSrc","smallWidth","smallLeft","mousedown","handler","big","small","canPlay","data-url","dataURL","img-width","img-height","tip","showFileName","provideUpload","createImageThumbnail","FileReader","readAsDataURL","createVideoThumbnail","getContext","videoWidth","videoHeight","drawImage","toDataURL","URL","createObjectURL","muted","setProgress","beginPath","translate","moveTo","arc","PI","closePath","fillStyle","fill","strokeStyle","stroke","thumbnail","thumbnailSrc","WIDGET","DocView","View","DialogMove","Grid","Table","TableColumns","TableColumn","TableTBody","TableTHead","TableTR","TableTD","TableTH","Tabs","Tab","Album","SubmitButton","Html","Tree","Leaf","PageBar","Split","Toggle","Video","Progress","Timeline","TimelineItem","SlidePicker","Hidden","Textarea","CheckBoxGroup","CheckBox","RadioGroup","Radio","TripleBox","Switch","FileUpload","ImageUpload","Option","Spinner","DatePicker","PickBox","Password","ComboBox","LinkBox","Jigsaw","Form","Rate","install","component","use","html_binds","setup","startY","endY","minY","maxY","optY","optH","self","moveY","lastY","lastTime","speed","lastSpeed","transition","nowY","nowTime","timeStamp","minSpeed","yuH","update","sc","nv","xv","bcrRoot","bcrOpt","ni","xi","asc","optionHeight","keepIndex","getIndex","transEnd","ret","ontouchstart","emit","hover","getInitLoaded","hasChild","childrenList","setExpanded","isFolder","boxSync","triple","checkstate","tripleAll","ico","html_attrs","$attrs","box","html_cont","tree","display","prop","clickStep","clickPopYear","headYear","headPopYear","popYear","auto-hide","clickPopYearStep","mousewheelPopYear","dt","clickPopYearItem","clickPopMonth","headMonth","headPopMonth","popMonth","clickPopMonthItem","bodyList","$event","hasTime","focusHour","scroll-y","scroll-view","bodyListHour","isHourDisabled","clickHour","focusMinute","bodyListMinute","isMinuteDisabled","clickMinute","focusSecond","bodyListSecond","isSecondDisabled","clickSecond","clickNow","clickConfirm","value2date","ny","oy","formatter","bd","ed","setDefaultTime","weekday","dh","dm","fixDate","beginDate","endDate","from","date","callback","focusDate","fm","minHour","maxHour","minMinute","maxMinute","minSecond","maxSecond","bodyListYear","bodyListMonth","bodyListWeek","bodyListDate","cell","O","F","_dialogSnapHooks","_dialogSnap","axis","isDialog","keepHover","hoverTimer","hoverMove","closed","animating","_pos","snapStyle","feat","getOptions","_dft_pos","getLocalElem","snapTargetElem","snapCls","layTop","layBottom","_fitpos","lp","lc","closeRelease","listenHide","setListenHide","hoverOver","evs","plus","hvOver","hvMove","setMaxHeight","extend","addClass","nextUntil","clickCancel","clickOK","hasYear","focusYear","min-value","minYear","max-value","maxYear","keep-index","yearList","hasMonth","focusMonth","minMonth","maxMonth","monthList","hasDate","minDate","maxDate","dateList","hasHour","hourList","hasMinute","minuteList","hasSecond","secondList","hasWeek","focusWeek","minWeek","maxWeek","weekList","nd","xd","weekFirst","weekLast","startYear","endYear","monthDays","minTime","maxTime","weekText","startDate","bindCache","runtimeX","events","dftX","getDefaultProp","cuid","config_uid","watchs","Proxy","obj","newval","delete","dftopt","defaultOptions","dfclsCache","idsAll","mergeDeep","extendDeep","vm","commands","ncm","merge","cmdHooks","ev","fireEvent","once","closest","sel","CustomEvent","opt","divide","slotsChildren","cls","isDisplay","ri","rowIndex","rs","isElement","has","assign","Map","jquery","prepend","before","constructor","cloneDeep","str","Function","allowMinus","className","$strTrim","urlEncode","urlDecode","decodeURIComponent","urlParam","A","substring","urlComplete","wifiConfirm","dtask","downloader","createDownload","nativeUI","showWaiting","task","toast","runtime","openFile","filename","closeWaiting","start","link","downloadTarget","networkinfo","getCurrentType","closePopup","slots","getChildren","ms","cr","d1","it","setInterval","d2","cos","clearInterval","print","ownerDocument","outerHTML","input2text","printf","frames","wPrintFrame","open","write","queryEncode","config","contentType","Qs","arrayFormat","ajax","lock","responseType","disposition","headers","decodeURI","blob","Blob","Submit","submit","rsv","validate","group","Ajax","defaults","interceptors","_dfopt","catchReject","reason","init_text","locked","isSuccess","isError","setThumbLeft","timer","thumb","thumbWidth","mainWidth","hf","track","mouseenter","TemplateJigsaw","hoverDrop","main","ondrop","_adjacent_where","_adjacent_query","_div","frag","createDocumentFragment","insertAdjacentHTML","insertBefore","lastElementChild","lastChild","firstElementChild","checkedValue","uncheckedValue","checkedText","uncheckedText","dataUrl","svg","imgWidth","imgHeight","square","columns","cols","dc","defaultColspan","MediaUploadItem","doFormat","rightward","activeElement","stepBy","endValue","beginValue","tip_uid","btns","decimal","isPartial","getRelates","c0","c1","c2","w_name","updated","indicator-dots","rot","rotate","swiper","maxWidth","cv","sticky","initFixedCells","requestAnimationFrame","fixedCells","reverse","colIndex","cellIndex","tbody","hiddens"],"mappings":"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,OACA,EACA,iBACA,iBACA,kBAED,YAAa,CACZ,OACA,EACA,iBACA,iBACA,kBAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,0BAA2B,CAC1B,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,iBACA,kBAED,8BAA+B,CAC9B,OACA,EACA,iBACA,kBAED,oBAAqB,CACpB,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,uCAAwC,CACvC,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,qCAAsC,CACrC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,uCAAwC,CACvC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,UAAW,CACV,OACA,GAED,aAAc,CACb,OACA,GAED,cAAe,CACd,OACA,GAED,eAAgB,CACf,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,SAAU,CACT,OACA,EACA,iBACA,iBACA,iBACA,kBAED,YAAa,CACZ,OACA,EACA,iBACA,iBACA,iBACA,kBAED,sBAAuB,CACtB,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,yBAA0B,CACzB,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,uBAAwB,CACvB,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,GAED,+BAAgC,CAC/B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iCAAkC,CACjC,OACA,GAED,+BAAgC,CAC/B,OACA,GAED,mCAAoC,CACnC,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gCAAiC,CAChC,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iCAAkC,CACjC,OACA,GAED,kCAAmC,CAClC,OACA,GAED,sCAAuC,CACtC,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,eAAgB,CACf,OACA,GAED,kBAAmB,CAClB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,eAAgB,CACf,OACA,GAED,kBAAmB,CAClB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,qBAAsB,CACrB,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,YAAa,CACZ,OACA,GAED,aAAc,CACb,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,8BAA+B,CAC9B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gCAAiC,CAChC,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,EACA,kBAED,yBAA0B,CACzB,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,qBAAsB,CACrB,OACA,IAGF,SAASg2B,EAAoBC,GAC5B,IAAIl/B,EAAoB8D,EAAEmF,EAAKi2B,GAC9B,OAAOx+B,QAAQC,UAAU4B,MAAK,WAC7B,IAAIhC,EAAI,IAAI0B,MAAM,uBAAyBi9B,EAAM,KAEjD,MADA3+B,EAAE2B,KAAO,mBACH3B,KAIR,IAAI4+B,EAAMl2B,EAAIi2B,GAAMzwB,EAAK0wB,EAAI,GAC7B,OAAOz+B,QAAQ+C,IAAI07B,EAAI/5B,MAAM,GAAG6D,IAAIjJ,EAAoBO,IAAIgC,MAAK,WAChE,OAAOvC,EAAoBsE,EAAEmK,EAAI0wB,EAAI,OAGvCF,EAAoBppB,KAAO,WAC1B,OAAO/W,OAAO+W,KAAK5M,IAEpBg2B,EAAoBxwB,GAAK,OACzBzQ,EAAOD,QAAUkhC,G,gHC7tCX13B,EAAO,KACP63B,EAAW,CACbpsB,MAAM,IAAIC,MAAOC,WAIJ,GACb5P,KAAM,QACNkE,OAAQ,CAACC,EAAA,YACTpC,MAAO,CAAC,OAAQ,QAChB6B,QAAS,CACPQ,UADO,WAEL,MAAO,CACL23B,OAAO,EACP13B,UAAU,KAIhBrC,SAAU,CACRqE,WADQ,WAEN,MAAO,uBAAyBlE,KAAKC,EAAEe,MAAQ,WAAahB,KAAKC,EAAEe,OAErE64B,sBAJQ,WAKN,OAAO75B,KAAKwE,UAAUkJ,YAExBosB,oBAPQ,WAQN,MAAO,+BAGXr1B,QAvBa,WAwBXk1B,EAASpsB,MAAO,IAAIC,MAAOC,UAC3B3L,GAAQ,aAAEtB,MAAMsB,GAChBA,EAAO9B,KAAKiJ,KAEdulB,UA5Ba,WA6BX1sB,EAAO,O,UClCE,gB,sFCLf,W,iKCSiB,GACbjE,KAAM,eACNkE,OAAQ,CAACg4B,EAAA,YACT7jB,OAAQ,CAAC,sBACTtW,MAAO,CAAC,aAAc,WAAY,SAAU,UAAW,UAAW,WAAY,WAAY,YAAa,aAAc,eAAgB,eACnI,cAAe,gBAAiB,iBAClChH,KANa,WAOX,MAAO,CACLmM,UAAU,EACVi1B,YAAa,KACbC,WAAY,KACZnwB,iBAAkB,uBAGtBrI,QAAS,CACPQ,UADO,WAEL,MAAO,CACLi4B,OAAQ,aACRC,SAAS,EACTx5B,YAAY,EACZ8P,WAAazQ,KAAK6iB,oBAAsB7iB,KAAK6iB,mBAAmB5iB,EAAEwQ,YAAe,MAGrFnG,YATO,SASK3E,GACV,IAAK,aAAEyzB,UAAUzzB,EAAG3F,KAAKC,EAAEi6B,QAAS,OAAO,EAC3C,IAAIjT,EAAKjnB,KAAKC,EAAEm6B,YAAc,aAAEC,YAAYr6B,KAAKC,EAAEm6B,YAC/CE,EAAKt6B,KAAKC,EAAEs6B,cAAgB,aAAEF,YAAYr6B,KAAKC,EAAEs6B,cACjDC,EAAKx6B,KAAKC,EAAEw6B,cAAgB,aAAEJ,YAAYr6B,KAAKC,EAAEw6B,cACrD,GAAIxT,GAAMqT,GAAME,EAAI,CAClB,IAAIr8B,EAAI,aAAE45B,UAAUpyB,EAAG3F,KAAKC,EAAEi6B,QAC9B,GAAKjT,IAAOA,EAAGhX,SAAS9R,EAAEg6B,aAAiBmC,IAAOA,EAAGrqB,SAAS9R,EAAEi6B,eAAmBoC,IAAOA,EAAGvqB,SAAS9R,EAAEk6B,cAAgB,OAAO,EAEjI,OAAO,GAEThwB,QApBO,SAoBCvN,GACNkF,KAAKi6B,WAAaj6B,KAAKC,EAAEiJ,WACzBlJ,KAAKiN,UAAUnS,IAEjBqa,QAxBO,WAyBLnV,KAAK+E,UAAW,GAElB21B,QA3BO,WA4BL16B,KAAK+E,UAAW,EAChB/E,KAAKg6B,YAAc,KACnBh6B,KAAK26B,aAEPA,UAhCO,WAiCL,IAAIh1B,EAAI3F,KAAKC,EAAEiJ,WACf,GAAIvD,EACF,GAAK3F,KAAKsK,YAAY3E,GAEf,CACL,IAAIi1B,EAAK,YACLA,EAAG9qB,KAAKnK,IACV3F,KAAK+J,IAAIpE,EAAEuN,QAAQ0nB,EAAI,aAJzB56B,KAAKC,EAAEk6B,SAAWn6B,KAAK+J,IAAI/J,KAAKi6B,aAStChzB,KA7CO,WA8CD,aAAEpG,GAAGg6B,OACP,aAAEtX,UAAF,+BACE3kB,MAAOoB,KAAKC,EAAEiJ,WACdgxB,OAAQl6B,KAAKC,EAAEi6B,QACZl6B,KAAK86B,aAHV,IAIEx5B,QAAStB,KAAK+6B,oBAGhB/6B,KAAK+E,UAAW,GAGpBg2B,iBAzDO,SAyDUhxB,GACf/J,KAAK+J,IAAIA,GACT/J,KAAK+E,UAAW,EAChB/E,KAAKg6B,YAAc,KACd,aAAEn5B,GAAGg6B,QACR76B,KAAK6M,SAETiuB,UAhEO,WAiEL,IAAIjG,EAAW70B,KAAKC,EAAE40B,SAClBD,EAAW50B,KAAKC,EAAE20B,SAClBh6B,EAAIoF,KAAK6iB,oBAAsB7iB,KAAK6iB,mBAAmBmY,QAC3D,GAAIpgC,EACF,GAAIA,EAAE,IAAMoF,KAAM,CAChB,IAAIy3B,EAAM78B,EAAE,GAAG4P,UACJ,MAAPitB,IAA4B,MAAZ7C,GAAoBA,EAAW6C,KAAM7C,EAAW6C,QAC/D,GAAI78B,EAAE,IAAMoF,KAAM,CACvB,IAAIkrB,EAAQtwB,EAAE,GAAG4P,UACJ,MAAT0gB,IAA8B,MAAZ2J,GAAoBA,EAAW3J,KAAQ2J,EAAW3J,GAG5E,MAAO,CACL2J,WACAD,aAGJqG,gBAlFO,SAkFSt1B,EAAGlH,GACjB,GAAIkH,GAAKlH,GAAKA,EAAEpC,QAAU2D,KAAK0Z,UAAW,CACxC,IAAInS,EAAIvH,KAAKC,EAAEi6B,OACXj8B,EAAIQ,EAAEK,MAAQ,KACdD,EAAIJ,EAAEpC,OAAOsR,SAAWlP,EAAEpC,OAAS2D,KAAK0Z,UAAUnS,EAAE9I,EAAEpC,QACtD6+B,EAAKr8B,EAAE2L,UACX,GAAI7E,GAAKu1B,GAAM,aAAE9B,UAAUzzB,EAAG4B,IAAM,aAAE6xB,UAAU8B,EAAI3zB,GAAI,CACtD,IAAIpJ,EAAI,aAAE45B,UAAUpyB,EAAG4B,GACnB4zB,EAAK,aAAEpD,UAAUmD,EAAI3zB,GACzB,IAAK,aAAEsI,KAAK,IAAM5R,EAAI,KAAM,CAACE,IAAGg9B,OAC9B,MAAO,CAACn7B,KAAKmM,eAAgBlO,EAAGY,EAAEsN,mBAI1CnG,YAhGO,WAgGO,WACRvH,EAAI,GACJ8I,EAAIvH,KAAKC,EAAEi6B,QAAU,GACrBkB,EAAW,EACX7zB,EAAE0I,SAAS,MAAMmrB,IACjB7zB,EAAE0I,SAAS,MAAMmrB,IACjB7zB,EAAE0I,SAAS,MAAMmrB,IACrB,IAAIC,EAAW,QAAQvrB,KAAKvI,KAAO,QAAQuI,KAAKvI,GAsChD,OApCIvH,KAAKC,EAAEU,YAAYlC,EAAE/E,KAAK,eAAE,SAAU,CACxC2G,MAAO,2BACP8F,SAAUnG,KAAKC,EAAEkG,YAEfnG,KAAK+E,UACPtG,EAAE/E,KAAK,eAAEsI,EAAA,WAAQ,CACfd,aAAa,EACbb,MAAO,CAAC,mCAAoCL,KAAKqE,UAAW,CAAC,YAAa+2B,EAAU,aAAcC,IAClG9rB,MAAO,CAAC,2BAA6B6rB,GAAY,IACjD12B,QAAS1E,KACTkC,UAAU,EACV8E,KAAM,CACJ3K,OAAQ,kBAAM,EAAKqR,YACnBxG,SAAU,IACVC,OAAQ,GAEVC,QAASpH,KAAK06B,SACb,CACDz2B,QAAS,kBAAM,eAAEq3B,EAAA,WAAD,eAAC,gBACft4B,OAAQ,IACRu4B,KAAK,EACLxL,QAAS,EAAKiK,aAAe,EAAK/5B,EAAEiJ,YAAc,GAClDtK,MAAO,EAAKqB,EAAEiJ,WACdgxB,OAAQ,EAAKj6B,EAAEi6B,QACZ,EAAKY,aANM,IAOdV,WAAY,EAAKn6B,EAAEm6B,WACnBG,aAAc,EAAKt6B,EAAEs6B,aACrBE,aAAc,EAAKx6B,EAAEw6B,aACrBe,YAAa,EAAKv7B,EAAEu7B,YACpBC,cAAe,EAAKx7B,EAAEw7B,cACtBC,cAAe,EAAKz7B,EAAEy7B,cACtBp6B,QAAS,EAAKy5B,iBACd,eAAgB,SAACjgC,EAAGqV,GAAU,EAAK6pB,YAAc7pB,EAAKvR,cAIrDH,IAGXoB,SAAU,CACR8L,WADQ,WACK,WACX,wCACK3L,KAAK0P,eADV,IAEEmlB,SAAU,SAAClvB,EAAGlH,EAAGmN,GACf,GAAIjG,GAAK,aAAEoyB,UAAUpyB,EAAG,EAAK1F,EAAEi6B,QAAU,aAAEnC,UAAUt5B,EAAG,EAAKwB,EAAEi6B,QAC7D,OAAO,EAAKnuB,QAAQH,IAExBgpB,SAAU,SAACjvB,EAAGlH,EAAGmN,GACf,GAAIjG,GAAK,aAAEoyB,UAAUpyB,EAAG,EAAK1F,EAAEi6B,QAAU,aAAEnC,UAAUt5B,EAAG,EAAKwB,EAAEi6B,QAC7D,OAAO,EAAKnuB,QAAQH,IAExB+pB,QAAS,SAAChwB,EAAGlH,EAAGmN,GACd,IAAI9Q,EAAI,EAAKmgC,gBAAgBt1B,EAAGlH,GAChC,GAAI3D,EAAG,OAAO,EAAKiR,QAAQH,EAAG9Q,IAEhC8a,gBAAiB,SAACjQ,EAAGlH,EAAGmN,GACtB,IAAI,EAAK3L,EAAE2R,SAAX,CAEA,GAAIjM,EAAG,CACL,IAAIzH,EAAIyH,EACJxH,EAAI,aAAE45B,UAAU75B,EAAG,EAAK+B,EAAEi6B,QAC1B5S,EAAInpB,EAAE65B,cACN/5B,EAAI,KACJmB,EAAI,IACR,GAAIkoB,EAAIrpB,GAAKqpB,EAAIloB,EACf,OAAO,EAAK2M,QAAQ,CAAC/P,KAAM,eAAgB,CAACoD,EAAGnB,IACjD,GAAIC,GAAK,aAAE45B,WAAW35B,EAAG,EAAK8B,EAAEi6B,QAC9B,OAAO,EAAKnuB,QAAQ,CAAC/P,KAAM,eAAgB,CAAC,aAAE87B,WAAW,IAAItqB,KAAM,EAAKvN,EAAEi6B,UAG9E,GAAI,EAAKxvB,iBAAiB,cAAgB/E,GAAKA,EAAI,aAAEmyB,WAAW,IAAItqB,KAAQ,EAAKvN,EAAEi6B,QACjF,OAAO,EAAKnuB,QAAQ,CAAC/P,KAAM,aAAc,CAAC,EAAKiE,EAAEw1B,YACnD,GAAI,EAAK/qB,iBAAiB,aAAe/E,GAAKA,EAAI,aAAEmyB,WAAW,IAAItqB,KAAQ,EAAKvN,EAAEi6B,QAChF,OAAO,EAAKnuB,QAAQ,CAAC/P,KAAM,YAAa,CAAC,EAAKiE,EAAEy1B,WAClD,IAAI56B,EAAI,EAAK+nB,oBAAsB,EAAKA,mBAAmB8Y,gBAC3D,OAAI7gC,EAAU,EAAKiR,QAAQ,CAAC/P,KAAM,WAAYlB,QAA9C,OAINiU,WAxCQ,WAyCN,OAAO,aAAElO,GAAGg6B,OAAS,CACnBnsB,UAAU,GACR,CACFrG,QAASrI,KAAKqI,QACd8M,QAASnV,KAAKmV,UAGlB1F,UAhDQ,WAiDN,MAAO,CACL5L,QAAS7D,KAAKoL,UAAYpL,KAAKiH,SCtN1B,gB,qECCE,GACbpJ,KAAM,aACNkE,OAAQ,CAACg4B,EAAA,YACTl6B,SAAU,CACR0O,UADQ,WAEN,MAAO,cCNA,gB,8ICKP4V,EAAW,SAASrpB,GACxB,GAAIkF,KAAK47B,gBAAiB,CACxB,IAAItW,EAAOxqB,EAAEuB,OAAOioB,WACpBtkB,KAAK67B,gBAA0B,GAARvW,EAAY,OAASA,GAAQtlB,KAAK87B,aAAe,QAAU,SAClF97B,KAAK2C,MAAMo5B,iBAAiBxsB,MAAMsb,UAAlC,qBAA4DvF,EAAKtlB,KAAK47B,gBAAtE,OAEF,GAAI57B,KAAKg8B,gBAAiB,CACxB,IAAI5W,EAAMtqB,EAAEuB,OAAO0G,UACnB/C,KAAKi8B,gBAAyB,GAAP7W,EAAW,MAAQA,GAAOplB,KAAKk8B,aAAe,SAAW,SAChFl8B,KAAK2C,MAAMw5B,iBAAiB5sB,MAAMsb,UAAlC,qBAA4DzF,EAAIplB,KAAKg8B,gBAArE,OAEFh8B,KAAKmkB,SAASrpB,IAGV,EAAc,SAASshC,GAAM,IAC7Bt8B,EAAKu8B,EAAKC,EAAKC,EAASC,EADK,OAE7BvyB,EAAKjK,KAAK2C,MAAM85B,gBAChBx8B,EAAID,KAAK47B,gBACTtU,EAAItnB,KAAKg8B,gBACb,aAAE9N,QAAO,SAACwO,GACH58B,IACHA,EAAM,EAAK6C,MAAMo5B,mBAAqBK,EAAK//B,OAAS,IAAM,IAC1DggC,EAAMD,EAAKtV,QACXwV,EAAMF,EAAKrV,QACXwV,EAAUtyB,EAAGqa,WACbkY,EAASvyB,EAAGlH,UACZq5B,EAAK//B,OAAOK,WAAWsc,UAAUC,IAAI,WAE3B,MAARnZ,EACFmK,EAAGqa,WAAaiY,GAAYG,EAAK5V,QAAUuV,GAAOp8B,EAElDgK,EAAGlH,UAAYy5B,GAAWE,EAAK3V,QAAUuV,GAAOhV,KAEjD,SAACqV,EAAMrO,GACJA,GACF8N,EAAK//B,OAAOK,WAAWsc,UAAUnG,OAAO,YACzCupB,IAGU,GACbr6B,OAAQ,CAACoH,EAAA,YACTvJ,MAAO,CAAC,UAAW,UAAW,aAAc,cAC5ChH,KAHa,WAIX,MAAO,CACLgjC,iBAAiB,EACjBI,iBAAiB,EACjBF,cAAc,EACdI,cAAc,EACdL,gBAAiB,OACjBI,gBAAiB,MACjB33B,eAAe,IAGnBkkB,MAAO,CACLqT,gBADK,SACWl2B,GACd3F,KAAKukB,iBAAiB5e,IAExBs2B,gBAJK,SAIWt2B,GACd3F,KAAKukB,iBAAiB5e,IAExBi2B,gBAPK,SAOWj2B,GACd,IAAI9C,EAAK7C,KAAK6C,KACVA,IACF8C,EAAI9C,EAAGvF,aAAa,kBAAmB,IAAMuF,EAAGyR,gBAAgB,qBAGpE0nB,gBAbK,SAaWr2B,GACd,IAAI9C,EAAK7C,KAAK6C,KACVA,IACF8C,EAAI9C,EAAGvF,aAAa,kBAAmB,IAAMuF,EAAGyR,gBAAgB,sBAItE7S,QAAS,CACP0iB,SADO,SACErpB,KAGTypB,iBAJO,aAOPC,wBAPO,SAOiB1pB,KAIxB8hC,SAXO,SAWE9hC,EAAGwsB,EAAGrnB,EAAGrF,EAAGgR,EAAGnN,GACtB,IAAI4D,EAAIrC,KAAK68B,MACb,IAAKx6B,EAAG,OAAO5D,GAAKA,IACpB,IAIII,EAAGhE,EAJHyH,EAAItC,KAAK2C,MAAMm6B,aAAez6B,EAC9BnE,EAAI,aAAE4E,IAAIT,GACVlE,EAAI,aAAE2E,IAAIR,GACViF,EAAIzM,EAAI,aAAEgI,IAAIhI,GAAKqD,EA8CvB,IA5CS,MAALmpB,GAAaxsB,KACN,MAALwsB,GAActP,MAAMsP,IAGZA,EAAExT,QAAQ,OACpBjV,EAAI0I,EAAE6d,IAAMjnB,EAAEinB,KAAQkC,EAAE3nB,MAAM,IACpB2nB,EAAExT,QAAQ,UACpBjV,EAAI0I,EAAE8d,OAASlnB,EAAEinB,IAAMlnB,EAAE8E,SAAWskB,EAAE3nB,MAAM,GAC7B,WAAN2nB,EACTzoB,EAAI0I,EAAE6d,IAAMjnB,EAAEinB,KAAQlnB,EAAE8E,OAAS,EAAMuE,EAAEvE,OAAS,GACnC,YAANskB,EACL/f,EAAE6d,IAAMlnB,EAAEknB,IACZvmB,EAAIwD,EAAEU,UAAY7E,EAAEknB,IAAM7d,EAAE6d,IACrB7d,EAAE8d,OAASnnB,EAAEmnB,SACpBxmB,EAAIwD,EAAEU,UAAYwE,EAAE8d,OAASnnB,EAAEmnB,SAE7B9d,EAAE6d,IAAMlnB,EAAEknB,KAAO7d,EAAE8d,OAASnnB,EAAEmnB,UAChCxmB,EAAI0I,EAAE6d,IAAMjnB,EAAEinB,KAAQlnB,EAAE8E,OAAS,EAAMuE,EAAEvE,OAAS,KAfpDnE,EAAI,aAAEiH,OAAOwhB,GACTxsB,IAAG+D,EAAI0I,EAAE6d,IAAMjnB,EAAEinB,IAAMvmB,MAiBtB,MAALoB,GAAanF,KACN,MAALmF,GAAc+X,MAAM/X,IAGZqnB,EAAExT,QAAQ,QACpBjZ,EAAI0M,EAAE+d,KAAOnnB,EAAEmnB,MAASgC,EAAE3nB,MAAM,IACtB2nB,EAAExT,QAAQ,SACpBjZ,EAAI0M,EAAEge,MAAQpnB,EAAEmnB,KAAOpnB,EAAEuX,QAAU6R,EAAE3nB,MAAM,GAC5B,WAANM,EACTpF,EAAI0M,EAAE+d,KAAOnnB,EAAEmnB,MAASpnB,EAAEuX,MAAQ,EAAMlO,EAAEkO,MAAQ,GACnC,YAANxV,EACLsH,EAAE+d,KAAOpnB,EAAEonB,KACbzqB,EAAIwH,EAAEiiB,WAAapmB,EAAEonB,KAAO/d,EAAE+d,KACvB/d,EAAEge,MAAQrnB,EAAEqnB,QACnB1qB,EAAIwH,EAAEiiB,WAAa/c,EAAEge,MAAQrnB,EAAEqnB,QAE7Bhe,EAAE+d,KAAOpnB,EAAEonB,MAAQ/d,EAAEge,MAAQrnB,EAAEqnB,SACjC1qB,EAAI0M,EAAE+d,KAAOnnB,EAAEmnB,MAASpnB,EAAEuX,MAAQ,EAAMlO,EAAEkO,MAAQ,KAfpD5a,EAAI,aAAEiL,OAAO7F,GACTnF,IAAGD,EAAI0M,EAAE+d,KAAOnnB,EAAEmnB,KAAOzqB,KAiBxB,MAAL+Q,IACG,MAAL/M,IAAcA,GAASA,EAAI+M,GACtB,MAAL/Q,IAAcA,GAASA,EAAI+Q,KAEzBhR,GAAW,MAALiE,GAAkB,MAALhE,EASZ,MAALgE,IAAWwD,EAAEU,UAAYlE,GACpB,MAALhE,IAAWwH,EAAEiiB,WAAazpB,GAC9B4D,GAAKA,QAX4B,CACjC,IAAI4U,EAAIhR,EAAEU,UACN,EAAIV,EAAEiiB,WACV,aAAE5X,MAAK,SAACxT,GACG,MAAL2F,IAAWwD,EAAEU,UAAYsQ,GAAKxU,EAAIwU,GAAKna,GAClC,MAAL2B,IAAWwH,EAAEiiB,WAAa,GAAKzpB,EAAI,GAAK3B,GACtC,IAANA,GAAWuF,GAAKA,MACf7D,KAQPmiC,UA9EO,SA8EGjiC,EAAGwsB,EAAG1sB,EAAGgR,EAAGnN,GACpB,GAAyB,IAArBuL,UAAU5Q,OACZ,OAAO4G,KAAK68B,MAAM95B,UACH,WAAb,eAAOjI,KACT2D,EAAImN,EAAGA,EAAIhR,EAAGA,EAAI0sB,EAAGA,EAAIxsB,EAAGA,EAAI,MAEjB,oBAAN8Q,IACTnN,EAAImN,EAAGA,EAAI,MAEb5L,KAAK48B,SAAS9hC,EAAGwsB,EAAG,KAAM1sB,EAAGgR,EAAGnN,IAGlCu+B,UA1FO,SA0FGliC,EAAGmF,EAAGrF,EAAGgR,EAAGnN,GACpB,GAAyB,IAArBuL,UAAU5Q,OACZ,OAAO4G,KAAK68B,MAAMvY,WACH,WAAb,eAAOxpB,KACT2D,EAAImN,EAAGA,EAAIhR,EAAGA,EAAIqF,EAAGA,EAAInF,EAAGA,EAAI,MAEjB,oBAAN8Q,IACTnN,EAAImN,EAAGA,EAAI,MAEb5L,KAAK48B,SAAS9hC,EAAG,KAAMmF,EAAGrF,EAAGgR,EAAGnN,IAElCo+B,IArGO,WAsGL,OAAO,aAAEh8B,GAAGg6B,OAAS76B,KAAK6C,KAAO7C,KAAK2C,MAAM85B,iBAAmBz8B,KAAK2C,MAAMm6B,aAE5EniB,kBAxGO,SAwGWngB,GAChB,OAAOwF,KAAKC,EAAEgkB,SAAWjkB,KAAKC,EAAE0V,QAAU,CAAC,eAAE,MAAO,CAChD5R,IAAK,kBACL1D,MAAO,oBACP48B,SAAU9Y,EAAShlB,KAAKa,MACxB8Y,aAAc9Y,KAAKk9B,YAClB,eAAE,MAAO,CACV78B,MAAO,gBACPkP,MAAOvP,KAAK23B,uBACZ5zB,IAAK,eACJvJ,GAAMwF,KAAKoO,OAAOnK,SAAWjE,KAAKoO,OAAOnK,aAC3C,aAAEpD,GAAGg6B,QAAU76B,KAAKC,EAAEgkB,SAAW,CAAC,eAAE,MAAO,CAC1C5jB,MAAO,gBACP0D,IAAK,cACLukB,YAAa,EAAYnpB,KAAKa,OAC7B,eAAE,MAAO,CACVK,MAAO,oBACP0D,IAAK,wBAEN,aAAElD,GAAGg6B,QAAU76B,KAAKC,EAAE0V,SAAW,CAAC,eAAE,MAAO,CAC1CtV,MAAO,gBACP0D,IAAK,cACLukB,YAAa,EAAYnpB,KAAKa,OAC7B,eAAE,MAAO,CACVK,MAAO,oBACP0D,IAAK,wBAEJvJ,GAAMwF,KAAKoO,OAAOnK,SAAWjE,KAAKoO,OAAOnK,WAGhDk5B,YAtIO,WAuIL,IAAI,aAAEt8B,GAAGg6B,QAAW76B,KAAK2C,MAAMm6B,aAAgB98B,KAAK6C,KAApD,CACA,IAEI5C,EAAGqnB,EAFD8V,EAAOp9B,KAAK2C,MAAM85B,gBAAgB7V,wBAClCyW,EAAOr9B,KAAK2C,MAAMm6B,YAAYlW,wBAEpC,GAAI5mB,KAAKC,EAAEgkB,QAAS,CAClB,IAAIhf,EAAOo4B,EAAK5nB,MAAQ2nB,EAAK3nB,OAAS4nB,EAAK5nB,MAAQ2nB,EAAK3nB,MACpDxQ,GAAQA,GAAQ,IAAGA,GAAO,GAC1BA,IACFhF,EAAI,CACFgF,OACAq4B,QAASF,EAAK3nB,MAAQ4nB,EAAK5nB,QAIjC,GAAIzV,KAAKC,EAAE0V,QAAS,CAClB,IAAI,EAAO0nB,EAAKr6B,OAASo6B,EAAKp6B,QAAUq6B,EAAKr6B,OAASo6B,EAAKp6B,OACvD,IACFskB,EAAI,CACFriB,KAAA,EACAq4B,QAASF,EAAKp6B,OAASq6B,EAAKr6B,SAIlC,MAAO,CAAC/C,IAAGqnB,OAEb4V,WAhKO,WAiKL,IAAMK,EAAQv9B,KAAKm9B,cACnB,GAAKI,EAAL,CACA,IAAMhS,EAAOvrB,KAAK6C,KAAK+jB,wBAChB3mB,EAAQs9B,EAARt9B,EAAGqnB,EAAKiW,EAALjW,EACV,GAAIrnB,EAAG,CACL,IAAIu9B,EAAOv9B,EAAEq9B,QAAU/R,EAAK9V,MAC5BzV,KAAK2C,MAAMo5B,iBAAiBxsB,MAAMkG,MAAQ7P,KAAKC,IAAI,GAAI23B,GAAQ,KAC/Dx9B,KAAK87B,aAAe77B,EAAEgF,KACtBjF,KAAK47B,gBAAkB37B,EAAEgF,MAAShF,EAAEgF,OAAS,EAAIhF,EAAEq9B,UAAY/R,EAAK9V,OAAS+nB,EAAO,GAAK,GAAKA,EAAO,UAErGx9B,KAAK87B,aAAe97B,KAAK47B,iBAAkB,EAE7C,GAAItU,EAAG,CACL,IAAImW,EAAOnW,EAAEgW,QAAU/R,EAAKvoB,OAC5BhD,KAAK2C,MAAMw5B,iBAAiB5sB,MAAMvM,OAAS4C,KAAKC,IAAI,GAAI43B,GAAQ,KAChEz9B,KAAKk8B,aAAe5U,EAAEriB,KACtBjF,KAAKg8B,gBAAkB1U,EAAEriB,MAASqiB,EAAEriB,OAAS,EAAIqiB,EAAEgW,UAAY/R,EAAKvoB,QAAUy6B,EAAO,GAAK,GAAKA,EAAO,UAEtGz9B,KAAKk8B,aAAel8B,KAAKg8B,iBAAkB,IAG/C0B,eAtLO,WAuLD19B,KAAKsE,gBACTtE,KAAKk9B,aACLl9B,KAAK2C,MAAM85B,iBAAmBz8B,KAAK2C,MAAM85B,gBAAgBtiB,cAAc,IAAIC,MAAM,cAGrFva,SAAU,CACR83B,uBADQ,aAIR7f,kBAJQ,WAKN,IAAI6lB,EAAK39B,KAAKC,EAAEgkB,QACZ2Z,EAAK59B,KAAKC,EAAE0V,QAChB,MAAO,CACL,WAAYgoB,GAAMC,EAClB,aAAcD,EACd,aAAcC,EACd,gBAAiB59B,KAAKC,EAAE49B,cAK9Bp5B,QA9Oa,WA8OH,WACJzE,KAAKC,EAAE69B,YAAc99B,KAAK6C,MAC5B9E,YAAW,WACT,IAAI8E,EAAK,EAAKA,KAAKwP,cAAc,EAAKpS,EAAE69B,YACxCj7B,GAAM,EAAKk6B,UAAUl6B,EAAI,aAIzB,aAAEhC,GAAGg6B,SAAY76B,KAAKC,EAAEgkB,UAAWjkB,KAAKC,EAAE0V,UAC9C3V,KAAK2C,MAAM85B,iBAAmB,IAAI,OAAez8B,KAAK09B,gBAAgBljB,QAAQxa,KAAK2C,MAAM85B,iBACzFz8B,KAAK2C,MAAMm6B,aAAe,IAAI,OAAe98B,KAAK09B,gBAAgBljB,QAAQxa,KAAK2C,MAAMm6B,aACrF98B,KAAK6C,MAAQ,IAAIk7B,iBAAiB/9B,KAAKwkB,yBAAyBhK,QAAQxa,KAAK6C,KAAM,CAACm7B,YAAY,MAElGC,YA3Pa,WA4PXj+B,KAAKsE,eAAgB,GAEvB45B,UA9Pa,WA+PXl+B,KAAKsE,eAAgB,EAEjBtE,KAAKC,EAAE0V,SAAW3V,KAAK2C,MAAMw5B,kBAC/Bn8B,KAAK+8B,UAAU,aAAEj3B,OAAO9F,KAAK2C,MAAMw5B,iBAAiB5sB,MAAMsb,WAAa7qB,KAAKg8B,iBAE1Eh8B,KAAKC,EAAEgkB,SAAWjkB,KAAK2C,MAAMo5B,kBAC/B/7B,KAAKg9B,UAAU,aAAEl3B,OAAO9F,KAAK2C,MAAMo5B,iBAAiBxsB,MAAMsb,WAAa7qB,KAAK47B,mB,UC/SrE,gB,kFCLf,W,oCCAA,W,kCCAA,uBAEMuC,EAAQ,CACZ,OAAQ,YACR,OAAQ,aACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,8BACR,OAAQ,uCACR,MAAO,yBACP,OAAQ,eACR,QAAS,eACT,QAAS,eACT,OAAQ,iBACR,OAAQ,qBACR,OAAQ,0CACR,OAAQ,aACR,OAAQ,sBACR,OAAQ,iBACR,OAAQ,sBACR,OAAQ,qBACR,OAAQ,iBACR,OAAQ,iBACR,MAAO,cACP,OAAQ,kBACR,OAAQ,eACR,OAAQ,wBACR,OAAQ,aACR,SAAU,sBACV,OAAQ,kBACR,QAAS,mBACT,OAAQ,YACR,OAAQ,sBACR,KAAM,aACN,OAAQ,eACR,OAAQ,+BACR,OAAQ,oBACR,OAAQ,sBACR,OAAQ,oBACR,OAAQ,6BACR,OAAQ,sBACR,QAAS,qBACT,OAAQ,uBACR,OAAQ,cACR,MAAO,8BACP,OAAQ,gBACR,QAAS,aACT,QAAS,qBACT,OAAQ,aACR,OAAQ,6BACR,OAAQ,2BACR,OAAQ,uBACR,OAAQ,6BACR,OAAQ,oBACR,OAAQ,kBACR,QAAS,kBACT,OAAQ,WACR,OAAQ,cACR,OAAQ,yBACR,OAAQ,cACR,OAAQ,6BACR,SAAU,YACV,OAAQ,yBACR,OAAQ,2BACR,OAAQ,qBACR,QAAS,0EACT,OAAQ,qBACR,OAAQ,oBACR,OAAQ,gBACR,OAAQ,wBACR,OAAQ,wBACR,OAAQ,yBACR,OAAQ,6BACR,OAAQ,gCACR,QAAS,gCACT,OAAQ,yBACR,QAAS,uBACT,OAAQ,cACR,MAAO,mBACP,OAAQ,mBACR,OAAQ,0BACR,OAAQ,gBACR,OAAQ,cACR,OAAQ,oBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,mBACR,OAAQ,uBACR,OAAQ,iBACR,OAAQ,+BACR,MAAO,sBACP,OAAQ,cACR,OAAQ,iBACR,OAAQ,4BACR,OAAQ,+BACR,OAAQ,cACR,OAAQ,YACR,OAAQ,oBACR,QAAS,qBACT,MAAO,qBACP,KAAM,aACN,OAAQ,oBACR,OAAQ,cACR,QAAS,cACT,OAAQ,qBACR,OAAQ,2BACR,OAAQ,kBACR,OAAQ,mBACR,OAAQ,YACR,QAAS,YACT,OAAQ,YACR,OAAQ,mBACR,OAAQ,0BACR,OAAQ,eACR,OAAQ,YACR,OAAQ,YACR,OAAQ,YACR,OAAQ,uBACR,OAAQ,eACR,OAAQ,gCACR,OAAQ,yBACR,OAAQ,qBACR,OAAQ,gCACR,MAAO,cACP,OAAQ,cACR,OAAQ,iBACR,OAAQ,YACR,OAAQ,mCACR,OAAQ,oBACR,OAAQ,2BACR,QAAS,aACT,QAAS,cACT,QAAS,+BACT,OAAQ,aACR,QAAS,aACT,OAAQ,aACR,OAAQ,aACR,MAAO,2BACP,OAAQ,kBACR,OAAQ,oBACR,OAAQ,cACR,SAAU,sBACV,OAAQ,sBACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,kBACR,OAAQ,cACR,WAAY,kBACZ,OAAQ,aACR,OAAQ,iBACR,OAAQ,iBACR,OAAQ,4BACR,OAAQ,4BACR,OAAQ,cACR,OAAQ,kBACR,SAAU,kBACV,OAAQ,kBACR,OAAQ,kBACR,OAAQ,kBACR,OAAQ,oBACR,OAAQ,cACR,OAAQ,YACR,OAAQ,YACR,OAAQ,YACR,OAAQ,YACR,OAAQ,0BACR,OAAQ,2BACR,OAAQ,sBACR,OAAQ,uBACR,OAAQ,yBACR,OAAQ,cACR,MAAO,yBACP,OAAQ,cACR,OAAQ,iBACR,SAAU,iBACV,MAAO,oBACP,OAAQ,YACR,QAAS,aACT,OAAQ,oBACR,OAAQ,eACR,OAAQ,cACR,OAAQ,wBACR,OAAQ,cACR,OAAQ,wBACR,OAAQ,sBACR,SAAU,sBACV,OAAQ,cACR,OAAQ,yBACR,OAAQ,yBACR,OAAQ,yBACR,OAAQ,kBACR,SAAU,oBACV,OAAQ,aACR,OAAQ,aACR,OAAQ,YACR,OAAQ,aACR,OAAQ,qCACR,OAAQ,aACR,QAAS,aACT,OAAQ,aACR,QAAS,YACT,QAAS,aACT,OAAQ,qCACR,OAAQ,6BACR,OAAQ,0BACR,QAAS,aACT,OAAQ,cACR,OAAQ,oBACR,MAAO,yBACP,OAAQ,6BACR,OAAQ,yBACR,OAAQ,yBACR,OAAQ,yBACR,OAAQ,4BACR,OAAQ,yBACR,OAAQ,kBACR,QAAS,aACT,MAAO,uBACP,OAAQ,cACR,QAAS,mBACT,OAAQ,oBACR,OAAQ,uBACR,iBAAkB,6BAClB,OAAQ,uBACR,QAAS,aACT,OAAQ,sBACR,OAAQ,iBACR,OAAQ,kBACR,OAAQ,YACR,OAAQ,iCACR,OAAQ,qBACR,OAAQ,uBACR,OAAQ,mCACR,OAAQ,2BACR,OAAQ,2BACR,OAAQ,kCACR,OAAQ,gCACR,OAAQ,cACR,OAAQ,eACR,OAAQ,oBACR,OAAQ,0BACR,OAAQ,cACR,OAAQ,cACR,OAAQ,iBACR,OAAQ,kBACR,OAAQ,yBACR,OAAQ,uBACR,OAAQ,2BACR,QAAS,eACT,OAAQ,4BACR,MAAO,qBACP,OAAQ,wBACR,OAAQ,wBACR,OAAQ,oBACR,OAAQ,wBACR,OAAQ,wBACR,OAAQ,wBACR,OAAQ,YACR,OAAQ,0BACR,OAAQ,YACR,OAAQ,gCACR,OAAQ,0BACR,OAAQ,gCACR,OAAQ,gCACR,QAAS,4EACT,OAAQ,0BACR,OAAQ,wBACR,OAAQ,oBACR,OAAQ,yBACR,QAAS,aACT,SAAU,oCACV,MAAO,yBACP,QAAS,uBACT,OAAQ,4BACR,OAAQ,iBACR,OAAQ,kBACR,MAAO,kBACP,OAAQ,oBACR,QAAS,oBACT,OAAQ,yBACR,MAAO,uBACP,OAAQ,uBACR,OAAQ,qBACR,MAAO,aACP,OAAQ,sBACR,MAAO,yBACP,OAAQ,cACR,OAAQ,yBACR,MAAO,uBACP,OAAQ,cACR,OAAQ,YACR,OAAQ,uBACR,QAAS,uBACT,OAAQ,gCACR,QAAS,sBACT,MAAO,uBACP,OAAQ,8BACR,MAAO,uBACP,OAAQ,cACR,OAAQ,kBACR,OAAQ,yBACR,OAAQ,gBACR,MAAO,yBACP,OAAQ,2BACR,OAAQ,cACR,OAAQ,cACR,OAAQ,0BACR,OAAQ,2BACR,OAAQ,iBACR,OAAQ,sBACR,OAAQ,wBACR,UAAW,qCACX,UAAW,0CACX,OAAQ,cACR,QAAS,cACT,MAAO,mBACP,QAAS,qBACT,SAAU,8BACV,OAAQ,4BACR,OAAQ,YACR,OAAQ,uBACR,OAAQ,uBACR,OAAQ,kCACR,OAAQ,wBACR,OAAQ,qBACR,OAAQ,qBACR,OAAQ,qBACR,OAAQ,qBACR,OAAQ,sBACR,OAAQ,cACR,OAAQ,mBACR,QAAS,mBACT,OAAQ,sBACR,OAAQ,cACR,OAAQ,cACR,OAAQ,mCACR,OAAQ,2BACR,OAAQ,uBACR,UAAW,uBACX,OAAQ,kBACR,OAAQ,oBACR,OAAQ,4BACR,OAAQ,kCACR,OAAQ,0BACR,OAAQ,4BACR,OAAQ,YACR,OAAQ,gBACR,WAAY,wBACZ,UAAW,uBACX,OAAQ,YACR,OAAQ,YACR,OAAQ,gBACR,OAAQ,gCACR,QAAS,gCACT,KAAM,sBACN,QAAS,gBACT,OAAQ,oBACR,OAAQ,oBACR,OAAQ,yBACR,OAAQ,yBACR,OAAQ,oBACR,OAAQ,oBACR,QAAS,wBACT,WAAY,wBACZ,OAAQ,2BACR,OAAQ,0BACR,OAAQ,aACR,QAAS,aACT,OAAQ,uBACR,UAAW,uBACX,OAAQ,kBACR,OAAQ,YACR,MAAO,sBACP,OAAQ,cACR,OAAQ,2BACR,OAAQ,iBACR,OAAQ,sBACR,OAAQ,4BACR,OAAQ,qBACR,OAAQ,aACR,OAAQ,YACR,OAAQ,cACR,SAAU,sBACV,MAAO,yBACP,OAAQ,yBACR,OAAQ,uBACR,OAAQ,eACR,OAAQ,YACR,OAAQ,YACR,OAAQ,aACR,QAAS,aACT,OAAQ,kCACR,OAAQ,kCACR,OAAQ,mCACR,OAAQ,8BACR,OAAQ,gBACR,OAAQ,wBACR,OAAQ,iBACR,OAAQ,iBACR,OAAQ,kBACR,QAAS,iBACT,OAAQ,gBACR,OAAQ,kBACR,OAAQ,sBACR,OAAQ,cACR,OAAQ,iBACR,QAAS,qBACT,OAAQ,2BACR,OAAQ,2BACR,OAAQ,uBACR,QAAS,aACT,MAAO,gBACP,OAAQ,8BACR,OAAQ,2BACR,MAAO,gBACP,OAAQ,iBACR,OAAQ,uBACR,OAAQ,2BACR,OAAQ,mBACR,QAAS,2BACT,QAAS,yBACT,SAAU,iCACV,aAAc,yBACd,OAAQ,iBACR,OAAQ,iBACR,OAAQ,uBACR,QAAS,kBACT,OAAQ,cACR,OAAQ,wBACR,OAAQ,iBACR,OAAQ,iBACR,MAAO,yBACP,OAAQ,iCACR,MAAO,gBACP,OAAQ,iBACR,OAAQ,oBACR,UAAW,qBACX,OAAQ,iBACR,OAAQ,uBACR,OAAQ,kBACR,OAAQ,qBACR,QAAS,qBACT,OAAQ,sCACR,OAAQ,wBACR,QAAS,wBACT,SAAU,wBACV,OAAQ,2BACR,OAAQ,2BACR,OAAQ,sBACR,OAAQ,2BACR,OAAQ,2BACR,QAAS,oEACT,OAAQ,2BACR,OAAQ,2BACR,MAAO,cACP,OAAQ,kBACR,OAAQ,cACR,OAAQ,iBACR,OAAQ,0BACR,OAAQ,kBACR,QAAS,WACT,OAAQ,WACR,OAAQ,WACR,OAAQ,sBACR,OAAQ,iBACR,OAAQ,oBACR,KAAM,yBACN,OAAQ,2BACR,QAAS,mBACT,OAAQ,wBACR,MAAO,mBACP,OAAQ,oBACR,OAAQ,qBAGK,sBAAS97B,GACtB,IAAIC,EAAIkU,qBAAQnU,EAAG,KAAK,IAASA,EACjC,OAAO87B,EAAM,IAAM77B,K,6DC7drB,W,mFCOiB,GACbzE,KAAM,UACNkE,OAAQ,CAACoH,EAAA,YACTvJ,MAAO,CAAC,MAAO,UACfhH,KAJa,WAKX,MAAO,CACLwlC,SAAS,IAGb38B,QAAS,CACP48B,YADO,WAEL,IAAIC,EAAW,aAAE3nB,MAAM3W,KAAKC,EAAE3D,IAAK,MAAQ0D,KAAKC,EAAE3D,IAC9CiiC,EAAW,aAAE/nB,QAAQ8nB,EAAU,KAAK,IAASA,EAC7C9gB,EAAS,aAAEhH,QAAQ+nB,EAAU,KAAK,GACtC,OAAO/gB,EAASghB,SAASD,GAAY,aAEvC56B,WAPO,WAOM,WACX,MAAO,CAAC,eAAE,QAAS,CACjBtD,MAAO,8BACP0D,IAAK,KACLzH,IAAK0D,KAAKC,EAAE3D,IACZmiC,OAAQz+B,KAAKC,EAAEw+B,OACfC,OAAQ,SAAA5jC,GAAA,OAAK,EAAKsjC,SAAU,GAC5BO,QAAS,SAAA7jC,GAAA,OAAK,EAAKsjC,SAAU,GAC7BQ,UAAU,EACV,sBAAsB,EACtB,aAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,uBAAwB,KACxB,uBAAwB,KACxB,8BAA8B,IAC5B,eAAE,MAAO,CACXv+B,MAAO,0CACPoR,UAAW,+BACX5N,QAAS,SAAA/I,GACP,IAAIuD,EAAI,EAAKsE,MAAMk8B,GACnBxgC,EAAEygC,OAASzgC,EAAE0gC,OAAS1gC,EAAE2gC,cAKhCn/B,SAAU,CACRqE,WADQ,WAEN,MAAO,CAAC,sBAAuB,CAAC,SAAUlE,KAAKo+B,a,UC9CxC,gB,+FCEE,GACbvgC,KAAM,UACNkE,OAAQ,CAACoH,EAAA,YACTvJ,MAAO,CAAC,gBAAiB,eAAgB,UAAW,QAAS,SAAU,YACvEsW,OAAQ,CAAC,iBACTxF,QALa,WAKH,WACR1Q,KAAK2Q,OAAO,YAAY,SAAChL,GACN,mBAANA,EAAiB,EAAK1F,EAAEg/B,SAAWt5B,EAClB,MAAnB,EAAK1F,EAAEg/B,WAAkB,EAAKh/B,EAAEg/B,UAAW,KACnD,CAAC9gB,WAAW,KAEjB1c,QAAS,CACPy9B,OADO,SACAC,GACLn/B,KAAKC,EAAEg/B,SAAkB,MAAPE,GAAen/B,KAAKC,EAAEg/B,SAAWE,EACnD,IAAIC,EAAYp/B,KAAKC,EAAEo/B,OAASr/B,KAAK6C,KAAK0rB,mBAAqBvuB,KAAK6C,KAAKy8B,uBACrEF,GACF,aAAExzB,EAAEwzB,GAAWG,YAAY,qBAAsBv/B,KAAKC,EAAEg/B,WAI5DO,UATO,SASG1kC,GAAG,WACP2kC,EAAWz/B,KAAK6C,KAAKy8B,uBACrBI,EAAW1/B,KAAK6C,KAAK0rB,mBACzB,GAAIkR,GAAYC,EAAU,CACxB,IAWIC,EACAC,EAZAC,EAAO7/B,KAAK8/B,WACZV,EAAYp/B,KAAKC,EAAEo/B,OAASK,EAAWD,EACvCM,EAAQ,aAAEC,OAAOllC,GACjBmlC,EAAQ,aAAEC,OAAOplC,GACjBqlC,EAAUN,EAAO,MAAQ,OACzBO,EAAWP,EAAO,SAAW,QAC7BQ,EAAaR,EAAO,UAAY,UAChCS,EAAUT,EAAOI,EAAQF,EACzBQ,EAAS,aAAEz9B,IAAI28B,GAAUU,GACzBK,EAAS,aAAE19B,IAAI48B,GAAUG,EAAO,SAAW,SAAW,EACtDY,EAAU,aAAE1yB,OAAO2yB,KAAK,aAAE59B,IAAI9C,KAAK2C,MAAMmrB,SAAU,CAAC,QAAS,SAAU,MAAO,SAGlF,aAAEI,QAAO,SAACpzB,GACH8kC,IACHA,EAAO,aAAEh0B,EAAF,gFAAoFkc,IACzF2Y,GAAStS,SAAS5yB,SAAS6yB,OAE/BuR,EAAM,aAAEznB,SAASuoB,EAAQN,GAAWrlC,EAAEulC,GAAcC,EAASC,EAAQC,GACrEZ,EAAK9X,IAAL,kBACGqY,EAAUR,OAEZ,SAAC7kC,EAAGwzB,GACL,GAAIA,GAASsR,EAAM,CACjBA,EAAK/sB,SACL,IAAI5N,GAAQ,EAAKhF,EAAEg/B,SAAW,aAAEn8B,IAAIs8B,GAAWgB,GAAY,IAAM,EAAKngC,EAAEo/B,OAAS,GAAK,IAAMiB,EAC1FX,GACE16B,GAAQ,EACV,EAAKi6B,QAAO,IAEP,EAAKj/B,EAAEg/B,UAAU,EAAKC,QAAO,GAClC,aAAEtzB,EAAEwzB,GAAWtX,IAAf,kBACGsY,EAAWn7B,QAIjBnK,KAGP6I,WApDO,WAoDM,WACPlF,EAAI,GACJkiC,EAAe3gC,KAAKC,EAAE0gC,cAAgB3gC,KAAKC,EAAE2gC,cAC7CA,EAAgB5gC,KAAKC,EAAE2gC,eAAiBD,EAW5C,OAVIA,GACFliC,EAAE/E,KAAKsG,KAAK2oB,UAAU3oB,KAAKC,EAAEg/B,SAAW0B,EAAeC,EAAe,gBAAgB,kBAAM,EAAK1B,aAE/Fl/B,KAAKC,EAAE6tB,SACTrvB,EAAE/E,KAAK,eAAE,MAAO,CACdqK,IAAK,UACL1D,MAAO,kBACPioB,YAAatoB,KAAKw/B,aAGf/gC,IAGXoB,SAAU,CACRigC,WADQ,WAEN,MAA8B,eAAvB9/B,KAAK03B,eAEdnnB,WAJQ,WAKN,MAAO,CACLlQ,MAAO,CAAC,YAAcL,KAAK8/B,WAAa,WAAa,cAAe,CAClE,WAAY9/B,KAAKC,EAAEo/B,YAK3B56B,QA5Fa,WA6FNzE,KAAKC,EAAEg/B,UACVj/B,KAAKk/B,QAAO,K,UChGL,gB,2FCCE,GACbrhC,KAAM,SACNkE,OAAQ,CAAC8G,EAAA,YACTjJ,MAAO,CAAC,YAAa,aAAc,MAAO,QAAS,QACnDhH,KAJa,WAKX,MAAO,CACLioC,WAAW,EACXC,YAAa,IAGjBr/B,QAAS,CACPQ,UADO,WAEL,MAAO,CACL8+B,IAAK,EACLC,MAAO,IAGXC,UAPO,SAOGnmC,EAAG5B,GACN8G,KAAKoL,WACVpL,KAAK8gC,WAAa5nC,IAEpBoM,UAXO,SAWGxK,EAAG5B,GACN8G,KAAKoL,WACVpL,KAAKC,EAAEiJ,WAAalJ,KAAKC,EAAEihC,YAAclhC,KAAKC,EAAEiJ,YAAchQ,EAAI,GAAKA,IAEzEioC,UAfO,SAeGjoC,GAAG,WACX,OAAO,eAAEogB,EAAA,WAAK,CACZjZ,MAAO,CAAC,mBAAoB,CAAC,OAAQL,KAAK6gC,WAAa3nC,GAAK8G,KAAK8gC,WAAY,QAAS9gC,KAAK6gC,WAAa3nC,GAAK8G,KAAKC,EAAEiJ,aACpH5M,IAAK,sBACL8kC,aAAc,SAAAtmC,GAAA,OAAK,EAAKmmC,UAAUnmC,EAAG5B,IACrC4N,QAAS,SAAAhM,GAAA,OAAK,EAAKwK,UAAUxK,EAAG5B,IAChCiN,UAAWnG,KAAKoL,YAGpBkD,WAxBO,WA4BL,IAJW,WACP+yB,EAAOrhC,KAAKC,EAAEqhC,UAAY,GAAK,EAC/BC,EAAOvhC,KAAKC,EAAE8gC,IAAMM,EAAOrhC,KAAKC,EAAE+gC,MAClCQ,EAAQ,GACHtoC,EAAIqoC,EAAMroC,GAAK8G,KAAKC,EAAE8gC,IAAK7nC,GAAKqoC,EAAOF,EAAM,CACpD,IAAIlgC,EAAQ,CAACnB,KAAKmhC,UAAUjoC,IACxB8G,KAAKC,EAAEqhC,WAAWngC,EAAMzH,KAAKsG,KAAKmhC,UAAUjoC,EAAIqoC,IACpDC,EAAM9nC,KAAK,eAAE,KAAM,CAAC2G,MAAO,eAAgBc,IAE7C,MAAO,CACLnB,KAAKgP,oBACL,eAAE,KAAM,CACJ3O,MAAO,cACP+gC,aAAc,SAAAtmC,GAAA,OAAK,EAAKsQ,WAAa,EAAKy1B,WAAY,IACtDY,aAAc,SAAA3mC,GAAA,OAAK,EAAKsQ,WAAa,EAAKy1B,WAAY,KAExDW,GAEFxhC,KAAKC,EAAES,MAAQV,KAAKC,EAAEiJ,YAAc,eAAE,OAAQ,CAAC7I,MAAO,eAAgBL,KAAKC,EAAES,MAAMV,KAAKC,EAAEiJ,WAAaq4B,GAAQF,OAIrHxhC,SAAU,CACRqE,WADQ,WAEN,MAAO,CACL,eAAgBlE,KAAKC,EAAEqhC,c,UC5DlB,gB,+NCGPI,EAAgB,CACpBC,MAAOC,EAAA,WACPC,QAASC,EAAA,WACTC,IAAKC,EAAA,WACLC,QAASC,EAAA,YAGI,GACbrkC,KAAM,QACN+B,MAAO,CAAC,KACRiC,OAHa,WAIX,GAAI7B,KAAKpF,EAAE6hB,OAAQ,OAAO,eAAE,OAAU,CAACrU,GAAI,kBAC3C,IAAI+5B,EACAtjC,EAAImB,KAAKpF,EAAEga,IAAIsO,SACftjB,EAAQ,aAAEmO,OAAOq0B,KAAKpiC,KAAKpF,EAAEga,IAAK,YACtC,GAAI/V,GAAkB,kBAANA,EAAgB,CAC9B,IAAI4gB,EAAM,OACV5gB,EAAIA,EAAEua,WAAW,MAAQva,EAAEc,MAAM,GAAK,aAAEM,EAAEoiC,YAAcxjC,EACnDA,EAAEyjC,SAAS7iB,KAAM5gB,GAAK4gB,GAC3B0iB,EAAM,eAAqB,CACzBI,eAAgB,eAAEX,EAAA,WAAe,CAAClhC,KAAM,GAAF,OAAK7B,EAAL,QAAc+C,KAAM,QAASrB,MAAO,SAC1EiiC,OAAQ,kBAAM,sBAA8B3jC,YAG9CsjC,EAAM,eAAMtjC,GAAK6iC,EAAc1hC,KAAKpF,EAAEga,IAAI5Y,OAE5C,OAAOmmC,GAAO,eAAEA,EAAKviC,KC/BZ,gB,yCCFE,OACb/B,KAAM,WACN+B,MAAO,CAAC,QAAS,aCAN,gB,uICAT6iC,EAAiB,WACtB,IAAIngC,EAAI,CAAC,MAAU,YACnB,OAAO,SAAS9H,GACf,OAAO8H,EAAE9H,IAAMA,EAAE0Y,QAAQ,OAAO,SAAS+D,GAAK,OAAOA,EAAGuB,OAAO,GAAGoF,kBAH7C,GAQjB8kB,EAAa,SAASrkC,EAAGe,EAAGuG,GAEjC,GAAiB,kBAANA,GAAkC,MAAhBA,EAAE6S,OAAO,GAAY,CAC7CpZ,EAAIqjC,EAAcrjC,GAAtB,IACClB,EAAIG,EAAEkR,MAAMnQ,IAAMujC,iBAAiBtkC,EAAG,MAAMe,GAC5CuG,EAAIG,oBAAOH,EAAEuN,QAAQ,IAAK,KACjB,UAAN9T,GAAuB,WAANA,GACpBlB,EAAI4H,oBAAO5H,GAAW,SAANA,EAAeA,EAAoB,MAAhBkB,EAAEoZ,OAAO,GAAana,EAAEkc,YAAclc,EAAEioB,cACvEpoB,EAAI,IAAGA,EAAI,IAEfA,EAAI4H,oBAAO5H,GACZG,EAAEkR,MAAMnQ,GAAMlB,EAAIyH,GAAY,WAANvG,EAAiB,EAAI,WAE7CA,EAAIqjC,EAAcrjC,GACR,UAANA,GAAuB,WAANA,GACpBuG,GAAW,SAANA,IAAiBA,EAAIC,KAAKC,IAAI+8B,QAAQj9B,GAAI,IAC5CA,IAAMqS,MAAMrS,IAAY,WAANvG,IACrBuG,GAAK,MACNtH,EAAEkR,MAAMnQ,GAAKuG,EAEd,OAAOtH,GAGFypB,EAAM,SAASzpB,EAAG7D,EAAG4E,GAC1B,IAAKf,IAAM7D,EACV,OAAO,KACR,GAAS,MAAL4E,EACH,IAAK,IAAIlG,EAAI,EAAG2B,EAAImP,UAAU5Q,OAAQF,EAAI2B,EAAG3B,GAAK,EACjDwpC,EAAWrkC,EAAG2L,UAAU9Q,GAAI8Q,UAAU9Q,EAAI,QACrC,CACN,GAAiB,kBAANsB,EAAgB,CAC1B,KAAIA,EAAEsZ,QAAQ,KAAO,GAIpB,OAAOzV,EAAEkR,MAAM/U,IAAMmoC,iBAAiBtkC,EAAG,MAAM7D,GAHtCtB,EAAI,EAAR,IAA2C8W,EAAGrK,EAAnCrD,EAAI9H,EAAEyZ,MAAM,KAA5B,IAAkCpZ,EAAIyH,EAAElJ,OAAcF,EAAI2B,EAAG3B,KAC3D8W,EAAI2G,mBAAMrU,EAAEpJ,GAAI,QAAUyM,EAAI6Q,qBAAQlU,EAAEpJ,GAAI,OAASwpC,EAAWrkC,EAAG2R,EAAGrK,GAI1E,IAAK,IAAIzM,KAAKsB,EAAGkoC,EAAWrkC,EAAGnF,EAAGsB,EAAEtB,O,+GCvCrB,G,UAAA,CACb2E,KAAM,WACNkE,OAAQ,CAACoH,EAAA,WAAYuR,EAAA,YACrB9a,MAAO,CAAC,QAAS,gBAAiB,YAClChH,KAJa,WAKX,MAAO,CACLiqC,WAAY,OAGhBra,MAAO,CACLuH,QADK,SACGpqB,GACN3F,KAAK8iC,SAASn9B,KAGlBlE,QAAS,CAEPqhC,SAFO,SAEEzgC,GAAG,WACN7H,EAAIwF,KAAKuD,iBACTrF,EAAI1D,EAAE6f,WAAU,SAAA1U,GAAA,OAAK,EAAKqqB,eAAe3tB,EAAGsD,MAChD3F,KAAK6iC,WAAa3kC,GAEpB6kC,WAPO,SAOI1gC,GACTrC,KAAK6iC,YAAcxgC,GAErB2gC,eAVO,SAUQ3gC,GACbrC,KAAK6iC,WAAaxgC,GAEpBsB,WAbO,WAaM,WACY,MAAnB3D,KAAK6iC,YACP7iC,KAAK8iC,SAAS9iC,KAAKC,EAAE8vB,SAEvB,IAAIpqB,EAAI3F,KAAKC,EAAEE,SACXkC,EAAIsD,EAAI,KAAO,OACfrD,EAAIqD,EAAI,OAAS,QACrB,MAAO,CACL,eAAE,MAAO,CACPtF,MAAO,gBACP0D,IAAK,QACJ/D,KAAKoO,QACRpO,KAAKC,EAAEyC,OAAS,eAAE,MAAO,CACvBrC,MAAO,oBAAsBgC,EAC7BwB,QAAS,SAAA/I,GAAA,OAAK,EAAKioC,YAAY,KAC9B,eAAE,IAAK,CACR1iC,MAAO,iBAAmBgC,KAE5BrC,KAAKC,EAAEyC,OAAS,eAAE,MAAO,CACvBrC,MAAO,oBAAsBiC,EAC7BuB,QAAS,SAAA/I,GAAA,OAAK,EAAKioC,WAAW,KAC7B,eAAE,IAAK,CACR1iC,MAAO,iBAAmBiC,KAE5BtC,KAAKC,EAAEgjC,eAAiB,eAAE,MAAO,CAC/B5iC,MAAO,oCACNL,KAAKuD,iBAAiBC,KAAI,SAACmC,EAAGzM,GAAJ,OAAU,eAAE,MAAO,CAC9CmH,MAAO,0BAA4BnH,GAAK,EAAK2pC,WAAa,QAAU,IACpEh/B,QAAS,SAAA/I,GAAA,OAAK,EAAKkoC,eAAe9pC,aAK1C2G,SAAU,CACRqE,WADQ,WAEN,IAAIhL,EAAI8G,KAAK6iC,WACb,MAAO,CACL,aAAmB,GAAL3pC,EACd,YAAaA,GAAK,GAAKA,GAAK8G,KAAKuD,iBAAiBnK,OAAS,IAG/DkpB,WARQ,WASN,IAAIppB,EAAI8G,KAAK6iC,WACb,MAAO,CACL,yBAAgC,KAAJ3pC,EAAW,IACvC,wBAAyB8G,KAAKC,EAAEijC,SAAP,oBAA+BljC,KAAKC,EAAEijC,SAAtC,MAAqD,KAIpFz+B,QA5Ea,WA4EH,WACJzE,KAAK2C,MAAM06B,MACb,IAAIU,kBAAiB,WACnB,EAAK+E,SAAS,EAAK7iC,EAAE8vB,YACpBvV,QAAQxa,KAAK2C,MAAM06B,KAAM,CAC1B8F,WAAW,O,UCrFN,gB,kCCLf,W,kCCAA,W,kCCAA,W,kJCUiB,G,UAAA,CACbtlC,KAAM,UACNkE,OAAQ,CAACoH,EAAA,WAAYuR,EAAA,YACrBxE,OAAQ,CAAC,SACTtW,MAAO,CAAC,KAAM,QACdmb,QALa,WAMX,MAAO,CACLqoB,kBAAmB,EACnB5W,kBAAmB,KACnBzI,eAAe,EACfD,MAAO9jB,OAGXpH,KAba,WAcX,MAAO,CACLyqC,KAAM,KACN/V,QAAS,OAGb7rB,QAAS,CACP6hC,WADO,WAEL,OAAO,GAET3e,WAJO,WAKL,IAAI4e,EAAKvjC,KAAKgkB,MAAM0J,SAChB2V,EAAOrjC,KAAKuD,iBAAiBC,KAAI,SAACggC,EAAIC,GAExC,OADA,aAAE11B,OAAOue,IAAIkX,EAAI,iBAAkBC,GAC5BD,KAELj0B,EAAQ,GACZ,IAAKvP,KAAKgkB,MAAME,MAAO,CACrB,IAAIwf,EAAK,EACTH,EAAGrzB,SAAQ,SAAAhS,GACTwlC,GAAM,aAAE59B,OAAO5H,EAAEuX,QAAU,aAAE3P,OAAO5H,EAAE,iBAEpCwlC,IACFn0B,EAAMuZ,SAAW,aAAExZ,SAASo0B,IAIhC,OADA1jC,KAAKqjC,KAAO,GACL,eAAE,MAAO,CACdhjC,MAAO,oBACN,eAAE,QAAS,CACZ0D,IAAK,QACL4/B,YAAa,EACbC,YAAa,EACbvjC,MAAO,cACPkP,SACC,CAED,eAAE,QAAS,KAAM,eAAE,KAAM,KAAMg0B,EAAG//B,KAAI,SAAAmC,GAAA,OAAK,eAAE,KAAM,CACjD4J,MAAO,CACLkG,MAAkB,KAAX9P,EAAE8P,MAAe,KAAO,aAAEnG,SAAS3J,EAAE8P,OAC5CqT,SAAU,aAAExZ,SAAS3J,EAAE,eAEzB,UAAWA,EAAEue,aAEf,eAAE,QAASmf,OAGf1/B,WAzCO,WA0CL,OAAO3D,KAAK2kB,eAGhB9kB,SAAU,CACRgkC,SADQ,WAEN,OAAO7jC,KAAKC,EAAE6jC,WCzEP,gB,2FCEE,GACbjmC,KAAM,UACNkE,OAAQ,CAAC8G,EAAA,YACTkS,QAHa,WAIX,MAAO,CACL8H,mBAAoB7iB,OAGxBJ,MAAO,CAAC,WACR6B,QAAS,CACPk6B,cADO,WAEL,IAAIp0B,EAAIvH,KAAKg7B,QACb,GAAIzzB,GAAKA,EAAEnO,OACT,OAAOmO,EAAE,GAAG0zB,gBAAgB1zB,EAAE,GAAGiD,UAAW,CAACnO,OAAQkL,EAAE,GAAIzI,KAAMkB,KAAKC,EAAEnB,QAG5Ek8B,MAPO,WAQL,OAAOh7B,KAAK0Z,UAAU4B,KAAK,KAAMtb,KAAK6C,GAAG,UAE3C6K,SAVO,WAWL,OAAO1N,KAAKg7B,QAAQ,IAAMh7B,KAAK6C,GAAG,SAEpCoM,UAbO,WAcL,IAAI/Q,EAAI8B,KAAKuD,iBAGb,OAFArF,EAAE5D,OAAO,EAAG,EAAG,eAAE,MAAO,CAAC+F,MAAO,cAAe,aAAEkG,IAAI6B,KAE9ClK,IAGX2B,SAAU,CACRyQ,QADQ,WACE,WACR,MAAO,CACLzM,QAAS,SAAA/I,GAAA,OAAK,EAAK4O,UAAY,Q,UChC1B,gB,2ECLXqI,EAAIgyB,UAAUC,UAAUtmB,cACxBumB,EAASlyB,EAAEmyB,MAAM,mBACjBC,EAAUpyB,EAAEmyB,MAAM,oBAEhBzlC,EAAI,CACR2lC,MAAOryB,EACPkyB,OAAQA,GAAUlsB,WAAWksB,EAAO,IACpCE,QAASA,GAAWpsB,WAAWosB,EAAQ,IACvCE,QAASJ,GAAUlyB,EAAE+B,QAAQ,UAAY,EACzCwwB,IAA2B,gCAAtBP,UAAUQ,SAA6CxyB,EAAE+B,QAAQ,WAAa,IAAMvY,SAASipC,aAClG1jC,OAAQ,CACNC,KAAK,IAIT,GAAIgR,EAAEmyB,MAAM,cAAe,CACzBzlC,EAAEo8B,QAAS,EACXp8B,EAAEgmC,IAA4B,UAAtBC,SAASC,SACjB,IAAIC,EAAS7yB,EAAEmyB,MAAM,gCACjBU,IAAQnmC,EAAEmmC,OAAS,CACrBC,QAASD,EAAO,GAAG1xB,QAAQ,KAAM,OAEnC,IAAI4xB,EAAU/yB,EAAEmyB,MAAM,gCAClBY,IACFrmC,EAAEqmC,SAAU,EACZrmC,EAAEomC,QAAUC,EAAQ,GACpBrmC,EAAEsmC,cAAiB,aAAaj1B,KAAKpX,OAAOqrC,UAAUiB,aAExD,IAAIC,EAASlzB,EAAEmyB,MAAM,2BACrB,GAAIe,EACFxmC,EAAEymC,IAAMzmC,EAAEwmC,QAAS,EACnBxmC,EAAEomC,QAAUI,EAAO,GAAG/xB,QAAQ,KAAM,SAC/B,CACL,IAAIiyB,EAAOpzB,EAAEmyB,MAAM,yBACfiB,IACF1mC,EAAEymC,IAAMzmC,EAAE0mC,MAAO,EACjB1mC,EAAEomC,QAAUM,EAAK,GAAGjyB,QAAQ,KAAM,QAKnCzU,EAAEwlC,QAAUxlC,EAAEwlC,OAAS,IAAQxlC,EAAE0lC,SAAW1lC,EAAE0lC,QAAU,MAC3D1lC,EAAEqC,OAAOC,KAAM,GAGFtC,gB,yFCzCE,GACbZ,KAAM,UACNkE,OAAQ,CAACC,EAAA,YACTpC,MAAO,CAAC,OAAQ,MAAO,KAAM,cAC7B6E,QAJa,WAIH,WACRzE,KAAKolC,SAAS,SAAS,iBAA4B,WAAtB,EAAK/hC,SAASxF,KAAoB,EAAKwnC,IAAI,EAAKplC,EAAEuwB,KAAO,EAAK6U,IAAI,EAAKplC,EAAEwwB,QAExGhvB,QAAS,CACPE,OADO,WAEL3B,KAAKQ,SAEP8kC,MAJO,WAKLtlC,KAAKQ,SAEP6kC,IAPO,SAOHhjC,GACE,aAAEkjC,MAAMljC,GACVrC,KAAKwE,UAAUmI,KAAKtK,EAAGrC,KAAKoY,MACN,oBAAN/V,GAChBA,EAAErC,KAAKoY,QAIbvY,SAAU,CACRqE,WADQ,WAEN,MAAO,CAAC,sBAAuBlE,KAAKmE,aAAcnE,KAAKoE,cCzBhD,gB,kCCHf,W,iWCMMohC,EAAa,GACbC,EAAgB,SAASz1B,GACzBA,EAAEua,KACJxc,IAAO23B,KAAKF,EAAWx1B,EAAEhH,IAAIgH,EAAEhU,MAAOgU,GACtCA,EAAEhU,KAAOgU,EAAEua,GAAKva,EAAEoI,KAAO,OAGvButB,EAAc,SAAStjC,GAC3B,OAAOA,EAAEyR,QAAQ,MAAQ,EAAI6C,mBAAMtU,EAAG,KAAOA,GAEzCujC,EAAe,SAASvjC,GAC5B,OAAOA,EAAEyR,QAAQ,MAAQ,EAAI,IAAM0C,qBAAQnU,EAAG,KAAK4R,MAAM,KAAK4xB,OAAOr6B,KAAK,KAAO,IAAM,IAEnFs6B,EAAkB,SAASzjC,EAAGC,GAClC,IAAIpE,EAAIsnC,EAAWv8B,qBAAI5G,IACvB,GAAKnE,EAAL,CACA,IAAIlC,EAAO2pC,EAAYrjC,GACrBtD,EAAK4mC,EAAatjC,GACpB,GAAItG,EACF,OAAOkC,EAAElC,KAAUgD,EAAKd,EAAElC,GAAM+Y,QAAO,SAAApP,GAAC,OAAIA,EAAE3G,GAAG8U,QAAQ9U,IAAO,KAAKd,EAAElC,IAEzE,IAAIyC,EAAI,GACR,IAAKzC,KAAQkC,EACXO,EAAE/E,KAAKK,MAAM0E,EAAGP,EAAElC,GAAM+Y,QAAO,SAAApP,GAAC,OAAIA,EAAE3G,GAAG8U,QAAQ9U,IAAO,MAE1D,OAAOP,IAGHsnC,E,WACJ,WAAYC,GAAK,uBACfhmC,KAAKgmC,IAAMA,E,+CAEb,SAAShqC,GACP,IAAIqG,EAAIyjC,EAAgB9lC,KAAKgmC,IAAKhqC,GAClC,OAAOqG,GAAKA,EAAEjJ,S,sBAGhB,SAAS4C,EAAMuuB,EAAI0b,GACjB,IAAIj2B,EAAI,CACNhH,GAAIC,qBAAIjJ,KAAKgmC,KACbhqC,KAAM2pC,EAAY3pC,GAClBgD,GAAI4mC,EAAa5pC,GACjBuuB,GAAIA,EACJ0b,IAAKA,GAGP,OADArrB,uBAAU5K,EAAGw1B,EAAYx1B,EAAEhH,GAAIgH,EAAEhU,MAAMkqC,KAAM,EACtClmC,O,0BAET,SAAahE,EAAMuuB,GACjB,OAAOvqB,KAAKolC,SAASppC,EAAMuuB,GAAI,K,uBAGjC,SAAUzvB,EAAG2D,GACX,IAAI4D,EAAIyjC,EAAgB9lC,KAAKgmC,IAAKlrC,EAAEkB,MAAQlB,GAC5C,GAAIuH,EACF,IAAK,IAAW2N,EAAiBrK,EAAxBzM,EAAI,EAAM2B,EAAIwH,EAAEjJ,OAAWF,EAAI2B,EAAG3B,IACzC,IAAK8W,EAAI3N,EAAEnJ,KAAO8W,EAAEua,KAClB5kB,EAAIqK,EAAEua,GAAGxwB,MAAMiG,KAAKgmC,IAAKvnC,EAAI,CAAC3D,GAAGuM,OAAO5I,GAAK,CAAC3D,IAC1CkV,EAAEi2B,MACJR,EAAcz1B,GACd3N,EAAE6jC,MAAQhtC,IAAK2B,WAEPiD,IAAN6H,GACF,OAAOA,EAIf,OAAO3F,O,yBAGT,SAAYqC,EAAGC,GACb,GAAID,EAAG,CACL,IAAIlE,EAAI2nC,EAAgB9lC,KAAKgmC,IAAK3jC,GAClC,GAAIlE,EAAG,CACL,IAAIjF,EAAIiF,EAAE/E,OACV,MAAOF,IACAoJ,GAAMnE,EAAEjF,GAAGqxB,KAAOjoB,GAAImjC,EAActnC,EAAEjF,SAE1C,CACL,IAAIgF,EAAIsnC,EAAWv8B,qBAAIjJ,KAAKgmC,MAE5B,IAAK9sC,KAAKgF,EAAG8B,KAAKmmC,YAAYjtC,UACvBssC,EAAWv8B,qBAAIjJ,KAAKgmC,MAE7B,OAAOhmC,S,KAILggC,EAAS,SAASllC,GACtB,OAAOA,EAAEsrC,cAAgBtrC,EAAEsrC,cAAc,GAAGtf,QAAUhsB,EAAEgsB,SAGpDoZ,EAAS,SAASplC,GACtB,OAAOA,EAAEsrC,cAAgBtrC,EAAEsrC,cAAc,GAAGrf,QAAUjsB,EAAEisB,SAGpDmH,EAAS,SAASmY,EAAQC,EAAMC,GACpC,IAAIC,EAASC,EAAO3mC,EAAgB,MAAVymC,EACxBxhB,EAAMxpB,SAASypB,gBACf0hB,EAAM,SAAA5rC,GAAC,OAAIA,EAAEsrC,cAAgBtrC,EAAEsrC,cAAc,GAAGtf,QAAUhsB,EAAEgsB,SAC5D6f,EAAM,SAAA7rC,GAAC,OAAIA,EAAEsrC,cAAgBtrC,EAAEsrC,cAAc,GAAGrf,QAAUjsB,EAAEisB,SAC5D6f,EAAU,SAAA9rC,GAAC,OAAIA,EAAEoa,kBACfqxB,EAAOxtB,gBACTwtB,EAAOxtB,cAAcxJ,MAAMs3B,WAAa,QAE1C9hB,EAAIjP,iBAAiBjV,aAAGg6B,OAAS,YAAc,YAAa2L,EAAU,SAAS1rC,GAC7EgF,EAAMumC,EAAOvrC,GACXyrC,IAAW3gC,KAAKkhC,IAAIJ,EAAI5rC,GAAK4rC,EAAIH,IAAW,GAAK3gC,KAAKkhC,IAAIH,EAAI7rC,GAAK6rC,EAAIJ,IAAW,KAAOzmC,GAAM,KAChG,GACHilB,EAAIjP,iBAAiBjV,aAAGg6B,OAAS,WAAa,UAAW4L,EAAQ,SAAS3rC,GACxEiqB,EAAI0J,oBAAoB5tB,aAAGg6B,OAAS,YAAc,YAAa2L,GAAS,GACxEzhB,EAAI0J,oBAAoB5tB,aAAGg6B,OAAS,WAAa,UAAW4L,GAAO,GAC/DF,EAAOxtB,gBACTwtB,EAAOxtB,cAAcxJ,MAAMs3B,WAAa,IAE1ChmC,aAAGg6B,QAAU9V,EAAI0J,oBAAoB,YAAamY,EAAS,CAACG,SAAS,IACrET,GAAQA,EAAKxrC,EAAGgF,KACf,GAEHe,aAAGg6B,QAAU9V,EAAIjP,iBAAiB,YAAa8wB,EAAS,CAACG,SAAS,M,yDC1HnD,GACblpC,KAAM,YACNkE,OAAQ,CAAC4/B,EAAA,YACTlgC,QAAS,CACPE,OADO,WAEL3B,KAAKqlC,IAAIrlC,KAAKC,EAAEuwB,KAChBxwB,KAAKC,EAAEwwB,GAAK,KACZzwB,KAAKQ,SAEP8kC,MANO,WAOLtlC,KAAKQ,UAGTX,SAAU,CACRmnC,gBADQ,WAEN,MAAO,iCCfA,gB,2ICME,GACbnpC,KAAM,SACNkE,OAAQ,CAACoH,EAAA,YACTvJ,MAAO,CAAC,UAAW,WAAY,OAC/B6B,QAAS,CACPQ,UADO,WAEL,MAAO,CACLiF,SAAU,MACVnG,KAAM,IAGV4C,WAPO,WAQL,IAAIsjC,EAAU,GACVC,EAAQ,GACRvH,EAAM3/B,KAAKC,EAAEiH,SAQjB,OAPAlH,KAAKuD,iBAAiB2M,SAAQ,SAACvK,EAAGzM,GAC3ByM,EAAE/F,OAAwB,MAAf+F,EAAE/F,MAAMV,KACtB,aAAE6O,OAAOue,IAAI3mB,EAAG,YAAazM,GAE/B+tC,EAAQvtC,KAAK,eAAEytC,EAAA,WAAYxhC,EAAE/F,QAC7BsnC,EAAMxtC,KAAK,eAAE0tC,EAAA,WAAY,CAACC,KAAsB,MAAhB1hC,EAAE/F,MAAMynC,MAAsB1hC,EAAE/F,MAAMynC,KAAMnoC,IAAKyG,EAAE/F,MAAMV,KAAMyG,EAAEjC,cAE5F,CACL,eAAEkB,EAAA,WAAW,CACXvE,MAAO,mBACP0vB,QAAS/vB,KAAKC,EAAE8vB,QAChBhvB,IAAKf,KAAKC,EAAEc,IACZZ,SAAiB,QAAPw/B,GAAwB,SAAPA,EAC3B1b,QAASjkB,KAAKC,EAAEgkB,QAChBtO,QAAS3V,KAAKC,EAAE0V,SACf,CAAC1R,QAAS,kBAAMgjC,KACnB,eAAEK,EAAA,WAAQ,CAACjnC,MAAO,8BAA+B0vB,QAAS/vB,KAAKC,EAAE8vB,SAAU,CAAC9rB,QAAS,kBAAMijC,QAIjGrnC,SAAU,CACRqE,WADQ,WAEN,IAAIy7B,EAAM3/B,KAAKC,EAAEiH,SACjB,MAAO,eAAwB,OAAPy4B,GAAuB,UAAPA,EAAkB,UAAY,IAAM,UAAYA,K,UC1CjF,gB,gHCEE,G,UAAA,CACb9hC,KAAM,UACNkE,OAAQ,CAAC0Y,EAAA,WAAYC,EAAA,YACrBjZ,QAAS,CACPQ,UADO,WAEL,MAAO,CACLlB,IAAK,EACLF,IAAI,EACJT,OAAQ,SAIdP,SAAU,CACRqE,WADQ,WAEN,MAAO,mBClBA,gB,kCCHf,W,0ICCE,eAIW,GAJD7D,MAAM,mBAAiB,C,wBAC/B,iBAAwC,CAAxC,eAAwC,OAAnCA,MAAM,eAAgB/D,IAAK,EAAAirC,Q,gBAChC,eAAwJ,OAAnJlnC,MAAM,iBAAkB/D,IAAK,EAAAkrC,SAAW/xB,MAAO,EAAAgyB,WAAal4B,MAAK,MAAS,EAAAm4B,UAAS,MAAW,YAAS,8CAAU,EAAAlI,WAAA,EAAAA,UAAA,qBAAS,cAAG,YAAS,8BAAE,EAAAmI,WAAA,EAAAA,UAAA,sB,yBAC7I,eAAyD,QAAlD,QAAK,8BAAE,EAAA1W,SAAA,EAAAA,QAAA,qBAAS5wB,MAAM,oBAAmB,U,0CAOnC,GACbzH,KADa,WAEX,MAAO,CACL8uC,UAAW,IAGflf,MAAO,CACL,uBAAwB,CACtBof,QADsB,SACdjiC,GACN,IAAI1H,EAAI+B,KAAK0E,QAAQmB,MACjBzG,EAAIY,KAAK0E,QAAQ+C,MACrBzH,KAAK0nC,WAAa1nC,KAAK0B,OAAOzB,EAAEwV,MAAQzV,KAAKynC,aAAe9hC,GAAK1H,EAAImB,OAI3EqC,QAAS,CACPwvB,QADO,SACCn2B,GACNkF,KAAK0E,QAAQusB,QAAQn2B,IAEvB0kC,UAJO,SAIG1kC,KAGV6sC,UAPO,SAOG7sC,GACRkF,KAAK0E,QAAQ86B,UAAU1kC,KAG3B+E,SAAU,CACR6B,OADQ,WAEN,OAAO,aAAEA,OAAO1B,OAElB0E,QAJQ,WAKN,OAAO1E,KAAK0B,OAAOgD,SAErB6iC,OAPQ,WAQN,OAAOvnC,KAAK0E,QAAQzE,EAAE4nC,IAAIvrC,KAE5BkrC,SAVQ,WAWN,OAAOxnC,KAAK0E,QAAQzE,EAAE6nC,MAAMxrC,KAE9BmrC,WAbQ,WAcN,OAAOznC,KAAK0B,OAAOzB,EAAE+C,QAAUhD,KAAK0E,QAAQzE,EAAE6nC,MAAMryB,MAAQzV,KAAK0E,QAAQzE,EAAE6nC,MAAM9kC,W,UC9CzF,EAAOnB,OAASA,EAED,gB,sECHJxB,MAAM,Y,SAGiB0D,IAAI,UAAU0R,MAAM,KAAKzS,OAAO,KAAK3C,MAAM,+C,SAChDA,MAAM,oE,8EAPjC,eAUQ,GAVAA,MAAK,oCAAwC,EAAA8P,KAAK6P,QAAO,YAAe,EAAA+nB,QAAO,QAAW,EAAA53B,KAAK5S,QAASwG,IAAI,YAAazH,IAAK,EAAAA,IAAM0rC,WAAU,EAAAC,QACnJxyB,MAAO,EAAAqK,OAAO7f,EAAEuiB,eAAiB0lB,YAAW,EAAApoB,OAAO7f,EAAEuiB,eAAc,EAAK2lB,aAAY,EAAAroB,OAAO7f,EAAEwiB,gBAAe,EAAK2lB,IAAK,EAAAA,IAAM,QAAO,EAAAnyB,O,gBAIzHkG,MAAK,gBACd,iBAA8H,CAAhH,EAAAhM,KAAK6P,S,iBAAnB,eAA8H,SAA9H,EAA8H,WAChH,EAAA+nB,S,iBAAd,eAAoG,IAApG,I,sBACS,EAAAjoB,OAAO1U,U,iBAAhB,eAA2H,K,MAAjG/K,MAAM,wDAAyDE,MAAO,EAAAA,MAAQ,QAAK,8BAAE,EAAAsS,QAAA,EAAAA,OAAA,sB,mDANjG,EAAAiN,OAAO7f,EAAEooC,a,MAAe,U,mBACtC,iBAAoC,CAApC,eAAoC,MAApC,EAAoC,eAAZ,EAAAxqC,MAAI,a,wJAajB,GACb+B,MAAO,CAAC,QACRsW,OAAQ,CAAC,iBACTtd,KAHa,WAIX,MAAO,CACLqvC,QAAS,OAGbxmC,QAAS,CACPwU,MADO,SACDnb,GACJkF,KAAKsoC,cAAchjC,UAAUxK,EAAGkF,KAAKmQ,OAEvCo4B,qBAJO,WAIgB,WACjB9pC,EAAI,IAAI+pC,WACZ/pC,EAAExC,OAAS,SAACnB,GACN,EAAKqV,KAAKwQ,SACd,EAAKsnB,QAAUntC,EAAEuB,OAAOpC,SAE1BwE,EAAEgqC,cAAczoC,KAAKmQ,KAAKsO,OAE5BiqB,qBAZO,WAYgB,WACjB5qB,EAAQviB,SAASQ,cAAc,SACnC+hB,EAAMhI,iBAAiB,cAAc,WACnC/X,YAAW,WACT,IAAI,EAAKoS,KAAKwQ,OAAd,CACA,IAAIoE,EAAMxpB,SAASQ,cAAc,UAC7BiqC,EAAMjhB,EAAI4jB,WAAW,MACzB5jB,EAAItP,MAAQqI,EAAM8qB,WAClB7jB,EAAI/hB,OAAS8a,EAAM+qB,YACnB7C,EAAI8C,UAAUhrB,EAAO,EAAG,GACxB,EAAKmqB,QAAUljB,EAAIgkB,UAAU,aAC7BjrB,EAAMkhB,QACN,aAAEpzB,EAAEkS,GAAOjL,YACV,QAELiL,EAAMxhB,IAAM0sC,IAAIC,gBAAgBjpC,KAAKmQ,KAAKsO,MAC1CX,EAAMorB,OAAQ,EACdprB,EAAMihB,QAERoK,YA/BO,SA+BK9mC,GACV,IAAI0iB,EAAM/kB,KAAK2C,MAAMqd,QACrB,GAAKhgB,KAAKmQ,KAAK6P,SAAY+E,EAA3B,CACA,IAAIihB,EAAMjhB,EAAI4jB,WAAW,MACzB5jB,EAAItP,MAAQsP,EAAItP,MAChBuwB,EAAIoD,YACJpD,EAAIqD,UAAU,GAAI,IAClBrD,EAAIsD,OAAO,EAAG,GACdtD,EAAIuD,IAAI,EAAG,EAAG,GAAe,IAAV3jC,KAAK4jC,GAAS5jC,KAAK4jC,IAAO,EAAInnC,EAAI,IAAO,KAC5D2jC,EAAIyD,YACJzD,EAAI0D,UAAY,uBAChB1D,EAAI2D,OACJ3D,EAAIoD,YACJpD,EAAIuD,IAAI,EAAG,EAAG,GAAI,EAAa,EAAV3jC,KAAK4jC,IAC1BxD,EAAI4D,YAAc,OAClB5D,EAAI6D,WAENh3B,OAhDO,SAgDA/X,GACLkF,KAAK8f,OAAOjN,OAAO7S,KAAKmQ,MACxBrV,EAAE4Z,oBAGN7U,SAAU,CACRigB,OADQ,WAEN,OAAO9f,KAAKsoC,eAEd/qB,IAJQ,WAKN,OAAOvd,KAAK2C,MAAMmnC,UAAUnnC,MAAM4a,KAEpCjhB,IAPQ,WAQN,OAAO0D,KAAKmQ,KAAKvR,MAAQ,aAAE2iB,UAAUvhB,KAAKmQ,KAAKvR,MAAMkrC,WAAa9pC,KAAK8f,OAAO7f,EAAE8pC,aAAc/pC,KAAKmQ,KAAKvR,MACtGoB,KAAK8f,OAAO7f,EAAErH,MAAQ,IAE1BiF,KAXQ,WAYN,OAAOmC,KAAKmQ,KAAKvR,MAAQoB,KAAKmQ,KAAKvR,MAAMf,KAAOmC,KAAKmQ,KAAKsO,KAAK5gB,MAEjEuqC,IAdQ,WAeN,OAAOpoC,KAAKmQ,KAAK5S,MAAQyC,KAAKmQ,KAAK5S,MAAMK,QAAUoC,KAAKnC,MAE1D0C,MAjBQ,WAkBN,OAAO,aAAEgG,IAAIsM,QAEfk1B,QApBQ,WAqBN,OAAO/nC,KAAKmQ,KAAKvR,QAAUoB,KAAK8f,OAAOpB,QAAQ1e,KAAKmQ,OAASnQ,KAAK8f,OAAOnB,QAAQ3e,KAAKmQ,SAG1F1L,QArFa,WAqFH,YACHzE,KAAKmQ,KAAKwQ,QAAU3gB,KAAKmQ,KAAKsO,OACjCze,KAAK8f,OAAOpB,QAAQ1e,KAAKmQ,MAAQnQ,KAAK0oC,uBAAyB1oC,KAAK8f,OAAOtB,QAAQxe,KAAKmQ,OAAQnQ,KAAKuoC,uBACrGvoC,KAAK2Q,QAAO,kBAAM,EAAKR,KAAKsQ,YAAU,SAAA9a,GAAA,OAAK,EAAKwjC,YAAYxjC,KAAI,CAC9DwY,WAAW,O,UCrGrB,EAAOtc,OAASA,EAED,gB,i/BCuETmoC,GAAS,CACbC,qBAASC,kBAAMvtB,iBAAK3a,oBAAQmoC,wBAAYxI,mBAAOE,qBAASE,iBAAKh7B,kBAAMk7B,qBACnEmI,kBAAMtmC,sBAAU2W,wBAAY4vB,mBAAOC,0BAAcC,yBAAaC,wBAAYC,wBAAYC,qBAASC,qBAASC,qBAAStD,oBAAQF,wBAAYyD,kBAAMC,iBAC3IC,mBAAOzxB,iBAAK1U,uBAAWD,oBAAQqmC,0BAAcvnC,wBAAYwnC,kBAAMC,kBAAMC,kBAAMC,qBAASC,mBAAOC,oBAAQC,mBAAOC,sBAAUlQ,sBAAUmQ,sBAAUC,0BAAcC,yBACtJt9B,mBAAOu9B,oBAAQ7R,kBAAM8R,sBAAUC,2BAAeC,sBAAUC,yBAAYC,oBAAOC,wBAAWC,qBAAQC,yBAAY7pB,0BAAa8pB,0BAAaC,qBACpIC,sBAASC,yBAAY5c,sBAAS6c,sBAASC,uBAAUhe,oBAAOie,uBAAUC,sBAASC,qBAAQC,mBAAMC,oBAI3F1/B,aAAE28B,OAASA,GAGX38B,aAAE2/B,QAAU,SAAC5c,GAEX/2B,OAAO+W,KAAK45B,IAAQ95B,SAAQ,SAAAF,GAAC,OAAIogB,EAAI6c,UAAUjD,GAAOh6B,GAAGnS,KAAMmsC,GAAOh6B,OAEtEogB,EAAI8c,IAAI7c,eAGKhjB,2B,4DC/FNtJ,IAAI,UAAU1D,MAAM,yB,SAGLA,MAAM,wB,SACNA,MAAM,2B,gDAL5B,eAMM,MANN,eAMM,CAND0D,IAAI,QAAe,EAAAopC,YAAU,CAChC,eAEM,MAFN,EAEM,CADJ,eAAQ,qB,KAEC,EAAAltC,EAAEkc,O,iBAAb,eAAuD,MAAvD,I,sBACW,EAAAlc,EAAEkc,O,iBAAb,eAA0D,MAA1D,I,qGAiBa,GACbte,KAAM,gBACNkE,OAAQ,CAACoH,EAAA,YACT4R,QAHa,WAIX,MAAO,CACLhF,oBAAqB/V,OAGzBJ,MAAO,CAAC,eAAgB,aAAc,WAAY,WAAY,YAAa,SAC3EiF,MAAO,CAAC,oBAAqB,UAC7BuoC,MAVa,SAUPxtC,EAAO8E,GACX,IAGI2oC,EAAQC,EAAMC,EAAMC,EAAMC,EAAMC,EAH9BC,EAAO,iBAAqB3H,IAC5B5tC,EAAO,iBACPkrB,EAAU,iBAGVgF,EAAc,SAASie,GAC3B,IACIqH,EAAOC,EAAOC,EADd7N,EAAQ,aAAEC,OAAOqG,GAEjBwH,EAAQ,EACRC,EAAY,KAChB1qB,EAAQ1kB,MAAM2Q,MAAM0+B,WAAa,GACjC,aAAE/f,QAAO,SAAApzB,GACP,IAAIozC,EAAO,aAAEhO,OAAOplC,GAChBqzC,EAAUrzC,EAAEszC,UAChBR,EAAQH,EAAOS,EAAOjO,EAClB4N,GAASC,GAAYK,EAAUL,IACjCE,EAAYD,EACZA,GAASG,EAAOL,IAAUM,EAAUL,IAEtCD,EAAQK,EACRJ,EAAWK,EACXP,EAAQ,aAAE11B,SAAS01B,EAAOL,EAAOG,EAAMF,EAAOE,GAC9CpqB,EAAQ1kB,MAAM2Q,MAAMsb,UAApB,qBAA8C+iB,EAA9C,UACC,SAAC9yC,EAAGwzB,GACL,IAAKA,EACH,OAAOzqB,EAAQ0iC,GAEjB,GAAa,MAATqH,EAAJ,CACA,IAAIS,EAAW,IACXzoC,KAAKkhC,IAAIiH,GAASM,GAAaL,GAAapoC,KAAKkhC,IAAIkH,GAAaK,EACpEN,EAAQ,EACCC,GAAapoC,KAAKkhC,IAAIkH,GAAapoC,KAAKkhC,IAAIiH,KACrDA,EAAQC,GAEV,IAAI1mB,EAAIsmB,EAAiB,IAARG,EACbvzC,EAAIoL,KAAKkhC,IAAIiH,EAAQ,GACrBO,GAAOd,EAAOlmB,GAAKomB,EACvBpmB,GAAKgnB,EACDA,EAAOZ,EAAO,IAChBpmB,GAAKomB,GAEPD,EAAO,aAAEv1B,SAASoP,EAAGimB,EAAMC,GACvBC,GAAQG,KACNA,EAAQL,GAAQK,EAAQL,GAAQ/yC,EAAI6zC,KACtC7zC,EAAI6zC,GAEFzoC,KAAKkhC,IAAI2G,EAAOG,GAAS,KAC3BpzC,EAAI,KAEN8oB,EAAQ1kB,MAAM2Q,MAAMsb,UAApB,qBAA8C4iB,EAA9C,OACAnqB,EAAQ1kB,MAAM2Q,MAAM0+B,WAApB,oBAA8CzzC,EAA9C,kBAED+rC,IAECviC,EAAU,SAASlJ,GACvB2yC,IAAS3yC,EAAEoI,WAAa,GAAK,EAAI,GAAKwqC,EACtCD,EAAO,aAAEv1B,SAASu1B,EAAMF,EAAMC,GAC9BlqB,EAAQ1kB,MAAM2Q,MAAMsb,UAApB,qBAA8C4iB,EAA9C,OACAnqB,EAAQ1kB,MAAM2Q,MAAM0+B,WAApB,2BAEIpqC,EAAU,SAAS/I,GACvB,IAAIuY,EAAI,qBAAEvY,GACa,YAAnBuY,EAAEhQ,SAASxF,OACb0wC,EAAOl7B,EAAEiX,OAAO1rB,OAChBiO,GAAM,KAGJA,EAAQ,SAASH,GACrB,GAAKtU,EAAKwG,OAAU0kB,EAAQ1kB,MAA5B,CACA,IAAI4vC,EAAKb,EAAKpqC,iBACd,GAAKirC,EAAGp1C,OAAR,CACA,IAAIuM,EAAIgoC,EAAK1tC,EAAEiJ,WACXulC,EAAKd,EAAK1tC,EAAE40B,SACZ6Z,EAAKf,EAAK1tC,EAAE20B,UACZ6Z,GAAa,IAAPA,GAAYC,GAAa,IAAPA,KAC1B/oC,EAAI,aAAEuS,SAASvS,EAAG8oC,EAAIC,GAClB/oC,GAAKgoC,EAAK1tC,EAAEiJ,YACdqlC,EAAO5oC,IAGX,IAAIgpC,EAAU,aAAE7rC,IAAI1K,EAAKwG,OACrBgwC,EAAS,aAAE9rC,IAAIwgB,EAAQ1kB,OACvBiwC,GAAM,EACNC,GAAM,EACNC,GAAM,EA2BV,GA1BArB,EAAOC,EAAK1tC,EAAE+uC,aACd3B,EAASG,GAAQmB,EAAQ3rC,OAAS0qC,GAAQ,EAC1CJ,EAAOC,EAAOF,EAASuB,EAAO5rC,OAAS0qC,GACnCe,GAAa,IAAPA,KACRI,EAAKL,EAAGn0B,WAAU,SAAA7f,GAAA,OAAKA,EAAEoF,MAAMhB,OAAS6vC,OAEtCC,GAAa,IAAPA,KACRI,EAAKN,EAAGn0B,WAAU,SAAA7f,GAAA,OAAKA,EAAEoF,MAAMhB,OAAS8vC,OAErCG,GAAM,GAAKC,GAAM,IAAMN,EAAG,GAAG5uC,MAAMhB,MAAQ4vC,EAAGA,EAAGp1C,OAAS,GAAGwG,MAAMhB,QACtEmwC,GAAM,GAEJF,GAAM,IACJE,EACFvB,GAAQqB,EAAKnB,EAEbH,GAAQsB,EAAKnB,GAGboB,GAAM,IACJC,EACFxB,IAASiB,EAAGp1C,OAAS,EAAI01C,GAAMpB,EAE/BF,IAASgB,EAAGp1C,OAAS,EAAI01C,GAAMpB,GAG1B,MAAL/nC,EAAW,CACb,IAAIqnB,EAAQwhB,EAAGn0B,WAAU,SAAA7f,GAAA,OAAKA,EAAEoF,MAAMhB,OAAS+G,MAChC,IAAXqnB,EACFuhB,EAAe,MAARd,GAAgBA,EAAOH,GAAQK,EAAKsB,UAAYT,EAAGA,EAAGp1C,OAAS,GAAGwG,MAAMhB,MAAQ4vC,EAAG,GAAG5uC,MAAMhB,OAEnG6uC,EAAOJ,EAAUK,EAAO1gB,OAG1BygB,EAAOJ,EAETI,EAAO,aAAEv1B,SAASu1B,EAAMF,EAAMC,GAC9BlqB,EAAQ1kB,MAAM2Q,MAAM0+B,WAAa,GACjC3qB,EAAQ1kB,MAAM2Q,MAAMsb,UAApB,qBAA8C4iB,EAA9C,OACI/gC,IACF4W,EAAQ1kB,MAAM2Q,MAAM0+B,WAApB,8BAIEM,EAAS,SAAS5oC,IACf,EACPgoC,EAAK1tC,EAAEiJ,WAAavD,GAGhBupC,EAAW,WACf,OAAQ7B,EAASI,GAAQC,GAGrByB,EAAW,WACf,IAAIC,EAAMzB,EAAKpqC,iBAAiB2rC,KAChCE,GAAOb,EAAOa,EAAIxvC,MAAMhB,QAGpBqD,EAAY,WAChB,MAAO,CACL+sC,aAAc,GACd7yB,OAAO,IAIL5L,EAAa,gBAAS,WAC1B,uBACEhB,MAAO,CACL,oBAAqB,aAAED,SAASq+B,EAAK1tC,EAAE+uC,gBAErC,aAAEnuC,GAAGg6B,OAAS,CAChBwU,aAAc/mB,GACZ,CACFA,cACAtkB,eAqBN,OAhBA,gBAAU,WACR,gBAAM,kBAAM2pC,EAAK1tC,EAAEiJ,cAAY,SAAAvD,GAC7BjB,EAAQ4qC,KAAK,oBAAqB3pC,GAClCjB,EAAQ4qC,KAAK,SAAU3pC,MAEzB,gBAAM,kBAAMgoC,EAAK1tC,EAAE40B,WAAUhoB,GAC7B,gBAAM,kBAAM8gC,EAAK1tC,EAAE20B,WAAU/nB,GAC7B,IAAI,QAAe,WACbyW,EAAQ1kB,QACViO,IACAsiC,QAED30B,QAAQ8I,EAAQ1kB,OACnB0kB,EAAQ1kB,MAAMkX,iBAAiB,gBAAiBq5B,MAG3C,CACL/2C,OACAkrB,UACArhB,YACAqmB,cACAtkB,UACAuM,gB,UCvNR,EAAO1O,OAASA,EAED,gB,kCCPf,W,mJCUiB,GACbhE,KAAM,SACNsqB,cAAe,SACfpmB,OAAQ,CAACoH,EAAA,WAAY2R,EAAA,YACrBlb,MAAO,CAAC,OAAQ,WAAY,eAAgB,gBAAiB,OAAQ,UAAW,MAAO,YACvFsW,OAAQ,CAAC,mBAAoB,eAAgB,oBAAqB,mBAClE6E,QANa,WAOX,MAAO,CACLyR,kBAAmBxsB,KACnBusB,aAAcvsB,KAAKusB,aAAe,EAClC3J,iBAAkB5iB,OAGtBpH,KAba,WAcX,MAAO,CACL22C,OAAO,EACPvvB,SAAS,EACTW,OAAQ3gB,KAAKwvC,kBAGjB/tC,QAAS,CACPguC,SADO,WAEL,IAAI3iB,GAAO9sB,KAAKC,GAAKD,KAAKsqB,QAAQ5mB,SAClC,IAAY,IAARopB,GAAiBliB,MAAMC,QAAQiiB,IAAQA,EAAI1zB,OAAS,OAAO,GAEjEs2C,aALO,WAML,OAAO,aAAE3hC,OAAOvK,IAAIxD,KAAK2C,MAAM06B,KAAKjiB,iBAAiB,qBAAqB,SAAAzV,GAAA,OAAK,qBAAEA,OAEnF6pC,cARO,WASL,SAAOxvC,KAAKyvC,YAAezvC,KAAKqqB,WAElCiZ,WAXO,WAYL,OAAOtjC,KAAKysB,gBAAkBzsB,KAAKysB,gBAAgB6W,aAAetjC,KAAKC,EAAEg/B,UAE3E0Q,YAdO,SAcKxQ,GACVn/B,KAAKC,EAAEg/B,SAAkB,MAAPE,EAAcA,GAAOn/B,KAAKC,EAAEg/B,UAEhD2Q,SAjBO,WAkBL,QAAO5vC,KAAKyvC,eAAuBzvC,KAAKqqB,UAAarqB,KAAK2gB,SAE5Due,OApBO,SAoBAC,EAAK5U,IACTvqB,KAAKysB,iBAAmBzsB,MAAM2vC,YAAYxQ,GACvCn/B,KAAKsjC,eAAiBtjC,KAAK2gB,OAC7B3gB,KAAK5D,QAAQmuB,GAEbA,GAAMvqB,KAAKga,UAAUuQ,IAGzBzR,aA5BO,SA4BMhe,IACVkF,KAAKC,EAAEkG,UAAYnG,KAAK6C,KAAKmW,UAAUC,IAAI,SAE9CW,aA/BO,SA+BM9e,GACXkF,KAAK6C,KAAKmW,UAAUnG,OAAO,SAE7BhP,QAlCO,SAkCC/I,GACFkF,KAAKC,EAAEkG,SACJnG,KAAK2C,MAAMu8B,QAAWl/B,KAAK2C,MAAMu8B,OAAO38B,SAASzH,EAAEuB,SACtDvB,EAAE4Z,kBAGF1U,KAAKkpB,UAAYlpB,KAAKC,EAAE4vC,UAC1B7vC,KAAKkpB,SAASU,OAAO5pB,KAAKkpB,SAASC,WACnCnpB,KAAK8vC,WAITA,OA9CO,WA+CL,GAAK9vC,KAAKkpB,UAA4C,gBAAhClpB,KAAKkpB,SAAS7lB,SAASxF,KAA7C,CACA,IAAIjD,EAAIoF,KACR,OAAQpF,EAAIA,EAAE4xB,oBAA0C,WAApB5xB,EAAEyI,SAASxF,KACzCjD,EAAEsuB,UAAU,WACd,IAAIhrB,EAAItD,EAAE80C,eACNzxC,EAAI,CAAC,EAAG,EAAG,GACXpD,EAAIqD,EAAE9E,OACV8E,EAAEgS,SAAQ,SAAAvK,GACR,IAAIrD,EAAIqD,EAAEujB,SACN5mB,GAAGrE,EAAEqE,EAAEytC,mBAEbn1C,EAAEsuB,SAASU,MAAM3rB,EAAE,KAAOpD,EAAI,EAAIoD,EAAE,KAAOpD,EAAI,EAAI,GARrC,GAWlB,IAAIqD,EAAI8B,KAAKkpB,SAAS6mB,aAChB,GAAL7xC,GAAU8B,KAAKgwC,UAAU9xC,KAE5B8xC,UAhEO,SAgEG3tC,GACRrC,KAAK0vC,eAAex/B,SAAQ,SAAAvK,GACtBA,EAAEujB,WACJvjB,EAAEujB,SAASU,MAAMvnB,GACjBsD,EAAEqqC,UAAU3tC,QAIlBwqB,aAxEO,WAyEL,IAAIjyB,EAAIoF,KACR,OAAQpF,EAAIA,EAAE4xB,oBAAuB5xB,EAAEyI,SAASxF,OAASmC,KAAKqD,SAASxF,KACrEjD,EAAEskC,QAAO,IAGbtnB,UA9EO,WA8EK,WACNunB,EAAMn/B,KAAKsjC,aACX2M,EAAMjwC,KAAK4vC,WAAczQ,EAAMn/B,KAAKC,EAAE0gC,aAAe3gC,KAAKC,EAAE2gC,cAAiB5gC,KAAKC,EAAE2B,KACxF,OAAO,eAAE,MAAO,eAAW5B,KAAKkwC,WAAYlwC,KAAKuQ,WAAYvQ,KAAKmwC,QAAS,CACzEnwC,KAAKggB,QACL,eAAE1G,EAAA,WAAK,CACLhd,IAAK,iBACL+D,MAAO,mBAET,eAAE,MAAO,CACP0D,IAAK,SACL1D,MAAO,CAAC,oBAAqB8+B,EAAM,iBAAmB,mBACtDt7B,QAAS,SAAC/I,GACRA,EAAE4Z,kBAAmB,EAAKwqB,YAG9Bl/B,KAAKoO,OAAOgiC,KAAOpwC,KAAKoO,OAAOgiC,MAC/BH,GAAO,eAAE32B,EAAA,WAAK,CACZhd,IAAK2zC,EACL5vC,MAAO,gBAET,eAAE,MAAO,CACPA,MAAO,uBACPE,MAAOP,KAAKC,EAAES,MACbV,KAAKoO,OAAO1N,KAAOV,KAAKoO,OAAO1N,OAASV,KAAKC,EAAES,SAGtD2vC,UAzGO,WA0GL,IAAI5xC,EACAquB,EAAM9sB,KAAKC,EAAEyD,SACb4sC,EAAOtwC,KAAK+M,UAIhB,OAHInC,MAAMC,QAAQiiB,IAAQwjB,IACxB7xC,EAAIquB,EAAItpB,KAAI,SAAA2M,GAAG,OAAKmgC,EAAKliC,OAAOnK,QAAQ,CAACkM,aAEpC,eAAE,MAAO,CACdnH,GAAIhJ,KAAKiJ,IAAM,OACflF,IAAK,OACL1D,MAAO,cACPkP,MAAO,CACLghC,QAASvwC,KAAKC,EAAEg/B,SAAW,GAAK,SAEjCxgC,IAELsK,KAzHO,WA0HL,MAAO,CAAC/I,KAAK4X,YAAa5X,KAAKqwC,eAGnCxwC,SAAU,CACRywC,KADQ,WAEN,OAAOtwC,KAAK+M,WAEdggB,MAJQ,WAKN,OAAO/sB,KAAKysB,gBAAkBzsB,KAAKysB,gBAAgBM,MAAQ/sB,KAAKusB,aAAe,GAEjF5S,UAPQ,WAQN,OAAO3Z,KAAK+M,WAAa/M,KAAK+M,UAAU3H,UAAUpF,OAEpDuQ,WAVQ,WAWN,IAAI4uB,EAAMn/B,KAAKsjC,aACXpjB,EAAMlgB,KAAK4vC,WACX1pC,EAAKlG,KAAKC,EAAEkG,SACZqqC,EAAO,CACTnwC,MAAO,CACL,OAAQL,KAAK2Z,UACb,OAAQzT,EACR,WAAYga,EACZ,aAAcA,GAAMif,EACpB,aAAcjf,IAAOif,GAEvB5vB,MAAO,gBAAkB,aAAED,SAAsB,GAAbtP,KAAK+sB,QAO3C,OALI/sB,KAAK+M,YACPyjC,EAAK13B,aAAe9Y,KAAK8Y,aACzB03B,EAAK52B,aAAe5Z,KAAK4Z,aACzB42B,EAAK,UAAD,OAAWtqC,EAAG,UAAU,KAAQlG,KAAK6D,SAEpC2sC,IAGX/rC,QAjLa,WAiLH,WACJzE,KAAKC,EAAEg/B,UAAUj/B,KAAKk/B,QAAO,GAC7Bl/B,KAAK2Z,WAAW3Z,KAAK+M,UAAU6f,YAAY5sB,MAC3CA,KAAKkpB,UACPlpB,KAAKga,WAAU,WACR,EAAK41B,YAAe,EAAKjtC,MAAM06B,KAAK9O,oBACvC,EAAKuhB,c,UC5LF,gB,kFCMkE,eAA6B,KAA1BzvC,MAAM,iBAAe,S,EAMtB,eAA4B,KAAzBA,MAAM,gBAAc,S,EAkBlG,eAAyC,OAApCA,MAAM,yBAAuB,S,GAG/BA,MAAM,mB,GAEuCA,MAAM,uB,GAM7CA,MAAM,wB,GAOVA,MAAM,sB,GAQNA,MAAM,sB,GAQNA,MAAM,sB,yOApEjB,eAiFa,EAjFb,eAiFa,EAjFiB,YAAGA,MAAK,4BAAiCJ,EAAEe,Q,yBACvE,iBAgDa,CAhD8B,EAAAq6B,S,wCAA3C,eAgDa,G,MAhDDh7B,MAAM,mB,yBAChB,iBAiCe,CAjCf,eAiCe,GAjCAA,MAAK,8BAAkC,EAAAO,MAAMC,GAAGC,OAAOC,MAAOX,OAAO,SAASF,MAAM,U,yBACjG,iBAC8B,CADuD,QAAN,EAAAD,EAAEe,M,iBAAjF,eAC8B,K,MAD3BX,MAAM,gEACN,QAAK,+BAAE,EAAAowC,WAAS,S,sBACnB,eAA+F,KAA5FpwC,MAAM,2DAA4D,QAAK,+BAAE,EAAAowC,WAAS,OACrF,eAwBe,GAxBApwC,MAAK,kCAAsC,EAAAO,MAAMC,GAAGC,OAAOC,O,yBACxE,iBAAuG,CAAvG,eAAuG,OAAlGV,MAAM,8BAA8B0D,IAAI,UAAW,QAAK,+BAAE,EAAA2sC,iBAAgB,UAAQ,EAAAC,U,sBACrC,EAAAC,a,iBAAlD,eAUW,G,MAVDvwC,MAAM,iBAAiBoV,MAAM,KAAyB/Q,QAAS,EAAA/B,MAAMkuC,QAAUC,aAAW,EACjG5vC,aAAa,EAAO8F,KAAI,QAAW,EAAArE,MAAMkuC,QAAO,eAAoB,QAAK,+BAAE,EAAAD,YAAW,Q,yBACvF,iBAAwG,CAAxG,eAAwG,OAAnGvwC,MAAM,4BAA6B,QAAK,+BAAE,EAAA0wC,kBAAgB,M,CAAM,IACrE,eAIS,GAJD/tC,OAAO,I,eAAoB,EAAAguC,mB,yBAC5B,iBAA2B,E,mBAAhC,eAEgD,2BAF5B,EAAAJ,aAAW,SAAnBzgC,G,wBAAZ,eAEgD,OAD7C9P,MAAK,qCAAyC8P,GAAQ,EAAA8gC,GAAGjZ,gBACzD,QAAK,mBAAE,EAAAkZ,iBAAiB/gC,K,eAASA,GAAI,mB,qCAE1C,eACS,GADD9P,MAAM,4BAA6B,QAAK,+BAAE,EAAA0wC,iBAAgB,M,yBAAK,iBAA4B,CAA5B,M,4DAGrD,QAAN,EAAA9wC,EAAEe,M,iBAAhB,eAES,G,MAFuBX,MAAM,+BAA+B0D,IAAI,WAAY,QAAO,EAAAotC,e,yBAC1F,iBAAa,C,8BAAX,EAAAC,WAAS,O,2CAEqC,EAAAC,c,iBAAlD,eAOW,G,MAPDhxC,MAAM,iBAAiBoV,MAAM,KAA0B/Q,QAAS,EAAA/B,MAAM2uC,SAAWR,aAAW,EACnG5vC,aAAa,EAAO8F,KAAI,QAAW,EAAArE,MAAM2uC,SAAQ,eAAoB,QAAK,+BAAE,EAAAD,aAAY,Q,yBACzF,iBAIS,CAJT,eAIS,GAJDruC,OAAO,KAAG,C,wBACX,iBAA4B,E,mBAAjC,eAEiD,2BAF7B,EAAAquC,cAAY,SAApBlhC,G,wBAAZ,eAEiD,OAD9C9P,MAAK,qCAAyC8P,GAAQ,EAAA8gC,GAAGhZ,WAAQ,IACjE,QAAK,mBAAE,EAAAsZ,kBAAkBphC,K,eAASA,GAAI,mB,4FAI/C,eAA+F,KAA5F9P,MAAM,4DAA6D,QAAK,+BAAE,EAAAowC,UAAS,OACA,QAAN,EAAAxwC,EAAEe,M,iBAAlF,eAC6B,K,MAD1BX,MAAM,iEACN,QAAK,+BAAE,EAAAowC,UAAS,S,sBACnB,M,kBAEF,eAAyB,iBACzB,eAWM,MAXN,EAWM,CAVkB,QAAN,EAAAxwC,EAAEe,M,mBAChB,eAAwF,8BAApE,EAAAuF,IAAIqwB,SAASO,aAAW,SAAhChnB,G,wBAAZ,eAAwF,MAAxF,EAAwF,eAAZA,GAAI,M,gDAElF,eAMM,2BANc,EAAAqhC,UAAQ,SAAhBrhC,G,wBAAZ,eAMM,OANyB5P,MAAO4P,EAAK5P,MACxCF,MAAK,2BAA+B8P,EAAKtD,QAAUsD,EAAKhK,SAAQ,QAAWgK,EAAKorB,IAAG,OAAUprB,EAAKhK,WAClG,QAAK,mBAAE,EAAAb,UAAUmsC,EAAOthC,K,CACzB,eAEO,oBAFAA,KAAMA,IAAb,iBAEO,CADL,eAAqD,MAArD,EAAqD,eAAjBA,EAAKzP,MAAI,Q,8CAKjC,EAAAgxC,S,iBAApB,eAyBe,G,MAzBcrxC,MAAM,mB,yBACjC,iBAOa,EAPc,IAAT,EAAAsxC,W,iBAAlB,eAOa,G,MAPwBtxC,MAAM,2CAA2CoV,MAAM,K,yBAC1F,iBAAkD,CAAlD,eAAkD,MAAlD,EAAkD,eAAhB,EAAAlP,IAAIkwB,MAAI,GAC1C,eAIc,GAJDp2B,MAAM,uBAAuB0D,IAAI,OAAQgsB,QAAS,EAAA4hB,UAAYxxC,UAAU,EAAOyxC,YAAU,EACpGC,cAAY,QAAQ7uC,OAAO,K,yBACY,iBAAyB,E,mBAAhE,eAC+D,2BADZ,EAAA8uC,cAAY,SAAjB3sB,G,wBAA9C,eAC+D,GADrD9kB,MAAM,uBAAkDnB,IAAKimB,EAAIzkB,KAAM,EAAAE,MAAMmW,OAAOoO,GAC3Fhf,SAAU,EAAA4rC,eAAe5sB,GAAK,QAAK,mBAAE,EAAA6sB,UAAUP,EAAOtsB,K,yGAGhC,IAAX,EAAA8sB,a,iBAAlB,eAOa,G,MAP0B5xC,MAAM,6CAA6CoV,MAAM,K,yBAC9F,iBAAoD,CAApD,eAAoD,MAApD,EAAoD,eAAlB,EAAAlP,IAAImwB,QAAM,GAC5C,eAIc,GAJDr2B,MAAM,uBAAuB0D,IAAI,SAAUgsB,QAAS,EAAAkiB,YAAc9xC,UAAU,EAAOyxC,YAAU,EACxGC,cAAY,QAAQ7uC,OAAO,K,yBACY,iBAA2B,E,mBAAlE,eACmE,2BADhB,EAAAkvC,gBAAc,SAAnBj0C,G,wBAA9C,eACmE,GADzDoC,MAAM,uBAAoDnB,IAAKjB,EAAIyC,KAAM,EAAAE,MAAMmW,OAAO9Y,GAC7FkI,SAAU,EAAAgsC,iBAAiBl0C,GAAK,QAAK,mBAAE,EAAAm0C,YAAYX,EAAOxzC,K,yGAGpC,IAAX,EAAAo0C,a,iBAAlB,eAOa,G,MAP0BhyC,MAAM,6CAA6CoV,MAAM,K,yBAC9F,iBAAoD,CAApD,eAAoD,MAApD,EAAoD,eAAlB,EAAAlP,IAAIowB,QAAM,GAC5C,eAIc,GAJDt2B,MAAM,uBAAuB0D,IAAI,SAAUgsB,QAAS,EAAAsiB,YAAclyC,UAAU,EAAOyxC,YAAU,EACxGC,cAAY,QAAQ7uC,OAAO,K,yBACY,iBAA2B,E,mBAAlE,eACmE,2BADhB,EAAAsvC,gBAAc,SAAnB93C,G,wBAA9C,eACmE,GADzD6F,MAAM,uBAAoDnB,IAAK1E,EAAIkG,KAAM,EAAAE,MAAMmW,OAAOvc,GAC7F2L,SAAU,EAAAosC,iBAAiB/3C,GAAK,QAAK,mBAAE,EAAAg4C,YAAYf,EAAOj3C,K,yIAI/C,EAAA8G,S,iBAApB,eAIe,G,MAJejB,MAAK,8BAAkC,EAAAO,MAAMC,GAAGC,OAAOC,MAAOb,MAAM,UAChGE,OAAO,U,yBACP,iBAAsF,CAAtF,eAAsF,OAAjFC,MAAM,+BAAgC,QAAK,gCAAE,EAAAoyC,UAAA,EAAAA,SAAA,sB,eAAY,EAAAlsC,IAAIqwB,SAASC,KAAG,GAC9E,eAAyF,OAApFx2B,MAAM,mCAAoC,QAAK,gCAAE,EAAAqyC,cAAA,EAAAA,aAAA,sB,eAAgB,EAAAnsC,IAAIoqB,SAAO,O,0LAatE,G,UAAA,CACb9yB,KAAM,aACNkE,OAAQ,CAACoH,EAAA,YACTtE,MAAO,CAAC,aAAc,UACtBjF,MAAO,CAAC,QAAS,WAAY,WAAY,UAAW,MAAO,OAAQ,SAAU,UAAW,KAAM,QAC5F,aAAc,eAAgB,eAAgB,cAAe,gBAAiB,iBAEhFhH,KAPa,WAQX,IAAIq4C,EAAKjxC,KAAK2yC,aACd,MAAO,CACL1B,KACAjX,YAAa,KACb4W,YAAa,KACbS,aAAc,OAGlB7oB,MAAO,CACL5pB,MADK,SACC+G,GACJ3F,KAAKixC,GAAKjxC,KAAK2yC,cAEjB1B,GAJK,SAIFxC,EAAIxkC,GACL,IAAI2oC,EAAKnE,EAAGzW,cACR6a,EAAK5oC,EAAG+tB,cACZ,GAAoB,SAAhBh4B,KAAKC,EAAEe,KAAiB,CAC1B,IAAI5B,GAAK,GAAKwzC,GAAIjzC,OAAO,GAAI,GACzBtB,GAAK,GAAKw0C,GAAIlzC,OAAO,GAAI,GACzBP,GAAKf,GAAG2B,KAAKwF,QAAQ,SAAUipC,OACV,UAAhBzuC,KAAKC,EAAEe,MAAoC,SAAhBhB,KAAKC,EAAEe,KACvC4xC,GAAMC,GAAI7yC,KAAKwF,QAAQ,SAAUipC,GACZ,SAAhBzuC,KAAKC,EAAEe,OACX4xC,GAAMC,GAAQpE,EAAGxW,YAAchuB,EAAGguB,YAAaj4B,KAAKwF,QAAQ,SAAUipC,KAG/E1e,QAjBK,SAiBG1yB,GACN,GAAKA,EAAL,CACA,IAAIoxC,EAAmB,kBAAPpxC,EAAkB,aAAE06B,UAAU16B,EAAI2C,KAAK8yC,WAAaz1C,EAChE4M,EAAKjK,KAAKixC,GACV2B,EAAKnE,EAAGzW,cACR6a,EAAK5oC,EAAG+tB,cACZ,GAAoB,SAAhBh4B,KAAKC,EAAEe,KAAiB,CAC1B,IAAI5B,GAAK,GAAKwzC,GAAIjzC,OAAO,GAAI,GACzBtB,GAAK,GAAKw0C,GAAIlzC,OAAO,GAAI,GACzBP,GAAKf,IAAG2B,KAAKixC,GAAKxC,OACG,UAAhBzuC,KAAKC,EAAEe,MAAoC,SAAhBhB,KAAKC,EAAEe,KACvC4xC,GAAMC,IAAI7yC,KAAKixC,GAAKxC,GACC,SAAhBzuC,KAAKC,EAAEe,OACX4xC,GAAMC,GAAQpE,EAAGxW,YAAchuB,EAAGguB,aAAaj4B,KAAKixC,GAAKxC,OAIpEhtC,QAAS,CACPQ,UADO,WAEL,IAAIK,EAAItC,KAAKk6B,QAAU,GACvB,MAAO,CACLl5B,KAAY,SAANsB,EAAe,OAASA,EAAE2N,SAAS,QAAU3N,EAAE2N,SAAS,MAAQ,QAAU3N,EAC7E2N,SAAS,MAAQ,OAAS,SAGjC0iC,WARO,WASL,IAAI1B,EAAKjxC,KAAKpB,MACVm0C,EAAK/yC,KAAK60B,SACVme,EAAKhzC,KAAK40B,SACVrtB,EAAIvH,KAAKk6B,QAAU,GASvB,OARI6Y,KAAQ9B,GAAMA,EAAK8B,KACrB9B,EAAK8B,GAEHC,KAAQ/B,GAAMA,EAAK+B,KACrB/B,EAAK+B,GAEP/B,EAAKA,EAAK,aAAElZ,UAAUkZ,EAAI1pC,GAAK,IAAIiG,KAC9BxN,KAAKpB,OAAOoB,KAAKizC,eAAehC,GAC9BA,GAETiC,QAvBO,SAuBC/0C,GACN,IAAIoO,EAAIpO,EAAE86B,SACV,OAAY,GAAL1sB,EAAS,EAAIA,EAAI,GAE1B0mC,eA3BO,SA2BQ90C,GACb,IAAIg1C,EAAyB,MAApBnzC,KAAKw7B,YAAsBr9B,EAAEg6B,WAAapgB,WAAW/X,KAAKw7B,aACnE,GAAIx7B,KAAKo6B,WAAY,CACnB,IAAInT,EAAK,aAAEoT,YAAYr6B,KAAKo6B,YACvBnT,EAAGhX,SAASkjC,KAAKA,EAAKlsB,EAAG,IAEhC9oB,EAAEy6B,SAASua,GACX,IAAIC,EAA2B,MAAtBpzC,KAAKy7B,cAAwBt9B,EAAEi6B,aAAergB,WAAW/X,KAAKy7B,eACvE,GAAIz7B,KAAKu6B,aAAc,CACrB,IAAID,EAAK,aAAED,YAAYr6B,KAAKu6B,cACvBD,EAAGrqB,SAASmjC,KAAKA,EAAK9Y,EAAG,IAEhCn8B,EAAE06B,WAAWua,GACb,IAAIltC,EAA2B,MAAtBlG,KAAK07B,cAAwBv9B,EAAEk6B,aAAetgB,WAAW/X,KAAK07B,eACvE,GAAI17B,KAAKy6B,aAAc,CACrB,IAAID,EAAK,aAAEH,YAAYr6B,KAAKy6B,cACvBD,EAAGvqB,SAAS/J,KAAKA,EAAKs0B,EAAG,IAGhC,OADAr8B,EAAE26B,WAAW5yB,GACN/H,GAETk1C,QAhDO,SAgDCl1C,GAGN,OAFI6B,KAAKszC,WAAan1C,EAAI6B,KAAKszC,YAAWn1C,EAAI6B,KAAKszC,WAC/CtzC,KAAKuzC,SAAWp1C,EAAI6B,KAAKuzC,UAASp1C,EAAI6B,KAAKuzC,SACxCvzC,KAAKizC,eAAe,IAAIzlC,KAAKrP,EAAEsP,aAExCgjC,UArDO,SAqDGpuC,GACR,IAAIlE,EAAI,IAAIqP,KAAKxN,KAAKixC,GAAGxjC,WACN,QAAfzN,KAAKC,EAAEe,KACT7C,EAAI,aAAEq6B,QAAQr6B,EAAG,IAAK,GAAKkE,GACH,SAAfrC,KAAKC,EAAEe,KAChB7C,EAAI,aAAEq6B,QAAQr6B,EAAG,IAAKkE,GACE,QAAfrC,KAAKC,EAAEe,KAChB7C,EAAI,aAAEq6B,QAAQr6B,EAAG,IAAKkE,GACE,QAAfrC,KAAKC,EAAEe,OAChB7C,EAAI,aAAEq6B,QAAQr6B,EAAG,IAAKkE,IAExBrC,KAAKixC,GAAK9yC,GAEZuyC,aAlEO,SAkEMppB,GACXA,EAAIA,GAAMtnB,KAAKixC,GAAGjZ,cAAgB,EAC9B1Q,EAAI,MAAMA,EAAI,KAClBtnB,KAAK4wC,YAAchmC,MAAM4oC,KAAK5oC,MAAM,KAAKpH,KAAI,SAACmC,EAAGzM,GAAJ,OAAUouB,EAAIpuB,MAE7Dg4C,iBAvEO,SAuEU7a,GACf,IAAIl4B,EAAI,IAAIqP,KAAKxN,KAAKixC,GAAGxjC,WACzBtP,EAAEs6B,YAAYpC,GACdr2B,KAAKixC,GAAK9yC,EACV6B,KAAK4wC,YAAc,MAErBG,iBA7EO,SA6EU1uC,GACf,IAAI5D,EAAIuB,KAAK4wC,YACTtpB,EAAIjlB,EAAI,EAAI5D,EAAE,GAAK,GAAKA,EAAEA,EAAErF,OAAS,GAAK,EAC9C4G,KAAK0wC,aAAappB,IAEpB0pB,kBAlFO,SAkFWl2C,GAChBkF,KAAK+wC,iBAAiBj2C,EAAEoI,WAAa,GAAK,EAAI,IAEhDiuC,cArFO,WAsFLnxC,KAAKqxC,aAAezmC,MAAM4oC,KAAK5oC,MAAM,KAAKpH,KAAI,SAACmC,EAAGzM,GAAJ,OAAUA,EAAI,MAE9Dq4C,kBAxFO,SAwFWjb,GACRt2B,KAAKixC,GAAGhZ,WAChBj4B,KAAKixC,GAAK,aAAEzY,QAAQx4B,KAAKixC,GAAI,IAAK3a,EAAQ,EAAIt2B,KAAKixC,GAAGhZ,YACtDj4B,KAAKqxC,aAAe,MAEtB/rC,UA7FO,SA6FGxK,EAAGqV,GACPA,EAAKhK,gBACcrI,IAAnBkC,KAAKC,EAAE8vB,UACT/vB,KAAKixC,GAAKjxC,KAAKqzC,QAAQljC,EAAKsjC,OAE9B34C,EAAEyK,QAAU,aACZzK,EAAE8D,MAAQuR,EACVnQ,KAAKwF,QAAQ1K,EAAGqV,GACXnQ,KAAK0xC,SACR1xC,KAAK0zC,SAASvjC,EAAKvR,SAEvB6zC,SAxGO,WAyGLzyC,KAAK0zC,SAAS1zC,KAAKqzC,QAAQ,IAAI7lC,QAEjCklC,aA3GO,SA2GMl4C,GACX,IAAI2D,EAAI6B,KAAKixC,GACT1pC,EAAIvH,KAAK2zC,UACb3zC,KAAK0zC,SAAS1zC,KAAKqzC,QAAQ,IAAI7lC,KAAKjG,EAAEywB,cAAezwB,EAAE0wB,WAAY1wB,EAAE2wB,UAAW/5B,EAAEg6B,WAAYh6B,EAAEi6B,aAAcj6B,EAAEk6B,iBAElHqb,SAhHO,SAgHE/tC,GACU,WAAb,eAAOA,KACTA,EAAI3F,KAAK4zC,GAAGjuC,IAEd3F,KAAKC,EAAEqB,SAAWtB,KAAKC,EAAEqB,QAAQqE,IAEnCqsC,UAtHO,SAsHGl3C,EAAG6K,GACX3F,KAAKixC,GAAGrY,SAASjzB,GACjB3F,KAAKixC,GAAKjxC,KAAKqzC,QAAQrzC,KAAKixC,IAC5BjxC,KAAK2C,MAAM8zB,KAAKsG,UAAUjiC,EAAEie,cAAe,SAAU,MAEvDq5B,YA3HO,SA2HKt3C,EAAG6K,GACb3F,KAAKixC,GAAGpY,WAAWlzB,GACnB3F,KAAKixC,GAAKjxC,KAAKqzC,QAAQrzC,KAAKixC,IAC5BjxC,KAAK2C,MAAM+zB,OAAOqG,UAAUjiC,EAAEie,cAAe,SAAU,MAEzDy5B,YAhIO,SAgIK13C,EAAG6K,GACb3F,KAAKixC,GAAGnY,WAAWnzB,GACnB3F,KAAKixC,GAAKjxC,KAAKqzC,QAAQrzC,KAAKixC,IAC5BjxC,KAAK2C,MAAMg0B,OAAOoG,UAAUjiC,EAAEie,cAAe,SAAU,MAEzD66B,GArIO,SAqIJvxC,GACD,OAAO,aAAEy1B,WAAwB,kBAANz1B,EAAiB,aAAE01B,UAAU11B,EAAGrC,KAAK8yC,WAAazwC,EAAGrC,KAAK8yC,YAEvFf,eAxIO,SAwIQpsC,GACb,IAAIvG,EAAIY,KAAK6zC,QACT51C,EAAI+B,KAAK8zC,QACb,OAAQ10C,GAAKA,EAAIuG,GAAO1H,GAAKA,EAAI0H,GAEnCwsC,iBA7IO,SA6IUxsC,GACf,IAAIvG,EAAIY,KAAK+zC,UACT91C,EAAI+B,KAAKg0C,UACb,OAAQ50C,GAAKA,EAAIuG,GAAO1H,GAAKA,EAAI0H,GAEnC4sC,iBAlJO,SAkJU5sC,GACf,IAAIvG,EAAIY,KAAKi0C,UACTh2C,EAAI+B,KAAKk0C,UACb,OAAQ90C,GAAKA,EAAIuG,GAAO1H,GAAKA,EAAI0H,IAGrC9F,SAAU,CACR0G,IADQ,WAEN,OAAO,aAAEA,KAEXusC,UAJQ,WAKN,OAAO9yC,KAAKC,EAAEi6B,QAAU,cAE1BwX,QAPQ,WAQN,MAAO,QAAQ5hC,KAAK9P,KAAK8yC,YAE3BzX,SAVQ,WAWN,OAAOr7B,KAAK0xC,UAAY,QAAQ5hC,KAAK9P,KAAK8yC,YAE5C7Y,WAbQ,WAcN,IAAI97B,EAAI6B,KAAK2zC,UACb,OAAOx1C,GAAK6B,KAAK4zC,GAAGz1C,IAEtBw1C,UAjBQ,WAkBN,IAAIz1C,EAAI8B,KAAKC,EAAE8vB,QACf,OAAI7xB,EACK,aAAE65B,UAAU75B,EAAG8B,KAAKC,EAAEi6B,SACnBl6B,KAAKC,EAAErB,OAASoB,KAAKC,EAAEqB,QAC1BtB,KAAKC,EAAEi6B,QAAUl6B,KAAKixC,QADxB,GAITqC,UAzBQ,WA0BN,OAAOtzC,KAAKC,EAAE40B,UAAY,aAAEkD,UAAU/3B,KAAKC,EAAE40B,SAAU70B,KAAK8yC,YAE9DS,QA5BQ,WA6BN,OAAOvzC,KAAKC,EAAE20B,UAAY,aAAEmD,UAAU/3B,KAAKC,EAAE20B,SAAU50B,KAAK8yC,YAE9DnB,UA/BQ,WAgCN,OAAO3xC,KAAKC,EAAEi6B,OAAOjqB,SAAS,MAAQjQ,KAAKixC,GAAG9Y,YAEhD8Z,YAlCQ,WAmCN,OAAOjyC,KAAKC,EAAEi6B,OAAOjqB,SAAS,MAAQjQ,KAAKixC,GAAG7Y,cAEhDia,YArCQ,WAsCN,OAAOryC,KAAKC,EAAEi6B,OAAOjqB,SAAS,MAAQjQ,KAAKixC,GAAG5Y,cAEhDwb,QAxCQ,WAyCN,GAAI7zC,KAAKszC,UAAW,CAClB,IAAIn1C,EAAI6B,KAAKszC,UACT/rC,EAAIvH,KAAKixC,GACb,GAAI9yC,EAAE65B,eAAiBzwB,EAAEywB,eAAiB75B,EAAE85B,YAAc1wB,EAAE0wB,YAAc95B,EAAE+5B,WAAa3wB,EAAE2wB,UACzF,OAAO/5B,EAAEg6B,aAIf2b,QAjDQ,WAkDN,GAAI9zC,KAAKuzC,QAAS,CAChB,IAAIp1C,EAAI6B,KAAKuzC,QACThsC,EAAIvH,KAAKixC,GACb,GAAI9yC,EAAE65B,eAAiBzwB,EAAEywB,eAAiB75B,EAAE85B,YAAc1wB,EAAE0wB,YAAc95B,EAAE+5B,WAAa3wB,EAAE2wB,UACzF,OAAO/5B,EAAEg6B,aAIf4b,UA1DQ,WA2DN,GAAI/zC,KAAK6zC,UAAY7zC,KAAKixC,GAAG9Y,WAC3B,OAAOn4B,KAAKszC,UAAUlb,cAG1B4b,UA/DQ,WAgEN,GAAIh0C,KAAK8zC,UAAY9zC,KAAKixC,GAAG9Y,WAC3B,OAAOn4B,KAAKuzC,QAAQnb,cAGxB6b,UApEQ,WAqEN,GAAIj0C,KAAK+zC,YAAc/zC,KAAKixC,GAAG7Y,aAC7B,OAAOp4B,KAAKszC,UAAUjb,cAG1B6b,UAzEQ,WA0EN,GAAIl0C,KAAKg0C,YAAch0C,KAAKixC,GAAG7Y,aAC7B,OAAOp4B,KAAKuzC,QAAQlb,cAGxBsY,SA9EQ,WA+EN,IAAIrpB,EAAItnB,KAAKixC,GAAGjZ,cAKhB,MAJoB,SAAhBh4B,KAAKC,EAAEe,OACTsmB,EAAItnB,KAAKixC,GAAGjZ,cAAiBh4B,KAAKixC,GAAGjZ,cAAgB,GACrD1Q,GAAK,OAASA,EAAI,IAEb,aAAE/gB,IAAI6F,GAAG,aAAE7F,IAAIqwB,SAAStP,EAAGA,IAEpC8pB,UAtFQ,WAuFN,OAAO,aAAE7qC,IAAIqwB,SAASQ,UAAUp3B,KAAKixC,GAAGhZ,aAE1CuZ,SAzFQ,WA0FN,MAAuB,SAAhBxxC,KAAKC,EAAEe,KAAkBhB,KAAKm0C,aAA+B,UAAhBn0C,KAAKC,EAAEe,KAAmBhB,KAAKo0C,cACjE,SAAhBp0C,KAAKC,EAAEe,KAAkBhB,KAAKq0C,aAAer0C,KAAKs0C,cAEtDH,aA7FQ,WA8FN,IAAI11C,EAAI,GACJW,EAAIY,KAAKC,EAAE40B,SACX52B,EAAI+B,KAAKC,EAAE20B,SACXrtB,EAAIvH,KAAKi6B,WACT3S,EAAItnB,KAAKixC,GAAGjZ,cAAiBh4B,KAAKixC,GAAGjZ,cAAgB,GAAM,EAC3D11B,EAAI,IAAIkL,KAAKxN,KAAKixC,GAAGxjC,WACzBnL,EAAEq2B,QAAQ,GACVr2B,EAAEm2B,YAAYnR,GACd,IAAK,IAAIpuB,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAIyM,EAAI2hB,EAAIpuB,EACRma,EAAI,CACNzU,MAAO+G,EACPjF,KAAMiF,EACN8tC,KAAM,IAAIjmC,KAAKlL,EAAEmL,WACjB8tB,IAAU,GAALriC,GAAe,IAALA,EACfiN,YAAW/G,GAAKA,EAAIuG,GAAO1H,GAAKA,EAAI0H,GACpCkH,MAAOtF,GAAK5B,GAEdlH,EAAE/E,KAAK2Z,GACP/Q,EAAEm2B,YAAYn2B,EAAE01B,cAAgB,GAElC,OAAOv5B,GAET21C,cArHQ,WAsHN,IAAI31C,EAAI,GACJW,EAAIY,KAAKC,EAAE40B,SACX52B,EAAI+B,KAAKC,EAAE20B,SACXrtB,EAAIvH,KAAKi6B,WAET33B,GADItC,KAAKixC,GAAGjZ,cACR,IAAIxqB,KAAKxN,KAAKixC,GAAGxjC,YACzBnL,EAAEq2B,QAAQ,GACVr2B,EAAEo2B,SAAS,GACX,IAAK,IAAIx/B,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAIyM,EAAI3F,KAAK4zC,GAAGtxC,GACZ+Q,EAAI,CACN3S,KAAM,aAAE6F,IAAIqwB,SAASQ,UAAUl+B,GAC/B0F,MAAO+G,EACP8tC,KAAM,IAAIjmC,KAAKlL,EAAEmL,WACjBtH,YAAW/G,GAAKA,EAAIuG,GAAO1H,GAAKA,EAAI0H,GACpCkH,MAAOtF,GAAK5B,GAEdrD,EAAEo2B,SAASp2B,EAAE21B,WAAa,GAC1Bx5B,EAAE/E,KAAK2Z,GAET,OAAO5U,GAET41C,aA5IQ,WAsJN,IATA,IAAI51C,EAAI,GACJW,EAAIY,KAAKC,EAAE40B,SACX52B,EAAI+B,KAAKC,EAAE20B,SACXrtB,EAAIvH,KAAKi6B,WACT1tB,EAAI,aAAE+rB,SAASt4B,KAAKixC,IACpB3pB,EAAI/a,EAAE,GACNjK,EAAI,aAAE62B,aAAa7R,GACnBppB,EAAI,aAAEg7B,cAAc5R,GACpBnpB,EAAID,EAAE,GACDhF,EAAI,EAAG2B,EAAIyH,EAAE,GAAIpJ,GAAK2B,EAAG3B,IAAK,CACrC,IAAIyM,EAAI3F,KAAK4zC,GAAGz1C,GACZkV,EAAI,CACN3S,KAAMxH,EACN0F,MAAO0oB,EAAI,IAAM,aAAEvQ,OAAO7d,GAC1Bu6C,KAAM,IAAIjmC,KAAKrP,EAAEsP,WACjBtH,YAAW/G,GAAKA,EAAIuG,GAAO1H,GAAKA,EAAI0H,GACpCkH,MAAOtF,GAAK5B,EACZpF,MAAO,aAAEgG,IAAI6F,GAAG,aAAE7F,IAAIqwB,SAASY,QAAS,aAAEM,WAAW35B,EAAG,cAAe,aAAE25B,WAAW,aAAEU,QAAQr6B,EAAG,IAAK,GACpG,gBAEJA,EAAEw6B,QAAQx6B,EAAE+5B,UAAY,GACxBz5B,EAAE/E,KAAK2Z,GAET,OAAO5U,GAET61C,aAtKQ,WAuKN,IAAIhyC,EAAI,IAAIkL,KAAKxN,KAAKixC,GAAGxjC,WACrBvP,EAAIoE,EAAE21B,WACN95B,EAAI,IAAIqP,KAAKlL,EAAEmL,WACflG,EAAIvH,KAAKi6B,WACT/Z,EAAK3Y,GAAK,aAAEuwB,WAAW,aAAEC,UAAUxwB,EAAGvH,KAAKC,EAAEi6B,QAAS,cACtD3P,EAAKvqB,KAAKszC,WAAa,aAAExb,WAAW93B,KAAKszC,UAAW,cACpDM,EAAK5zC,KAAKuzC,SAAW,aAAEzb,WAAW93B,KAAKuzC,QAAS,cAChDgB,EAAO,GACXjyC,EAAEq2B,QAAQ,GACVx6B,EAAEw6B,QAAQ,IAAInrB,KAAKlL,EAAE01B,cAAe95B,EAAI,EAAG,GAAGg6B,WAC9C,IAAI7kB,EAAI,GAAKrT,KAAKkzC,QAAQ5wC,GAAKnE,EAAE+5B,WAAa,EAC1C7kB,GAAKA,EAAI,GACXlV,EAAEw6B,QAAQx6B,EAAE+5B,UAAY7kB,GACtBrT,KAAKkzC,QAAQ5wC,GAAK,GACpBA,EAAEq2B,QAAQ,EAAI34B,KAAKkzC,QAAQ5wC,IACzBtC,KAAKC,EAAEs7B,MACTloB,EAAI,GAAKlV,EAAEsP,UAAYnL,EAAEmL,WAAa,MACtC4F,EAAI,IAAMlV,EAAEw6B,QAAQx6B,EAAE+5B,UAAY,GAAK7kB,IAEzC,MAAO/Q,GAAKnE,EAAG,CACb,IAAIwH,EAAI3F,KAAK4zC,GAAGtxC,GACZ+Y,EAAK,aAAEyc,WAAWx1B,EAAG,cACrBzD,EAAI,CACN6B,KAAM4B,EAAE41B,UACRt5B,MAAO+G,EACP8tC,KAAM,IAAIjmC,KAAKlL,EAAEmL,WACjB8tB,IAAKj5B,EAAE21B,aAAe/5B,EACtBiI,YAAWokB,GAAMA,EAAKlP,GAAQu4B,GAAMA,EAAKv4B,GACzCxO,MAAOqT,IAAO7E,GAEhBk5B,EAAK76C,KAAKmF,GACVyD,EAAEq2B,QAAQr2B,EAAE41B,UAAY,GAE1B,OAAOqc,GAETzC,aA1MQ,WA2MN,OAAO9xC,KAAKo6B,WAAa,aAAEC,YAAYr6B,KAAKo6B,YAAcxvB,MAAM4oC,KAAK5oC,MAAM,IAAIwF,SAEjF8hC,eA7MQ,WA8MN,OAAOlyC,KAAKu6B,aAAe,aAAEF,YAAYr6B,KAAKu6B,cAAgB3vB,MAAM4oC,KAAK5oC,MAAM,IAAIwF,SAErFkiC,eAhNQ,WAiNN,OAAOtyC,KAAKy6B,aAAe,aAAEJ,YAAYr6B,KAAKy6B,cAAgB7vB,MAAM4oC,KAAK5oC,MAAM,IAAIwF,Y,UCnf3F,EAAOvO,OAASA,EAED,gB,yCCNE,OACbhE,KAAM,SCCK,gB,iNCQP22C,EAAI,GACR3vB,GAAI,EACJ4vB,GAAI,EACJ3vB,EAAI,KAEA4vB,EAAmB,CACvB71C,EAAG,KACHJ,EAAG,KACH6D,EAAG,KACHzH,EAAG,KACHqD,EAAG,KACHsnB,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJ/kB,GAAI,KACJilB,GAAI,KACJD,GAAI,KACJ,KAAM,KACN,KAAM,KACN,KAAM,KACN,KAAM,KACN,KAAM,KACN,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,MAGH8uB,EAAc,SAAStyC,GAC3B,IAAIC,EAAID,IAAMA,EAAE6E,UAAY7E,GAC5B,MAAoB,kBAANC,GAAkBA,EAAE2R,MAAM,KAAKzQ,KAAI,SAAAmC,GAAA,OAAK+uC,EAAiB/uC,IAAMA,KAAG6F,QAGnE,GACb3N,KAAM,WACNkE,OAAQ,CAACmoC,EAAA,YACTtqC,MAAO,CAAC,QAAS,OAAQ,WAAY,UAAW,QAAS,cAAe,UACtE,QAAS,WAAY,QAAS,aAAc,YAAa,eAAgB,aAE3EiF,MAAO,CAAC,QAAS,eACjB2jB,MAAO,CACLthB,SADK,SACIvB,GACP3F,KAAK40C,SAGTh8C,KAZa,WAaX,MAAO,CACLi8C,UAAU,EACV1wC,aAAc,GACdC,UAAW,GACX0wC,WAAW,EACXC,WAAY,KACZC,UAAW,KACXC,QAAQ,EACRC,WAAW,EACX5wC,eAAe,EACf6wC,KAAM,KACNC,UAAW,KACXxxC,UAAW,OAGfs6B,UA5Ba,WA6BXl+B,KAAKsE,eAAgB,GAEvB25B,YA/Ba,WAgCXj+B,KAAKsE,eAAgB,GAEvB7C,QAAS,CACPuhB,OADO,WAEL,OAAO,MAETqH,OAJO,WAKL,IAAI/tB,EAAM0D,KAAKC,EAAE3D,IACjB,IAAKA,EAAK,MAAO,GACjB,IAAM+4C,EAAOr1C,KAAKs1C,aAKlB,OAJID,EAAKj9B,OACP9b,EAAM,aAAE2jB,UAAU3jB,EAAK+4C,EAAKj9B,OAC1B9b,EAAI2T,SAAS,OACf3T,EAAM,aAAE2jB,UAAU3jB,EAAK0D,KAAKC,EAAErH,KAAMoH,KAAKC,IACpC3D,GAETi5C,SAdO,WAeL,IAAIhpC,EAAIvM,KAAK6C,KAAK0X,YACd4K,EAAInlB,KAAK6C,KAAKyjB,aAClB,MAAO,CACLhB,KAAM1f,KAAK4B,MAAMjM,SAASypB,gBAAgBoB,YAAc7Z,GAAK,GAC7D6Y,IAAKxf,KAAKC,IAAI,EAAGD,KAAK4B,MAAMjM,SAASypB,gBAAgBqB,aAAelB,GAAK,MAG7EqwB,aAtBO,WAuBL,IAAIt3C,EAAI8B,KAAKoD,eACb,OAAOlF,GAAKA,EAAE2E,MAEhB4yC,eA1BO,WA2BL,IAAIt3C,EAAI6B,KAAKC,EAAE+G,MAAQhH,KAAKC,EAAE+G,KAAK3K,OACnC,GAAiB,kBAAN8B,EAAgB,CACzB,IAAIrD,EAAIkF,KAAK0Z,UAAU1E,KAAK7W,GAC5B,OAAOrD,GAAKA,EAAE4S,WACT,MAAiB,oBAANvP,EACTA,IACEA,EACFA,EAAEwP,SAAWxP,EAAEuP,WAAavP,EAE5B6B,KAAKC,EAAEmc,MAAQpc,KAAKw1C,eAAiBx1C,KAAK65B,uBAGrD6b,QAvCO,SAuCCrzC,GACN,IAAIlE,EAAI6B,KAAKy1C,iBACTh3C,EAAIuB,KAAKm1C,KACb,GAAIh3C,IACF,aAAEqU,SAASrU,EAAG,SAAUkE,GACpB5D,GAAKA,EAAEzC,MAAM,CACf,IAAIiC,EAAI,UAAYQ,EAAEmpB,MAAQ,IAAMnpB,EAAEkpB,MAAQ,IAAMlpB,EAAEipB,MAAQ,IAAM,KACpE,aAAElV,SAASxS,KAAK6C,KAAM5E,EAAI,kBAAoBQ,EAAEzC,KAAMqG,GACtD,aAAEmQ,SAASrU,EAAGF,EAAGoE,KAIvBuyC,KAnDO,WAoDL,IAAI/xC,EAAK7C,KAAK6C,KACd,GAAKA,IAAM7C,KAAKC,EAAEsE,WAAlB,CACA,IAOI9F,EAPA8I,EAAIvH,KAAKC,EAAEiH,WAAY,EACvBhJ,EAAI8B,KAAKC,EAAEmc,MACXje,EAAI6B,KAAKC,EAAE+G,MAAQwtC,EACnBnhC,EAAIrT,KAAKy1C,iBAETlpC,EAAI1J,EAAG0X,YACP4K,EAAItiB,EAAGyjB,aAEPqvB,EAAS,EACTC,EAAY,EAEhB,GADS,KAALruC,IAAUA,EAAI,MACD,kBAANA,EAAgB,CACzB,IAAIzM,EAAIyM,EAAEiR,OAAO,GACR,KAAL1d,IACFA,EAAIyM,EAAEiR,OAAO,IAEf/Z,EAAI,aAAEuI,KAAKuF,EAAG4Y,EAAGjnB,GAAKmV,EAAGshC,EAAYptC,GAAIvH,KAAK61C,QAAS13C,EAAEgJ,OAAQjJ,GAAKmV,GACtE,IAAIyiC,EAAK,aAAElqC,EAAF,iCAA8BrE,EAA9B,qBAA4CvH,KAAKiJ,IAAjD,aAAgE,GACzE,GAAI6sC,GAAgB,MAAVr3C,EAAEzC,MAA0B,MAAVyC,EAAEzC,KAAc,CAC1C,IAAI+5C,EAAKD,EAAGlvB,wBACRnoB,EAAE+oB,MAAOouB,EAAYn3C,EAAEmpB,QAAUmuB,EAAG1wB,OAAS,GAAM9pB,SAASypB,gBAAgBqB,aAAe0vB,EAAG3wB,IAAM,EACnGuwB,EAASl3C,EAAEipB,QAAUnsB,SAASypB,gBAAgBqB,aAAe0vB,EAAG3wB,IAAM,GAAK2wB,EAAG1wB,OAAS,QAErFhS,IACT5U,EAAI,aAAEuI,KAAKuF,EAAG4Y,EAAG9R,EAAGshC,EAAYx2C,IAAM6B,KAAK85B,qBAAuBvyB,EAAGvH,KAAK61C,QAAS13C,EAAEgJ,QAAU2d,EAAI3mB,EAChGgJ,OAAUnH,KAAKC,EAAE25B,QAAU,EAAI17B,GAAKmV,IAEpC5U,IACHA,EAAIuB,KAAKu1C,YACXv1C,KAAKm1C,MAAQn1C,KAAK01C,QAAQjB,GAC1Bz0C,KAAKm1C,KAAO12C,EAEZ,IAAIjE,EAAI,GACJiE,EAAEzC,MACAyC,EAAE8oB,MACJ/sB,EAAE+qB,MAAQ9mB,EAAE8mB,MAEZ/qB,EAAE8qB,KAAO7mB,EAAE6mB,KAET7mB,EAAE+oB,OACJhtB,EAAEgtB,OAAQ,EACVhtB,EAAE6qB,OAAS5mB,EAAE4mB,OAASuwB,GAEtBp7C,EAAE4qB,IAAM3mB,EAAE2mB,IAAMuwB,EAElBn7C,EAAEwB,KAAOyC,EAAEzC,MAEXxB,EAAIiE,EAENuB,KAAKo1C,UAAY56C,EAEb+M,GACe,kBAANA,IACTvH,KAAKmE,aAAe,yBAA2BoD,GAInDvH,KAAK01C,YAEPrnB,YAjHO,SAiHK7zB,GACVwF,KAAKC,EAAEiH,SAAW1M,GAEpBgG,MApHO,WAqHDR,KAAKi1C,SACTj1C,KAAKg2C,eACLh2C,KAAKwF,QAAQ,SACbxF,KAAK0Z,UAAU8C,aAAaxc,KAAKiJ,OAEnC+sC,aA1HO,WA2HLh2C,KAAKC,EAAEiC,UAAYlC,KAAKi2C,WAAWxB,GACnCz0C,KAAK01C,QAAQjB,GACbz0C,KAAKi1C,QAAS,EACd,IAAI1tC,EAAIvH,KAAKC,EAAEiH,SACf,GAAIK,GAAkB,kBAANA,GAAkBvH,KAAK6C,KAAM,CAC3C,IAAIuJ,EAAK,aAAER,EAAF,kCAA+BrE,GAAKvH,KAAK6C,MAC9CsE,EAASnH,KAAK6C,KAAKyjB,aAAe,EACtCla,EAAG6I,MAAK,SAAC/b,EAAG2J,GACVA,EAAGmW,UAAUC,IAAb,uBACA,IAAIze,EAAI,qBAAEqI,GAAIuyC,UACVv2C,EAAIrE,EAAEwB,KAAKwc,OAAO,GACT,MAAThe,EAAE4qB,IACJ5qB,EAAE4qB,MAAa,GAALvmB,GAAe,GAALA,GAAU,EAAI,GAAKsI,EAClB,MAAZ3M,EAAE6qB,SACX7qB,EAAE6qB,SAAgB,GAALxmB,GAAe,GAALA,GAAU,EAAI,GAAKsI,GAE5CpJ,YAAW,kBAAM8E,EAAGmW,UAAUnG,OAAb,yBAA4C,UAKnEojC,WAhJO,SAgJI5zC,GAAG,WACRA,IAAMoyC,EACRz0C,KAAKk2C,cAAc7zC,GAEnBtE,YAAW,WACJ,EAAKk3C,QACR,EAAKiB,cAAc7zC,KAEpB,MAGP8zC,UA3JO,WA4JL34C,aAAawC,KAAK+0C,YAClB/0C,KAAK+0C,WAAa,MAEpBmB,cA/JO,SA+JO7zC,GAAG,WACXlE,EAAI6B,KAAKC,EAAEooB,UACXjpB,EAAIiD,EAAI,mBAAqB,sBAC7B+zC,EAAM,aAAEv1C,GAAGg6B,OAAS,CAAC,YAAc,CAAC,YAAa,aAAEh6B,GAAGsjC,QAAU,iBAAmB,cAWvF,GAVAiS,EAAIlmC,SAAQ,SAAAvK,GAAA,OAAKpK,SAAS6D,GAAGuG,EAAG,EAAKxG,KAAK,mBAAmB,SAACrE,GACvD,EAAKm6C,SAAWn6C,EAAEuB,OAAO2c,UAAUzW,SAAS,oBAAuB,EAAKH,UAAUtH,EAAEuB,UACrF,EAAK4D,EACJkC,cAAgB,EAAKqC,UAAUmJ,SAAW,EAAKnJ,UAAUpC,UAAUtH,EAAEuB,QAAU,EAAKmI,UAClFjC,SAASzH,EAAEuB,YACZvB,EAAEuB,OAAO2M,IAAM,EAAKA,GAAK,OAAOlO,EAAE4Z,kBACtC,EAAKlU,YAELqkB,MACJnsB,OAAO29C,MAAQA,KAAKn3C,IAAIE,GAAG,aAAcY,KAAKb,KAAK,SAAUs1C,GACzDt2C,EAAG,CACL,IAAIE,EAAIF,IAAM0mB,EAAK7kB,KAAKC,EAAE+G,MAAQhH,KAAKC,EAAE+G,KAAK3K,OAAS2D,KAAKy1C,iBAAmB,aAAE5yC,GAAG7C,KAAKwE,WAAc,aAAE3B,GAAG1E,GACxGm4C,EAASt2C,KAAKb,KAAK,uBAAuB,SAAArE,GAC5C0C,aAAa,EAAKu3C,YAAa,EAAKA,WAAa,QAE/CwB,EAASv2C,KAAKb,KAAK,uBAAuB,SAAArE,GACvCuD,EAAEkE,SAASzH,EAAEuB,SAAY,EAAK+F,UAAUtH,EAAEuB,SAAY,EAAKy4C,UAI9DwB,IAHK,EAAKvB,aACR,EAAKA,WAAah3C,WAAW,EAAKyC,MAAO,SAI/C,CAACnC,EAAG2B,KAAK6C,MAAMqN,SAAQ,SAAAvK,GAAA,OAAKA,EAAEvG,GAAG,aAAck3C,MAC/C/6C,SAAS6D,GAAG,YAAam3C,KAG7BC,aA7LO,SA6LMrxB,GACXnlB,KAAK4D,UAAYuhB,GAEnBmwB,WAhMO,WAiML,OAAOt1C,KAAK0Z,UAAUgD,iBAAiB1c,KAAKiJ,MAE9C7F,aAnMO,WAoML,IAAI/E,EAAI2B,KAAKs1C,aACb,OAAQj3C,GAAKA,EAAEmG,WAAcxE,KAAK0E,SAAW1E,KAAK0Z,WAEpD/V,WAvMO,WAwML,IAAIi2B,EACAn7B,EAAIuB,KAAKm1C,KACb,GAAIn1C,KAAKC,EAAE25B,OAASn7B,EAAG,CACrB,IAAIR,EAAIQ,EAAEynB,MAASznB,EAAEipB,MAAQ,IAAMjpB,EAAEmpB,MAAQ,IAAMnpB,EAAEkpB,MAAQ,IAAM,IAAQlpB,EAAEipB,MAAQ,IAAMjpB,EAAEmpB,MAAQ,IAAMnpB,EACxGkpB,MAAQ,IAAM,IACjBiS,EAAQ,eAAE,MAAO,CACfv5B,MAAO,oBAAsBpC,GAC5B,CACD,eAAE,IAAK,CACLoC,MAAO,kCAAoCpC,EAAI,MAEjD,eAAE,IAAK,CACLoC,MAAO,iCAAmCpC,EAAI,QAIpD,MAAO,CAAC27B,GAAS,GAAI55B,KAAK2a,sBAE5B5R,KA1NO,WA0NA,WACDX,EAAKpI,KAAKC,EAAEmc,MAAQpc,KAAKw1C,eAAiB,gBAC1Cr5B,GAAQnc,KAAKC,EAAEkc,OAAUnc,KAAKi1C,QAAWj1C,KAAKsE,cAG7C,KAH6D,eAAE,MAAO,CACzEjE,MAAO,4BACPwD,QAAS,SAAA/I,GAAA,OAAK,EAAK0K,QAAQ,cAAe1K,MAE5C,MAAO,CACLqhB,EAAS/T,EAAK,eAAE,OAAU,CAACA,MAAK+T,GAASA,EAAS,GAElD/T,EAAK,eAAE,MAAO,CAAC/H,MAAO,oBAAqB2I,GAAIhJ,KAAKiJ,IAAM,YAAa,eAAE,OAAU,CAACb,MAAKpI,KAAK4X,WAAU,KAAU5X,KAAK4X,WAAU,GACjI5X,KAAK6X,eAIXhY,SAAU,CACR2E,UADQ,WAEN,OAAOxE,KAAKoD,gBAEdgV,KAJQ,WAKN,IAAI/Z,EAAI2B,KAAKs1C,aACb,OAAOj3C,GAAKA,EAAE+Z,MAEhByhB,sBARQ,aAWRC,oBAXQ,WAYN,MAAO,MAET51B,WAdQ,WAeN,MAAO,CAAC,aAAclE,KAAKmE,aAAcnE,KAAKoE,UAAW,CACvD,SAAUpE,KAAKsE,cACf,SAAUtE,KAAKC,EAAEsE,cAGrB+d,WApBQ,WAqBN,GAAItiB,KAAKC,EAAEsE,WACT,MAAO,CACLkR,MAAO,OACPzS,OAAQ,OACRoiB,IAAK,EACLE,KAAM,GAGR,IAAI/d,EAAIvH,KAAKC,EAAEiH,SACX9H,EAAIY,KAAKo1C,UACT56C,EAAI,GAUR,IAAK,IAAIwV,KATLzI,GAAkB,WAAb,eAAOA,IACd,aAAEkvC,OAAOj8C,EAAG+M,GACRnI,IACW,MAAT5E,EAAE4qB,KAA2B,MAAZ5qB,EAAE6qB,QAAgB,aAAEoxB,OAAOj8C,EAAG,aAAEuT,OAAO2yB,KAAKthC,EAAG,MAAO,WAC7D,MAAV5E,EAAE8qB,MAA2B,MAAX9qB,EAAE+qB,OAAe,aAAEkxB,OAAOj8C,EAAG,aAAEuT,OAAO2yB,KAAKthC,EAAG,OAAQ,YAG1EA,GAAG,aAAEq3C,OAAOj8C,EAAG4E,GAEP5E,EACZA,EAAEwV,GAAK,aAAEV,SAAS9U,EAAEwV,IAKtB,OAHIhQ,KAAK4D,YACPpJ,EAAEoJ,UAAY,aAAE0L,SAAStP,KAAK4D,YAEzBpJ,IAIbiK,QA7Ta,WA6TH,WACJzE,KAAKC,EAAEmc,OACT,aAAExQ,EAAE5L,KAAKw1C,gBAAgBkB,SAAS,uBAEpC12C,KAAKga,WAAU,WACb,EAAK/Z,EAAEiC,UAAY,EAAK+zC,WAAWpxB,GACnC9mB,WAAW,EAAK62C,MAChB,IAAMp6B,EAAU,SAACnc,GACf,IAAI,EAAK42C,SAAU,EAAK9wC,cAAiB,EAAKtB,KAE9C,GADA,EAAK+xC,OACD,EAAK30C,EAAEiH,UAAuC,kBAApB,EAAKjH,EAAEiH,SACnC,EAAKsvC,aAAa,YACb,CACL,IAAIt4C,EAAI,EAAKi3C,KACTj3C,EAAEmnB,OAAS,EACb,EAAKmxB,aAAat4C,EAAE8E,OAAS9E,EAAEmnB,QACtBnnB,EAAEknB,IAAM,GACjB,EAAKoxB,aAAat4C,EAAE8E,OAAS9E,EAAEknB,OAIrC,IAAI,OAAe5K,GAASA,QAAQ,EAAK3X,MACrC,EAAK5C,EAAE7C,SACTW,WAAW,EAAKyC,MAAO,EAAKP,EAAE7C,aAIpCoxB,UAxVa,WAyVNxuB,KAAKi1C,QACRj1C,KAAKg2C,iB,UCvYE,gB,yGCIE,GACbn4C,KAAM,WACNkE,OAAQ,CAACoH,EAAA,WAAYC,EAAA,YACrBxJ,MAAO,CAAC,gBAAiB,eAAgB,WAAY,QAAS,UAC9D6B,QAAS,CACPQ,UADO,WAEL,MAAO,CACLg9B,UAAU,EACV7+B,OAAQ,WAGZ8+B,OAPO,WAOU,IAAVpkC,IAAU,yDACXqkC,EAAmB,mBAANrkC,EAAkBA,GAAKkF,KAAKC,EAAEg/B,SAC/Cj/B,KAAKC,EAAEg/B,SAAWE,EAClB,aAAEvzB,EAAE5L,KAAK6C,MAAM8zC,UAAU,aAAazX,OAAOC,IAE/Cx7B,WAZO,WAaL,IAAIw7B,EAAMn/B,KAAKC,EAAEg/B,SACbgR,EAAM9Q,EAAMn/B,KAAKC,EAAE0gC,aAAe3gC,KAAKC,EAAE2gC,cAC7C,MAAO,CAACqP,GAAO,eAAE32B,EAAA,WAAK,CACpBhd,IAAK2zC,EACL5vC,MAAO,kBACL,eAAE,MAAO,CAACA,MAAO,iBAAkBL,KAAKoO,OAAOnK,cAGvDpE,SAAU,CACR0Q,WADQ,WAEN,IAAI4uB,EAAMn/B,KAAKC,EAAEg/B,SACjB,MAAO,CACL5+B,MAAO,CAAC,yBACR,CACE,aAAc8+B,EACd,cAAeA,GAEjBn/B,KAAKD,kBACL8D,QAAS7D,KAAKk/B,UAIpBz6B,QAvCa,WAwCNzE,KAAKC,EAAEg/B,UACVj/B,KAAKk/B,QAAO,K,UC7CL,gB,4DCDF7+B,MAAM,eAAeC,UAAQ,K,SAASD,MAAM,iB,2QAHvD,eAoBY,Q,wBAnBV,iBAKe,CALf,eAKe,GALDA,MAAM,gBAAc,C,wBAChC,iBAEgB,CAFhB,eAEgB,Q,wBADd,iBAAmG,CAAnG,eAAmG,MAAnG,EAAmG,CAA5B,EAAAE,O,iBAAjC,eAAuD,MAAvD,EAAuD,eAAb,EAAAA,OAAK,I,kCAEvF,eAA2D,KAAxDF,MAAM,8BAA+B,QAAK,8BAAE,EAAAmhB,QAAA,EAAAA,OAAA,2B,MAEjD,eAYa,GAZDnhB,MAAM,gBAAc,C,wBAC9B,iBAKe,CALf,eAKe,GALDA,MAAM,eAAeD,OAAO,U,yBACxC,iBAAoD,CAApD,eAAoD,GAA7CC,MAAM,eAAgB/D,IAAK,EAAAmE,U,gBAClC,eAEO,uBAFP,iBAEO,CADL,eAA0D,OAArDH,UAAQ,IAAID,MAAM,eAAe,UAAQ,EAAAK,M,oCAGlD,eAIc,GAJAL,MAAK,gCAAoC,EAAAO,MAAMC,GAAGC,OAAOC,O,yBACrE,iBACuB,CADvB,eACuB,GADbC,KAAK,UAAUX,MAAM,iBAAiBK,KAAK,KAAM,QAAO,EAAAO,KAC/DC,aAAa,G,oBAChB,eAAgF,GAAtEb,MAAM,iBAAiBK,KAAK,KAAM,QAAO,EAAA8gB,OAAStgB,aAAa,G,0FAUhE,GACba,OAAQ,CAAC6/B,EAAA,YACThpC,KAFa,WAGX,MAAO,CACL4I,gBAAiB,aAGrBC,QAAS,CACPR,KADO,SACFnG,GACH,aAAE4G,OAAO5G,GAAG6G,UAEd6f,OAJO,SAIA1mB,GACL,aAAE4G,OAAO5G,GAAGwqC,WCrCpB,EAAOzjC,OAASA,EAED,gB,0ECGyD,K,iBAOA,K,iBAOA,K,iBAOA,K,iBAMA,K,iBAOA,K,iBAOA,K,2UAhDtE,eAsDW,GAtDDxB,MAAM,eAAa,C,wBAC3B,iBAGc,CAHd,eAGc,GAHDA,MAAM,kBAAkBH,MAAM,UAAU8C,OAAO,KAAKuM,MAAA,oB,yBAC/D,iBAAoD,CAApD,eAAoD,GAA1C7O,KAAK,KAAM,QAAO,EAAAk2C,a,oBAC5B,eAA4D,GAA5Cl2C,KAAK,KAAM,QAAO,EAAAm2C,S,8BAEpC,eAgDe,GAhDD7zC,OAAO,KAAG,C,wBACtB,iBAMa,CANe,EAAA8zC,S,iBAA5B,eAMa,G,MANDrhC,MAAM,K,yBAChB,iBAA0E,CAA1E,eAA0E,GAAlEpV,MAAM,mBAAmBH,MAAM,SAASE,OAAO,U,yBAAS,iBAAC,C,YACjE,eAGgB,GAHD4C,OAAO,I,WAAa,EAAA+zC,U,qDAAA,EAAAA,UAAS,IAAGC,YAAW,EAAAC,QAAUC,YAAW,EAAAC,QAAUC,cAAY,EAClGx+C,KAAM,e,yBACG,iBAAqB,E,mBAA/B,eAAyE,2BAAnD,EAAAy+C,UAAQ,SAAb/vB,G,wBAAjB,eAAyE,GAAxCpoB,IAAKooB,EAAI1oB,MAAO0oB,EAAI5mB,KAAM4mB,G,sHAGnC,EAAAgwB,U,iBAA5B,eAMa,G,MAND7hC,MAAM,K,yBAChB,iBAA0E,CAA1E,eAA0E,GAAlEpV,MAAM,mBAAmBH,MAAM,SAASE,OAAO,U,yBAAS,iBAAC,C,YACjE,eAGgB,GAHD4C,OAAO,I,WAAa,EAAAu0C,W,qDAAA,EAAAA,WAAU,IAAGP,YAAW,EAAAQ,SAAWN,YAAW,EAAAO,SAAWL,cAAY,EACrGx+C,KAAM,gB,yBACG,iBAAsB,E,mBAAhC,eAA0F,2BAApE,EAAA8+C,WAAS,SAAdz5C,G,wBAAjB,eAA0F,GAAxDiB,IAAKjB,EAAIW,MAAOX,EAAIyC,KAAM,EAAAE,MAAMmW,OAAO9Y,EAAC,I,sHAGlD,EAAA05C,S,iBAA5B,eAMa,G,MANDliC,MAAM,K,yBAChB,iBAA0E,CAA1E,eAA0E,GAAlEpV,MAAM,mBAAmBH,MAAM,SAASE,OAAO,U,yBAAS,iBAAC,C,YACjE,eAGgB,GAHD4C,OAAO,I,WAAa,EAAA2wC,U,qDAAA,EAAAA,UAAS,IAAGqD,YAAW,EAAAY,QAAUV,YAAW,EAAAW,QAAUT,cAAY,EAClGx+C,KAAM,e,yBACG,iBAAqB,E,mBAA/B,eAAuF,2BAAjE,EAAAk/C,UAAQ,SAAb35C,G,wBAAjB,eAAuF,GAAtDe,IAAKf,EAAIS,MAAOT,EAAIuC,KAAM,EAAAE,MAAMmW,OAAO5Y,I,sHAGhD,EAAA45C,S,iBAA5B,eAKa,G,MALDtiC,MAAM,K,yBAChB,iBAA0E,CAA1E,eAA0E,GAAlEpV,MAAM,mBAAmBH,MAAM,SAASE,OAAO,U,yBAAS,iBAAC,C,YACjE,eAEgB,GAFD4C,OAAO,I,WAAa,EAAA2uC,U,qDAAA,EAAAA,UAAS,IAAGqF,YAAW,EAAAnD,QAAUqD,YAAW,EAAApD,QAAUsD,cAAY,G,yBACzF,iBAAqB,E,mBAA/B,eAAuF,2BAAjE,EAAAY,UAAQ,SAAb7yB,G,wBAAjB,eAAuF,GAAtDjmB,IAAKimB,EAAIvmB,MAAOumB,EAAIzkB,KAAM,EAAAE,MAAMmW,OAAOoO,I,sHAGhD,EAAA8yB,W,iBAA5B,eAMa,G,MANDxiC,MAAM,K,yBAChB,iBAA0E,CAA1E,eAA0E,GAAlEpV,MAAM,mBAAmBH,MAAM,SAASE,OAAO,U,yBAAS,iBAAC,C,YACjE,eAGgB,GAHD4C,OAAO,I,WAAa,EAAAivC,Y,qDAAA,EAAAA,YAAW,IAAG+E,YAAW,EAAAjD,UAAYmD,YAAW,EAAAlD,UAChFoD,cAAY,G,yBACH,iBAAuB,E,mBAAjC,eAAyF,2BAAnE,EAAAc,YAAU,SAAfh/C,G,wBAAjB,eAAyF,GAAtDgG,IAAKhG,EAAI0F,MAAO1F,EAAIwH,KAAM,EAAAE,MAAMmW,OAAO7d,I,sHAGlD,EAAAi/C,W,iBAA5B,eAMa,G,MAND1iC,MAAM,K,yBAChB,iBAA0E,CAA1E,eAA0E,GAAlEpV,MAAM,mBAAmBH,MAAM,SAASE,OAAO,U,yBAAS,iBAAC,C,YACjE,eAGgB,GAHD4C,OAAO,I,WAAa,EAAAqvC,Y,qDAAA,EAAAA,YAAW,IAAG2E,YAAW,EAAA/C,UAAYiD,YAAW,EAAAhD,UAChFkD,cAAY,G,yBACH,iBAAuB,E,mBAAjC,eAAyF,2BAAnE,EAAAgB,YAAU,SAAf59C,G,wBAAjB,eAAyF,GAAtD0E,IAAK1E,EAAIoE,MAAOpE,EAAIkG,KAAM,EAAAE,MAAMmW,OAAOvc,I,sHAGlD,EAAA69C,S,iBAA5B,eAKa,G,MALD5iC,MAAM,K,yBAChB,iBAA0E,CAA1E,eAA0E,GAAlEpV,MAAM,mBAAmBH,MAAM,SAASE,OAAO,U,yBAAS,iBAAC,C,YACjE,eAEgB,GAFD4C,OAAO,I,WAAa,EAAAs1C,U,qDAAA,EAAAA,UAAS,IAAGtB,YAAW,EAAAuB,QAAUrB,YAAW,EAAAsB,QAAUpB,cAAY,G,yBACzF,iBAAqB,E,mBAA/B,eAA0F,2BAApE,EAAAqB,UAAQ,SAAblsC,G,wBAAjB,eAA0F,GAAzDrN,IAAKqN,EAAE3N,MAAQA,MAAO2N,EAAE3N,MAAQ8B,KAAM6L,EAAE7L,M,sNAUlE,GACbd,MAAO,CAAC,QACRhH,KAFa,WAGX,IAAI2O,EAAIvH,KAAKpH,KAAKshC,QAAU,aACxB/7B,EAAI6B,KAAKpH,MAAQoH,KAAKpH,KAAKgG,MAAQ,aAAEm5B,UAAU/3B,KAAKpH,KAAKgG,MAAO2I,GAAK,IAAIiG,KACzEkrC,EAAK14C,KAAKpH,MAAQoH,KAAKpH,KAAKi8B,UAAY,aAAEkD,UAAU/3B,KAAKpH,KAAKi8B,SAAUttB,GACxEoxC,EAAK34C,KAAKpH,MAAQoH,KAAKpH,KAAKg8B,UAAY,aAAEmD,UAAU/3B,KAAKpH,KAAKg8B,SAAUrtB,GAC5EpJ,EAAI,aAAE+Z,SAAS/Z,EAAGu6C,EAAIC,GACtB,IACIL,EAAWM,EAAWC,EADtB9B,EAAY54C,EAAE65B,cAOlB,OALIzwB,EAAE0I,SAAS,OACbqoC,EAAY,aAAEhgB,SAASn6B,GAAG,GAC1By6C,EAAY,aAAE1f,cAAc6d,GAC5B8B,EAAW,aAAE1f,aAAa4d,IAErB,CACLA,YACAQ,WAAYp5C,EAAE85B,WACd0b,UAAWx1C,EAAE+5B,UACbyZ,UAAWxzC,EAAEg6B,WACb8Z,YAAa9zC,EAAEi6B,aACfia,YAAal0C,EAAEk6B,aACfygB,UAAW,aAAE5gC,SAAS/Z,EAAE65B,cAAgB,GAAI0gB,GAAMA,EAAG1gB,eACrD+gB,QAAS,aAAE7gC,SAAS/Z,EAAE65B,cAAgB,GAAI,KAAM2gB,GAAMA,EAAG3gB,eACzDghB,UAAW,IAAIxrC,KAAKrP,EAAE65B,cAAe75B,EAAE85B,WAAa,EAAG,GAAGC,UAC1DogB,YACAM,YACAC,WACAI,QAASP,EACTQ,QAASP,EACTze,OAAQ3yB,IAGZihB,MAAO,CACLuuB,UADK,SACKzvB,GACJA,GAAKtnB,KAAKq3C,SAAS,IAAM/vB,EAAI,KAC/BtnB,KAAK84C,UAAY,aAAE5gC,SAASlY,KAAK84C,UAAY,GAAI94C,KAAKi3C,SAC7C3vB,GAAKtnB,KAAKq3C,SAASr3C,KAAKq3C,SAASj+C,OAAS,KACnD4G,KAAK+4C,QAAU,aAAE7gC,SAASlY,KAAK+4C,QAAU,GAAI,KAAM/4C,KAAKm3C,UAE1Dn3C,KAAKg5C,UAAY,IAAIxrC,KAAK8Z,EAAGtnB,KAAKu3C,WAAa,EAAG,GAAGrf,UACjDl4B,KAAKq4C,UACPr4C,KAAK44C,UAAY,aAAE1f,cAAc5R,GACjCtnB,KAAK64C,SAAW,aAAE1f,aAAa7R,KAGnCiwB,WAbK,SAaMt5C,GACT+B,KAAKg5C,UAAY,IAAIxrC,KAAKxN,KAAK+2C,UAAW94C,EAAI,EAAG,GAAGi6B,YAGxDz2B,QAAS,CACP03C,SADO,SACE5sC,KAGTqqC,YAJO,WAKL,aAAEp2C,MAAMR,OAEV62C,QAPO,WAQL,GAAI72C,KAAKpH,KAAK0I,QAAS,CACrB,IAAInD,EAAI6B,KAAKq4C,QAAU,aAAEtgB,UAAF,UAAe/3B,KAAK+2C,UAApB,YAAiC/2C,KAAKs4C,WAAa,WACxE,IAAI9qC,KAAKxN,KAAK+2C,UAAW/2C,KAAKu3C,WAAYv3C,KAAK2zC,UAAW3zC,KAAK2xC,UAAW3xC,KAAKiyC,YAAajyC,KAAKqyC,aACnGryC,KAAKpH,KAAK0I,QAAQ,aAAEw2B,WAAW35B,EAAG6B,KAAKk6B,SAEzC,aAAE15B,MAAMR,QAGZH,SAAU,CACRe,MADQ,WAEN,OAAO,cAETy2C,SAJQ,WAIG,WACT,OAAOzsC,MAAM4oC,KAAK5oC,MAAM5K,KAAK+4C,QAAU/4C,KAAK84C,UAAY,IAAIt1C,KAAI,SAACmC,EAAGzM,GAAJ,OAAU,EAAK4/C,UAAY5/C,MAE7Fw+C,UAPQ,WAQN,OAAO9sC,MAAM4oC,KAAK5oC,MAAM,KAAKpH,KAAI,SAACmC,EAAGzM,GAAJ,OAAUA,MAE7C4+C,SAVQ,WAWN,OAAOltC,MAAM4oC,KAAK5oC,MAAM5K,KAAKg5C,YAAYx1C,KAAI,SAACmC,EAAGzM,GAAJ,OAAUA,EAAI,MAE7D8+C,SAbQ,WAcN,OAAOptC,MAAM4oC,KAAK5oC,MAAM,KAAKpH,KAAI,SAACmC,EAAGzM,GAAJ,OAAUA,MAE7Cg/C,WAhBQ,WAiBN,OAAOttC,MAAM4oC,KAAK5oC,MAAM,KAAKpH,KAAI,SAACmC,EAAGzM,GAAJ,OAAUA,MAE7Ck/C,WAnBQ,WAoBN,OAAOxtC,MAAM4oC,KAAK5oC,MAAM,KAAKpH,KAAI,SAACmC,EAAGzM,GAAJ,OAAUA,MAE7Cu/C,SAtBQ,WAuBN,IAAIt6C,EAAI6B,KAAK44C,UAAU,GACvB,OAAOhuC,MAAM4oC,KAAK5oC,MAAM5K,KAAK64C,SAAS,KAAKr1C,KAAI,SAACmC,EAAGzM,GACjD,IAAIkgD,EAAYj7C,EACZo1C,EAAU,aAAE/a,QAAQr6B,EAAG,IAAK,GAEhC,OADAA,EAAI,aAAEq6B,QAAQr6B,EAAG,IAAK,GACf,CACLS,MAAO1F,EAAI,EACXwH,KAAM,GAAF,OAAK,aAAEqW,OAAO7d,EAAI,GAAlB,aAAyB,aAAE4+B,WAAWshB,EAAW,SAAjD,cAA+D,aAAEthB,WAAWyb,EAAS,SAArF,UAIVuD,QAlCQ,WAmCN,OAAO92C,KAAKk6B,OAAOjqB,SAAS,MAE9BqnC,SArCQ,WAsCN,OAAOt3C,KAAKk6B,OAAOjqB,SAAS,MAE9B0nC,QAxCQ,WAyCN,OAAO33C,KAAKk6B,OAAOjqB,SAAS,MAE9B8nC,QA3CQ,WA4CN,OAAO/3C,KAAKk6B,OAAOjqB,SAAS,MAE9BgoC,UA9CQ,WA+CN,OAAOj4C,KAAKk6B,OAAOjqB,SAAS,MAE9BkoC,UAjDQ,WAkDN,OAAOn4C,KAAKk6B,OAAOjqB,SAAS,MAE9BooC,QApDQ,WAqDN,OAAOr4C,KAAKk6B,OAAOjqB,SAAS,MAE9BgnC,QAvDQ,WAwDN,OAAOj3C,KAAKi5C,SAAWj5C,KAAK82C,SAAW92C,KAAKi5C,QAAQjhB,eAEtDmf,QA1DQ,WA2DN,OAAOn3C,KAAKk5C,SAAWl5C,KAAK82C,SAAW92C,KAAKk5C,QAAQlhB,eAEtDwf,SA7DQ,WA8DN,OAAOx3C,KAAKi5C,WAAaj5C,KAAK82C,SAAW92C,KAAKi3C,SAAWj3C,KAAK+2C,YAAc/2C,KAAKi5C,QAAQhhB,YAE3Fwf,SAhEQ,WAiEN,OAAOz3C,KAAKk5C,WAAal5C,KAAK82C,SAAW92C,KAAKm3C,SAAWn3C,KAAK+2C,YAAc/2C,KAAKk5C,QAAQjhB,YAE3F2f,QAnEQ,WAoEN,OAAO53C,KAAKi5C,WAAaj5C,KAAK82C,SAAW92C,KAAKi3C,SAAWj3C,KAAK+2C,cAAgB/2C,KAAKs3C,UAAYt3C,KAAKw3C,UAClGx3C,KAAKu3C,aAAev3C,KAAKi5C,QAAQ/gB,WAErC2f,QAvEQ,WAwEN,OAAO73C,KAAKk5C,WAAal5C,KAAK82C,SAAW92C,KAAKm3C,SAAWn3C,KAAK+2C,cAAgB/2C,KAAKs3C,UAAYt3C,KAAKy3C,UAClGz3C,KAAKu3C,aAAev3C,KAAKk5C,QAAQhhB,WAErC2b,QA3EQ,WA4EN,OAAO7zC,KAAKi5C,WAAaj5C,KAAK82C,SAAW92C,KAAKi3C,SAAWj3C,KAAK+2C,cAAgB/2C,KAAKs3C,UAAYt3C,KAAKw3C,UAChGx3C,KAAKu3C,eACLv3C,KAAK23C,SAAW33C,KAAK43C,SAAW53C,KAAK2zC,YAAc3zC,KAAKi5C,QAAQ9gB,YAEtE2b,QAhFQ,WAiFN,OAAO9zC,KAAKk5C,WAAal5C,KAAK82C,SAAW92C,KAAKm3C,SAAWn3C,KAAK+2C,cAAgB/2C,KAAKs3C,UAAYt3C,KAAKy3C,UAChGz3C,KAAKu3C,eACLv3C,KAAK23C,SAAW33C,KAAK63C,SAAW73C,KAAK2zC,YAAc3zC,KAAKk5C,QAAQ/gB,YAEtE4b,UArFQ,WAsFN,OAAO/zC,KAAKi5C,WAAaj5C,KAAK82C,SAAW92C,KAAKi3C,SAAWj3C,KAAK+2C,cAAgB/2C,KAAKs3C,UAAYt3C,KAAKw3C,UAChGx3C,KAAKu3C,eACLv3C,KAAK23C,SAAW33C,KAAK43C,SAAW53C,KAAK2zC,cAAgB3zC,KAAK+3C,SAAW/3C,KAAK6zC,SAAW7zC,KAAK2xC,YAAc3xC,KACzGi5C,QAAQ7gB,cAEb4b,UA3FQ,WA4FN,OAAOh0C,KAAKk5C,WAAal5C,KAAK82C,SAAW92C,KAAKm3C,SAAWn3C,KAAK+2C,cAAgB/2C,KAAKs3C,UAAYt3C,KAAKy3C,UAChGz3C,KAAKu3C,eACLv3C,KAAK23C,SAAW33C,KAAK63C,SAAW73C,KAAK2zC,cAAgB3zC,KAAK+3C,SAAW/3C,KAAK8zC,SAAW9zC,KAAK2xC,YAAc3xC,KACzGk5C,QAAQ9gB,cAEb6b,UAjGQ,WAkGN,OAAOj0C,KAAKi5C,WAAaj5C,KAAK82C,SAAW92C,KAAKi3C,SAAWj3C,KAAK+2C,cAAgB/2C,KAAKs3C,UAAYt3C,KAAKw3C,UAChGx3C,KAAKu3C,eACLv3C,KAAK23C,SAAW33C,KAAK43C,SAAW53C,KAAK2zC,cAAgB3zC,KAAK+3C,SAAW/3C,KAAK6zC,SAAW7zC,KAAK2xC,cAC1F3xC,KAAKi4C,WAAaj4C,KAAK+zC,WAAa/zC,KAAKiyC,cAAgBjyC,KAAKi5C,QAAQ5gB,cAE5E6b,UAvGQ,WAwGN,OAAOl0C,KAAKk5C,WAAal5C,KAAK82C,SAAW92C,KAAKm3C,SAAWn3C,KAAK+2C,cAAgB/2C,KAAKs3C,UAAYt3C,KAAKy3C,UAChGz3C,KAAKu3C,eACLv3C,KAAK23C,SAAW33C,KAAK63C,SAAW73C,KAAK2zC,cAAgB3zC,KAAK+3C,SAAW/3C,KAAK8zC,SAAW9zC,KAAK2xC,cAC1F3xC,KAAKi4C,WAAaj4C,KAAKg0C,WAAah0C,KAAKiyC,cAAgBjyC,KAAKk5C,QAAQ7gB,cAE5EkgB,QA7GQ,aAgHRC,QAhHQ,e,UC1Hd,EAAO32C,OAASA,EAED,gB,gNCAPw3C,EAAY,GAEH,GACbz5C,MAAO,CAAC,OAAQ,QAAS,SAAU,UAAW,UAAW,cAAe,aACxEhH,KAFa,WAGX,MAAO,CACL+U,UAAU,EACV1E,IAAKjJ,KAAKuc,WAAa,aAAEtT,MACzBqwC,SAAU,GACVC,OAAQ,OAGZ7oC,QAVa,WAUH,WACR,aAAEsL,OAAOsQ,IAAItsB,KAAKiJ,IAAKjJ,MACvB,IAAIw5C,EAAOx5C,KAAKy5C,iBACZC,EAAO,aAAEC,WACTC,EAAS,GACb55C,KAAKC,EAAI,IAAI45C,MAAM75C,KAAKs5C,SAAU,CAChC96C,IAAK,SAACs7C,EAAKtJ,GACT,OAAIA,KAAQsJ,EAAYA,EAAItJ,QACF1yC,IAAtB,EAAKwsB,OAAOkmB,GAA4B,EAAKlmB,OAAOkmB,IACpDkJ,GAAQ,aAAEC,aACZD,EAAO,aAAEC,WACTH,EAAO,EAAKC,kBAEPD,EAAKhJ,KAEdlkB,IAAK,SAACwtB,EAAKtJ,EAAMuJ,GAKf,OAJKH,EAAOpJ,KACVoJ,EAAOpJ,GAAQ,EAAK7/B,OAAO6/B,GAAM,SAAC7qC,GAAD,OAAOm0C,EAAItJ,GAAQ7qC,MAEtDm0C,EAAItJ,GAAQuJ,GACL,MAIbvrB,UAlCa,WAmCX,aAAExS,OAAOg+B,OAAOh6C,KAAKiJ,MAEvBxH,QAAS,CACPQ,UADO,aAIPw3C,eAJO,WAKL,IAAIQ,EACJ,IAAKj6C,KAAKkB,YAAa,CACrB,IAAIoB,EAAItC,KAAKqD,SAASxF,KAEtB,GADAo8C,EAAS,aAAEh6C,EAAEi6C,eAAe53C,GACxB,aAAE63C,WAAW73C,GAAI,CACnB,IAEIi3B,EAFAr7B,EAAI8B,KAAKqD,SAASxF,MAAQmC,KAAKmwC,OAAO9vC,MAAQ,IAAML,KAAKmwC,OAAO9vC,MAAQ,IACxElC,EAAI,aAAEg8C,WAAW73C,GAErB,IAAK,IAAI0N,KAAK7R,EACZ,aAAEi8C,OAAOl8C,EAAG8R,EAAG,MAAQ,aAAEqqC,UAAU9gB,IAAMA,EAAI,IAAKp7B,EAAE6R,IAEtDupB,IAAM0gB,EAAS,aAAEK,WAAW/gB,EAAG0gB,KAGnC,wCACKj6C,KAAKiC,aACLg4C,IAGPrlC,IAxBO,SAwBHvW,GAAY,2BAAN+Z,EAAM,iCAANA,EAAM,kBACd,OAAOpY,KAAK2M,KAAKtO,EAAG+Z,IAEtBzL,KA3BO,SA2BFiI,EAAKwD,EAAMi9B,GAId,GAHmB,kBAARzgC,IACTA,EAAM,aAAE2lC,GAAGv6C,MAAMw6C,SAAS5lC,IAExBA,EAAK,CACP,GAAmB,oBAARA,EACT,OAAOA,EAAIwD,EAAMpY,MACZ,GAAmB,WAAf,eAAO4U,GAAkB,CAClC,IAAI6lC,EAAM,aAAEH,WAAW,GAAI1lC,GAE3B,GADAygC,GAAQ,aAAEqF,MAAMD,EAAKpF,GACjB,aAAEsF,SAASF,EAAIz+C,MACjB,OAAO,aAAE2+C,SAASF,EAAIz+C,MAAMxC,KAAKwG,KAAMy6C,EAAKriC,MAKpD5S,QA3CO,SA2CCo1C,GAAa,2BAANxiC,EAAM,iCAANA,EAAM,kBACnB,IAAIpc,EAAO4+C,EAAGr1C,SAAWq1C,EAAG5+C,MAAQ4+C,EAChCrzC,EAAIvH,KAAK6V,MAAM7Z,GACfuL,IACgB,kBAAPqzC,IACTA,EAAK,CAAC5+C,OAAMiN,IAAKjJ,KAAKiJ,MAEpB2B,MAAMC,QAAQtD,GAAIA,EAAE2I,SAAQ,SAAA9Q,GAAA,OAAKA,EAAC,WAAD,GAAEw7C,GAAF,OAASxiC,OACzC7Q,EAAC,WAAD,GAAEqzC,GAAF,OAASxiC,KAEhBpY,KAAKu5C,QAAUv5C,KAAKu5C,OAAOsB,UAAU7+C,IAEvCopC,SAvDO,SAuDEppC,EAAMuuB,EAAIuwB,GACZ96C,KAAKu5C,SAAQv5C,KAAKu5C,OAAS,IAAI,aAAExT,cAAc/lC,OACpDA,KAAKu5C,OAAOnU,SAASppC,EAAMuuB,EAAIuwB,IAEjCD,UA3DO,SA2DG7+C,EAAMoc,GACd,OAAOpY,KAAKu5C,QAAUv5C,KAAKu5C,OAAOsB,UAAU7+C,EAAMoc,IAEpD+tB,YA9DO,SA8DKnqC,EAAMuuB,GAChBvqB,KAAKu5C,QAAUv5C,KAAKu5C,OAAOpT,YAAYnqC,EAAMuuB,IAE/C1U,MAjEO,SAiED7Z,GACJ,IAAIoD,EAAI,KAAOpD,EAAKwc,OAAO,GAAGoF,cAAgB5hB,EAAK2D,MAAM,GACzD,OAAQK,KAAKqN,EAAEsgB,MAAM/tB,OAASI,KAAKqN,EAAEsgB,MAAM/tB,MAAMR,IAAOY,KAAKC,EAAEb,IAEjE4jB,OArEO,WAsEL,OAAOhjB,KAAKqN,EAAEsgB,MAAMzuB,KAEtB67C,QAxEO,SAwEC14C,GACN,IAAIzH,EAAIoF,KACJsC,EAAI,OAAJ,OAAI,CAAOD,GACf,GACE,GAAU,WAANC,GACF,GAAI1H,EAAEyI,SAASxF,OAASwE,EACtB,OAAOzH,OACJ,GAAU,aAAN0H,GACLD,EAAEzH,GACJ,OAAOA,QAEJA,EAAIA,EAAE6vB,UAEjBoG,MArFO,SAqFDmqB,GACJ,GAAIh7C,KAAK6C,KAAM,CACb,IAAIxE,EAAI,aAAEuN,EAAEovC,EAAKh7C,KAAK6C,MAAM,GAC5B,OAAOxE,GAAK,qBAAEA,KAGlBkE,SA3FO,SA2FEF,GACP,OAAOA,GAAKrC,KAAK6C,KAAKN,SAASF,EAAEsL,SAAWtL,EAAEQ,KAAOR,IAEvDQ,GA9FO,SA8FJR,GACD,OAAOA,GAAK,KAAKyN,KAAKzN,GAAK,aAAEuJ,EAAEvJ,EAAGrC,KAAK6C,MAAM,GAAKtH,SAASwnB,eAAe/iB,KAAKiJ,KAAO5G,GAAK,MAE7FsE,KAjGO,WAkGL,IAAM7L,EAAIkF,KAAK6C,KAAK0rB,mBACpB,OAAOzzB,GAAK,qBAAEA,IAEhB2L,KArGO,WAsGL,IAAM3L,EAAIkF,KAAK6C,KAAKy8B,uBACpB,OAAOxkC,GAAK,qBAAEA,IAEhBqY,YAzGO,SAyGKtV,EAAMjF,GAChB,IAAIkC,EAAI,IAAImgD,YAAYp9C,GAGxB,OAFA/C,EAAE8D,MAAQhG,EACVkC,EAAEmO,IAAMjJ,KAAKiJ,IACNnO,GAET4S,SA/GO,WAgHL,OAAO1N,KAAK6C,MAEd4J,eAlHO,WAkHqB,WAAbyuC,EAAa,wDACpBv0C,EAAO,SAAC7G,EAAKyqB,GACjB,IAAIrsB,EAAI,SAAW4B,EAAI8d,cACnB/e,EAAI,EAAKk8C,SAAQ,SAAAngD,GAAA,OAAKA,EAAEqF,GAAKrF,EAAEqF,EAAE/B,KAAOtD,EAAEuiC,gBAAiB,GAAOr9B,MAClEjB,EACFA,EAAE+9B,SAAS,EAAMse,EAAI5zB,GAAK,OAAQ4zB,EAAIj7C,GAAK,OAAoB,MAAZi7C,EAAIxuC,KAAe,IAAMwuC,EAAIxuC,KAAMwuC,EAAIC,OAAQ5wB,GAEnGA,GAAMA,KAET5jB,EAAK,KAAK,kBAAMA,EAAK,IAAKu0C,EAAI55C,aAEhCc,UA7HO,SA6HGC,GACR,IAAKA,EAAG,OAAO,EACf,GAAIrC,KAAKuC,SAASF,GAAI,OAAO,EAC7B,IAAIlE,EAAI,aAAEuD,OAAOW,GACjB,OAAIlE,GAAKA,EAAEqG,UAAkBxE,KAAKoC,UAAUjE,EAAEqG,gBAA9C,GAEFrF,KAnIO,SAmIFtB,EAAM0sB,GACT,IAAIrsB,EAAIm7C,EAAUr5C,KAAKiJ,OAASowC,EAAUr5C,KAAKiJ,KAAO,IAEtD,OADK/K,EAAEL,KAAOK,EAAEL,GAAQ0sB,GAAMvqB,KAAKnC,IAC5BK,EAAEL,IAEX0F,eAxIO,SAwIQ1F,GACb,OAAO,aAAEu9C,cAAcp7C,KAAKoO,OAAQvQ,IAEtC8qB,UA3IO,SA2IGrsB,EAAK++C,EAAKx3C,GAClB,IAAIsV,EAAO7c,EAAI8c,WAAW,OAAS9c,EAAI2T,SAAS,KAChD,OAAOkJ,EAAO,eAAE,IAAK,CACnB9Y,MAAO,CAACg7C,EAAK/+C,EAAI4W,QAAQ,MAAO,KAChCrP,YACG,eAAE,MAAO,CACZvH,MACAuH,UACAxD,MAAOg7C,KAGXnsC,KAtJO,WAsJgB,IAAlBrR,EAAkB,uDAAX,UACV,OAAOmC,KAAKoO,OAAOvQ,GAAQmC,KAAKoO,OAAOvQ,KAAU,IAEnD8F,WAzJO,WA0JL,OAAO3D,KAAKoO,QAEdwJ,UA5JO,SA4JGvV,GACR,OAAO,eAAErC,KAAKkS,SAAW,MAAO7P,EAAI,eAAWrC,KAAKkwC,WAAYlwC,KAAKuQ,WAAYvQ,KAAKmwC,QAAU,eAAWnwC,KACxGkwC,WAAYlwC,KAAKuQ,YAAavQ,KAAK2D,eAExCoF,KAhKO,WAiKL,OAAO/I,KAAK4X,cAGhB/X,SAAU,CACRe,MADQ,WAEN,OAAO,cAET8Y,UAJQ,WAKN,IAAI9e,EAAIoF,KAAKwZ,YACb,MAAO5e,IAAMA,EAAE6e,OAAQ7e,EAAIA,EAAE4e,YAC7B,OAAO5e,GAETmS,UATQ,WAUN,OAAO/M,KAAK2iB,kBAAoB,aAAEvM,OAAOpW,KAAKqD,SAAS8kB,cAAenoB,KAAK2iB,iBAAiBtf,SAASxF,OACnGmC,KAAK2iB,kBAETjmB,WAbQ,WAcN,OAAO,qBAAEsD,KAAK6C,KAAKyQ,gBAErBpB,QAhBQ,WAiBN,MAAO,OAETg+B,WAnBQ,WAoBN,MAAO,CACLlnC,GAAIhJ,KAAKiJ,IACT5I,MAAO,CAACL,KAAKqD,SAASxF,KAAMmC,KAAKkE,YACjCqL,MAAO,CAAC,CACNkG,MAAOzV,KAAKC,EAAEwV,OAAS,aAAEnG,SAAStP,KAAKC,EAAEwV,OACzCzS,OAAQhD,KAAKC,EAAE+C,QAAU,aAAEsM,SAAStP,KAAKC,EAAE+C,QAC3C,mBAAqBhD,KAAKC,EAAEiwB,UAA8B,GAAnBlwB,KAAKC,EAAEiwB,QAA1B,eAAyDlwB,KAAKC,EAAEiwB,SAAtB,KAC9D,mBAAqBlwB,KAAKC,EAAEkwB,UAA8B,GAAnBnwB,KAAKC,EAAEkwB,QAA1B,eAAyDnwB,KAAKC,EAAEkwB,SAAtB,MAC7DnwB,KAAKsiB,YACR,QAAStiB,KAAKgjB,SACd,UAA4B,MAAjBhjB,KAAKC,EAAEwV,MAAgB,IAAM,KACxC,WAA8B,MAAlBzV,KAAKC,EAAE+C,OAAiB,IAAM,OAG9Csf,WAlCQ,aAqCRpe,WArCQ,aAwCRqM,WAxCQ,aA2CR48B,WA3CQ,WA4CN,OAAO,eAAWntC,KAAKkwC,WAAYlwC,KAAKuQ,WAAYvQ,KAAKmwC,UAG7DtuC,OAxPa,WAyPX,OAAO7B,KAAK+I,SC/PH,gB,uGCME,GACblL,KAAM,OACNsqB,cAAe,kBACfpmB,OAAQ,CAACoH,EAAA,WAAY2R,EAAA,YACrBlb,MAAO,CAAC,WAAY,YACpBsW,OAAQ,CAAC,QAAS,mBAAoB,gBAAiB,eAAgB,mBACvE6E,QANa,WAOX,MAAO,CACL0R,gBAAiBzsB,KACjBusB,aAAcvsB,KAAKusB,aAAe,IAGtC9qB,QAAS,CACPguC,SADO,WAEL,OAAO,aAAEA,SAASzvC,KAAKoO,OAAQ,SAEjCk1B,WAJO,WAKL,OAAOtjC,KAAKC,EAAEg/B,UAEhB0Q,YAPO,SAOKxQ,GACVn/B,KAAKC,EAAEg/B,SAAkB,MAAPE,EAAcA,GAAOn/B,KAAKC,EAAEg/B,UAEhDqc,UAVO,WAWL,IAAKt7C,KAAKysB,gBAAiB,OAAO,EAClC,IAAI7xB,EAAIoF,KACR,MAAOpF,EAAIA,EAAE6xB,gBACX,IAAK7xB,EAAE0oC,aAAc,OAAO,EAE9B,OAAO,GAETpE,OAlBO,SAkBAC,EAAK5U,GACV,IAAIoC,EAAO3sB,KAAK6wB,MAAM,WAClBlE,EACFA,EAAKuS,OAAOC,EAAK5U,IAEjBvqB,KAAK2vC,YAAYxQ,GACjB5U,GAAMvqB,KAAKga,UAAUuQ,KAGzBzR,aA3BO,SA2BMhe,GACXkF,KAAK6C,KAAKmW,UAAUC,IAAI,SAE1BW,aA9BO,SA8BM9e,GACXkF,KAAK6C,KAAKmW,UAAUnG,OAAO,SAE7BlP,WAjCO,WAkCL,IAAI43C,EAAKv7C,KAAKw7C,SACVC,EAAKz7C,KAAK+M,UAAUs2B,KACpBpT,EAAK,EACT,OAAOjwB,KAAKuD,iBAAiBC,KAAI,SAAA23B,GAK/B,GAJIsgB,EAAGF,IAAOE,EAAGF,GAAItrB,KACnBA,GAAMwrB,EAAGF,GAAItrB,IAEfkL,EAAGvN,cAAgBqC,EACfkL,EAAGv7B,MAAO,CACZ,GAAIu7B,EAAGv7B,MAAMuwB,QAAU,EACrB,IAAK,IAAW1xB,EAAPrE,EAAI,EAAMA,EAAI+gC,EAAGv7B,MAAMuwB,QAAS/1B,IACvCqE,EAAIg9C,EAAGF,EAAKnhD,KAAOqhD,EAAGF,EAAKnhD,GAAK,IAChCqE,EAAEwxB,GAAM,aAAEnqB,OAAOq1B,EAAGv7B,MAAMswB,UAAY,EAGtCiL,EAAGv7B,MAAMswB,QAAU,IAAGD,GAAMkL,EAAGv7B,MAAMswB,QAAU,GAGrD,OADAD,IACOkL,MAGXpyB,KAvDO,WAwDL,OAAO/I,KAAKoO,OAAOi1B,KAAO,CAACrjC,KAAK4X,WAAU,GAAO5X,KAAKoO,OAAOi1B,QAAUrjC,KAAK4X,cAGhF/X,SAAU,CACRqS,QADQ,WAEN,MAAO,MAET6a,MAJQ,WAKN,OAAO/sB,KAAKusB,aAAe,GAE7BsX,SAPQ,WAQN,OAAO7jC,KAAK+M,UAAU9M,EAAE6jC,QAE1B1+B,UAVQ,WAWN,OAAOpF,KAAK+M,UAAU3H,UAAUpF,OAElCuQ,WAbQ,WAcN,GAAIvQ,KAAK+jB,cACP,MAAO,CACL1jB,MAAO,CACL,OAAQL,KAAKoF,UACb,aAAcpF,KAAKsjC,aACnB,UAAWtjC,KAAKs7C,aAElBxiC,aAAc9Y,KAAK8Y,aACnBc,aAAc5Z,KAAK4Z,iBCnGhB,gB,yDCHf,W,ihBCiBA,SAASvM,EAAEhP,GACT,IAAKA,GAAKA,EAAEsP,SAAU,OAAOtP,EAC7B,GAAiB,kBAANA,GAAkBA,EAAE4K,IAAK,OAAOoE,EAAE2O,OAAOxd,IAAIH,EAAE4K,KAAO5K,GASjE,GARIA,aAAa+b,QACf/b,EAAIA,EAAE0a,eAAiB1a,EAAEhC,QAEvBgC,EAAE+rB,MACJ/rB,EAAIA,EAAE+rB,IACa,IAAf/rB,EAAEmV,WACJnV,EAAIA,EAAEkwB,qBAENxgB,IAAO2tC,UAAUr9C,GACnB,GACE,GAAIA,EAAE2K,GAAI,CACR,GAAIqE,EAAE2O,OAAO2/B,IAAIt9C,EAAE2K,IAAK,OAAOqE,EAAE2O,OAAOxd,IAAIH,EAAE2K,IAC9C,IAAI7K,EAAIkP,EAAEsJ,MAAMtY,EAAE2K,GAAI,KAAO,IAC7B,GAAGqE,EAAE2O,OAAO2/B,IAAIx9C,GAAI,OAAOkP,EAAE2O,OAAOxd,IAAIL,UAEnCE,EAAIA,EAAE3B,YAEjB,MAAO2B,IAAMA,EAAEsP,SAAUtP,EAAIA,EAAEosB,QAC/B,OAAOpsB,GAAKgP,EAAEyV,QAGhBzpB,OAAOuiD,OAAOvuC,EAAG,CACfpN,EAAG,CAACi6C,eAAgB,IACpBl+B,OAAQ,IAAI6/B,IACZ1B,WAAY,GACZvuC,EAAGkwC,IAAQ/tC,WAAQsS,SACnBxf,gBAAI0F,iBAAK0C,iBAAK88B,iCAAe/F,mBAAQE,mBACrCp6B,mBAAQmS,uBAAUC,uBAAUC,mBAAQI,yBAAWE,2BAC/CnC,mBAAQpC,qBAASkD,yBAAWZ,qBAASG,iBAAOI,mBAAQH,mBAAQI,yBAAWK,+BACvEygB,2BAAYC,yBAAWS,qBAASY,yBAAWC,uBAAU9V,yBAAW+U,uBAAUY,iCAAeC,+BACzF5kB,+BAAcvC,2BAAYU,yBAAWsB,qCAAiB2b,qBACtD9sB,WAAIkG,eAAMuJ,mBAAQypC,qBAASC,mBAAQ5pC,iBAAO2B,6BAC1Cma,mBAAQprB,aAAKoC,mBAAQ8B,eAAM6gB,qBAI7Bxa,EAAEopC,OAAS,SAASp0C,GAAY,2BAAN+V,EAAM,iCAANA,EAAM,kBAM9B,OALAA,EAAKlI,SAAQ,SAAAhS,GACX,GAAIA,EACF,IAAK,IAAI8R,KAAK9R,EACN8R,KAAK3N,QAAevE,IAATI,EAAE8R,KAAkB3N,EAAE2N,GAAK9R,EAAE8R,OAE7C3N,GAITgL,EAAEitC,WAAa,SAASj4C,GAAY,2BAAN+V,EAAM,iCAANA,EAAM,kBAclC,OAbAA,EAAKlI,SAAQ,SAAAhS,GACX,GAAS,MAALA,GAAaA,EAAE+9C,cAAgB5iD,OACjC,IAAK,IAAIH,KAAKgF,EACNhF,KAAKmJ,EAKQ,MAARA,EAAEnJ,IAAcmJ,EAAEnJ,GAAG+iD,cAAgB5iD,QAC9CgU,EAAEitC,WAAWj4C,EAAEnJ,GAAIgF,EAAEhF,IALT,MAARgF,EAAEhF,IAAcgF,EAAEhF,GAAG+iD,cAAgB5iD,OACvCgU,EAAEitC,WAAWj4C,EAAEnJ,GAAK,GAAIgF,EAAEhF,IAE1BmJ,EAAEnJ,GAAKgF,EAAEhF,MAMZmJ,GAGTgL,EAAEqtC,MAAQ,SAASr4C,GAAY,2BAAN+V,EAAM,iCAANA,EAAM,kBAK7B,OAJAA,EAAKlI,SAAQ,SAAAhS,GACX,GAAIA,EACF,IAAK,IAAI8R,KAAK9R,EAAGmE,EAAE2N,GAAK9R,EAAE8R,MAEvB3N,GAGTgL,EAAEgtC,UAAY,SAASh4C,GAAY,2BAAN+V,EAAM,iCAANA,EAAM,kBAWjC,OAVAA,EAAKlI,SAAQ,SAAAhS,GACX,GAAS,MAALA,EACF,IAAK,IAAI8R,KAAK9R,EACQ,WAAhB,eAAOmE,EAAE2N,IACX3C,EAAEgtC,UAAUh4C,EAAE2N,GAAI9R,EAAE8R,IAEpB3N,EAAE2N,GAAK9R,EAAE8R,MAIV3N,GAGTgL,EAAE6uC,UAAYnuC,IAAOmuC,UAErB7uC,EAAEwC,KAAO,SAASssC,EAAKjB,GACrB,GAAIA,EAAK,CACP,IAAI9qC,EAAO/W,OAAO+W,KAAK8qC,GACvB,OAAOkB,SAAShsC,EAAK5M,KAAI,SAAAwM,GAAC,OAAIA,KAAf,kBAA8BmsC,EAA9B,MAAR,4BAAiD/rC,EAAK5M,KAAI,SAAAwM,GAAC,OAAIkrC,EAAIlrC,QAE5E,OAAOosC,SAAS,WAAD,OAAYD,EAAZ,KAARC,IAIT/uC,EAAEiE,MAAQ,SAASjP,EAAGC,GACpB,OAAOsI,MAAMC,QAAQxI,GAAMC,EAAID,EAAEgF,SAAWhF,EAAU,MAALA,GAAmB,KAANA,EAAW,GAAkB,kBAANA,EAAiBA,EAAE4R,MAAM,KAAO,CAAC5R,IAGxHgL,EAAEgtB,YAAc,SAASh4B,GACvB,OAAOgL,EAAEiE,MAAMjP,GAAGmB,KAAI,SAAAmC,GAAC,OAAIoS,WAAWpS,OAIxC0H,EAAEiC,SAAW,SAACrK,EAAMo3C,GAAP,OAA8B,MAARp3C,GAAyB,KAATA,GAA4B,MAATA,EAAL,IAAmC,GAATA,IAAeo3C,GAAsB,QAARp3C,EACtH,OAAS+S,MAAM/S,GAAQA,EAAd,UAAwBA,EAAxB,OAGXoI,EAAEmc,OAAS,SAAChvB,EAAG4E,EAAGxE,GAIhB,GAHAJ,EAAI8b,oBAAO9b,GACX4E,EAAIkX,oBAAOlX,GACXxE,EAAS,MAALA,EAAY,IAAM,GAAKA,GACtBJ,IAAM4E,EAAG,OAAO5E,GAAK4E,EAC1B,IAAK,IAAIlG,EAAI,EAAmB2B,GAAhBuE,EAAIA,EAAE6U,MAAMrZ,GAAQwE,EAAEhG,QAAQF,EAAI2B,EAAG3B,KAC9C0B,EAAIJ,EAAII,GAAGkZ,QAAQlZ,EAAIwE,EAAElG,GAAK0B,GAAK,IAAGJ,IAAMA,EAAII,EAAI,IAAMwE,EAAElG,IAEnE,OAAOsB,GAGT6S,EAAEoc,UAAY,SAACjvB,EAAG4E,EAAGxE,GAInB,GAHAJ,EAAI8b,oBAAO9b,GACX4E,EAAIkX,oBAAOlX,GACXxE,EAAS,MAALA,EAAY,IAAM,GAAKA,GACtBJ,IAAM4E,EAAG,OAAO5E,EACrB,IAAK,IAAWM,EAAP5B,EAAI,EAAsB2B,GAAhBuE,EAAIA,EAAE6U,MAAMrZ,GAAQwE,EAAEhG,QAAQF,EAAI2B,EAAG3B,IACtD,GACE4B,GAAKF,EAAIJ,EAAII,GAAGkZ,QAAQlZ,EAAIwE,EAAElG,GAAK0B,GAC/BE,GAAK,IAAGN,EAAIA,EAAEmF,MAAM,EAAG7E,EAAIA,EAAI,EAAIA,GAAKN,EAAEmF,MAAM7E,EAAIsE,EAAElG,GAAGE,QAAU0B,EAAI,EAAI,WACxEN,GAAKM,GAAK,GAErB,OAAON,GAGT6S,EAAE+I,OAAS,SAAC5b,EAAG4E,EAAGxE,GAChB,GAAU,KAANJ,GAAY4E,IAAM5E,EAAG,OAAO,EAIhC,GAHAA,EAAI8b,oBAAO9b,GACX4E,EAAIkX,oBAAOlX,GACXxE,EAAS,MAALA,EAAY,IAAM,GAAKA,GACtBJ,IAAM4E,EAAG,OAAO,EACrB,GAAI5E,GAAK4E,EAAG,OAAO,EANG,uBAORA,EAAE6U,MAAMrZ,IAPA,IAOtB,gCAAS+K,EAAT,QACE,IAAK/K,EAAIJ,EAAII,GAAGkZ,QAAQlZ,EAAI+K,EAAI/K,IAAM,EAAG,OAAO,GAR5B,8BAStB,OAAO,GAITyS,EAAE+sC,OAAS,SAAC5/C,EAAG4E,EAAGxE,GAChB,GAAU,KAANJ,GAAY4E,IAAM5E,EAAG,OAAO,EAIhC,GAHAA,EAAS,MAALA,EAAY,GAAK,GAAKA,EAC1B4E,EAAS,MAALA,EAAY,GAAK,GAAKA,EAC1BxE,EAAS,MAALA,EAAY,IAAM,GAAKA,GACtBJ,EAAG,OAAO,EACf,IAAK4E,GAAK5E,GAAK4E,EAAG,OAAO,EANH,uBAORA,EAAE6U,MAAMrZ,IAPA,IAOtB,gCAAS+K,EAAT,QACE,IAAK/K,EAAIJ,EAAII,GAAGkZ,QAAQlZ,EAAI+K,EAAI/K,GAAK,EAAG,OAAO,GAR3B,8BAStB,OAAO,GAITyS,EAAEmF,SAAW,SAASnQ,EAAGC,EAAGpE,GAC1B,GAAKmE,EAAL,CACA,IAAI7H,EAAI6H,EAAEi6C,UACV,GAAIh6C,EAAEwR,QAAQ,MAAQ,EAAG,CACvBxR,EAAI+K,EAAE6G,QAAQ5R,GAAG2R,MAAM,MACvB,IAAK,IAAI/a,EAAI,EAAG2B,EAAIyH,EAAElJ,OAAQF,EAAI2B,EAAG3B,IACnCsB,IAAW,IAAN0D,EAAcmP,EAAEoc,UAAYpc,EAAEmc,QAAQhvB,EAAG8H,EAAEpJ,GAAI,UAEtDsB,IAAW,IAAN0D,EAAcmP,EAAEoc,UAAYpc,EAAEmc,QAAQhvB,EAAG8H,EAAG,KACnDD,EAAEi6C,UAAY9hD,IAIhB6S,EAAEgH,YAAc,SAAShS,EAAGC,GACrBD,IACDC,EAAEwR,QAAQ,MAAQ,EACpBzG,EAAEmF,SAASnQ,EAAGC,GAAG,GAEjBD,EAAEi6C,UAAYjvC,EAAEoc,UAAUpnB,EAAEi6C,UAAWh6C,EAAG,OAI9C+K,EAAE+G,SAAW,SAAS/R,EAAGC,GACvB,GAAKD,EAAL,CACA,IAAI7H,EAAiB,kBAAN6H,EAAiBA,EAAIA,EAAEi6C,UACtC,KAAIh6C,EAAEwR,QAAQ,MAAQ,GAKpB,OAAOzG,EAAE+I,OAAO5b,EAAG8H,EAAG,KAJtBA,EAAIi6C,SAASj6C,GAAG2R,MAAM,MACtB,IAAK,IAAI/a,EAAI,EAAG2B,EAAIyH,EAAElJ,OAAQF,EAAI2B,EAAG3B,IACnC,GAAImU,EAAE+I,OAAO5b,EAAG8H,EAAEpJ,GAAI,KAAM,OAAOA,EAAI,IAM7CmU,EAAEmvC,UAAY,SAACn6C,GACb,OAAY,MAALA,EAAY,GAAK8U,mBAAgC,WAAb,eAAO9U,GAAiB8H,KAAKC,UAAU/H,GAAKA,IAIzFgL,EAAEovC,UAAY,SAACp6C,GACb,OAAY,MAALA,EAAY,GAAKq6C,mBAAmBr6C,EAAE6Q,QAAQ,MAAO,OAG9D7F,EAAE4S,UAAY,SAAC5d,GAAe,2BAAT+V,EAAS,iCAATA,EAAS,kBAE5B,OADAA,EAAKlI,SAAQ,SAACvK,EAAGzM,GAAJ,OAAe,MAALyM,IAActD,EAAIgL,EAAE2J,UAAU3U,EAAGsD,GAAG,EAAMzM,EAAIkf,EAAKhf,OAAS,OAC5EiJ,GAETgL,EAAEsvC,SAAW,SAASt6C,EAAGC,GACvB,IAAI7D,EAAI4D,EAAE4R,MAAM,KACdlC,EAAItT,EAAE,GACN0mB,EAAI1mB,EAAE,GACR,GAAiB,kBAAN6D,EACT,MAAa,MAANA,EAAa6iB,GAAK,GAAM9X,EAAEovC,WAAW1qC,EAAEmyB,MAAM,IAAI5sB,OAAO,SAAWhV,EAAI,YAAa,MAAQs6C,GAAG,IACjG,GAAIt6C,GAAkB,WAAb,eAAOA,GACrB,IAAK,IAAI0N,KAAK1N,EACZ,GAAU,MAAN0N,EACFmV,EAAI7iB,EAAE0N,OACD,CACL,IAAI9R,EAAImP,EAAEmvC,UAAUl6C,EAAE0N,IACpB7R,EAAI,IAAImZ,OAAO,MAAQtH,EAAI,UAC7B+B,EAAI5T,EAAE2R,KAAKiC,GAAKA,EAAEmB,QAAQ/U,EAAG6R,EAAI,IAAM9R,GAAK6T,GAAKA,EAAE+B,QAAQ,KAAO,EAAI,IAAM,KAAO9D,EAAI,IAAM9R,OAG5F,GAAyB,IAArB8L,UAAU5Q,OAAc,CAC7BqF,EAAI,GACNP,EAAI6T,EAAEkC,MAAM,KAGd,GAFA/V,EAAIA,EAAEA,EAAE9E,OAAS,GAEb8E,EAAG,CACLA,EAAIA,EAAE+V,MAAM,KACP,IAAWnZ,EAAGyM,EAAG8L,EAAtB,IAASlV,EAAI,EAAYA,EAAID,EAAE9E,OAAQ+E,IACrCrD,EAAIoD,EAAEC,GAAG2V,QAAQ,MACP,GAANhZ,IACJyM,EAAIrJ,EAAEC,GAAG0+C,UAAU,EAAG/hD,GACtBuY,EAAInV,EAAEC,GAAG0+C,UAAU/hD,EAAI,GACvB2D,EAAE8I,GAAK8F,EAAEovC,UAAUppC,EAAEH,QAAQ,MAAO,OAGxC,OAAOzU,EAET,OAAOsT,GAAKoT,EAAI,IAAMA,EAAI,KAG5B9X,EAAEkU,UAAY,SAASjlB,GACrB,GAAKA,EAAL,CACA,IAAMA,EAAI8c,WAAW,aAAc9c,EAAI8c,WAAW,YAAc,CAC9D,IAAI9W,EAAIyL,IAAOvP,IAAI6O,EAAEpN,EAAG,gBACpBqC,IACFhG,EAAMgG,GAAKA,EAAEggC,SAAS,KAAO,GAAK,KAAOhmC,GALV,2BAAN8b,EAAM,iCAANA,EAAM,kBAQnC,OAAO/K,EAAE2J,UAAF,MAAA3J,EAAC,CAAW/Q,GAAX,OAAmB8b,MAG7B/K,EAAEyvC,YAAc,SAASz6C,GACxB,GAA2B,IAAvBA,EAAEyR,QAAQ,SAAgB,CAC7BzR,EAAIgL,EAAEkU,UAAUlf,GACd,IAAI5D,EAAIsP,IAAOvP,IAAI6O,EAAEpN,EAAG,eAC1BxB,IAAM4D,EAAIgL,EAAEsvC,SAASt6C,EAAG5D,IAEzB,OAAO4D,GAGRgL,EAAEiU,SAAW,SAASjf,EAAGC,GAExB,GADCD,EAAIgL,EAAEyvC,YAAYz6C,GACfxB,aAAG4jC,IACNp3B,EAAE0vC,aAAY,WACb,IAAIC,EAAQ3G,KAAK4G,WAAWC,eAAe76C,EAAGC,GAC9C+zC,KAAK8G,SAASC,cACdJ,EAAMlnC,iBAAiB,gBAAgB,SAASunC,EAAMj8B,GACrD,OAAQi8B,EAAK9f,OACZ,KAAK,EACJ8Y,KAAK8G,SAASG,MAAMjwC,EAAE9G,IAAI6sB,gBAC1B,MACD,KAAK,EACU,KAAVhS,GACHi1B,KAAK8G,SAASG,MAAMjwC,EAAE9G,IAAI8sB,mBAC1BgjB,KAAKkH,QAAQC,SAASH,EAAKI,SAAU,IAAI,SAAS3iD,GACjDu7C,KAAK8G,SAASp+B,MAAM1R,EAAE9G,IAAI+sB,yBAG3B+iB,KAAK8G,SAASG,MAAMjwC,EAAE9G,IAAIgtB,cAAgBnS,GAE3Ci1B,KAAK8G,SAASO,eACd,UAGHV,EAAMW,eAED,CACN,IAAIC,EAAOriD,SAASQ,cAAc,KAEhC6hD,EAAKxiD,KAAOiH,EACRgL,EAAEpN,EAAE49C,iBACND,EAAKvhD,OAASgR,EAAEpN,EAAE49C,gBAEpBD,EAAK3nC,QACL2nC,EAAK/qC,WAKTxF,EAAE0vC,YAAc,SAAS16C,EAAGC,GAC3B+K,EAAEpN,EAAE88C,aAAoD,GAArC1G,KAAKyH,YAAYC,iBAAwB1H,KAAK8G,SAASxsB,QAAQtjB,EAAE9G,IAAIwtB,qBAAqB,SAASj5B,GAAe,IAAZA,EAAEkyB,OAAe3qB,EAAE7I,KAAK8I,KAAK,CAAC2kC,QAAQ,CAAC55B,EAAE9G,IAAIoqB,QAAStjB,EAAE9G,IAAIib,UAAYnf,EAAE7I,KAAK8I,IAGzM+K,EAAEktC,GAAK,SAACl4C,GACN,OAAKA,EACY,kBAANA,GACLgL,EAAE2O,OAAO2/B,IAAIt5C,KACfA,EAAIgL,EAAE2O,OAAOxd,IAAI6D,GACbA,EAAEoX,QAAepX,GAGzBA,EAAIgL,EAAEhL,GACG,MAALA,EACGA,EAAEoX,OAASpX,EAAIA,EAAEqX,eADxB,GARerM,EAAEyV,SAYnBzV,EAAE3L,OAAS,SAACW,GACV,GAAKA,EAAL,CACAA,EAAIgL,EAAEktC,GAAGl4C,GACT,MAAOA,IAAMA,EAAEwyC,SAAUxyC,EAAIA,EAAEqX,UAC/B,OAAOrX,IAGTgL,EAAE7M,MAAQ,SAAC6B,GACT,IAAIlE,EAAIkP,EAAE3L,OAAOW,GACjBlE,GAAKA,EAAEqC,SAGT6M,EAAE2wC,WAAa,WACbziD,SAAS4e,cAAc,IAAIC,MAAM,eAGnC/M,EAAE4V,aAAe,SAAS3mB,GACxB+Q,EAAEktC,KAAKt3B,aAAa5V,EAAEkU,UAAUjlB,KAGlC+Q,EAAE+V,aAAe,SAASC,EAAMC,GAC9BD,EAAOhW,EAAEiE,MAAM+R,GAAM7f,KAAI,SAAAmC,GAAC,OAAI0H,EAAEkU,UAAU5b,MACvC9E,aAAG4jC,IACN4R,KAAK8G,SAAS/5B,aAAaC,EAAMC,GAE/BjW,EAAEktC,KAAKn3B,aAAaC,EAAMC,IAI9BjW,EAAE+tC,cAAgB,SAAS6C,GAAyB,IAAlBpgD,EAAkB,uDAAX,UACnCY,EAAI,GACFy/C,EAAc,SAAdA,EAAe//C,GACnBA,GAAKA,EAAE+R,SAAQ,SAAAvK,GACS,WAAlB,eAAOA,EAAE3J,MACX4O,MAAMC,QAAQlF,EAAEjC,WAAaw6C,EAAYv4C,EAAEjC,UAE3CjF,EAAE/E,KAAKiM,OAIb,OADAu4C,EAAYD,EAAMpgD,IAASogD,EAAMpgD,MAC1BY,GAGT4O,EAAEoiC,SAAW,SAASwO,GAAyB,IAAlBpgD,EAAkB,uDAAX,UAC9BY,GAAI,EACFy/C,EAAc,SAAdA,EAAe//C,GACnB4P,IAAOmC,QAAQ/R,GAAG,SAAAwH,GAChB,GAAsB,WAAlB,eAAOA,EAAE3J,MAGX,QAASyC,GAAI,GAFbmM,MAAMC,QAAQlF,EAAEjC,WAAaw6C,EAAYv4C,EAAEjC,cAOjD,OADAw6C,EAAYD,EAAMpgD,IAASogD,EAAMpgD,MAC1BY,GAIT4O,EAAEX,KAAO,SAAS6d,EAAI4zB,EAAInd,GACzBzW,EAAG,GACO,MAAN4zB,IACHA,EAAK,KACO,MAATnd,IACHA,EAAQp7B,KAAK4B,KAAK22C,EAAK,KACxB,IAAIvjD,EAAKgL,KAAK4B,KAAK22C,EAAKnd,GACpBod,EAAK,EACLC,GAAK,IAAI7wC,MAAOC,UAChB6wC,EAAKC,aAAY,WACnB,IAAIC,GAAK,IAAIhxC,MAAOC,UAChB8tC,EAAKiD,EAAKH,EACVpwB,EAAKroB,KAAK8a,MAAM66B,EAAK3gD,GACrBwjD,GAAMnwB,IACLA,EAAK+S,EACRzW,GAAM3kB,KAAK64C,IAAKxwB,EAAK+S,EAASp7B,KAAK4jC,IAAM,EAAK,KAE9CkV,cAAcJ,GACd/zB,EAAG,IAEJ6zB,EAAKnwB,KAEJroB,KAAKC,IAAIjL,EAAI,GAAI,IACrB,OAAO0jD,GAIRjxC,EAAEsxC,MAAQ,SAASt8C,EAAGilB,GACpB,IAAInpB,EAAIkE,EAAEQ,GAAKR,EAAEQ,KAAQR,EAAE+nB,KAAO/nB,EAAIkK,EAAIpO,EAAEygD,cAAet8C,EAAI+K,EAAEzB,EAAE,oBAAqBW,GAAIrO,EAAI,GAC9FopB,EAAIA,GAAK,GACXja,EAAEzB,EAAE,OAAQW,GAAG0I,MAAK,WAAY/W,EAAExE,KAAKsG,KAAK6+C,eAC3Cv8C,EAAElJ,OAAS,EAAIkJ,EAAI+K,EAAEzB,EAAE,OAAQW,IAAI0I,MAAK,WAAY/W,EAAExE,KAAK,gDAAkDsG,KAAKrE,aAAa,QAAU,UAC1I0R,EAAEzB,EAAE,QAASW,GAAG0I,MAAK,WAAY/W,EAAExE,KAAKsG,KAAK6+C,cAC7C,IAAIrkD,EAAI2D,EAAE0gD,UACVrkD,EAAIA,EAAE0Y,QAAQ,6BAA6B,SAAS+D,GAAK,OAAOA,EAAG/D,QAAQ,gBAAiB,OAC5F7F,EAAEzB,EAAE,kCAAmCzN,GAAG8W,MAAK,WAAW,IACjCtP,EAAGlH,EAD8B,OACrD0mB,EAAInlB,KAAK6+C,UACb,GAAIv3B,EAAEw3B,WAAY,CACjB,IAAIzrC,EAAIhG,EAAErN,MACNqT,GAAKA,EAAE/J,cACV6b,EAAI9R,EAAExQ,GAAG,QAAQg8C,UACjBl5C,EAAI0N,EAAEvG,YAENnH,EAAI3F,KAAKpB,MACV+G,EAAI,+BAAiCA,EAAI,cAEzCA,EAAIwf,EAAEjS,QAAQ,UAAYlT,KAAK6J,aAAe,KAAK,iBAAM,UAAY,EAAKjL,MAAQ,OAEnFpE,EAAIA,EAAE0Y,QAAQiS,GAAG,kBAAMxf,GAAKlH,GAAK,UAElC4O,EAAEzB,EAAE,mBAAoBzN,GAAG8W,MAAK,WAC/B,GAAIqS,EAAEw3B,WAAY,CACjB,IAAIzrC,EAAIhG,EAAErN,MACNqT,GAAKA,EAAE/J,eACV9O,EAAIA,EAAE0Y,QAAQG,EAAExQ,KAAKg8C,WAAW,kBAAMxrC,EAAE8V,UAAY,uBAAyB9V,EAAE3S,KAAO,SAAW,WAE5F,CACN,IAAIykB,EAAInlB,KAAK6+C,UAAWz/C,EAAI+lB,EAAEjS,QAAQ,cAAe,IACjDlT,KAAK4b,UACRxc,EAAIA,EAAE8T,QAAQ,KAAM,cACrB1Y,EAAIA,EAAE0Y,QAAQiS,EAAG/lB,OAGfkoB,EAAEw3B,YACLzxC,EAAEzB,EAAE,qBAAsBzN,GAAG8W,MAAK,WACjC,IAAI5B,EAAIhG,EAAErN,MACNqT,GAAKA,EAAE/J,cAAmC,YAAnB+J,EAAEhQ,SAASxF,OACrCrD,EAAIA,EAAE0Y,QAAQG,EAAExQ,GAAG,QAAQg8C,WAAW,iBAAM,0CAA4CxrC,EAAEvG,WAAa,gBAI1GO,EAAEzB,EAAE,uBAAwBzN,GAAG8W,MAAK,WACnCza,EAAIA,EAAE0Y,QAAQlT,KAAK6+C,UAAW,OAE7B,IAAME,EAAS,WACd,IAAIxyC,EAAI7T,OAAOsmD,OAAOC,YAKtB,OAJK1yC,IACJc,EAAEzB,EAAE,8DAA8DuiB,SAAS5yB,SAAS6yB,MACpF7hB,EAAI7T,OAAOsmD,OAAOC,aAEZ1yC,GAWV,OATEA,GAAgB,IAAZ+a,EAAEq3B,MAAkBI,IAAWrmD,OAAOwmD,OAC5C/gD,EAAIoO,EAAEhR,SACN4C,EAAE+gD,KAAK,YAAa,WACpB/gD,EAAEghD,MAAM,uEAAyE9xC,EAAE9G,IAAIssB,cACtF,ySAA6S30B,EAAEsN,KAAK,KACnT8b,EAAE1qB,MAAQ,IAAM,mCAAqCpC,EAAI,WAC7C,IAAZ8sB,EAAEq3B,MAAkB,kDAAmD,IACxE,kBACDxgD,EAAEqC,QACKrC,GAIT,IAAMihD,EAAc,SAASxmD,EAAMymD,GACjC,IAAKzmD,GAAQA,aAAgBunB,SAAU,OAAOvnB,EAC9C,IAAI0mD,EAAcjyC,EAAEU,OAAOvP,IAAI6gD,EAAQ,4BAA8BhyC,EAAEU,OAAOvP,IAAI6O,EAAEpN,EAAG,qCACvF,MAAsB,qCAAfq/C,EAAqDC,IAAGn1C,UAAUxR,EAAM,CAAC4mD,YAAa,WAAa5mD,GAG5GyU,EAAEoyC,KAAO,SAAS7qC,EAAKwD,GACrB,IAAI9b,EAAM8b,EAAO/K,EAAE4S,UAAUrL,EAAItY,IAAK8b,GAAQxD,EAAItY,IAClD,IAAKA,EACH,OAAOrB,QAAQE,OAAO,qGAExB,IAAI6qC,EAAMpxB,EAAIlQ,SAAW2I,EAAEyV,QACvB48B,EAAO1Z,EAAItd,SACX22B,EAAShyC,EAAEU,OAAO2yB,KAAK9rB,EAAK,CAAC,UAAW,iBAM5C,OALIA,EAAI0M,UACNjU,EAAEopC,OAAO4I,EAAQ,CAACM,aAAc,SAElCD,GAAQA,IACR9qC,EAAIoL,SAAWgmB,EAAIr5B,KAAK,CAAC3Q,KAAM,WAAY,KAAM4Y,EAAIoL,UAC7CpL,EAAIhc,KAAOyU,EAAEgT,KAAKE,KAAKjkB,EAAK8iD,EAAYxqC,EAAIhc,KAAMymD,GAASA,GAAUhyC,EAAEgT,KAAK7hB,IAAIlC,EAAK+iD,IAC1FviD,MAAK,SAAAikB,GACJ2+B,GAAQA,GAAK,GACb,IAAI9mD,EAAOmoB,EAAInoB,KAKf,GAJIgc,EAAIG,SAAQnc,EAAOgc,EAAIG,OAAOgM,EAAKilB,IACnCpxB,EAAItT,SAASsT,EAAItT,QAAQ1I,EAAMotC,GAC/BpxB,EAAI9C,UAAU8C,EAAI9C,SAASiP,EAAKilB,GACpCpxB,EAAIoL,SAAWgmB,EAAIpxB,IAAI,CAAC5Y,KAAM,UAAWqgB,MAAM,IAC3CzH,EAAI0M,SAAU,CAChB,IAAIs+B,EAAc7+B,EAAI8+B,QAAQ,uBAC9B,GAAID,EAAa,CACf,IAAIrhB,EAAWuhB,UAAUF,EAAY/C,UAAU+C,EAAY9rC,QAAQ,aAAe,EAAG8rC,EAAYxmD,SAC7F2mD,EAAO,IAAIC,KAAK,CAACj/B,EAAInoB,OACrBglD,EAAOriD,SAASQ,cAAc,KAClC6hD,EAAKxiD,KAAO4tC,IAAIC,gBAAgB8W,GAChCnC,EAAKt8B,SAAWid,EAChBqf,EAAK3nC,QACL2nC,EAAK/qC,cAELrT,QAAQjC,MAAM,sCAGlB,OAAOtC,QAAQC,QAAQtC,MACtBsoB,OAAM,SAAAsJ,GAKP,OAJAk1B,GAAQA,GAAK,GACT9qC,EAAIrX,OAAOqX,EAAIrX,MAAMitB,EAAIwb,GACzBpxB,EAAI9C,UAAU8C,EAAI9C,SAAS0Y,EAAGrJ,SAAU6kB,EAAKxb,GACjD5V,EAAIoL,SAAWgmB,EAAIr5B,KAAK,CAAC3Q,KAAM,WAAY,KAAM4Y,EAAIoL,SAC9C/kB,QAAQE,OAAOqvB,OAI5Bnd,EAAEopC,OAAOppC,EAAEoyC,KAAM,CACfjhD,IADe,SACXlC,EAAK+iD,GACP,OAAOhyC,EAAEgT,KAAK7hB,IAAIlC,EAAK+iD,GAAQviD,MAAK,SAAAikB,GAAG,OAAI,IAAI9lB,SAAQ,SAAAC,GAAO,OAAIA,EAAQ6lB,EAAInoB,aAEhF2nB,KAJe,SAIVjkB,EAAK1D,EAAMymD,GACd,OAAOhyC,EAAEgT,KAAKE,KAAKjkB,EAAK8iD,EAAYxmD,EAAMymD,GAASA,GAAQviD,MAAK,SAAAikB,GAAG,OAAI,IAAI9lB,SAAQ,SAAAC,GAAO,OAAIA,EAAQ6lB,EAAInoB,cAE3GynB,KAEHhT,EAAEstC,SAAW,CACXsF,OADW,SACJrrC,EAAKwD,GAAM,WAEVmiC,GADIltC,EAAE4S,UAAUrL,EAAItY,IAAK8b,GACpB/K,EAAEktC,GAAGv6C,OACVkgD,EAAS,kBAAM,IAAIjlD,SAAQ,SAAAklD,GAAG,OAAI,EAAKnmC,WAAU,WACrD,IAAI7b,EAAIyW,EAAIwrC,WAAY,EACpB74C,EAAIgzC,EAAGh/B,YAAYpd,EAAEwd,OAAS/G,EAAI+G,OAClCtI,EAAIlV,EAAEwd,OAASxd,EAAEwd,OAAS/G,EAAI+G,MAAQ4+B,EAAGh/B,YAAY3G,EAAI+G,OAASpU,EACtE,GAAIgzC,EAAGzvC,MAAMvD,EAAGpJ,EAAEkiD,OAAQ,CACxBzrC,EAAIlQ,QAAUkQ,EAAIlQ,SAAW,EAC7B,IAAI6b,EAAOg6B,EAAG7+B,YAAYrI,GAC1BuB,EAAIhc,KAAOgc,EAAIhc,KAAOyU,EAAEopC,OAAO7hC,EAAIhc,KAAM2nB,GAAQA,EACjDlT,EAAEoyC,KAAK7qC,EAAKwD,GAAMtb,MAAK,SAAAlE,GAAI,OAAIunD,EAAIvnD,cAGvC,OAAOsnD,KAETI,KAjBW,SAiBN1rC,EAAKwD,GAER,OADAxD,EAAIlQ,QAAUkQ,EAAIlQ,SAAW1E,KACtBqN,EAAEoyC,KAAK7qC,EAAKwD,IAErBpW,OArBW,SAqBJ4S,EAAKwD,GAEV,OADIxD,EAAIrU,QAAOqU,EAAIrU,MAAQ8M,EAAE2J,UAAUpC,EAAIrU,MAAO6X,IAC3C/K,EAAEktC,GAAGv6C,MAAMsc,UAAU1H,EAAKwD,EAAMpY,OAEzC2hC,MAzBW,SAyBL/sB,EAAKwD,GAET,OADIxD,EAAIlU,OAAMkU,EAAIlU,KAAO2M,EAAE2J,UAAUpC,EAAIlU,KAAM0X,IACxC/K,EAAEktC,GAAGv6C,MAAMsc,UAAU1H,EAAKwD,EAAMpY,OAEzC6hC,QA7BW,SA6BHjtB,EAAKwD,GAEX,OADIxD,EAAIlU,OAAMkU,EAAIlU,KAAO2M,EAAE2J,UAAUpC,EAAIlU,KAAM0X,IACxC/K,EAAEktC,GAAGv6C,MAAMsc,UAAU1H,EAAKwD,EAAMpY,OAEzC+hC,IAjCW,SAiCPntB,EAAKwD,GAEP,OADIxD,EAAIlU,OAAMkU,EAAIlU,KAAO2M,EAAE2J,UAAUpC,EAAIlU,KAAM0X,IACxC/K,EAAEktC,GAAGv6C,MAAMsc,UAAU1H,EAAKwD,EAAMpY,OAEzC+G,KArCW,SAqCN6N,EAAKwD,GACR,OAAO/K,EAAEktC,GAAGv6C,MAAMsc,UAAU1H,EAAKwD,EAAMpY,OAEzCiiC,QAxCW,SAwCHrtB,EAAKwD,GACX,OAAO/K,EAAEktC,GAAGv6C,MAAMsc,UAAU1H,EAAKwD,EAAMpY,QAI3CqN,EAAEk4B,MAAQ,SAASljC,GACjB,OAAOA,GAAKA,EAAErG,MAAQqR,EAAEstC,SAASt4C,EAAErG,OAGrCqR,EAAE0R,MAAQ,SAASre,EAAMwG,EAAU9J,EAASozB,GAC1CnjB,EAAEyV,QAAQlO,IAAoB,WAAhB,eAAOlU,GAAP,gBAA4B1E,KAAM,QAASuE,MAAO,QAAWG,GAAQ,CACjF1E,KAAM,QAASuE,MAAO,OAAQG,OAAMwG,WAAU9J,UAASozB,SAI3DnjB,EAAEsjB,QAAU,SAASjwB,EAAM8vB,EAAKC,EAAItU,GAClC9O,EAAEyV,QAAQlO,IAAoB,WAAhB,eAAOlU,GAAP,gBAA4B1E,KAAM,UAAWuE,MAAO,QAAWG,GAAQ,CACnF1E,KAAM,UAAWuE,MAAO,OAAQG,OAAM8vB,MAAKC,KAAItU,WAanD9O,EAAEgyC,OAAS,SAASnE,GAClB7tC,EAAEssC,WAAa1wC,uBACfoE,EAAEgtC,UAAUhtC,EAAEpN,EAAGi7C,GACbA,EAAI76B,OACNhT,EAAEgtC,UAAUh6B,IAAKkgC,SAAUrF,EAAI76B,MAC/BA,IAAKmgC,aAAar/B,SAAS+rB,IACzBgO,EAAI76B,KAAKtL,OACTmmC,EAAI76B,KAAK9iB,OAAS,SAASitB,GAIzB,OAHIA,EAAGrJ,WACLqJ,EAAGkpB,SAAW,kBAAMrmC,EAAE0R,MAAOyL,EAAGrJ,SAASC,OAAU,KAAOoJ,EAAG60B,OAAO5hC,OAE/DxiB,QAAQE,OAAOqvB,MAI5B,IAAMi2B,EAASpzC,EAAEpN,EAAEi6C,eAEnB,IAAK,IAAIlqC,KAAKywC,EACZ,GAAIzwC,EAAEC,SAAS,KAAM,CACnB,IAAI5N,EAAIgL,EAAEmJ,QAAQxG,EAAG,KAAKkD,QAAQ,MAAO,KACrC5Q,EAAI+K,EAAEsJ,MAAM3G,EAAG,MAClB3C,EAAE8sC,WAAW73C,KAAO+K,EAAE8sC,WAAW73C,GAAK,KAAKD,GAAKo+C,EAAOzwC,KAK9DtX,OAAOod,iBAAiB,sBAAsB,SAAC3Z,GACzCkR,EAAEpN,EAAEygD,YACNrzC,EAAEpN,EAAEygD,YAAYvkD,IAEZA,EAAMwkD,SACJxkD,EAAMwkD,OAAOjN,SACfv3C,EAAMwkD,OAAOjN,WACkB,kBAAjBv3C,EAAMwkD,QACpBnhD,QAAQjC,MAAMpB,EAAMwkD,SAExBxkD,EAAM+Y,qBAIK7H,gB,kCCvpBf,W,qHCSQuzC,EAAY,aAAEr6C,IAAI8F,KAAK2pB,kBAEd,GACbn4B,KAAM,WACNkE,OAAQ,CAAC8G,EAAA,YACThE,MAAO,CAAC,OAAQ,iBAChBjF,MAAO,CAAC,MAAO,QAAS,aACxBhH,KALa,WAMX,MAAO,CACL4Q,WAAW,EACX9I,KAAMkgD,EACNC,QAAQ,EACRC,WAAW,EACXC,SAAS,EACTjsC,QAAS,OAGbrT,QAAS,CACPH,QADO,SACCZ,GACNV,KAAKU,KAAOA,EACZV,KAAK6gD,QAAS,EACd7gD,KAAK8gD,WAAY,EACjB9gD,KAAKghD,gBAEPzjD,MAPO,SAODmD,EAAMtD,EAASmtB,GAAI,WAKvB,GAJK7pB,IAAMA,EAAO,IAClBV,KAAK+gD,SAAU,EACf/gD,KAAKqK,MAAK,GACVrK,KAAKghD,aAAa,GACd5jD,EAAS,CACX4C,KAAK6gD,QAAS,EACd7gD,KAAKU,KAAOA,EAAG,WAAQtD,EAAQ,IAAhB,KACf,IAAI6jD,EAAQ1C,aAAY,WACtBnhD,GAAW,IACX,EAAKsD,KAAOA,EAAG,WAAQtD,EAAQ,IAAhB,KACXA,GAAW,IACbshD,cAAcuC,GACd,EAAKhzC,QACLsc,GAAMA,OAEP,UAEHA,GAAMA,KAGVtc,MA5BO,WA6BLjO,KAAK6gD,QAAS,EACd7gD,KAAK+gD,SAAU,EACf/gD,KAAK8gD,WAAY,EACjB9gD,KAAKU,KAAOkgD,EACZ5gD,KAAKghD,aAAa,IAEpB/vB,QAnCO,SAmCCn2B,GACNA,EAAEyK,QAAU,gBACZvF,KAAKwF,QAAQ1K,IAEfkmD,aAvCO,SAuCM17B,GACC,MAARA,EACFA,EAAO,aAAExf,OAAO9F,KAAK2C,MAAMu+C,MAAM3xC,MAAM+V,MAEvCtlB,KAAK2C,MAAMu+C,MAAM3xC,MAAM+V,KAAOA,EAAO,KAEvC,IAAIjS,EAAIrT,KAAKmhD,aACT50C,EAAIvM,KAAKohD,YACTC,EAAM/7B,EAAQjS,EAAI,EAAO9G,EAAI,EACjCvM,KAAK2C,MAAMjC,KAAK6O,MAAM+V,KAAO+7B,EAAK,EAAK/7B,EAAOjS,EAAK,KACnDrT,KAAK2C,MAAMjC,KAAK6O,MAAMgW,MAAQ87B,EAAM90C,EAAI+Y,EAAQ,KAAO,EACvDtlB,KAAK6C,KAAKmW,UAAUnG,OAAO,UAC3B,aAAErS,MAAMR,KAAK8U,UAEf0qB,UArDO,SAqDG1kC,GAAG,WACX,GAAKkF,KAAKoL,WAAYpL,KAAK6gD,OAA3B,CACA7gD,KAAKqK,MAAK,GACV,IAAIhI,EAAIrC,KAAK2C,MAAMu+C,MACfjhD,EAAI,aAAE+/B,OAAOllC,GACbmD,EAAI+B,KAAK6F,MACTzG,EAAIY,KAAKyH,MACTF,EAAI,aAAEzB,OAAOzD,EAAEkN,MAAM+V,MACrBjS,EAAIrT,KAAKmhD,aACT50C,EAAIvM,KAAKohD,YACb,aAAElzB,QAAO,SAACpzB,GACR,IAAIoD,EAAI,aAAE8hC,OAAOllC,GACbD,EAAI,aAAEqd,SAAS3Q,EAAIrJ,EAAI+B,EAAG,EAAGsM,EAAI8G,GACrChR,EAAEkN,MAAM+V,KAAOzqB,EAAI,KACnB,EAAK8H,MAAM2+C,MAAM/xC,MAAMkG,MAAS5a,EAAIwY,EAAK,KACzC,EAAKpT,EAAEiJ,WAAatD,KAAK8a,MAAM9a,KAAK8a,OAAOziB,EAAImB,GAAKvE,GAAK0R,EAAI8G,KAC7D,EAAKxQ,KAAKmW,UAAUC,IAAI,aACvB,SAACne,EAAGwzB,GACDA,GAAOjsB,EAAE8X,cAAc,IAAIC,MAAM,WACpCtf,KAELymD,WA1EO,SA0EIzmD,GAAG,WACZ,IAAIkF,KAAK8U,SAAY9U,KAAKC,EAAE4nC,MAAO7nC,KAAK8gD,YAAa9gD,KAAK6gD,OAA1D,CACA7gD,KAAKqK,MAAK,GACV,aAAE2zC,aACF,IAAIvoC,EAAQ7P,KAAKC,IAAI,aAAEC,OAAO9F,KAAKC,EAAEyV,WAAY,aAAE5S,IAAI9C,KAAK6C,GAAG,SAAS4S,OACpEzS,EAAS4C,KAAK4B,KAAKiO,GAASzV,KAAKC,EAAE4nC,IAAI7kC,OAAShD,KAAKC,EAAE4nC,IAAIpyB,QAC/DzV,KAAK8U,QAAU9U,KAAK4U,IAAI,CACtB5Y,KAAM,SACNkF,aAAa,EACbgiB,SAAUs+B,EAAA,WACV/rC,QACAzS,SACAd,UAAU,EACVu/C,WAAW,EACX/8C,QAAS1E,KACTgH,KAAM,CACJ3K,OAAQ,kBAAM,EAAKwG,GAAG,SACtBqE,SAAU,KAEZE,QAAS,kBAAM,EAAK0N,QAAU,UAGlC7N,KAhGO,SAgGFnM,GACHkF,KAAKwF,QAAQ1K,EAAGkF,KAAKC,EAAEiJ,aAEzBrD,IAnGO,WAoGL,IAAIF,EAAI3F,KAAKC,EAAE20B,SACf,OAAY,MAALjvB,EAAY,IAAMA,GAE3B8B,IAvGO,WAwGL,IAAI9B,EAAI3F,KAAKC,EAAE40B,SACf,OAAY,MAALlvB,EAAY,EAAIA,GAEzBw7C,WA3GO,WA4GL,OAAO,aAAEr+C,IAAI9C,KAAK2C,MAAMu+C,OAAOzrC,OAEjC2rC,UA9GO,WA+GL,OAAO,aAAEt+C,IAAI9C,KAAK2C,MAAM++C,MAAMjsC,OAEhCnH,WAjHO,WAkHL,MAAO,CACLtO,KAAKgP,oBADA,CAEL,CACE,eAAE,MAAO,CACPjL,IAAK,QACL1D,MAAO,mBAET,eAAE,MAAO,CACP0D,IAAK,OACL1D,MAAO,wCACNL,KAAKU,SAIdsF,YAhIO,WAiIL,OAAO,eAAE,SAAU,CACjBjC,IAAK,QACL1D,MAAO,CAAC,iCAAkCL,KAAK8gD,UAAY,YACzD,wBAEF36C,SAAUnG,KAAKC,EAAEkG,SACjBmiB,YAAatoB,KAAKw/B,UAClBmiB,OAAQ3hD,KAAKiH,SAInBpH,SAAU,CACR8L,WADQ,WACK,WACX,wCACK3L,KAAK0P,eADV,IAEEkG,gBAAiB,SAACjQ,GAChB,IAAK,EAAKm7C,UACR,OAAO,EAAK/0C,QAAQ,CAAC/P,KAAM,wBAKnCkI,WAXQ,WAYN,MAAO,CACL,YAAalE,KAAK8gD,YAGtBrxC,UAhBQ,WAiBN,MAAO,CACLqJ,aAAc9Y,KAAKuhD,e,UCnLd,gB,mECDE,GACb1jD,KAAM,eACNkE,OAAQ,CAAC+pC,EAAA,aCHE,gB,mECCE,GACbjuC,KAAM,aACNkE,OAAQ,CAAC0Y,EAAA,YACT5a,SAAU,CACRC,IADQ,WAEN,MAAO,OCNA,gB,kCCHf,W,yDCAA,gTAEM8hD,EAAkB,CAAC,WAAY,aAAc,cAAe,aAC5DC,EAAkB,CAAC,QAAS,UAAW,SAAU,UAEjDC,EAAO,SAAStnD,GACrB,IAAI6D,EAAI9C,SAASQ,cAAc,OAC3BvB,IAAG6D,EAAEoT,UAAYjX,GACrB,IAAK,OAAO6D,EAAG,MAAMvD,GAAI,OAAO,EAAhC,QACSuD,EAAI,OAER0jD,EAAO,SAASvnD,GACrB,IAAI2D,EAAiB,kBAAN3D,EAAiBsnD,EAAKtnD,GAAKA,EACrC+M,EAAIhM,SAASymD,yBAClB,MAAO7jD,EAAEoV,WACRhM,EAAE1K,YAAYsB,EAAEoV,YACjB,IAAK,OAAOhM,EAAG,MAAMzM,GAAI,OAAO,EAAhC,QACSqD,EAAIoJ,EAAI,OAGZ1E,EAAK,SAASxE,GAClB,GAAIA,EACF,OAAOA,EAAEsP,SAAWtP,EAAEwE,KAAOxE,GAI3B0K,EAAO,SAAPA,EAAgB1K,EAAG7D,EAAGiE,GAC3B,GAAS,MAALA,EAAW,CACd,GAAS,MAALjE,EAAW,OAAO6D,EAAEoT,UACxB,IAAKpT,EAAEoT,UAAYjX,EAAG,MAAMgwB,GAC3B,MAAOnsB,EAAEkV,WACRlV,EAAE1B,YAAY0B,EAAEkV,YACjBxK,EAAK1K,EAAG7D,EAAG,QAEN,CAEN,GAAiB,kBAANA,EACV,IACgB,IAAf6D,EAAEmV,SAAiBsoC,IAAOz9C,GAAGwjD,EAAgBpjD,IAAIjE,GAAK6D,EAAE4jD,mBAAmBL,EAAgBnjD,GAAIjE,GAC9F,MAAOgwB,GACRzhB,EAAK1K,EAAG0jD,EAAKvnD,GAAIiE,OAEZ,CACN,IAAI7D,EAAI6D,EAAI,EAAIJ,EAAIA,EAAE3B,WACtB9B,GAAKA,EAAEsnD,aAAa1nD,EAAS,IAANiE,EAAUJ,EAAE8T,YAAoB,IAAN1T,EAAUJ,EAAEkV,WAAmB,IAAN9U,EAAUJ,EAAI,SAIrFiU,EAAU,SAASjU,EAAG7D,GAAmB,OAAfuO,EAAK1K,EAAG7D,EAAG,GAAW6D,EAAE8jD,kBAAoB9jD,EAAE+jD,WACxErG,EAAU,SAAS19C,EAAG7D,GAAmB,OAAfuO,EAAK1K,EAAG7D,EAAG,GAAW6D,EAAEgkD,mBAAqBhkD,EAAEkV,YACzEyoC,EAAU,SAAS39C,EAAG7D,GAAmB,OAAfuO,EAAK1K,EAAG7D,EAAG,GAAW6D,EAAEihC,wBAA0BjhC,EAAEuV,iBAC9ExB,EAAU,SAAS/T,EAAG7D,GAAmB,OAAfuO,EAAK1K,EAAG7D,EAAG,GAAW6D,EAAEkwB,oBAAsBlwB,EAAE8T,aAC1E4B,EAAc,SAAS1V,EAAG7D,GAC/B,IAAI6H,EAAIhE,EAAE8T,YACV,GAAI9P,EAEH,OADAhE,EAAE3B,WAAWC,YAAY0B,GAClB29C,EAAO35C,EAAG7H,GAEjB,IAAII,EAAIyD,EAAE3B,WAEV,OADA9B,EAAE+B,YAAY0B,GACPiU,EAAO1X,EAAGJ,K,mECxDF,GACbqD,KAAM,gBACNsqB,cAAe,WACfjS,OAAQ,CAAC,oBACTnU,OAAQ,CAACoH,EAAA,YACTvJ,MAAO,CAAC,QACRhH,KANa,WAOX,MAAO,CACL+nB,QAAQ,IAGZlf,QAAS,CACPQ,UADO,WAEL,MAAO,CACLolC,MAAM,IAGV1jC,WANO,WAOL,OAAI3D,KAAK2gB,SAAW3gB,KAAKqnC,KAChBrnC,KAAKoO,OAEVpO,KAAK2Z,WACP3Z,KAAK2gB,QAAS,EACP3gB,KAAKoO,aAFd,IAMJvO,SAAU,CACRqE,WADQ,WAEN,MAAO,CAAC,OAAQlE,KAAK2Z,YAEvBA,UAJQ,WAKN,OAAO3Z,KAAK+M,UAAU3H,UAAUpF,SCjCzB,gB,gFCAE,GACb+B,OAAQ,CAAC2gB,EAAA,YACTxM,OAAQ,CAAC,gBCFE,gB,qGCIE,GACbrY,KAAM,aACNkE,OAAQ,CAACoH,EAAA,YACTvJ,MAAO,CAAC,UAAW,QAAS,QAC5B6B,QAAS,CACPkC,WADO,WAEL,IAAI4I,EAAI,aAAEzG,OAAO9F,KAAKC,EAAEq9B,SACxB,MAAO,CACLt9B,KAAKC,EAAES,MAAQ,eAAE,OAAQ,CACvBL,MAAO,mBACNL,KAAKC,EAAES,MACV,eAAE,MAAO,CACPL,MAAO,iBACPkP,MAAO,CACLkG,MAAO,GAAF,OAAKlJ,EAAL,OAEN,eAAE,MAAO,CACVlM,MAAO,sCACPkP,MAAO,CACLkG,MAAO,GAAF,OAAQ,GAAHlJ,EAAKA,EAAG,IAAQA,EAArB,OAENvM,KAAKC,EAAES,MAAQ,eAAE,OAAQ,CAC1BL,MAAO,mBACNL,KAAKC,EAAES,WAIhBb,SAAU,CACRqE,WADQ,WAEN,GAAIlE,KAAKC,EAAE0b,MAET,IADA,IAAItZ,EAAIrC,KAAKC,EAAE0b,MAAM1H,MAAM,KAClB/a,EAAImJ,EAAEjJ,OAAS,EAAGF,GAAK,EAAGA,IACjC,GAAI,aAAE4M,OAAO9F,KAAKC,EAAEq9B,UAAY,aAAEx3B,OAAOzD,EAAEnJ,IAAK,MAAO,KAAOmJ,EAAEnJ,M,UClC7D,gB,+ECEE,GACb2E,KAAM,WACNsqB,cAAe,kBACfpmB,OAAQ,CAAC8G,EAAA,YACTjJ,MAAO,CAAC,cAAe,gBAAiB,eAAgB,kBACxDsW,OAAQ,CAAC,oBACTzU,QAAS,CACPoC,QADO,SACC/I,GACN,IAAIoD,GAAK8B,KAAKmpB,UACVxjB,EAAIzH,EAAI8B,KAAKC,EAAEqiD,aAAetiD,KAAKC,EAAEsiD,eACzCviD,KAAK+J,IAAIpE,IAEXmH,SANO,WAOL,OAAO9M,KAAKmpB,UAAYnpB,KAAKC,EAAEuiD,YAAcxiD,KAAKC,EAAEwiD,eAEtDn0C,WATO,WAUL,MAAO,CACLtO,KAAKgP,oBACL,eAAE,MAAO,CACP3O,MAAO,eACPwD,QAAS7D,KAAKoL,UAAYpL,KAAK6D,SAC9B,CACD,eAAE,IAAK,CACLxD,MAAO,kBAET,eAAE,OAAQ,CACRA,MAAO,iBACNL,KAAKmpB,UAAYnpB,KAAKC,EAAEuiD,YAAcxiD,KAAKC,EAAEwiD,oBAKxD5iD,SAAU,CACR4K,YADQ,WAEN,OAAOzK,KAAKmpB,UAAYnpB,KAAKC,EAAEqiD,aAAetiD,KAAKC,EAAEsiD,gBAEvDr+C,WAJQ,WAKN,OAAOlE,KAAKmpB,UAAY,YAAc,eAExCA,UAPQ,WAQN,OAAOnpB,KAAKC,EAAEiJ,YAAclJ,KAAKC,EAAEqiD,gB,UC1C5B,gB,kCCLf,W,uKCQiB,GACbzkD,KAAM,QACNsqB,cAAe,UACfpmB,OAAQ,CAACoH,EAAA,YACT+M,OAAQ,CAAC,oBACTtW,MAAO,CAAC,MAAO,OAAQ,SAAU,WAAY,YAAa,UAAW,WAAY,YACjFhH,KANa,WAOX,MAAO,CACL22C,OAAO,IAGX9tC,QAAS,CACPQ,UADO,WAEL,MAAO,CACL9B,UAAU,IAGdjE,QANO,SAMCpB,GACFkF,KAAK0iD,UAAS5nD,EAAEuB,OAAOC,IAAM0D,KAAK0iD,UAExC/+C,WATO,WASM,WACPrH,EAAM0D,KAAKC,EAAE3D,IACb6c,EAAO7c,GAAOA,EAAI8c,WAAW,OAAS9c,EAAI2T,SAAS,KACnD0yC,EAAMrmD,GAAOA,EAAI8c,WAAW,KAC5BikB,EAAOr9B,KAAKoO,OAAOnK,UAAYjE,KAAKC,EAAES,KAAO,CAC/CuD,QAAS,kBAAM,EAAKhE,EAAES,OACpB,MAEJ,OADApE,EAAMA,GAAO0D,KAAK0iD,QACX,CACLpmD,GAAO,eAAE,MAAO,CACd+D,MAAO,aACN,CAAC8Y,EAAO,eAAE,IAAK,CACd9Y,MAAO,cAAgB/D,EAAI4W,QAAQ,MAAO,MAE5CyvC,EAAM,eAAE,MAAO,CACbtiD,MAAO,SAAW/D,EAAIqD,MAAM,IAC3B,eAAE,MAAO,CACV,aAAcrD,KAEhB,eAAE,MAAO,CACPyH,IAAK,MACLzH,IAAKA,EACL+D,MAAO,aACPnE,QAAS8D,KAAK9D,UAEhB8D,KAAKoO,OAAO+N,OAAS,eAAE,MAAO,CAC5B9b,MAAO,0BACNL,KAAKoO,OAAO+N,WAEjBkhB,GAAQ,eAAEv5B,EAAA,WAAU,CAClBzD,MAAO,qBACNg9B,MAITx9B,SAAU,CACR8Z,UADQ,WAEN,OAAO3Z,KAAK+M,WAAa/M,KAAK+M,UAAU3H,UAAUpF,OAEpDuQ,WAJQ,WAIK,WACPhE,EAAI,aAAE+C,SAAStP,KAAKC,EAAE2iD,SAAW5iD,KAAKC,EAAE2iD,SAAW5iD,KAAKC,EAAEwV,OAC1D0P,EAAI,aAAE7V,SAAStP,KAAKC,EAAE4iD,UAAY7iD,KAAKC,EAAE4iD,UAAY7iD,KAAKC,EAAE+C,QAChE,MAAO,CACL3C,MAAO,gBACL,OAAQL,KAAKuvC,MACX,OAAQvvC,KAAK2Z,UACb,OAAQ3Z,KAAKC,EAAEkG,SACf,WAAYnG,KAAKC,EAAE6iD,OACnB,YAAa9iD,KAAKC,EAAE8nC,QACpB,aAAc/nC,KAAKC,EAAEE,UANpB,YAOKH,KAAKC,EAAEE,SAAS,IAAI,IAPzB,QAOqC,aAAEU,GAAGC,OAAOC,KAEtDwO,MAAO,CACL,qBAAsBhD,EACtB,sBAAuB4Y,GAEzBrM,aAAc,SAAAhe,GAAA,OAAM,EAAKmF,EAAEkG,WAAa,EAAKopC,OAAQ,IACrD31B,aAAc,SAAA9e,GAAA,OAAM,EAAKmF,EAAEkG,WAAa,EAAKopC,OAAQ,Q,UChFhD,gB,6FCIE,GACb1xC,KAAM,SACNkE,OAAQ,CAAC8hB,EAAA,YACTjkB,MAAO,CAAC,UAAW,OAAQ,MAAO,iBAAkB,QACpD6B,QAAS,CACPQ,UADO,WAEL,MAAO,CACL8gD,QAAS,GACThiD,IAAK,IAGT4C,WAPO,WAQL,OAAO3D,KAAKC,EAAEgkB,SAAWjkB,KAAKC,EAAE0V,QAAU3V,KAAK2a,oBAAsB,eAAE,MAAO,CAC5Eta,MAAO,cACPkP,MAAOvP,KAAK23B,wBACX33B,KAAKoO,UAGZvO,SAAU,CACR0Q,WADQ,WAEN,MAAO,CACLlQ,MAAO,CAACL,KAAKC,EAAEojC,KAAO,SAAW,SAAUrjC,KAAKC,EAAEe,MAAQ,UAAYhB,KAAKC,EAAEe,KAAMhB,KAAK8X,qBAG5F6f,uBANQ,WAON,IAAIqrB,EAAOhjD,KAAKC,EAAE8iD,QACd,aAAE9qC,SAAS+qC,KAAOA,EAAG,iBAAcA,EAAd,WACzB,IAAI3f,EAAOrjC,KAAKC,EAAEojC,KACd,aAAEprB,SAASorB,KAAOA,EAAG,iBAAcA,EAAd,WACzB,IAAI4f,EAAKjjD,KAAKC,EAAEijD,eAChB,MAAO,CACL,wBAAyBF,EACzB,qBAAsB3f,EACtB,WAAYrjC,KAAKC,EAAEc,IAAM,aAAEuO,SAAStP,KAAKC,EAAEc,KAAO,GAClD,oBAA4B,GAAPkiD,GAAkB,MAANA,EAAa,GAAzB,eAAsCA,O,UCtCtD,gB,yICME,G,UAAA,CACbplD,KAAM,gBACNkE,OAAQ,CAACqqC,EAAA,YACTxsC,MAAO,CAAC,iBAAkB,kBAAmB,gBAC7Cmb,QAJa,WAKX,MAAO,CACLutB,cAAetoC,OAGnByB,QAAS,CACPQ,UADO,WAEL,MAAO,CACLoc,UAAW,QAEXmE,eAAgB,GAChBC,gBAAiB,KAGrBf,UATO,WAUL,OAAO1hB,KAAKie,KAAKza,KAAI,SAAA2M,GACnB,OAAO,eAAEgzC,EAAA,WAAiB,CAAChzC,aAG/B6R,kBAdO,WAca,WAClB,OAAO,eAAEpd,EAAA,WAAW,CAClBb,IAAK,YACL1D,MAAO,mBACPU,IAAK,IACJ,CACDkD,QAAS,iBAAM,CAAC,EAAKmK,OAAO6T,OAAS,EAAK7T,OAAO6T,SAAW,eAAEtd,EAAA,WAAQ,CACpEZ,IAAK,eACLxD,MAAO,aAAEgG,IAAI8F,KAAKkmB,aAClB3wB,KAAM,iBACNvB,MAAO,uBACPkP,MAAO,CACLkG,MAAO,aAAEnG,SAAS,EAAKrP,EAAEuiB,gBACzBxf,OAAQ,aAAEsM,SAAS,EAAKrP,EAAEwiB,kBAE5B5e,QAAS,EAAK4d,kBAIpBnT,WAjCO,WAkCL,OAAOtO,KAAK6hB,kBAAkBxa,OAAO,eAAE,MAAO,CAC5ChH,MAAO,CAAC,4BAA6B,CAAC,UAAW,aAAEQ,GAAGC,OAAOC,OAC5D,CAACf,KAAK0hB,YAAa1hB,KAAKoiB,WAAapiB,KAAKgiB,yBAGjDniB,SAAU,CACRyiB,WADQ,WAEN,MAAO,CACL,uBAAwB,aAAEhT,SAAStP,KAAKC,EAAEwiB,sB,UCzDrC,gB,6FCCE,GACb5kB,KAAM,YACNkE,OAAQ,CAACC,EAAA,YACTpC,MAAO,CAAC,OAAQ,QAChB6B,QAAS,CACPQ,UADO,WAEL,MAAO,IAIT0B,WANO,WAOL,OAAO,eAAE2V,EAAA,WAAK,CACZhd,SAAqBwB,IAAhBkC,KAAKC,EAAE2B,KAAqB5B,KAAKC,EAAE2B,KAAO,iBAC/ClB,UAAsB5C,IAAhBkC,KAAKC,EAAES,KAAqBV,KAAKC,EAAES,KAAO,aAAE6F,IAAIyZ,YAI5DngB,SAAU,CACRqE,WADQ,WAEN,MAAO,c,UCpBA,gB,iFCAE,GACbrG,KAAM,kBACNkE,OAAQ,CAAC8G,EAAA,YACTjJ,MAAO,CAAC,aAAc,WAAY,WAAY,MAAO,UAAW,WAChEmb,QAJa,WAKX,MAAO,CACL4H,iBAAkB3iB,OAGtByB,QAAS,CACPwN,UADO,WAEL,OAAOjP,KAAKC,EAAEE,SAAW,eAAE,MAAO,CAACE,MAAO,mBAAoBL,KAAKoO,QAAUpO,KAAKoO,SAGtFvO,SAAU,CACRyiB,WADQ,WAEN,OAAOtiB,KAAKC,EAAEc,KAAO,CACnB,mBAAoB,aAAEuO,SAAStP,KAAKC,EAAEc,SCnBjC,gB,qKCIE,GACblD,KAAM,YACNkE,OAAQ,CAACg4B,EAAA,YACT7jB,OAAQ,CAAC,sBACTtW,MAAO,CAAC,UAAW,SAAU,aAAc,OAAQ,UAAW,UAAW,WAAY,YACrF6E,QALa,WAMXzE,KAAKC,EAAEi6B,QAAUl6B,KAAKojD,YAExB3hD,QAAS,CACPQ,UADO,WAEL,MAAO,CACLs/B,KAAM,EACNpH,SAAS,EACTx5B,YAAY,EACZ8P,WAAazQ,KAAK6iB,oBAAsB7iB,KAAK6iB,mBAAmB5iB,EAAEwQ,YAAe,MAGrF2yC,SATO,WASI,WACLz9C,EAAI,GAAK3F,KAAKC,EAAEiJ,WAChB1O,EAAIwF,KAAKC,EAAEi6B,OAAOjoB,WAAa,IAC/BxT,EAAI6Y,OAAO9c,EAAE0Y,QAAQ,sBAAuB,QAAS,KACrDrU,EAAI,aAAE0Z,UAAU5S,EAAG3F,KAAKC,EAAEi6B,OAAO9gC,OAAQoB,EAAGwF,KAAKC,EAAEi6B,OAAOmpB,WAC9D,GAAI19C,IAAM9G,EAAG,CACX,IAAIO,EAAIY,KAAK2C,MAAMgD,EAAEsU,eACjB3X,EAAIqD,EAAEhG,MAAM,EAAGP,GAAG8T,QAAQzU,EAAG,IAEjC,GADAuB,KAAK+J,IAAIlL,GACLtD,SAAS+nD,gBAAkBtjD,KAAK2C,MAAMgD,EAAG,CAC3C,IAAItD,EAAIxD,EAAEc,MAAM,EAAGP,GAAG8T,QAAQzU,EAAG,IACjCuB,KAAKga,WAAU,kBAAM,aAAEtH,UAAU,EAAK/P,MAAMgD,EAAGvG,GAAKkD,EAAElJ,OAASiJ,EAAEjJ,eAIvEmqD,OAxBO,SAwBAlhD,GACL,GAAKrC,KAAKoL,SAAV,CACA,IAAInN,EAAI+B,KAAK0K,iBAAiB,YAC1BtL,EAAIY,KAAK0K,iBAAiB,YAC1BqH,EAAI/R,KAAK+J,MACTpE,EAAI,aAAEwS,OAAO,aAAErS,OAAOiM,GAAI1P,EAAIrC,KAAKC,EAAEshC,MACrC3mC,EAAIoF,KAAK6iB,oBAAsB7iB,KAAK6iB,mBAAmBmY,QACvDv8B,EAAIkH,EAGR,GAFK,MAAL1H,IAAcQ,EAAImH,KAAK6B,IAAIxJ,EAAGQ,IACzB,MAALW,IAAcX,EAAImH,KAAKC,IAAIzG,EAAGX,IAC1B7D,EACF,GAAIA,EAAE,IAAMoF,KAAM,CAChB,IAAIwjD,EAAW5oD,EAAE,GAAGmP,MACJ,MAAZy5C,IAAkB/kD,EAAImH,KAAK6B,IAAI+7C,EAAU/kD,SACxC,GAAI7D,EAAE,IAAMoF,KAAM,CACvB,IAAIyjD,EAAa7oD,EAAE,GAAGmP,MACJ,MAAd05C,IAAoBhlD,EAAImH,KAAKC,IAAI49C,EAAYhlD,IAGrDuB,KAAKqK,MAAK,GACVrK,KAAK6M,QACL7M,KAAK+J,IAAItL,GACLA,GAAKkH,GACH3F,KAAK0jD,UACP,aAAEljD,MAAMR,KAAK0jD,SACb1jD,KAAK0jD,QAAU,MAGnB1jD,KAAKC,EAAEi6B,QAAUl6B,KAAKojD,aAExB94C,YAtDO,SAsDK3E,GACV,OAAQ3F,KAAK+K,cAAc,KAAMpF,IAEnCwH,cAzDO,SAyDOtK,GACZ,OAAO7C,KAAK2C,MAAMghD,MAAQ3jD,KAAK2C,MAAMghD,KAAKphD,SAASM,IAErDo4B,gBA5DO,SA4DSt1B,EAAGlH,GACjB,GAAIkH,GAAKlH,GAAKA,EAAEpC,QAAU2D,KAAK0Z,UAAW,CACxC,IAAIzb,EAAIQ,EAAEK,MAAQ,KACdD,EAAIJ,EAAEpC,OAAOsR,SAAWlP,EAAEpC,OAAS2D,KAAK0Z,UAAUnS,EAAE9I,EAAEpC,QACtD6+B,EAAKr8B,EAAE2L,UACX,GAAI7E,GAAKu1B,GAAM,aAAEjjB,SAAStS,IAAM,aAAEsS,SAASijB,GAAK,CAC9C,IAAI/8B,EAAI,aAAE2H,OAAOH,GACbw1B,EAAK,aAAEr1B,OAAOo1B,GAClB,IAAI,aAAErrB,KAAK,IAAM5R,EAAI,KAAM,CAACE,IAAGg9B,OAC7B,MAAO,CAACn7B,KAAKmM,eAAgBlO,EAAGY,EAAEsN,mBAI1Ca,QAzEO,SAyEClS,GACNkF,KAAK+J,IAAIjP,EAAEuB,OAAOuC,OAClBoB,KAAKC,EAAEi6B,QAAUl6B,KAAKojD,YAExB/6C,QA7EO,SA6ECvN,GACNkF,KAAKiN,UAAUnS,IAEjBwN,OAhFO,SAgFAxN,GACL,IAAI6K,EAAI3F,KAAKC,EAAEiJ,WACf,GAAIvD,IAAM3F,KAAKsK,YAAY3E,IAAM3F,KAAKC,EAAEk6B,QAAS,CAC/C,IAAIsU,EAAK,aAAEh2B,WAAW9S,EAAG3F,KAAKC,EAAE2jD,SAChCnV,EAAK,aAAEv2B,SAASu2B,EAAIzuC,KAAKC,EAAE40B,SAAU70B,KAAKC,EAAE20B,UAC5C50B,KAAK+J,IAAI0kC,GAEXzuC,KAAKkN,SAASpS,IAEhBkL,YAzFO,WAyFO,WACZ,OAAOhG,KAAKC,EAAEU,YAAc,eAAE,MAAO,CACnCN,MAAO,gDACP0D,IAAK,QACJ,CACD,eAAE,SAAU,CACV1D,MAAO,2BACP8F,SAAUnG,KAAKC,EAAEkG,SACjBtC,QAAS,SAAA/I,GAAA,OAAK,EAAKyoD,OAAO,IAC1B9xC,UAAW,kDAEb,eAAE,SAAU,CACVpR,MAAO,2BACP8F,SAAUnG,KAAKC,EAAEkG,SACjBtC,QAAS,SAAA/I,GAAA,OAAK,EAAKyoD,QAAQ,IAC3B9xC,UAAW,wDAKnB5R,SAAU,CACR8L,WADQ,WACK,WACX,wCACK3L,KAAK0P,eADV,IAEEmlB,SAAU,SAAClvB,EAAGlH,EAAGmN,GACf,GAAIjG,GAAU,MAALlH,GAAmB,KAANA,IAAa,aAAEwZ,SAASxZ,GAAM,aAAEqH,OAAOH,GAAK,aAAEG,OAAOrH,GAAOkH,EAAIlH,GACpF,OAAO,EAAKsN,QAAQH,EAAG,CAACnN,KAE5Bm2B,SAAU,SAACjvB,EAAGlH,EAAGmN,GACf,GAAIjG,GAAU,MAALlH,GAAmB,KAANA,IAAa,aAAEwZ,SAASxZ,GAAM,aAAEqH,OAAOH,GAAK,aAAEG,OAAOrH,GAAOkH,EAAIlH,GACpF,OAAO,EAAKsN,QAAQH,EAAG,CAACnN,KAE5Bk3B,QAAS,SAAChwB,EAAGlH,EAAGmN,GACd,IAAI9Q,EAAI,EAAKmgC,gBAAgBt1B,EAAGlH,GAChC,GAAI3D,EAAG,OAAO,EAAKiR,QAAQH,EAAG9Q,IAEhC8a,gBAAiB,SAACjQ,GAEhB,GADA,EAAK1F,EAAEi6B,SAAWv0B,EAAIA,EAAEuN,QAAQoE,OAAO,EAAKrX,EAAEi6B,OAAOjoB,WAAa,IAAK,KAAM,KACpE,MAALtM,EAAW,CACb,IAAK,aAAEsS,SAAStS,GACd,OAAO,EAAKoG,QAAQ,CAAC/P,KAAM,mBAC7B,IAAImC,EAAI,EAAK8B,EAAE2jD,QAEf,GADAj+C,EAAI,GAAKA,GACJxH,GAAKwH,EAAEsK,SAAS,KACnB,OAAO,EAAKlE,QAAQ,CAAC/P,KAAM,mBAC7B,GAAImC,GAAKA,EAAI,GAAK,aAAEqY,QAAQ7Q,EAAG,KAAKvM,OAAS+E,EAC3C,OAAO,EAAK4N,QAAQ,CAAC/P,KAAM,wBAAyB,CAACmC,IACvD,IAAIrD,EAAI,EAAK+nB,oBAAsB,EAAKA,mBAAmB8Y,gBAC3D,GAAI7gC,EAAG,OAAO,EAAKiR,QAAQ,CAAC/P,KAAM,WAAYlB,QAKtDiU,WAjCQ,WAkCN,MAAO,CACL,cAAe,SACf/B,QAAShN,KAAKgN,QACd3E,QAASrI,KAAKqI,QACdC,OAAQtI,KAAKsI,W,UC7JR,gB,uFCEE,GACbzK,KAAM,cACNkE,OAAQ,CAACgqC,EAAA,YACTnsC,MAAO,CAAC,OACR8Q,QAJa,WAIH,WACR1Q,KAAK2Q,QAAO,kBAAM,EAAK1Q,EAAEiJ,cAAY,SAACvD,EAAGsE,IAC7B,MAALtE,GAAkB,IAALA,GAAmB,MAANsE,GAAoB,IAANA,KAC7C,EAAK2Y,kBAAoB,EAAKA,iBAAiBktB,SAC1C,EAAK7vC,EAAEjC,KAAK,EAAK6rB,cAG1BpoB,QAAS,CACP2nB,OADO,WAEL,IAAI5uB,EAAIwF,KAAK+vC,aACb,OAAY,GAALv1C,GAAWwF,KAAKC,EAAEkqB,eAAsB,GAAL3vB,EAAUwF,KAAKpB,MAAQ,IAEnE4L,QALO,WAML,GAAIxK,KAAK2O,WAAY,MAAO,GAC5B,IAAInU,EAAIwF,KAAK+vC,aACb,OAAY,GAALv1C,GAAWwF,KAAKC,EAAEkqB,eAAsB,GAAL3vB,EAAUwF,KAAK2C,MAAMgD,EAAE/G,MAAQ,IAE3EmjB,SAVO,SAUEjnB,GACPkF,KAAK8pB,aAAahvB,GAClBkF,KAAK6pB,UAEPkmB,WAdO,SAcI1tC,GACT,IAAIC,EAAItC,KAAK6b,cAAgB,EAAI7b,KAAKmpB,UAAY,EAAI,EACtD,GAAS,MAAL9mB,EACF,OAAOC,EAETtC,KAAK+J,IAAS,GAAL1H,GACTrC,KAAK6b,cAAqB,GAALxZ,GAEvBwhD,UAtBO,WAuBL,OAA4B,GAArB7jD,KAAK+vC,cAEd+T,WAzBO,WA0BL,OAAO9jD,KAAK0Z,UAAU4B,KAAKtb,KAAKC,EAAEpC,OAEpCgsB,OA5BO,WA6BL,GAAI7pB,KAAKC,EAAEpC,KAAM,CACf,IAAK,IACDM,EADKjF,EAAI,EAAGoJ,EAAItC,KAAK8jD,aAAc5lD,EAAI8B,KAAK6jD,YAAahpD,EAAIyH,EAAElJ,OAAQgG,EAAIvE,EAAGkpD,EAAK,EAAGC,EAAK,EAAGC,EAAK,EAChG/qD,EAAI2B,EAAG3B,IACZ,GAAKoJ,EAAEpJ,GAAGkS,SAIV,GAAIpL,KAAKC,EAAEjC,IACT,GAAIgC,MAAQsC,EAAEpJ,GAAI,CAChB,GAAIgF,EAAG,CACL8B,KAAK+vC,WAAWztC,EAAEpJ,GAAG62C,cACrB,MAEAztC,EAAEpJ,GAAG62C,WAAW/vC,KAAKmpB,UAAY,EAAI,QAEzB,GAALtuB,IACTsD,EAAI6B,WACGsC,EAAEpJ,GAAG+G,EAAEjC,IAChBG,EAAImE,EAAEpJ,GAENoJ,EAAEpJ,GAAGiwB,UAAa66B,IAAQ1hD,EAAEpJ,GAAG2qD,YAAeI,IAASF,SAhBvD3kD,IAmBAjB,IAAO4lD,EAAKC,EAAKC,GAAY,GAALppD,IAC1BsD,EAAE4xC,WAAWgU,GAAM3kD,EAAI,EAAI,EAAI4kD,GAAM5kD,EAAI,EAAI,EAAI,KAIvDwqB,MAzDO,SAyDDvnB,GACJ,GAAKrC,KAAKoL,SAAV,CACA,IAAI5Q,EAAIwF,KAAK+vC,aACTv1C,GAAK6H,IACPrC,KAAK+vC,WAAW1tC,GAChBrC,KAAK6pB,aAIXhqB,SAAU,CACRypB,WADQ,WAEN,OAAOtpB,KAAKC,EAAEjC,IAAM,UAAYgC,KAAKC,EAAErB,QAG3C6F,QAlFa,cCJF,gB,uFCIE,GACb5G,KAAM,UACNsqB,cAAe,eACfpmB,OAAQ,CAACgqC,EAAA,YACTtqC,QAAS,GAGT5B,SAAU,CACR2O,WADQ,WAEN,MAAO,SAETub,WAJQ,WAKN,MAAO,OAETtb,WAPQ,WAQN,OAAOzO,KAAKkkD,QAAWlkD,KAAKkkD,OAAS,IAAMlkD,KAAK0Z,UAAUzQ,KAE5Di7C,OAVQ,WAWN,OAAOlkD,KAAKC,EAAEpC,MAASmC,KAAK+M,WAAa/M,KAAK+M,UAAU9M,EAAEpC,MAE5DkR,WAbQ,WAcN,MAAO,CAAC,SAAU/O,KAAKkkD,UAG3Bz/C,QAxBa,cCJF,gB,kCCHf,W,iFCIiB,GACb5G,KAAM,SACNkE,OAAQ,CAAC8G,EAAA,YACTjJ,MAAO,CAAC,YAAa,YAAa,WAClChH,KAJa,WAKX,MAAO,CACL4Q,WAAW,IAGf3J,SAAU,CACR8L,WADQ,WACK,WACX,wCACK3L,KAAK0P,eADV,IAEEilB,UAAW,SAAChvB,EAAGlH,EAAGmN,GAChB,GAAIjG,GAAU,MAALlH,GAAmB,KAANA,GAAYA,EAAI,GAAK,aAAEmY,OAAOjR,GAAKlH,EACvD,OAAO,EAAKsN,QAAQH,EAAG,CAACnN,KAE5B+1B,UAAW,SAAC7uB,EAAGlH,EAAGmN,GAChB,IAAIzN,EACJ,GAAIwH,GAAU,MAALlH,GAAmB,KAANA,GAAYA,EAAI,GAAKkH,IAAMxH,EAAI,aAAEyY,OAAOjR,IAAMlH,EAClE,OAAO,EAAKsN,QAAQH,EAAG,CAACzN,EAAIM,UCrB3B,gB,yDCAf,SAAS6xB,EAAWztB,EAAI1D,GACtBA,EAAKP,MAAQiE,EAAGvF,aAAa,gBAAiB,IAAMuF,EAAGyR,gBAAgB,iBAJzE,OAOe,cACb5D,QAAS4f,EACT6zB,QAAS7zB,I,kCCTX,W,4DCKejwB,MAAM,uB,GAKVA,MAAM,W,EAET,eAAuB,QAAjBA,MAAM,MAAG,KAAC,G,4KAXtB,eAmBW,GAnBDA,MAAM,mBAAmBoV,MAAM,qBAAqBzS,OAAO,qBAAsB9B,aAAa,EAAOib,OAAO,EAAOja,UAAU,G,yBACrI,iBAaW,CAbc,SAAT,EAAAtJ,KAAKoD,M,iBAArB,eAaW,gBAZT,eAMW,GAND+H,IAAI,SAAS1D,MAAM,WAAY0vB,QAAS,EAAAA,QAAUrtB,MAAO,EAAA9J,KAAKyqB,KAAKjqB,OAAM,EAAOgrD,iBAAgB,EAAAxrD,KAAKyqB,KAAKjqB,OAAM,EAAM8pC,SAAS,O,yBACxH,iBAAiC,E,mBAAhD,eAIgB,2BAJsB,EAAAtqC,KAAKyqB,MAAI,SAAxBlT,EAAK6c,G,wBAA5B,eAIgB,GAJkC9tB,IAAK8tB,GAAK,C,wBAC1D,iBAEM,CAFN,eAEM,MAFN,EAEM,CADJ,eAAgC,OAA3B3sB,MAAM,OAAQ/D,IAAK6T,G,2FAI9B,eAIM,MAJN,EAIM,CAHJ,eAAoD,KAAjD9P,MAAM,KAAI,QAAK,+BAAE,EAAAgkD,KAAG,M,eAAQ,EAAA99C,IAAIirB,aAAW,GAC9C,EACA,eAAoD,KAAjDnxB,MAAM,KAAI,QAAK,+BAAE,EAAAgkD,IAAG,M,eAAO,EAAA99C,IAAIkrB,cAAY,M,uBAIhD,eAAoD,G,MAA3CpxB,MAAM,WAAY/D,IAAK,EAAA1D,KAAK0D,K,iBAEvC,eAAyC,OAApC+D,MAAM,SAAU,QAAK,8BAAE,EAAAG,OAAA,EAAAA,MAAA,2B,sBAOf,GACbZ,MAAO,CAAC,QACRhH,KAFa,WAGX,MAAO,CACL0rD,OAAQ,EACRv0B,QAAS,aAAEhiB,OAAOvP,IAAIwB,KAAKpH,KAAM,kBAAmB,KAGxD6I,QAAS,CACPjB,MADO,WAEL,aAAEA,MAAMR,OAEVqkD,IAJO,SAIHhiD,GACF,IAAI5D,EAAIuB,KAAKskD,OACThiD,EAAI,aAAEQ,IAAI9C,KAAK2C,MAAM4hD,OAAO1hD,MAC5B0J,EAAIjK,EAAEmT,MAAQ,GACd0P,EAAI7iB,EAAEU,OAAS,GACfX,EAAI,EACN5D,GAAK,GACI4D,EAAI,IACb5D,GAAK,IAEP,IAAII,EAAKJ,EAAI,GAAM,EACnB,aAAEmN,EAAE,4BAA6B5L,KAAK2C,MAAM4hD,OAAO1hD,MAAMilB,IAAI,CAC3D+C,UAAW,UAAYpsB,EAAI,OAC3B+lD,SAAU3lD,EAAIsmB,EAAI5Y,EAClB3I,UAAW/E,EAAI0N,EAAI4Y,IAErBnlB,KAAKskD,OAAS7lD,IAGlBoB,SAAU,CACR0G,IADQ,WAEN,OAAO,aAAEA,MAGb9B,QApCa,cCvBjB,EAAO5C,OAASA,EAED,gB,kCCLf,W,2HCQiB,GACbhE,KAAM,YACNkE,OAAQ,CAAC8G,EAAA,YACTkS,QAHa,WAIX,MAAO,CACLhF,oBAAqB/V,OAGzBJ,MAAO,CAAC,WAAY,aAAc,aAClChH,KATa,WAUX,MAAO,CACL4Q,WAAW,EACX9I,KAAM,GACNoU,QAAS,KACT/P,UAAU,EACV+E,iBAAkB,uBAGtBrI,QAAS,CACPwU,MADO,WAEDjW,KAAKoO,OAAOnK,UACdjE,KAAK+E,UAAY/E,KAAK+E,SACtB/E,KAAKqK,MAAK,KAGd8L,YAPO,SAOK+kC,GACV,GAAIl7C,KAAKC,EAAE2R,SAAU,CACnB,IAAI6yC,EAAK,aAAEnzC,MAAMtR,KAAK+J,OAAO,GACzBmxC,EAAI3xC,QAAS,aAAEwE,OAAO23B,KAAK+e,EAAIvJ,EAAIt8C,OAClC6lD,EAAG/qD,KAAKwhD,EAAIt8C,OACjBoB,KAAK+J,IAAI06C,OACJ,CACL,IAAI,EAAKzkD,KAAKC,EAAEihC,YAAcga,EAAI3xC,QAAU,GAAK2xC,EAAIt8C,MACrDoB,KAAK+J,IAAI,GACT/J,KAAK+E,UAAW,IAGpB+H,SAnBO,WAoBL,OAAO9M,KAAK8vB,YAEdxhB,WAtBO,WAsBM,WACPzP,EAAImB,KAAK8vB,WACTl1B,EAAIoF,KAAK6O,kBACb,MAAO,CACL7O,KAAKgP,oBACL,eAAE,MAAO,CACP3O,MAAO,0BACPE,MAAO1B,GAAKjE,GACXiE,GAAMjE,GAAK,eAAE,MAAO,CAACyF,MAAO,uBAAwBzF,IACvDoF,KAAK+E,UAAY,eAAE/C,EAAA,WAAQ,CACzB0C,QAAS1E,KACTkB,aAAa,EACbb,MAAO,iBACPoV,MAAO7P,KAAKC,IAAI,aAAEC,OAAO9F,KAAKC,EAAEyV,WAAY,aAAE5S,IAAI9C,KAAK6C,GAAG,SAAS4S,OACnEE,SAAS,EACTmoB,WAAY,QACZ57B,UAAU,EACV8E,KAAM,CACJ3K,OAAQ,kBAAM,EAAKwG,GAAG,SACtBqE,SAAU,IACVC,OAAQ,GAEVC,QAAS,kBAAM,EAAKrC,UAAW,IAC9B/E,KAAKoO,UAGZpI,YAhDO,WAiDL,OAAO,eAAE,SAAU,CACjB3F,MAAO,iCACP8F,SAAUnG,KAAKC,EAAEkG,aAIvBtG,SAAU,CACRiwB,WADQ,WACK,WACPrxB,EAAI,GACJjE,EAAIwF,KAAKuD,iBACTtF,EAAI,aAAEqT,MAAMtR,KAAKC,EAAEiJ,YAMvB,OALA,aAAE6E,OAAOkH,KAAKhX,GAAG,SAAA0H,GACf,IAAIzM,EAAIsB,EAAE6f,WAAU,SAAAjb,GAAA,OAAKA,EAAEQ,MAAMhB,OAAS+G,KAE1C,GADIzM,GAAK,GAAGuF,EAAE/E,KAAKR,IACd,EAAK+G,EAAE2R,SAAU,OAAO,KAExBnT,EAAEonC,OAAOriC,KAAI,SAAAmC,GAAA,OAAKnL,EAAEmL,GAAG/F,MAAMc,QAAM8K,KAAK,OAEjDiE,UAZQ,WAaN,MAAO,CACL5L,QAAS7D,KAAKoL,UAAYpL,KAAKiW,UC5F1B,gB,+ICKE,GACbpY,KAAM,UACNkE,OAAQ,CAACoH,EAAA,YACTvJ,MAAO,CAAC,OAAQ,WAAY,YAC5Bmb,QAJa,WAKX,MAAO,CACLiJ,MAAOhkB,KACPusB,cAAe,EACfE,gBAAiB,OAGrB7zB,KAXa,WAYX,MAAO,CACL8rD,OAAQ,CAACp/B,KAAM,KAAMC,MAAO,QAGhC9gB,QAhBa,WAgBH,WACF+V,EAAU,SAAC1f,GAAD,OAAO,EAAK6pD,eAAe,QAAQt9C,OAAO,EAAKs9C,eAAe,WAC9E,aAAE52C,OAAOkH,KAAKuF,KAAW,SAAA7U,GAAA,OAAK,IAAI,OAAe6U,GAASA,QAAQ7U,MAClE3F,KAAKoqB,IAAI9sB,aAAa,aAAc,QAChC,aAAEuD,GAAGojC,QAAU,aAAEpjC,GAAGojC,QAAU,IAChC,IAAI,QAAe,WACjB,EAAK7Z,IAAI9sB,aAAa,0BAA2B,IACjDsnD,uBAAsB,kBAAM,EAAKx6B,IAAI9V,gBAAgB,iCACpDkG,QAAQxa,KAAKoqB,MAGpB3oB,QAAS,CACPkjD,eADO,SACQ7kD,GACb,IAAI4kD,EAAS,KACTx/C,EAAS,EACT2/C,EAAa,aAAE92C,OAAOvK,IAAIxD,KAAKoqB,IAAI/X,cAAT,SAAgC+I,iBAAhC,sBAAgEtb,EAAhE,QAO9B,MANY,UAARA,GAAiB+kD,EAAWC,UAChCD,EAAW30C,SAAQ,SAAAirB,IAChBupB,IAAWA,EAAS,KAAKhrD,KAAK,CAACqrD,SAAU5pB,EAAG6pB,UAAW9/C,WACxDA,GAAUi2B,EAAG5gB,eAEfva,KAAK0kD,OAAO5kD,GAAO4kD,EACZG,GAETlhD,WAbO,WAcL,MAAO,CACL3D,KAAKqkB,UAAUP,MAAO9jB,KAAKqkB,UAAU4gC,MAAOjlD,KAAKqkB,UAAU6gC,SAAW,MAI5ErlD,SAAU,CACRwkB,UADQ,WAEN,IAAMhiB,EAAI,GAUV,OATArC,KAAKuD,iBAAiB2M,SAAQ,SAAA7R,GAC5B,IAAIe,EAAIf,EAAErC,KAAK6B,MAAQQ,EAAErC,KAAK6B,KAAK8B,MAAM,GACrCP,IACQ,WAANA,GACDiD,EAAE6iD,UAAY7iD,EAAE6iD,QAAU,KAAKxrD,KAAK2E,GAErCgE,EAAEjD,GAAKf,MAGNgE,GAETqrB,SAdQ,WAeN,OAAO,aAAE0tB,cAAcp7C,KAAKqkB,UAAU0+B,QAAQr/C,UAAUF,KAAI,SAAAmC,GAAA,OAAKA,EAAE/F,UAErEsE,WAjBQ,WAkBN,MAAO,CAAC,gBAAiBlE,KAAKC,EAAEe,MAAQ,UAAYhB,KAAKC,EAAEe,OAE7DshB,WApBQ,WAqBN,IAAI7jB,EAAI,GAOR,OANIuB,KAAK0kD,OAAOp/B,MACdtlB,KAAK0kD,OAAOp/B,KAAKpV,SAAQ,SAAAvK,GAAA,OAAKlH,EAAE,qBAAD,OAAsBkH,EAAEo/C,WAAzB,UAA0Cp/C,EAAET,OAA5C,SAE5BlF,KAAK0kD,OAAOn/B,OACdvlB,KAAK0kD,OAAOn/B,MAAMrV,SAAQ,SAAAvK,GAAA,OAAKlH,EAAE,sBAAD,OAAuBkH,EAAEo/C,WAA1B,UAA2Cp/C,EAAET,OAA7C,SAE1BzG,K,UC7EA","file":"publish/lib/index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"dfish\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dfish\"] = factory();\n\telse\n\t\troot[\"dfish\"] = factory();\n})(window, function() {\nreturn "," \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"main\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"main\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0113803f\":\"d77b21dd\",\"chunk-02baca6a\":\"9815366c\",\"chunk-0afcc52e\":\"7484dcc9\",\"chunk-0c628b1c\":\"d700a8b7\",\"chunk-1da003f6\":\"81e550e0\",\"chunk-236bbb1d\":\"8dda3588\",\"chunk-77ff8882\":\"e83bfb47\",\"chunk-d5b78810\":\"8b5ae2d8\",\"chunk-577edd5f\":\"8cedc5b6\",\"chunk-2d0c8faa\":\"a54886b2\",\"chunk-2d0a3376\":\"6a65ba64\",\"chunk-2d0a448b\":\"1817e2f9\",\"chunk-2d0aad2b\":\"a5bab1c6\",\"chunk-2d0abff0\":\"722db78f\",\"chunk-2d0af116\":\"9f7b804d\",\"chunk-2d0b8aa2\":\"f569f187\",\"chunk-2d0ba936\":\"01595884\",\"chunk-2d0bac21\":\"4d196e97\",\"chunk-2d0bdd0a\":\"a5929573\",\"chunk-2d0bdf2c\":\"4b839de8\",\"chunk-2d0c0fe2\":\"9a0ee26a\",\"chunk-2d0c8d69\":\"a33870c1\",\"chunk-2d0ccf93\":\"05dc5835\",\"chunk-2d0d660f\":\"e479c58b\",\"chunk-2d0dd4a8\":\"7f91b165\",\"chunk-2d0df0d6\":\"33f24f0f\",\"chunk-2d0e53b4\":\"298c7f72\",\"chunk-2d210667\":\"84a39c13\",\"chunk-2d21d0ff\":\"fc02690b\",\"chunk-2d228891\":\"47688c48\",\"chunk-2d22d7b5\":\"845a0c3a\",\"chunk-2f7f0670\":\"1eded247\",\"chunk-3cecfdf8\":\"59aa5e6f\",\"chunk-3d7d76fb\":\"522adf0b\",\"chunk-446f13c2\":\"5cb29cfc\",\"chunk-5f709e3a\":\"2d5a5ba6\",\"chunk-bb34eb02\":\"4dd7dc48\",\"chunk-c7c01ff4\":\"75574bb3\",\"chunk-eda6ccec\":\"ede071a5\",\"chunk-2d230454\":\"b153727a\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0113803f\":1,\"chunk-02baca6a\":1,\"chunk-0c628b1c\":1,\"chunk-1da003f6\":1,\"chunk-236bbb1d\":1,\"chunk-77ff8882\":1,\"chunk-d5b78810\":1,\"chunk-577edd5f\":1,\"chunk-2f7f0670\":1,\"chunk-3cecfdf8\":1,\"chunk-446f13c2\":1,\"chunk-bb34eb02\":1,\"chunk-eda6ccec\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonpdfish\"] = window[\"webpackJsonpdfish\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"bb84\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['align', 'valign', 'gap'],\r\n computed: {\r\n dir() {\r\n return 'h'\r\n },\r\n html_align_class() {\r\n return [\r\n this.x.align && 'z-' + (this.x.vertical ? 'v' : this.dir) + '-align-' + this.x.align,\r\n this.x.valign && 'z-' + (this.x.vertical ? 'v' : this.dir) + '-valign-' + this.x.valign\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./AlignParent.vue?vue&type=script&lang=js\"\nexport * from \"./AlignParent.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Leaf.vue?vue&type=style&index=0&id=1baf3a86&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Video.vue?vue&type=style&index=0&id=7ee48295&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Jigsaw.vue?vue&type=style&index=0&id=5f202dd8&lang=css\"","<template>\r\n <w-alert>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\">\r\n <div class=\"w-alert-title\" v-if=\"title\">{{title}}</div>\r\n </div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"close\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\">\r\n <w-img class=\"w-alert-icon\" :src=\"typeIcon\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar v-if=\"showButton!==false\" :class=\"['w-alert-buttonbar', {'f-h-gap': dfish.br.compat.gap}]\">\r\n <w-button face=\"primary\" class=\"w-alert-button\" text=\"确定\" @click=\"save\" :ownproperty=\"true\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-alert>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n const icons = {\r\n info: '.f-i .f-i-alert-info',\r\n warning: '.f-i .f-i-alert-warning',\r\n success: '.f-i .f-i-alert-success',\r\n question: '.f-i .f-i-alert-question',\r\n error: '.f-i .f-i-alert-error'\r\n }\r\n\r\n export default {\r\n props: ['text', 'title', 'icon', 'showButton'],\r\n data() {\r\n return {\r\n defaultIconType: 'info'\r\n }\r\n },\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n close(e) {\r\n $.close(e)\r\n }\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n typeIcon() {\r\n return icons[this.icon] || this.icon || icons[this.defaultIconType]\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplateAlert.vue?vue&type=template&id=291bdc3e\"\nimport script from \"./TemplateAlert.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateAlert.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Option.vue?vue&type=style&index=0&id=9b750ac0&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Switch.vue?vue&type=style&index=0&id=a7ad2c26&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Dialog from './Dialog.vue'\r\n import MenuButton from './MenuButton.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n let inst = null\r\n\r\n export default {\r\n name: 'w-menu',\r\n mixins: [Dialog],\r\n methods: {\r\n x_default() {\r\n return {\r\n autoHide: true,\r\n independent: true,\r\n }\r\n },\r\n hasBubble(a, b) {\r\n if (this.contains(a, b)) return true\r\n let p = $(a)\r\n if (p && (p = p.parentMenu) && p.rootCommander == this.rootCommander) return true\r\n },\r\n arrow(a) {\r\n let b = this.$refs.bbr.el()\r\n let c = $.bcr(b)\r\n b.scrollTop += c.height * a\r\n },\r\n mousewheel(e) {\r\n this.arrow(e.wheelDelta < 0 ? 1 : -1)\r\n },\r\n getRoot() {\r\n let c = this\r\n while (c.getCommander().$options.name === 'w-menubutton') c = c.getCommander().parentMenu\r\n return c\r\n },\r\n html_buttons() {\r\n return this.slots_children().map(s => {\r\n let n = s.type.name\r\n return n === 'w-button' || n === 'w-submitbutton' ? h(MenuButton, s.props, s.children) : s\r\n })\r\n },\r\n html_slots() {\r\n return [\r\n this.maxHeight && h('div', {\r\n class: 'w-menu-arr f-oh',\r\n onclick: e => this.arrow(-1)\r\n }, h('i', {\r\n class: 'f-i f-i-caret-up'\r\n })),\r\n h(Vertical, {\r\n class: 'w-menu-bbr',\r\n height: '*',\r\n ref: 'bbr',\r\n onwheel: this.mousewheel\r\n }, {\r\n default: () => this.html_buttons()\r\n }),\r\n this.maxHeight && h('div', {\r\n class: 'w-menu-arr f-oh',\r\n onclick: e => this.arrow(1)\r\n }, h('i', {\r\n class: 'f-i f-i-caret-down'\r\n })),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass, this.x.dropClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n 'z-max-height': this.maxHeight,\r\n }]\r\n },\r\n root() {\r\n return this.getRoot()\r\n },\r\n rootCommander() {\r\n return this.root.commander\r\n },\r\n },\r\n mounted() {\r\n if (this.context && this.context.$options.name !== 'w-menubutton') {\r\n if (inst) {\r\n $.close(inst)\r\n }\r\n inst = this\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menu {\r\n box-shadow: none;\r\n border: 1px solid #ccc;\r\n background: #fff;\r\n }\r\n\r\n .w-menu .w-split {\r\n height: 1px;\r\n background: #ddd;\r\n margin: 2px 0;\r\n }\r\n\r\n .w-menu-arr {\r\n height: 18px;\r\n line-height: 1;\r\n text-align: center;\r\n cursor: pointer;\r\n }\r\n\r\n .w-menu-arr:hover {\r\n background: #f5f5f5;\r\n }\r\n</style>\n","import script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\nimport \"./Menu.vue?vue&type=style&index=0&id=1c251b50&lang=css\"\n\nexport default script","<script>\r\n import Button from './Button.vue'\r\n export default {\r\n mixins: [Button],\r\n computed: {\r\n html_class() {\r\n return 'w-tab'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tab {\r\n background: #f8f8f8;\r\n }\r\n .w-tab.z-on {\r\n background: #fff;\r\n }\r\n</style>\r\n","import script from \"./TabButton.vue?vue&type=script&lang=js\"\nexport * from \"./TabButton.vue?vue&type=script&lang=js\"\n\nimport \"./TabButton.vue?vue&type=style&index=0&id=db7c48b8&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import Menu from './Menu.vue'\r\n\r\n export default {\r\n name: 'w-pagebar',\r\n mixins: [ButtonBar],\r\n emits: ['click:item'],\r\n props: ['limit', 'size', 'offset', 'buttonCount', 'noFirstLast', 'face', 'jump'],\r\n data() {\r\n return {\r\n isJumpFocus: false,\r\n showDrop: false,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n limit: 1,\r\n size: 0,\r\n offset: 0,\r\n buttonCount: 5,\r\n face: 'normal',\r\n gap: 0,\r\n valign: 'middle',\r\n }\r\n },\r\n inCurrent(a) {\r\n return this.currentPage == a.text\r\n },\r\n clickItem(e, i) {\r\n let b = (i - 1) * this.x.limit\r\n if (b != this.x.offset) {\r\n e.runType = 'click:item'\r\n e.value = b\r\n this.trigger(e, b)\r\n }\r\n },\r\n clickDrop(e) {\r\n this.showDrop = true\r\n },\r\n onJumpClick(e) {\r\n let v = Math.max(0, $.number(this.$refs.jumpInput.value))\r\n this.clickItem(e, v)\r\n },\r\n html_button(i, t, ic, ds) {\r\n return h('button', {\r\n class: ['w-pagebar-button w-pagebar-num', {'z-on': !t && !ic && i == this.currentPage, 'z-ds': ds, [ic]: ic}],\r\n disabled: ds,\r\n onclick: e => this.clickItem(e, i)\r\n }, t || (ic ? '' : i))\r\n },\r\n html_slots() {\r\n return this.x.face === 'button' ? this.html_face_button() :\r\n this.x.face === 'simple' ? this.html_face_simple() : \r\n this.html_face_normal()\r\n },\r\n html_buttons() {\r\n return [h(Button, {\r\n class: 'w-pagebar-button w-pagebar-prev',\r\n icon: '.f-i .f-i-angle-left',\r\n disabled: this.currentPage == 1,\r\n title: $.loc.page_text.prev,\r\n onclick: e => this.clickItem(e, this.currentPage - 1)\r\n }), h(Button, {\r\n class: 'w-pagebar-button w-pagebar-next',\r\n icon: '.f-i .f-i-angle-right',\r\n disabled: this.currentPage == this.sumPage,\r\n title: $.loc.page_text.next,\r\n onclick: e => this.clickItem(e, this.currentPage + 1)\r\n })]\r\n },\r\n html_drop() {\r\n let s = []\r\n if (this.x.buttonCount) {\r\n s.push(h(Button, {\r\n class: 'w-pagebar-button w-pagebar-button-count w-pagebar-prev',\r\n ref: 'drop',\r\n text: this.currentPage + '/' + this.sumPage,\r\n onclick: e => this.clickDrop(e)\r\n }))\r\n }\r\n if (this.showDrop) {\r\n let b = []\r\n for (let i = 1, sp = this.sumPage; i <= sp; i ++) b.push(h(Button, {text: i, onClick: e => this.clickItem(e, i)}))\r\n s.push(h(Menu, {snap: {target: () => this.$refs.drop, position: 'v', indent: 1}, onClose: () => this.showDrop = false}, {default: () => b}))\r\n }\r\n return s\r\n },\r\n html_face_simple() {\r\n return this.html_drop().concat(this.html_buttons())\r\n },\r\n html_face_button() {\r\n let b = this.html_buttons()\r\n b.splice(1, 0, ...this.html_drop())\r\n return b\r\n },\r\n html_face_normal() {\r\n const s = []\r\n let sp = this.sumPage\r\n let cp = this.currentPage\r\n let n = $.number(this.x.buttonCount)\r\n let f = Math.max(1, cp - Math.ceil(n / 2) + 1)\r\n let l = Math.min(sp + 1, f + n)\r\n let d = l - f < n ? Math.max(1, l - n) : f\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(1, this.labelFirst, this.iconFirst, cp == 1))\r\n }\r\n s.push(this.html_button(cp - 1, this.labelPrev, this.iconPrev, cp == 1))\r\n for (let i = d; i < l; i++) {\r\n s.push(this.html_button(i))\r\n }\r\n s.push(this.html_button(cp + 1, this.labelNext, this.iconNext, cp >= this.sumPage))\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(sp, this.labelLast, this.iconLast, cp >= this.sumPage))\r\n }\r\n if (this.x.jump) {\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-to'\r\n }, $.loc.to))\r\n s.push(h('input', {\r\n class: 'w-pagebar-jump-input',\r\n ref: 'jumpInput',\r\n onfocus: e => this.isJumpFocus = true,\r\n onblur: e => this.isJumpFocus = false,\r\n onkeydown: e => e.keyCode == 13 && this.onJumpClick(e)\r\n }))\r\n s.push(h('button', {\r\n class: 'w-pagebar-button w-pagebar-jump-button',\r\n onclick: this.onJumpClick\r\n }, 'GO'))\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-page'\r\n }, $.loc.page))\r\n }\r\n return s\r\n },\r\n html_face_mini() {\r\n return this.html_face_normal()\r\n },\r\n },\r\n computed: {\r\n currentPage() {\r\n return (Math.ceil(this.x.offset / this.x.limit) || 0) + 1\r\n },\r\n sumPage() {\r\n return Math.ceil(this.x.size / this.x.limit) || 1\r\n },\r\n labelFirst() {\r\n return this.x.face === 'normal' ? $.loc.page_text.first : ''\r\n },\r\n labelLast() {\r\n return this.x.face === 'normal' ? $.loc.page_text.last : ''\r\n },\r\n labelNext() {\r\n return this.x.face === 'normal' ? $.loc.page_text.next : ''\r\n },\r\n labelPrev() {\r\n return this.x.face === 'normal' ? $.loc.page_text.prev : ''\r\n },\r\n iconFirst() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-first' : ''\r\n },\r\n iconLast() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-last' : ''\r\n },\r\n iconNext() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-right' : ''\r\n },\r\n iconPrev() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-left' : ''\r\n },\r\n html_class() {\r\n return [\r\n 'w-buttonbar w-horizontal',\r\n 'z-face-' + this.x.face,\r\n this.html_align_class,\r\n this.isJumpFocus && 'z-jump-on',\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-pagebar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-num {\r\n display: flex;\r\n position: relative;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n box-sizing: border-box;\r\n border: 1px solid #ddd;\r\n background: #fff;\r\n cursor: pointer;\r\n }\r\n\r\n .w-pagebar-num .w-button-text {\r\n padding: 0\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num {\r\n min-width: 30px;\r\n padding: 0 10px;\r\n height: 32px;\r\n flex-shrink: 0;\r\n margin-right: -1px;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num:last-child,\r\n .w-pagebar.z-face-mini .w-pagebar-num:last-child{\r\n margin-right: 0;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on {\r\n font-weight: 700;\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n z-index: 1;\r\n cursor: default;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-hv {\r\n color: #3e89fa;\r\n border-color: var(--w--focus-color);\r\n z-index: 1;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on.z-hv {\r\n color: #fff;\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num {\r\n min-width: 23px;\r\n padding: 0 3px;\r\n height: 23px;\r\n flex-shrink: 0;\r\n margin-right: 3px;\r\n }\r\n \r\n .w-pagebar.z-face-mini .f-i {\r\n color: #999;\r\n font-size: 14px;\r\n }\r\n\r\n .w-pagebar.z-face-mini .f-i.z-ds,\r\n .w-pagebar.z-face-mini .f-i.z-ds:hover {\r\n color: #ccc;\r\n background: #f9f9f9;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-pagebar.z-face-mini .w-pagebar-num:hover {\r\n border-color: var(--w--focus-color);\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num.z-on {\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n cursor: default;\r\n }\r\n \r\n \r\n .w-pagebar.z-face-button .w-button {\r\n margin-right: -1px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button:last-child {\r\n margin-right: 0;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button-main {\r\n padding: 0 6px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-pagebar-button-count {\r\n padding: 0 8px;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button.z-ds {\r\n background: transparent;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button-main {\r\n border: 0;\r\n padding: 3px;\r\n }\r\n\r\n .w-pagebar.z-face-simple .w-button .w-button-icon {\r\n color: #555;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button.z-ds .w-button-icon {\r\n color: #bbb;\r\n }\r\n \r\n \r\n .w-pagebar-num.z-ds {\r\n color: #999;\r\n cursor: default;\r\n background-color: #fff;\r\n }\r\n\r\n .w-pagebar-jump-to {\r\n padding: 0 5px 0 10px;\r\n }\r\n\r\n .w-pagebar-jump-input {\r\n width: 30px;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background-color: #fff;\r\n box-sizing: border-box;\r\n text-align: center;\r\n }\r\n\r\n .w-pagebar-jump-button {\r\n width: 30px;\r\n height: 30px;\r\n padding: 0;\r\n border: 1px solid #ddd;\r\n background-color: #fafafa;\r\n margin-left: -1px;\r\n color: #888;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-jump-page {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-input {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-button {\r\n border-color: var(--w--focus-color);;\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n</style>\r\n","import script from \"./PageBar.vue?vue&type=script&lang=js\"\nexport * from \"./PageBar.vue?vue&type=script&lang=js\"\n\nimport \"./PageBar.vue?vue&type=style&index=0&id=a0cae56c&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-hidden',\r\n mixins: [FormBase],\r\n methods: {\r\n isModified() {\r\n return false\r\n },\r\n html() {\r\n return h('input', {\r\n type: 'hidden',\r\n id: this.uid,\r\n class: 'w-hidden',\r\n name: this.x.name,\r\n value: this.x.modelValue,\r\n ref: 'v'\r\n })\r\n }\r\n },\r\n \r\n }\r\n</script>\r\n","import script from \"./Hidden.vue?vue&type=script&lang=js\"\nexport * from \"./Hidden.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n import Label from './Label.vue'\r\n import {tipCache} from './Tip.vue'\r\n\r\n const _validate_dft_value = {\r\n required: true,\r\n beforeNow: true,\r\n afterNow: true\r\n }\r\n\r\n\r\n export default {\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['name', 'value', 'modelValue', 'placeholder', 'label', 'readonly', 'readonlyValidate', 'disabled', 'required',\r\n 'validateDefault', 'validateHandler', 'inputWidth', 'inputHeight' ],\r\n emits: ['update:modelValue', 'change', 'blur', 'focus'],\r\n data() {\r\n let mv = this.modelValue\r\n return {\r\n isFormWidget: true,\r\n isFocus: false,\r\n hasBorder: false,\r\n isPlural: false,\r\n warnClass: '',\r\n labelVertical: false,\r\n modifiedValue: mv,\r\n defaultValue: mv,\r\n placeholder_type: '',\r\n }\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0)\r\n return this.x.modelValue\r\n let ov = this.x.modelValue\r\n this.x.modelValue = v\r\n let changed = ov !== v\r\n if (typeof ov === 'object') {\r\n changed = JSON.stringify(ov) != JSON.stringify(v)\r\n }\r\n if (changed) {\r\n this.warnClass && this.warn(false)\r\n if (this.isUsableVal(v)) {\r\n this.$emit('update:modelValue', v)\r\n this.trigger('change', v)\r\n }\r\n }\r\n return v\r\n },\r\n formVal() {\r\n return this.input_value\r\n },\r\n isUsableVal(v) { //implement\r\n return true \r\n },\r\n defaultRuleValue(name) {\r\n let r = this.rules[name]\r\n if (r != null) {\r\n if (Array.isArray(r)) {\r\n r = r[0]\r\n }\r\n return r && r.value ? r.value : r\r\n }\r\n },\r\n valid(trigger) {\r\n let e = this.getValidError(trigger)\r\n if (e) {\r\n this.warn()\r\n this.showErrorTip(e.text)\r\n }\r\n return !e\r\n },\r\n getValidError(trigger, val) {\r\n let ques = trigger ? this.validTriggers[trigger] : this.validQueues\r\n if (ques && (this.isNormal || (this.isReadonly && this.x.readonlyValidate))) {\r\n let v = val !== undefined ? val : this.isPlural ? this.groupFormVal() : this.formVal()\r\n if (typeof v !== 'string')\r\n v = Array.isArray(v) ? v.join(',') : v == null ? '' : ('' + v);\r\n v = v.trim()\r\n let hs = this.validHooks\r\n for (let q of ques) {\r\n let rv = typeof q.rule !== 'object' ? q.rule : q.rule.value !== undefined ? q.rule.value : q.rule\r\n let e = hs[q.type](v, rv, q)\r\n if (e) return e\r\n }\r\n }\r\n },\r\n formErr(que, arg) {\r\n let label = this.getLabelText()\r\n let type = que.type\r\n let text = que.rule && que.rule.text\r\n if (!text) {\r\n text = $.loc.ps.apply(null, [$.loc.form[type], label || ''].concat(arg != null && arg !== '' ? arg : [])) || ''\r\n }\r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n type,\r\n label,\r\n text,\r\n }\r\n },\r\n warn(a) {\r\n let w = typeof a === 'string' ? a : a !== false ? 'z-err' : ''\r\n this.warnClass = w\r\n if (!w && this._tip) {\r\n $.close(this._tip)\r\n this._tip = null\r\n }\r\n },\r\n showErrorTip(text) {\r\n this.scrollIntoView({\r\n ease: 200,\r\n success: () => {\r\n this._tip = this.exec({\r\n type: 'Tip',\r\n text,\r\n face: 'warn',\r\n independent: true,\r\n snap: {\r\n target: this.errorTipTarget\r\n }\r\n })\r\n }\r\n })\r\n },\r\n focus() {\r\n this.$refs.v.focus()\r\n return this\r\n },\r\n formText() {\r\n let t = this.val()\r\n return t == null ? '' : t\r\n },\r\n getLabelText() {\r\n let t = this.x.label || (this.pubParent && this.pubParent.x.label)\r\n return t ? (t.text || t) : ''\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n },\r\n baseFocus(e) {\r\n this.isFocus = true\r\n this.warn(false)\r\n this.trigger(e)\r\n },\r\n baseBlur(e) {\r\n if (!this.isFocusTarget(e.relatedTarget)) this.isFocus = false\r\n this.trigger(e)\r\n setTimeout(() => {\r\n if (!this.$.isUnmounted && !this.$.isDeactivated) {\r\n let time = new Date().getTime()\r\n if (time - tipCache.time > 100) this.valid('blur')\r\n }\r\n }, 100)\r\n },\r\n snapElem() {\r\n return this.el('main')\r\n },\r\n hasBubble(a) {\r\n return this.snapElem().contains(a.isWidget ? a.el() : a)\r\n },\r\n isFocusTarget(el) {\r\n // implement\r\n },\r\n // @original: 检测表单是否有修改,对照参考的值为初始值\r\n isModified(original) {\r\n let dv = original ? this.defaultValue : this.modifiedValue\r\n let mv = this.x.modelValue\r\n if (dv == null) dv = ''\r\n if (mv == null) mv = ''\r\n if (dv == mv)\r\n return false\r\n return JSON.stringify(dv) != JSON.stringify(mv)\r\n },\r\n // @original: 设置为true,修改初始值\r\n saveModified(original) {\r\n this.modifiedValue = $.lodash.clone(this.x.modelValue)\r\n if (original) {\r\n this.defaultValue = this.modifiedValue\r\n }\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n this.val(empty || this.defaultValue == null ? '' : this.defaultValue)\r\n },\r\n html_label() {\r\n return this.$slots.label ? this.$slots.label() : (this.x.label && typeof this.x.label === 'object' && h(Label,\r\n this.x.label))\r\n },\r\n html_input() {\r\n return h(this.input_tag, {\r\n class: 'w-input-value',\r\n ref: 'v',\r\n id: this.uid + 'v',\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n readonly: this.isReadonly,\r\n disabled: this.isDisabled,\r\n placeholder: this.input_placeholder,\r\n autocomplete: 'off', //off, nope, new-password\r\n //list: 'autocompleteOff',\r\n //role: 'presentation',\r\n oninput: this.oninput,\r\n onfocus: this.baseFocus,\r\n onblur: this.baseBlur,\r\n ...this.input_prop,\r\n })\r\n },\r\n html_input_hidden() {\r\n return this.x.name ? h('input', {\r\n type: 'hidden',\r\n ref: 'v',\r\n name: this.input_name,\r\n value: this.input_value,\r\n disabled: this.x.disabled,\r\n }) : []\r\n },\r\n html_button() {\r\n return []\r\n },\r\n html_form() {\r\n return [\r\n this.slot('prepend'),\r\n this.html_input(),\r\n this.html_button(),\r\n this.slot('append'),\r\n ]\r\n },\r\n html_main() {\r\n let fh = this.x.inputHeight && $.unitSize(this.x.inputHeight)\r\n return h('div', mergeProps({\r\n ref: 'main',\r\n id: this.uid + 'main',\r\n class: ['w-input', {\r\n 'w-input-border': this.hasBorder,\r\n [`f-${this.dir}-gap`]: $.br.compat.gap,\r\n }],\r\n style: {\r\n 'height': fh\r\n },\r\n title: this.input_title\r\n }, this.main_prop), this.html_form())\r\n },\r\n html_slots() {\r\n return [this.html_label(), this.html_main(), this.slot('after'), this.slot('dialog')]\r\n }\r\n },\r\n computed: {\r\n rules() {\r\n return this.x\r\n },\r\n pubValidHooks() {\r\n return {\r\n required: (v, rule, que) => {\r\n if (rule && !v) return this.formErr(que)\r\n },\r\n pattern: (v, rule, que) => {\r\n if (v && (typeof rule === 'string' ? !$.eval(`${rule}.test(v)`, {rule, v}) : !rule.test(v)))\r\n return this.formErr(que)\r\n },\r\n validateHandler: (v, rule) => {\r\n let text = rule && rule(v)\r\n if (text) {\r\n return this.formErr({type: 'validateHandler', rule: {text}})\r\n }\r\n }\r\n }\r\n },\r\n validHooks() {\r\n return this.pubValidHooks\r\n },\r\n validQueues() {\r\n let r = []\r\n let type = 'validateDefault'\r\n if (this.validHooks[type]) r.push({type})\r\n for(let k in this.validHooks) {\r\n if (!r.includes(k)) {\r\n let rule = this.rules[k]\r\n if (rule != null) {\r\n if (Array.isArray(rule)) {\r\n rule.forEach(item => r.push({type: k, rule: item}))\r\n } else {\r\n r.push({type: k, rule})\r\n }\r\n }\r\n }\r\n }\r\n return r\r\n },\r\n validTriggers() {\r\n let r = {}\r\n Object.keys(this.validHooks).forEach(k => {\r\n let d = this.rules[k]\r\n if (d) {\r\n if (Array.isArray(d)) {\r\n for (let e of d) {\r\n if (e.trigger) {\r\n (r[e.trigger] || (r[e.trigger] = [])).push({type: k, rule: e})\r\n }\r\n }\r\n } else if (d.trigger) {\r\n (r[d.trigger] || (r[d.trigger] = [])).push({type: k, rule: d})\r\n }\r\n }\r\n })\r\n return r\r\n },\r\n input_value() {\r\n return this.x.modelValue\r\n },\r\n input_name() {\r\n return this.x.name\r\n },\r\n input_tag() {\r\n return 'input'\r\n },\r\n input_type() {\r\n return 'text'\r\n },\r\n input_title() {\r\n // implement\r\n },\r\n input_prop() {\r\n // implement\r\n },\r\n input_placeholder() {\r\n if (!this.isNormal) return;\r\n let s = this.x.placeholder\r\n if (s == null && $.x.autoPlaceholder && this.x.label) {\r\n s = $.loc.ps($.loc[this.placeholder_type || 'placeholder_input'], (this.x.label.text || this.x.label))\r\n }\r\n return s\r\n },\r\n main_prop() {\r\n // implement\r\n },\r\n isNormal() {\r\n return !this.isReadonly && !this.isDisabled\r\n },\r\n isDisabled() {\r\n return this.x.disabled\r\n },\r\n isReadonly() {\r\n return this.x.readonly\r\n },\r\n errorTipTarget() {\r\n return this\r\n },\r\n html_on() {\r\n // implement\r\n },\r\n html_props() {\r\n let fw = this.x.inputWidth && $.unitSize(this.x.inputWidth)\r\n return {\r\n class: ['w-formbase', this.warnClass, this.html_align_class, {\r\n 'z-on': this.isFocus,\r\n 'z-ds': !this.isNormal,\r\n 'z-req': this.rules.required,\r\n 'z-label-vertical': this.labelVertical,\r\n 'z-fixed': !!fw,\r\n 'z-full': this.x.inputWidth === '*'\r\n }],\r\n style: fw && {\r\n '--w-input-width': fw\r\n },\r\n //'w-input-width': this.x.inputWidth,\r\n ...this.html_on\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-label {\r\n display: flex;\r\n align-items: center;\r\n padding-right: 10px;\r\n flex-shrink: 0;\r\n justify-content: flex-end;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-label.z-vertical {\r\n justify-content: flex-start;\r\n }\r\n\r\n .w-label-text {\r\n text-align: right;\r\n }\r\n\r\n .w-formbase {\r\n display: flex;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n\r\n .w-input {\r\n display: flex;\r\n box-sizing: border-box;\r\n min-height: 32px;\r\n overflow: hidden;\r\n align-items: center;\r\n flex: 1;\r\n flex-shrink: 1;\r\n flex-basis: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-label-vertical {\r\n display: block;\r\n }\r\n\r\n .w-formbase.z-label-vertical>.w-input {\r\n max-width: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-fixed>.w-input {\r\n flex-grow: 0;\r\n }\r\n\r\n .w-input-border {\r\n border: 1px solid #ddd;\r\n box-sizing: border-box;\r\n background: #fff;\r\n }\r\n\r\n .w-input-bbr {\r\n display: flex;\r\n flex-shrink: 0;\r\n width: 26px;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 16px;\r\n cursor: pointer;\r\n }\r\n\r\n .w-input-bbr.f-i-caret-down {\r\n font-size: 18px;\r\n }\r\n\r\n .w-input-bbr button {\r\n width: 100%;\r\n }\r\n\r\n .w-input-main button:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-bbr,\r\n .w-input-bbr button,\r\n .w-input-main button:disabled {\r\n color: #a3a3a3;\r\n }\r\n\r\n .w-formbase.z-on>.w-input-border,\r\n .w-input-border.z-drop {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-input-border>.w-input-value {\r\n width: 100%;\r\n border: 0;\r\n padding: 1px 0 1px 10px;\r\n background: transparent;\r\n }\r\n\r\n input::placeholder,\r\n textarea::placeholder,\r\n .w-input-placeholder {\r\n color: #a6a6a6;\r\n }\r\n\r\n .w-dropbox-text {\r\n box-sizing: border-box;\r\n width: 100%;\r\n padding-left: 10px;\r\n text-align: left;\r\n }\r\n\r\n .w-textarea .w-input-border>.w-input-value {\r\n height: 100%;\r\n padding: 5px 10px;\r\n box-sizing: border-box;\r\n font-family: inherit;\r\n }\r\n\r\n .w-textarea .w-input-border {\r\n height: 100%;\r\n }\r\n\r\n .w-checkbox,\r\n .w-triplebox,\r\n .w-radio {\r\n margin: 0\r\n }\r\n\r\n .w-triplebox {\r\n display: inline-flex;\r\n justify-content: center;\r\n }\r\n\r\n .w-checkboxgroup>.w-input,\r\n .w-radiogroup>.w-input {\r\n flex-wrap: wrap;\r\n padding-top: 3px;\r\n padding-bottom: 3px;\r\n gap: var(--w-boxgroup-gap, 10px);\r\n --w-compat-gap: var(--w-boxgroup-gap, 10px);\r\n }\r\n\r\n .w-boxgroup-grid {\r\n flex: 1;\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n align-items: center;\r\n grid-gap: var(--w-boxgroup-gap);\r\n }\r\n\r\n .w-checkbox-target>*,\r\n .w-radio-target>* {\r\n width: 100%;\r\n }\r\n\r\n .w-checkboxgroup>.w-input>.w-checkbox>.w-input,\r\n .w-radiogroup>.w-input>.w-radio>.w-input {\r\n min-height: auto;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-checkbox-text,\r\n .w-radio-text,\r\n .w-triplebox-text {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-checkbox-appear,\r\n .w-radio-appear,\r\n .w-triplebox-appear {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n width: 18px;\r\n height: 18px;\r\n border: 1px solid #ccc;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n color: var(--w--focus-color);\r\n background-color: #fff;\r\n box-shadow: 0 1px 2px rgb(0 0 0 / 5%), inset 0px -15px 10px -12px rgb(0 0 0 / 5%);\r\n }\r\n\r\n .w-radio-appear {\r\n border-radius: 20px;\r\n }\r\n\r\n .w-checkbox .w-input-value,\r\n .w-radio .w-input-value,\r\n .w-triplebox .w-input-value {\r\n display: none;\r\n }\r\n\r\n .w-checkbox-appear .f-i,\r\n .w-radio-appear .f-i,\r\n .w-triplebox-appear .f-i {\r\n visibility: hidden;\r\n font-size: 14px;\r\n }\r\n\r\n .w-radio-appear .f-i {\r\n width: 10px;\r\n height: 10px;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n }\r\n\r\n .w-radio-text,\r\n .w-checkbox-text,\r\n .w-triplebox-text {\r\n word-break: keep-all;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear,\r\n .w-input-value:checked+.w-triplebox-appear,\r\n .w-input-value:checked+.w-radio-appear {\r\n border-color: var(--w--focus-color);\r\n box-shadow: none;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear .f-i,\r\n .w-input-value:checked+.w-triplebox-appear .f-i,\r\n .w-input-value:checked+.w-radio-appear .f-i {\r\n visibility: visible;\r\n }\r\n\r\n .w-triplebox.z-half .w-triplebox-appear:before {\r\n content: '';\r\n position: absolute;\r\n background: var(--w--focus-color);\r\n flex-shrink: 0;\r\n width: 10px;\r\n height: 3px;\r\n }\r\n\r\n .w-formbase.z-ds .w-input-border,\r\n .w-formbase.z-ds .w-checkbox-appear,\r\n .w-formbase.z-ds .w-triplebox-appear,\r\n .w-formbase.z-ds .w-radio-appear {\r\n border-color: #ccc;\r\n background-color: #e6e6e6;\r\n }\r\n\r\n .w-formbase.z-err .w-input-border,\r\n .w-formbase.z-err .w-radio-appear,\r\n .w-formbase.z-err .w-triplebox-appear,\r\n .w-formbase.z-err .w-checkbox-appear,\r\n .w-form.z-err > .w-input{\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text {\r\n position: relative;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text>span:before {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-right: 3px;\r\n }\r\n\r\n .w-label.z-h-align-left {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-label.z-h-align-left>.w-label-text {\r\n text-align: left;\r\n }\r\n\r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:before {\r\n content: '';\r\n display: none;\r\n }\r\n\r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:after {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-left: 3px;\r\n }\r\n\r\n .w-form>.w-input {\r\n word-break: break-word;\r\n gap: var(--w-form-gap);\r\n }\r\n\r\n .w-form.z-vertical>.w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n justify-content: center;\r\n }\r\n\r\n .w-form.z-v-align-left>.w-input,\r\n .w-form.z-h-valign-top>.w-input {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-form.z-v-align-center>.w-input,\r\n .w-form.z-h-valign-middle>.w-input {\r\n align-items: center;\r\n }\r\n\r\n .w-form.z-v-align-right>.w-input,\r\n .w-form.z-h-valign-bottom>.w-input {\r\n align-items: flex-end;\r\n }\r\n\r\n .w-form.z-h-align-left>.w-input,\r\n .w-form.z-v-valign-top>.w-input {\r\n justify-content: flex-start;\r\n }\r\n\r\n .w-form.z-h-align-center>.w-input,\r\n .w-form.z-v-valign-middle>.w-input {\r\n justify-content: center;\r\n }\r\n\r\n .w-form.z-h-align-right>.w-input,\r\n .w-form.z-v-valign-bottom>.w-input {\r\n justify-content: flex-end;\r\n }\r\n \r\n .w-text > .w-input,\r\n .w-spinner > .w-input,\r\n .w-datepicker > .w-input {\r\n align-items: stretch;\r\n }\r\n \r\n .w-input-value:checked+.w-radio-appear:after {\r\n content: 'a';\r\n position: absolute;\r\n }\r\n \r\n</style>\n","import script from \"./FormBase.vue?vue&type=script&lang=js\"\nexport * from \"./FormBase.vue?vue&type=script&lang=js\"\n\nimport \"./FormBase.vue?vue&type=style&index=0&id=609034ec&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MenuButton.vue?vue&type=style&index=0&id=3b7da297&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n\r\n export default {\r\n name: 'w-linkbox',\r\n mixins: [FormBase],\r\n emits: ['input', 'dblclick:item'],\r\n props: ['multiple', 'picker', 'dropWidth', 'separator', 'strict', 'br'],\r\n created() {\r\n this.$watch(() => this.x.modelValue, (v) => {\r\n if (!this.isFocus) {\r\n this.initOptions(v)\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n sugger: null,\r\n showSuggest: false,\r\n sug_timer: null,\r\n _KC: null,\r\n imeMode: false,\r\n paste_rng: null,\r\n currOpt: null,\r\n store: [],\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n strict: true\r\n }\r\n },\r\n initOptions(v) {\r\n if (v == null) v = this.x.modelValue\r\n if (v && typeof v !== 'string') {\r\n v = $.array(v)\r\n this.addStore(v)\r\n this.inp().innerHTML = this.html_options(v)\r\n }\r\n },\r\n addVal(v) {\r\n let mv\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy($.array(this.x.modelValue), $.array(v), 'value')\r\n } else {\r\n mv = [v]\r\n }\r\n this.val(mv)\r\n },\r\n complete(a) {\r\n this.addStore(a)\r\n this.focus()\r\n let u = this.currOpt || $.rngElement()\r\n let p = this.x.separator || ','\r\n if (u) {\r\n if (u.tagName === 'U') {\r\n this.rng_text(u, 0, a.text)\r\n } else {\r\n if (u.tagName === 'I') {\r\n if (u.nextSibling && u.nextSibling.tagName === 'U') {\r\n u = u.nextSibling\r\n } else {\r\n u = $.after(u, '<u></u>')\r\n this.x.multiple && $.after(u, '<i>' + p + '</i>')\r\n }\r\n } else\r\n u = (!this.x.multiple && this.inp().querySelector('u')) || $.append(this.inp(), '<u></u>')\r\n this.rng_text(u, 0, a.text)\r\n }\r\n $.classAdd(u, '_o')\r\n u.setAttribute('data-value', a.value)\r\n a.forbid && u.setAttribute('data-forbid', '')\r\n let n = u.nextSibling\r\n $.rngCursor(n && !n.nextSibling ? n : u)\r\n this.x.multiple && !n && $.rngCursor($.after(u, '<i>' + p + '</i>')) // 光标在末尾则自动添加逗号分隔符\r\n let m = $.q(`u[data-value=\"${a.value}\"]`, this.inp())\r\n if (m.length > 1) m.eq(0).next('i').addBack().remove()\r\n this.save()\r\n }\r\n return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n input(a) {\r\n this.currOpt = a\r\n let v = a.innerText.replace(/^[\\s,]+|[\\s,]+$/g, '')\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(this.createEvent('input', v), v)\r\n }, 500)\r\n }\r\n },\r\n focus() {\r\n this.$refs.inp.focus()\r\n this.warn(false)\r\n return this\r\n },\r\n inp() {\r\n return this.$refs.inp\r\n },\r\n fixStyle() {\r\n let c = $.rngElement()\r\n let g = false\r\n let t\r\n let uid = this.uid\r\n let inp = this.inp()\r\n if (!inp.contains(c))\r\n c = inp\r\n t = c.innerText\r\n if (this.paste_rng)\r\n c = this.paste_rng.parentElement()\r\n if (c.id === uid)\r\n c = inp\r\n if (c.id === uid + 't') {\r\n if (t) {\r\n if (c.firstChild.nodeType === 3) {\r\n let r = $.rngCursor(c)\r\n let u = document.createElement('u')\r\n r.extractContents()\r\n u.appendChild(document.createTextNode(t))\r\n r.insertNode(u)\r\n $.rngCursor(u)\r\n c = u\r\n } else {\r\n $.q('br', inp).remove()\r\n if (c.firstChild)\r\n c = c.firstChild\r\n else\r\n $.rngCursor(c)\r\n }\r\n } else\r\n return this.closeDrop()\r\n }\r\n $.q('br', inp).remove()\r\n // 输入框内之只允许存在U和I两种标签。输入过程中浏览器可能会自动生成 <font> 标签,需要去除它\r\n if (c.tagName === 'FONT') {\r\n if (c.parentNode.tagName === 'U') {\r\n let d = c.previousSibling.nodeValue\r\n let c = c.parentNode\r\n let t = c.innerText\r\n this.rng_text(c, t.indexOf(d) + d.length + 1, t)\r\n } else if (c.parentNode.id === uid + 't') {\r\n t = c.parentNode.innerText\r\n c = $.replaceWith(c, '<u></u>')\r\n c.innerText = t\r\n }\r\n }\r\n\r\n // 如果U标签后面跟的标签不是 <i>,</i> 就要合并\r\n if (c !== inp && c.tagName !== 'I' && c.nextSibling && c.nextSibling.tagName !== 'I') {\r\n if (c.nextSibling.nodeType === 3) {\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n } else {\r\n t = c.innerText\r\n this.rng_text(c, t.length, t + c.nextSibling.innerText)\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n g = true // 有更新\r\n }\r\n }\r\n $.q('u:has(br)', inp).remove()\r\n t = c.innerText\r\n // match text\r\n let n = []\r\n let p = this.x.separator || ','\r\n\r\n // 文本中如果包含分隔符 , 则分成若干选项\r\n if (this.x.multiple && t.length > 1 && t.indexOf(p) > -1) {\r\n let d = [],\r\n f = t.length - $.rngCursorOffset(),\r\n h, m = []\r\n t.split(p).forEach(s => {\r\n if (h = $.strTrim(s)) {\r\n g = this.param(h)\r\n d.push('<u' + (g ? ' class=_o data-value=\"' + g.value + '\"' + (g.forbid ? ' data-forbid' : '') : '') +\r\n '>' + h + '</u>')\r\n g ? m.push('u[data-value=\"' + g.value + '\"]') : n.push(h)\r\n } else\r\n d.push('')\r\n })\r\n m.length && (m = $.q(m.join(','), inp).next('i').addBack()) // 收集重复数据,以备删除\r\n let o = $.replaceWith(c, d.join('<i>' + p + '</i>'))\r\n let k = 0\r\n if (!this.paste_rng || this._KC === 188) { // 保留原有光标位置\r\n do {\r\n if ((k += o.innerText.length) >= f) {\r\n this.rng_text(o, k - f)\r\n break\r\n }\r\n } while (o = o.previousSibling)\r\n }\r\n m.length && (m.remove(), $.q('i + i, i:first-child', inp).remove()) // 删除重复数据\r\n g = true\r\n if ((c = $.rngElement()) && c.tagName === 'U' && !c.getAttribute('data-value'))\r\n this.input(c)\r\n else\r\n this.closeDrop()\r\n } else {\r\n if (t) {\r\n if ($.classAny(c, '_o') && !this.param(t)) {\r\n $.classRemove(c, '_o')\r\n c.removeAttribute('data-value')\r\n g = true\r\n } else if (!this.x.strict)\r\n g = true\r\n this.input(c)\r\n } else {\r\n g = true\r\n this.closeDrop()\r\n }\r\n }\r\n if (g) {\r\n this.save()\r\n //this._online && n.length > 1 && this.match({text: n.join(p)})\r\n }\r\n this.paste_rng = null\r\n },\r\n // 选项上的光标移动到指定位置 /@a -> elem, b -> cursor point, c -> text?\r\n rng_text(a, b, c) {\r\n let n = $.rngSelection()\r\n c != null && (a.innerText = c)\r\n n.selectNodeContents(a)\r\n $.rngCursor(n, b)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n addStore(m) {\r\n if (m && typeof m !== 'string') {\r\n let r = $.array(m).filter(v => !this.store.find(s => s.value == v.value))\r\n if (r.length) this.store = this.store.concat(r)\r\n }\r\n },\r\n param(t) {\r\n return this.store.find(v => v.text == t)\r\n },\r\n save() {\r\n let strict = this.x.strict\r\n let r = []\r\n let m = []\r\n $.q('> u', this.inp()).each((i, u) => {\r\n let value = u.getAttribute('data-value')\r\n let text = u.innerText\r\n if (value) {\r\n r.push(value)\r\n m.push({\r\n value,\r\n text\r\n })\r\n } else if (!strict) {\r\n r.push(text)\r\n m.push({\r\n value: text\r\n })\r\n }\r\n })\r\n //this.$refs.v.value = r.join(',')\r\n this.val(m)\r\n },\r\n onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 13) {\r\n e.preventDefault()\r\n }\r\n },\r\n onkeyup(e) {\r\n if (!this.imeMode) {\r\n let k = this._KC = e.keyCode\r\n let m\r\n if (k === 13 || k === 38 || k === 40 || k === 17) { // 38:up, 40:down, 17:ctrl\r\n e.stopPropagation()\r\n } else {\r\n this.fixStyle()\r\n }\r\n this._KC = null\r\n }\r\n },\r\n onclick(e) {\r\n if (this.isNormal) {\r\n if (e.target && e.target.tagName === 'U' && !e.target.getAttribute('data-value')) {\r\n this.input(e.target)\r\n } else {\r\n let c = $.rngElement()\r\n c.tagName === 'U' ? this.input(c) : this.closeDrop()\r\n }\r\n }\r\n },\r\n ondblclick(e) {\r\n if (e.target.tagName === 'U' && e.target.getAttribute('data-value')) {\r\n let v = $.array(this.x.modelValue).find(o => o.value == e.target.getAttribute('data-value'))\r\n if (v) {\r\n e.runType = 'dblclick:item'\r\n e.value = v\r\n this.trigger(e, v)\r\n window.getSelection().removeAllRanges()\r\n }\r\n }\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options(v) {\r\n let p = this.x.separator || ','\r\n if (v == null) v = this.x.modelValue\r\n if (v !== 'string') {\r\n let b = $.array(v)\r\n let r = []\r\n $.lodash.each(b, (o, i) => {\r\n r.push('<u' + (o.value ? ' class=_o data-value=\"' + o.value + '\"' : '') + (o.forbid ? ' data-forbid' :\r\n '') + '>' + o.text + '</u>')\r\n if (!this.x.multiple) return false\r\n r.push('<i>' + p + '</i>')\r\n })\r\n return r.join('')\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-linkbox-input f-flex-1',\r\n ref: 'inp',\r\n id: this.uid + 't',\r\n contentEditable: this.isNormal,\r\n onkeyup: this.onkeyup,\r\n onkeydown: this.onkeydown,\r\n onclick: this.onclick,\r\n ondblclick: this.ondblclick,\r\n onfocus: e => {\r\n this.isFocus = true\r\n },\r\n onblur: e => {\r\n this.isFocus = false\r\n },\r\n })\r\n },\r\n html_input() {\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n this.html_var(),\r\n h('div', {\r\n class: 'w-input-placeholder'\r\n }, this.input_value ? null : p),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n onClose: () => this.showSuggest = false\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n if (this.x.strict && $.q('u:not([data-value])').length > 0) {\r\n return this.formErr({\r\n type: 'invalid_option'\r\n })\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text || v.value).join(\r\n ', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.focus\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br,\r\n 'z-dc': this.getOn('dblclick:item')\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.initOptions()\r\n this.inp().addEventListener('compositionstart', () => {\r\n this.imeMode = true\r\n })\r\n this.inp().addEventListener('compositionend', () => {\r\n this.imeMode = false\r\n })\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-linkbox-input {\r\n height: 100%;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input {\r\n padding-left: 10px;\r\n min-height: 30px;\r\n line-height: 30px;\r\n font-family: verdana;\r\n font-style: normal;\r\n outline: none;\r\n overflow: hidden;\r\n word-break: keep-all;\r\n word-wrap: normal;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u {\r\n padding-right: 1px;\r\n color: #999;\r\n text-decoration: none\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o {\r\n color: #333\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o[data-forbid] {\r\n text-decoration: line-through !important;\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u {\r\n color: #333\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u._o {\r\n color: #275696;\r\n text-decoration: underline\r\n }\r\n\r\n .w-linkbox .w-linkbox-input i {\r\n font-style: normal;\r\n padding: 0 3px 0 1px;\r\n color: #999;\r\n }\r\n\r\n .w-linkbox ._v {\r\n display: inline-block;\r\n height: 22px;\r\n line-height: 22px;\r\n vertical-align: middle\r\n }\r\n\r\n .w-linkbox.z-loading {\r\n color: gray;\r\n }\r\n\r\n .w-linkbox.z-loading .w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox.z-br .w-linkbox-input {\r\n overflow: visible;\r\n word-break: break-all;\r\n word-wrap: break-word;\r\n }\r\n\r\n .w-linkbox .w-input {\r\n position: relative;\r\n }\r\n\r\n .w-linkbox-input:not(:empty)~.w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox .w-input-placeholder {\r\n position: absolute;\r\n left: 0;\r\n padding-left: 10px;\r\n pointer-events: none;\r\n }\r\n</style>\n","import script from \"./LinkBox.vue?vue&type=script&lang=js\"\nexport * from \"./LinkBox.vue?vue&type=script&lang=js\"\n\nimport \"./LinkBox.vue?vue&type=style&index=0&id=d62f9532&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MediaUploadItem.vue?vue&type=style&index=0&id=07113717&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ViewAbs.vue?vue&type=style&index=0&id=7d9e1b2b&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dialog.vue?vue&type=style&index=0&id=ac8e27c2&lang=css\"","<template>\r\n <button v-bind=\"html_attrs\" :class=\"['f-flex-align', provideOptionParent.$options.name + '-option', {'z-on': isFocus, 'z-ds': disabled, 'z-mul': isMul}]\"\r\n @click=\"click\" :disabled=\"disabled\" :title=\"text\">\r\n <div class=\"f-flex-1 f-line-1\">\r\n <slot>{{text}}</slot>\r\n </div>\r\n <div v-if=\"isMul\" :class=\"['w-option-checked', {'f-i f-i-check': isFocus}]\"></div>\r\n </button>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-option',\r\n mixins: [WidgetBase],\r\n props: ['value', 'text', 'disabled'],\r\n inject: ['provideOptionParent'],\r\n methods: {\r\n click(e) {\r\n if (this.provideOptionParent.clickOption)\r\n this.provideOptionParent.clickOption(this)\r\n }\r\n },\r\n\r\n computed: {\r\n isFocus() {\r\n let m = this.provideOptionParent.x.modelValue\r\n return Array.isArray(m) ? m.includes(this.value) : $.idsAny(m, this.value)\r\n },\r\n isMul() {\r\n return this.provideOptionParent.x.multiple\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-option {\r\n height: var(--w-option-height, 32px);\r\n padding: 0 10px;\r\n box-sizing: border-box;\r\n text-align: left;\r\n }\r\n\r\n .w-dropbox-option.z-ds,\r\n .w-dropbox-option.z-ds:hover {\r\n background-color: #f9f9f9;\r\n color: #999;\r\n }\r\n\r\n .w-dropbox-option:hover {\r\n background-color: #f5faff;\r\n }\r\n\r\n .w-dropbox-option.z-on:not(.z-mul) {\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-dropbox-option.z-on.z-mul {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-option-checked {\r\n width: 18px;\r\n height: 18px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n .w-option.z-mul {\r\n padding-left: 13px;\r\n }\r\n\r\n .w-option-checked.f-i {\r\n border-color: var(--w--focus-color);\r\n }\r\n</style>\n","import { render } from \"./Option.vue?vue&type=template&id=9b750ac0\"\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\nimport \"./Option.vue?vue&type=style&index=0&id=9b750ac0&lang=css\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TabButton.vue?vue&type=style&index=0&id=db7c48b8&lang=css\"","import lodash from 'lodash'\r\n\r\nconst strTrim = (a) => String(a).replace(/^\\s+|\\s+$/g, '')\r\n\r\nconst string = (a) => a == null ? '' : '' + a\r\n\r\n// @a -> str, b -> no html entities?\r\nconst strQuot = (a, b) => {\r\n\ta = String(a)\r\n\tb && (a = a.replace(/<[^>]+>/g, ''))\r\n\treturn a.replace(/\\\"/g, '&quot;')\r\n}\r\n\r\n// 在a中取以b开始的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strFrom = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(d + b.length)\r\n}\r\n\r\n// 在a中取以b结束的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strTo = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(0, d)\r\n}\r\n\r\n// 取字符串字节数(一个汉字算双字节) /@ s -> str, b -> 一个汉字算几个字节?默认2个\r\nconst strLen = (s, b) => {\r\n if (!s) return 0;\r\n if (!b) b = $.x.cnBytes || 2;\r\n let d = 0\r\n for (let i = 0, l = s.length; i < l; i++)\r\n d += s.charCodeAt(i) > 128 ? b : 1;\r\n return d;\r\n}\r\n\r\n// 数字前加0 /@ a -> num, b -> 补成多少长度的字符串?\r\nconst strPad = function(a, b, c) {\r\n\tc = c == null ? '0' : (c + '');\r\n\tif (!b)\r\n\t\treturn a < 10 ? c + a : a;\r\n\ta = a + '';\r\n\twhile (a.length < b)\r\n\t\ta = c + a;\r\n\treturn a\r\n}\r\n\r\nconst strFormat = (a, b, c, d) => {\r\n a != null && (a += '');\r\n if (!a || !b) return a;\r\n if (Array.isArray(b)) {\r\n return a.replace(/\\$\\{?(\\d+)\\}?/g, function($0, $1) {\r\n return b[$1] == null ? (d ? $0 : '') : c ? encodeURIComponent(b[$1]) : b[$1]\r\n });\r\n } else {\r\n return a.replace(/\\$\\{?([a-z_][\\w.]*)\\}?/gi, function($0, $1) {\r\n let e = lodash.get(b, $1)\r\n return e == null ? (d ? $0 : '') : c ? encodeURIComponent(e) : e\r\n });\r\n }\r\n}\r\n\r\nconst strEscape = function(s) {\r\n\treturn s != null ? (s + '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\\\"/g, '&quot;') : '';\r\n}\r\n\r\n// 在 a 中查找 b 并给 b 加上标签样式 c /@ a -> str, b -> key, c -> matchLength?, d -> key cls?\r\nconst strHighlight = function(a, b, c, d) {\r\n\treturn (a = a + '').replace(RegExp('(<[\\\\/!]?\\\\w+(?::\\\\w+)?\\\\s*(?:[-\\\\w]+(?:=(\\'|\")?.*?\\\\2)?\\\\s*)*>)|(' + strSplitword(b, c, true).join('|') + ')', 'ig'), function($0, $1, $2, $3) {\r\n\t \treturn $3 === undefined ? $1 : '<em class=\"' + (d || 'f-keyword') + '\">' + $3 + '</em>'\r\n\t})\r\n}\r\n\r\n// 字符转为regexp支持的模式\r\nconst _s_regexp = function(a) {\r\n\treturn a.replace(/([-.*+?^${}()|[\\]\\/\\\\])/g, '\\\\\\$1')\r\n}\r\n\r\n// @a -> key, b -> matchLength, c -> regexp?\r\nconst strSplitword = function(a, b, c) {\r\n\tlet e = [c ? _s_regexp(a) : a]\r\n let m = a.length\r\n\tif (b > 0 && m > b) {\r\n\t\tfor (let j = m - 1; j >= b; j --) {\r\n\t\t\tfor (let i = 0, l = m - j, f; i <= l; i ++) {\r\n\t\t\t\tf = a.substr(i, j)\r\n\t\t\t\te.push(c ? _s_regexp(f) : f)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn e\r\n}\r\n\r\nexport {string, strTrim, strEscape, strQuot, strFrom, strTo, strPad, strLen, strFormat, strHighlight}\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import ViewAbs from './ViewAbs.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [Vertical, ViewAbs],\r\n inject: ['provideView'],\r\n methods: {\r\n html() {\r\n return [this.html_self(true), this.html_pops()]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-vertical f-rel', this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./View.vue?vue&type=script&lang=js\"\nexport * from \"./View.vue?vue&type=script&lang=js\"\n\nexport default script","import {strFrom, strTo} from './str.js'\r\n\r\nconst number = (a) => {\r\n var r = typeof a === 'string' ? parseFloat(a.replace(/[^\\d\\.-]|\\b-/g, '')) : +a\r\n return isNaN(r) ? 0 : r\r\n}\r\n// 判断是否数字\r\nconst isNumber = (a) => a != null && !isNaN(a)\r\n\r\n// 如果 a 的大小在 b 和 c 之间,则返回 a。否则返回 b 或 c\nconst numRange = function(a, b, c) {\n\treturn a == null ? ((b || b === 0) ? b : (c || c === 0) ? c : a) : ((b || b === 0) && a < b) ? b : ((c || c === 0) && a > c) ? c : a\n}\n// js小数相加运算出现多位小数的解决办法\nconst numAdd = function(...args) {\r\n let m = 0\r\n let r = 0\r\n args.forEach(a => {\r\n m = Math.max(m, strFrom(a + '', '.').length)\r\n r += a\r\n })\r\n m = Math.pow(10, m)\n\treturn Math.round(r * m) / m\n}\n// 给数字加上分隔符 /@a -> str, b -> length?, c -> separator?, d -> rightward?\nconst numFormat = function(a, b, c, d) {\n\ta = String(a)\n\tb == null && (b = 3)\n\tc == null && (c = ',')\n\tlet e = a.replace(/[^.\\d]/g, '').split('.'), s = e[0], l = s.length, i = d ? 0 : l, t = '', n = a.charAt(0) === '-' ? '-' : '';\r\n\tif (d) {\n\t\tdo {\n\t\t\ti += b;\n\t\t\tt += (i < l ? s.substr(i - b, b) + c : s.substr(i - b));\n\t\t} while (i < l);\n\t} else {\n\t\tdo {\n\t\t\ti -= b;\n\t\t\tt = (i > 0 ? c + s.substr(i, b) : s.substr(0, b + i)) + t;\n\t\t} while (i > 0);\n\t}\n\treturn n + t + (e.length > 1 ? '.' + strFrom(a, '.').replace(RegExp('[.' + c + ']', 'g'), '') : '');\n}\n// 调整小数位数\nconst numDecimal = function(a, b) {\n\tif (!b) {\n\t\treturn parseInt(number(a))\n\t} else if (b < 0) {\n\t\treturn parseFloat(number(a))\n\t} else {\n\t\tlet f = strFrom('' + a, '.')\n\t\treturn f ? strTo('' + a, '.') + '.' + f.slice(0, b) : a\n\t}\n}\r\n\r\nexport {number, isNumber, numRange, numAdd, numFormat, numDecimal}","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Button from './Button.vue'\r\n import Menu from './Menu.vue'\r\n import Img from './Img.vue'\r\n import WidgetAbs from './WidgetAbs.vue'\r\n\r\n export default {\r\n name: 'w-menubutton',\r\n mixins: [Button],\r\n methods: {\r\n exec(...args) {\r\n return this.parentMenu.getRoot().getCommander().exec(...args)\r\n },\r\n drop() {\r\n if (this.showDrop) return\r\n this.closeSub()\r\n this.showDrop = true\r\n this.parentMenu.subMenu = this\r\n },\r\n onclick(e) {\r\n if (this.isMore) return\r\n //this.trigger(e)\r\n setTimeout(() => this.parentMenu.root.close(), 10)\r\n },\r\n onmouseenter(e) {\r\n !this.x.disabled && e.currentTarget.classList.add('z-hv')\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.closeSub()\r\n }\r\n },\r\n closeSub() {\r\n if (this.parentMenu.subMenu) {\r\n this.parentMenu.subMenu.showDrop = false\r\n this.parentMenu.subMenu = null\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n let src = this.x.icon\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n r.push(!src || font ? h('i', {\r\n class: 'w-menubutton-icon f-flex-center f-height ' + (src ? src.replace(/\\./g, '') : '')\r\n }) : h('img', {\r\n src: src,\r\n class: 'w-menubutton-icon f-flex-center f-height'\r\n }))\r\n\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-text f-line-1'\r\n }, t))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-close'\r\n }, h('i', {\r\n class: 'w-menubutton-close-icon f-i f-i-close',\r\n onclick: this.clickClose\r\n })))\r\n }\r\n r.push(h(Img, {\r\n class: 'w-menubutton-drop f-flex-center f-height',\r\n src: this.isMore ? (this.x.dropIcon || '.f-i .f-i-caret-right') : ''\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Menu, {\r\n autoHide: true,\r\n context: this,\r\n ownproperty: true,\r\n dropClass: this.x.dropClass || this.parentMenu.x.dropClass,\r\n snap: {\r\n target: () => this.el(),\r\n position: '21,12',\r\n indent: 1\r\n },\r\n onClose: () => this.showDrop = null\r\n }, this.$slots))\r\n }\r\n\r\n return r\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isMore() {\r\n return !!this.$slots.default\r\n },\r\n parentMenu() {\r\n let p = this.provideView\r\n while (p && !p.isView) p = p.provideView\r\n return p\r\n },\r\n ownerView() { // 因为业务会调用 $.vm(event), 所以返回commander的view\r\n return this.parentMenu.rootCommander.ownerView\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.x.disabled,\r\n class: {\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: !this.x.disabled && (e => e.currentTarget.classList.remove('z-hv')),\r\n onclick: this.onclick\r\n }\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menubutton {\r\n display: inline-flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n margin: 0;\r\n height: 32px;\r\n background: #fff;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-menubutton .f-i {\r\n color: #999;\r\n }\r\n\r\n .w-menubutton-icon {\r\n width: 30px;\r\n }\r\n\r\n .w-menubutton-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n }\r\n\r\n .w-menubutton-drop {\r\n width: 30px;\r\n margin-left: 5px;\r\n }\r\n\r\n .w-menubutton>.w-menubutton-close {\r\n margin-right: -5px;\r\n flex-shrink: 0;\r\n color: #aaa;\r\n }\r\n\r\n .w-menubutton-close-icon:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-menubutton.z-hv,\r\n .w-menubutton.z-drop {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-menubutton.z-ds {\r\n background-color: #eee;\r\n color: #777;\r\n cursor: default;\r\n }\r\n\r\n .w-menubutton.z-ds .w-menubutton-icon {\r\n color: #bbb;\r\n }\r\n</style>\n","import script from \"./MenuButton.vue?vue&type=script&lang=js\"\nexport * from \"./MenuButton.vue?vue&type=script&lang=js\"\n\nimport \"./MenuButton.vue?vue&type=style&index=0&id=3b7da297&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tabs.vue?vue&type=style&index=0&id=d05fa34a&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Dialog from './Dialog.vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-combobox',\r\n mixins: [FormBase],\r\n emits: ['input', 'click:item', 'blur', 'focus'],\r\n props: ['multiple', 'dropper', 'picker', 'dropWidth', 'br'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n showSuggest: false,\r\n sug_timer: null,\r\n sensor_text: '',\r\n sensor_width: null,\r\n }\r\n },\r\n methods: {\r\n addVal(v) {\r\n let mv\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy($.array(this.x.modelValue), $.array(v), 'value')\r\n } else {\r\n mv = [v]\r\n }\r\n $.lodash.remove(mv, m => !m || !m.text)\r\n this.val(mv)\r\n },\r\n complete(v) {\r\n this.addVal(v)\r\n this.clear()\r\n this.$nextTick(this.focus)\r\n return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n clear() {\r\n this.$refs.input.value = this.sensor_text = ''\r\n },\r\n focus() {\r\n this.$refs.input.focus()\r\n this.warn(false)\r\n return this\r\n },\r\n oninput(e) {\r\n let v = e.target.value\r\n this.sensor_text = v\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n e.value = v\r\n this.trigger(e, v)\r\n }, 500)\r\n }\r\n },\r\n onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 8) { // 8:backspace\r\n if (e.target.selectionStart === 0 && e.target.selectionEnd === 0) {\r\n let mv = $.array(this.x.modelValue, true)\r\n if (mv.length) {\r\n mv.splice(mv.length - 1, 1)\r\n this.x.modelValue = mv\r\n }\r\n }\r\n }\r\n //38: up, 40:down\r\n //if (this.showSuggest && (k == 38 || k == 40)) e.preventDefault()\r\n },\r\n onblur(e) {\r\n this.isFocus = false\r\n this.trigger('blur')\r\n setTimeout(() => {\r\n if (!this.$.isUnmounted && !this.$.isDeactivated) this.valid('blur')\r\n }, 100)\r\n },\r\n onfocus(e) {\r\n this.isFocus = true\r\n e.target.value && e.target.dispatchEvent(new Event('input'))\r\n this.trigger('focus')\r\n },\r\n clickItem(e, item) {\r\n e.stopPropagation()\r\n e.runType = 'click:item'\r\n e.value = item\r\n this.trigger(e, item)\r\n },\r\n clickClose(e, item) {\r\n e.stopPropagation()\r\n let mv = $.array(this.x.modelValue, true)\r\n let i = mv.findIndex(v => v.value == item.value)\r\n if (i > -1) {\r\n mv.splice(i, 1)\r\n this.val(mv)\r\n }\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(!this.showSuggest)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options() {\r\n let m = this.x.modelValue\r\n if (m && typeof m !== 'string') {\r\n return [].concat(m).map(v => h('div', {\r\n class: ['w-combobox-option f-flex-center', {\r\n 'z-forbid': v.forbid\r\n }],\r\n onclick: e => this.clickItem(e, v)\r\n }, [h('div', {\r\n class: 'w-combobox-option-text f-line-1',\r\n title: v.text\r\n }, v.text),\r\n this.isNormal && h('div', {\r\n class: 'w-combobox-option-close f-i f-i-close',\r\n onclick: e => this.clickClose(e, v)\r\n })\r\n ]))\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-combobox-input-wrap'\r\n }, [\r\n h('div', {\r\n class: 'w-combobox-sensor',\r\n ref: 'sensor',\r\n }, this.sensor_text || (this.input_value ? null : this.input_placeholder)),\r\n h('input', {\r\n class: 'w-combobox-input',\r\n style: {\r\n width: this.sensor_width,\r\n },\r\n ref: 'input',\r\n oninput: this.oninput,\r\n onkeydown: this.onkeydown,\r\n onblur: this.onblur,\r\n onfocus: this.onfocus,\r\n placeholder: this.input_value ? null : this.input_placeholder,\r\n })\r\n ])\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: ['w-combobox-list f-flex-1 f-flex f-oh f-height', {'f-h-gap': $.br.compat.gap}],\r\n },\r\n this.html_options(),\r\n this.isNormal && this.html_var(),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n onClose: () => this.showSuggest = false\r\n }, this.$slots)\r\n )\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n validateDefault: (v) => {\r\n if (this.$refs.input.value)\r\n return this.formErr({type: 'invalid_option'})\r\n },\r\n ...this.pubValidHooks,\r\n }\r\n },\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text).join(', ')\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br\r\n }\r\n },\r\n main_prop() {\r\n return this.isNormal && {\r\n onclick: this.focus\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.$refs.sensor) {\r\n new ResizeObserver(() => {\r\n if (this.$refs.sensor) {\r\n this.sensor_width = this.$refs.sensor.offsetWidth + 'px'\r\n }\r\n }).observe(this.$refs.sensor)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-combobox-list {\r\n padding: 2px 3px;\r\n box-sizing: border-box;\r\n align-items: center;\r\n --w-compat-gap: 3px;\r\n gap: var(--w-compat-gap);\r\n }\r\n \r\n .w-combobox-list.f-h-gap {\r\n padding: 1px 3px;\r\n }\r\n \r\n .w-combobox-list.f-h-gap>* {\r\n margin-top: 1px;\r\n margin-bottom: 1px;\r\n }\r\n\r\n .w-combobox-list>.w-combobox-input-wrap:first-child {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-combobox-input-wrap {\r\n display: flex;\r\n }\r\n\r\n .w-combobox-sensor {\r\n position: absolute;\r\n visibility: hidden;\r\n z-index: -1;\r\n white-space: pre-wrap; \r\n }\r\n\r\n .w-combobox-input {\r\n min-width: 14px;\r\n width: 14px;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-combobox-option {\r\n position: relative;\r\n height: 26px;\r\n border: 1px solid #e6e6e6;\r\n background: #f8f8f8;\r\n padding: 0 5px;\r\n background: #f8f8f8;\r\n box-sizing: border-box;\r\n max-width: calc(100% - 21px);\r\n }\r\n\r\n .w-combobox-option.z-forbid .w-combobox-option-text {\r\n text-decoration: line-through;\r\n }\r\n\r\n .w-combobox-option-close {\r\n color: #aaa;\r\n font-size: 12px;\r\n line-height: 0;\r\n margin-left: 5px;\r\n transform: translateY(1px);\r\n cursor: pointer;\r\n }\r\n\r\n .w-combobox-option-close:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option {\r\n border-color: #d0d0d0;\r\n background: transparent;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option ._s {\r\n padding-right: 7px\r\n }\r\n\r\n .w-combobox.z-br .w-combobox-list {\r\n flex-wrap: wrap;\r\n }\r\n</style>\n","import script from \"./ComboBox.vue?vue&type=script&lang=js\"\nexport * from \"./ComboBox.vue?vue&type=script&lang=js\"\n\nimport \"./ComboBox.vue?vue&type=style&index=0&id=0e4ab116&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import Horizontal from './Horizontal.vue'\r\n import PubParent from './PubParent.vue'\r\n\r\n export default {\r\n name: 'w-buttonbar',\r\n mixins: [Horizontal, PubParent],\r\n props: ['vertical'],\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0,\r\n valign: this.vertical ? null : 'middle'\r\n }\r\n },\r\n html_slots() { \r\n let s\r\n if (this.$slots.split) {\r\n let a = this.slots_children()\r\n let b = this.$slots.split()\r\n s = []\r\n for (let i = 0, l = a.length; i < l; i++) {\r\n s.push(a[i])\r\n if (i < l - 1) s.push(b)\r\n }\r\n }\r\n return this.html_scroll_slots(s)\r\n }\r\n },\r\n computed: {\r\n dir() {\r\n return this.x.vertical ? 'v' : 'h'\r\n },\r\n html_class() {\r\n return [this.x.vertical ? 'w-vertical' : 'w-horizontal']\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./ButtonBar.vue?vue&type=script&lang=js\"\nexport * from \"./ButtonBar.vue?vue&type=script&lang=js\"\n\nexport default script","// 最后一个属性是数组 / a -> obj, b -> target\n// example: _jsonArray(obj, target, 'a', 'b');\n// 等同于: target['a']['b'].push(obj);\nconst jsonArray = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1; i < l; i ++)\n\t\tb = b[arguments[i]] || (b[arguments[i]] = {});\n\t(b[arguments[l]] || (b[arguments[l]] = [])).push(a);\n\treturn b[arguments[l]];\n}\r\n\n// example: _jsonChain(obj, target, 'a', 'b');\n// 等同于: target['a']['b'] = obj;\nconst jsonChain = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1, c = b; i < l; i ++)\n\t\tc = c[arguments[i]] || (c[arguments[i]] = {});\n\tc[arguments[l]] = a;\n\treturn c;\n}\r\n\r\nexport {jsonArray, jsonChain}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Toggle.vue?vue&type=style&index=0&id=431717dc&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import WidgetAbs from './WidgetAbs.vue'\r\n import SrcParent from './SrcParent.vue'\r\n import Pop from './Pop.vue'\r\n import Img from './Img.vue'\r\n\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [SrcParent],\r\n provide() {\r\n return {\r\n provideView: this\r\n }\r\n },\r\n props: ['commands'],\r\n data() {\r\n return {\r\n isView: true,\r\n pops: [],\r\n }\r\n },\r\n beforeCreate() {\r\n this.popCommanders = {}\r\n },\r\n methods: {\r\n reload() {\r\n this.request()\r\n },\r\n find(a) {\r\n const b = this.el().querySelectorAll(`[w-key=\"${a}\"]`)\r\n for (let c of b) {\r\n if ((c = $(c)) && c.ownerView === this) return c\r\n }\r\n },\r\n fv(a, b) {\r\n let d = this.f(a)\r\n if (arguments.length === 2) {\r\n d && (d.groupFormVal ? d.groupFormVal(b) : d.val(b))\r\n } else if (typeof a === 'object') {\r\n for (let i in a) this.fv(i, a[i])\r\n } else {\r\n return d && (d.groupFormVal ? d.groupFormVal() : d.formVal())\r\n }\r\n },\r\n f(a, b) {\r\n return this.fAll(a, b)[0]\r\n },\r\n // 获取范围内的所有表单 /@a -> name, b -> range?(elem|widget)\r\n fAll(a, b) {\r\n if (a === '*' || a == null) {\r\n for (var i = 0, q = this.getFormList(b, true), l = q.length, d, e, f = []; i < l; i++)\r\n (d = $(q[i])) && d != e && f.push(e = d);\r\n return f;\r\n }\r\n let dom = b ? (b.isWidget ? b.el() : b) : this.el()\r\n let r = $.q(':input[name=\"' + a + '\"]', dom)\r\n if (!r.length) r = $.q(':input[w-name=\"' + a + '\"]', dom)\r\n return $.lodash.map(r.not('[w-form-ignore] :input'), d => $(d))\r\n },\r\n // 获取所有表单,返回一个dom集合 /@ a -> range(widgetID, 可选,如果 range 以 !开头,表示排除), b -> 是否包含disabled的表单\r\n getFormList(a, b) {\r\n if (Array.isArray(a)) return a\r\n let r, f = ':input:not(button)' + (b ? '' : ':not(:disabled)')\r\n if (a && typeof a === 'string') {\r\n let d = a.charAt(0) === '!'\r\n let e = a.replace(/\\!/g, '').split(',').map(v => `[w-key=\"${v}\"] ${f}`)\r\n if (e = e.join())\r\n r = $.q(d ? `${f}:not(${e})` : e, this.el())\r\n } else {\r\n r = $.q(f, a ? (a.isWidget ? a.el() : a) : this.el())\r\n }\r\n return r ? $.lodash.map(r.not('[w-form-ignore] :input')) : []\r\n },\r\n // 获取提交数据 {name: value, ...} /@ a -> range [widgetID, 可选,如果 range 以 !开头,表示排除]\r\n getPostData(range) {\r\n let r = {}\r\n this.getFormList(range).forEach(a => {\r\n let d = a.name\r\n let v = a.value\r\n if (!d) return\r\n switch (a.type) {\r\n case 'text':\r\n let t = a.getAttribute('w-valuetype')\r\n if (t === 'number')\r\n v = v.replace(/[^\\d\\.-]/g, '')\r\n break\r\n case 'checkbox':\r\n if (!a.value || (!a.checked && !(a.indeterminate && a.getAttribute('w-partialsubmit'))))\r\n return null\r\n break\r\n case 'radio':\r\n if (!a.value || !a.checked)\r\n return null\r\n d = a.getAttribute('w-name') || d\r\n break;\r\n case 'select-one':\r\n if (a.selectedIndex < 0)\r\n return null;\r\n break;\r\n }\r\n v && (v = $.strTrim(v))\r\n if (d in r) {\r\n if (!Array.isArray(r[d]))\r\n r[d] = [r[d]]\r\n r[d].push(v)\r\n } else\r\n r[d] = v\r\n })\r\n return r\r\n },\r\n // 表单验证。如果检测到错误,将返回一个包含错误信息的数组 /@r -> range, n -> validate group name\r\n getValidError(range) {\r\n let e, q = this.getFormList(range)\r\n for (let i = 0, l = q.length, c, v; i < l; i++) {\r\n if ((c = $(q[i])) && c.isFormWidget && (v = c.getValidError())) {\r\n if (!e) e = []\r\n if (!e.find(n => n.wid == v.wid)) e.push(v)\r\n }\r\n }\r\n return e\r\n },\r\n // 表单验证。验证通过返回true /@ range -> validaterange\r\n valid(range) {\r\n if (this._err_ns) {\r\n this._err_ns.forEach(v => {\r\n let n = $.vueMap.get(v.wid)\r\n n && n.warn(false)\r\n })\r\n }\r\n let e = this.getValidError(range)\r\n if (e) {\r\n e.forEach(v => $.vueMap.get(v.wid).warn())\r\n $.vueMap.get(e[0].wid).showErrorTip(e[0].text)\r\n }\r\n return !(this._err_ns = e)\r\n },\r\n // @range -> 范围, original -> (设置为true,检测表单是否有修改,对照的值为初始值)\r\n isModified(range, original) {\r\n return this.getFormList(range).find(o => (o = $(o)).isModified && o.isModified(original))\r\n },\r\n // @range -> 范围, original -> (设置为true,设置为true,修改初始值)\r\n saveModified(range, original) {\r\n this.getFormList(range).forEach(o => (o = $(o)).saveModified && o.saveModified(original))\r\n },\r\n resetForm(range, empty) {\r\n this.getFormList(range).forEach(f => {\r\n let c = $(f)\r\n c.reset && c.reset(empty)\r\n })\r\n },\r\n showLoading(a) {\r\n this.cmd({\r\n type: 'Loading',\r\n cover: true,\r\n local: true,\r\n hide: a === false ? true : false\r\n })\r\n },\r\n cmdDialog(cmd, args, commander) {\r\n if (cmd.hide) {\r\n let o = this.pops.find(v => cmd.hide === true ? v.cmd.type == cmd.type : v.cmd.orientUid == cmd.hide)\r\n return o && this.removeDialog(o.cmd.orientUid)\r\n }\r\n let uid = $.uid()\r\n if (!cmd.orientUid) cmd.orientUid = uid\r\n this.pops.push({\r\n cmd,\r\n args,\r\n commander,\r\n hidden: false,\r\n })\r\n return uid\r\n },\r\n removeDialog(u) {\r\n this.$nextTick(() => {\r\n let o = this.pops.find(v => v.cmd.orientUid == u)\r\n if (o) {\r\n if (this.pops.findIndex(v => v.cmd.orientUid != u && !v.hidden) > -1) {\r\n o.hidden = true\r\n } else {\r\n this.pops = []\r\n }\r\n }\r\n })\r\n },\r\n getDialogOptions(u) {\r\n return this.pops.find(v => v.cmd.orientUid == u)\r\n },\r\n html_pops() {\r\n return [this.pops.map(p => h(Pop, {p}))]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-view {\r\n position: relative;\r\n }\r\n\r\n</style>\n","import script from \"./ViewAbs.vue?vue&type=script&lang=js\"\nexport * from \"./ViewAbs.vue?vue&type=script&lang=js\"\n\nimport \"./ViewAbs.vue?vue&type=style&index=0&id=7d9e1b2b&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import mimeType from '../util/mime.js'\r\n\r\n const suffixHooks = {\r\n '0': 'js.css.pdf.psd.ai.txt.eps.txt',\r\n xls: 'xls.xlsx',\r\n doc: 'doc.docx.rtf',\r\n ppt: 'ppt.pptx',\r\n htm: 'htm.html',\r\n zip: 'rar.zip.tar.jar.z.7z.ace.lzh.arj.gzip.bz2.cab.uue',\r\n fla: 'fla.swf',\r\n fon: 'eot.otf.fon.font.ttf.ttc.woff.woff2',\r\n iso: 'iso.nrg.mds.mdf.bin.cue.img.fcd.lcd.dmg',\r\n vid: 'avi.asf.wmv.avs.flv.mkv.mov.3gp.mp4.webm.mpa.mpe.mpg.mpeg.dat.dsm.ogm.vob.rm.rmvb.ts.tp.ifo.nsv.m4u.m4v.asx.asr.movie.fvi.pvx.rv.vdo.viv.vivo.wm.wmx.wv.wvx.mpv2.mpg4',\r\n aud: 'aif.aifc.aiff.als.awb.mp3.aac.au.wav.wma.cda.flac.m4a.mid.mka.mp2.mpc.ape.ofr.ogg.ra.wv.tta.ac3.dts.wv.shn.vqf.spc.nsf.adx.psf.minipsf.psf2.minipsf2.rsn.zst',\r\n img: 'jpg.jpeg.gif.png.bmp.tif.tiff.ico'\r\n }\r\n\r\n const suffix = (function() {\r\n let r = {}\r\n for (let k in suffixHooks) {\r\n suffixHooks[k].split('.').forEach(v => r[v] = k == '0' ? v : k)\r\n }\r\n return r\r\n })()\r\n\r\n const getSuffix = function(url) {\r\n let a = $.strFrom(url || '', '.', true).toLowerCase()\r\n return suffix[a] || 'file'\r\n }\r\n\r\n // 把 \"1MB\" 转为字节\r\n const fileByte = function(val) {\r\n let unit\r\n if (val != null && !isNaN(val))\r\n val += 'K'\r\n val = $.number(val.replace(/[a-z]+$/i, function($0) {\r\n unit = $0.charAt(0).toUpperCase();\r\n return ''\r\n }))\r\n return val * (unit === 'K' ? 1024 : unit === 'M' ? 1024 * 1024 : unit === 'G' ? 1024 * 1024 * 1024 : unit ===\r\n 'T' ? 1024 * 1024 * 1024 * 1024 : 1)\r\n }\r\n\r\n const fileTypeHooks = {\r\n video: suffixHooks.vid,\r\n audio: suffixHooks.aud,\r\n image: suffixHooks.img\r\n }\r\n\r\n export default {\r\n name: 'w-fileupload',\r\n mixins: [FormBase],\r\n props: ['uploadSrc', 'thumbnailSrc', 'downloadSrc', 'uploadLimit', 'sizeLimit', 'maxFileSize', 'minFileSize',\r\n 'fileTypes', 'filter', 'success', 'error', 'itemWidth', 'click:item', 'vertical',\r\n ],\r\n emits: ['click:item'],\r\n data() {\r\n return {\r\n list: [],\r\n emiting: false,\r\n dir: 'v',\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.x.modelValue, v => {\r\n if (this.emiting) return this.emiting = false\r\n this.list = Array.isArray(v) ? v.map(value => {return {value}}) : v ? [{value: v}] : []\r\n }, {immediate: true})\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0) {\r\n let r = []\r\n this.list.forEach(item => item.value && r.push(item.value))\r\n return r\r\n }\r\n this.x.modelValue = v\r\n this.$emit('update:modelValue', v)\r\n this.trigger('change', v)\r\n },\r\n getFileTypes() {\r\n let t = this.x.fileTypes\r\n return t && t !== '*.*' ? t.replace(/\\*/g, '').replace(/;/g, ',').toLowerCase() : ''\r\n },\r\n getAccept() {\r\n let r = []\r\n let t = this.getFileTypes()\r\n if (!t) return\r\n let n = []\r\n t.toLowerCase().split(',').forEach(b => {\r\n if (!b) return\r\n n.push(fileTypeHooks[b] || b)\r\n })\r\n n.forEach(b => {\r\n b && r.push(mimeType(b) || b)\r\n })\r\n return r.join(',')\r\n },\r\n isImage(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'img'\r\n },\r\n isVideo(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'vid'\r\n },\r\n isAudio(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'aud'\r\n },\r\n fileSelected(e) {\r\n if (this.x.uploadLimit > 1 && e.target.files.length + this.list.length > this.x.uploadLimit) {\r\n return $.alert($.loc.ps($.loc.form.upload_limit, this.x.uploadLimit))\r\n }\r\n let xfs = this.x.maxFileSize && fileByte(this.x.maxFileSize)\r\n let nfs = this.x.minFileSize && fileByte(this.x.minFileSize)\r\n let ft = this.getFileTypes()\r\n let xfs_names\r\n let nfs_names\r\n let ft_names\r\n $.lodash.each(e.target.files, file => {\r\n let sfx = '.' + $.strFrom(file.name, '.', true).toLowerCase()\r\n if (xfs && file.size > xfs) {\r\n (xfs_names || (xfs_names = [])).push(file.name)\r\n } else if (nfs && file.size < nfs) {\r\n (nfs_names || (nfs_names = [])).push(file.name)\r\n } else if (ft && !$.idsAny(ft, sfx, ',')) {\r\n (ft_names || (ft_names = [])).push(file.name)\r\n } else {\r\n this.list.push({file})\r\n }\r\n })\r\n if (xfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_maxfilesize, xfs_names.join('<br>'), this.x.maxFileSize))\r\n } else if (nfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_minfilesize, nfs_names.join('<br>'), this.x.minFileSize))\r\n } else if (ft_names) {\r\n $.alert($.loc.ps($.loc.form.upload_invalid_file_type, ft_names.join('<br>')))\r\n }\r\n e.target.value = '' // 获取文件后要设value为空,否则下一次选择同一个文件不会触发onchange\r\n this.nextUpload()\r\n\r\n },\r\n upload(item) {\r\n if (this.x.uploadSrc && !item.loading) {\r\n let src = $.urlFormat(this.x.uploadSrc, this.x.data, this.x)\r\n let fd = new FormData()\r\n fd.append('Filedata', item.file)\r\n item.loading = true\r\n item.source = $.http.CancelToken.source()\r\n $.http.post(src, fd, {\r\n onUploadProgress: e => item.progress = Math.floor(e.loaded / e.total * 100),\r\n cancelToken: item.source.token\r\n }).then(res => {\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n let d = this.x.filter ? this.x.filter(res, this) : res.data\r\n if (!d) {\r\n item.error = {\r\n message: $.loc.form.upload_no_data\r\n }\r\n } else if (d.error) {\r\n item.error = d.error\r\n } else if (!d.id) {\r\n item.error = {\r\n message: $.loc.ps($.loc.form.upload_invalid_data, JSON.stringify(d))\r\n }\r\n } else {\r\n item.value = d\r\n this.x.success && this.x.success(item.value, this, res)\r\n }\r\n this.nextUpload()\r\n if (item.error && item.error.message) $.alert(item.error.message)\r\n }).catch(error => {\r\n item.error = error\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n if (error.response && error.response.status) $.alert(error.response.status + ': ' + error)\r\n })\r\n }\r\n },\r\n nextUpload() {\r\n for (let item of this.list) {\r\n if (item.loading) return\r\n if (item.file && !item.loaded) {\r\n return this.upload(item)\r\n }\r\n }\r\n this.emiting = true\r\n let v = this.val()\r\n this.$emit('update:modelValue', v)\r\n this.trigger('change', v)\r\n },\r\n clickItem(e, item) {\r\n if (!item.value) return\r\n if (this.getOn('click:item')) {\r\n e.runType = 'click:item'\r\n e.value = item.value\r\n this.trigger(e, item.value)\r\n } else if (this.x.downloadSrc) {\r\n $.download($.urlServer(this.x.downloadSrc, item.value, this.x.data))\r\n }\r\n },\r\n remove(item) {\r\n item.source && item.source.cancel()\r\n let i = this.list.findIndex(v => v == item)\r\n this.list.splice(i, 1)\r\n this.nextUpload()\r\n },\r\n formText() {\r\n let v = this.val()\r\n return v.map(m => m.name).join(', ')\r\n },\r\n chooseFile() {\r\n this.$refs.file.click()\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n let n = item.value ? item.value.name : item.file.name\r\n return h('div', {\r\n class: ['w-fileupload-value', {\r\n 'z-loading': item.loading,\r\n 'z-err': item.error\r\n }],\r\n style: {\r\n '--w-upload-progress': item.file ? `${item.progress || 0}%` : '',\r\n width: $.unitSize(this.x.itemWidth)\r\n },\r\n title: item.error ? item.error.message : n,\r\n onclick: e => this.clickItem(e, item)\r\n }, [\r\n h('i', {\r\n class: ['w-fileupload-value-icon f-i', 'f-i-file-' + getSuffix(n)]\r\n }),\r\n item.error && h('div', {\r\n class: 'w-fileupload-value-error'\r\n }, $.loc.form.upload_error),\r\n h('div', {\r\n class: 'w-fileupload-value-text f-line-1'\r\n }, n), h('div', {\r\n class: 'w-fileupload-value-close f-i f-i-trash',\r\n title: $.loc.remove,\r\n onclick: e => {\r\n this.remove(item), e.stopPropagation()\r\n }\r\n })\r\n ])\r\n })\r\n },\r\n html_input_form() {\r\n return [\r\n this.html_input_hidden(),\r\n h('input', {\r\n type: 'file',\r\n ref: 'file',\r\n multiple: this.x.uploadLimit != 1,\r\n accept: this.getAccept(),\r\n onchange: this.fileSelected\r\n })\r\n ]\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n text: '选择文件',\r\n icon: '.f-i .f-i-upload',\r\n class: 'w-fileupload-button',\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input_list() {\r\n return this.list.length ? h('div', {\r\n ref: 'list',\r\n class: ['w-fileupload-list', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\r\n }, this.html_list()) : !this.isNormal ? h('div', {\r\n class: 'w-fileupload-nofile f-flex-align'\r\n }, $.loc.form.no_files) : null\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(this.canUpload && this.html_input_button(), this.html_input_list())\r\n },\r\n\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n for (let item of this.list) {\r\n if (item.loading) {\r\n return this.formErr({type: 'upload_loading'})\r\n }\r\n if (item.error) {\r\n return this.formErr({type: 'upload_invalid_file'})\r\n }\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n let v = this.val()\r\n return v.length == 0 ? '' : JSON.stringify(v)\r\n },\r\n errorTipTarget() {\r\n return this.$refs.uploadbbr || this\r\n },\r\n canUpload() {\r\n if (!this.isNormal) return false\r\n if (this.x.uploadLimit > 0 && this.list.length >= this.x.uploadLimit) return false\r\n return true\r\n },\r\n html_class() {\r\n return {'z-vertical': this.x.vertical}\r\n },\r\n html_style() {\r\n return {\r\n '--w-label-min-height': '32px',\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: () => this.warn(false)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-fileupload {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-fileupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-fileupload>.w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-fileupload input[type=\"file\"],\r\n .w-mediaupload input[type=\"file\"] {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n \r\n .w-fileupload.z-vertical .w-fileupload-list {\r\n flex-direction: column;\r\n }\r\n\r\n .w-fileupload-button {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-fileupload-value {\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background: #f8f8f8;\r\n overflow: hidden;\r\n }\r\n\r\n .w-fileupload-value.z-loading {\r\n background: linear-gradient(to right, #e5f3ff var(--w-upload-progress), #fff var(--w-upload-progress));\r\n }\r\n\r\n .w-fileupload-value.z-err {\r\n border-color: #f00;\r\n }\r\n\r\n .w-fileupload-value-icon {\r\n width: 30px;\r\n height: 30px;\r\n margin-right: 10px;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-fileupload-value-error {\r\n margin-right: 10px;\r\n color: #f00;\r\n }\r\n\r\n .w-fileupload-value-text {\r\n flex: 1;\r\n margin-right: 15px;\r\n max-width: 100%;\r\n }\r\n\r\n .w-fileupload-value-text:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n .w-fileupload.z-ds .w-fileupload-value-close {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-value-close {\r\n padding-right: 8px;\r\n color: #999;\r\n }\r\n\r\n .w-fileupload-value-close:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-fileupload-nofile {\r\n color: #999;\r\n height: 32px;\r\n }\r\n\r\n .w-fileupload.z-err .w-fileupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\n","import script from \"./FileUpload.vue?vue&type=script&lang=js\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=js\"\n\nimport \"./FileUpload.vue?vue&type=style&index=0&id=4fe506ce&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import MediaUpload from './MediaUpload.vue'\r\n\r\n export default {\r\n name: 'w-imageupload',\r\n mixins: [MediaUpload],\r\n methods: {\r\n x_default() {\r\n return {\r\n fileTypes: 'image',\r\n //valign: 'top',\r\n thumbnailWidth: 80,\r\n thumbnailHeight: 80,\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-mediaupload'\r\n },\r\n },\r\n }\r\n</script>\n","import script from \"./ImageUpload.vue?vue&type=script&lang=js\"\nexport * from \"./ImageUpload.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetAbs from './WidgetAbs.vue' \r\n import ViewAbs from './ViewAbs.vue' \r\n import SVGIcon from '../assets/SVGIcon.vue'\r\n import TemplatePreviewMedia from '../template/TemplatePreviewMedia.vue'\r\n import TemplateDateSheet from '../template/TemplateDateSheet.vue'\r\n \r\n\r\n export default {\r\n name: 'w-docview',\r\n mixins: [WidgetAbs, ViewAbs],\r\n provide() {\r\n return {\r\n providePubParent: null,\r\n provideBoxParent: null,\r\n provideRangeParent: null,\r\n }\r\n },\r\n beforeCreate() {\r\n $.docView = this\r\n $.q('#app').append('<div id=w-dfish-pops></div>')\r\n },\r\n methods: {\r\n el() {\r\n return document.getElementById('app')\r\n },\r\n getKey() {\r\n return null\r\n },\r\n previewVideo(src) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'video', src}})\r\n },\r\n previewImage(imgs, options) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'image', imgs, options}})\r\n },\r\n //dateOptions: {value, format, minValue, maxValue, success}\r\n dateSheet(dateOptions, dialogOptions) {\r\n this.exec({\r\n type: 'Dialog',\r\n template: TemplateDateSheet,\r\n width: '100%',\r\n height: '55%',\r\n position: 'b',\r\n cover: true,\r\n autoHide: true,\r\n data: dateOptions,\r\n }, null, dialogOptions)\r\n },\r\n html() {\r\n return [\r\n this.$slots.default && this.$slots.default(),\r\n this.html_pops(),\r\n h(SVGIcon),\r\n ]\r\n }\r\n },\r\n mounted() {\r\n if ($.x.debug) {\r\n\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./DocView.vue?vue&type=script&lang=js\"\nexport * from \"./DocView.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import THead from './TableTHead.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-tbody',\r\n mixins: [THead, Scroll],\r\n inject: ['table'],\r\n provide() {\r\n return {\r\n thead: null,\r\n provideInBody: true,\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.table.x, (x) => {\r\n this.x.scrollX = x.scrollX\r\n this.x.scrollY = this.table.fixed ? true : x.scrollY\r\n }, {\r\n immediate: true\r\n })\r\n },\r\n methods: {\r\n onScroll(e) {\r\n let t = this.table\r\n let hd = t.slotHooks.thead\r\n if (hd) {\r\n hd.el.scrollLeft = e.target.scrollLeft\r\n }\r\n },\r\n onScrollPosition(v) {\r\n let el = this.table.el()\r\n if (el && v == 'left' || v == 'center' || v == 'right') {\r\n el.setAttribute('w-scroll-x', v)\r\n }\r\n },\r\n onScrollAttributeChange(e) {\r\n let el = this.table.el()\r\n if (el) {\r\n e.forEach(m => {\r\n let n = m.attributeName\r\n m.target.hasAttribute(n) ? el.setAttribute(n, '') : el.removeAttribute(n)\r\n })\r\n }\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots(this.html_tbody())\r\n }\r\n },\r\n computed: {\r\n inBody() {\r\n return true\r\n },\r\n html_class() {\r\n return ['w-vertical f-flex-1 f-oh', this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./TableTBody.vue?vue&type=script&lang=js\"\nexport * from \"./TableTBody.vue?vue&type=script&lang=js\"\n\nexport default script","import {number, isNumber} from './number.js'\r\nimport {css} from './css.js'\r\n\r\nconst T = true\r\nconst F = false\r\nconst N = null\r\nconst doc = document\r\nconst cvs = document.documentElement\r\n\r\nconst _arr_comma = a => a.split(',')\r\n\r\nconst _snaptype = {\n\th : _arr_comma('21,12,34,43'),\n\tv : _arr_comma('41,14,32,23'),\n\ta : _arr_comma('41,32,14,23,21,34,12,43,11'),\n\tt: ['tt'], b: ['bb'], l: ['ll'], r: ['rr'], c: ['cc'], top: ['tt'], bottom: ['bb'], left: ['ll'], right: ['rr'],\n\ttl: ['11'], tr: ['22'], rt: ['22'], rb: ['33'], br: ['33'], bl: ['44'], lb: ['44'], lt: ['11'], \n\t'1': ['11'], '2': ['22'], '3': ['22'], '4': ['33'], '5': ['33'], '6': ['44'], '7': ['44'], '8': ['11']\n}\r\n\nconst _snapMag = (function() {\n\tvar r = [23,22,33,32,21,34,'rr','rl'], b = [14,23,34,43,33,44,'bb','tb'], i, o = {pix: {r:{}, b:{}}, mag: {l:{}, r:{}, t:{}, b:{}}, inner:{}};\n\ti = r.length; while (i --) o.pix.r[r[i]] = T;\n\ti = b.length; while (i --) o.pix.b[b[i]] = T;\n\tvar r = [21,34,22,33,'rr','rl'], b = [41,32,44,33,'bt','bb'], l = [12,43,11,44,'lr','ll'], t = [14,23,11,22,'tb','tt'];\n\ti = r.length; while (i --) o.mag.r[r[i]] = T;\n\ti = b.length; while (i --) o.mag.b[b[i]] = T;\n\ti = l.length; while (i --) o.mag.l[l[i]] = T;\n\ti = t.length; while (i --) o.mag.t[t[i]] = T;\n\tvar r = [11,22,33,44,'tt','bb','ll','rr'];\n\ti = r.length; while (i --) o.inner[r[i]] = T;\n\treturn o;\n})()\r\n\r\nconst canvasOffset = function(o) {\n\tvar a = bcr(o);\n\ta.right = cvs.clientWidth - a.right;\n\ta.bottom = cvs.clientHeight - a.bottom;\n\treturn a;\n}\r\n\r\nconst offset = function(a, b) {\n\tlet r = {top: 0, left: 0, width: a.offsetWidth, height: a.offsetHeight}\n\tdo {\n\t\tr.top += a.offsetTop\r\n r.left += a.offsetLeft\n\t} while((a = a.offsetParent) && b != a)\n\treturn r\n}\r\n\r\nconst bcr = function(a) {\n\tvar b = cvs.clientLeft, c = cvs.scrollLeft, d = cvs.clientTop, e = cvs.scrollTop, o = a && a != doc && (a.isWidget ? a.el() : a), r = o && o.getBoundingClientRect();\n\treturn r ? {left : r.left - b + c, top : r.top - d + e, right : r.right - b + c, bottom : r.bottom - d + e, width : r.width, height : r.height} :\n\t\ta == document ? {left: c, top: e, right: cvs.clientWidth + c, bottom: cvs.clientHeight + e, width: cvs.clientWidth, height: cvs.clientHeight} : N;\n}\r\n\n// 获取对齐吸附模式的位置参数。元素四个角,左上为1,右上为2,右下为3,左下为4。目标元素在前,浮动元素在后。如\"41\"代表目标元素的左下角和浮动元素的左上角粘合。\n// @ a -> width, b -> height, c -> toObj offset, d -> adsorb type, e - > fit?[是否自动选择位置,让可见区域最大化], f -> indent[缩进多少像素], u -> range?[浮动元素的限定范围元素]\nconst snap = function(a, b, c, d, e, f, u) {\n\tif (!c)\n\t\tc = bcr(doc);\n\telse if (c.nodeType)\n\t\tc = bcr(c);\n\telse if (c.isWidget)\n\t\tc = bcr(c.el());\n\telse if (c.originalEvent || c.clientX != N) {\n\t\tc = c.originalEvent || c;\n\t\tc = {left: c.clientX, right: c.clientX, top: c.clientY, bottom: c.clientY};\n\t}\n\tvar t = [], l = [], g, h, k = -1, f = number(f), ew = cvs.clientWidth, eh = cvs.clientHeight,\n\t\ts = d ? (_snaptype[d] || ('' + d).split(',')) : _snaptype.a;\r\n\tif (/[1-4]/.test(s[0])) {// 1-4是边角对齐 .\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = + s[i].charAt(0), h = + s[i].charAt(1);\n\t\t\tt.push((g === 1 || g === 2 ? c.top : c.bottom) - (h === 3 || h === 4 ? b : 0));\n\t\t\tl.push((g === 1 || g === 4 ? c.left : c.right) - (h === 2 || h === 3 ? a : 0));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// 计算可见面积,取最大的那个\n\t\t\t\tvar ot = t[i] < 0 ? -t[i] : 0,\n\t\t\t\t\tor = l[i] + a > ew ? l[i] + a - ew : 0,\n\t\t\t\t\tob = t[i] + b > eh ? t[i] + b - eh : 0,\n\t\t\t\t\tol = l[i] < 0 ? -l[i] : 0;\n\t\t\t\tm = s[i] === '14' || s[i] === '34' ? (a-or)*(b-ot) : s[i] === '23' || s[i] === '43' ? (a-ol)*(b-ot) :\n\t\t\t\t\ts[i] === '32' || s[i] === '12' ? (a-ol)*(b-ob) : (a-or)*(b-ob);\n\t\t\t\tif (!n || n < m) {\n\t\t\t\t\tn = m;\n\t\t\t\t\tk = i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {// t r b l 是边线中点对齐 .\r\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = s[i].charAt(0), h = s[i].charAt(1);\r\n\t\t\tt.push((g === 'r' || g === 'l' || g === 'c' ? (c.top + c.bottom) / 2 : (g === 't' ? c.top : c.bottom)) - (h === 'r' || h === 'l' || h === 'c' ? b / 2 : (h === 'b' ? b : 0)));\n\t\t\tl.push((g === 't' || g === 'b' || g === 'c' ? (c.left + c.right) / 2 : (g === 'r' ? c.right : c.left)) - (h === 't' || h === 'b' || h === 'c' ? a / 2 : (h === 'r' ? a : 0)));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else if (o || p) {\n\t\t\t\tif (d) {\n\t\t\t\t\tm = d == _snaptype.v ? (g == 1 || g == 2 ? - t[i] : t[i] + b - eh) : (g == 1 || g == 4 ? - l[i] : l[i] + a - ew);\n\t\t\t\t\tif (!n || n > m) {\n\t\t\t\t\t\tn = m;\n\t\t\t\t\t\tk = i;\n\t\t\t\t\t}\n\t\t\t\t} else if (k < 0)\n\t\t\t\t\tk = i;\n\t\t\t}\n\t\t}\n\t}\r\n\tif (k < 0) k = 0;\n\tvar y = s[k], o = {left : l[k], top : t[k], bottom: eh - (t[k] + b), right: ew - (l[k] + a), type : y};\r\n\t_snapMag.pix.r[y] && (o.pix_r = T);\n\t_snapMag.pix.b[y] && (o.pix_b = T);\n\t_snapMag.mag.r[y] && (o.mag_r = T, o.mag = 'r');\n\t_snapMag.mag.b[y] && (o.mag_b = T, o.mag = 'b');\n\t_snapMag.mag.l[y] && (o.mag_l = T, o.mag = 'l');\n\t_snapMag.mag.t[y] && (o.mag_t = T, o.mag = 't');\n\t_snapMag.inner[y] && (o.inner = T);\r\n\tif (f && o.mag) {\n\t\tif (o.inner) {\n\t\t\to.mag_t ? (o.top -= f) : o.mag_b ? (o.bottom -= f) : o.mag_r ? (o.right -= f) : (o.left -= f);\n\t\t} else {\n\t\t\to.mag_t ? (o.bottom -= f) : o.mag_b ? (o.top -= f) : o.mag_r ? (o.left -= f) : (o.right -= f);\n\t\t}\n\t}\n\tif (e) {// 自适应位置 \n\t\tvar l = o.left, r = o.right, b = o.bottom, t = o.top;\r\n\t\tif (o.mag_t || o.mag_b) {\n\t\t\tif (o.pix_r)\n\t\t\t\tr = Math.max(0, l < 0 ? r + l : r), l += o.right - r;\n\t\t\telse\n\t\t\t\tl = Math.max(0, r < 0 ? r + l : l), r += o.left - l;\n\t\t}\n\t\tif (o.mag_l || o.mag_r) {\n\t\t\tif (o.pix_b)\n\t\t\t\tb = Math.max(0, t < 0 ? b + t : b), t += o.bottom - b;\n\t\t\telse\n\t\t\t\tt = Math.max(0, b < 0 ? b + t : t), b += o.top - t;\n\t\t}\n\t\to.left = l, o.right = r, o.top = t, o.bottom = b;\n\t} \n\tif (d === 'cc' && o.top < 0)\n\t\to.top = 0;\n\tif (u) {\r\n \t\tvar s = canvasOffset(u);\n\t\to.top -= (s.top);\n\t\to.left -= (s.left);\n\t\to.right -= (s.right);\n\t\to.bottom -= (s.bottom);\r\n\t}\n\to.width = a;\n\to.height = b;\n\to.target = c; \n\treturn o;\n}\r\n\r\n// @a -> el, b -> snap option\nconst snapTo = function(a, b) {\n\tvar e = b.type;\n\tif (e) {\n\t\tif (b.pix_r) {\n\t\t\ta.style.right = b.right + 'px';\n\t\t\ta.style.left = '';\n\t\t} else {\n\t\t\ta.style.left = b.left + 'px';\n\t\t\ta.style.right = '';\n\t\t}\n\t\tif (b.pix_b) {\n\t\t\ta.style.bottom = b.bottom + 'px';\n\t\t\ta.style.top = '';\n\t\t} else {\n\t\t\ta.style.top = b.top + 'px';\r\n\t\t\ta.style.bottom = '';\n\t\t}\n\t} else\n\t\tcss(a, b)\n}\r\n\r\nexport {bcr, offset, snap, snapTo}\n","let _uidCnt = 0\r\nconst _uidKey = 'uid'\r\nconst _guid = () => (_uidCnt++).toString(36) + ':'\r\n\r\nexport default function(o) {\r\n if (o) {\r\n return o[_uidKey] || (o[_uidKey] = _guid())\r\n }\r\n return _guid()\r\n}","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Img from './Img.vue'\r\n import Menu from './Menu.vue'\r\n\r\n export default {\r\n name: 'w-button',\r\n pubParentName: 'w-buttonbar',\r\n mixins: [WidgetBase],\r\n props: ['text', 'icon', 'focusIcon', 'face', 'target', 'closable', 'loading', 'disabled', 'vertical', 'dropClass', 'dropPosition', 'dropHover', 'dropIcon'],\r\n inject: ['providePubParent'],\r\n emits: ['click:close'],\r\n data() {\r\n return {\r\n dropper: null,\r\n showDrop: false,\r\n mouses: {\r\n onmouseenter: e => {e.currentTarget.classList.add('z-hv'); this.x.dropHover && this.drop()},\r\n onmouseleave: e => e.currentTarget.classList.remove('z-hv'),\r\n onmousedown: e => e.currentTarget.classList.add('z-down'),\r\n onmouseup: e => e.currentTarget.classList.remove('z-down'),\r\n }\r\n }\r\n },\r\n watch: {\r\n disabled(a) {\r\n a && $.q('.z-hv', this.el()).removeClass('z-hv')\r\n }\r\n },\r\n methods: {\r\n ajaxLock(a) {\r\n a = a == null ? true : a\r\n this.x.loading = a\r\n },\r\n drop() {\r\n this.showDrop = true\r\n },\r\n onclick(e) {\r\n if (this.isMore) {\r\n this.drop()\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n clickDrop(e) {\r\n if (this.isDisabled) return\r\n e.stopPropagation()\r\n this.drop()\r\n },\r\n html_drop() {\r\n return \r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n if (this.x.loading) {\r\n r.push(h('div', {\r\n class: 'w-button-loading f-abs-full f-flex-center'\r\n }, h(Img, {\r\n src: '#f-svg-loading'\r\n })))\r\n }\r\n if (this.x.icon) {\r\n r.push(this.html_icon(this.x.focusIcon && this.isCurrent ? this.x.focusIcon : this.x.icon,\r\n 'w-button-icon f-flex-center f-height'))\r\n }\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-button-text'\r\n }, t))\r\n }\r\n if (this.isMore) {\r\n r.push(h(Img, {\r\n class: 'w-button-more f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down'\r\n }))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-button-close f-flex-center'\r\n }, h('i', {\r\n class: 'w-button-close-icon f-i f-i-close',\r\n onclick: this.clickClose,\r\n })))\r\n }\r\n return [\r\n h('div', {\r\n class: 'w-button-main f-oh f-height',\r\n ...(this.isCombo && !this.isDisabled && this.mouses),\r\n }, r),\r\n this.isCombo && h(Img, {\r\n class: 'w-button-drop f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down',\r\n ...(!this.isDisabled && this.mouses),\r\n onclick: this.clickDrop\r\n }),\r\n this.showDrop ? h(Menu, {\r\n context: this,\r\n ownproperty: true,\r\n minWidth: $.bcr(this.el()).width,\r\n autoHide: true,\r\n dropHover: this.x.dropHover,\r\n dropClass: this.x.dropClass,\r\n dropPosition: this.x.dropPosition,\r\n snap: {\r\n target: () => this.el(),\r\n position: this.x.dropPosition || 'v',\r\n indent: 1\r\n },\r\n onClose: () => this.showDrop = false\r\n }, this.$slots) : []\r\n ]\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n isMore() {\r\n return !!this.$slots.default && !this.getOn('click')\r\n },\r\n isCombo() {\r\n return !!(this.$slots.default && this.getOn('click'))\r\n },\r\n isDisabled() {\r\n return this.x.disabled || this.x.loading\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.isDisabled,\r\n class: {\r\n [`z-face-${this.x.face}`]: this.x.face,\r\n 'z-combo': this.isCombo,\r\n 'z-more': this.isMore,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-loading': this.x.loading,\r\n 'z-vertical': this.x.vertical,\r\n 'z-closable': this.x.closable\r\n },\r\n onclick: this.onclick,\r\n ...(!this.isCombo && this.mouses),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./Button.vue?vue&type=script&lang=js\"\nexport * from \"./Button.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FileUpload.vue?vue&type=style&index=0&id=4fe506ce&lang=css\"","<script>\r\n export default {\r\n name: 'w-columns'\r\n }\r\n</script>\r\n\r\n","import script from \"./TableColumns.vue?vue&type=script&lang=js\"\nexport * from \"./TableColumns.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Swiper.vue?vue&type=style&index=0&id=6fe3e638&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, ref\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-checkbox',\r\n pubParentName: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['text', 'checked', 'partialSubmit', 'minSize', 'maxSize'],\r\n inject: ['providePubParent', 'provideBoxParent'],\r\n emits: ['change', 'update:checked', 'click'],\r\n data() {\r\n return {\r\n isPlural: true,\r\n indeterminate: false,\r\n modifiedChecked: false,\r\n defaultChecked: false,\r\n }\r\n },\r\n created() {\r\n if (this.provideBoxParent) {\r\n this.provideBoxParent.boxProxy = this\r\n }\r\n this.defaultChecked = this.isChecked\r\n this.modifiedChecked = this.isChecked\r\n },\r\n methods: {\r\n val(a) {\r\n if (arguments.length == 0) {\r\n return this.getVal()\r\n }\r\n this.setVal(a, {\r\n type: 'change',\r\n target: this.$refs.v\r\n })\r\n },\r\n getVal() {\r\n return this.isChecked ? this.value : ''\r\n },\r\n setVal(checked, event) {\r\n let p = this.pubParent\r\n let v = this.checkValue\r\n let rdo = this.input_type === 'radio'\r\n let mv = this.x.modelValue\r\n if (rdo) {\r\n mv = checked ? $.string(v) : ''\r\n } else {\r\n mv = checked ? $.idsAdd(mv, v) : $.idsRemove(mv, v)\r\n }\r\n this.x.modelValue = mv\r\n if (rdo) {\r\n this.siblings().forEach(sb => sb.x.modelValue = mv)\r\n }\r\n this.$emit('update:modelValue', mv)\r\n this.trigger(event, mv)\r\n this.pubParent && this.pubParent.trigger(event, mv)\r\n },\r\n formVal() {\r\n return !this.isDisabled && this.isChecked ? this.x.value : ''\r\n },\r\n groupFormVal(a) {\r\n if (a == null) {\r\n let r = []\r\n $.lodash.each(this.siblings(null, true), f => {\r\n let g = f.formVal()\r\n if (g != null && g != '') r.push(g)\r\n })\r\n return r.join(',')\r\n }\r\n $.lodash.each(this.siblings(), f => f.val($.idsAny(a, f.checkValue)))\r\n },\r\n check(a) {\r\n if (!this.isNormal) return\r\n this.val(a)\r\n },\r\n // @a -> T/F 是否只获取所有选中项, b -> 是否只选择可用的\r\n siblings(a, b) {\r\n return $.lodash.map($.q(':input[name=\"' + this.input_name + '\"]:not([w-form-ignore] :input)' + (b ? ':not(:disabled)' : '') +\r\n (a === true ? ':checked' : a === false ? ':not(:checked)' : (a || '')), this.ownerView.el()), e => $(e))\r\n },\r\n relate() {\r\n // implement\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n if (this.pubParent) {\r\n this.pubParent.reset(empty)\r\n } else {\r\n this.val(empty || !this.defaultChecked ? false : true)\r\n }\r\n },\r\n onclick(e) {\r\n //implement\r\n e.stopPropagation()\r\n },\r\n onbasechange(e) {\r\n if (this.warnClass && this.x.name) {\r\n this.ownerView.fAll(this.x.name).forEach(v => v.warn && v.warn(false))\r\n }\r\n this.setVal(e.target.checked, e)\r\n },\r\n onchange(e) {\r\n this.onbasechange(e)\r\n },\r\n isModified(original) {\r\n if (this.pubParent) {\r\n return this.pubParent.isModified(original)\r\n } else {\r\n let c = original ? this.defaultChecked : this.modifiedChecked\r\n return c == this.isChecked\r\n }\r\n },\r\n saveModified(original) {\r\n if (this.pubParent) {\r\n this.pubParent.saveModified(original)\r\n } else {\r\n this.modifiedChecked = this.isChecked\r\n if (original) {\r\n this.defaultChecked = this.modifiedChecked\r\n }\r\n }\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n html_input() {\r\n return [h(this.input_tag, {\r\n ref: 'v',\r\n class: 'w-input-value',\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n checked: this.isChecked,\r\n disabled: this.isDisabled,\r\n onclick: e => {\r\n if (this.isNormal) {\r\n this.indeterminate = false\r\n } else e.preventDefault()\r\n },\r\n onchange: this.onchange,\r\n ...this.input_prop,\r\n }), h('em', {\r\n ref: 'appear',\r\n class: this.$options.name + '-appear'\r\n }, h('i', {\r\n class: this.input_icon\r\n })),\r\n this.x.text ?\r\n h('span', {\r\n class: this.$options.name + '-text'\r\n }, this.x.text) : null\r\n ]\r\n },\r\n html_main() {\r\n return h('label', {\r\n class: 'w-input',\r\n onclick: this.onclick,\r\n }, this.html_input())\r\n },\r\n html_target() {\r\n return h(Horizontal, {\r\n class: this.$options.name + '-target',\r\n ref: 'target'\r\n }, this.$slots)\r\n },\r\n html() {\r\n return this.pubParent && this.pubParent.x.vertical ? [this.html_self(true), this.html_target()] : this.html_self()\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minSize: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && v.split(',').length < $.number(r))\r\n return this.formErr(q, [r])\r\n },\r\n maxSize: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && v.split(',').length > $.number(r))\r\n return this.formErr(q, [r])\r\n },\r\n }\r\n },\r\n rules() {\r\n return {\r\n required: this.x.required != null ? this.x.required : (this.pubParent && this.pubParent.x.required),\r\n minSize: this.x.minSize != null ? this.x.minSize : (this.pubParent && this.pubParent.x.minSize),\r\n maxSize: this.x.maxSize != null ? this.x.maxSize : (this.pubParent && this.pubParent.x.maxSize),\r\n }\r\n },\r\n input_type() {\r\n return 'checkbox'\r\n },\r\n input_name() {\r\n return this.x.name || (this.pubParent && this.pubParent.x.name)\r\n },\r\n input_value() {\r\n // 如果没有定义value,必须返回空字符串。因为当<input type=\"checkbox\">没有value属性时,它的表单值会变成\"on\"\r\n return this.x.value == null ? '' : this.x.value\r\n },\r\n input_prop() {\r\n return {\r\n indeterminate: this.indeterminate,\r\n 'w-partialsubmit': this.x.partialSubmit ? 1 : null,\r\n }\r\n },\r\n input_icon() {\r\n return 'f-i f-i-check'\r\n },\r\n checkValue() {\r\n return this.x.value\r\n },\r\n isChecked() {\r\n return $.idsAny(this.x.modelValue, this.checkValue)\r\n },\r\n isDisabled() {\r\n return this.x.disabled != null ? this.x.disabled : (this.pubParent && this.pubParent.disabled)\r\n },\r\n isReadonly() {\r\n return this.x.readonly != null ? this.x.readonly : (this.pubParent && this.pubParent.readonly)\r\n },\r\n html_class() {\r\n return {\r\n 'z-half': this.indeterminate\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.$refs.target) {\r\n this.$watch(() => this.x.modelValue, (v) => {\r\n this.siblings().forEach((sb) => {\r\n let t = sb.$refs.target\r\n if (t) this.ownerView.fAll(null, t.$el).forEach(n => n.x.disabled = !sb.isChecked)\r\n })\r\n }, {immediate: true})\r\n }\r\n },\r\n }\r\n</script>\n","import script from \"./CheckBox.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBox.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tip.vue?vue&type=style&index=0&id=129e762e&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./DialogMove.vue?vue&type=style&index=0&id=5a3b6ded&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Timeline.vue?vue&type=style&index=0&id=ab029c5a&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TemplateDateSheet.vue?vue&type=style&index=0&id=e271d2a6&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FormBase.vue?vue&type=style&index=0&id=609034ec&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['src', 'children'],\r\n data() {\r\n return {\r\n loading: false,\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n getSrc() {\r\n return (this.x || this.$props).src\r\n },\r\n request(fn) {\r\n let src = this.getSrc()\r\n if (src && !this.loading) {\r\n this.showLoading(true)\r\n if (typeof src === 'function') {\r\n src(this).then(res => {\r\n this.showLoading(false)\r\n this.loaded = true\r\n fn && fn()\r\n }).catch(ex => {\r\n this.showLoading(false)\r\n this.loaded = true\r\n })\r\n }\r\n }\r\n },\r\n showLoading(a) {\r\n this.loading = a\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./SrcParent.vue?vue&type=script&lang=js\"\nexport * from \"./SrcParent.vue?vue&type=script&lang=js\"\n\nexport default script","<template>\r\n <w-loading />\r\n</template>\r\n\r\n","import { render } from \"./TemplateLoading.vue?vue&type=template&id=1e19074e\"\nconst script = {}\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-label',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['text', 'suffix', 'vertical'],\r\n methods: {\r\n html_slots() {\r\n return h('label', {class: 'w-label-text'}, \r\n h('span', this.$slots.default ? this.$slots.default() : this.x.text + (this.x.suffix == null ? '' : this.x.suffix)))\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n this.x.vertical && (this.$parent.labelVertical = true)\r\n return ['f-oh f-br' + (this.x.vertical ? ' z-vertical' : ''), this.html_align_class]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Label.vue?vue&type=script&lang=js\"\nexport * from \"./Label.vue?vue&type=script&lang=js\"\n\nexport default script","<template>\r\n <svg style=\"display:none;width:0;height:0\" width=\"0\" height=\"0\" focusable=\"false\" aria-hidden=\"true\">\r\n <symbol id=\"f-svg-loading\" viewBox=\"0 0 50 50\">\r\n <path\r\n d=\"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\"\r\n transform=\"rotate(86.9154 25 25)\">\r\n </path>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-1\" viewBox=\"10 10 80 80\">\r\n <circle cx=\"50\" cy=\"50\" r=\"30\" />\r\n </symbol>\r\n <symbol id=\"f-svg-loading-2\" viewBox=\"0 0 24 30\">\r\n <rect x=\"0\" y=\"8.66115\" width=\"4\" height=\"12.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"8\" y=\"6.16115\" width=\"4\" height=\"17.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"16\" y=\"6.33885\" width=\"4\" height=\"17.3223\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-3\" viewBox=\"0 0 1024 1024\">\r\n <path\r\n d=\"M514.048 337.715a32 32 0 0 1-32-32V135.168a32 32 0 1 1 64 0v170.534a32 32 0 0 1-32 32z m-1.28 581.799a32 32 0 0 1-32-32V714.406a32 32 0 1 1 64 0v173.095a32 32 0 0 1-32 32zM305.011 543.347H135.744a32 32 0 0 1 0-64h169.267a32 32 0 0 1 0 64z m583.079 0H713.83a32 32 0 0 1 0-64h174.26a32 32 0 1 1 0 64zM245.978 806.4a32 32 0 0 1-22.656-54.669L342.643 632.32a32 32 0 0 1 45.325 45.325L268.646 796.979a31.898 31.898 0 0 1-22.668 9.344z m408.435-408.5a32 32 0 0 1-22.656-54.68l123.558-123.56a32 32 0 1 1 45.325 45.3L677.12 388.544a31.898 31.898 0 0 1-22.669 9.357z m121.523 411.06a31.885 31.885 0 0 1-22.669-9.344l-122.15-122.15a32 32 0 1 1 45.325-45.325l122.15 122.15a32 32 0 0 1-22.656 54.669zM364.672 397.632a31.923 31.923 0 0 1-22.669-9.344L221.273 267.52a32 32 0 1 1 45.325-45.325l120.73 120.743a32 32 0 0 1-22.656 54.668z m0 0\"\r\n p-id=\"4486\"></path>\r\n </symbol>\r\n </svg>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n name: 'w-svg-loading'\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-svg {\r\n width: 20px;\r\n height: 20px;\r\n fill: #777;\r\n }\r\n \r\n .f-svg-loading {\r\n animation: f-svg-key-rotate .6s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1 {\r\n animation: f-svg-key-rotate 1.5s linear infinite;\r\n }\r\n \r\n .f-svg-loading-3 {\r\n animation: f-svg-key-rotate 2s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1>use {\r\n stroke: #777;\r\n stroke-width: 6;\r\n fill: none;\r\n animation: f-svg-key-dash 1.5s linear infinite;\r\n }\r\n\r\n @keyframes f-svg-key-rotate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n @keyframes f-svg-key-dash {\r\n 0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -50;\r\n }\r\n 100% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -188;\r\n }\r\n }\r\n</style>\n","import { render } from \"./SVGIcon.vue?vue&type=template&id=a53c637e\"\nimport script from \"./SVGIcon.vue?vue&type=script&lang=js\"\nexport * from \"./SVGIcon.vue?vue&type=script&lang=js\"\n\nimport \"./SVGIcon.vue?vue&type=style&index=0&id=a53c637e&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import Button from './Button.vue'\r\n\r\n export default {\r\n name: 'w-submitbutton',\r\n pubParentName: 'w-buttonbar',\r\n mixins: [Button],\r\n computed: {\r\n html_class() {\r\n return 'w-button'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n \r\n</style>\r\n","import script from \"./SubmitButton.vue?vue&type=script&lang=js\"\nexport * from \"./SubmitButton.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SlidePicker.vue?vue&type=style&index=0&id=2b33e34a&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Scroll from './Scroll.vue'\r\n import PubParent from './PubParent.vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n\r\n export default {\r\n name: 'w-timeline',\r\n mixins: [Scroll, PubParent],\r\n props: ['face', 'vertical'],\r\n methods: {\r\n indent() {\r\n let len = this.$refs.wrap.querySelectorAll('.w-timeline-item').length\r\n if (len <= 1) return\r\n let vt = this.x.vertical\r\n let size = vt ? 'width' : 'height'\r\n let prevWidth = 0\r\n let nextWidth = 0\r\n for (let i = 0; i < len; i++) {\r\n let prev = this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i}\"]`)\r\n let next = i < len - 1 && this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i+1}\"]`)\r\n let prevBcr = $.bcr(prev.querySelector('.w-timeline-item-icon-img'))\r\n if (prev.parentNode == this.$refs.prev) {\r\n prevWidth = Math.max(prevWidth, prevBcr[size])\r\n } else {\r\n nextWidth = Math.max(nextWidth, prevBcr[size])\r\n }\r\n if (next && prev.parentNode != next.parentNode) {\r\n let nextBcr = $.bcr(next.querySelector('.w-timeline-item-icon-img'))\r\n if (vt && prevBcr.bottom + 25 > nextBcr.top) {\r\n $.q(next).css({\r\n marginTop: prevBcr.bottom + 25 - nextBcr.top\r\n })\r\n } else if (!vt && prevBcr.right + 50 > nextBcr.left) {\r\n $.q(next).css({\r\n marginLeft: prevBcr.right + 50 - nextBcr.left\r\n })\r\n }\r\n }\r\n }\r\n let prevItems = $.q('.w-timeline-item', this.$refs.prev)\r\n prevItems.each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginRight' : 'marginBottom']: (prevWidth - bcr[size]) / 2\r\n })\r\n })\r\n $.q('.w-timeline-item', this.$refs.next).each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginLeft' : 'marginTop']: (nextWidth - bcr[size]) / 2\r\n })\r\n })\r\n prevItems.length && $.q(this.$refs.next).css({\r\n [vt ? 'marginLeft' : 'marginTop']: `-${nextWidth/2 + prevWidth/2}px`\r\n })\r\n\r\n let firstBcr = $.bcr($.q(`.w-timeline-item[w-index=\"0\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let lastBcr = $.bcr($.q(`.w-timeline-item[w-index=\"${len-1}\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let wrapBcr = $.bcr(this.$refs.wrap)\r\n if (this.x.vertical) {\r\n $.q(this.$refs.line).css({\r\n width: 2,\r\n height: lastBcr.top - firstBcr.bottom,\r\n top: firstBcr.bottom - wrapBcr.top,\r\n left: (firstBcr.left + firstBcr.right) / 2 - wrapBcr.left - 1,\r\n })\r\n } else {\r\n $.q(this.$refs.line).css({\r\n width: lastBcr.left - firstBcr.right,\r\n height: 2,\r\n top: (firstBcr.top + firstBcr.bottom) / 2 - wrapBcr.top - 1,\r\n left: firstBcr.right - wrapBcr.left\r\n })\r\n }\r\n\r\n },\r\n html_slots() {\r\n let prevSlots = []\r\n let nextSlots = []\r\n let vt = this.x.vertical\r\n this.slots_children().forEach((c, i) => {\r\n $.lodash.set(c, 'props.index', i)\r\n if (vt) {\r\n (c.props.position == 'right' ? prevSlots : nextSlots).push(c)\r\n } else {\r\n (c.props.position == 'bottom' ? nextSlots : prevSlots).push(c)\r\n }\r\n })\r\n return this.html_scroll_slots(\r\n h('div', {\r\n ref: 'wrap',\r\n class: 'w-timeline-wrap'\r\n }, [\r\n h('div', {\r\n ref: 'line',\r\n class: 'w-timeline-line'\r\n }),\r\n h('div', {\r\n ref: 'prev',\r\n class: ['w-timeline-prev', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\r\n }, prevSlots),\r\n h('div', {\r\n ref: 'next',\r\n class: ['w-timeline-next', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\r\n }, nextSlots),\r\n ])\r\n )\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return [this.html_scroll_class,\r\n {\r\n ['z-face-' + this.x.face]: this.x.face,\r\n 'z-horizontal': !this.x.vertical,\r\n 'z-vertical': this.x.vertical\r\n }\r\n ]\r\n }\r\n },\r\n mounted() {\r\n this.indent()\r\n const observe = () => {\r\n if (this.$refs.wrap && this.$refs.next) {\r\n $.q('.w-timeline-item', this.$refs.wrap).css({[this.x.vertical ? 'marginTop' : 'marginLeft']: 0})\r\n $.q(this.$refs.next).css({[this.x.vertical ? 'marginTop' : 'marginLeft']: 0})\r\n this.indent()\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.$refs.wrap)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-timeline-wrap {\r\n flex-shrink: 0;\r\n display: flex;\r\n position: relative;\r\n width: max-content;\r\n min-width: 100%;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-wrap {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-prev .w-timeline-item {\r\n flex-direction: column-reverse;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-wrap,\r\n .w-timeline.z-vertical .w-timeline-item {\r\n flex-direction: row;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev,\r\n .w-timeline.z-vertical .w-timeline-next {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev .w-timeline-item {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n .w-timeline-prev,\r\n .w-timeline-next {\r\n position: relative;\r\n display: flex;\r\n flex: 1;\r\n flex-shrink: 0;\r\n --w-compat-gap: 25px;\r\n gap: var(--w-compat-gap);\r\n }\r\n \r\n .w-timeline-prev:empty,\r\n .w-timeline-next:empty {\r\n display: none;\r\n }\r\n\r\n .w-timeline-item {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-icon {\r\n align-items: center;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-main {\r\n padding: 10px 0;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item-main {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item.z-right {\r\n text-align: right;\r\n }\r\n\r\n .w-timeline-item-icon {\r\n display: flex;\r\n flex-shrink: 0;\r\n position: relative;\r\n line-height: 1;\r\n }\r\n\r\n .w-timeline-item-icon-img.z-default {\r\n display: inline-block;\r\n width: 18px;\r\n height: 18px;\r\n border: 2px solid #1890ff;\r\n border-radius: 100px;\r\n background: #fff;\r\n color: #1890ff;\r\n }\r\n\r\n .w-timeline-line {\r\n position: absolute;\r\n background: #ddd;\r\n }\r\n \r\n</style>\n","import script from \"./Timeline.vue?vue&type=script&lang=js\"\nexport * from \"./Timeline.vue?vue&type=script&lang=js\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=ab029c5a&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Rate.vue?vue&type=style&index=0&id=68b4bc40&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Split.vue?vue&type=style&index=0&id=64ffe5ca&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Grid.vue?vue&type=style&index=0&id=5e2b9c3a&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Spinner.vue?vue&type=style&index=0&id=c558dc86&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n mergeProps\r\n } from 'vue'\r\n import Scroll from './Scroll.vue'\r\n import PubParent from './PubParent.vue'\r\n import SrcParent from './SrcParent.vue'\r\n\r\n\r\n export default {\r\n name: 'w-tree',\r\n mixins: [Scroll, PubParent, SrcParent],\r\n emits: ['click:item'],\r\n provide() {\r\n return {\r\n provideLevel: -1,\r\n provideParentLeaf: null,\r\n provideParentTR: null,\r\n }\r\n },\r\n methods: {\r\n getCurrent() {\r\n const leaf = $.q('.w-leaf.z-on', this.el())[0]\r\n return leaf && $(leaf)\r\n },\r\n viewCurrent(f) {\r\n f = f || this.getCurrent()\r\n if (f) {\r\n f.expandToView()\r\n this.$nextTick(() => f.scrollIntoView())\r\n }\r\n },\r\n html_slots() {\r\n let r\r\n let chd = this.x.children\r\n if (this.$slots.default) {\r\n if (Array.isArray(chd)) {\r\n r = chd.map(item => this.$slots.default({item}))\r\n } else {\r\n r = []\r\n }\r\n }\r\n return this.html_scroll_slots(r)\r\n }\r\n },\r\n computed: {\r\n level() {\r\n return -1\r\n },\r\n html_props() {\r\n return {\r\n class: this.html_scroll_class\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.children) this.request()\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tree {\r\n text-align: left;\r\n box-sizing: border-box;\r\n }\r\n\r\n</style>\r\n","import script from \"./Tree.vue?vue&type=script&lang=js\"\nexport * from \"./Tree.vue?vue&type=script&lang=js\"\n\nimport \"./Tree.vue?vue&type=style&index=0&id=53bcfba2&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-password',\r\n mixins: [FormBase],\r\n data() {\r\n return {\r\n hasBorder: true\r\n }\r\n },\r\n methods: {\r\n\r\n },\r\n computed: {\r\n input_type() {\r\n return 'password'\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Password.vue?vue&type=script&lang=js\"\nexport * from \"./Password.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-html',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['line'],\r\n computed: {\r\n html_props() {\r\n let line = this.x.line\r\n return {\r\n class: [\r\n (this.x.align || this.x.valign) && 'w-horizontal',\r\n line != null && 'f-line',\r\n this.html_align_class\r\n ],\r\n style: line != null && {\r\n '-webkit-line-clamp': line\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-html {\r\n box-sizing: border-box;\r\n flex-wrap: wrap;\r\n }\r\n</style>\n","import script from \"./Html.vue?vue&type=script&lang=js\"\nexport * from \"./Html.vue?vue&type=script&lang=js\"\n\nimport \"./Html.vue?vue&type=style&index=0&id=612320da&lang=css\"\n\nexport default script","<!-- <template>\r\n <div v-bind=\"html_binds\">\r\n <div class=\"_t\">\r\n <div class=\"_s\"></div>\r\n <i v-if=\"pubParent.x.face === 'bubble'\"\r\n :class=\"'_caret f-i f-i-caret-' + (leftIndex != null ? 'right' : rightIndex != null ? 'left' : topIndex != null ? 'down' : 'up')\"></i>\r\n </div>\r\n \r\n </div>\r\n</template> -->\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Vertical from './Vertical.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-timeline-item',\r\n pubParentName: 'w-timeline',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['position', 'index'],\r\n methods: {\r\n html_slots() {\r\n let text = h('div', {\r\n class: 'w-timeline-item-main f-br'\r\n }, h('div', {\r\n class: 'w-timeline-item-main-text'\r\n }, this.$slots))\r\n let icon = h('div', {\r\n ref: 'icon',\r\n class: 'w-timeline-item-icon'\r\n }, this.$slots.icon ? h('div', {\r\n class: 'w-timeline-item-icon-img'\r\n }, this.$slots.icon()) : h('i', {\r\n class: 'w-timeline-item-icon-img z-default'\r\n }))\r\n return [icon, text]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'z-' + (this.x.position || (this.pubParent.x.vertical ? 'left' : 'bottom'))\r\n },\r\n html_props() {\r\n return {\r\n 'w-index': this.x.index\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./TimelineItem.vue?vue&type=script&lang=js\"\nexport * from \"./TimelineItem.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, mergeProps\r\n } from 'vue'\r\n import TD from './TableTD.vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-th',\r\n mixins: [WidgetBase, TD],\r\n props: ['sortable', 'sortOrders', 'sortOrderDefault'],\r\n inject: ['thead'],\r\n emits: ['click:sort'],\r\n data() {\r\n return {\r\n sortType: null,\r\n sortOrder: null,\r\n }\r\n },\r\n methods: {\r\n onClick(e) {\r\n if (this.x.sortable) {\r\n this.clickSort(e, 'toggle')\r\n }\r\n },\r\n clickSort(e, order) {\r\n e.stopPropagation()\r\n let o = this.sortOrder\r\n if(this.thead.sortUID != this.uid) {\r\n o = null\r\n }\r\n let orders = this.x.sortOrders || ['asc', 'desc', null]\r\n if (order === 'toggle') {\r\n let i = orders.indexOf(o)\r\n o = orders[i < 0 || i == 2 ? 0 : i + 1]\r\n } else {\r\n o = o == order ? null : order\r\n }\r\n this.sortOrder = o\r\n this.thead.sortUID = this.uid\r\n e.value = o\r\n this.$emit('click:sort', e, o)\r\n },\r\n html_slots() {\r\n return h(Horizontal, {class: 'w-th-wrap', valign: 'middle', align: this.align || this.col.align}, {default: () => [\r\n h('div', {class: 'w-th-title'}, this.$slots),\r\n this.sortable ? h('div', {class: 'w-th-sort f-flex-column f-flex-center f-oh'}, [\r\n h('i', {class: 'f-i f-i-caret-up f-oh w-th-sort-up', onClick: e => this.clickSort(e, 'asc')}),\r\n h('i', {class: 'f-i f-i-caret-down f-oh w-th-sort-down', onClick: e => this.clickSort(e, 'desc')}),\r\n ]) : []\r\n ]})\r\n }\r\n },\r\n computed: {\r\n col() {\r\n return this.table.colgroup[this.$.vnode.dfishColIndex] || false\r\n },\r\n tagName() {\r\n return 'th'\r\n },\r\n html_props() {\r\n return mergeProps(this.td_props(), {\r\n class: {'z-sortable': this.x.sortable, [`z-${this.sortOrder}`]: this.sortOrder && this.thead.sortUID == this.uid},\r\n onClick: this.onClick,\r\n }) \r\n },\r\n }\r\n }\r\n</script>\r\n","import script from \"./TableTH.vue?vue&type=script&lang=js\"\nexport * from \"./TableTH.vue?vue&type=script&lang=js\"\n\nexport default script","<template>\r\n <slot></slot>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-dialog-move',\r\n methods: {\r\n onmousedown(e) {\r\n let o = $.dialog(e.currentTarget)\r\n if (o) {\r\n if (o.x.movable !== false && !o.x.fullScreen) {\r\n let d = o.el()\r\n let sl = d.style.left\r\n let sr = d.style.right\r\n let st = d.style.top\r\n let sb = d.style.bottom\r\n let b = sb ? -1 : 1\r\n let r = sr ? -1 : 1\r\n let v = b < 0 ? 'bottom' : 'top'\r\n let h = r < 0 ? 'right' : 'left'\r\n let x = e.clientX\r\n let y = e.clientY\r\n let t = $.number(b < 0 ? sb : st)\r\n let l = $.number(r < 0 ? sr : sl)\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move></div>').appendTo(document.body));\r\n let cx = $.numRange(e.clientX, 0, w)\r\n let cy = $.numRange(e.clientY, 0, n)\r\n o.setPosition({[v]: (t + b * (cy - y)) + 'px', [h]: (l + r * (cx - x)) + 'px'})\r\n }, function(e, moved) {\r\n moved && m && m.remove()\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.$el.nextElementSibling.addEventListener('mousedown', this.onmousedown)\r\n },\r\n unmounted() {\r\n this.$el.nextElementSibling.removeEventListener('mousedown', this.onmousedown)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog-move {\r\n position: fixed;\r\n background: #fff;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n z-index: 101;\r\n }\r\n</style>\n","import { render } from \"./DialogMove.vue?vue&type=template&id=5a3b6ded\"\nimport script from \"./DialogMove.vue?vue&type=script&lang=js\"\nexport * from \"./DialogMove.vue?vue&type=script&lang=js\"\n\nimport \"./DialogMove.vue?vue&type=style&index=0&id=5a3b6ded&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-form',\r\n mixins: [FormBase],\r\n props: ['vertical'],\r\n methods: {\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n this.$slots.default && this.$slots.default()\r\n ]\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n required: (v, r, q) => {\r\n if (r && (!v || v === '[]' || v === '{}')) {\r\n return this.formErr(q)\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n let mv = this.x.modelValue\r\n return mv == null ? '' : typeof mv === 'object' ? JSON.stringify(mv) : mv\r\n },\r\n html_class() {\r\n return [{\r\n 'z-vertical': this.x.vertical,\r\n }]\r\n },\r\n html_style() {\r\n return {\r\n '--w-form-gap': $.unitSize(this.x.gap)\r\n }\r\n },\r\n main_prop() {\r\n return this.name && {\r\n onclick: e => this.warn(false)\r\n }\r\n }\r\n },\r\n }\r\n</script>\n","import script from \"./Form.vue?vue&type=script&lang=js\"\nexport * from \"./Form.vue?vue&type=script&lang=js\"\n\nexport default script","if (window.Range && !Range.prototype.movePoint) {\r\n if (Range.prototype.__defineGetter__) {\r\n Range.prototype.__defineGetter__('text', function() {\r\n return this.toString()\r\n });\r\n Range.prototype.__defineSetter__('text', function(a) {\r\n this.deleteContents()\r\n this.insertNode(document.createTextNode(a))\r\n });\r\n }\r\n Range.prototype.movePoint = function(a, b) {\r\n var c = this.startContainer.firstChild || this.startContainer,\r\n d, i = a,\r\n l = 0,\r\n b = b == null ? a : b;\r\n do {\r\n this.selectNodeContents(c);\r\n l = this.toString().length;\r\n i -= l;\r\n } while (i > 0 && (c = c.nextSibling));\r\n c = d = this.startContainer;\r\n i += l;\r\n var j = b - a + i,\r\n l = 0;\r\n do {\r\n this.selectNodeContents(d);\r\n l = this.toString().length;\r\n j -= l;\r\n } while (j > 0 && (d = d.nextSibling));\r\n this.setStart(c.firstChild || c, i);\r\n if (d) {\r\n var e = d;\r\n while (e.firstChild) e = e.firstChild;\r\n this.setEnd(e, l + j);\r\n }\r\n };\r\n Range.prototype.select = function() {\r\n let s = window.getSelection()\r\n s.removeAllRanges()\r\n s.addRange(this)\r\n };\r\n}\r\n\r\nconst rngSelection = function() {\r\n let s = window.getSelection()\r\n return s.rangeCount && s.getRangeAt(0)\r\n}\r\nconst rngElement = function() {\r\n let s = rngSelection()\r\n return s && s.startContainer.parentNode\r\n}\r\nconst rngCursor = function(a, b) {\r\n let r = a\r\n if (window.getSelection) {\r\n if (typeof a.selectionStart === 'number' && typeof a.selectionEnd === 'number') {\r\n a.selectionStart = a.selectionEnd = b != null ? b : a.value.length\r\n } else {\r\n let s = window.getSelection()\r\n if (a.nodeType === 1)\r\n (r = document.createRange()).selectNodeContents(a)\r\n if (b != null)\r\n r.movePoint(b)\r\n s.removeAllRanges()\r\n s.addRange(r)\r\n s.collapseToEnd()\r\n }\r\n }\r\n return r\r\n}\r\nconst rngCursorOffset = function() {\r\n let n = rngSelection()\r\n let c = n.startOffset\r\n if (c != null)\r\n return c\r\n let r = document.body.createTextRange()\r\n r.selectNodeContents(n.startContainer.parentNode)\r\n r.setEndPoint('EndToStart', n)\r\n return rngText(r).length\r\n}\r\n// @a ->range, b -> text?\r\nconst rngText = function(a, b) {\r\n if (a == null)\r\n a = rngSelection()\r\n if (b != null) {\r\n if (a.deleteContents) {\r\n a.deleteContents()\r\n a.insertNode(document.createTextNode(b))\r\n } else {\r\n a.text = b\r\n }\r\n }\r\n return a.text === undefined ? a.toString() : a.text\r\n}\r\n\r\nexport {\r\n rngSelection,\r\n rngElement,\r\n rngCursor,\r\n rngCursorOffset,\r\n rngText\r\n}\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import DropBox from './DropBox.vue'\r\n\r\n export default {\r\n name: 'w-pickbox',\r\n mixins: [DropBox],\r\n props: ['picker'],\r\n methods: {\r\n click(e) {\r\n if (this.$slots.default) {\r\n this.showDrop = !this.showDrop\r\n this.warn(false)\r\n } else if (this.x.picker) {\r\n this.clickPicker(e)\r\n }\r\n },\r\n clickClear(e) {\r\n e.stopPropagation()\r\n this.val(null)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.x.modelValue)\r\n },\r\n closeDrop() {\r\n this.showDrop = false\r\n return this\r\n },\r\n html_button() {\r\n return [\r\n this.isNormal && h('button', {\r\n class: 'w-input-bbr w-pickbox-clear f-i f-i-close',\r\n onclick: this.clickClear\r\n }),\r\n this.$slots.default && h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n }),\r\n this.x.picker && h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n })\r\n ]\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n let m = this.x.modelValue\r\n let f = v => v && typeof v === 'object' ? JSON.stringify(v) : v\r\n if (Array.isArray(m)) {\r\n return m.map(v => f(v && v.value)).join(',')\r\n } else {\r\n return f(m && m.value)\r\n }\r\n },\r\n input_text() {\r\n let m = this.x.modelValue\r\n if (Array.isArray(m)) {\r\n return m.map(v => v.text).join(', ')\r\n } else\r\n return m && m.text\r\n }\r\n }\r\n }\r\n</script>\n\r\n<style>\r\n .w-pickbox-clear {\r\n display: none;\r\n font-size: 16px;\r\n }\r\n .w-pickbox-clear:hover {\r\n color: #f00;\r\n }\r\n .w-input:hover > .w-pickbox-clear {\r\n display: flex;\r\n }\r\n</style>","import script from \"./PickBox.vue?vue&type=script&lang=js\"\nexport * from \"./PickBox.vue?vue&type=script&lang=js\"\n\nimport \"./PickBox.vue?vue&type=style&index=0&id=35b69f8f&lang=css\"\n\nexport default script","<template>\r\n <w-tip>\r\n <div class=\"w-tip-body f-flex-center\">\r\n <div class=\"w-tip-text\"><slot>{{text}}</slot></div>\r\n </div>\r\n </w-tip>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n \r\n export default {\r\n props: ['text'],\r\n methods: {\r\n\r\n },\r\n computed: {\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import { render } from \"./TemplateTip.vue?vue&type=template&id=e9652ce4\"\nimport script from \"./TemplateTip.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateTip.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","// 实现指令 v-dialog-move=\"true\"\r\n// 使对话框可拖动\r\n\r\nimport $ from '../dfish.js'\r\n\r\nfunction onmousedown(e) {\r\n let o = $.dialog(e.currentTarget)\r\n if (o) {\r\n if (o.x.movable !== false && !o.x.fullScreen) {\r\n let d = o.el()\r\n let sl = d.style.left\r\n let sr = d.style.right\r\n let st = d.style.top\r\n let sb = d.style.bottom\r\n let b = sb ? -1 : 1\r\n let r = sr ? -1 : 1\r\n let v = b < 0 ? 'bottom' : 'top'\r\n let h = r < 0 ? 'right' : 'left'\r\n let x = e.clientX\r\n let y = e.clientY\r\n let t = $.number(b < 0 ? sb : st)\r\n let l = $.number(r < 0 ? sr : sl)\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move-helper></div>').appendTo(document.body))\r\n let cx = $.numRange(e.clientX, 0, w)\r\n let cy = $.numRange(e.clientY, 0, n)\r\n o.setPosition({[v]: (t + b * (cy - y)) + 'px', [h]: (l + r * (cx - x)) + 'px'})\r\n }, function(e, moved) {\r\n moved && m && m.remove()\r\n }, e)\r\n }\r\n }\r\n}\r\n\r\nexport default {\r\n mounted(el, bind) {\r\n bind.value && el.addEventListener('mousedown', onmousedown)\r\n },\r\n unmounted(el) {\r\n el.removeEventListener('mousedown', onmousedown)\r\n }\r\n}","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['pub', 'current'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n methods: {\r\n inCurrent(target) {\r\n let c = this.x.current\r\n if (c == null) return\r\n if (Array.isArray(c)) {\r\n return -1 < c.findIndex(v => this.isCurrentChild(v, target))\r\n } else {\r\n return this.isCurrentChild(c, target)\r\n }\r\n },\r\n isCurrentChild(current, target) {\r\n if (typeof current === 'object') {\r\n let d = target.isWidget ? (target.x || target).data : (target.props && target.props.data)\r\n if (d) {\r\n for (let i in current)\r\n if ($.lodash.get(d, i) == current[i]) return true\r\n }\r\n } else if (current == (target.isWidget ? target.getKey() : target.key)) {\r\n return true\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./PubParent.vue?vue&type=script&lang=js\"\nexport * from \"./PubParent.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import {h} from 'vue'\r\n \r\n export default {\r\n name: 'w-td',\r\n props: ['colspan', 'rowspan', 'align', 'valign'],\r\n inject: ['table', 'provideInBody'],\r\n methods: {\r\n td_props() {\r\n let ci = this.$.vnode.dfishColIndex\r\n let col = this.table.colgroup[ci] || false\r\n let len = this.table.colgroup.length\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = len\r\n }\r\n let last = ci + (colspan || 1) == len\r\n return {\r\n class: ['w-td',\r\n last && 'w-td-lastborder',\r\n this.provideInBody && col.class, \r\n col.fixed && {\r\n [`w-td-fixed-${col.fixed}`]: true, \r\n [`w-td-fixed-left-last`]: col.fixed === 'left' && (this.table.colgroup[ci + 1] && this.table.colgroup[ci + 1].fixed != col.fixed),\r\n [`w-td-fixed-right-first`]: col.fixed === 'right' && (this.table.colgroup[ci - 1] && this.table.colgroup[ci - 1].fixed != col.fixed),\r\n }\r\n ],\r\n style: [this.provideInBody && col.style, col.fixed && {[`${col.fixed}`]: `var(--w-td-fixed-${col.fixed}-${ci})`}],\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }\r\n }\r\n },\r\n render() {\r\n return h('td', this.td_props(), this.$slots)\r\n }\r\n }\r\n</script>\r\n","import script from \"./TableTD.vue?vue&type=script&lang=js\"\nexport * from \"./TableTD.vue?vue&type=script&lang=js\"\n\nexport default script","import formIgnore from './form-ignore.js'\r\nimport dialogMove from './dialog-move.js'\r\n\r\nexport default function(Vue) {\r\n Vue.directive('form-ignore', formIgnore)\r\n Vue.directive('dialog-move', dialogMove)\r\n}","export default {\r\n yes: '是',\r\n no: '否',\r\n none: '无',\r\n to: '至',\r\n jump: '转到',\r\n confirm: '确定',\r\n search: '搜索',\r\n query: '查询',\r\n choose: '选择',\r\n save: '保存',\r\n remove: '删除',\r\n cancel: '取消',\r\n create: '新建',\r\n add: '添加',\r\n edit: '编辑',\r\n finish: '完成',\r\n refresh: '刷新',\r\n operfail: '操作失败',\r\n opertip: '操作提示',\r\n nodata: '暂无数据',\r\n more: '更多',\r\n field: '字段',\r\n close: '关闭',\r\n restore: '还原',\r\n rotate_left: '向左旋转',\r\n rotate_right: '向右旋转',\r\n dialog_max: '最大化',\r\n dialog_min: '最小化',\r\n\r\n detect_zoom: '温馨提示: 你的浏览器可能处于缩放({0}%)状态,这可能影响页面浏览效果,请尝试Ctrl+0重置,并刷新',\r\n no_tip_anymore: '不再提示',\r\n loading: '正在加载',\r\n wait: '请稍候..',\r\n submiting: '数据提交中,请稍候..',\r\n uploading: '正在上传,请稍侯..',\r\n click_preview: '点击预览',\r\n toomuch_wait: '次数过多,请稍候再试',\r\n toomuch_wait_countdown: '次数过多,请稍候再试(<em>{0}</em>)',\r\n preview_orginal_image: '查看原图',\r\n auth_success: '验证成功',\r\n auth_fail: '验证失败',\r\n choose_image: '选择图片',\r\n \r\n\r\n tree_movefail1: '无法移动:目标文件夹和源文件夹相同',\r\n tree_movefail2: '无法移动:目标文件夹是源文件夹的子文件夹',\r\n\r\n internet_error: '[{0} error] {1}<br>网络连接失败,请稍候再试',\r\n server_error: '[{0} error] {1}<br>系统异常,请联系管理员',\r\n preload_error: '获取预装载模板 \"{0}\" 失败',\r\n\r\n page: '页',\r\n page_text: {\r\n first: '首页',\r\n last: '尾页',\r\n next: '下页',\r\n prev: '上页'\r\n },\r\n\r\n print_preview: '打印预览',\r\n\r\n placeholder_input: '请输入{0}',\r\n placeholder_select: '请选择{0}',\r\n\r\n pulldown_refresh: '下拉刷新',\r\n release_refresh: '释放刷新',\r\n pullup_refresh: '上拉显示更多',\r\n pullup_nomore: '没有更多了',\r\n\r\n download_start: '开始下载..',\r\n download_complete: '下载完成',\r\n download_cannotopen: '无法打开此文件',\r\n download_fail: '下载失败',\r\n\r\n tab_close: '关闭标签',\r\n tab_close_others: '关闭其他标签',\r\n tab_close_all: '关闭全部标签',\r\n\r\n sort_asc: '升序',\r\n sort_desc: '降序',\r\n sort_cancel: '取消排序',\r\n column_choose: '选择列',\r\n\r\n connection_not_wifi: '您当前处于非wifi网络环境下,继续使用可能产生流量,确定继续吗?',\r\n\r\n debug: {\r\n sorry: '很抱歉,系统发生了错误',\r\n view_more: '点击“确定”,可在新窗口查看详细错误信息',\r\n no_command: '视图中没有定义此命令: {0}\\nview path: {1}',\r\n no_combo: '选项列表(或树)没有设置combo参数\\nname: {0}',\r\n error_template_type: '{0}\\n请把此模板类型改为 \"{1}\"',\r\n error_type: 'type错误或丢失\\n{0}',\r\n tmpl_method_undefined: '\"{0}\" 方法不存在'\r\n },\r\n\r\n form: {\r\n required: '{0}不能为空',\r\n onlyone: '{0的}只能选择一条记录',\r\n maxLength: '{0的}字符长度超出了{1}个字节',\r\n reach_maxLength: '已到达可输入的最大字符长度',\r\n over_maxLength: '字符长度超出了{0}个字节',\r\n minLength: '{0}不能少于{1}个字节',\r\n maxValue: '{0}最大值为{1}',\r\n minValue: '{0}最小值为{1}',\r\n maxSize: '{0}最多选择{1}项',\r\n minSize: '{0}最少选择{1}项',\r\n pattern: '{0}格式不符合规范,或包含非法字符',\r\n password_weak: '弱',\r\n password_middle: '中',\r\n password_strong: '强',\r\n number_invalid: '{0}不是一个有效数字',\r\n number_integer: '{0}请填入一个整数',\r\n number_decimal_digit: '{0的}小数位不能超过{1}位',\r\n step_max_value: '已到达最大值',\r\n step_min_value: '已到达最小值',\r\n time_exceed: '{0的}年份超出有效范围。有效年份:{1}年 至 {2}年',\r\n time_format: '{0的}时间格式错误。正确格式范例:{1}',\r\n period_invalid: '{0的}起始时间应早于结束时间',\r\n beforeNow: '{0}不能大于当前时间',\r\n afterNow: '{0}不能小于当前时间',\r\n compare: '{0}需要满足条件:{1} {2} {3}',\r\n invalid_option: '存在无效选项',\r\n need_valid_option: '请输入一个有效选项',\r\n choose_atleastone: '请至少选择一项',\r\n complete_required: '请完成必填项',\r\n jigsaw_drag_right: '向右拖动滑块填充拼图',\r\n jigsaw_required: '请完成滑块验证',\r\n jigsaw_errorimg: '图片数据异常',\r\n upload_loading: '正在上传,请稍候..',\r\n upload_invalid_file: '存在无效文件',\r\n no_files: '<没有文件>',\r\n upload_error: '(上传失败)',\r\n upload_limit: '上传数量超过上限(最多{0}个)',\r\n upload_invalid_file_type: '无效的文件类型:<br>{0}',\r\n upload_invalid_data: '错误的文件数据格式:<br>{0}',\r\n upload_no_data: '缺少文件数据',\r\n upload_maxfilesize: '上传失败: {0}<br><br>文件大小不能超过{1}',\r\n upload_minfilesize: '上传失败: {0}<br><br>文件大小不能小于{1}'\r\n },\r\n\r\n year: '年',\r\n month: '月',\r\n day: '日',\r\n sky: '天',\r\n hour: '时',\r\n minute: '分',\r\n second: '秒',\r\n\r\n calendar: {\r\n now: '现在',\r\n today: '今天',\r\n weeknow: '本周',\r\n monthnow: '本月',\r\n yearnow: '本年',\r\n day_title: ['日', '一', '二', '三', '四', '五', '六'],\r\n day_title_1: [ '一', '二', '三', '四', '五', '六','日'],\r\n y: '{0}<span>年</span>',\r\n monthname: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\r\n backdate: '返回日期',\r\n picktime: '选择时间',\r\n H: '时',\r\n m: '分',\r\n s: '秒',\r\n from_to: '{0} 至 {1}',\r\n },\r\n\r\n error: '错误',\r\n\r\n ps(a, ...args) {\r\n if (a) {\r\n a = a.replace(/\\{(\\d+)([^\\d]+)?\\}/g, function($0, $1, $2) {\r\n let d = args[parseFloat($1)]\r\n return d == null || d === '' ? '' : $2 ? d + $2 : d\r\n })\r\n }\r\n return a\r\n },\r\n \r\n end: '结束'\r\n\r\n}\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Scroll from './Scroll.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-horizontal',\r\n mixins: [Scroll, AlignParent],\r\n props: ['br'],\r\n provide() {\r\n return {\r\n provideLayout: this.$options.name\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0\r\n }\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n dir() {\r\n return 'h'\r\n },\r\n html_props() {\r\n let gap = this.x.gap\r\n return {\r\n class: [this.html_scroll_class, this.html_align_class, {'z-br': this.x.br, [`f-${this.dir}-gap`]: gap != null && gap != '' && ($.br.compat.gap || gap < 0)}],\r\n style: !this.x.scrollX && !this.x.scrollY && this.html_scroll_cont_style,\r\n }\r\n },\r\n html_scroll_cont_style() {\r\n let gap = this.x.gap\r\n if (gap != null && gap != '') {\r\n return {\r\n 'gap': $.unitSize(gap, true),\r\n '--w-compat-gap': ($.br.compat.gap || gap < 0) ? $.unitSize(gap, true) : null,\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Horizontal.vue?vue&type=script&lang=js\"\nexport * from \"./Horizontal.vue?vue&type=script&lang=js\"\n\nexport default script","import {\r\n number\r\n} from './number.js'\r\nimport {\r\n strPad\r\n} from './str.js'\r\n\r\n// 一天的毫秒数\r\nconst _date_D = 86400000\r\n\r\n// 标准格式化字符串\r\nconst _date_sf = 'yyyy-MM-dd HH:mm:ss'\r\n\r\n// 格式化日期\r\nconst dateFormat = function(a, b) {\r\n if (typeof a === 'string')\r\n a = dateParse(a, b);\r\n let o = {\r\n y: a.getFullYear(),\r\n m: a.getMonth(),\r\n d: a.getDate(),\r\n h: a.getHours(),\r\n i: a.getMinutes(),\r\n s: a.getSeconds(),\r\n }\r\n let s = (b || _date_sf).replace('yyyy', o.y).replace('MM', strPad(o.m + 1)).replace('dd', strPad(o.d)).replace('HH',\r\n strPad(o.h))\r\n .replace('mm', strPad(o.i)).replace('ss', strPad(o.s))\r\n .replace('M', o.m + 1).replace('d', o.d).replace('H', o.h).replace('m', o.i).replace('s', o.s)\r\n if (s.indexOf('w') > -1) {\r\n let w = dateWeek(a)\r\n s = s.replace('ww', strPad(w[1])).replace('w', w[1])\r\n }\r\n return s\r\n}\r\n\r\n// 字串型转为日期型 /@a -> str, b -> format?\r\nconst dateParse = function(a, b) {\r\n a = ('' + a).replace(/\\b(\\d)\\b/g, '0$1');\r\n b = (b || _date_sf).replace(/\\b([MdHmsw])\\b/g, '$1$1');\r\n let c\r\n let y = (c = b.indexOf('yyyy')) > -1 ? (number(a.substr(c, 4)) || (new Date().getFullYear())) : (new Date()\r\n .getFullYear())\r\n let M = (c = b.indexOf('MM')) > -1 ? Math.max(number(a.substr(c, 2)) - 1, 0) : 0\r\n let d = (c = b.indexOf('dd')) > -1 ? number(a.substr(c, 2)) || 1 : 1\r\n let H = (c = b.indexOf('HH')) > -1 ? number(a.substr(c, 2)) : 0\r\n let m = (c = b.indexOf('mm')) > -1 ? number(a.substr(c, 2)) : 0\r\n let s = (c = b.indexOf('ss')) > -1 ? number(a.substr(c, 2)) : 0\r\n if ((c = b.indexOf('ww')) > -1) {\r\n let w = number(a.substr(c, 2))\r\n let t = dateWeek(new Date(y, 0, 1))\r\n if (t[0] != y)\r\n t = dateWeek(new Date(y, 0, 8))\r\n return new Date(t[2].getTime() + (w - 1) * 7 * _date_D)\r\n }\r\n return new Date(y, M, d, H, m, s)\r\n}\r\n\r\n// 日期增减 /@ a -> date, b -> type enum (y/M/d/H/m/s), c -> value\r\nconst dateAdd = function(a, b, c) {\r\n c = number(c)\r\n let e = new Date(a.getTime())\r\n if (b === 'y')\r\n e.setFullYear(a.getFullYear() + c)\r\n else if (b === 'M')\r\n e.setMonth(e.getMonth() + c)\r\n else if (b === 'd')\r\n e.setDate(e.getDate() + c)\r\n else if (b === 'H')\r\n e.setHours(e.getHours() + c)\r\n else if (b === 'm')\r\n e.setMinutes(e.getMinutes() + c)\r\n else if (b === 's')\r\n e.setSeconds(e.getSeconds() + c)\r\n if ((b === 'y' || b === 'M') && e.getDate() != a.getDate())\r\n e = new Date(e.getTime() - e.getDate() * _date_D)\r\n return e\r\n}\r\n\r\n// 取得一个日期对象的week相关信息。返回一个包含四个元素的数组,【 年份,第几周,周一的日期,周日的日期 】\r\n// @a -> date\r\nconst dateWeek = function(a) {\r\n let b = $.x.weekPoint != null ? $.x.weekPoint : 1 //周的重心(星期几,从0到6)\r\n let c = $.x.weekStart != null ? $.x.weekStart : 1 //周的第一天(星期几,从0到6)\r\n let w = a.getDay() || 7\r\n let d = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + b)\r\n let e = Math.ceil((d - new Date(d.getFullYear(), 0, 0)) / _date_D)\r\n let f = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + c)\r\n return [d.getFullYear(), Math.floor((e + 6) / 7), f, new Date(f.getTime() + (7 * _date_D) - 1)]\r\n}\r\n\r\n// 获取某年的第一周\r\nconst dateWeekFirst = function(year) {\r\n let c = $.dateWeek(new Date(year, 0, 1))\r\n if (c[0] != year)\r\n c = $.dateWeek(new Date(year, 0, 8))\r\n return c\r\n}\r\n\r\n// 获取某年的最后一周\r\nconst dateWeekLast = function(year) {\r\n let b = dateWeek(new Date(year, 11, 31))\r\n if (b[0] !== year)\r\n b = dateWeek(new Date(year, 11, 31 - 7))\r\n return b\r\n}\r\n\r\n// 判断一个字符串格式的日期是否正确 /@ a -> date string, b -> date format string\r\nconst dateValid = function(a, b) {\r\n a = ('' + a).replace(/\\b(\\d)\\b/g, '0$1')\r\n let d = dateParse(a, b)\r\n let y = d.getFullYear()\r\n return y >= 1000 && y <= 9999 && a == dateFormat(d, b)\r\n}\r\n\r\nconst dateDiff = function(a, b = new Date, c) {\r\n if (typeof a === 'string') a = dateParse(a)\r\n if (typeof b === 'string') b = dateParse(b)\r\n switch (c) {\r\n case 'y':\r\n let e = b.getFullYear() - a.getFullYear()\r\n let f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e\r\n case 'M':\r\n let y = _dateDiff(a, b, 'y')\r\n let z = dateAdd(a, 'y', y)\r\n e = z.getFullYear() < b.getFullYear() ? b.getMonth() + 11 - z.getMonth() : b.getMonth() - z.getMonth()\r\n f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e + y * 12\r\n case 'H':\r\n return Math.floor((b - a) / (60 * 60 * 1000))\r\n case 'm':\r\n return Math.floor((b - a) / (60 * 1000))\r\n case 's':\r\n return Math.floor((b - a) / 1000)\r\n default: // 'd' 日期类型为默认\r\n return Math.floor((b - a) / _date_D)\r\n }\r\n}\r\n\r\nconst dateSheet = function(...args) {\r\n return $.docView.dateSheet(...args)\r\n}\r\n\r\nexport {\r\n dateFormat,\r\n dateParse,\r\n dateAdd,\r\n dateValid,\r\n dateDiff,\r\n dateSheet,\r\n dateWeek,\r\n dateWeekFirst,\r\n dateWeekLast,\r\n}\n","var map = {\n\t\"./App\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-236bbb1d\",\n\t\t\"chunk-d5b78810\",\n\t\t\"chunk-577edd5f\"\n\t],\n\t\"./App.vue\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-236bbb1d\",\n\t\t\"chunk-d5b78810\",\n\t\t\"chunk-577edd5f\"\n\t],\n\t\"./assets/SVGIcon\": [\n\t\t\"5cd5\",\n\t\t9\n\t],\n\t\"./assets/SVGIcon.vue\": [\n\t\t\"5cd5\",\n\t\t9\n\t],\n\t\"./assets/dfish.css\": [\n\t\t\"d35b\",\n\t\t7\n\t],\n\t\"./assets/f/iconfont.ttf\": [\n\t\t\"87ef\",\n\t\t7,\n\t\t\"chunk-2d0df0d6\"\n\t],\n\t\"./assets/f/iconfont.woff\": [\n\t\t\"b872\",\n\t\t7,\n\t\t\"chunk-2d210667\"\n\t],\n\t\"./assets/f/iconfont.woff2\": [\n\t\t\"3927\",\n\t\t7,\n\t\t\"chunk-2d0bac21\"\n\t],\n\t\"./assets/g/f.png\": [\n\t\t\"0d6b\",\n\t\t7,\n\t\t\"chunk-2d0af116\"\n\t],\n\t\"./assets/g/i.png\": [\n\t\t\"9436\",\n\t\t7,\n\t\t\"chunk-2d0e53b4\"\n\t],\n\t\"./components/AMapPicker\": [\n\t\t\"505a\",\n\t\t9,\n\t\t\"chunk-02baca6a\"\n\t],\n\t\"./components/AMapPicker.vue\": [\n\t\t\"505a\",\n\t\t9,\n\t\t\"chunk-02baca6a\"\n\t],\n\t\"./components/FormView\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-d5b78810\"\n\t],\n\t\"./components/FormView.vue\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-d5b78810\"\n\t],\n\t\"./components/FuncView\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-eda6ccec\"\n\t],\n\t\"./components/FuncView.vue\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-eda6ccec\"\n\t],\n\t\"./components/HelloWorld\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/HelloWorld.vue\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/LayoutView\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-236bbb1d\",\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/LayoutView.vue\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-236bbb1d\",\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/Sign\": [\n\t\t\"2fc7\",\n\t\t9,\n\t\t\"chunk-0113803f\"\n\t],\n\t\"./components/Sign.vue\": [\n\t\t\"2fc7\",\n\t\t9,\n\t\t\"chunk-0113803f\"\n\t],\n\t\"./components/task/FeedbkTR\": [\n\t\t\"da31\",\n\t\t9,\n\t\t\"chunk-2d228891\"\n\t],\n\t\"./components/task/FeedbkTR.vue\": [\n\t\t\"da31\",\n\t\t9,\n\t\t\"chunk-2d228891\"\n\t],\n\t\"./components/task/GoldView\": [\n\t\t\"37be\",\n\t\t9,\n\t\t\"chunk-0afcc52e\"\n\t],\n\t\"./components/task/GoldView.vue\": [\n\t\t\"37be\",\n\t\t9,\n\t\t\"chunk-0afcc52e\"\n\t],\n\t\"./components/task/HelloView\": [\n\t\t\"133f\",\n\t\t9,\n\t\t\"chunk-2d0aad2b\"\n\t],\n\t\"./components/task/HelloView.vue\": [\n\t\t\"133f\",\n\t\t9,\n\t\t\"chunk-2d0aad2b\"\n\t],\n\t\"./components/task/LionView\": [\n\t\t\"6886\",\n\t\t9,\n\t\t\"chunk-5f709e3a\"\n\t],\n\t\"./components/task/LionView.vue\": [\n\t\t\"6886\",\n\t\t9,\n\t\t\"chunk-5f709e3a\"\n\t],\n\t\"./components/task/TaskAMapPicker\": [\n\t\t\"3da4\",\n\t\t9,\n\t\t\"chunk-3cecfdf8\"\n\t],\n\t\"./components/task/TaskAMapPicker.vue\": [\n\t\t\"3da4\",\n\t\t9,\n\t\t\"chunk-3cecfdf8\"\n\t],\n\t\"./components/task/TaskCombobox\": [\n\t\t\"d063\",\n\t\t9,\n\t\t\"chunk-2d21d0ff\"\n\t],\n\t\"./components/task/TaskCombobox.vue\": [\n\t\t\"d063\",\n\t\t9,\n\t\t\"chunk-2d21d0ff\"\n\t],\n\t\"./components/task/TaskDropbox\": [\n\t\t\"43c0\",\n\t\t9,\n\t\t\"chunk-2d0c0fe2\"\n\t],\n\t\"./components/task/TaskDropbox.vue\": [\n\t\t\"43c0\",\n\t\t9,\n\t\t\"chunk-2d0c0fe2\"\n\t],\n\t\"./components/task/TaskForm\": [\n\t\t\"3e12\",\n\t\t9,\n\t\t\"chunk-446f13c2\"\n\t],\n\t\"./components/task/TaskForm.vue\": [\n\t\t\"3e12\",\n\t\t9,\n\t\t\"chunk-446f13c2\"\n\t],\n\t\"./components/task/TaskHello\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-0c628b1c\"\n\t],\n\t\"./components/task/TaskHello.vue\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-0c628b1c\"\n\t],\n\t\"./components/task/TaskJigsaw\": [\n\t\t\"2dbf\",\n\t\t9,\n\t\t\"chunk-2d0bdf2c\"\n\t],\n\t\"./components/task/TaskJigsaw.vue\": [\n\t\t\"2dbf\",\n\t\t9,\n\t\t\"chunk-2d0bdf2c\"\n\t],\n\t\"./components/task/TaskLeaf\": [\n\t\t\"71fe\",\n\t\t9,\n\t\t\"chunk-2d0d660f\"\n\t],\n\t\"./components/task/TaskLeaf.vue\": [\n\t\t\"71fe\",\n\t\t9,\n\t\t\"chunk-2d0d660f\"\n\t],\n\t\"./components/task/TaskLeafFormat\": [\n\t\t\"6c64\",\n\t\t9,\n\t\t\"chunk-2f7f0670\"\n\t],\n\t\"./components/task/TaskLeafFormat.vue\": [\n\t\t\"6c64\",\n\t\t9,\n\t\t\"chunk-2f7f0670\"\n\t],\n\t\"./components/task/TaskLinkbox\": [\n\t\t\"067f\",\n\t\t9,\n\t\t\"chunk-2d0a448b\"\n\t],\n\t\"./components/task/TaskLinkbox.vue\": [\n\t\t\"067f\",\n\t\t9,\n\t\t\"chunk-2d0a448b\"\n\t],\n\t\"./components/task/TaskMenu\": [\n\t\t\"4fe0\",\n\t\t9,\n\t\t\"chunk-2d0ccf93\"\n\t],\n\t\"./components/task/TaskMenu.vue\": [\n\t\t\"4fe0\",\n\t\t9,\n\t\t\"chunk-2d0ccf93\"\n\t],\n\t\"./components/task/TaskPageBar\": [\n\t\t\"405e\",\n\t\t9,\n\t\t\"chunk-c7c01ff4\"\n\t],\n\t\"./components/task/TaskPageBar.vue\": [\n\t\t\"405e\",\n\t\t9,\n\t\t\"chunk-c7c01ff4\"\n\t],\n\t\"./components/task/TaskPickBox\": [\n\t\t\"0139\",\n\t\t9,\n\t\t\"chunk-3d7d76fb\"\n\t],\n\t\"./components/task/TaskPickBox.vue\": [\n\t\t\"0139\",\n\t\t9,\n\t\t\"chunk-3d7d76fb\"\n\t],\n\t\"./components/task/TaskTR\": [\n\t\t\"2e34\",\n\t\t9,\n\t\t\"chunk-2d0bdd0a\"\n\t],\n\t\"./components/task/TaskTR.vue\": [\n\t\t\"2e34\",\n\t\t9,\n\t\t\"chunk-2d0bdd0a\"\n\t],\n\t\"./components/task/WorldView\": [\n\t\t\"f84a\",\n\t\t9,\n\t\t\"chunk-2d22d7b5\"\n\t],\n\t\"./components/task/WorldView.vue\": [\n\t\t\"f84a\",\n\t\t9,\n\t\t\"chunk-2d22d7b5\"\n\t],\n\t\"./dfish\": [\n\t\t\"d40a\",\n\t\t9\n\t],\n\t\"./dfish.js\": [\n\t\t\"d40a\",\n\t\t9\n\t],\n\t\"./directive\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/dialog-move\": [\n\t\t\"7d83\",\n\t\t9\n\t],\n\t\"./directive/dialog-move.js\": [\n\t\t\"7d83\",\n\t\t9\n\t],\n\t\"./directive/form-ignore\": [\n\t\t\"f393\",\n\t\t9\n\t],\n\t\"./directive/form-ignore.js\": [\n\t\t\"f393\",\n\t\t9\n\t],\n\t\"./directive/index\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/index.js\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./main\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-236bbb1d\",\n\t\t\"chunk-d5b78810\",\n\t\t\"chunk-577edd5f\",\n\t\t\"chunk-2d0c8faa\"\n\t],\n\t\"./main.js\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-236bbb1d\",\n\t\t\"chunk-d5b78810\",\n\t\t\"chunk-577edd5f\",\n\t\t\"chunk-2d0c8faa\"\n\t],\n\t\"./preload/DialogStd\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-bb34eb02\"\n\t],\n\t\"./preload/DialogStd.vue\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-bb34eb02\"\n\t],\n\t\"./preload/PreloadAlert\": [\n\t\t\"303b\",\n\t\t9,\n\t\t\"chunk-2d0b8aa2\"\n\t],\n\t\"./preload/PreloadAlert.vue\": [\n\t\t\"303b\",\n\t\t9,\n\t\t\"chunk-2d0b8aa2\"\n\t],\n\t\"./preload/PreloadConfirm\": [\n\t\t\"00dd\",\n\t\t9,\n\t\t\"chunk-2d0a3376\"\n\t],\n\t\"./preload/PreloadConfirm.vue\": [\n\t\t\"00dd\",\n\t\t9,\n\t\t\"chunk-2d0a3376\"\n\t],\n\t\"./preload/PreloadDialog\": [\n\t\t\"8181\",\n\t\t9,\n\t\t\"chunk-2d0dd4a8\"\n\t],\n\t\"./preload/PreloadDialog.vue\": [\n\t\t\"8181\",\n\t\t9,\n\t\t\"chunk-2d0dd4a8\"\n\t],\n\t\"./preload/PreloadNone\": [\n\t\t\"571b\",\n\t\t9,\n\t\t\"chunk-2d0c8d69\"\n\t],\n\t\"./preload/PreloadNone.vue\": [\n\t\t\"571b\",\n\t\t9,\n\t\t\"chunk-2d0c8d69\"\n\t],\n\t\"./preload/Simple\": [\n\t\t\"f22e\",\n\t\t9,\n\t\t\"chunk-1da003f6\"\n\t],\n\t\"./preload/Simple.vue\": [\n\t\t\"f22e\",\n\t\t9,\n\t\t\"chunk-1da003f6\"\n\t],\n\t\"./template/TemplateAlert\": [\n\t\t\"0903\",\n\t\t9\n\t],\n\t\"./template/TemplateAlert.vue\": [\n\t\t\"0903\",\n\t\t9\n\t],\n\t\"./template/TemplateConfirm\": [\n\t\t\"c901\",\n\t\t9\n\t],\n\t\"./template/TemplateConfirm.vue\": [\n\t\t\"c901\",\n\t\t9\n\t],\n\t\"./template/TemplateDateSheet\": [\n\t\t\"c98d\",\n\t\t9\n\t],\n\t\"./template/TemplateDateSheet.vue\": [\n\t\t\"c98d\",\n\t\t9\n\t],\n\t\"./template/TemplateJigsaw\": [\n\t\t\"ba3e\",\n\t\t9\n\t],\n\t\"./template/TemplateJigsaw.vue\": [\n\t\t\"ba3e\",\n\t\t9\n\t],\n\t\"./template/TemplateLoading\": [\n\t\t\"560f\",\n\t\t9\n\t],\n\t\"./template/TemplateLoading.vue\": [\n\t\t\"560f\",\n\t\t9\n\t],\n\t\"./template/TemplatePreviewMedia\": [\n\t\t\"f5f5\",\n\t\t9\n\t],\n\t\"./template/TemplatePreviewMedia.vue\": [\n\t\t\"f5f5\",\n\t\t9\n\t],\n\t\"./template/TemplateTip\": [\n\t\t\"7c54\",\n\t\t9\n\t],\n\t\"./template/TemplateTip.vue\": [\n\t\t\"7c54\",\n\t\t9\n\t],\n\t\"./util/browser\": [\n\t\t\"af14\",\n\t\t9\n\t],\n\t\"./util/browser.js\": [\n\t\t\"af14\",\n\t\t9\n\t],\n\t\"./util/css\": [\n\t\t\"a695\",\n\t\t9\n\t],\n\t\"./util/css.js\": [\n\t\t\"a695\",\n\t\t9\n\t],\n\t\"./util/date\": [\n\t\t\"84df\",\n\t\t9\n\t],\n\t\"./util/date.js\": [\n\t\t\"84df\",\n\t\t9\n\t],\n\t\"./util/elem\": [\n\t\t\"d885\",\n\t\t9\n\t],\n\t\"./util/elem.js\": [\n\t\t\"d885\",\n\t\t9\n\t],\n\t\"./util/event\": [\n\t\t\"b2eb\",\n\t\t9\n\t],\n\t\"./util/event.js\": [\n\t\t\"b2eb\",\n\t\t9\n\t],\n\t\"./util/json\": [\n\t\t\"368c\",\n\t\t9\n\t],\n\t\"./util/json.js\": [\n\t\t\"368c\",\n\t\t9\n\t],\n\t\"./util/loc/zh-CN\": [\n\t\t\"8441\",\n\t\t9\n\t],\n\t\"./util/loc/zh-CN.js\": [\n\t\t\"8441\",\n\t\t9\n\t],\n\t\"./util/mime\": [\n\t\t\"9941\",\n\t\t9\n\t],\n\t\"./util/mime.js\": [\n\t\t\"9941\",\n\t\t9\n\t],\n\t\"./util/number\": [\n\t\t\"2f82\",\n\t\t9\n\t],\n\t\"./util/number.js\": [\n\t\t\"2f82\",\n\t\t9\n\t],\n\t\"./util/range\": [\n\t\t\"7333\",\n\t\t9\n\t],\n\t\"./util/range.js\": [\n\t\t\"7333\",\n\t\t9\n\t],\n\t\"./util/snap\": [\n\t\t\"428f\",\n\t\t9\n\t],\n\t\"./util/snap.js\": [\n\t\t\"428f\",\n\t\t9\n\t],\n\t\"./util/str\": [\n\t\t\"2de2\",\n\t\t9\n\t],\n\t\"./util/str.js\": [\n\t\t\"2de2\",\n\t\t9\n\t],\n\t\"./util/uid\": [\n\t\t\"465a\",\n\t\t9\n\t],\n\t\"./util/uid.js\": [\n\t\t\"465a\",\n\t\t9\n\t],\n\t\"./util/v-directive\": [\n\t\t\"3894\",\n\t\t9,\n\t\t\"chunk-2d0ba936\"\n\t],\n\t\"./util/v-directive.js\": [\n\t\t\"3894\",\n\t\t9,\n\t\t\"chunk-2d0ba936\"\n\t],\n\t\"./widgets\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/Album\": [\n\t\t\"b731\",\n\t\t9\n\t],\n\t\"./widgets/Album.vue\": [\n\t\t\"b731\",\n\t\t9\n\t],\n\t\"./widgets/Alert\": [\n\t\t\"af36\",\n\t\t9\n\t],\n\t\"./widgets/Alert.vue\": [\n\t\t\"af36\",\n\t\t9\n\t],\n\t\"./widgets/AlignParent\": [\n\t\t\"01ce\",\n\t\t9\n\t],\n\t\"./widgets/AlignParent.vue\": [\n\t\t\"01ce\",\n\t\t9\n\t],\n\t\"./widgets/Button\": [\n\t\t\"4716\",\n\t\t9\n\t],\n\t\"./widgets/Button.vue\": [\n\t\t\"4716\",\n\t\t9\n\t],\n\t\"./widgets/ButtonBar\": [\n\t\t\"3289\",\n\t\t9\n\t],\n\t\"./widgets/ButtonBar.vue\": [\n\t\t\"3289\",\n\t\t9\n\t],\n\t\"./widgets/Calendar\": [\n\t\t\"c3b3\",\n\t\t9\n\t],\n\t\"./widgets/Calendar.vue\": [\n\t\t\"c3b3\",\n\t\t9\n\t],\n\t\"./widgets/CheckBox\": [\n\t\t\"4ecb\",\n\t\t9\n\t],\n\t\"./widgets/CheckBox.vue\": [\n\t\t\"4ecb\",\n\t\t9\n\t],\n\t\"./widgets/CheckBoxGroup\": [\n\t\t\"eb89\",\n\t\t9\n\t],\n\t\"./widgets/CheckBoxGroup.vue\": [\n\t\t\"eb89\",\n\t\t9\n\t],\n\t\"./widgets/ComboBox\": [\n\t\t\"3287\",\n\t\t9\n\t],\n\t\"./widgets/ComboBox.vue\": [\n\t\t\"3287\",\n\t\t9\n\t],\n\t\"./widgets/Confirm\": [\n\t\t\"b45e\",\n\t\t9\n\t],\n\t\"./widgets/Confirm.vue\": [\n\t\t\"b45e\",\n\t\t9\n\t],\n\t\"./widgets/DatePicker\": [\n\t\t\"92a4\",\n\t\t9\n\t],\n\t\"./widgets/DatePicker.vue\": [\n\t\t\"92a4\",\n\t\t9\n\t],\n\t\"./widgets/Dialog\": [\n\t\t\"c617\",\n\t\t9\n\t],\n\t\"./widgets/Dialog.vue\": [\n\t\t\"c617\",\n\t\t9\n\t],\n\t\"./widgets/DialogMove\": [\n\t\t\"7016\",\n\t\t9\n\t],\n\t\"./widgets/DialogMove.vue\": [\n\t\t\"7016\",\n\t\t9\n\t],\n\t\"./widgets/DocView\": [\n\t\t\"3d26\",\n\t\t9\n\t],\n\t\"./widgets/DocView.vue\": [\n\t\t\"3d26\",\n\t\t9\n\t],\n\t\"./widgets/DropBox\": [\n\t\t\"f9f3\",\n\t\t9\n\t],\n\t\"./widgets/DropBox.vue\": [\n\t\t\"f9f3\",\n\t\t9\n\t],\n\t\"./widgets/FileUpload\": [\n\t\t\"39de\",\n\t\t9\n\t],\n\t\"./widgets/FileUpload.vue\": [\n\t\t\"39de\",\n\t\t9\n\t],\n\t\"./widgets/Form\": [\n\t\t\"72aa\",\n\t\t9\n\t],\n\t\"./widgets/Form.vue\": [\n\t\t\"72aa\",\n\t\t9\n\t],\n\t\"./widgets/FormBase\": [\n\t\t\"1e42\",\n\t\t9\n\t],\n\t\"./widgets/FormBase.vue\": [\n\t\t\"1e42\",\n\t\t9\n\t],\n\t\"./widgets/Grid\": [\n\t\t\"e7fa\",\n\t\t9\n\t],\n\t\"./widgets/Grid.vue\": [\n\t\t\"e7fa\",\n\t\t9\n\t],\n\t\"./widgets/Hidden\": [\n\t\t\"1bea\",\n\t\t9\n\t],\n\t\"./widgets/Hidden.vue\": [\n\t\t\"1bea\",\n\t\t9\n\t],\n\t\"./widgets/Horizontal\": [\n\t\t\"8464\",\n\t\t9\n\t],\n\t\"./widgets/Horizontal.vue\": [\n\t\t\"8464\",\n\t\t9\n\t],\n\t\"./widgets/Html\": [\n\t\t\"6b69\",\n\t\t9\n\t],\n\t\"./widgets/Html.vue\": [\n\t\t\"6b69\",\n\t\t9\n\t],\n\t\"./widgets/ImageUpload\": [\n\t\t\"3c8e\",\n\t\t9\n\t],\n\t\"./widgets/ImageUpload.vue\": [\n\t\t\"3c8e\",\n\t\t9\n\t],\n\t\"./widgets/Img\": [\n\t\t\"e660\",\n\t\t9\n\t],\n\t\"./widgets/Img.vue\": [\n\t\t\"e660\",\n\t\t9\n\t],\n\t\"./widgets/Jigsaw\": [\n\t\t\"d4df\",\n\t\t9\n\t],\n\t\"./widgets/Jigsaw.vue\": [\n\t\t\"d4df\",\n\t\t9\n\t],\n\t\"./widgets/Label\": [\n\t\t\"56be\",\n\t\t9\n\t],\n\t\"./widgets/Label.vue\": [\n\t\t\"56be\",\n\t\t9\n\t],\n\t\"./widgets/Leaf\": [\n\t\t\"c00c\",\n\t\t9\n\t],\n\t\"./widgets/Leaf.vue\": [\n\t\t\"c00c\",\n\t\t9\n\t],\n\t\"./widgets/LinkBox\": [\n\t\t\"2769\",\n\t\t9\n\t],\n\t\"./widgets/LinkBox.vue\": [\n\t\t\"2769\",\n\t\t9\n\t],\n\t\"./widgets/Loading\": [\n\t\t\"ea2f\",\n\t\t9\n\t],\n\t\"./widgets/Loading.vue\": [\n\t\t\"ea2f\",\n\t\t9\n\t],\n\t\"./widgets/MediaUpload\": [\n\t\t\"e8fd\",\n\t\t9\n\t],\n\t\"./widgets/MediaUpload.vue\": [\n\t\t\"e8fd\",\n\t\t9\n\t],\n\t\"./widgets/MediaUploadItem\": [\n\t\t\"bb18\",\n\t\t9\n\t],\n\t\"./widgets/MediaUploadItem.vue\": [\n\t\t\"bb18\",\n\t\t9\n\t],\n\t\"./widgets/Menu\": [\n\t\t\"122b\",\n\t\t9\n\t],\n\t\"./widgets/Menu.vue\": [\n\t\t\"122b\",\n\t\t9\n\t],\n\t\"./widgets/MenuButton\": [\n\t\t\"2f9f\",\n\t\t9\n\t],\n\t\"./widgets/MenuButton.vue\": [\n\t\t\"2f9f\",\n\t\t9\n\t],\n\t\"./widgets/Option\": [\n\t\t\"2aa7\",\n\t\t9\n\t],\n\t\"./widgets/Option.vue\": [\n\t\t\"2aa7\",\n\t\t9\n\t],\n\t\"./widgets/PageBar\": [\n\t\t\"1729\",\n\t\t9\n\t],\n\t\"./widgets/PageBar.vue\": [\n\t\t\"1729\",\n\t\t9\n\t],\n\t\"./widgets/Password\": [\n\t\t\"6adf\",\n\t\t9\n\t],\n\t\"./widgets/Password.vue\": [\n\t\t\"6adf\",\n\t\t9\n\t],\n\t\"./widgets/PickBox\": [\n\t\t\"783d\",\n\t\t9\n\t],\n\t\"./widgets/PickBox.vue\": [\n\t\t\"783d\",\n\t\t9\n\t],\n\t\"./widgets/Pop\": [\n\t\t\"a368\",\n\t\t9\n\t],\n\t\"./widgets/Pop.vue\": [\n\t\t\"a368\",\n\t\t9\n\t],\n\t\"./widgets/Progress\": [\n\t\t\"e06a\",\n\t\t9\n\t],\n\t\"./widgets/Progress.vue\": [\n\t\t\"e06a\",\n\t\t9\n\t],\n\t\"./widgets/PubParent\": [\n\t\t\"7e11\",\n\t\t9\n\t],\n\t\"./widgets/PubParent.vue\": [\n\t\t\"7e11\",\n\t\t9\n\t],\n\t\"./widgets/Radio\": [\n\t\t\"edc2\",\n\t\t9\n\t],\n\t\"./widgets/Radio.vue\": [\n\t\t\"edc2\",\n\t\t9\n\t],\n\t\"./widgets/RadioGroup\": [\n\t\t\"d597\",\n\t\t9\n\t],\n\t\"./widgets/RadioGroup.vue\": [\n\t\t\"d597\",\n\t\t9\n\t],\n\t\"./widgets/Range\": [\n\t\t\"af03\",\n\t\t9\n\t],\n\t\"./widgets/Range.vue\": [\n\t\t\"af03\",\n\t\t9\n\t],\n\t\"./widgets/Rate\": [\n\t\t\"a03d\",\n\t\t9\n\t],\n\t\"./widgets/Rate.vue\": [\n\t\t\"a03d\",\n\t\t9\n\t],\n\t\"./widgets/RateStar\": [\n\t\t\"183f\",\n\t\t9,\n\t\t\"chunk-2d0abff0\"\n\t],\n\t\"./widgets/RateStar.vue\": [\n\t\t\"183f\",\n\t\t9,\n\t\t\"chunk-2d0abff0\"\n\t],\n\t\"./widgets/Scroll\": [\n\t\t\"9667\",\n\t\t9\n\t],\n\t\"./widgets/Scroll.vue\": [\n\t\t\"9667\",\n\t\t9\n\t],\n\t\"./widgets/SlidePicker\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/SlidePicker.vue\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/Spinner\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Spinner.vue\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Split\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/Split.vue\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent.vue\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton.vue\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/Swiper\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/Swiper.vue\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem.vue\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/Switch\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Switch.vue\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Tab\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/Tab.vue\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/TabButton\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/TabButton.vue\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/Table\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/Table.vue\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/TableColumn\": [\n\t\t\"a506\",\n\t\t9\n\t],\n\t\"./widgets/TableColumn.vue\": [\n\t\t\"a506\",\n\t\t9\n\t],\n\t\"./widgets/TableColumns\": [\n\t\t\"4e44\",\n\t\t9\n\t],\n\t\"./widgets/TableColumns.vue\": [\n\t\t\"4e44\",\n\t\t9\n\t],\n\t\"./widgets/TableTBody\": [\n\t\t\"3dd9\",\n\t\t9\n\t],\n\t\"./widgets/TableTBody.vue\": [\n\t\t\"3dd9\",\n\t\t9\n\t],\n\t\"./widgets/TableTD\": [\n\t\t\"7f02\",\n\t\t9\n\t],\n\t\"./widgets/TableTD.vue\": [\n\t\t\"7f02\",\n\t\t9\n\t],\n\t\"./widgets/TableTH\": [\n\t\t\"6df1\",\n\t\t9\n\t],\n\t\"./widgets/TableTH.vue\": [\n\t\t\"6df1\",\n\t\t9\n\t],\n\t\"./widgets/TableTHead\": [\n\t\t\"ac97\",\n\t\t9\n\t],\n\t\"./widgets/TableTHead.vue\": [\n\t\t\"ac97\",\n\t\t9\n\t],\n\t\"./widgets/TableTR\": [\n\t\t\"d1dc\",\n\t\t9\n\t],\n\t\"./widgets/TableTR.vue\": [\n\t\t\"d1dc\",\n\t\t9\n\t],\n\t\"./widgets/Tabs\": [\n\t\t\"b4db\",\n\t\t9\n\t],\n\t\"./widgets/Tabs.vue\": [\n\t\t\"b4db\",\n\t\t9\n\t],\n\t\"./widgets/Text\": [\n\t\t\"f00f\",\n\t\t9\n\t],\n\t\"./widgets/Text.vue\": [\n\t\t\"f00f\",\n\t\t9\n\t],\n\t\"./widgets/Textarea\": [\n\t\t\"92c9\",\n\t\t9\n\t],\n\t\"./widgets/Textarea.vue\": [\n\t\t\"92c9\",\n\t\t9\n\t],\n\t\"./widgets/Timeline\": [\n\t\t\"5ec7\",\n\t\t9\n\t],\n\t\"./widgets/Timeline.vue\": [\n\t\t\"5ec7\",\n\t\t9\n\t],\n\t\"./widgets/TimelineItem\": [\n\t\t\"6cc0\",\n\t\t9\n\t],\n\t\"./widgets/TimelineItem.vue\": [\n\t\t\"6cc0\",\n\t\t9\n\t],\n\t\"./widgets/Tip\": [\n\t\t\"86ed\",\n\t\t9\n\t],\n\t\"./widgets/Tip.vue\": [\n\t\t\"86ed\",\n\t\t9\n\t],\n\t\"./widgets/Toggle\": [\n\t\t\"c8fb\",\n\t\t9\n\t],\n\t\"./widgets/Toggle.vue\": [\n\t\t\"c8fb\",\n\t\t9\n\t],\n\t\"./widgets/Tree\": [\n\t\t\"6a4c\",\n\t\t9\n\t],\n\t\"./widgets/Tree.vue\": [\n\t\t\"6a4c\",\n\t\t9\n\t],\n\t\"./widgets/TripleBox\": [\n\t\t\"ecbe\",\n\t\t9\n\t],\n\t\"./widgets/TripleBox.vue\": [\n\t\t\"ecbe\",\n\t\t9\n\t],\n\t\"./widgets/Vertical\": [\n\t\t\"d686\",\n\t\t9\n\t],\n\t\"./widgets/Vertical.vue\": [\n\t\t\"d686\",\n\t\t9\n\t],\n\t\"./widgets/Video\": [\n\t\t\"9be7\",\n\t\t9\n\t],\n\t\"./widgets/Video.vue\": [\n\t\t\"9be7\",\n\t\t9\n\t],\n\t\"./widgets/View\": [\n\t\t\"2e86\",\n\t\t9\n\t],\n\t\"./widgets/View.vue\": [\n\t\t\"2e86\",\n\t\t9\n\t],\n\t\"./widgets/ViewAbs\": [\n\t\t\"38da\",\n\t\t9\n\t],\n\t\"./widgets/ViewAbs.vue\": [\n\t\t\"38da\",\n\t\t9\n\t],\n\t\"./widgets/WidgetAbs\": [\n\t\t\"d0e8\",\n\t\t9\n\t],\n\t\"./widgets/WidgetAbs.vue\": [\n\t\t\"d0e8\",\n\t\t9\n\t],\n\t\"./widgets/WidgetBase\": [\n\t\t\"dbeb\",\n\t\t9\n\t],\n\t\"./widgets/WidgetBase.vue\": [\n\t\t\"dbeb\",\n\t\t9\n\t],\n\t\"./widgets/index\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/index.js\": [\n\t\t\"bb84\",\n\t\t9\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1])\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"8673\";\nmodule.exports = webpackAsyncContext;","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n let inst = null\r\n let tipCache = {\r\n time: new Date().getTime()\r\n }\r\n export {tipCache}\r\n \r\n export default {\r\n name: 'w-tip',\r\n mixins: [Dialog],\r\n props: ['text', 'face'],\r\n methods: {\r\n x_default() {\r\n return {\r\n prong: true,\r\n autoHide: true,\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-dialog w-vertical' + (this.x.face && ' z-face-' + this.x.face)\r\n },\r\n defaultSnapTargetElem() {\r\n return this.commander.snapElem()\r\n },\r\n defaultSnapPosition() {\r\n return 'tb,rl,lr,bt,rr,ll,bb,tt,cc'\r\n }\r\n },\r\n mounted() {\r\n tipCache.time = new Date().getTime()\r\n inst && $.close(inst)\r\n inst = this.uid\r\n },\r\n unmounted() {\r\n inst = null\r\n }\r\n }\r\n \r\n</script>\r\n\r\n<style>\r\n .w-tip.w-dialog {\r\n border: 1px solid #2498ff;\r\n background: #f5faff;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip .w-tip-x {\r\n position: absolute;\r\n right: 3px;\r\n top: 3px;\r\n padding: 0 3px;\r\n cursor: pointer\r\n }\r\n\r\n .w-tip .f-i-close {\r\n font-size: 12px;\r\n color: #999\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #2498ff\r\n }\r\n\r\n .w-tip.w-dialog.z-face-warn {\r\n border: 1px solid #f3e041;\r\n background: #faf0cd;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #f3e041\r\n }\r\n\r\n .w-tip-body {\r\n min-height: 32px;\r\n }\r\n\r\n .w-tip-text {\r\n padding: 0 10px;\r\n }\r\n</style>\n","import script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\nimport \"./Tip.vue?vue&type=style&index=0&id=129e762e&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Scroll.vue?vue&type=style&index=0&id=12c136aa&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Text from './Text.vue'\r\n import Dialog from './Dialog.vue'\r\n import Calendar from './Calendar.vue'\r\n\r\n export default {\r\n name: 'w-datepicker',\r\n mixins: [Text],\r\n inject: ['provideRangeParent'],\r\n props: ['showButton', 'multiple', 'format', 'autoFix', 'compare', 'minValue', 'maxValue', 'dropClass', 'enableHour', 'enableMinute', 'enableSecond',\r\n 'defaultHour', 'defaultMinute', 'defaultSecond' ],\r\n data() {\r\n return {\r\n showDrop: false,\r\n currentDate: null,\r\n focusValue: null,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n format: 'yyyy-MM-dd',\r\n autoFix: true,\r\n showButton: true,\r\n inputWidth: (this.provideRangeParent && this.provideRangeParent.x.inputWidth) || 180\r\n }\r\n },\r\n isUsableVal(v) {\r\n if (!$.dateValid(v, this.x.format)) return false\r\n let eh = this.x.enableHour && $.arrayNumber(this.x.enableHour)\r\n let em = this.x.enableMinute && $.arrayNumber(this.x.enableMinute)\r\n let es = this.x.enableSecond && $.arrayNumber(this.x.enableSecond)\r\n if (eh || em || es) {\r\n let d = $.dateParse(v, this.x.format)\r\n if ((eh && !eh.includes(d.getHours())) || (em && !em.includes(d.getMinutes())) || (es && !es.includes(d.getSeconds()))) return false\r\n }\r\n return true\r\n },\r\n onfocus(e) {\r\n this.focusValue = this.x.modelValue\r\n this.baseFocus(e)\r\n },\r\n onkeyup() {\r\n this.showDrop = true\r\n },\r\n onclose() {\r\n this.showDrop = false\r\n this.currentDate = null\r\n this.doAutoFix()\r\n },\r\n doAutoFix() {\r\n let v = this.x.modelValue\r\n if (v) {\r\n if (!this.isUsableVal(v)) {\r\n this.x.autoFix && this.val(this.focusValue)\r\n } else {\r\n let re = /\\b(\\d)\\b/g\r\n if (re.test(v)) {\r\n this.val(v.replace(re, '0$1'))\r\n }\r\n }\r\n }\r\n },\r\n drop() {\r\n if ($.br.mobile) {\r\n $.dateSheet({\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n success: this.calendarCallback,\r\n })\r\n } else {\r\n this.showDrop = true\r\n }\r\n },\r\n calendarCallback(val) {\r\n this.val(val)\r\n this.showDrop = false\r\n this.currentDate = null\r\n if (!$.br.mobile)\r\n this.focus()\r\n },\r\n getPeriod() {\r\n let minValue = this.x.minValue\r\n let maxValue = this.x.maxValue\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n if (p) {\r\n if (p[0] == this) {\r\n let end = p[1].formVal()\r\n if (end != null && (maxValue == null || maxValue > end)) maxValue = end\r\n } else if (p[1] == this) {\r\n let begin = p[0].formVal()\r\n if (begin != null && (minValue == null || minValue < begin)) minValue = begin\r\n }\r\n }\r\n return {\r\n minValue,\r\n maxValue\r\n }\r\n },\r\n getCompareError(v, r) {\r\n if (v && r && r.target && this.ownerView) {\r\n let f = this.x.format\r\n let m = r.mode || '<='\r\n let t = r.target.isWidget ? r.target : this.ownerView.f(r.target)\r\n let tv = t.formVal()\r\n if (v && tv && $.dateValid(v, f) && $.dateValid(tv, f)) {\r\n let d = $.dateParse(v, f)\r\n let td = $.dateParse(tv, f)\r\n if (!$.eval('d' + m + 'td', {d, td}))\r\n return [this.getLabelText(), m, t.getLabelText()]\r\n }\r\n }\r\n },\r\n html_button() {\r\n let r = []\r\n let f = this.x.format || ''\r\n let timeCols = 0\r\n if (f.includes('H')) timeCols ++\r\n if (f.includes('m')) timeCols ++\r\n if (f.includes('s')) timeCols ++\r\n let onlyTime = /[Hms]/.test(f) && !/[yMd]/.test(f)\r\n \r\n if (this.x.showButton) r.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-date',\r\n disabled: this.x.disabled,\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Dialog, {\r\n ownproperty: true,\r\n class: ['f-dfish-dialog w-calendar-dialog', this.dropClass, {'z-hastime': timeCols, 'z-onlytime': onlyTime}],\r\n style: {'--w-datepicker-time-cols': (timeCols || '')},\r\n context: this,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.snapElem(),\r\n position: 'v',\r\n indent: 1\r\n },\r\n onClose: this.onclose\r\n }, {\r\n default: () => h(Calendar, {\r\n height: '*',\r\n pad: true,\r\n current: this.currentDate || this.x.modelValue || '',\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n enableHour: this.x.enableHour,\r\n enableMinute: this.x.enableMinute,\r\n enableSecond: this.x.enableSecond,\r\n defaultHour: this.x.defaultHour,\r\n defaultMinute: this.x.defaultMinute,\r\n defaultSecond: this.x.defaultSecond,\r\n success: this.calendarCallback,\r\n 'onClick:item': (e, item) => {this.currentDate = item.value},\r\n })\r\n }))\r\n }\r\n return r\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minValue: (v, r, q) => {\r\n if (v && $.dateParse(v, this.x.format) < $.dateParse(r, this.x.format))\r\n return this.formErr(q)\r\n },\r\n maxValue: (v, r, q) => {\r\n if (v && $.dateParse(v, this.x.format) > $.dateParse(r, this.x.format))\r\n return this.formErr(q)\r\n },\r\n compare: (v, r, q) => {\r\n let e = this.getCompareError(v, r)\r\n if (e) return this.formErr(q, e)\r\n },\r\n validateDefault: (v, r, q) => {\r\n if (this.x.multiple)\r\n return;\r\n if (v) {\r\n let c = v\r\n let d = $.dateParse(c, this.x.format)\r\n let y = d.getFullYear()\r\n let m = 9999\r\n let n = 1000\r\n if (y > m || y < n)\r\n return this.formErr({type: 'time_exceed'}, [n, m])\r\n if (c != $.dateFormat(d, this.x.format)) {\r\n return this.formErr({type: 'time_format'}, [$.dateFormat(new Date, this.x.format)]);\r\n }\r\n }\r\n if (this.defaultRuleValue('beforeNow') && v && v > $.dateFormat(new Date(), this.x.format))\r\n return this.formErr({type: 'beforeNow'}, [this.x.beforeNow])\r\n if (this.defaultRuleValue('afterNow') && v && v < $.dateFormat(new Date(), this.x.format))\r\n return this.formErr({type: 'afterNow'}, [this.x.afterNow])\r\n let e = this.provideRangeParent && this.provideRangeParent.getRangeError()\r\n if (e) return this.formErr({type: 'compare'}, e)\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return $.br.mobile ? {\r\n readonly: true,\r\n } : {\r\n onfocus: this.onfocus,\r\n onkeyup: this.onkeyup,\r\n }\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.drop,\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./DatePicker.vue?vue&type=script&lang=js\"\nexport * from \"./DatePicker.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import Text from './Text.vue'\r\n \r\n export default {\r\n name: 'w-textarea',\r\n mixins: [Text],\r\n computed: {\r\n input_tag() {\r\n return 'textarea'\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Textarea.vue?vue&type=script&lang=js\"\nexport * from \"./Textarea.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n } from 'vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n const onScroll = function(e) {\r\n if (this.wScrollPercentX) {\r\n let left = e.target.scrollLeft\r\n this.scrollXPosition = left == 0 ? 'left' : left >= this.wScrollSizeX ? 'right' : 'center'\r\n this.$refs.wScrollBarThumbX.style.transform = `translateX(${left/this.wScrollPercentX}px)`\r\n }\r\n if (this.wScrollPercentY) {\r\n let top = e.target.scrollTop\r\n this.scrollYPosition = top == 0 ? 'top' : top >= this.wScrollSizeY ? 'bottom' : 'middle'\r\n this.$refs.wScrollBarThumbY.style.transform = `translateY(${top/this.wScrollPercentY}px)`\r\n }\r\n this.onScroll(e)\r\n }\r\n\r\n const onMousedown = function(dnEv) {\r\n let dir, dnX, dnY, scrLeft, scrTop;\r\n let ov = this.$refs.wScrollOverflow\r\n let x = this.wScrollPercentX\r\n let y = this.wScrollPercentY\r\n $.moveup((mvEv) => {\r\n if (!dir) {\r\n dir = this.$refs.wScrollBarThumbX === dnEv.target ? 'X' : 'Y'\r\n dnX = dnEv.clientX\r\n dnY = dnEv.clientY\r\n scrLeft = ov.scrollLeft\r\n scrTop = ov.scrollTop\r\n dnEv.target.parentNode.classList.add('z-drag')\r\n }\r\n if (dir === 'X') {\r\n ov.scrollLeft = scrLeft + ((mvEv.clientX - dnX) * x)\r\n } else {\r\n ov.scrollTop = scrTop + ((mvEv.clientY - dnY) * y)\r\n }\r\n }, (upEv, moved) => {\r\n if (moved)\r\n dnEv.target.parentNode.classList.remove('z-drag')\r\n }, dnEv)\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase],\r\n props: ['scrollX', 'scrollY', 'scrollView', 'scrollFlex'],\r\n data() {\r\n return {\r\n wScrollPercentX: false,\r\n wScrollPercentY: false,\r\n wScrollSizeX: false,\r\n wScrollSizeY: false,\r\n scrollXPosition: 'left',\r\n scrollYPosition: 'top',\r\n isDeactivated: false,\r\n }\r\n },\r\n watch: {\r\n scrollXPosition(v) {\r\n this.onScrollPosition(v)\r\n },\r\n scrollYPosition(v) {\r\n this.onScrollPosition(v)\r\n },\r\n wScrollPercentX(v) {\r\n let el = this.el()\r\n if (el) {\r\n v ? el.setAttribute('w-scroll-show-x', '') : el.removeAttribute('w-scroll-show-x')\r\n }\r\n },\r\n wScrollPercentY(v) {\r\n let el = this.el()\r\n if (el) {\r\n v ? el.setAttribute('w-scroll-show-y', '') : el.removeAttribute('w-scroll-show-y')\r\n }\r\n }\r\n },\r\n methods: {\r\n onScroll(e) {\r\n //implement\r\n },\r\n onScrollPosition() {\r\n //implement\r\n },\r\n onScrollAttributeChange(e) {\r\n //implement\r\n },\r\n // 让元素滚动到可见区域。支持下面两种调用方式 /e -> el|wg, y -> (top,bottom,middle,auto,top+n,bottom+n,n), x -> (left,right,center,auto), p -> ease?, q -> divide(整除数字,让滚动的距离是这个数字的整数倍), r -> callback\r\n scrollTo(e, y, x, p, q, r) {\r\n let a = this.ovf()\r\n if (!a) return r && r()\r\n let b = this.$refs.wScrollCont || a\r\n let c = $.bcr(a)\r\n let d = $.bcr(b)\r\n let f = e ? $.bcr(e) : d\r\n let t, l\r\n if (y != null || e) {\r\n if (y == null || !isNaN(y)) {\r\n t = $.number(y)\r\n if (e) t = f.top - d.top - t\r\n } else if (~y.indexOf('top')) {\r\n t = f.top - d.top - (+y.slice(3))\r\n } else if (~y.indexOf('bottom')) {\r\n t = f.bottom - d.top - c.height + (+y.slice(6))\r\n } else if (y === 'middle') {\r\n t = f.top - d.top - ((c.height / 2) - (f.height / 2))\r\n } else if (y === 'nearest') {\r\n if (f.top < c.top)\r\n t = a.scrollTop - c.top + f.top\r\n else if (f.bottom > c.bottom)\r\n t = a.scrollTop + f.bottom - c.bottom\r\n } else {\r\n if (f.top < c.top || f.bottom > c.bottom)\r\n t = f.top - d.top - ((c.height / 2) - (f.height / 2))\r\n }\r\n }\r\n if (x != null || e) {\r\n if (x == null || !isNaN(x)) {\r\n l = $.number(x)\r\n if (e) l = f.left - d.left - l\r\n } else if (~y.indexOf('left')) {\r\n l = f.left - d.left - (+y.slice(4))\r\n } else if (~y.indexOf('right')) {\r\n l = f.right - d.left - c.width + (+y.slice(5))\r\n } else if (x === 'center') {\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n } else if (x === 'nearest') {\r\n if (f.left < c.left)\r\n l = a.scrollLeft - c.left + f.left\r\n else if (f.right > c.right)\r\n l = a.scrollLeft + f.right - c.right\r\n } else {\r\n if (f.left < c.left || f.right > c.right)\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n }\r\n }\r\n if (q != null) {\r\n t != null && (t = t - (t % q))\r\n l != null && (l = l - (l % q))\r\n }\r\n if (p && (t != null || l != null)) {\r\n let g = a.scrollTop\r\n let h = a.scrollLeft\r\n $.ease((i) => {\r\n if (t != null) a.scrollTop = g + (t - g) * i\r\n if (l != null) a.scrollLeft = h + (l - h) * i\r\n i === 1 && r && r()\r\n }, p)\r\n } else {\r\n if (t != null) a.scrollTop = t\r\n if (l != null) a.scrollLeft = l\r\n r && r()\r\n }\r\n },\r\n //@public /@ e -> el, y -> (top,bottom,middle), p -> ease?, q -> divide, r -> callback\r\n scrollToY(e, y, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollTop\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = y, y = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, y, null, p, q, r)\r\n },\r\n //@public /@ e -> el, x -> (left,right,center), p -> ease?, q -> divide, r -> callback\r\n scrollToX(e, x, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollLeft\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = x, x = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, null, x, p, q, r)\r\n },\r\n ovf() {\r\n return $.br.mobile ? this.el() : this.$refs.wScrollOverflow || this.$refs.wScrollCont\r\n },\r\n html_scroll_slots(s) {\r\n return this.x.scrollX || this.x.scrollY ? [h('div', {\r\n ref: \"wScrollOverflow\",\r\n class: \"w-scroll-overflow\",\r\n onscroll: onScroll.bind(this),\r\n onmouseenter: this.initScroll\r\n }, h('div', {\r\n class: 'w-scroll-cont',\r\n style: this.html_scroll_cont_style,\r\n ref: \"wScrollCont\"\r\n }, s || (this.$slots.default && this.$slots.default()))),\r\n !$.br.mobile && this.x.scrollX && [h('div', {\r\n class: \"w-scrollbar-x\",\r\n ref: \"wScrollBarX\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbX\"\r\n }))],\r\n !$.br.mobile && this.x.scrollY && [h('div', {\r\n class: \"w-scrollbar-y\",\r\n ref: \"wScrollBarY\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbY\"\r\n }))]\r\n ] : (s || (this.$slots.default && this.$slots.default()))\r\n\r\n },\r\n scrollState() {\r\n if ($.br.mobile || !this.$refs.wScrollCont || !this.el()) return\r\n const flow = this.$refs.wScrollOverflow.getBoundingClientRect()\r\n const cont = this.$refs.wScrollCont.getBoundingClientRect()\r\n let x, y;\r\n if (this.x.scrollX) {\r\n let size = cont.width > flow.width && cont.width - flow.width\r\n if (size && size <= 1) size = false //@fixme 横向滚动时,width:fit-content的设置会让有小数点的宽度变成整数。目前先加一个像素容错\r\n if (size) {\r\n x = {\r\n size,\r\n percent: flow.width / cont.width\r\n }\r\n }\r\n }\r\n if (this.x.scrollY) {\r\n let size = cont.height > flow.height && cont.height - flow.height\r\n if (size) {\r\n y = {\r\n size,\r\n percent: flow.height / cont.height\r\n }\r\n }\r\n }\r\n return {x, y}\r\n },\r\n initScroll() {\r\n const state = this.scrollState()\r\n if (!state) return\r\n const wrap = this.el().getBoundingClientRect()\r\n const {x, y} = state\r\n if (x) {\r\n let thbX = x.percent * wrap.width\r\n this.$refs.wScrollBarThumbX.style.width = Math.max(20, thbX) + 'px'\r\n this.wScrollSizeX = x.size\r\n this.wScrollPercentX = x.size && (x.size / ((1 - x.percent) * (wrap.width - (thbX < 20 ? 20 - thbX : 0))))\r\n } else {\r\n this.wScrollSizeX = this.wScrollPercentX = false\r\n }\r\n if (y) {\r\n let thbY = y.percent * wrap.height\r\n this.$refs.wScrollBarThumbY.style.height = Math.max(20, thbY) + 'px'\r\n this.wScrollSizeY = y.size\r\n this.wScrollPercentY = y.size && (y.size / ((1 - y.percent) * (wrap.height - (thbY < 20 ? 20 - thbY : 0))))\r\n } else {\r\n this.wScrollSizeY = this.wScrollPercentY = false\r\n }\r\n },\r\n scroll_observe() {\r\n if (this.isDeactivated) return\r\n this.initScroll()\r\n this.$refs.wScrollOverflow && this.$refs.wScrollOverflow.dispatchEvent(new Event('scroll'))\r\n }\r\n },\r\n computed: {\r\n html_scroll_cont_style() {\r\n // implement\r\n },\r\n html_scroll_class() {\r\n let sx = this.x.scrollX\r\n let sy = this.x.scrollY\r\n return {\r\n 'w-scroll': sx || sy,\r\n 'w-scroll-x': sx,\r\n 'w-scroll-y': sy,\r\n 'w-scroll-flex': this.x.scrollFlex,\r\n }\r\n },\r\n\r\n },\r\n mounted() {\r\n if (this.x.scrollView && this.el()) {\r\n setTimeout(() => {\r\n let el = this.el().querySelector(this.x.scrollView)\r\n el && this.scrollToY(el, 'middle')\r\n })\r\n }\r\n //在PC端生成滚动条。移动端不生成\r\n if ($.br.mobile || !(this.x.scrollX || this.x.scrollY)) return\r\n this.$refs.wScrollOverflow && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollOverflow)\r\n this.$refs.wScrollCont && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollCont)\r\n this.el() && new MutationObserver(this.onScrollAttributeChange).observe(this.el(), {attributes: true})\r\n },\r\n deactivated() {\r\n this.isDeactivated = true\r\n },\r\n activated() {\r\n this.isDeactivated = false\r\n //router切回来时,让滚动条滚动到切出去之前的位置\r\n if (this.x.scrollY && this.$refs.wScrollBarThumbY) {\r\n this.scrollToY($.number(this.$refs.wScrollBarThumbY.style.transform) * this.wScrollPercentY)\r\n }\r\n if (this.x.scrollX && this.$refs.wScrollBarThumbX) {\r\n this.scrollToX($.number(this.$refs.wScrollBarThumbX.style.transform) * this.wScrollPercentX)\r\n }\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-scroll {\r\n position: relative;\r\n display: flex;\r\n }\r\n\r\n .w-scroll-overflow {\r\n flex: 1;\r\n box-sizing: border-box;\r\n scrollbar-width: none;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow {\r\n overflow-x: auto;\r\n }\r\n\r\n .w-scroll-y>.w-scroll-overflow {\r\n overflow-y: auto;\r\n }\r\n\r\n .w-scroll-flex>.w-scroll-overflow {\r\n display: flex;\r\n }\r\n\r\n .w-scroll-cont {\r\n min-width: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow>.w-scroll-cont {\r\n width: fit-content;\r\n }\r\n\r\n .w-scroll-overflow::-webkit-scrollbar {\r\n width: 0;\r\n height: 0;\r\n }\r\n\r\n .w-scrollbar-thumb {\r\n background-color: rgba(200, 200, 200, .9);\r\n }\r\n\r\n .w-scrollbar-thumb:hover {\r\n background-color: rgba(180, 180, 180, 1);\r\n }\r\n\r\n .w-scroll-x:hover>.w-scrollbar-x,\r\n .w-scroll-x.z-hv>.w-scrollbar-x,\r\n .w-scroll-y:hover>.w-scrollbar-y,\r\n .w-scroll-y.z-hv>.w-scrollbar-y,\r\n .w-scrollbar-x.z-drag,\r\n .w-scrollbar-y.z-drag {\r\n visibility: visible;\r\n }\r\n\r\n .w-scroll[w-scroll-show-x]>.w-scrollbar-x,\r\n .w-scroll[w-scroll-show-y]>.w-scrollbar-y {\r\n display: block;\r\n }\r\n\r\n .w-scrollbar-x {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: 12px;\r\n z-index: 10;\r\n user-select: none;\r\n }\r\n\r\n .w-scrollbar-y {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n width: 12px;\r\n z-index: 10;\r\n user-select: none;\r\n }\r\n\r\n .w-scrollbar-thumb {\r\n position: absolute;\r\n transition-property: top, left;\r\n transition-duration: .1s;\r\n }\r\n\r\n .w-scrollbar-x>.w-scrollbar-thumb {\r\n top: 4px;\r\n bottom: 0;\r\n min-width: 20px;\r\n }\r\n\r\n\r\n .w-scrollbar-y>.w-scrollbar-thumb {\r\n left: 4px;\r\n right: 0;\r\n min-height: 20px;\r\n }\r\n\r\n .w-scrollbar-x:hover>.w-scrollbar-thumb {\r\n top: 0;\r\n }\r\n\r\n .w-scrollbar-y:hover>.w-scrollbar-thumb {\r\n left: 0;\r\n }\r\n</style>\n","import script from \"./Scroll.vue?vue&type=script&lang=js\"\nexport * from \"./Scroll.vue?vue&type=script&lang=js\"\n\nimport \"./Scroll.vue?vue&type=style&index=0&id=12c136aa&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LinkBox.vue?vue&type=style&index=0&id=d62f9532&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Range.vue?vue&type=style&index=0&id=8a31b61c&lang=css\"","import {strFrom} from './str.js'\r\n\r\nconst mimes = {\r\n \".323\": \"text/h323\",\r\n \".3gp\": \"video/3gpp\",\r\n \".aab\": \"application/x-authoware-bin\",\r\n \".aam\": \"application/x-authoware-map\",\r\n \".aas\": \"application/x-authoware-seg\",\r\n \".acx\": \"application/internet-property-stream\",\r\n \".ai\": \"application/postscript\",\r\n \".aif\": \"audio/x-aiff\",\r\n \".aifc\": \"audio/x-aiff\",\r\n \".aiff\": \"audio/x-aiff\",\r\n \".als\": \"audio/X-Alpha5\",\r\n \".amc\": \"application/x-mpeg\",\r\n \".apk\": \"application/vnd.android.package-archive\",\r\n \".asc\": \"text/plain\",\r\n \".asd\": \"application/astound\",\r\n \".asf\": \"video/x-ms-asf\",\r\n \".asn\": \"application/astound\",\r\n \".asp\": \"application/x-asap\",\r\n \".asr\": \"video/x-ms-asf\",\r\n \".asx\": \"video/x-ms-asf\",\r\n \".au\": \"audio/basic\",\r\n \".avi\": \"video/x-msvideo\",\r\n \".awb\": \"audio/amr-wb\",\r\n \".axs\": \"application/olescript\",\r\n \".bas\": \"text/plain\",\r\n \".bcpio\": \"application/x-bcpio\",\r\n \".bld\": \"application/bld\",\r\n \".bld2\": \"application/bld2\",\r\n \".bmp\": \"image/bmp\",\r\n \".bz2\": \"application/x-bzip2\",\r\n \".c\": \"text/plain\",\r\n \".cal\": \"image/x-cals\",\r\n \".cat\": \"application/vnd.ms-pkiseccat\",\r\n \".ccn\": \"application/x-cnc\",\r\n \".cco\": \"application/x-cocoa\",\r\n \".cdf\": \"application/x-cdf\",\r\n \".cer\": \"application/x-x509-ca-cert\",\r\n \".cgi\": \"magnus-internal/cgi\",\r\n \".chat\": \"application/x-chat\",\r\n \".clp\": \"application/x-msclip\",\r\n \".cmx\": \"image/x-cmx\",\r\n \".co\": \"application/x-cult3d-object\",\r\n \".cod\": \"image/cis-cod\",\r\n \".conf\": \"text/plain\",\r\n \".cpio\": \"application/x-cpio\",\r\n \".cpp\": \"text/plain\",\r\n \".cpt\": \"application/mac-compactpro\",\r\n \".crd\": \"application/x-mscardfile\",\r\n \".crl\": \"application/pkix-crl\",\r\n \".crt\": \"application/x-x509-ca-cert\",\r\n \".csh\": \"application/x-csh\",\r\n \".csm\": \"chemical/x-csml\",\r\n \".csml\": \"chemical/x-csml\",\r\n \".css\": \"text/css\",\r\n \".dcm\": \"x-lml/x-evm\",\r\n \".dcr\": \"application/x-director\",\r\n \".dcx\": \"image/x-dcx\",\r\n \".der\": \"application/x-x509-ca-cert\",\r\n \".dhtml\": \"text/html\",\r\n \".dir\": \"application/x-director\",\r\n \".dll\": \"application/x-msdownload\",\r\n \".doc\": \"application/msword\",\r\n \".docx\": \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n \".dot\": \"application/msword\",\r\n \".dvi\": \"application/x-dvi\",\r\n \".dwf\": \"drawing/x-dwf\",\r\n \".dwg\": \"application/x-autocad\",\r\n \".dxf\": \"application/x-autocad\",\r\n \".dxr\": \"application/x-director\",\r\n \".ebk\": \"application/x-expandedbook\",\r\n \".emb\": \"chemical/x-embl-dl-nucleotide\",\r\n \".embl\": \"chemical/x-embl-dl-nucleotide\",\r\n \".eps\": \"application/postscript\",\r\n \".epub\": \"application/epub+zip\",\r\n \".eri\": \"image/x-eri\",\r\n \".es\": \"audio/echospeech\",\r\n \".esl\": \"audio/echospeech\",\r\n \".etc\": \"application/x-earthtime\",\r\n \".etx\": \"text/x-setext\",\r\n \".evm\": \"x-lml/x-evm\",\r\n \".evy\": \"application/envoy\",\r\n \".fh4\": \"image/x-freehand\",\r\n \".fh5\": \"image/x-freehand\",\r\n \".fhc\": \"image/x-freehand\",\r\n \".fif\": \"application/fractals\",\r\n \".flr\": \"x-world/x-vrml\",\r\n \".flv\": \"flv-application/octet-stream\",\r\n \".fm\": \"application/x-maker\",\r\n \".fpx\": \"image/x-fpx\",\r\n \".fvi\": \"video/isivideo\",\r\n \".gau\": \"chemical/x-gaussian-input\",\r\n \".gca\": \"application/x-gca-compressed\",\r\n \".gdb\": \"x-lml/x-gdb\",\r\n \".gif\": \"image/gif\",\r\n \".gps\": \"application/x-gps\",\r\n \".gtar\": \"application/x-gtar\",\r\n \".gz\": \"application/x-gzip\",\r\n \".h\": \"text/plain\",\r\n \".hdf\": \"application/x-hdf\",\r\n \".hdm\": \"text/x-hdml\",\r\n \".hdml\": \"text/x-hdml\",\r\n \".hlp\": \"application/winhlp\",\r\n \".hqx\": \"application/mac-binhex40\",\r\n \".hta\": \"application/hta\",\r\n \".htc\": \"text/x-component\",\r\n \".htm\": \"text/html\",\r\n \".html\": \"text/html\",\r\n \".hts\": \"text/html\",\r\n \".htt\": \"text/webviewhtml\",\r\n \".ice\": \"x-conference/x-cooltalk\",\r\n \".ico\": \"image/x-icon\",\r\n \".ief\": \"image/ief\",\r\n \".ifm\": \"image/gif\",\r\n \".ifs\": \"image/ifs\",\r\n \".iii\": \"application/x-iphone\",\r\n \".imy\": \"audio/melody\",\r\n \".ins\": \"application/x-internet-signup\",\r\n \".ips\": \"application/x-ipscript\",\r\n \".ipx\": \"application/x-ipix\",\r\n \".isp\": \"application/x-internet-signup\",\r\n \".it\": \"audio/x-mod\",\r\n \".itz\": \"audio/x-mod\",\r\n \".ivr\": \"i-world/i-vrml\",\r\n \".j2k\": \"image/j2k\",\r\n \".jad\": \"text/vnd.sun.j2me.app-descriptor\",\r\n \".jam\": \"application/x-jam\",\r\n \".jar\": \"application/java-archive\",\r\n \".java\": \"text/plain\",\r\n \".jfif\": \"image/pipeg\",\r\n \".jnlp\": \"application/x-java-jnlp-file\",\r\n \".jpe\": \"image/jpeg\",\r\n \".jpeg\": \"image/jpeg\",\r\n \".jpg\": \"image/jpeg\",\r\n \".jpz\": \"image/jpeg\",\r\n \".js\": \"application/x-javascript\",\r\n \".jwc\": \"application/jwc\",\r\n \".kjx\": \"application/x-kjx\",\r\n \".lak\": \"x-lml/x-lak\",\r\n \".latex\": \"application/x-latex\",\r\n \".lcc\": \"application/fastman\",\r\n \".lcl\": \"application/x-digitalloca\",\r\n \".lcr\": \"application/x-digitalloca\",\r\n \".lgh\": \"application/lgh\",\r\n \".lml\": \"x-lml/x-lml\",\r\n \".lmlpack\": \"x-lml/x-lmlpack\",\r\n \".log\": \"text/plain\",\r\n \".lsf\": \"video/x-la-asf\",\r\n \".lsx\": \"video/x-la-asf\",\r\n \".m13\": \"application/x-msmediaview\",\r\n \".m14\": \"application/x-msmediaview\",\r\n \".m15\": \"audio/x-mod\",\r\n \".m3u\": \"audio/x-mpegurl\",\r\n \".m3url\": \"audio/x-mpegurl\",\r\n \".m4a\": \"audio/mp4a-latm\",\r\n \".m4b\": \"audio/mp4a-latm\",\r\n \".m4p\": \"audio/mp4a-latm\",\r\n \".m4u\": \"video/vnd.mpegurl\",\r\n \".m4v\": \"video/x-m4v\",\r\n \".ma1\": \"audio/ma1\",\r\n \".ma2\": \"audio/ma2\",\r\n \".ma3\": \"audio/ma3\",\r\n \".ma5\": \"audio/ma5\",\r\n \".man\": \"application/x-troff-man\",\r\n \".map\": \"magnus-internal/imagemap\",\r\n \".mbd\": \"application/mbedlet\",\r\n \".mct\": \"application/x-mascot\",\r\n \".mdb\": \"application/x-msaccess\",\r\n \".mdz\": \"audio/x-mod\",\r\n \".me\": \"application/x-troff-me\",\r\n \".mel\": \"text/x-vmel\",\r\n \".mht\": \"message/rfc822\",\r\n \".mhtml\": \"message/rfc822\",\r\n \".mi\": \"application/x-mif\",\r\n \".mid\": \"audio/mid\",\r\n \".midi\": \"audio/midi\",\r\n \".mif\": \"application/x-mif\",\r\n \".mil\": \"image/x-cals\",\r\n \".mio\": \"audio/x-mio\",\r\n \".mmf\": \"application/x-skt-lbs\",\r\n \".mng\": \"video/x-mng\",\r\n \".mny\": \"application/x-msmoney\",\r\n \".moc\": \"application/x-mocha\",\r\n \".mocha\": \"application/x-mocha\",\r\n \".mod\": \"audio/x-mod\",\r\n \".mof\": \"application/x-yumekara\",\r\n \".mol\": \"chemical/x-mdl-molfile\",\r\n \".mop\": \"chemical/x-mopac-input\",\r\n \".mov\": \"video/quicktime\",\r\n \".movie\": \"video/x-sgi-movie\",\r\n \".mp2\": \"video/mpeg\",\r\n \".mp3\": \"audio/mpeg\",\r\n \".mp4\": \"video/mp4\",\r\n \".mpa\": \"video/mpeg\",\r\n \".mpc\": \"application/vnd.mpohun.certificate\",\r\n \".mpe\": \"video/mpeg\",\r\n \".mpeg\": \"video/mpeg\",\r\n \".mpg\": \"video/mpeg\",\r\n \".mpg4\": \"video/mp4\",\r\n \".mpga\": \"audio/mpeg\",\r\n \".mpn\": \"application/vnd.mophun.application\",\r\n \".mpp\": \"application/vnd.ms-project\",\r\n \".mps\": \"application/x-mapserver\",\r\n \".mpv2\": \"video/mpeg\",\r\n \".mrl\": \"text/x-mrml\",\r\n \".mrm\": \"application/x-mrm\",\r\n \".ms\": \"application/x-troff-ms\",\r\n \".msg\": \"application/vnd.ms-outlook\",\r\n \".mts\": \"application/metastream\",\r\n \".mtx\": \"application/metastream\",\r\n \".mtz\": \"application/metastream\",\r\n \".mvb\": \"application/x-msmediaview\",\r\n \".mzv\": \"application/metastream\",\r\n \".nar\": \"application/zip\",\r\n \".nbmp\": \"image/nbmp\",\r\n \".nc\": \"application/x-netcdf\",\r\n \".ndb\": \"x-lml/x-ndb\",\r\n \".ndwn\": \"application/ndwn\",\r\n \".nif\": \"application/x-nif\",\r\n \".nmz\": \"application/x-scream\",\r\n \".nokia-op-logo\": \"image/vnd.nok-oplogo-color\",\r\n \".npx\": \"application/x-netfpx\",\r\n \".nsnd\": \"audio/nsnd\",\r\n \".nva\": \"application/x-neva1\",\r\n \".nws\": \"message/rfc822\",\r\n \".oda\": \"application/oda\",\r\n \".ogg\": \"audio/ogg\",\r\n \".oom\": \"application/x-AtlasMate-Plugin\",\r\n \".p10\": \"application/pkcs10\",\r\n \".p12\": \"application/x-pkcs12\",\r\n \".p7b\": \"application/x-pkcs7-certificates\",\r\n \".p7c\": \"application/x-pkcs7-mime\",\r\n \".p7m\": \"application/x-pkcs7-mime\",\r\n \".p7r\": \"application/x-pkcs7-certreqresp\",\r\n \".p7s\": \"application/x-pkcs7-signature\",\r\n \".pac\": \"audio/x-pac\",\r\n \".pae\": \"audio/x-epac\",\r\n \".pan\": \"application/x-pan\",\r\n \".pbm\": \"image/x-portable-bitmap\",\r\n \".pcx\": \"image/x-pcx\",\r\n \".pda\": \"image/x-pda\",\r\n \".pdb\": \"chemical/x-pdb\",\r\n \".pdf\": \"application/pdf\",\r\n \".pfr\": \"application/font-tdpfr\",\r\n \".pfx\": \"application/x-pkcs12\",\r\n \".pgm\": \"image/x-portable-graymap\",\r\n \".pict\": \"image/x-pict\",\r\n \".pko\": \"application/ynd.ms-pkipko\",\r\n \".pm\": \"application/x-perl\",\r\n \".pma\": \"application/x-perfmon\",\r\n \".pmc\": \"application/x-perfmon\",\r\n \".pmd\": \"application/x-pmd\",\r\n \".pml\": \"application/x-perfmon\",\r\n \".pmr\": \"application/x-perfmon\",\r\n \".pmw\": \"application/x-perfmon\",\r\n \".png\": \"image/png\",\r\n \".pnm\": \"image/x-portable-anymap\",\r\n \".pnz\": \"image/png\",\r\n \".pot\": \"application/vnd.ms-powerpoint\",\r\n \".ppm\": \"image/x-portable-pixmap\",\r\n \".pps\": \"application/vnd.ms-powerpoint\",\r\n \".ppt\": \"application/vnd.ms-powerpoint\",\r\n \".pptx\": \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\r\n \".pqf\": \"application/x-cprplayer\",\r\n \".pqi\": \"application/cprplayer\",\r\n \".prc\": \"application/x-prc\",\r\n \".prf\": \"application/pics-rules\",\r\n \".prop\": \"text/plain\",\r\n \".proxy\": \"application/x-ns-proxy-autoconfig\",\r\n \".ps\": \"application/postscript\",\r\n \".ptlk\": \"application/listenup\",\r\n \".pub\": \"application/x-mspublisher\",\r\n \".pvx\": \"video/x-pv-pvx\",\r\n \".qcp\": \"audio/vnd.qcelp\",\r\n \".qt\": \"video/quicktime\",\r\n \".qti\": \"image/x-quicktime\",\r\n \".qtif\": \"image/x-quicktime\",\r\n \".r3t\": \"text/vnd.rn-realtext3d\",\r\n \".ra\": \"audio/x-pn-realaudio\",\r\n \".ram\": \"audio/x-pn-realaudio\",\r\n \".ras\": \"image/x-cmu-raster\",\r\n \".rc\": \"text/plain\",\r\n \".rdf\": \"application/rdf+xml\",\r\n \".rf\": \"image/vnd.rn-realflash\",\r\n \".rgb\": \"image/x-rgb\",\r\n \".rlf\": \"application/x-richlink\",\r\n \".rm\": \"audio/x-pn-realaudio\",\r\n \".rmf\": \"audio/x-rmf\",\r\n \".rmi\": \"audio/mid\",\r\n \".rmm\": \"audio/x-pn-realaudio\",\r\n \".rmvb\": \"audio/x-pn-realaudio\",\r\n \".rnx\": \"application/vnd.rn-realplayer\",\r\n \".roff\": \"application/x-troff\",\r\n \".rp\": \"image/vnd.rn-realpix\",\r\n \".rpm\": \"audio/x-pn-realaudio-plugin\",\r\n \".rt\": \"text/vnd.rn-realtext\",\r\n \".rte\": \"x-lml/x-gps\",\r\n \".rtf\": \"application/rtf\",\r\n \".rtg\": \"application/metastream\",\r\n \".rtx\": \"text/richtext\",\r\n \".rv\": \"video/vnd.rn-realvideo\",\r\n \".rwc\": \"application/x-rogerwilco\",\r\n \".s3m\": \"audio/x-mod\",\r\n \".s3z\": \"audio/x-mod\",\r\n \".sca\": \"application/x-supercard\",\r\n \".scd\": \"application/x-msschedule\",\r\n \".sct\": \"text/scriptlet\",\r\n \".sdf\": \"application/e-score\",\r\n \".sea\": \"application/x-stuffit\",\r\n \".setpay\": \"application/set-payment-initiation\",\r\n \".setreg\": \"application/set-registration-initiation\",\r\n \".sgm\": \"text/x-sgml\",\r\n \".sgml\": \"text/x-sgml\",\r\n \".sh\": \"application/x-sh\",\r\n \".shar\": \"application/x-shar\",\r\n \".shtml\": \"magnus-internal/parsed-html\",\r\n \".shw\": \"application/presentations\",\r\n \".si6\": \"image/si6\",\r\n \".si7\": \"image/vnd.stiwap.sis\",\r\n \".si9\": \"image/vnd.lgtwap.sis\",\r\n \".sis\": \"application/vnd.symbian.install\",\r\n \".sit\": \"application/x-stuffit\",\r\n \".skd\": \"application/x-Koan\",\r\n \".skm\": \"application/x-Koan\",\r\n \".skp\": \"application/x-Koan\",\r\n \".skt\": \"application/x-Koan\",\r\n \".slc\": \"application/x-salsa\",\r\n \".smd\": \"audio/x-smd\",\r\n \".smi\": \"application/smil\",\r\n \".smil\": \"application/smil\",\r\n \".smp\": \"application/studiom\",\r\n \".smz\": \"audio/x-smd\",\r\n \".snd\": \"audio/basic\",\r\n \".spc\": \"application/x-pkcs7-certificates\",\r\n \".spl\": \"application/futuresplash\",\r\n \".spr\": \"application/x-sprite\",\r\n \".sprite\": \"application/x-sprite\",\r\n \".sdp\": \"application/sdp\",\r\n \".spt\": \"application/x-spt\",\r\n \".src\": \"application/x-wais-source\",\r\n \".sst\": \"application/vnd.ms-pkicertstore\",\r\n \".stk\": \"application/hyperstudio\",\r\n \".stl\": \"application/vnd.ms-pkistl\",\r\n \".stm\": \"text/html\",\r\n \".svg\": \"image/svg+xml\",\r\n \".sv4cpio\": \"application/x-sv4cpio\",\r\n \".sv4crc\": \"application/x-sv4crc\",\r\n \".svf\": \"image/vnd\",\r\n \".svh\": \"image/svh\",\r\n \".svr\": \"x-world/x-svr\",\r\n \".swf\": \"application/x-shockwave-flash\",\r\n \".swfl\": \"application/x-shockwave-flash\",\r\n \".t\": \"application/x-troff\",\r\n \".talk\": \"text/x-speech\",\r\n \".tar\": \"application/x-tar\",\r\n \".taz\": \"application/x-tar\",\r\n \".tbp\": \"application/x-timbuktu\",\r\n \".tbt\": \"application/x-timbuktu\",\r\n \".tcl\": \"application/x-tcl\",\r\n \".tex\": \"application/x-tex\",\r\n \".texi\": \"application/x-texinfo\",\r\n \".texinfo\": \"application/x-texinfo\",\r\n \".tgz\": \"application/x-compressed\",\r\n \".thm\": \"application/vnd.eri.thm\",\r\n \".tif\": \"image/tiff\",\r\n \".tiff\": \"image/tiff\",\r\n \".tki\": \"application/x-tkined\",\r\n \".tkined\": \"application/x-tkined\",\r\n \".toc\": \"application/toc\",\r\n \".toy\": \"image/toy\",\r\n \".tr\": \"application/x-troff\",\r\n \".trk\": \"x-lml/x-gps\",\r\n \".trm\": \"application/x-msterminal\",\r\n \".tsi\": \"audio/tsplayer\",\r\n \".tsp\": \"application/dsptype\",\r\n \".tsv\": \"text/tab-separated-values\",\r\n \".ttz\": \"application/t-time\",\r\n \".txt\": \"text/plain\",\r\n \".uls\": \"text/iuls\",\r\n \".ult\": \"audio/x-mod\",\r\n \".ustar\": \"application/x-ustar\",\r\n \".uu\": \"application/x-uuencode\",\r\n \".uue\": \"application/x-uuencode\",\r\n \".vcd\": \"application/x-cdlink\",\r\n \".vcf\": \"text/x-vcard\",\r\n \".vdo\": \"video/vdo\",\r\n \".vib\": \"audio/vib\",\r\n \".viv\": \"video/vivo\",\r\n \".vivo\": \"video/vivo\",\r\n \".vmd\": \"application/vocaltec-media-desc\",\r\n \".vmf\": \"application/vocaltec-media-file\",\r\n \".vmi\": \"application/x-dreamcast-vms-info\",\r\n \".vms\": \"application/x-dreamcast-vms\",\r\n \".vox\": \"audio/voxware\",\r\n \".vqe\": \"audio/x-twinvq-plugin\",\r\n \".vqf\": \"audio/x-twinvq\",\r\n \".vql\": \"audio/x-twinvq\",\r\n \".vre\": \"x-world/x-vream\",\r\n \".vrml\": \"x-world/x-vrml\",\r\n \".vrt\": \"x-world/x-vrt\",\r\n \".vrw\": \"x-world/x-vream\",\r\n \".vts\": \"workbook/formulaone\",\r\n \".wav\": \"audio/x-wav\",\r\n \".wax\": \"audio/x-ms-wax\",\r\n \".wbmp\": \"image/vnd.wap.wbmp\",\r\n \".wcm\": \"application/vnd.ms-works\",\r\n \".wdb\": \"application/vnd.ms-works\",\r\n \".web\": \"application/vnd.xara\",\r\n \".webm\": \"video/webm\",\r\n \".wi\": \"image/wavelet\",\r\n \".wis\": \"application/x-InstallShield\",\r\n \".wks\": \"application/vnd.ms-works\",\r\n \".wm\": \"video/x-ms-wm\",\r\n \".wma\": \"audio/x-ms-wma\",\r\n \".wmd\": \"application/x-ms-wmd\",\r\n \".wmf\": \"application/x-msmetafile\",\r\n \".wml\": \"text/vnd.wap.wml\",\r\n \".wmlc\": \"application/vnd.wap.wmlc\",\r\n \".wmls\": \"text/vnd.wap.wmlscript\",\r\n \".wmlsc\": \"application/vnd.wap.wmlscriptc\",\r\n \".wmlscript\": \"text/vnd.wap.wmlscript\",\r\n \".wmv\": \"audio/x-ms-wmv\",\r\n \".wmx\": \"video/x-ms-wmx\",\r\n \".wmz\": \"application/x-ms-wmz\",\r\n \".wpng\": \"image/x-up-wpng\",\r\n \".wpt\": \"x-lml/x-gps\",\r\n \".wri\": \"application/x-mswrite\",\r\n \".wrl\": \"x-world/x-vrml\",\r\n \".wrz\": \"x-world/x-vrml\",\r\n \".ws\": \"text/vnd.wap.wmlscript\",\r\n \".wsc\": \"application/vnd.wap.wmlscriptc\",\r\n \".wv\": \"video/wavelet\",\r\n \".wvx\": \"video/x-ms-wvx\",\r\n \".wxl\": \"application/x-wxl\",\r\n \".x-gzip\": \"application/x-gzip\",\r\n \".xaf\": \"x-world/x-vrml\",\r\n \".xar\": \"application/vnd.xara\",\r\n \".xbm\": \"image/x-xbitmap\",\r\n \".xdm\": \"application/x-xdma\",\r\n \".xdma\": \"application/x-xdma\",\r\n \".xdw\": \"application/vnd.fujixerox.docuworks\",\r\n \".xht\": \"application/xhtml+xml\",\r\n \".xhtm\": \"application/xhtml+xml\",\r\n \".xhtml\": \"application/xhtml+xml\",\r\n \".xla\": \"application/vnd.ms-excel\",\r\n \".xlc\": \"application/vnd.ms-excel\",\r\n \".xll\": \"application/x-excel\",\r\n \".xlm\": \"application/vnd.ms-excel\",\r\n \".xls\": \"application/vnd.ms-excel\",\r\n \".xlsx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n \".xlt\": \"application/vnd.ms-excel\",\r\n \".xlw\": \"application/vnd.ms-excel\",\r\n \".xm\": \"audio/x-mod\",\r\n \".xml\": \"application/xml\",\r\n \".xmz\": \"audio/x-mod\",\r\n \".xof\": \"x-world/x-vrml\",\r\n \".xpi\": \"application/x-xpinstall\",\r\n \".xpm\": \"image/x-xpixmap\",\r\n \".xsit\": \"text/xml\",\r\n \".xsl\": \"text/xml\",\r\n \".xul\": \"text/xul\",\r\n \".xwd\": \"image/x-xwindowdump\",\r\n \".xyz\": \"chemical/x-pdb\",\r\n \".yz1\": \"application/x-yz1\",\r\n \".z\": \"application/x-compress\",\r\n \".zac\": \"application/x-zaurus-zac\",\r\n \".json\": \"application/json\",\r\n \".vsd\": \"application/vnd.visio\",\r\n \".et\": \"application/kset\",\r\n \".wps\": \"application/kswps\",\r\n \".dps\": \"application/ksdps\"\r\n}\r\n\r\nexport default function(a) {\r\n let b = strFrom(a, '.', true) || a\r\n return mimes['.' + b]\r\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loading.vue?vue&type=style&index=0&id=35a83c14&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-video',\r\n mixins: [WidgetBase],\r\n props: ['src', 'poster'],\r\n data() {\r\n return {\r\n playing: false,\r\n }\r\n },\r\n methods: {\r\n getMimeType() {\r\n let filePath = $.strTo(this.x.src, '?') || this.x.src\r\n let fileName = $.strFrom(filePath, '/', true) || filePath\r\n let suffix = $.strFrom(fileName, '.', true)\r\n return suffix ? mimeType(fileName) : 'video/mp4'\r\n },\r\n html_slots() {\r\n return [h('video', {\r\n class: 'w-video-vd f-width f-height',\r\n ref: 'vd',\r\n src: this.x.src,\r\n poster: this.x.poster,\r\n onplay: e => this.playing = true,\r\n onpause: e => this.playing = false,\r\n controls: true,\r\n 'webkit-playsinline': true,\r\n 'playsinline': true,\r\n 'x-webkit-airplay': true,\r\n 'x5-playsinline': true,\r\n 'x5-video-player-type': 'h5',\r\n 'x5-video-orientation': 'h5',\r\n 'x5-video-player-fullscreen': true,\r\n }), h('div', {\r\n class: 'w-video-play f-abs-center f-flex-center',\r\n innerHTML: '<i class=\"f-i f-i-play\"></i>',\r\n onclick: e => {\r\n let o = this.$refs.vd\r\n o.paused ? o.play() : o.pause()\r\n }\r\n })]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['f-rel f-flex-center', {'z-play': this.playing}]\r\n }\r\n }\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-video {\r\n box-sizing: border-box;\r\n background: #000;\r\n }\r\n\r\n .w-video.z-play .w-video-play {\r\n display: none\r\n }\r\n\r\n .w-video-play {\r\n display: flex;\r\n width: 62px;\r\n height: 62px;\r\n background: rgba(0, 0, 0, .5);\r\n border-radius: 50%;\r\n z-index: 1;\r\n }\r\n\r\n .w-video-play .f-i {\r\n color: #fff;\r\n font-size: 36px;\r\n transform: translate(4px, 0px);\r\n cursor: default\r\n }\r\n</style>\n","import script from \"./Video.vue?vue&type=script&lang=js\"\nexport * from \"./Video.vue?vue&type=script&lang=js\"\n\nimport \"./Video.vue?vue&type=style&index=0&id=7ee48295&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-split',\r\n mixins: [WidgetBase],\r\n props: ['collapsedIcon', 'expandedIcon', 'movable', 'range', 'toNext', 'expanded'],\r\n inject: ['provideLayout'],\r\n created() {\r\n this.$watch('expanded', (v) => {\r\n if (typeof v === 'boolean') this.x.expanded = v\r\n else if (this.x.expanded == null) this.x.expanded = true\r\n }, {immediate: true})\r\n },\r\n methods: {\r\n toggle(exp) {\r\n this.x.expanded = exp == null ? !this.x.expanded : exp\r\n let minorElem = this.x.toNext ? this.el().nextElementSibling : this.el().previousElementSibling\r\n if (minorElem) {\r\n $.q(minorElem).toggleClass('f-split-collapsed', !this.x.expanded)\r\n //$.q(minorElem).css(this.expanded ? {visibility: '', position: '', zIndex: ''} : {visibility: 'hidden', position: 'absolute', zIndex: -1})\r\n }\r\n },\r\n dragstart(e) {\r\n let prevElem = this.el().previousElementSibling\r\n let nextElem = this.el().nextElementSibling\r\n if (prevElem && nextElem) {\r\n let vert = this.inVertical\r\n let minorElem = this.x.toNext ? nextElem : prevElem\r\n let downX = $.eventX(e)\r\n let downY = $.eventY(e)\r\n let posName = vert ? 'top' : 'left'\r\n let sizeName = vert ? 'height' : 'width'\r\n let clientName = vert ? 'clientY' : 'clientX'\r\n let downPos = vert ? downY : downX\r\n let minPos = $.bcr(prevElem)[posName]\r\n let maxPos = $.bcr(nextElem)[vert ? 'bottom' : 'right'] - 5\r\n let movRect = $.lodash.pick($.bcr(this.$refs.movable), ['width', 'height', 'top', 'left'])\r\n let pos\r\n let help\r\n $.moveup((e) => {\r\n if (!help) {\r\n help = $.q(`<div style=\"position:absolute;background:rgba(0,0,0,.3);z-index:101;\"></div>`).css(\r\n movRect).appendTo(document.body)\r\n }\r\n pos = $.numRange(movRect[posName] + e[clientName] - downPos, minPos, maxPos)\r\n help.css({\r\n [posName]: pos\r\n })\r\n }, (e, moved) => {\r\n if (moved && help) {\r\n help.remove()\r\n let size = (this.x.expanded ? $.bcr(minorElem)[sizeName] : 0) + (this.x.toNext ? 1 : -1) * (downPos -\r\n pos)\r\n if (size <= 0) {\r\n this.toggle(false)\r\n } else {\r\n if (!this.x.expanded) this.toggle(true)\r\n $.q(minorElem).css({\r\n [sizeName]: size\r\n })\r\n }\r\n }\r\n }, e)\r\n }\r\n },\r\n html_slots() {\r\n let r = []\r\n let expandedIcon = this.x.expandedIcon || this.x.collapsedIcon\r\n let collapsedIcon = this.x.collapsedIcon || expandedIcon\r\n if (expandedIcon) {\r\n r.push(this.html_icon(this.x.expanded ? expandedIcon : collapsedIcon, 'w-split-icon', () => this.toggle()))\r\n }\r\n if (this.x.movable) {\r\n r.push(h('div', {\r\n ref: 'movable',\r\n class: 'w-split-movable',\r\n onmousedown: this.dragstart\r\n }))\r\n }\r\n return r\r\n }\r\n },\r\n computed: {\r\n inVertical() {\r\n return this.provideLayout === 'w-vertical'\r\n },\r\n html_props() {\r\n return {\r\n class: ['f-rel z-' + (this.inVertical ? 'vertical' : 'horizontal'), {\r\n 'z-tonext': this.x.toNext\r\n }]\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-split-collapsed {\r\n position: absolute !important;\r\n visibility: hidden !important;\r\n z-index: -1;\r\n opacity: 0;\r\n }\r\n\r\n .w-split-icon {\r\n position: absolute;\r\n cursor: pointer;\r\n line-height: 1;\r\n z-index: 1;\r\n }\r\n\r\n .w-split.z-vertical .w-split-icon {\r\n left: 50%;\r\n top: 0;\r\n transform: translateX(-50%);\r\n }\r\n\r\n .w-split.z-vertical.z-tonext .w-split-icon {\r\n top: auto;\r\n bottom: 0;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-icon {\r\n top: 50%;\r\n left: 0;\r\n transform: translateY(-50%);\r\n }\r\n\r\n .w-split.z-horizontal.z-tonext .w-split-icon {\r\n left: auto;\r\n right: 0;\r\n }\r\n\r\n .w-split-movable {\r\n position: absolute;\r\n }\r\n\r\n .w-split.z-vertical .w-split-movable {\r\n height: 100%;\r\n min-height: 5px;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n cursor: row-resize;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-movable {\r\n width: 100%;\r\n min-width: 5px;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n cursor: col-resize;\r\n }\r\n</style>\r\n","import script from \"./Split.vue?vue&type=script&lang=js\"\nexport * from \"./Split.vue?vue&type=script&lang=js\"\n\nimport \"./Split.vue?vue&type=style&index=0&id=64ffe5ca&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-rate',\r\n mixins: [FormBase],\r\n props: ['allowHalf', 'cancelable', 'sum', 'count', 'text'],\r\n data() {\r\n return {\r\n hoverWrap: false,\r\n hoverIndex: -1,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n sum: 5,\r\n count: 5,\r\n }\r\n },\r\n hoverItem(e, i) {\r\n if (!this.isNormal) return;\r\n this.hoverIndex = i\r\n },\r\n clickItem(e, i) {\r\n if (!this.isNormal) return;\r\n this.x.modelValue = this.x.cancelable && this.x.modelValue == i ? '' : i\r\n },\r\n html_star(i) {\r\n return h(Img, {\r\n class: ['w-rate-star-icon', {'z-hv': this.hoverWrap && i <= this.hoverIndex, 'z-on': !this.hoverWrap && i <= this.x.modelValue}],\r\n src: '.f-i .f-i-star-full', \r\n onMouseenter: e => this.hoverItem(e, i),\r\n onClick: e => this.clickItem(e, i),\r\n disabled: !this.isNormal\r\n })\r\n },\r\n html_input() {\r\n let half = this.x.allowHalf ? .5 : 1\r\n let step = this.x.sum * half / this.x.count \r\n let stars = []\r\n for (let i = step; i <= this.x.sum; i += step / half) {\r\n let icons = [this.html_star(i)]\r\n if (this.x.allowHalf) icons.push(this.html_star(i + step))\r\n stars.push(h('li', {class: 'w-rate-star'}, icons))\r\n }\r\n return [\r\n this.html_input_hidden(),\r\n h('ul', {\r\n class: 'w-rate-wrap',\r\n onMouseenter: e => this.isNormal && (this.hoverWrap = true),\r\n onMouseleave: e => this.isNormal && (this.hoverWrap = false),\r\n },\r\n stars\r\n ),\r\n this.x.text && this.x.modelValue && h('span', {class: 'w-rate-text'}, this.x.text[(this.x.modelValue - step) / half])\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return {\r\n 'z-allow-half': this.x.allowHalf\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-rate-wrap {\r\n padding: 0 0 0 10px;\r\n margin: 0;\r\n display: flex;\r\n }\r\n .w-rate-star {\r\n margin: 0 10px 0 0;\r\n padding: 0;\r\n list-style: none;\r\n }\r\n .w-rate-star:last-child {\r\n margin-right: 0;\r\n }\r\n .w-rate-star {\r\n margin: 0 10px 0 0;\r\n padding: 0;\r\n list-style: none;\r\n }\r\n .w-rate-star-icon {\r\n position: relative;\r\n overflow: hidden;\r\n align-items: flex-start;\r\n color: #bbb;\r\n }\r\n .w-rate-star-icon:nth-child(2) {\r\n align-items: flex-end;\r\n margin-top: -100%;\r\n margin-left: 50%;\r\n }\r\n .w-rate-star-icon.z-hv,\r\n .w-rate-star-icon.z-on {\r\n color: gold;\r\n }\r\n \r\n .w-rate.z-allow-half .w-rate-star-icon {\r\n width: 50%;\r\n }\r\n \r\n .w-rate-text {\r\n margin-left: 10px;\r\n }\r\n\r\n</style>\r\n","import script from \"./Rate.vue?vue&type=script&lang=js\"\nexport * from \"./Rate.vue?vue&type=script&lang=js\"\n\nimport \"./Rate.vue?vue&type=style&index=0&id=68b4bc40&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h, toRaw, Teleport, defineAsyncComponent} from 'vue'\r\n import TemplateAlert from '../template/TemplateAlert.vue'\r\n import TemplateConfirm from '../template/TemplateConfirm.vue'\r\n import TemplateTip from '../template/TemplateTip.vue'\r\n import TemplateLoading from '../template/TemplateLoading.vue'\r\n\r\n const templateHooks = {\r\n Alert: TemplateAlert,\r\n Confirm: TemplateConfirm,\r\n Tip: TemplateTip,\r\n Loading: TemplateLoading\r\n }\r\n \r\n export default {\r\n name: 'w-pop',\r\n props: ['p'],\r\n render() {\r\n if (this.p.hidden) return h(Teleport, {to: '#w-dfish-pops'})\r\n let com\r\n let t = this.p.cmd.template\r\n let props = $.lodash.omit(this.p.cmd, 'template')\r\n if (t && typeof t === 'string') {\r\n let sfx = '.vue'\r\n t = t.startsWith('@/') ? t.slice(2) : $.x.templateDir + t\r\n if (!t.endsWith(sfx)) t += sfx\r\n com = defineAsyncComponent({\r\n errorComponent: h(TemplateAlert, {text: `${t} 不存在`, icon: 'error', title: '操作提示'}),\r\n loader: () => import(/* @vite-ignore */`@/${t}`),\r\n })\r\n } else {\r\n com = toRaw(t || templateHooks[this.p.cmd.type])\r\n }\r\n return com && h(com, props)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","import script from \"./Pop.vue?vue&type=script&lang=js\"\nexport * from \"./Pop.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n export default {\r\n name: 'w-column',\r\n props: ['width', 'minWidth'],\r\n }\r\n</script>\r\n\r\n","import script from \"./TableColumn.vue?vue&type=script&lang=js\"\nexport * from \"./TableColumn.vue?vue&type=script&lang=js\"\n\nexport default script","import {number} from './number.js'\r\nimport {strFrom, strTo} from './str.js'\r\n\r\nconst _css_camelize = (function() {\n\tlet b = {'float' : 'cssFloat'}\n\treturn function(s) {\n\t\treturn b[s] || s.replace(/-./g, function($0) {return $0.charAt(1).toUpperCase()});\n\t}\n})()\r\n\r\n// @o -> el, n -> name, v -> value\nconst _set_style = function(o, n, v) {\n\t// 如属性名前面带 += 号,则执行 += 操作\n\tif (typeof v === 'string' && v.charAt(1) === '=') {\n\t\tvar\tn = _css_camelize(n),\n\t\t\tc = o.style[n] || getComputedStyle(o, null)[n],\n\t\t\tv = number(v.replace('=', ''))\n\t\tif (n === 'width' || n === 'height') {\n\t\t\tc = number(c && c !== 'auto' ? c : n.charAt(0) === 'w' ? o.offsetWidth : o.offsetHeight);\n\t\t\tif (c < 0) c = 0;\n\t\t} else\n\t\t\tc = number(c);\n\t\to.style[n] = (c + v) + (n === 'zIndex' ? 0 : 'px');\n\t} else {\n\t\tn = _css_camelize(n);\n\t\tif (n === 'width' || n === 'height')\n\t\t\tv && v !== 'auto' && (v = Math.max(_number(v), 0));\n\t\tif (v && !isNaN(v) && n !== 'zIndex')\n\t\t\tv += 'px';\n\t\to.style[n] = v;\n\t}\n\treturn o;\n}\r\n\r\nconst css = function(o, s, n) {\n\tif (!o || !s)\n\t\treturn null;\n\tif (n != null) {\n\t\tfor (var i = 1, l = arguments.length; i < l; i += 2)\n\t\t\t_set_style(o, arguments[i], arguments[i + 1]);\n\t} else {\n\t\tif (typeof s === 'string') {\n\t\t\tif (s.indexOf(':') > 0) {\n\t\t\t\tfor (var i = 0, b = s.split(';'), l = b.length, k, v; i < l; i ++)\n\t\t\t\t\t(k = strTo(b[i], ':')) && (v = strFrom(b[i], ':')) && _set_style(o, k, v);\n\t\t\t} else\n\t\t\t\treturn o.style[s] || getComputedStyle(o, null)[s];\n\t\t}\n\t\tfor (var i in s) _set_style(o, i, s[i]);\n\t}\n}\r\n\r\nexport {css}","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import PubParent from './PubParent.vue'\r\n import SwiperItem from './SwiperItem.vue'\r\n\r\n export default {\r\n name: 'w-swiper',\r\n mixins: [WidgetBase, PubParent],\r\n props: ['arrow', 'indicatorDots', 'duration'],\r\n data() {\r\n return {\r\n focusIndex: null,\r\n }\r\n },\r\n watch: {\r\n current(v) {\r\n this.setFocus(v)\r\n },\r\n },\r\n methods: {\r\n //@a -> key, index\r\n setFocus(a) {\r\n let s = this.slots_children()\r\n let c = s.findIndex(v => this.isCurrentChild(a, v))\r\n this.focusIndex = c\r\n },\r\n clickArrow(a) {\r\n this.focusIndex += a\r\n },\r\n clickIndicator(a) {\r\n this.focusIndex = a\r\n },\r\n html_slots() {\r\n if (this.focusIndex == null) {\r\n this.setFocus(this.x.current)\r\n }\r\n let v = this.x.vertical\r\n let a = v ? 'up' : 'left'\r\n let b = v ? 'down' : 'right'\r\n return [\r\n h('div', {\r\n class: 'w-swiper-cont',\r\n ref: 'cont',\r\n }, this.$slots),\r\n this.x.arrow && h('div', {\r\n class: 'w-swiper-arrow z-' + a,\r\n onclick: e => this.clickArrow(-1)\r\n }, h('i', {\r\n class: 'f-i f-i-angle-' + a\r\n })),\r\n this.x.arrow && h('div', {\r\n class: 'w-swiper-arrow z-' + b,\r\n onclick: e => this.clickArrow(1)\r\n }, h('i', {\r\n class: 'f-i f-i-angle-' + b\r\n })),\r\n this.x.indicatorDots && h('div', {\r\n class: 'w-swiper-indicator f-flex-center',\r\n }, this.slots_children().map((v, i) => h('div', {\r\n class: 'w-swiper-indicator-dot' + (i == this.focusIndex ? ' z-on' : ''),\r\n onclick: e => this.clickIndicator(i)\r\n })))\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n let i = this.focusIndex\r\n return {\r\n 'z-at-first': i == 0,\r\n 'z-at-last': i > -1 && i == this.slots_children().length - 1\r\n }\r\n },\r\n html_style() {\r\n let i = this.focusIndex\r\n return {\r\n '--w-swiper-translate-x': (-i * 100) + '%',\r\n '--w-swiper-transition': this.x.duration ? `transform ${this.x.duration}ms` : 0,\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.$refs.cont) {\r\n new MutationObserver(() => {\r\n this.setFocus(this.x.current)\r\n }).observe(this.$refs.cont, {\r\n childList: true\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-swiper {\r\n position: relative;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-swiper-cont {\r\n display: flex;\r\n box-sizing: border-box;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n\r\n .w-swiper-item {\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n transform: translateX(var(--w-swiper-translate-x));\r\n transition: var(--w-swiper-transition);\r\n }\r\n\r\n .w-swiper-item>* {\r\n width: 100%;\r\n height: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-swiper.z-at-first>.w-swiper-arrow.z-left,\r\n .w-swiper.z-at-last>.w-swiper-arrow.z-right,\r\n .w-swiper.z-at-first>.w-swiper-arrow.z-up,\r\n .w-swiper.z-at-last>.w-swiper-arrow.z-down {\r\n display: none\r\n }\r\n\r\n .w-swiper-arrow {\r\n position: absolute;\r\n margin: auto;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 1;\r\n cursor: pointer\r\n }\r\n\r\n .w-swiper-arrow.z-left {\r\n width: 40px;\r\n right: auto\r\n }\r\n\r\n .w-swiper-arrow.z-right {\r\n width: 40px;\r\n left: auto\r\n }\r\n\r\n .w-swiper-arrow.z-up {\r\n height: 40px;\r\n bottom: auto\r\n }\r\n\r\n .w-swiper-arrow.z-down {\r\n height: 40px;\r\n top: auto\r\n }\r\n\r\n .w-swiper-arrow .f-i {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n font-size: 36px;\r\n color: #ccc\r\n }\r\n\r\n .w-swiper-arrow:hover {\r\n background: rgba(0, 0, 0, .1)\r\n }\r\n\r\n .w-swiper-arrow:hover .f-i {\r\n color: #fff\r\n }\r\n\r\n .w-swiper-indicator {\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n bottom: 10px;\r\n text-align: center\r\n }\r\n\r\n .w-swiper-indicator-dot {\r\n width: 9px;\r\n height: 9px;\r\n margin: 0 4px;\r\n background-color: #bbb;\r\n border-radius: 10px;\r\n vertical-align: middle;\r\n cursor: pointer\r\n }\r\n\r\n .w-swiper-indicator-dot.z-on {\r\n background-color: #333\r\n }\r\n</style>\n","import script from \"./Swiper.vue?vue&type=script&lang=js\"\nexport * from \"./Swiper.vue?vue&type=script&lang=js\"\n\nimport \"./Swiper.vue?vue&type=style&index=0&id=6fe3e638&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Table.vue?vue&type=style&index=0&id=fafed58e&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Progress.vue?vue&type=style&index=0&id=18056e88&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SVGIcon.vue?vue&type=style&index=0&id=a53c637e&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import PubParent from './PubParent.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-thead',\r\n mixins: [WidgetBase, PubParent],\r\n inject: ['table'],\r\n props: ['br', 'sort'],\r\n provide() {\r\n return {\r\n provideLeafLevel: -2,\r\n provideParentLeaf: null,\r\n provideInBody: false,\r\n thead: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n rows: null,\r\n sortUID: null,\r\n }\r\n },\r\n methods: {\r\n isExpanded() {\r\n return true\r\n },\r\n html_tbody() {\r\n let cg = this.table.colgroup\r\n let rows = this.slots_children().map((vr, vi) => {\r\n $.lodash.set(vr, 'props.rowIndex', vi)\r\n return vr\r\n })\r\n let style = {}\r\n if (!this.table.fixed) {\r\n let mw = 0\r\n cg.forEach(c => {\r\n mw += $.number(c.width) || $.number(c['min-width'])\r\n })\r\n if (mw) {\r\n style.minWidth = $.unitSize(mw)\r\n }\r\n }\r\n this.rows = {}\r\n return h('div', {\r\n class: 'w-table-tbl-wrap'\r\n }, h('table', {\r\n ref: 'table',\r\n cellpadding: 0,\r\n cellspacing: 0,\r\n class: 'w-table-tbl',\r\n style,\r\n }, [\r\n //h('colgroup', null, cg.map(v => h('col', {style: {width: v.width == '*' ? null : $.unitSize(v.width)}}))),\r\n h('thead', null, h('tr', null, cg.map(v => h('td', {\r\n style: {\r\n width: v.width == '*' ? null : $.unitSize(v.width),\r\n minWidth: $.unitSize(v['min-width']),\r\n },\r\n 'w-fixed': v.fixed\r\n })))),\r\n h('tbody', rows)\r\n ]))\r\n },\r\n html_slots() {\r\n return this.html_tbody()\r\n }\r\n },\r\n computed: {\r\n isEscape() {\r\n return this.x.escape\r\n },\r\n }\r\n }\r\n</script>\n","import script from \"./TableTHead.vue?vue&type=script&lang=js\"\nexport * from \"./TableTHead.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-range',\r\n mixins: [FormBase],\r\n provide() {\r\n return {\r\n provideRangeParent: this\r\n }\r\n },\r\n props: ['compare'],\r\n methods: {\r\n getRangeError() {\r\n let f = this.forms()\r\n if (f && f.length) {\r\n return f[0].getCompareError(f[0].formVal(), {target: f[1], mode: this.x.mode})\r\n }\r\n },\r\n forms() {\r\n return this.ownerView.fAll(null, this.el('main'))\r\n },\r\n snapElem() {\r\n return this.forms()[0] || this.el('main')\r\n },\r\n html_form() {\r\n let c = this.slots_children()\r\n c.splice(1, 0, h('div', {class: 'w-range-to'}, $.loc.to))\r\n //c.push(h('input', {type: 'hidden', ref:'v', id: this.uid + 'hdn'}))\r\n return c\r\n },\r\n },\r\n computed: {\r\n html_on() {\r\n return {\r\n onclick: e => this.warnClass = ''\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-range.z-full > .w-input > .w-formbase:not(.z-fixed) {\r\n flex: 1;\r\n }\r\n .w-range > .w-input > .w-formbase {\r\n height: 100%;\r\n flex-basis: var(--w-input-width);\r\n }\r\n .w-range-to {\r\n width: 28px;\r\n min-width: 20px;\r\n text-align: center;\r\n }\r\n</style>\r\n","import script from \"./Range.vue?vue&type=script&lang=js\"\nexport * from \"./Range.vue?vue&type=script&lang=js\"\n\nimport \"./Range.vue?vue&type=style&index=0&id=8a31b61c&lang=css\"\n\nexport default script","let u = navigator.userAgent.toLowerCase()\r\nlet chrome = u.match(/\\bchrome\\/(\\d+)/)\r\nlet firefox = u.match(/\\bfirefox\\/(\\d+)/)\r\n\r\nconst r = {\r\n agent: u,\r\n chrome: chrome && parseFloat(chrome[1]),\r\n firefox: firefox && parseFloat(firefox[1]),\r\n safari: !chrome && u.indexOf('safari') > 0,\r\n ie: (navigator.appName === 'Microsoft Internet Explorer' || u.indexOf('trident') > 0) && document.documentMode,\r\n compat: {\r\n gap: false\r\n },\r\n}\r\n\r\nif (u.match(/\\bmobile\\b/)) {\r\n r.mobile = true\r\n r.app = location.protocol === 'file:';\r\n let wechat = u.match(/(MicroMessenger)\\/([\\d\\.]+)/i);\r\n if (wechat) r.wechat = {\r\n version: wechat[2].replace(/_/g, '.')\r\n };\r\n let android = u.match(/(Android);?[\\s\\/]+([\\d.]+)?/i);\r\n if (android) {\r\n r.android = true;\r\n r.version = android[2];\r\n r.isBadAndroid = !(/Chrome\\/\\d/.test(window.navigator.appVersion))\r\n }\r\n let iphone = u.match(/(iPhone\\sOS)\\s([\\d_]+)/i)\r\n if (iphone) {\r\n r.ios = r.iphone = true;\r\n r.version = iphone[2].replace(/_/g, '.')\r\n } else {\r\n let ipad = u.match(/(iPad).*OS\\s([\\d_]+)/i)\r\n if (ipad) {\r\n r.ios = r.ipad = true;\r\n r.version = ipad[2].replace(/_/g, '.')\r\n }\r\n }\r\n}\r\n\r\nif ((r.chrome && r.chrome < 84) || (r.firefox && r.firefox < 63)) {\r\n r.compat.gap = true\r\n}\r\n\r\nexport default r\n","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-alert',\r\n mixins: [Dialog],\r\n props: ['text', 'yes', 'no', 'showButton'],\r\n mounted() {\r\n this.addEvent('close', () => this.$options.name == 'w-alert' ? this.cue(this.x.yes) : this.cue(this.x.no))\r\n },\r\n methods: {\r\n cueYes() {\r\n this.close()\r\n },\r\n cueNo() {\r\n this.close()\r\n },\r\n cue(a) {\r\n if ($.isCmd(a)) {\r\n this.commander.exec(a, this.args)\r\n } else if (typeof a === 'function') {\r\n a(this.args)\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./Alert.vue?vue&type=script&lang=js\"\nexport * from \"./Alert.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Menu.vue?vue&type=style&index=0&id=1c251b50&lang=css\"","import {strFrom, strTo } from './str.js'\r\nimport {jsonArray} from './json.js'\r\nimport br from './browser.js'\r\nimport uid from './uid.js'\r\nimport lodash from 'lodash'\r\n\r\nconst _EventUser = {}\r\nconst _event_remove = function(k) {\r\n if (k.fn) {\r\n lodash.pull(_EventUser[k.id][k.type], k)\r\n k.type = k.fn = k.args = null\r\n }\r\n}\r\nconst _event_name = function(a) {\r\n return a.indexOf('.') > -1 ? strTo(a, '.') : a\r\n}\r\nconst _event_space = function(a) {\r\n return a.indexOf('.') > -1 ? '.' + strFrom(a, '.').split('.').sort().join('.') + '.' : ''\r\n}\r\nconst _event_handlers = function(a, b) {\r\n var c = _EventUser[uid(a)];\r\n if (!c) return;\r\n var type = _event_name(b),\r\n ns = _event_space(b);\r\n if (type) {\r\n return c[type] && (ns ? c[type].filter(v => v.ns.indexOf(ns) > -1) : c[type])\r\n }\r\n var r = [];\r\n for (type in c) {\r\n r.push.apply(r, c[type].filter(v => v.ns.indexOf(ns) > -1))\r\n }\r\n return r;\r\n}\r\n\r\nclass EventListener {\r\n constructor(ctx) {\r\n this.ctx = ctx\r\n }\r\n hasEvent(type) {\r\n let a = _event_handlers(this.ctx, type)\r\n return a && a.length\r\n }\r\n // type -> event type, fn -> fn, pvdr -> context, one -> exec once [T/F]\r\n addEvent(type, fn, one) {\r\n var k = {\r\n id: uid(this.ctx),\r\n type: _event_name(type),\r\n ns: _event_space(type),\r\n fn: fn,\r\n one: one\r\n };\r\n jsonArray(k, _EventUser, k.id, k.type).ori = true\r\n return this;\r\n }\r\n addEventOnce(type, fn) {\r\n return this.addEvent(type, fn, true)\r\n }\r\n // e -> event, r -> args[array]\r\n fireEvent(e, r) {\r\n var a = _event_handlers(this.ctx, e.type || e);\r\n if (a) {\r\n for (var i = 0, k, l = a.length, v; i < l; i++) {\r\n if ((k = a[i]) && k.fn) {\r\n v = k.fn.apply(this.ctx, r ? [e].concat(r) : [e]);\r\n if (k.one) {\r\n _event_remove(k);\r\n a.ori && (i--, l--);\r\n }\r\n if (v !== undefined)\r\n return v;\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n // a -> event type, b -> fn\r\n removeEvent(a, b) {\r\n if (a) {\r\n var d = _event_handlers(this.ctx, a);\r\n if (d) {\r\n var i = d.length;\r\n while (i--)\r\n if (!b || (d[i].fn === b)) _event_remove(d[i]);\r\n }\r\n } else {\r\n var c = _EventUser[uid(this.ctx)],\r\n i;\r\n for (i in c) this.removeEvent(i);\r\n delete _EventUser[uid(this.ctx)];\r\n }\r\n return this;\r\n }\r\n}\n\r\nconst eventX = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientX : e.clientX\r\n}\r\n\r\nconst eventY = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientY : e.clientY\r\n}\r\n\r\nconst moveup = function(moveCB, upCB, downEv) {\r\n let moveHdl, upHdl, dir = downEv == null,\r\n cvs = document.documentElement,\r\n evX = e => e.targetTouches ? e.targetTouches[0].clientX : e.clientX,\r\n evY = e => e.targetTouches ? e.targetTouches[0].clientY : e.clientY,\r\n prevent = e => e.preventDefault()\r\n if (downEv.currentTarget) {\r\n downEv.currentTarget.style.userSelect = 'none'\r\n }\r\n cvs.addEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl = function(e) {\r\n dir ? moveCB(e) :\r\n downEv && (Math.abs(evX(e) - evX(downEv)) > 1 || Math.abs(evY(e) - evY(downEv)) > 1) && (dir = true)\r\n }, true);\r\n cvs.addEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl = function(e) {\r\n cvs.removeEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl, true)\r\n cvs.removeEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl, true)\r\n if (downEv.currentTarget) {\r\n downEv.currentTarget.style.userSelect = ''\r\n }\r\n br.mobile && cvs.removeEventListener('touchmove', prevent, {passive: false});\r\n upCB && upCB(e, dir)\r\n }, true);\r\n // 业务拖动时禁用浏览器默认的拖动效果\r\n br.mobile && cvs.addEventListener('touchmove', prevent, {passive: false})\r\n}\r\n\r\nexport {EventListener, eventX, eventY, moveup}","<script>\r\n import Alert from './Alert.vue' \r\n\r\n export default {\r\n name: 'w-confirm',\r\n mixins: [Alert],\r\n methods: {\r\n cueYes() {\r\n this.cue(this.x.yes)\r\n this.x.no = null\r\n this.close()\r\n },\r\n cueNo() {\r\n this.close()\r\n },\r\n },\r\n computed: {\r\n html_prop_class() {\r\n return 'w-alert w-dialog w-vertical'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Confirm.vue?vue&type=script&lang=js\"\nexport * from \"./Confirm.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import TabButton from './TabButton.vue'\r\n import Swiper from './Swiper.vue'\r\n import SwiperItem from './SwiperItem.vue'\r\n\r\n export default {\r\n name: 'w-tabs',\r\n mixins: [WidgetBase],\r\n props: ['current', 'position', 'gap'],\r\n methods: {\r\n x_default() {\r\n return {\r\n position: 'top',\r\n gap: -1\r\n }\r\n },\r\n html_slots() {\r\n let buttons = []\r\n let pages = []\r\n let pos = this.x.position\r\n this.slots_children().forEach((v, i) => {\r\n if (!v.props || v.props.key == null) {\r\n $.lodash.set(v, 'props.key', i)\r\n }\r\n buttons.push(h(TabButton, v.props))\r\n pages.push(h(SwiperItem, {lazy: v.props.lazy == null ? true : v.props.lazy, key: v.props.key}, v.children))\r\n })\r\n return [\r\n h(ButtonBar, {\r\n class: 'w-tabs-buttonbar',\r\n current: this.x.current,\r\n gap: this.x.gap,\r\n vertical: pos == 'left' || pos == 'right',\r\n scrollX: this.x.scrollX,\r\n scrollY: this.x.scrollY,\r\n }, {default: () => buttons}),\r\n h(Swiper, {class: 'w-tabs-swiper f-flex-1 f-oh', current: this.x.current}, {default: () => pages}),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n let pos = this.x.position\r\n return 'f-oh f-flex' + (pos == 'top' || pos == 'bottom' ? '-column' : '') + ' z-pos-' + pos\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n .w-tabs-buttonbar {\r\n position: relative;\r\n background: #f5f5f5;\r\n }\r\n .w-tabs-buttonbar:after {\r\n content: '';\r\n position: absolute;\r\n background: #ddd;\n }\r\n .w-tab.z-on {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab {\r\n border-top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-bottom-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar:after {\r\n width: 100%;\r\n height: 1px;\r\n bottom: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar {\r\n order: 1;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-swiper {\r\n order: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar:after {\r\n width: 100%;\r\n height: 1px;\r\n top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab {\r\n border-bottom: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-top-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-right-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar:after {\r\n width: 1px;\r\n height: 100%;\r\n right: 0;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab {\r\n border-left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar {\r\n order: 1;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-swiper {\r\n order: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-left-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar:after {\r\n width: 1px;\r\n height: 100%;\r\n left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab {\r\n border-right: 0;\r\n }\r\n \r\n \r\n</style>\r\n","import script from \"./Tabs.vue?vue&type=script&lang=js\"\nexport * from \"./Tabs.vue?vue&type=script&lang=js\"\n\nimport \"./Tabs.vue?vue&type=style&index=0&id=d05fa34a&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import Horizontal from './Horizontal.vue'\r\n import PubParent from './PubParent.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-album',\r\n mixins: [Horizontal, PubParent],\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0,\r\n br: true,\r\n valign: 'top',\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-horizontal'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Album.vue?vue&type=script&lang=js\"\nexport * from \"./Album.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Img.vue?vue&type=style&index=0&id=4b5feea2&lang=css\"","<template>\r\n <w-dialog class=\"w-jigsaw-dialog\">\r\n <img class=\"w-jigsaw-big\" :src=\"bigSrc\">\r\n <img class=\"w-jigsaw-small\" :src=\"smallSrc\" :width=\"smallWidth\" :style=\"{left: smallLeft + 'px'}\" @dragstart.prevent=\"dragstart\" @mousedown=\"mousedown\">\r\n <span @click=\"refresh\" class=\"w-jigsaw-refresh\">刷新</span>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n data() {\r\n return {\r\n smallLeft: 0\r\n }\r\n },\r\n watch: {\r\n 'context.x.modelValue': {\r\n handler(v) {\r\n let m = this.context.max()\r\n let n = this.context.min()\r\n this.smallLeft = (this.dialog.x.width - this.smallWidth) * (v / (m - n))\r\n }\r\n }\r\n },\r\n methods: {\r\n refresh(e) {\r\n this.context.refresh(e)\r\n },\r\n dragstart(e) {\r\n //\r\n },\r\n mousedown(e) {\r\n this.context.dragstart(e)\r\n }\r\n },\r\n computed: {\r\n dialog() {\r\n return $.dialog(this)\r\n },\r\n context() {\r\n return this.dialog.context\r\n },\r\n bigSrc() {\r\n return this.context.x.big.src\r\n },\r\n smallSrc() {\r\n return this.context.x.small.src\r\n },\r\n smallWidth() {\r\n return this.dialog.x.height * (this.context.x.small.width / this.context.x.small.height)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw-big {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-jigsaw-small {\r\n position: absolute;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-jigsaw-refresh {\r\n position: absolute;\r\n top: 5px;\r\n right: 5px;\r\n color: #fff;\r\n cursor: pointer;\r\n text-shadow: 0 0 3px #000;\r\n }\r\n</style>\n","import { render } from \"./TemplateJigsaw.vue?vue&type=template&id=2c16ab31\"\nimport script from \"./TemplateJigsaw.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateJigsaw.vue?vue&type=script&lang=js\"\n\nimport \"./TemplateJigsaw.vue?vue&type=style&index=0&id=2c16ab31&lang=css\"\nscript.render = render\n\nexport default script","<template>\r\n <w-img :class=\"['w-mediaupload-value', {'z-loading': item.loading, 'z-canplay': canPlay, 'z-err': item.error}]\" ref=\"thumbnail\" :src=\"src\" :data-url=\"dataURL\"\r\n :width=\"upload.x.thumbnailWidth\" :img-width=\"upload.x.thumbnailWidth-2\" :img-height=\"upload.x.thumbnailHeight-2\" :tip=\"tip\" @click=\"click\">\r\n <template v-if=\"upload.x.showFileName\" #default>\r\n <div class=\"f-line-1\">{{name}}</div>\r\n </template>\r\n <template #cover>\r\n <canvas v-if=\"item.loading\" ref=\"loading\" width=\"34\" height=\"34\" class=\"w-mediaupload-progress-loading f-abs-center\"></canvas>\r\n <i v-else-if=\"canPlay\" class=\"w-mediaupload-cover-play f-abs-center f-flex-center f-i f-i-play\"></i>\r\n <i v-if=\"upload.isNormal\" class=\"w-mediaupload-value-close f-flex-center f-i f-i-trash\" :title=\"title\" @click=\"remove\"></i>\r\n </template>\r\n </w-img>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['item'],\r\n inject: ['provideUpload'],\r\n data() {\r\n return {\r\n dataURL: null,\r\n }\r\n },\r\n methods: {\r\n click(e) {\r\n this.provideUpload.clickItem(e, this.item)\r\n },\r\n createImageThumbnail() {\r\n let r = new FileReader()\r\n r.onload = (e) => {\r\n if (this.item.loaded) return\r\n this.dataURL = e.target.result\r\n }\r\n r.readAsDataURL(this.item.file)\r\n },\r\n createVideoThumbnail() {\r\n let video = document.createElement('video')\r\n video.addEventListener('loadeddata', () => {\r\n setTimeout(() => {\r\n if (this.item.loaded) return\r\n let cvs = document.createElement('canvas')\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = video.videoWidth\r\n cvs.height = video.videoHeight\r\n ctx.drawImage(video, 0, 0)\r\n this.dataURL = cvs.toDataURL('image/png') \r\n video.pause()\r\n $.q(video).remove()\r\n }, 150)\r\n });\r\n video.src = URL.createObjectURL(this.item.file)\r\n video.muted = true\r\n video.play()\r\n },\r\n setProgress(a) {\r\n let cvs = this.$refs.loading\r\n if (!this.item.loading || !cvs) return\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = cvs.width\r\n ctx.beginPath()\r\n ctx.translate(17, 17)\r\n ctx.moveTo(0, 0)\r\n ctx.arc(0, 0, 15, -Math.PI * .5, Math.PI * ((2 * a / 100) - .5))\r\n ctx.closePath()\r\n ctx.fillStyle = 'rgba(255,255,255,.7)'\r\n ctx.fill()\r\n ctx.beginPath()\r\n ctx.arc(0, 0, 16, 0, Math.PI * 2)\r\n ctx.strokeStyle = '#fff'\r\n ctx.stroke()\r\n },\r\n remove(e) {\r\n this.upload.remove(this.item)\r\n e.stopPropagation()\r\n }, \r\n },\r\n computed: {\r\n upload() {\r\n return this.provideUpload\r\n },\r\n img() {\r\n return this.$refs.thumbnail.$refs.img\r\n },\r\n src() {\r\n return this.item.value ? $.urlServer(this.item.value.thumbnail || this.upload.x.thumbnailSrc, this.item.value,\r\n this.upload.x.data) : ''\r\n },\r\n name() {\r\n return this.item.value ? this.item.value.name : this.item.file.name\r\n },\r\n tip() {\r\n return this.item.error ? this.item.error.message : this.name\r\n },\r\n title() {\r\n return $.loc.remove\r\n },\r\n canPlay() {\r\n return this.item.value && (this.upload.isVideo(this.item) || this.upload.isAudio(this.item))\r\n }\r\n },\r\n mounted() {\r\n if (!this.item.loaded && this.item.file) {\r\n this.upload.isVideo(this.item) ? this.createVideoThumbnail() : this.upload.isImage(this.item) ? this.createImageThumbnail() : null\r\n this.$watch(() => this.item.progress, v => this.setProgress(v), {\r\n immediate: true\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload-value.z-loading .w-img-cover {\r\n background: rgba(0, 0, 0, .25);\r\n }\r\n\r\n .w-mediaupload-progress {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload-progress-img {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: right top;\r\n }\r\n</style>\r\n","import { render } from \"./MediaUploadItem.vue?vue&type=template&id=07113717\"\nimport script from \"./MediaUploadItem.vue?vue&type=script&lang=js\"\nexport * from \"./MediaUploadItem.vue?vue&type=script&lang=js\"\n\nimport \"./MediaUploadItem.vue?vue&type=style&index=0&id=07113717&lang=css\"\nscript.render = render\n\nexport default script","import $ from '../dfish.js'\r\nimport '../assets/dfish.css'\r\n\r\nimport directive from '../directive/index.js'\r\n\r\nimport DocView from './DocView.vue'\r\nimport View from './View.vue'\r\nimport Pop from './Pop.vue'\r\nimport Dialog from './Dialog.vue'\r\nimport DialogMove from './DialogMove.vue'\r\nimport Alert from './Alert.vue'\r\nimport Confirm from './Confirm.vue'\r\nimport Tip from './Tip.vue'\r\nimport Menu from './Menu.vue'\r\nimport Loading from './Loading.vue'\r\n\r\nimport Vertical from './Vertical.vue'\r\nimport Horizontal from './Horizontal.vue'\r\nimport Table from './Table.vue'\r\nimport TableColumns from './TableColumns.vue'\r\nimport TableColumn from './TableColumn.vue'\r\nimport TableTBody from './TableTBody.vue'\r\nimport TableTHead from './TableTHead.vue'\r\nimport TableTR from './TableTR.vue'\r\nimport TableTD from './TableTD.vue'\r\nimport TableTH from './TableTH.vue'\r\nimport Grid from './Grid.vue'\r\nimport Swiper from './Swiper.vue'\r\nimport SwiperItem from './SwiperItem.vue'\r\nimport Tabs from './Tabs.vue'\r\nimport Tab from './Tab.vue'\r\n\r\nimport Album from './Album.vue'\r\nimport Img from './Img.vue'\r\nimport ButtonBar from './ButtonBar.vue'\r\nimport Button from './Button.vue'\r\nimport SubmitButton from './SubmitButton.vue'\r\nimport MenuButton from './MenuButton.vue'\r\nimport Html from './Html.vue'\r\nimport Tree from './Tree.vue'\r\nimport Leaf from './Leaf.vue'\r\nimport PageBar from './PageBar.vue'\r\nimport Split from './Split.vue'\r\nimport Toggle from './Toggle.vue'\r\nimport Video from './Video.vue'\r\nimport Progress from './Progress.vue'\r\nimport Calendar from './Calendar.vue'\r\nimport Timeline from './Timeline.vue'\r\nimport TimelineItem from './TimelineItem.vue'\r\nimport SlidePicker from './SlidePicker.vue'\r\n\r\nimport Label from './Label.vue'\r\nimport Hidden from './Hidden.vue'\r\nimport Text from './Text.vue'\r\nimport Textarea from './Textarea.vue'\r\nimport CheckBoxGroup from './CheckBoxGroup.vue'\r\nimport CheckBox from './CheckBox.vue'\r\nimport RadioGroup from './RadioGroup.vue'\r\nimport Radio from './Radio.vue'\r\nimport TripleBox from './TripleBox.vue'\r\nimport Switch from './Switch.vue'\r\nimport FileUpload from './FileUpload.vue'\r\nimport MediaUpload from './MediaUpload.vue'\r\nimport ImageUpload from './ImageUpload.vue'\r\nimport Option from './Option.vue'\r\nimport Spinner from './Spinner.vue'\r\nimport DatePicker from './DatePicker.vue'\r\nimport DropBox from './DropBox.vue'\r\nimport PickBox from './PickBox.vue'\r\nimport Password from './Password.vue'\r\nimport Range from './Range.vue'\r\nimport ComboBox from './ComboBox.vue'\r\nimport LinkBox from './LinkBox.vue'\r\nimport Jigsaw from './Jigsaw.vue'\r\nimport Form from './Form.vue'\r\nimport Rate from './Rate.vue'\r\n\r\n\r\nconst WIDGET = {\r\n DocView, View, Pop, Dialog, DialogMove, Alert, Confirm, Tip, Menu, Loading,\r\n Grid, Vertical, Horizontal, Table, TableColumns, TableColumn, TableTBody, TableTHead, TableTR, TableTD, TableTH, Swiper, SwiperItem, Tabs, Tab,\r\n Album, Img, ButtonBar, Button, SubmitButton, MenuButton, Html, Tree, Leaf, PageBar, Split, Toggle, Video, Progress, Calendar, Timeline, TimelineItem, SlidePicker,\r\n Label, Hidden, Text, Textarea, CheckBoxGroup, CheckBox, RadioGroup, Radio, TripleBox, Switch, FileUpload, MediaUpload, ImageUpload, Option,\r\n Spinner, DatePicker, DropBox, PickBox, Password, Range, ComboBox, LinkBox, Jigsaw, Form, Rate\r\n}\r\n\r\n//每个组件从这里曝露,以便在某些极端情境下,业务可以修改源码\r\n$.WIDGET = WIDGET\r\n\r\n//按Vue要求提供install接口\r\n$.install = (Vue) => {\r\n //注册组件\r\n Object.keys(WIDGET).forEach(k => Vue.component(WIDGET[k].name, WIDGET[k]))\r\n //注册指令\r\n Vue.use(directive)\r\n}\r\n\r\nexport default $\r\n","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-slidepicker-options\">\r\n <slot />\r\n </div>\r\n <div v-if=\"x.cover\" class=\"w-slidepicker-bg-top\"></div>\r\n <div v-if=\"x.cover\" class=\"w-slidepicker-bg-bottom\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n getCurrentInstance,\r\n onMounted,\r\n watch,\r\n computed,\r\n ref,\r\n h,\r\n } from 'vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-slidepicker',\r\n mixins: [WidgetBase],\r\n provide() {\r\n return {\r\n provideOptionParent: this,\r\n }\r\n },\r\n props: ['optionHeight', 'modelValue', 'minValue', 'maxValue', 'keepIndex', 'cover'],\r\n emits: ['update:modelValue', 'change'],\r\n setup(props, context) {\r\n const self = getCurrentInstance().ctx\r\n const root = ref()\r\n const options = ref()\r\n let startY, endY, minY, maxY, optY, optH, roll\r\n\r\n const onmousedown = function(downEv) {\r\n let downY = $.eventY(downEv)\r\n let moveY, lastY, lastTime\r\n let speed = 0\r\n let lastSpeed = null\r\n options.value.style.transition = ''\r\n $.moveup(e => {\r\n let nowY = $.eventY(e)\r\n let nowTime = e.timeStamp\r\n moveY = optY + nowY - downY\r\n if (lastY && lastTime && nowTime > lastTime) {\r\n lastSpeed = speed\r\n speed = (nowY - lastY) / (nowTime - lastTime)\r\n }\r\n lastY = nowY\r\n lastTime = nowTime\r\n moveY = $.numRange(moveY, minY - optH, maxY + optH)\r\n options.value.style.transform = `translateY(${moveY}px)`\r\n }, (e, moved) => {\r\n if (!moved) {\r\n return onclick(downEv)\r\n }\r\n if (moveY == null) return\r\n let minSpeed = 0.15 //speed大于这个值时,做惯性滚动\r\n if (Math.abs(speed) < minSpeed || (lastSpeed && Math.abs(lastSpeed) < minSpeed)) {\r\n speed = 0\r\n } else if (lastSpeed && Math.abs(lastSpeed) > Math.abs(speed)) {\r\n speed = lastSpeed //记录最后两个speed,选择其中一个最大的,此步骤可优化体验\r\n }\r\n let y = moveY + (speed * 200)\r\n let s = Math.abs(speed / 2)\r\n let yuH = (maxY - y) % optH\r\n y += yuH\r\n if (yuH > (optH / 2)) {\r\n y -= optH\r\n }\r\n optY = $.numRange(y, minY, maxY)\r\n if (optY != moveY) {\r\n if (moveY < minY || moveY > minY || s < minSpeed) {\r\n s = minSpeed\r\n }\r\n if (Math.abs(optY - moveY) < 10) {\r\n s = 0.05 // 移动范围很小时,过渡时间也相应缩短\r\n }\r\n options.value.style.transform = `translateY(${optY}px)`\r\n options.value.style.transition = `transform ${s}s ease-out`\r\n }\r\n }, downEv)\r\n }\r\n const onwheel = function(e) {\r\n optY += (e.wheelDelta < 0 ? -1 : 1) * optH\r\n optY = $.numRange(optY, minY, maxY)\r\n options.value.style.transform = `translateY(${optY}px)`\r\n options.value.style.transition = `transform .12s ease-out`\r\n }\r\n const onclick = function(e) {\r\n let g = $(e)\r\n if (g.$options.name == 'w-option') {\r\n update(g.$props.value)\r\n focus(true)\r\n }\r\n }\r\n const focus = function(ease) {\r\n if (!root.value || !options.value) return\r\n let sc = self.slots_children()\r\n if (!sc.length) return\r\n let v = self.x.modelValue\r\n let nv = self.x.minValue\r\n let xv = self.x.maxValue\r\n if (nv || nv === 0 || xv || xv === 0) {\r\n v = $.numRange(v, nv, xv)\r\n if (v != self.x.modelValue) {\r\n update(v)\r\n }\r\n }\r\n let bcrRoot = $.bcr(root.value)\r\n let bcrOpt = $.bcr(options.value)\r\n let ni = -1\r\n let xi = -1\r\n let asc = true\r\n optH = self.x.optionHeight\r\n startY = maxY = (bcrRoot.height - optH) / 2\r\n endY = minY = startY - bcrOpt.height + optH\r\n if (nv || nv === 0) {\r\n ni = sc.findIndex(s => s.props.value == nv)\r\n }\r\n if (xv || xv === 0) {\r\n xi = sc.findIndex(s => s.props.value == xv)\r\n }\r\n if ((ni > -1 || xi > -1) && sc[0].props.value > sc[sc.length - 1].props.value) { // 判断是不是倒序\r\n asc = false\r\n }\r\n if (ni > -1) {\r\n if (asc) {\r\n maxY -= ni * optH\r\n } else {\r\n minY += ni * optH\r\n }\r\n }\r\n if (xi > -1) {\r\n if (asc) {\r\n minY += (sc.length - 1 - xi) * optH\r\n } else {\r\n maxY -= (sc.length - 1 - xi) * optH\r\n }\r\n }\r\n if (v != null) {\r\n let index = sc.findIndex(s => s.props.value == v)\r\n if (index === -1) {\r\n update(optY != null && optY < endY && self.keepIndex ? sc[sc.length - 1].props.value : sc[0].props.value)\r\n } else {\r\n optY = startY - (optH * index)\r\n }\r\n } else {\r\n optY = startY\r\n }\r\n optY = $.numRange(optY, minY, maxY)\r\n options.value.style.transition = ''\r\n options.value.style.transform = `translateY(${optY}px)`\r\n if (ease) {\r\n options.value.style.transition = `transform .15s ease-out`\r\n }\r\n }\r\n\r\n const update = function(v) {\r\n roll = true\r\n self.x.modelValue = v\r\n }\r\n \r\n const getIndex = function() {\r\n return (startY - optY) / optH\r\n }\r\n \r\n const transEnd = function() {\r\n let ret = self.slots_children()[getIndex()]\r\n ret && update(ret.props.value)\r\n }\r\n \r\n const x_default = function() {\r\n return {\r\n optionHeight: 32,\r\n cover: true\r\n }\r\n }\r\n\r\n const html_props = computed(() => {\r\n return {\r\n style: {\r\n '--w-option-height': $.unitSize(self.x.optionHeight)\r\n },\r\n ...($.br.mobile ? {\r\n ontouchstart: onmousedown\r\n } : {\r\n onmousedown,\r\n onwheel,\r\n })\r\n }\r\n })\r\n\r\n onMounted(() => {\r\n watch(() => self.x.modelValue, v => {\r\n context.emit('update:modelValue', v)\r\n context.emit('change', v)\r\n })\r\n watch(() => self.x.minValue, focus)\r\n watch(() => self.x.maxValue, focus)\r\n new ResizeObserver(() => {\r\n if (options.value) {\r\n focus()\r\n transEnd()\r\n }\r\n }).observe(options.value)\r\n options.value.addEventListener('transitionend', transEnd)\r\n })\r\n\r\n return {\r\n root,\r\n options,\r\n x_default,\r\n onmousedown,\r\n onwheel,\r\n html_props,\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-slidepicker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-slidepicker-bg-top {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.9), rgba(245, 245, 245, 0.4));\r\n border-bottom: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-slidepicker-bg-bottom {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.4), rgba(245, 245, 245, 0.9));\r\n border-top: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-slidepicker .w-option {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n\r\n .w-slidepicker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-slidepicker-options {\r\n user-select: none;\r\n /* pointer-events: none; */\r\n }\r\n</style>\n","import { render } from \"./SlidePicker.vue?vue&type=template&id=2b33e34a\"\nimport script from \"./SlidePicker.vue?vue&type=script&lang=js\"\nexport * from \"./SlidePicker.vue?vue&type=script&lang=js\"\n\nimport \"./SlidePicker.vue?vue&type=style&index=0&id=2b33e34a&lang=css\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MediaUpload.vue?vue&type=style&index=0&id=5df6accd&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import SrcParent from './SrcParent.vue'\r\n import TripleBox from './TripleBox.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-leaf',\r\n pubParentName: 'w-tree',\r\n mixins: [WidgetBase, SrcParent],\r\n props: ['text', 'expanded', 'expandedIcon', 'collapsedIcon', 'icon', 'boxSync', 'src', 'disabled'],\r\n inject: ['providePubParent', 'provideLevel', 'provideParentLeaf', 'provideParentTR'],\r\n provide() {\r\n return {\r\n provideParentLeaf: this,\r\n provideLevel: this.provideLevel + 1,\r\n provideBoxParent: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n hover: false,\r\n loading: false,\r\n loaded: this.getInitLoaded()\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n let chd = (this.x || this.$props).children\r\n if (chd === true || (Array.isArray(chd) && chd.length)) return true\r\n },\r\n childrenList() {\r\n return $.lodash.map(this.$refs.cont.querySelectorAll(':scope > .w-leaf'), v => $(v))\r\n },\r\n getInitLoaded() {\r\n return this.hasChild() || !this.getSrc() ? true : false\r\n },\r\n isExpanded() {\r\n return this.provideParentTR ? this.provideParentTR.isExpanded() : this.x.expanded\r\n },\r\n setExpanded(exp) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n },\r\n isFolder() {\r\n return this.hasChild() ? true : !!(this.getSrc() && !this.loaded)\r\n },\r\n toggle(exp, fn) {\r\n (this.provideParentTR || this).setExpanded(exp)\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(fn)\r\n } else {\r\n fn && this.$nextTick(fn)\r\n }\r\n },\r\n onmouseenter(e) {\r\n !this.x.disabled && this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n onclick(e) {\r\n if (this.x.disabled) {\r\n if (!this.$refs.toggle || !this.$refs.toggle.contains(e.target))\r\n e.stopPropagation()\r\n return\r\n }\r\n if (this.boxProxy && this.x.boxSync) {\r\n this.boxProxy.check(!this.boxProxy.isChecked)\r\n this.triple()\r\n }\r\n },\r\n // triplebox 级联勾选\r\n triple() {\r\n if (!this.boxProxy || this.boxProxy.$options.name !== 'w-triplebox') return\r\n let p = this\r\n while ((p = p.provideParentLeaf) && p.$options.name === 'w-leaf') {\r\n if (p.boxProxy) {\r\n let c = p.childrenList()\r\n let m = [0, 0, 0]\r\n let l = c.length\r\n c.forEach(v => {\r\n let b = v.boxProxy\r\n if (b) m[b.checkstate()]++\r\n })\r\n p.boxProxy.check(m[0] === l ? 0 : m[1] === l ? 1 : 2)\r\n }\r\n }\r\n let c = this.boxProxy.checkstate()\r\n c != 2 && this.tripleAll(c)\r\n },\r\n tripleAll(a) {\r\n this.childrenList().forEach(v => {\r\n if (v.boxProxy) {\r\n v.boxProxy.check(a)\r\n v.tripleAll(a)\r\n }\r\n })\r\n },\r\n expandToView() {\r\n let p = this\r\n while ((p = p.provideParentLeaf) && (p.$options.name === this.$options.name)) {\r\n p.toggle(true)\r\n }\r\n },\r\n html_self() {\r\n let exp = this.isExpanded()\r\n let ico = this.isFolder() ? (exp ? this.x.expandedIcon : this.x.collapsedIcon) : this.x.icon\r\n return h('div', mergeProps(this.html_attrs, this.html_props, this.$attrs), [\r\n this.loading ?\r\n h(Img, {\r\n src: '#f-svg-loading',\r\n class: 'w-leaf-loading'\r\n }) :\r\n h('div', {\r\n ref: 'toggle',\r\n class: ['w-leaf-toggle f-i', exp ? 'f-i-caret-down' : 'f-i-caret-right'],\r\n onclick: (e) => {\r\n e.stopPropagation(), this.toggle()\r\n }\r\n }),\r\n this.$slots.box && this.$slots.box(),\r\n ico && h(Img, {\r\n src: ico,\r\n class: 'w-leaf-icon'\r\n }),\r\n h('div', {\r\n class: 'w-leaf-text f-line-1',\r\n title: this.x.text,\r\n }, this.$slots.text ? this.$slots.text() : this.x.text)\r\n ])\r\n },\r\n html_cont() {\r\n let r\r\n let chd = this.x.children\r\n let tree = this.pubParent\r\n if (Array.isArray(chd) && tree) {\r\n r = chd.map(item => tree.$slots.default({item}))\r\n }\r\n return h('div', {\r\n id: this.uid + 'cont',\r\n ref: 'cont',\r\n class: 'w-leaf-cont',\r\n style: {\r\n display: this.x.expanded ? '' : 'none'\r\n },\r\n }, r)\r\n },\r\n html() {\r\n return [this.html_self(), this.html_cont()]\r\n }\r\n },\r\n computed: {\r\n tree() {\r\n return this.pubParent\r\n },\r\n level() {\r\n return this.provideParentTR ? this.provideParentTR.level : this.provideLevel + 1\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let exp = this.isExpanded()\r\n let fd = this.isFolder()\r\n let ds = this.x.disabled\r\n let prop = {\r\n class: {\r\n 'z-on': this.isCurrent,\r\n 'z-ds': ds,\r\n 'z-folder': fd,\r\n 'z-expanded': fd && exp,\r\n 'z-collapse': fd && !exp\r\n },\r\n style: 'padding-left:' + $.unitSize(this.level * 16),\r\n }\r\n if (this.pubParent) {\r\n prop.onmouseenter = this.onmouseenter\r\n prop.onmouseleave = this.onmouseleave\r\n prop[`onClick${ds?'Capture':''}`] = this.onclick\r\n }\r\n return prop\r\n }\r\n },\r\n mounted() {\r\n if (this.x.expanded) this.toggle(true)\r\n if (this.isCurrent) this.pubParent.viewCurrent(this)\r\n if (this.boxProxy) {\r\n this.$nextTick(() => {\r\n if (!this.isFolder() && !this.$refs.cont.nextElementSibling) {\r\n this.triple()\r\n }\r\n })\r\n }\r\n }\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-leaf {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n min-height: 30px;\r\n width: 100%;\r\n text-align: left;\r\n }\r\n\r\n .w-leaf-text {\r\n flex: 1;\r\n }\r\n\r\n .w-leaf-toggle {\r\n visibility: hidden;\r\n padding: 0 1px;\r\n margin-left: 1px;\r\n color: #777;\r\n opacity: #777;\r\n }\r\n \r\n .w-leaf.z-on .w-leaf-toggle,\r\n .w-leaf.z-on .f-svg {\r\n color: currentcolor;\r\n fill: currentcolor;\r\n }\r\n\r\n .w-leaf-loading {\r\n width: 20px;\r\n margin-left: 1px;\r\n }\r\n\r\n .w-leaf-icon {\r\n margin-right: 6px;\r\n }\r\n\r\n .w-leaf.z-folder .w-leaf-toggle {\r\n visibility: visible;\r\n }\r\n\r\n .w-leaf .w-triplebox,\r\n .w-leaf .w-checkbox, \r\n .w-leaf .w-radio {\r\n margin-right: 6px;\r\n }\r\n \r\n .w-leaf.z-hv {\r\n background: #f5faff;\r\n }\r\n \r\n .w-leaf.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff\r\n }\r\n \r\n .w-leaf.z-ds {\r\n color: #999;\r\n }\r\n \r\n</style>\n","import script from \"./Leaf.vue?vue&type=script&lang=js\"\nexport * from \"./Leaf.vue?vue&type=script&lang=js\"\n\nimport \"./Leaf.vue?vue&type=style&index=0&id=1baf3a86&lang=css\"\n\nexport default script","<template>\r\n <w-vertical v-bind=\"html_binds\" :class=\"['f-rel', 'w-calendar-' + this.x.face]\">\r\n <w-vertical class=\"w-calendar-main\" v-if=\"!onlyTime\">\r\n <w-horizontal :class=\"['w-calendar-head', {'f-h-gap': dfish.br.compat.gap}]\" valign=\"middle\" align=\"center\">\r\n <i class=\"w-calendar-head-prev-year f-i f-i-angle-double-left f-pointer\" v-if=\"x.face == 'date'\"\r\n @click=\"clickStep(-12)\"></i>\r\n <i class=\"w-calendar-head-prev f-i f-i-angle-single-left f-pointer\" @click=\"clickStep(-1)\"></i>\r\n <w-horizontal :class=\"['w-calendar-head-pop', {'f-h-gap': dfish.br.compat.gap}]\">\r\n <div class=\"w-calendar-head-year f-link\" ref=\"popYear\" @click=\"clickPopYear()\" v-html=\"headYear\"></div>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopYear\" :context=\"$refs.popYear\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popYear, position: 'cc'}\" @close=\"headPopYear=null\">\r\n <div class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(-1)\"><i class=\"f-i f-i-minus\"></i></div>\r\n <w-html height=\"*\" @wheel.passive=\"mousewheelPopYear\">\r\n <div v-for=\"item in headPopYear\"\r\n :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getFullYear()}]\"\r\n @click=\"clickPopYearItem(item)\">{{item}}</div>\r\n </w-html>\r\n <w-html class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(1)\"><i class=\"f-i f-i-plus\"></i>\r\n </w-html>\r\n </w-dialog>\r\n <w-html v-if=\"x.face == 'date'\" class=\"w-calendar-head-month f-link\" ref=\"popMonth\" @click=\"clickPopMonth\">\r\n {{headMonth}}\r\n </w-html>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopMonth\" :context=\"$refs.popMonth\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popMonth, position: 'cc'}\" @close=\"headPopMonth=null\">\r\n <w-html height=\"*\">\r\n <div v-for=\"item in headPopMonth\"\r\n :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getMonth() + 1}]\"\r\n @click=\"clickPopMonthItem(item)\">{{item}}</div>\r\n </w-html>\r\n </w-dialog>\r\n </w-horizontal>\r\n <i class=\"w-calendar-head-next f-i f-i-angle-single-right f-pointer\" @click=\"clickStep(1)\"></i>\r\n <i class=\"w-calendar-head-next-year f-i f-i-angle-double-right f-pointer\" v-if=\"x.face == 'date'\"\r\n @click=\"clickStep(12)\"></i>\r\n <div class=\"w-calendar-head-blank\"></div>\r\n </w-horizontal>\r\n <slot name=\"head\"></slot>\r\n <div class=\"w-calendar-body\">\r\n <template v-if=\"x.face == 'date'\">\r\n <div v-for=\"item in loc.calendar.day_title_1\" class=\"w-calendar-daytitle\">{{item}}</div>\r\n </template>\r\n <div v-for=\"item in bodyList\" :title=\"item.title\"\r\n :class=\"['w-calendar-item', {'z-on': item.focus && !item.disabled, 'z-pad': item.pad, 'z-ds': item.disabled}]\"\r\n @click=\"clickItem($event,item)\">\r\n <slot :item=\"item\">\r\n <div class=\"w-calendar-item-text\">{{item.text}}</div>\r\n </slot>\r\n </div>\r\n </div>\r\n </w-vertical>\r\n <w-horizontal v-if=\"hasTime\" class=\"w-calendar-time\">\r\n <w-vertical v-if=\"focusHour!==false\" class=\"w-calendar-time-col w-calendar-time-hour\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.hour}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"hour\" :current=\"focusHour\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"h in bodyListHour\" :key=\"h\" :text=\"dfish.strPad(h)\"\r\n :disabled=\"isHourDisabled(h)\" @click=\"clickHour($event,h)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusMinute!==false\" class=\"w-calendar-time-col w-calendar-time-minute\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.minute}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"minute\" :current=\"focusMinute\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"m in bodyListMinute\" :key=\"m\" :text=\"dfish.strPad(m)\"\r\n :disabled=\"isMinuteDisabled(m)\" @click=\"clickMinute($event,m)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusSecond!==false\" class=\"w-calendar-time-col w-calendar-time-second\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.second}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"second\" :current=\"focusSecond\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"s in bodyListSecond\" :key=\"s\" :text=\"dfish.strPad(s)\"\r\n :disabled=\"isSecondDisabled(s)\" @click=\"clickSecond($event,s)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-horizontal>\r\n <w-horizontal v-if=\"success\" :class=\"['w-calendar-foot', {'f-h-gap': dfish.br.compat.gap}]\" align=\"between\"\r\n valign=\"middle\">\r\n <div class=\"w-calendar-button-now f-link\" @click=\"clickNow\">{{loc.calendar.now}}</div>\r\n <div class=\"w-calendar-button-confirm f-link\" @click=\"clickConfirm\">{{loc.confirm}}</div>\r\n </w-horizontal>\r\n </w-vertical>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-calendar',\r\n mixins: [WidgetBase],\r\n emits: ['click:item', 'change'],\r\n props: ['value', 'minValue', 'maxValue', 'current', 'pad', 'face', 'format', 'success', 'cg', 'start',\r\n 'enableHour', 'enableMinute', 'enableSecond', 'defaultHour', 'defaultMinute', 'defaultSecond'\r\n ],\r\n data() {\r\n let dt = this.value2date()\r\n return {\r\n dt,\r\n currentDate: null,\r\n headPopYear: null,\r\n headPopMonth: null,\r\n }\r\n },\r\n watch: {\r\n value(v) {\r\n this.dt = this.value2date()\r\n },\r\n dt(nv, ov) {\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.trigger('change', nv)\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.trigger('change', nv)\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.trigger('change', nv)\r\n }\r\n },\r\n current(nc) {\r\n if (!nc) return\r\n let nv = typeof nc === 'string' ? $.dateParse(nc, this.formatter) : nc\r\n let ov = this.dt\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.dt = nv\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.dt = nv\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.dt = nv\r\n }\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n let b = this.format || ''\r\n return {\r\n face: b === 'yyyy' ? 'year' : b.includes('MM') && !b.includes('dd') ? 'month' : b\r\n .includes('ww') ? 'week' : 'date'\r\n }\r\n },\r\n value2date() {\r\n let dt = this.value\r\n let bd = this.minValue\r\n let ed = this.maxValue\r\n let f = this.format || ''\r\n if (bd && (!dt || dt < bd)) {\r\n dt = bd\r\n }\r\n if (ed && (!dt || dt > ed)) {\r\n dt = ed\r\n }\r\n dt = dt ? $.dateParse(dt, f) : new Date()\r\n if (!this.value) this.setDefaultTime(dt)\r\n return dt\r\n },\r\n weekday(d) {\r\n let w = d.getDay()\r\n return w == 0 ? 6 : w - 1\r\n },\r\n setDefaultTime(d) {\r\n let dh = this.defaultHour == null ? d.getHours() : parseFloat(this.defaultHour)\r\n if (this.enableHour) {\r\n let eh = $.arrayNumber(this.enableHour)\r\n if (!eh.includes(dh)) dh = eh[0]\r\n }\r\n d.setHours(dh)\r\n let dm = this.defaultMinute == null ? d.getMinutes() : parseFloat(this.defaultMinute)\r\n if (this.enableMinute) {\r\n let em = $.arrayNumber(this.enableMinute)\r\n if (!em.includes(dm)) dm = em[0]\r\n }\r\n d.setMinutes(dm)\r\n let ds = this.defaultSecond == null ? d.getSeconds() : parseFloat(this.defaultSecond)\r\n if (this.enableSecond) {\r\n let es = $.arrayNumber(this.enableSecond)\r\n if (!es.includes(ds)) ds = es[0]\r\n }\r\n d.setSeconds(ds)\r\n return d\r\n },\r\n fixDate(d) {\r\n if (this.beginDate && d < this.beginDate) d = this.beginDate\r\n if (this.endDate && d > this.endDate) d = this.endDate\r\n return this.setDefaultTime(new Date(d.getTime()))\r\n },\r\n clickStep(a) {\r\n let d = new Date(this.dt.getTime())\r\n if (this.x.face == 'year') {\r\n d = $.dateAdd(d, 'y', 10 * a)\r\n } else if (this.x.face == 'month') {\r\n d = $.dateAdd(d, 'y', a)\r\n } else if (this.x.face == 'date') {\r\n d = $.dateAdd(d, 'M', a)\r\n } else if (this.x.face == 'week') {\r\n d = $.dateAdd(d, 'y', a)\r\n }\r\n this.dt = d\r\n },\r\n clickPopYear(y) {\r\n y = y || (this.dt.getFullYear() - 4)\r\n if (y < 1000) y = 1000\r\n this.headPopYear = Array.from(Array(10)).map((v, i) => y + i)\r\n },\r\n clickPopYearItem(year) {\r\n let d = new Date(this.dt.getTime())\r\n d.setFullYear(year)\r\n this.dt = d\r\n this.headPopYear = null\r\n },\r\n clickPopYearStep(a) {\r\n let r = this.headPopYear\r\n let y = a < 0 ? r[0] - 10 : r[r.length - 1] + 1\r\n this.clickPopYear(y)\r\n },\r\n mousewheelPopYear(e) {\r\n this.clickPopYearStep(e.wheelDelta > 0 ? -1 : 1)\r\n },\r\n clickPopMonth() {\r\n this.headPopMonth = Array.from(Array(12)).map((v, i) => i + 1)\r\n },\r\n clickPopMonthItem(month) {\r\n let m = this.dt.getMonth()\r\n this.dt = $.dateAdd(this.dt, 'M', month - 1 - this.dt.getMonth())\r\n this.headPopMonth = null\r\n },\r\n clickItem(e, item) {\r\n if (item.disabled) return\r\n if (this.x.current !== undefined) {\r\n this.dt = this.fixDate(item.date)\r\n }\r\n e.runType = 'click:item'\r\n e.value = item\r\n this.trigger(e, item)\r\n if (!this.hasTime)\r\n this.callback(item.value)\r\n },\r\n clickNow() {\r\n this.callback(this.fixDate(new Date()))\r\n },\r\n clickConfirm(s) {\r\n let d = this.dt\r\n let f = this.focusDate\r\n this.callback(this.fixDate(new Date(f.getFullYear(), f.getMonth(), f.getDate(), d.getHours(), d.getMinutes(), d.getSeconds())))\r\n },\r\n callback(v) {\r\n if (typeof v === 'object') {\r\n v = this.fm(v)\r\n }\r\n this.x.success && this.x.success(v)\r\n },\r\n clickHour(e, v) {\r\n this.dt.setHours(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.hour.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n clickMinute(e, v) {\r\n this.dt.setMinutes(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.minute.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n clickSecond(e, v) {\r\n this.dt.setSeconds(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.second.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n fm(a) {\r\n return $.dateFormat(typeof a === 'string' ? $.dateParse(a, this.formatter) : a, this.formatter)\r\n },\r\n isHourDisabled(v) {\r\n let n = this.minHour\r\n let m = this.maxHour\r\n return (n && n > v) || (m && m < v)\r\n },\r\n isMinuteDisabled(v) {\r\n let n = this.minMinute\r\n let m = this.maxMinute\r\n return (n && n > v) || (m && m < v)\r\n },\r\n isSecondDisabled(v) {\r\n let n = this.minSecond\r\n let m = this.maxSecond\r\n return (n && n > v) || (m && m < v)\r\n },\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n formatter() {\r\n return this.x.format || 'yyyy-MM-dd'\r\n },\r\n hasTime() {\r\n return /[Hms]/.test(this.formatter)\r\n },\r\n onlyTime() {\r\n return this.hasTime && !/[yMd]/.test(this.formatter)\r\n },\r\n focusValue() {\r\n let d = this.focusDate\r\n return d && this.fm(d)\r\n },\r\n focusDate() {\r\n let c = this.x.current\r\n if (c) {\r\n return $.dateParse(c, this.x.format)\r\n } else if (!this.x.value && this.x.success) {\r\n return this.x.format && this.dt\r\n }\r\n },\r\n beginDate() {\r\n return this.x.minValue && $.dateParse(this.x.minValue, this.formatter)\r\n },\r\n endDate() {\r\n return this.x.maxValue && $.dateParse(this.x.maxValue, this.formatter)\r\n },\r\n focusHour() {\r\n return this.x.format.includes('H') && this.dt.getHours()\r\n },\r\n focusMinute() {\r\n return this.x.format.includes('m') && this.dt.getMinutes()\r\n },\r\n focusSecond() {\r\n return this.x.format.includes('s') && this.dt.getSeconds()\r\n },\r\n minHour() {\r\n if (this.beginDate) {\r\n let d = this.beginDate\r\n let f = this.dt\r\n if (d.getFullYear() == f.getFullYear() && d.getMonth() == f.getMonth() && d.getDate() == f.getDate()) {\r\n return d.getHours()\r\n }\r\n }\r\n },\r\n maxHour() {\r\n if (this.endDate) {\r\n let d = this.endDate\r\n let f = this.dt\r\n if (d.getFullYear() == f.getFullYear() && d.getMonth() == f.getMonth() && d.getDate() == f.getDate()) {\r\n return d.getHours()\r\n }\r\n }\r\n },\r\n minMinute() {\r\n if (this.minHour === this.dt.getHours()) {\r\n return this.beginDate.getMinutes()\r\n }\r\n },\r\n maxMinute() {\r\n if (this.maxHour === this.dt.getHours()) {\r\n return this.endDate.getMinutes()\r\n }\r\n },\r\n minSecond() {\r\n if (this.minMinute === this.dt.getMinutes()) {\r\n return this.beginDate.getSeconds()\r\n }\r\n },\r\n maxSecond() {\r\n if (this.maxMinute === this.dt.getMinutes()) {\r\n return this.endDate.getSeconds()\r\n }\r\n },\r\n headYear() {\r\n let y = this.dt.getFullYear()\r\n if (this.x.face === 'year') {\r\n y = this.dt.getFullYear() - (this.dt.getFullYear() % 10)\r\n y += ' - ' + (y + 9)\r\n }\r\n return $.loc.ps($.loc.calendar.y, y)\r\n },\r\n headMonth() {\r\n return $.loc.calendar.monthname[this.dt.getMonth()]\r\n },\r\n bodyList() {\r\n return this.x.face === 'year' ? this.bodyListYear : this.x.face === 'month' ? this.bodyListMonth :\r\n this.x.face === 'week' ? this.bodyListWeek : this.bodyListDate\r\n },\r\n bodyListYear() {\r\n let r = []\r\n let n = this.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\r\n let y = this.dt.getFullYear() - (this.dt.getFullYear() % 10) - 1\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setFullYear(y)\r\n for (let i = 0; i < 12; i++) {\r\n let v = y + i\r\n let g = {\r\n value: v,\r\n text: v,\r\n date: new Date(b.getTime()),\r\n pad: i == 0 || i == 11,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n r.push(g)\r\n b.setFullYear(b.getFullYear() + 1)\r\n }\r\n return r\r\n },\r\n bodyListMonth() {\r\n let r = []\r\n let n = this.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\r\n let y = this.dt.getFullYear()\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setMonth(0)\r\n for (let i = 0; i < 12; i++) {\r\n let v = this.fm(b)\r\n let g = {\r\n text: $.loc.calendar.monthname[i],\r\n value: v,\r\n date: new Date(b.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n b.setMonth(b.getMonth() + 1)\r\n r.push(g)\r\n }\r\n return r\r\n },\r\n bodyListWeek() {\r\n let r = []\r\n let n = this.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\r\n let w = $.dateWeek(this.dt)\r\n let y = w[0]\r\n let b = $.dateWeekLast(y)\r\n let c = $.dateWeekFirst(y)\r\n let d = c[2]\r\n for (let i = 1, l = b[1]; i <= l; i++) {\r\n let v = this.fm(d)\r\n let g = {\r\n text: i,\r\n value: y + '-' + $.strPad(i),\r\n date: new Date(d.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v,\r\n title: $.loc.ps($.loc.calendar.from_to, $.dateFormat(d, 'yyyy-MM-dd'), $.dateFormat($.dateAdd(d, 'd', 6),\r\n 'yyyy-MM-dd'))\r\n }\r\n d.setDate(d.getDate() + 7)\r\n r.push(g)\r\n }\r\n return r\r\n },\r\n bodyListDate() {\r\n let b = new Date(this.dt.getTime())\r\n let c = b.getMonth()\r\n let d = new Date(b.getTime())\r\n let f = this.focusValue\r\n let fd = f && $.dateFormat($.dateParse(f, this.x.format), 'yyyy-MM-dd')\r\n let fn = this.beginDate && $.dateFormat(this.beginDate, 'yyyy-MM-dd')\r\n let fm = this.endDate && $.dateFormat(this.endDate, 'yyyy-MM-dd')\r\n let cell = []\r\n b.setDate(1)\r\n d.setDate(new Date(b.getFullYear(), c + 1, 0).getDate())\r\n let g = 7 - (this.weekday(b) + d.getDate()) % 7\r\n if (g && g < 7)\r\n d.setDate(d.getDate() + g)\r\n if (this.weekday(b) > 0)\r\n b.setDate(1 - this.weekday(b))\r\n if (this.x.pad) {\r\n g = 1 + (d.getTime() - b.getTime()) / 86400000\r\n g < 42 && d.setDate(d.getDate() + 42 - g)\r\n }\r\n while (b <= d) {\r\n let v = this.fm(b)\r\n let fv = $.dateFormat(b, 'yyyy-MM-dd')\r\n let t = {\r\n text: b.getDate(),\r\n value: v,\r\n date: new Date(b.getTime()),\r\n pad: b.getMonth() !== c,\r\n disabled: (fn && fn > fv) || (fm && fm < fv) ? true : false,\r\n focus: fd === fv,\r\n }\r\n cell.push(t)\r\n b.setDate(b.getDate() + 1)\r\n }\r\n return cell\r\n },\r\n bodyListHour() {\r\n return this.enableHour ? $.arrayNumber(this.enableHour) : Array.from(Array(24).keys())\r\n },\r\n bodyListMinute() {\r\n return this.enableMinute ? $.arrayNumber(this.enableMinute) : Array.from(Array(60).keys())\r\n },\r\n bodyListSecond() {\r\n return this.enableSecond ? $.arrayNumber(this.enableSecond) : Array.from(Array(60).keys())\r\n },\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-calendar-dialog {\r\n line-height: 1.5;\r\n --w-datepicker-dialog-width: 260px;\r\n --w-datepicker-dialog-time-width: 66px;\r\n width: calc(var(--w-datepicker-dialog-width) + calc(var(--w-datepicker-dialog-time-width) * var(--w-datepicker-time-cols, 0)));\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime {\r\n --w-datepicker-dialog-width: 2px;\r\n --w-datepicker-dialog-time-height: 254px;\r\n }\r\n\r\n .w-calendar-dialog.z-hastime .w-calendar-head,\r\n .w-calendar-dialog.z-hastime .w-calendar-body {\r\n box-sizing: border-box;\r\n width: calc(var(--w-datepicker-dialog-width) - 2px);\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime .w-calendar-head {\r\n box-sizing: border-box;\r\n width: var(--w-datepicker-dialog-width);\r\n }\r\n\r\n .w-calendar-dialog .w-calendar-body {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-calendar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-calendar-head,\r\n .w-calendar-foot {\r\n height: 36px;\r\n padding: 0 5px;\r\n --w-compat-gap: 8px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-calendar-head-pop {\r\n padding: 0 10px;\r\n --w-compat-gap: 8px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-calendar-head-blank {\r\n display: none;\r\n flex: 1;\r\n }\r\n\r\n .w-calendar-head-month {\r\n margin-left: 3px;\r\n }\r\n\r\n .w-calendar-body {\r\n display: grid;\r\n }\r\n\r\n .w-calendar-date .w-calendar-body,\r\n .w-calendar-week .w-calendar-body {\r\n grid-template-columns: repeat(7, 1fr);\r\n }\r\n\r\n .w-calendar-body {\r\n grid-template-columns: repeat(4, 1fr);\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n\r\n .w-calendar-dialog .w-calendar-month .w-calendar-body,\r\n .w-calendar-dialog .w-calendar-year .w-calendar-body {\r\n min-height: 120px;\r\n }\r\n\r\n .w-calendar-item {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .w-calendar-item,\r\n .w-calendar-daytitle {\r\n text-align: center;\r\n padding: 5px;\r\n cursor: default;\r\n }\r\n\r\n .w-calendar-item:not(.z-ds):not(.z-on):hover,\r\n .w-calendar-head-year-item:hover {\r\n background: #f5f5f5;\r\n }\r\n\r\n .w-calendar-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-item.z-ds,\r\n .w-calendar-item.z-pad {\r\n color: #999\r\n }\r\n\r\n .w-calendar-item-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-calendar-foot {\r\n position: relative;\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime .w-calendar-time {\r\n position: static;\r\n height: var(--w-datepicker-dialog-time-height);\r\n }\r\n\r\n .w-calendar-time {\r\n position: absolute;\r\n top: 0;\r\n bottom: 35px;\r\n right: 0;\r\n width: calc(var(--w-datepicker-dialog-time-width) * var(--w-datepicker-time-cols, 0));\r\n border-left: 1px solid #ddd;\r\n }\r\n \r\n .w-calendar-dialog.z-onlytime .w-calendar-time {\r\n border-left: 0;\r\n }\r\n\r\n .w-calendar-time-th,\r\n .w-calendar-time-item {\r\n box-sizing: border-box;\r\n text-align: center;\r\n }\r\n\r\n .w-calendar-time-th {\r\n line-height: 36px;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-item {\r\n height: 30px;\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-item.z-on,\r\n .w-calendar-head-year-item.z-on {\r\n background: var(--w--focus-light-color);\r\n }\r\n\r\n .w-calendar-head-year-item {\r\n height: 24px;\r\n line-height: 24px;\r\n text-align: center;\r\n }\r\n\r\n .w-calendar-head .f-i {\r\n font-size: 20px;\r\n color: #aaa;\r\n }\r\n\r\n .w-calendar-head .f-i:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-calendar-time-body .w-scroll-cont {\r\n padding: 94px 0;\r\n }\r\n \r\n .w-calendar-time-body .w-button.z-ds {\r\n background: #fff;\r\n color: #aaa;\r\n }\r\n \r\n .w-calendar-button-now,\r\n .w-calendar-button-confirm {\r\n padding: 2px 10px;\r\n cursor: pointer;\r\n }\r\n</style>\n","import { render } from \"./Calendar.vue?vue&type=template&id=7eea1be2\"\nimport script from \"./Calendar.vue?vue&type=script&lang=js\"\nexport * from \"./Calendar.vue?vue&type=script&lang=js\"\n\nimport \"./Calendar.vue?vue&type=style&index=0&id=7eea1be2&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n export default {\r\n name: 'w-tab',\r\n }\r\n</script>\r\n\r\n","import script from \"./Tab.vue?vue&type=script&lang=js\"\nexport * from \"./Tab.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n Teleport,\r\n mergeProps\r\n } from 'vue'\r\n import View from './View.vue'\r\n import Pop from './Pop.vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n const O = {},\r\n T = true,\r\n F = false,\r\n N = null\r\n\r\n const _dialogSnapHooks = {\r\n t: 'tb',\r\n r: 'rl',\r\n b: 'bt',\r\n l: 'lr',\r\n c: 'cc',\r\n tl: '14',\r\n tr: '23',\r\n rt: '21',\r\n rb: '34',\r\n bl: '41',\r\n br: '32',\r\n lt: '12',\r\n lb: '43',\r\n '-t': 'tb',\r\n '-r': 'rl',\r\n '-b': 'bt',\r\n '-l': 'lr',\r\n '-c': 'cc',\r\n '-tl': '11',\r\n '-tr': '22',\r\n '-rt': '22',\r\n '-rb': '33',\r\n '-bl': '44',\r\n '-br': '33',\r\n '-lt': '11',\r\n '-lb': '44',\r\n }\r\n\r\n const _dialogSnap = function(a) {\r\n let b = a && (a.position || a)\r\n return typeof b === 'string' && b.split(',').map(v => _dialogSnapHooks[v] || v).join()\r\n }\r\n\r\n export default {\r\n name: 'w-dialog',\r\n mixins: [View],\r\n props: ['title', 'snap', 'autoHide', 'context', 'prong', 'independent', 'timeout',\r\n 'cover', 'position', 'local', 'fullScreen', 'dropClass', 'dropPosition', 'dropHover',\r\n ],\r\n emits: ['close', 'click:cover'],\r\n watch: {\r\n position(v) {\r\n this.axis()\r\n },\r\n },\r\n data() {\r\n return {\r\n isDialog: true,\r\n animateClass: '',\r\n snapClass: '',\r\n keepHover: false,\r\n hoverTimer: null,\r\n hoverMove: null,\r\n closed: false,\r\n animating: false,\r\n isDeactivated: false,\r\n _pos: null,\r\n snapStyle: null,\r\n maxHeight: null,\r\n }\r\n },\r\n activated() {\r\n this.isDeactivated = false\r\n },\r\n deactivated() {\r\n this.isDeactivated = true\r\n },\r\n methods: {\r\n getKey() {\r\n return null\r\n },\r\n getSrc() {\r\n let src = this.x.src\r\n if (!src) return ''\r\n const feat = this.getOptions()\r\n if (feat.args)\r\n src = $.urlFormat(src, feat.args)\r\n if (src.includes('$'))\r\n src = $.urlFormat(src, this.x.data, this.x)\r\n return src\r\n },\r\n _dft_pos() {\r\n let w = this.el().offsetWidth\r\n let h = this.el().offsetHeight\r\n return {\r\n left: Math.ceil((document.documentElement.clientWidth - w) / 2),\r\n top: Math.max(0, Math.ceil((document.documentElement.clientHeight - h) / 2))\r\n };\r\n },\r\n getLocalElem() {\r\n let c = this.getCommander()\r\n return c && c.el()\r\n },\r\n snapTargetElem() {\r\n let d = this.x.snap && this.x.snap.target\r\n if (typeof d === 'string') {\r\n let e = this.ownerView.find(d)\r\n return e && e.snapElem()\r\n } else if (typeof d === 'function') {\r\n return d()\r\n } else if (d) {\r\n return d.isWidget ? d.snapElem() : d\r\n } else {\r\n return this.x.local ? this.getLocalElem() : this.defaultSnapTargetElem\r\n }\r\n },\r\n snapCls(a) {\r\n let d = this.snapTargetElem()\r\n let r = this._pos\r\n if (d) {\r\n $.classAdd(d, 'z-drop', a)\r\n if (r && r.type) {\r\n var m = 'z-mag-' + (r.mag_t ? 't' : r.mag_l ? 'l' : r.mag_b ? 'b' : 'r')\r\n $.classAdd(this.el(), m + ' z-snap z-snap-' + r.type, a)\r\n $.classAdd(d, m, a)\r\n }\r\n }\r\n },\r\n axis() {\r\n let el = this.el()\r\n if (!el || this.x.fullScreen) return;\r\n let f = this.x.position || false\r\n let c = this.x.local\r\n let d = this.x.snap || O\r\n let g = this.snapTargetElem()\r\n // 如果有指定 snap,采用 snap 模式\r\n let w = el.offsetWidth\r\n let h = el.offsetHeight\r\n let r\r\n let layTop = 0\r\n let layBottom = 0\r\n if (f == 'c') f = null\r\n if (typeof f === 'string') { // 八方位浮动的起始位置\r\n let e = f.charAt(0)\r\n if (e == '-') {\r\n e = f.charAt(1)\r\n }\r\n r = $.snap(w, h, c && g, _dialogSnap(f), this._fitpos, d.indent, c && g)\r\n let lp = $.q(`.w-dialog-ani-position-${f}:not([id=\"${this.uid}\"]):last`)[0]\r\n if (lp && r.type != 'rl' && r.type != 'lr') {\r\n let lc = lp.getBoundingClientRect()\r\n if (r.pix_b) layBottom = r.mag_t ? -(lc.bottom + 5) : (document.documentElement.clientHeight - lc.top + 5)\r\n else layTop = r.mag_b ? -(document.documentElement.clientHeight - lc.top + 5) : lc.bottom + 5\r\n }\r\n } else if (g) {\r\n r = $.snap(w, h, g, _dialogSnap(d) || this.defaultSnapPosition || f, this._fitpos, d.indent != N ? d\r\n .indent : (this.x.prong && -9), c && g)\r\n }\r\n if (!r)\r\n r = this._dft_pos()\r\n this._pos && this.snapCls(F)\r\n this._pos = r\r\n\r\n let s = {}\r\n if (r.type) {\r\n if (r.pix_r) {\r\n s.right = r.right\r\n } else {\r\n s.left = r.left\r\n }\r\n if (r.pix_b) {\r\n s.pix_b = true\r\n s.bottom = r.bottom + layBottom\r\n } else {\r\n s.top = r.top + layTop\r\n }\r\n s.type = r.type\r\n } else {\r\n s = r\r\n }\r\n this.snapStyle = s\r\n // 八方位浮动效果\r\n if (f) {\r\n if (typeof f === 'string')\r\n this.animateClass = 'w-dialog-ani-position-' + f\r\n } else {\r\n //this.animateClass = 'f-animated f-ani-dropIn'\r\n }\r\n this.snapCls()\r\n },\r\n setPosition(s) {\r\n this.x.position = s\r\n },\r\n close() {\r\n if (this.closed) return\r\n this.closeRelease()\r\n this.trigger('close')\r\n this.ownerView.removeDialog(this.uid)\r\n },\r\n closeRelease() {\r\n this.x.autoHide && this.listenHide(F)\r\n this.snapCls(F)\r\n this.closed = true\r\n let f = this.x.position\r\n if (f && typeof f === 'string' && this.el()) { // 当前窗口关闭后,有相同position的dialog依次移动补空位\r\n let ps = $.q(`~.w-dialog-ani-position-${f}`, this.el())\r\n let indent = this.el().offsetHeight + 5\r\n ps.each((i, el) => {\r\n el.classList.add(`w-dialog-ani-indent`)\r\n let s = $(el).snapStyle\r\n let t = s.type.charAt(0)\r\n if (s.top != null) {\r\n s.top += (t == 1 || t == 2 ? -1 : 1) * indent\r\n } else if (s.bottom != null) {\r\n s.bottom += (t == 3 || t == 4 ? -1 : 1) * indent\r\n }\r\n setTimeout(() => el.classList.remove(`w-dialog-ani-indent`), 200)\r\n })\r\n }\r\n },\r\n // 绑定鼠标监听 /@a -> 为 false 时解除监听\r\n listenHide(a) {\r\n if (a === F) {\r\n this.setListenHide(a)\r\n } else {\r\n setTimeout(() => {\r\n if (!this.closed) {\r\n this.setListenHide(a)\r\n }\r\n }, 100) // 延时处理,避免出现后立即消失的情况\r\n }\r\n },\r\n hoverOver() {\r\n clearTimeout(this.hoverTimer)\r\n this.hoverTimer = null\r\n },\r\n setListenHide(a) {\r\n let d = this.x.dropHover\r\n let n = a ? 'addEventListener' : 'removeEventListener'\r\n let evs = $.br.mobile ? ['touchend'] : ['mousedown', $.br.firefox ? 'DOMMouseScroll' : 'mousewheel']\r\n evs.forEach(v => document[n](v, this.bind('listenHideClose', (e) => {\r\n if (!this.closed && (e.target.classList.contains('w-dialog-cover') || !(this.hasBubble(e.target) || (!\r\n this.x\r\n .independent && (this.commander.isWidget ? this.commander.hasBubble(e.target) : this.commander\r\n .contains(e.target)))))) {\r\n if (e.target.id == this.id + 'cvr') e.stopPropagation()\r\n this.close()\r\n }\r\n }), T))\r\n window.plus && plus.key[n]('backbutton', this.bind('close'), F)\r\n if (d) {\r\n let o = d === T ? (this.x.snap && this.x.snap.target ? this.snapTargetElem() : $.el(this.commander)) : $.el(d)\r\n let hvOver = this.bind('listenHideHoverOver', e => {\r\n clearTimeout(this.hoverTimer), this.hoverTimer = null\r\n });\r\n let hvMove = this.bind('listenHideHoverMove', e => {\r\n if (!o.contains(e.target) && !this.hasBubble(e.target) && !this.keepHover) {\r\n if (!this.hoverTimer)\r\n this.hoverTimer = setTimeout(this.close, 300)\r\n } else\r\n hvOver()\r\n });\r\n [o, this.el()].forEach(v => v[n]('mouseenter', hvOver))\r\n document[n]('mousemove', hvMove)\r\n }\r\n },\r\n setMaxHeight(h) {\r\n this.maxHeight = h\r\n },\r\n getOptions() {\r\n return this.ownerView.getDialogOptions(this.uid)\r\n },\r\n getCommander() {\r\n let o = this.getOptions()\r\n return (o && o.commander) || this.context || this.ownerView\r\n },\r\n html_slots() {\r\n let prong\r\n let r = this._pos\r\n if (this.x.prong && r) {\r\n let m = r.inner ? (r.mag_b ? 'b' : r.mag_t ? 't' : r.mag_l ? 'l' : 'r') : (r.mag_b ? 't' : r.mag_t ? 'b' : r\r\n .mag_l ? 'r' : 'l')\r\n prong = h('div', {\r\n class: 'w-dialog-prong z-' + m,\r\n }, [\r\n h('i', {\r\n class: 'w-dialog-prong-out f-arw f-arw-' + m + '5'\r\n }),\r\n h('i', {\r\n class: 'w-dialog-prong-in f-arw f-arw-' + m + '4'\r\n }),\r\n ])\r\n }\r\n return [prong || [], this.html_scroll_slots()]\r\n },\r\n html() {\r\n let to = this.x.local ? this.getLocalElem() : '#w-dfish-pops'\r\n let cover = this.x.cover && !this.closed && !this.isDeactivated ? h('div', {\r\n class: 'w-dialog-cover f-abs-full',\r\n onclick: e => this.trigger('click:cover', e)\r\n }) : null\r\n return [\r\n cover ? (to ? h(Teleport, {to}, cover) : cover) : [],\r\n // 套一层w-dialog-teleport的原因是为了让对话框里面的 $(this) 能正确返回\r\n to ? h('div', {class: 'w-dialog-teleport', id: this.uid + 'teleport'}, h(Teleport, {to}, this.html_self(true))) : this.html_self(true),\r\n this.html_pops()\r\n ]\r\n }\r\n },\r\n computed: {\r\n commander() {\r\n return this.getCommander()\r\n },\r\n args() {\r\n let o = this.getOptions()\r\n return o && o.args\r\n },\r\n defaultSnapTargetElem() {\r\n //implement\r\n },\r\n defaultSnapPosition() {\r\n return 'cc'\r\n },\r\n html_class() {\r\n return ['w-vertical', this.animateClass, this.snapClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n }]\r\n },\r\n html_style() {\r\n if (this.x.fullScreen) {\r\n return {\r\n width: '100%',\r\n height: '100%',\r\n top: 0,\r\n left: 0,\r\n }\r\n } else {\r\n let f = this.x.position\r\n let n = this.snapStyle\r\n let s = {}\r\n if (f && typeof f === 'object') {\r\n $.extend(s, f)\r\n if (n) {\r\n if (s.top == null && s.bottom == null) $.extend(s, $.lodash.pick(n, 'top', 'bottom'))\r\n if (s.left == null && s.right == null) $.extend(s, $.lodash.pick(n, 'left', 'right'))\r\n }\r\n } else {\r\n if (n) $.extend(s, n)\r\n }\r\n for (let k in s) {\r\n s[k] = $.unitSize(s[k])\r\n }\r\n if (this.maxHeight) {\r\n s.maxHeight = $.unitSize(this.maxHeight)\r\n }\r\n return s\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.x.local) {\r\n $.q(this.getLocalElem()).addClass('f-dialog-local-wrap')\r\n }\r\n this.$nextTick(() => {\r\n this.x.autoHide && this.listenHide(T)\r\n setTimeout(this.axis)\r\n const observe = (o) => {\r\n if (this.closed || this.animateClass || !this.el()) return\r\n this.axis()\r\n if (this.x.position && typeof this.x.position === 'string') {\r\n this.setMaxHeight('100%')\r\n } else {\r\n let c = this._pos\r\n if (c.bottom < 0) {\r\n this.setMaxHeight(c.height + c.bottom)\r\n } else if (c.top < 0) {\r\n this.setMaxHeight(c.height + c.top)\r\n }\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.el())\r\n if (this.x.timeout) {\r\n setTimeout(this.close, this.x.timeout)\r\n }\r\n })\r\n },\r\n unmounted() {\r\n if (!this.closed) {\r\n this.closeRelease()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog {\r\n display: inline-flex;\r\n position: absolute;\r\n box-shadow: 0px 0px 8px #bbb;\r\n z-index: 100;\r\n box-sizing: border-box;\r\n --w-dialog-ani-duration: 200ms;\r\n }\r\n\r\n .w-dialog.z-hide {\r\n display: none;\r\n }\r\n\r\n .w-dialog.z-full {\r\n transform: none;\r\n transition: none;\r\n }\r\n\r\n .w-dialog-cover {\r\n background: rgba(0, 0, 0, .3);\r\n z-index: 99;\r\n }\r\n\r\n .w-dialog-prong {\r\n position: absolute;\r\n }\r\n\r\n .w-dialog-prong .f-arw {\r\n position: absolute;\r\n margin: 0\r\n }\r\n\r\n .w-dialog-prong.z-b {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n bottom: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-in {\r\n top: 0;\r\n left: 1px;\r\n border-top-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-out {\r\n top: 0;\r\n left: 0;\r\n border-top-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-t {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n top: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-in {\r\n bottom: 0;\r\n left: 1px;\r\n border-bottom-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-out {\r\n bottom: 0;\r\n left: 0;\r\n border-bottom-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-l {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n left: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-in {\r\n right: 0;\r\n top: 1px;\r\n border-right-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-out {\r\n right: 0;\r\n top: 0;\r\n border-right-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-r {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n right: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-in {\r\n left: 0;\r\n top: 1px;\r\n border-left-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-out {\r\n left: 0;\r\n top: 0;\r\n border-left-color: #d5d5d5\r\n }\r\n \r\n .w-dialog-teleport {\r\n display: none;\r\n }\r\n\r\n .w-dialog-ani-position-br,\r\n .w-dialog-ani-position-bl,\r\n .w-dialog-ani-position-b {\r\n transform: translateY(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--br,\r\n .w-dialog-ani-position--bl,\r\n .w-dialog-ani-position--b {\r\n transform: translateY(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-tr,\r\n .w-dialog-ani-position-tl,\r\n .w-dialog-ani-position-t {\r\n transform: translateY(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-lt,\r\n .w-dialog-ani-position-lb,\r\n .w-dialog-ani-position-l {\r\n transform: translateX(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-rt,\r\n .w-dialog-ani-position-rb,\r\n .w-dialog-ani-position-r {\r\n transform: translateX(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--rt,\r\n .w-dialog-ani-position--rb,\r\n .w-dialog-ani-position--r {\r\n transform: translateX(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-indent {\r\n transition: top var(--w-dialog-ani-duration), bottom var(--w-dialog-ani-duration);\r\n }\r\n \r\n .w-dialog-move-helper {\r\n position: fixed;\r\n background: #fff;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n z-index: 101;\r\n }\r\n</style>\n","import script from \"./Dialog.vue?vue&type=script&lang=js\"\nexport * from \"./Dialog.vue?vue&type=script&lang=js\"\n\nimport \"./Dialog.vue?vue&type=style&index=0&id=ac8e27c2&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-toggle',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['collapsedIcon', 'expandedIcon', 'expanded', 'align', 'valign'],\r\n methods: {\r\n x_default() {\r\n return {\r\n expanded: true,\r\n valign: 'middle',\r\n }\r\n },\r\n toggle(e = true) {\r\n let exp = typeof e === 'boolean' ? e : !this.x.expanded\r\n this.x.expanded = exp\r\n $.q(this.el()).nextUntil('.w-toggle').toggle(exp)\r\n },\r\n html_slots() {\r\n let exp = this.x.expanded\r\n let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon\r\n return [ico && h(Img, {\r\n src: ico,\r\n class: 'w-toggle-icon',\r\n }), h('div', {class: 'w-toggle-main'}, this.$slots.default())]\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n let exp = this.x.expanded\r\n return {\r\n class: ['w-horizontal f-pointer',\r\n {\r\n 'z-expanded': exp,\r\n 'z-collapse': !exp,\r\n },\r\n this.html_align_class],\r\n onclick: this.toggle\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-toggle-icon {\r\n margin-right: 5px;\r\n flex-shrink: 0;\r\n }\r\n</style>\r\n","import script from \"./Toggle.vue?vue&type=script&lang=js\"\nexport * from \"./Toggle.vue?vue&type=script&lang=js\"\n\nimport \"./Toggle.vue?vue&type=style&index=0&id=431717dc&lang=css\"\n\nexport default script","<template>\r\n <w-confirm>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"cancel\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\" valign=\"middle\">\r\n <w-img class=\"w-alert-icon\" :src=\"typeIcon\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar :class=\"['w-alert-buttonbar', {'f-h-gap': dfish.br.compat.gap}]\">\r\n <w-button face=\"primary\" class=\"w-alert-button\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"/>\r\n <w-button class=\"w-alert-button\" text=\"取消\" @click=\"cancel\" :ownproperty=\"true\"/>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-confirm>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import TemplateAlert from './TemplateAlert.vue'\r\n \r\n export default {\r\n mixins: [TemplateAlert],\r\n data() {\r\n return {\r\n defaultIconType: 'question'\r\n }\r\n },\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n cancel(e) {\r\n $.dialog(e).cueNo()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplateConfirm.vue?vue&type=template&id=2a9563f5\"\nimport script from \"./TemplateConfirm.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateConfirm.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<template>\r\n <w-dialog class=\"f-datesheet\">\r\n <w-buttonbar class=\"f-datesheet-bbr\" align=\"between\" height=\"52\" style=\"padding:0 10px\">\r\n <w-button text=\"取消\" @click=\"clickCancel\"></w-button>\r\n <w-submitbutton text=\"确定\" @click=\"clickOK\"></w-submitbutton>\r\n </w-buttonbar>\r\n <w-horizontal height=\"*\">\r\n <w-vertical width=\"*\" v-if=\"hasYear\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">年</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusYear\" :min-value=\"minYear\" :max-value=\"maxYear\" :keep-index=\"true\"\r\n :data=\"{mode: 'year'}\">\r\n <w-option v-for=\"y in yearList\" :key=\"y\" :value=\"y\" :text=\"y\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMonth\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">月</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\"\r\n :data=\"{mode: 'month'}\">\r\n <w-option v-for=\"m in monthList\" :key=\"m\" :value=\"m\" :text=\"dfish.strPad(m+1)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasDate\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">日</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\"\r\n :data=\"{mode: 'date'}\">\r\n <w-option v-for=\"d in dateList\" :key=\"d\" :value=\"d\" :text=\"dfish.strPad(d)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasHour\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">时</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusHour\" :min-value=\"minHour\" :max-value=\"maxHour\" :keep-index=\"true\">\r\n <w-option v-for=\"h in hourList\" :key=\"h\" :value=\"h\" :text=\"dfish.strPad(h)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMinute\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">分</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\"\r\n :keep-index=\"true\">\r\n <w-option v-for=\"i in minuteList\" :key=\"i\" :value=\"i\" :text=\"dfish.strPad(i)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasSecond\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">秒</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\"\r\n :keep-index=\"true\">\r\n <w-option v-for=\"s in secondList\" :key=\"s\" :value=\"s\" :text=\"dfish.strPad(s)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasWeek\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">周</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusWeek\" :min-value=\"minWeek\" :max-value=\"maxWeek\" :keep-index=\"true\">\r\n <w-option v-for=\"w in weekList\" :key=\"w.value\" :value=\"w.value\" :text=\"w.text\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n </w-horizontal>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n let f = this.data.format || 'yyyy-MM-dd'\r\n let d = this.data && this.data.value ? $.dateParse(this.data.value, f) : new Date\r\n let nd = this.data && this.data.minValue && $.dateParse(this.data.minValue, f)\r\n let xd = this.data && this.data.maxValue && $.dateParse(this.data.maxValue, f)\r\n d = $.numRange(d, nd, xd)\r\n let focusYear = d.getFullYear()\r\n let focusWeek, weekFirst, weekLast\r\n if (f.includes('w')) {\r\n focusWeek = $.dateWeek(d)[1]\r\n weekFirst = $.dateWeekFirst(focusYear)\r\n weekLast = $.dateWeekLast(focusYear)\r\n }\r\n return {\r\n focusYear,\r\n focusMonth: d.getMonth(),\r\n focusDate: d.getDate(),\r\n focusHour: d.getHours(),\r\n focusMinute: d.getMinutes(),\r\n focusSecond: d.getSeconds(),\r\n startYear: $.numRange(d.getFullYear() - 30, nd && nd.getFullYear()),\r\n endYear: $.numRange(d.getFullYear() + 30, null, xd && xd.getFullYear()),\r\n monthDays: new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\r\n focusWeek,\r\n weekFirst,\r\n weekLast,\r\n minTime: nd,\r\n maxTime: xd,\r\n format: f\r\n }\r\n },\r\n watch: {\r\n focusYear(y) {\r\n if (y == this.yearList[0] && y > 1030) {\r\n this.startYear = $.numRange(this.startYear - 30, this.minYear)\r\n } else if (y == this.yearList[this.yearList.length - 1]) {\r\n this.endYear = $.numRange(this.endYear + 30, null, this.maxYear)\r\n }\r\n this.monthDays = new Date(y, this.focusMonth + 1, 0).getDate()\r\n if (this.hasWeek) {\r\n this.weekFirst = $.dateWeekFirst(y)\r\n this.weekLast = $.dateWeekLast(y)\r\n }\r\n },\r\n focusMonth(m) {\r\n this.monthDays = new Date(this.focusYear, m + 1, 0).getDate()\r\n }\r\n },\r\n methods: {\r\n weekText(w) {\r\n \r\n },\r\n clickCancel() {\r\n $.close(this)\r\n },\r\n clickOK() {\r\n if (this.data.success) {\r\n let d = this.hasWeek ? $.dateParse(`${this.focusYear}-${this.focusWeek}`, 'yyyy-ww') :\r\n new Date(this.focusYear, this.focusMonth, this.focusDate, this.focusHour, this.focusMinute, this.focusSecond)\r\n this.data.success($.dateFormat(d, this.format))\r\n }\r\n $.close(this)\r\n },\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n yearList() {\r\n return Array.from(Array(this.endYear - this.startYear + 1)).map((v, i) => this.startYear + i)\r\n },\r\n monthList() {\r\n return Array.from(Array(12)).map((v, i) => i)\r\n },\r\n dateList() {\r\n return Array.from(Array(this.monthDays)).map((v, i) => i + 1)\r\n },\r\n hourList() {\r\n return Array.from(Array(24)).map((v, i) => i)\r\n },\r\n minuteList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n secondList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n weekList() {\r\n let d = this.weekFirst[2]\r\n return Array.from(Array(this.weekLast[1])).map((v, i) => {\r\n let startDate = d\r\n let endDate = $.dateAdd(d, 'd', 6)\r\n d = $.dateAdd(d, 'd', 7)\r\n return {\r\n value: i + 1,\r\n text: `${$.strPad(i + 1)} (${$.dateFormat(startDate, 'MM.dd')} - ${$.dateFormat(endDate, 'MM.dd')})`,\r\n }\r\n })\r\n },\r\n hasYear() {\r\n return this.format.includes('y')\r\n },\r\n hasMonth() {\r\n return this.format.includes('M')\r\n },\r\n hasDate() {\r\n return this.format.includes('d')\r\n },\r\n hasHour() {\r\n return this.format.includes('H')\r\n },\r\n hasMinute() {\r\n return this.format.includes('m')\r\n },\r\n hasSecond() {\r\n return this.format.includes('s')\r\n },\r\n hasWeek() {\r\n return this.format.includes('w')\r\n },\r\n minYear() {\r\n return this.minTime && this.hasYear && this.minTime.getFullYear()\r\n },\r\n maxYear() {\r\n return this.maxTime && this.hasYear && this.maxTime.getFullYear()\r\n },\r\n minMonth() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && this.minTime.getMonth()\r\n },\r\n maxMonth() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && this.maxTime.getMonth()\r\n },\r\n minDate() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth ==\r\n this.focusMonth) && this.minTime.getDate()\r\n },\r\n maxDate() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth ==\r\n this.focusMonth) && this.maxTime.getDate()\r\n },\r\n minHour() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.minDate == this.focusDate) && this.minTime.getHours()\r\n },\r\n maxHour() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.maxDate == this.focusDate) && this.maxTime.getHours()\r\n },\r\n minMinute() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && this\r\n .minTime.getMinutes()\r\n },\r\n maxMinute() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && this\r\n .maxTime.getMinutes()\r\n },\r\n minSecond() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && (!\r\n this.hasMinute || this.minMinute == this.focusMinute) && this.minTime.getSeconds()\r\n },\r\n maxSecond() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && (!\r\n this.hasMinute || this.maxMinute == this.focusMinute) && this.maxTime.getSeconds()\r\n },\r\n minWeek() {\r\n\r\n },\r\n maxWeek() {\r\n\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-datesheet {\r\n background: #f9f9f9;\r\n }\r\n\r\n .f-datesheet-ok {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .f-datesheet-head {\r\n height: 36px;\r\n border-top: 1px solid #ddd;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n</style>\n","import { render } from \"./TemplateDateSheet.vue?vue&type=template&id=e271d2a6\"\nimport script from \"./TemplateDateSheet.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateDateSheet.vue?vue&type=script&lang=js\"\n\nimport \"./TemplateDateSheet.vue?vue&type=style&index=0&id=e271d2a6&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps,\r\n } from 'vue'\r\n\r\n const bindCache = {}\r\n\r\n export default {\r\n props: ['data', 'width', 'height', 'colspan', 'rowspan', 'ownproperty', 'orientUid'],\r\n data() {\r\n return {\r\n isWidget: true,\r\n uid: this.orientUid || $.uid(),\r\n runtimeX: {},\r\n events: null,\r\n }\r\n },\r\n created() {\r\n $.vueMap.set(this.uid, this)\r\n let dftX = this.getDefaultProp()\r\n let cuid = $.config_uid\r\n let watchs = {}\r\n this.x = new Proxy(this.runtimeX, {\r\n get: (obj, prop) => {\r\n if (prop in obj) return obj[prop]\r\n if (this.$props[prop] !== undefined) return this.$props[prop]\r\n if (cuid != $.config_uid) {\r\n cuid = $.config_uid\r\n dftX = this.getDefaultProp()\r\n }\r\n return dftX[prop]\r\n },\r\n set: (obj, prop, newval) => {\r\n if (!watchs[prop]) {\r\n watchs[prop] = this.$watch(prop, (v) => obj[prop] = v)\r\n }\r\n obj[prop] = newval\r\n return true\r\n }\r\n })\r\n },\r\n unmounted() {\r\n $.vueMap.delete(this.uid)\r\n },\r\n methods: {\r\n x_default() {\r\n //implement\r\n },\r\n getDefaultProp() {\r\n let dftopt\r\n if (!this.ownproperty) {\r\n let b = this.$options.name\r\n dftopt = $.x.defaultOptions[b]\r\n if ($.dfclsCache[b]) {\r\n let c = this.$options.name + (this.$attrs.class ? ' ' + this.$attrs.class : '')\r\n let d = $.dfclsCache[b]\r\n let z\r\n for (let k in d) {\r\n $.idsAll(c, k, ' ') && $.mergeDeep(z || (z = {}), d[k])\r\n }\r\n z && (dftopt = $.extendDeep(z, dftopt))\r\n }\r\n }\r\n return {\r\n ...this.x_default(),\r\n ...dftopt,\r\n }\r\n },\r\n cmd(o, ...args) {\r\n return this.exec(o, args)\r\n },\r\n exec(cmd, args, feat) {\r\n if (typeof cmd === 'string') {\r\n cmd = $.vm(this).commands[cmd]\r\n }\r\n if (cmd) {\r\n if (typeof cmd === 'function') {\r\n return cmd(args, this)\r\n } else if (typeof cmd === 'object') {\r\n let ncm = $.extendDeep({}, cmd)\r\n feat && $.merge(ncm, feat)\r\n if ($.cmdHooks[ncm.type]) {\r\n return $.cmdHooks[ncm.type].call(this, ncm, args)\r\n }\r\n }\r\n }\r\n },\r\n trigger(ev, ...args) {\r\n let type = ev.runType || ev.type || ev\r\n let f = this.getOn(type)\r\n if (f) {\r\n if (typeof ev === 'string') {\r\n ev = {type, uid: this.uid}\r\n }\r\n if (Array.isArray(f)) f.forEach(n => n(ev, ...args))\r\n else f(ev, ...args)\r\n }\r\n this.events && this.events.fireEvent(type)\r\n },\r\n addEvent(type, fn, once) {\r\n if (!this.events) this.events = new $.EventListener(this)\r\n this.events.addEvent(type, fn, once)\r\n },\r\n fireEvent(type, args) {\r\n return this.events && this.events.fireEvent(type, args)\r\n },\r\n removeEvent(type, fn) {\r\n this.events && this.events.removeEvent(type, fn)\r\n },\r\n getOn(type) {\r\n let n = 'on' + type.charAt(0).toUpperCase() + type.slice(1)\r\n return (this.$.vnode.props && this.$.vnode.props[n]) || this.x[n]\r\n },\r\n getKey() {\r\n return this.$.vnode.key\r\n },\r\n closest(a) {\r\n let p = this\r\n let b = typeof a\r\n do {\r\n if (b === 'string') {\r\n if (p.$options.name === a)\r\n return p\r\n } else if (b === 'function') {\r\n if (a(p))\r\n return p\r\n }\r\n } while (p = p.$parent)\r\n },\r\n query(sel) {\r\n if (this.el()) {\r\n let o = $.q(sel, this.el())[0]\r\n return o && $(o)\r\n }\r\n },\r\n contains(a) {\r\n return a && this.el().contains(a.isWidget ? a.el() : a)\r\n },\r\n el(a) {\r\n return a && /\\W/.test(a) ? $.q(a, this.el())[0] : document.getElementById(this.uid + (a || ''))\r\n },\r\n next() {\r\n const e = this.el().nextElementSibling\r\n return e && $(e)\r\n },\r\n prev() {\r\n const e = this.el().previousElementSibling\r\n return e && $(e)\r\n },\r\n createEvent(name, data) {\r\n let e = new CustomEvent(name)\r\n e.value = data\r\n e.uid = this.uid\r\n return e\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n scrollIntoView(opt = false) {\r\n const next = (dir, fn) => {\r\n let c = 'scroll' + dir.toUpperCase()\r\n let t = this.closest(p => p.x && p.x[c] && (p.scrollState() || false)[dir])\r\n if (t) {\r\n t.scrollTo(this, opt.y || 'auto', opt.x || 'auto', opt.ease == null ? 200 : opt.ease, opt.divide, fn)\r\n } else\r\n fn && fn()\r\n }\r\n next('y', () => next('x', opt.success))\r\n },\r\n hasBubble(a) {\r\n if (!a) return false\r\n if (this.contains(a)) return true\r\n let d = $.dialog(a)\r\n if (d && d.commander) return this.hasBubble(d.commander)\r\n },\r\n bind(name, fn) {\r\n let c = bindCache[this.uid] || (bindCache[this.uid] = {})\r\n if (!c[name]) c[name] = fn || this[name]\r\n return c[name]\r\n },\r\n slots_children(name) {\r\n return $.slotsChildren(this.$slots, name)\r\n },\r\n html_icon(src, cls, onclick) {\r\n let font = src.startsWith('.') && !src.includes('/')\r\n return font ? h('i', {\r\n class: [cls, src.replace(/\\./g, '')],\r\n onclick,\r\n }) : h('img', {\r\n src,\r\n onclick,\r\n class: cls\r\n })\r\n },\r\n slot(name = 'default') {\r\n return this.$slots[name] ? this.$slots[name]() : []\r\n },\r\n html_slots() {\r\n return this.$slots\r\n },\r\n html_self(a) {\r\n return h(this.tagName || 'div', a ? mergeProps(this.html_attrs, this.html_props, this.$attrs) : mergeProps(this\r\n .html_attrs, this.html_props), this.html_slots())\r\n },\r\n html() {\r\n return this.html_self()\r\n }\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n ownerView() {\r\n let p = this.provideView\r\n while (p && !p.isView) p = p.provideView\r\n return p\r\n },\r\n pubParent() {\r\n return this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options.name) &&\r\n this.providePubParent\r\n },\r\n parentNode() {\r\n return $(this.el().parentElement)\r\n },\r\n tagName() {\r\n return 'div'\r\n },\r\n html_attrs() {\r\n return {\r\n id: this.uid,\r\n class: [this.$options.name, this.html_class],\r\n style: [{\r\n width: this.x.width && $.unitSize(this.x.width),\r\n height: this.x.height && $.unitSize(this.x.height),\r\n '--w-grid-colspan': !this.x.colspan || this.x.colspan == -1 ? null : `span ${this.x.colspan}`,\r\n '--w-grid-rowspan': !this.x.rowspan || this.x.rowspan == -1 ? null : `span ${this.x.rowspan}`,\r\n }, this.html_style],\r\n 'w-key': this.getKey(),\r\n 'w-width': this.x.width === '*' ? '*' : null,\r\n 'w-height': this.x.height === '*' ? '*' : null,\r\n }\r\n },\r\n html_style() {\r\n // implements\r\n },\r\n html_class() {\r\n // implements\r\n },\r\n html_props() {\r\n // implements\r\n },\r\n html_binds() {\r\n return mergeProps(this.html_attrs, this.html_props, this.$attrs)\r\n }\r\n },\r\n render() {\r\n return this.html()\r\n }\r\n }\r\n</script>\n","import script from \"./WidgetAbs.vue?vue&type=script&lang=js\"\nexport * from \"./WidgetAbs.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import SrcParent from './SrcParent.vue'\r\n\r\n export default {\r\n name: 'w-tr',\r\n pubParentName: 'w-tbody,w-thead',\r\n mixins: [WidgetBase, SrcParent],\r\n props: ['rowIndex', 'expanded'],\r\n inject: ['table', 'providePubParent', 'provideInBody', 'provideLevel', 'provideParentTR'],\r\n provide() {\r\n return {\r\n provideParentTR: this,\r\n provideLevel: this.provideLevel + 1,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return $.hasChild(this.$slots, 'rows')\r\n },\r\n isExpanded() {\r\n return this.x.expanded\r\n },\r\n setExpanded(exp) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n },\r\n isDisplay() {\r\n if (!this.provideParentTR) return true\r\n let p = this\r\n while (p = p.provideParentTR) {\r\n if (!p.isExpanded()) return false\r\n }\r\n return true\r\n },\r\n toggle(exp, fn) {\r\n let leaf = this.query('.w-leaf')\r\n if (leaf) {\r\n leaf.toggle(exp, fn)\r\n } else {\r\n this.setExpanded(exp)\r\n fn && this.$nextTick(fn)\r\n }\r\n },\r\n onmouseenter(e) {\r\n this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n html_slots() {\r\n let ri = this.rowIndex\r\n let rs = this.pubParent.rows\r\n let ci = 0\r\n return this.slots_children().map(td => {\r\n if (rs[ri] && rs[ri][ci]) {\r\n ci += rs[ri][ci]\r\n }\r\n td.dfishColIndex = ci\r\n if (td.props) {\r\n if (td.props.rowspan > 1) {\r\n for (let j = 1, r; j < td.props.rowspan; j++) {\r\n r = rs[ri + j] || (rs[ri + j] = {})\r\n r[ci] = $.number(td.props.colspan) || 1\r\n }\r\n }\r\n if (td.props.colspan > 1) ci += td.props.colspan - 1\r\n }\r\n ci++;\r\n return td\r\n })\r\n },\r\n html() {\r\n return this.$slots.rows ? [this.html_self(true), this.$slots.rows()] : this.html_self()\r\n },\r\n },\r\n computed: {\r\n tagName() {\r\n return 'tr'\r\n },\r\n level() {\r\n return this.provideLevel + 1\r\n },\r\n isEscape() {\r\n return this.pubParent.x.escape\r\n },\r\n inCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n if (this.provideInBody) {\r\n return {\r\n class: {\r\n 'z-on': this.inCurrent,\r\n 'z-expanded': this.isExpanded(),\r\n 'f-hide': !this.isDisplay()\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: this.onmouseleave\r\n }\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n</script>\n","import script from \"./TableTR.vue?vue&type=script&lang=js\"\nexport * from \"./TableTR.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PageBar.vue?vue&type=style&index=0&id=a0cae56c&lang=css\"","import lodash from 'lodash'\r\nimport jquery from 'jquery'\r\nimport http from 'axios'\r\nimport Qs from 'qs'\r\n\r\nimport br from './util/browser.js'\r\nimport uid from './util/uid.js'\r\nimport loc from './util/loc/zh-CN.js'\r\nimport {number, isNumber, numRange, numAdd, numFormat, numDecimal} from './util/number.js'\r\nimport {string, strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight} from './util/str.js'\r\nimport {dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet, dateWeek, dateWeekFirst, dateWeekLast} from './util/date.js'\r\nimport {rngSelection, rngElement, rngCursor, rngCursorOffset, rngText} from './util/range.js'\r\nimport {el, html, append, prepend, before, after, replaceWith} from './util/elem.js'\r\nimport {bcr, offset, snap, snapTo} from './util/snap.js'\r\nimport {EventListener, eventX, eventY, moveup} from './util/event.js'\r\n\r\n\r\nfunction $(o) {\r\n if (!o || o.isWidget) return o\r\n if (typeof o === 'string' || o.uid) return $.vueMap.get(o.uid || o)\r\n if (o instanceof Event) {\r\n o = o.currentTarget || o.target\r\n }\r\n if (o.$el) {\r\n o = o.$el\r\n if (o.nodeType === 3)\r\n o = o.nextElementSibling\r\n }\r\n if (lodash.isElement(o)) {\r\n do {\r\n if (o.id) {\r\n if ($.vueMap.has(o.id)) return $.vueMap.get(o.id)\r\n let d = $.strTo(o.id, ':') + ':'\r\n if($.vueMap.has(d)) return $.vueMap.get(d)\r\n }\r\n } while (o = o.parentNode)\r\n }\r\n while (o && !o.isWidget) o = o.$parent\r\n return o || $.docView\r\n}\r\n\r\nObject.assign($, {\r\n x: {defaultOptions: {}},\r\n vueMap: new Map(),\r\n dfclsCache: {},\r\n q: jquery, lodash, http,\r\n br, loc, uid, EventListener, eventX, eventY,\r\n number, isNumber, numRange, numAdd, numFormat, numDecimal,\r\n string, strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight,\r\n dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet, dateWeek, dateWeekFirst, dateWeekLast,\r\n rngSelection, rngElement, rngCursor, rngCursorOffset, rngText,\r\n el, html, append, prepend, before, after, replaceWith,\r\n moveup, bcr, offset, snap, snapTo,\r\n})\r\n\r\n// a继承b的属性。不覆盖a的既有同名属性\r\n$.extend = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c)\r\n if (!(k in a) && c[k] !== undefined) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n// 递归继承\r\n$.extendDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null && c.constructor === Object) {\r\n for (let i in c) {\r\n if (!(i in a)) {\r\n if (c[i] != null && c[i].constructor === Object) {\r\n $.extendDeep(a[i] = {}, c[i])\r\n } else\r\n a[i] = c[i]\r\n } else if (a[i] != null && a[i].constructor === Object)\r\n $.extendDeep(a[i], c[i])\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.merge = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n$.mergeDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null) {\r\n for (let k in c) {\r\n if (typeof a[k] === 'object')\r\n $.mergeDeep(a[k], c[k])\r\n else\r\n a[k] = c[k]\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.cloneDeep = lodash.cloneDeep\r\n\r\n$.eval = function(str, opt) {\r\n if (opt) {\r\n let keys = Object.keys(opt)\r\n return Function(keys.map(k => k), `return (${str})`)(...keys.map(k => opt[k]))\r\n }\r\n return Function(`return (${str})`)()\r\n}\r\n\r\n// a -> object, b -> concat?\r\n$.array = function(a, b) {\r\n return Array.isArray(a) ? (b ? a.concat() : a) : a == null || a === '' ? [] : typeof a === 'string' ? a.split(',') : [a]\r\n}\r\n// 把数组内的文本转为数字\r\n$.arrayNumber = function(a) {\r\n return $.array(a).map(v => parseFloat(v))\r\n}\r\n\r\n// 数字转为像素单位。如果自带单位则保留单位\r\n$.unitSize = (size, allowMinus) => size == null || size === '' ? '' : size === '*' ? '' : (size == -1 && !allowMinus)|| size == 'auto' ?\r\n 'auto' : isNaN(size) ? size : `${size}px`\r\n\r\n// 添加一个ID\r\n$.idsAdd = (s, n, p) => {\r\n s = string(s)\r\n n = string(n)\r\n p = p == null ? ',' : '' + p\r\n if (!s || !n) return s || n\r\n for (var i = 0, n = n.split(p), l = n.length; i < l; i++) {\r\n if ((p + s + p).indexOf(p + n[i] + p) < 0) s += (s ? p : '') + n[i];\r\n }\r\n return s\r\n}\r\n// 删除一个ID\r\n$.idsRemove = (s, n, p) => {\r\n s = string(s)\r\n n = string(n)\r\n p = p == null ? ',' : '' + p\r\n if (!s || !n) return s\r\n for (var i = 0, e, n = n.split(p), l = n.length; i < l; i++) {\r\n do {\r\n e = (p + s + p).indexOf(p + n[i] + p);\r\n if (e > -1) s = s.slice(0, e ? e - 1 : e) + s.slice(e + n[i].length + (e ? 0 : 1));\r\n } while (s && e > -1);\r\n }\r\n return s\r\n}\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAny = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = string(s)\r\n n = string(n)\r\n p = p == null ? ',' : '' + p\r\n if (!s || !n) return false\r\n if (s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) > -1) return true\r\n return false\r\n}\r\n\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAll = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = s == null ? '' : '' + s\r\n n = n == null ? '' : '' + n\r\n p = p == null ? ',' : '' + p\r\n if (!s) return false\r\n if (!n || s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) < 0) return false\r\n return true\r\n}\r\n\r\n// 添加一个class /@ a -> el, b -> className, c -> add?(默认添加)\r\n$.classAdd = function(a, b, c) {\r\n if (!a) return\r\n let s = a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $.strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b[i], ' ')\r\n } else\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b, ' ')\r\n a.className = s\r\n}\r\n\r\n// 删除一个class /@ a -> el, b -> className\r\n$.classRemove = function(a, b) {\r\n if (!a) return\r\n if (b.indexOf(' ') > -1) {\r\n $.classAdd(a, b, false)\r\n } else\r\n a.className = $.idsRemove(a.className, b, ' ')\r\n}\r\n\r\n// 是否包含任意一个class(多个是“或”的关系) /@ a -> el or className\r\n$.classAny = function(a, b) {\r\n if (!a) return\r\n let s = typeof a === 'string' ? a : a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n if ($.idsAny(s, b[i], ' ')) return i + 1\r\n } else\r\n return $.idsAny(s, b, ' ')\r\n}\r\n\r\n// url 编码\r\n$.urlEncode = (a) => {\r\n return a == null ? '' : encodeURIComponent(typeof a === 'object' ? JSON.stringify(a) : a)\r\n}\r\n \r\n// url 解码\r\n$.urlDecode = (a) => {\r\n return a == null ? '' : decodeURIComponent(a.replace(/\\+/g, ' '))\r\n}\r\n// 替换带$变量的url,如 \"a.sp?id=$0\" /@a -> url, b -> array/object\r\n$.urlFormat = (a, ...args) => {\r\n args.forEach((v, i) => v != null && (a = $.strFormat(a, v, true, i < args.length - 1)))\r\n return a\r\n}\r\n$.urlParam = function(a, b) {\r\n var r = a.split('#'),\r\n u = r[0],\r\n h = r[1];\r\n if (typeof b === 'string') {\r\n return b === '#' ? (h || '') : $.urlDecode((u.match(new RegExp('[\\\\?&]' + b + '=([^&]*)'), 'g') || A)[1]);\r\n } else if (b && typeof b === 'object') {\r\n for (var k in b) {\r\n if (k === '#') {\r\n h = b[k];\r\n } else {\r\n var c = $.urlEncode(b[k]),\r\n d = new RegExp('\\\\b' + k + '=[^&]*');\r\n u = d.test(u) ? u.replace(d, k + '=' + c) : u + (u.indexOf('?') < 0 ? '?' : '&') + k + '=' + c;\r\n }\r\n }\r\n } else if (arguments.length === 1) {\r\n var r = {},\r\n c = u.split('?');\r\n c = c[c.length - 1];\r\n\r\n if (c) {\r\n c = c.split('&');\r\n for (var d = 0, e, f, g; d < c.length; d++) {\r\n e = c[d].indexOf('=');\r\n if (e == -1) continue;\r\n f = c[d].substring(0, e);\r\n g = c[d].substring(e + 1);\r\n r[f] = $.urlDecode(g.replace(/\\+/g, ' '));\r\n }\r\n }\r\n return r\r\n }\r\n return u + (h ? '#' + h : '')\r\n}\r\n// 把相对路径url和baseURL拼接为完整地址\r\n$.urlServer = function(src, ...args) {\r\n if (!src) return\r\n if (!(src.startsWith('http://') || src.startsWith('https://'))) {\r\n let b = lodash.get($.x, 'http.baseURL')\r\n if (b) {\r\n src = b + (b.endsWith('/') ? '' : '/') + src\r\n }\r\n }\r\n return $.strFormat(src, ...args)\r\n}\r\n\r\n$.urlComplete = function(a) {\n\tif (a.indexOf('data:') !== 0) {\n\t\ta = $.urlServer(a)\r\n let r = lodash.get($.x, 'http.params')\n\t\tr && (a = $.urlParam(a, r))\n\t}\n\treturn a\n},\r\n\t// @a -> src, b -> options\n$.download = function(a, b) {\r\n a = $.urlComplete(a)\n\tif (br.app) {\n\t\t$.wifiConfirm(function() {\n\t\t\tlet dtask = plus.downloader.createDownload(a, b)\n\t\t\tplus.nativeUI.showWaiting()\n\t\t\tdtask.addEventListener(\"statechanged\", function(task, status) {\n\t\t\t\tswitch (task.state) {\n\t\t\t\t\tcase 1: // 开始\n\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_start)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 4: // 下载完成\n\t\t\t\t\t\tif (status == 200) {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_complete)\n\t\t\t\t\t\t\tplus.runtime.openFile(task.filename, {}, function(e) {\n\t\t\t\t\t\t\t\tplus.nativeUI.alert($.loc.download_cannotopen)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_fail + status)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplus.nativeUI.closeWaiting()\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t})\n\t\t\tdtask.start()\n\t\t})\n\t} else {\r\n\t\tlet link = document.createElement('a')\r\n //link.download = true\r\n link.href = a\r\n if ($.x.downloadTarget) {\r\n link.target = $.x.downloadTarget\r\n }\r\n link.click()\r\n link.remove()\n\t}\n}\r\n\r\n\n$.wifiConfirm = function(a, b) {\n\t$.x.wifiConfirm && plus.networkinfo.getCurrentType() != 3 ? plus.nativeUI.confirm($.loc.connection_not_wifi, function(e){e.index === 0 && a.call(b)}, {buttons:[$.loc.confirm, $.loc.cancel]}) : a.call(b)\n}\r\n\r\n$.vm = (a) => {\r\n if (!a) return $.docView\r\n if (typeof a === 'string') {\r\n if ($.vueMap.has(a)) {\r\n a = $.vueMap.get(a)\r\n if (a.isView) return a\r\n }\r\n }\r\n a = $(a)\r\n if (a == null) return\r\n return a.isView ? a : a.ownerView\r\n}\r\n\r\n$.dialog = (a) => {\r\n if (!a) return\r\n a = $.vm(a)\r\n while (a && !a.isDialog) a = a.ownerView\r\n return a\r\n}\r\n\r\n$.close = (a) => {\r\n let d = $.dialog(a)\r\n d && d.close()\r\n}\r\n\r\n$.closePopup = () => {\r\n document.dispatchEvent(new Event('mousedown'))\r\n}\r\n\r\n$.previewVideo = function(src) {\r\n $.vm().previewVideo($.urlServer(src))\n}\n\t// @img -> image array, options -> {current:i,loop:true,indicator: 'number'}\n$.previewImage = function(imgs, options) {\r\n imgs = $.array(imgs).map(v => $.urlServer(v))\n\tif (br.app) {\n\t\tplus.nativeUI.previewImage(imgs, options)\n\t} else {\r\n $.vm().previewImage(imgs, options)\n\t}\n}\r\n\r\n$.slotsChildren = function(slots, name = 'default') {\r\n let r = []\r\n const getChildren = (d) => {\r\n d && d.forEach(v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else\r\n r.push(v)\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n$.hasChild = function(slots, name = 'default') {\r\n let r = false\r\n const getChildren = (d) => {\r\n lodash.forEach(d, v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else {\r\n return !(r = true)\r\n }\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n// @fn(得到0-1的参数), ms -> milliseconds, count -> 帧数\r\n$.ease = function(fn, ms, count) {\n\tfn(0)\n\tif (ms == null)\n\t\tms = 200\n\tif (count == null)\n\t\tcount = Math.ceil(ms / 10)\n\tlet p = Math.ceil(ms / count)\n\tlet\tcr = 0\n\tlet d1 = new Date().getTime()\n\tlet it = setInterval(function() {\n\t\t\tlet d2 = new Date().getTime()\n\t\t\tlet ri = d2 - d1\n\t\t\tlet st = Math.floor(ri / p)\n\t\t\tif (cr != st) {\n\t\t\t\tif (st < count) {\n\t\t\t\t\tfn((- Math.cos((st / count) * Math.PI) / 2) + 0.5)\n\t\t\t\t} else {\n\t\t\t\t\tclearInterval(it)\n\t\t\t\t\tfn(1)\n\t\t\t\t}\n\t\t\t\tcr = st\n\t\t\t}\n\t\t}, Math.max(p - 10, 5))\n\treturn it\n},\r\n\r\n// @a -> widget|HTMLElement, y -> {print: T/F(是否打印), head: \"head标签\", input2text: T/F(把表单值转为文本)\n$.print = function(a, y) {\n\t\tlet d = a.el ? a.el() : (a.$el || a), w = d.ownerDocument, b = $.q('link[media=print]', w), c = [];\r\n y = y || {};\n\t\t$.q('meta', w).each(function() {c.push(this.outerHTML)});\n\t\t(b.length > 0 ? b : $.q('link', w)).each(function() {c.push('<link rel=\"stylesheet\" type=\"text/css\" href=\"' + this.getAttribute('href') + '\"/>');});\n\t\t$.q('style', w).each(function() {c.push(this.outerHTML)});\n\t\tlet s = d.outerHTML;\r\n\t\ts = s.replace(/<div[^>]+w-scroll[^>]+>/gi, function($0) {return $0.replace(/height: \\w+/gi, '');});\n\t\t$.q(':text,:password,textarea,select', d).each(function() {\n\t\t\tlet h = this.outerHTML, v, r;\r\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this), w = 'auto';\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\th = g.el('main').outerHTML;\n\t\t\t\t\tv = g.formText();\n\t\t\t\t} else\n\t\t\t\t\tv = this.value;\n\t\t\t\tv = '<div class=\"f-oh w-input-s\">' + v + '</div>';\n\t\t\t} else {\n\t\t\t\tv = h.replace('value=\"' + this.defaultValue + '\"', () => 'value=\"' + this.value + '\"');\n\t\t\t}\r\n\t\t\ts = s.replace(h, () => v + (r || ''));\n\t\t});\n\t\t$.q(':radio,:checkbox', d).each(function() {\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this);\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\ts = s.replace(g.el().outerHTML, () => g.isChecked ? '<div class=\"f-wdbr\">' + g.text + '</div>' : '');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet h = this.outerHTML, n = h.replace(/ checked=\"\"/, '');\n\t\t\t\tif (this.checked)\n\t\t\t\t\tn = n.replace(/>$/, ' checked>');\n\t\t\t\ts = s.replace(h, n);\n\t\t\t}\n\t\t});\n\t\tif (y.input2text) {\n\t\t\t$.q('input[type=hidden]', d).each(function() {\n\t\t\t\tvar g = $(this);\n\t\t\t\tif (g && g.isFormWidget && g.$options.name != 'w-hidden') {\n\t\t\t\t\ts = s.replace(g.el('main').outerHTML, () => '<div class=\"f-wdbr f-print-input-text\">' + g.formText() + '</div>');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t$.q('.w-input-placeholder', d).each(function() {\n\t\t\ts = s.replace(this.outerHTML, '');\n\t\t});\r\n const printf = function() {\r\n \tlet w = window.frames.wPrintFrame;\r\n \tif (!w) {\r\n \t\t$.q('<div class=f-none><iframe name=wPrintFrame></iframe></div>').appendTo(document.body);\r\n \t\tw = window.frames.wPrintFrame;\r\n \t}\r\n \treturn w;\r\n }\r\n w = y.print !== false ? printf() : window.open();\n\t\td = w.document;\n\t\td.open('text/html', 'replace');\n\t\td.write('<!doctype html><html class=f-print><head><meta charset=utf-8><title>' + $.loc.print_preview +\n\t\t\t'</title><style>.f-print .w-f-remark{height:auto;line-height:inherit}.f-print-input-text{line-height: var(--w-label-min-height);}.w-input{display: flex!important;}.w-input-s{word-break:normal;white-space:normal}.w-input-s:empty:before{content:\"\\xa0\"}</style><script>var $={e:function(){}}</script>' + c.join('') +\n\t\t\t(y.head || '') + '</head><body><div class=x-print>' + s + '</div>' +\n\t\t\t(y.print !== false ? '<script>window.print();window.close()</script>' : '') +\n\t\t\t'</body></html>');\n\t\td.close();\n\t\treturn d;\n\t}\n\r\n\r\nconst queryEncode = function(data, config) {\r\n if (!data || data instanceof FormData) return data\r\n let contentType = $.lodash.get(config, 'headers[\"Content-Type\"]') || $.lodash.get($.x, 'http.headers.post[\"Content-Type\"]')\r\n return contentType == 'application/x-www-form-urlencoded' ? Qs.stringify(data, {arrayFormat: 'repeat'}) : data\r\n}\r\n\r\n$.ajax = function(cmd, args) {\r\n let src = args ? $.urlFormat(cmd.src, args) : cmd.src\r\n if (!src) {\r\n return Promise.reject('$.ajax(): The first parameter must be an object, and the property(src) of the object is required.')\r\n }\r\n let ctx = cmd.context || $.docView\r\n let lock = ctx.ajaxLock\r\n let config = $.lodash.pick(cmd, ['headers', 'responseType'])\r\n if (cmd.download) {\r\n $.extend(config, {responseType: 'blob'})\r\n }\r\n lock && lock()\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return (cmd.data ? $.http.post(src, queryEncode(cmd.data, config), config) : $.http.get(src, config))\r\n .then(res => {\r\n lock && lock(false)\r\n let data = res.data\r\n if (cmd.filter) data = cmd.filter(res, ctx)\r\n if (cmd.success) cmd.success(data, ctx)\r\n if (cmd.complete) cmd.complete(res, ctx)\r\n cmd.loading && ctx.cmd({type: 'Loading', hide: true})\r\n if (cmd.download) {\r\n let disposition = res.headers['content-disposition']\r\n if (disposition) {\r\n let fileName = decodeURI(disposition.substring(disposition.indexOf('filename=') + 9, disposition.length))\r\n let blob = new Blob([res.data])\r\n let link = document.createElement('a')\r\n link.href = URL.createObjectURL(blob)\r\n link.download = fileName\r\n link.click()\r\n link.remove()\r\n } else {\r\n console.error('download: none content-disposition')\r\n }\r\n }\r\n return Promise.resolve(data)\r\n }).catch(ex => {\r\n lock && lock(false)\r\n if (cmd.error) cmd.error(ex, ctx)\r\n if (cmd.complete) cmd.complete(ex.response, ctx, ex)\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return Promise.reject(ex)\r\n })\r\n}\r\n\r\n$.extend($.ajax, {\r\n get(src, config) {\r\n return $.http.get(src, config).then(res => new Promise(resolve => resolve(res.data)))\r\n },\r\n post(src, data, config) {\r\n return $.http.post(src, queryEncode(data, config), config).then(res => new Promise(resolve => resolve(res.data)))\r\n }\r\n}, http)\r\n\r\n$.cmdHooks = {\r\n Submit(cmd, args) {\r\n let src = $.urlFormat(cmd.src, args)\r\n const vm = $.vm(this)\r\n const submit = () => new Promise(rsv => this.$nextTick(() => {\r\n let d = cmd.validate || false\r\n let f = vm.getFormList(d.range || cmd.range)\r\n let g = d.range && d.range != cmd.range ? vm.getFormList(cmd.range) : f\r\n if (vm.valid(f, d.group)) {\r\n cmd.context = cmd.context || this\r\n let post = vm.getPostData(g)\r\n cmd.data = cmd.data ? $.extend(cmd.data, post) : post\r\n $.ajax(cmd, args).then(data => rsv(data))\r\n }\r\n }))\r\n return submit()\r\n },\r\n Ajax(cmd, args) {\r\n cmd.context = cmd.context || this\r\n return $.ajax(cmd, args)\r\n },\r\n Dialog(cmd, args) {\r\n if (cmd.title) cmd.title = $.strFormat(cmd.title, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Alert(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Confirm(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Tip(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Menu(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Loading(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n}\r\n\r\n$.isCmd = function(a) {\r\n return a && a.type && $.cmdHooks[a.type]\r\n}\r\n\r\n$.alert = function(text, position, timeout, yes) {\r\n $.docView.cmd(typeof text === 'object' ? {type: 'Alert', title: '操作提示', ...text} : {\r\n type: 'Alert', title: '操作提示', text, position, timeout, yes\r\n })\r\n}\r\n\r\n$.confirm = function(text, yes, no, cover) {\r\n $.docView.cmd(typeof text === 'object' ? {type: 'Confirm', title: '操作提示', ...text} : {\r\n type: 'Confirm', title: '操作提示', text, yes, no, cover\r\n })\r\n}\r\n\r\n// $.directiveHooks = {\r\n// colspan(el, v, n) {\r\n// el.style.gridColumn = !v || v == -1 ? '' : `span ${v}`\r\n// },\r\n// rowspan(el, v, n) {\r\n// el.style.gridRow = !v || v == -1 ? '' : `span ${v}`\r\n// }\r\n// }\r\n\r\n$.config = function(opt) {\r\n $.config_uid = uid() //读取默认配置的地方有缓存,根据这个uid来判断是否刷新缓存\r\n $.mergeDeep($.x, opt)\r\n if (opt.http) {\r\n $.mergeDeep(http.defaults, opt.http)\r\n http.interceptors.response.use(\r\n opt.http.filter,\r\n opt.http.error || function(ex) {\r\n if (ex.response) {\r\n ex.callback = () => $.alert((ex.response.status) + ': ' + ex.config.url)\r\n }\r\n return Promise.reject(ex)\r\n }\r\n )\r\n }\r\n const _dfopt = $.x.defaultOptions\r\n const _dfcls = {}\r\n for (let k in _dfopt) {\r\n if (k.includes('.')) {\r\n let a = $.strFrom(k, '.').replace(/\\./g, ' ')\r\n let b = $.strTo(k, '.');\r\n ($.dfclsCache[b] || ($.dfclsCache[b] = {}))[a] = _dfopt[k]\r\n }\r\n }\r\n}\r\n\r\nwindow.addEventListener('unhandledrejection', (event) => {\r\n if ($.x.catchReject) {\r\n $.x.catchReject(event)\r\n } else {\r\n if (event.reason) {\r\n if (event.reason.callback)\r\n event.reason.callback()\r\n else if (typeof event.reason === 'string')\r\n console.error(event.reason)\r\n }\r\n event.preventDefault()\r\n }\r\n})\r\n\r\nexport default $\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ComboBox.vue?vue&type=style&index=0&id=0e4ab116&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import TemplateJigsaw from '../template/TemplateJigsaw.vue'\r\n\r\n\r\n const init_text = $.loc.form.jigsaw_drag_right\r\n\r\n export default {\r\n name: 'w-jigsaw',\r\n mixins: [FormBase],\r\n emits: ['drop', 'click:refresh'],\r\n props: ['big', 'small', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: init_text,\r\n locked: false,\r\n isSuccess: false,\r\n isError: false,\r\n dropper: null,\r\n }\r\n },\r\n methods: {\r\n success(text) {\r\n this.text = text\r\n this.locked = true\r\n this.isSuccess = true\r\n this.setThumbLeft()\r\n },\r\n error(text, timeout, fn) {\r\n if (!text) text = ''\r\n this.isError = true\r\n this.warn(true)\r\n this.setThumbLeft(0)\r\n if (timeout) {\r\n this.locked = true\r\n this.text = text + `(${timeout/1000})`\r\n let timer = setInterval(() => {\r\n timeout -= 1000\r\n this.text = text + `(${timeout/1000})`\r\n if (timeout <= 0) {\r\n clearInterval(timer)\r\n this.reset()\r\n fn && fn()\r\n }\r\n }, 1000)\r\n } else {\r\n fn && fn()\r\n }\r\n },\r\n reset() {\r\n this.locked = false\r\n this.isError = false\r\n this.isSuccess = false\r\n this.text = init_text\r\n this.setThumbLeft(0)\r\n },\r\n refresh(e) {\r\n e.runType = 'click:refresh'\r\n this.trigger(e)\r\n },\r\n setThumbLeft(left) {\r\n if (left == null) {\r\n left = $.number(this.$refs.thumb.style.left)\r\n } else {\r\n this.$refs.thumb.style.left = left + 'px'\r\n }\r\n let g = this.thumbWidth()\r\n let w = this.mainWidth()\r\n let hf = (left + (g / 2)) > (w / 2)\r\n this.$refs.text.style.left = hf ? 0 : (left + g) + 'px'\r\n this.$refs.text.style.right = hf ? (w - left) + 'px' : 0\r\n this.el().classList.remove('z-drag')\r\n $.close(this.dropper)\r\n },\r\n dragstart(e) {\r\n if (!this.isNormal || this.locked) return\r\n this.warn(false)\r\n let a = this.$refs.thumb\r\n let x = $.eventX(e)\r\n let m = this.max()\r\n let n = this.min()\r\n let f = $.number(a.style.left)\r\n let g = this.thumbWidth()\r\n let w = this.mainWidth()\r\n $.moveup((e) => {\r\n let c = $.eventX(e)\r\n let l = $.numRange(f + c - x, 0, w - g)\r\n a.style.left = l + 'px'\r\n this.$refs.track.style.width = (l + g) + 'px'\r\n this.x.modelValue = Math.floor(Math.floor((m - n) * l / (w - g)))\r\n this.el().classList.add('z-drag')\r\n }, (e, moved) => {\r\n if (moved) a.dispatchEvent(new Event('drop'))\r\n }, e)\r\n },\r\n mouseenter(e) {\r\n if (this.dropper || !this.x.big || this.isSuccess || this.locked) return\r\n this.warn(false)\r\n $.closePopup()\r\n let width = Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width)\r\n let height = Math.ceil(width * (this.x.big.height / this.x.big.width))\r\n this.dropper = this.cmd({\r\n type: 'Dialog',\r\n ownproperty: true,\r\n template: TemplateJigsaw,\r\n width,\r\n height,\r\n autoHide: true,\r\n hoverDrop: true,\r\n context: this,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v'\r\n },\r\n onClose: () => this.dropper = null\r\n })\r\n },\r\n drop(e) {\r\n this.trigger(e, this.x.modelValue)\r\n },\r\n max() {\r\n let v = this.x.maxValue\r\n return v == null ? 100 : v\r\n },\r\n min() {\r\n let v = this.x.minValue\r\n return v == null ? 0 : v\r\n },\r\n thumbWidth() {\r\n return $.bcr(this.$refs.thumb).width\r\n },\r\n mainWidth() {\r\n return $.bcr(this.$refs.main).width\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(), ,\r\n [\r\n h('div', {\r\n ref: 'track',\r\n class: 'w-jigsaw-track',\r\n }),\r\n h('div', {\r\n ref: 'text',\r\n class: 'w-jigsaw-text f-flex-center f-line-1',\r\n }, this.text),\r\n ]\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n ref: 'thumb',\r\n class: ['w-jigsaw-thumb w-input-bbr f-i', this.isSuccess ? 'f-i-check' :\r\n 'f-i-long-arrow-right'\r\n ],\r\n disabled: this.x.disabled,\r\n onmousedown: this.dragstart,\r\n ondrop: this.drop,\r\n })\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n if (!this.isSuccess) {\r\n return this.formErr({type: 'jigsaw_required'})\r\n }\r\n }\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-success': this.isSuccess,\r\n }\r\n },\r\n main_prop() {\r\n return {\r\n onmouseenter: this.mouseenter\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw>.w-input {\r\n position: relative;\r\n background: #f8f8f8;\r\n overflow: visible;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-jigsaw-thumb {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 30px;\r\n background: #fff;\r\n box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);\r\n }\r\n\r\n .w-jigsaw-thumb:hover,\r\n .w-jigsaw.z-drag .w-jigsaw-thumb {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw-text {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 30px;\r\n right: 0;\r\n color: #a9a9a9;\r\n }\r\n\r\n .w-jigsaw-track {\r\n display: none;\r\n position: absolute;\r\n left: -1px;\r\n top: -1px;\r\n bottom: -1px;\r\n background: #e5f3ff;\r\n border: 1px solid transparent;\r\n }\r\n\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-text {\r\n display: none;\r\n }\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-track {\r\n display: block;\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-track {\r\n display: block;\r\n background: #eaffe5;\r\n border-color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-thumb {\r\n background: #24c301;\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-text {\r\n color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-err .w-jigsaw-text {\r\n color: #f00;\r\n }\r\n</style>\r\n","import script from \"./Jigsaw.vue?vue&type=script&lang=js\"\nexport * from \"./Jigsaw.vue?vue&type=script&lang=js\"\n\nimport \"./Jigsaw.vue?vue&type=style&index=0&id=5f202dd8&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import CheckBoxGroup from './CheckBoxGroup.vue'\r\n\r\n export default {\r\n name: 'w-radiogroup',\r\n mixins: [CheckBoxGroup]\r\n }\r\n</script>\r\n","import script from \"./RadioGroup.vue?vue&type=script&lang=js\"\nexport * from \"./RadioGroup.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-vertical',\r\n mixins: [Horizontal],\r\n computed: {\r\n dir() {\r\n return 'v'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n","import script from \"./Vertical.vue?vue&type=script&lang=js\"\nexport * from \"./Vertical.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PickBox.vue?vue&type=style&index=0&id=35b69f8f&lang=css\"","import jquery from 'jquery'\r\n\r\nconst _adjacent_where = ['afterend', 'afterbegin', 'beforebegin', 'beforeend']\nconst _adjacent_query = ['after', 'prepend', 'before', 'append']\r\n// 创建一个div /@ s -> html\nconst _div = function(s) {\n\tlet o = document.createElement('div')\n\tif (s) o.innerHTML = s\n\ttry {return o} catch(e) {return false}\n\tfinally {o = null}\n}\r\nconst frag = function(s) {\n\tlet d = typeof s === 'string' ? _div(s) : s\r\n let f = document.createDocumentFragment()\n\twhile (d.firstChild)\n\t\tf.appendChild(d.firstChild);\n\ttry {return f} catch(e) {return false}\n\tfinally {d = f = null}\n}\r\n\r\nconst el = function(o) {\r\n if (o) {\r\n return o.isWidget ? o.el() : o\r\n }\r\n}\n// o -> el, s -> html string/object, r -> where[`after`, `prepend`, `before`, `append`]\nconst html = function(o, s, r) {\n\tif (r == null) {\n\t\tif (s == null) return o.innerHTML\n\t\ttry {o.innerHTML = s} catch(ex) {\n\t\t\twhile (o.firstChild)\n\t\t\t\to.removeChild(o.firstChild)\n\t\t\thtml(o, s, 3)\n\t\t}\n\t} else {\n\t\tlet b\n\t\tif (typeof s === 'string') {\n\t\t\ttry {\n\t\t\t\to.nodeType === 3 ? jquery(o)[_adjacent_query[r]](s) : o.insertAdjacentHTML(_adjacent_where[r], s)\n\t\t\t} catch (ex) {\n\t\t\t\thtml(o, frag(s), r)\n\t\t\t}\n\t\t} else {\n\t\t\tlet p = r % 2 ? o : o.parentNode\n\t\t\tp && p.insertBefore(s, r === 0 ? o.nextSibling : r === 1 ? o.firstChild : r === 2 ? o : null)\n\t}\n\t}\n}\nconst append = function(o, s) {html(o, s, 3); return o.lastElementChild || o.lastChild}\nconst prepend = function(o, s) {html(o, s, 1); return o.firstElementChild || o.firstChild}\nconst before = function(o, s) {html(o, s, 2); return o.previousElementSibling || o.previousSibling}\nconst after = function(o, s) {html(o, s, 0); return o.nextElementSibling || o.nextSibling}\nconst replaceWith = function(o, s) {\n\tlet a = o.nextSibling\n\tif (a) {\n\t\to.parentNode.removeChild(o)\n\t\treturn before(a, s)\n\t} else {\n\t\tlet p = o.parentNode\n\t\tp.removeChild(o)\n\t\treturn append(p, s)\n\t}\n}\r\n\r\nexport {el, html, append, prepend, before, after, replaceWith}","<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-swiper-item',\r\n pubParentName: 'w-swiper',\r\n inject: ['providePubParent'],\r\n mixins: [WidgetBase],\r\n props: ['lazy'],\r\n data() {\r\n return {\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n lazy: true\r\n }\r\n },\r\n html_slots() {\r\n if (this.loaded || !this.lazy) {\r\n return this.$slots\r\n }\r\n if (this.isCurrent) {\r\n this.loaded = true\r\n return this.$slots\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return {'z-on': this.isCurrent}\r\n },\r\n isCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./SwiperItem.vue?vue&type=script&lang=js\"\nexport * from \"./SwiperItem.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import WidgetAbs from './WidgetAbs.vue'\r\n \r\n export default {\r\n mixins: [WidgetAbs],\r\n inject: ['provideView']\r\n }\n</script>\n\n","import script from \"./WidgetBase.vue?vue&type=script&lang=js\"\nexport * from \"./WidgetBase.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-progress',\r\n mixins: [WidgetBase],\r\n props: ['percent', 'range', 'text'],\r\n methods: {\r\n html_slots() {\r\n let w = $.number(this.x.percent)\r\n return [\r\n this.x.text && h('span', {\r\n class: 'w-progress-text'\r\n }, this.x.text),\r\n h('div', {\r\n class: 'w-progress-gut',\r\n style: {\r\n width: `${w}%`\r\n }\r\n }, h('div', {\r\n class: 'w-progress-bar f-flex f-flex-center',\r\n style: {\r\n width: `${w==0?w:(100*100/w)}%`\r\n }\r\n }, this.x.text && h('span', {\r\n class: 'w-progress-text'\r\n }, this.x.text)))\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n if (this.x.range) {\r\n let a = this.x.range.split(',')\r\n for (let i = a.length - 1; i >= 0; i--) {\r\n if ($.number(this.x.percent) >= $.number(a[i])) return 'z-' + a[i]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-progress {\r\n display: flex;\r\n position: relative;\r\n height: 18px;\r\n border-radius: 20px;\r\n background: #e6e6e6;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: hidden;\r\n font-size: 12px;\r\n line-height: 1;\r\n }\r\n\r\n .w-progress-gut {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n overflow: hidden;\r\n transition: width, background .1s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-progress-bar {\r\n color: #fff;\r\n height: 100%;\r\n }\r\n</style>\r\n","import script from \"./Progress.vue?vue&type=script&lang=js\"\nexport * from \"./Progress.vue?vue&type=script&lang=js\"\n\nimport \"./Progress.vue?vue&type=style&index=0&id=18056e88&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-switch',\r\n pubParentName: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['checkedText', 'uncheckedText', 'checkedValue', 'uncheckedValue'],\r\n inject: ['providePubParent'],\r\n methods: {\r\n onclick(e) {\r\n let c = !this.isChecked\r\n let v = c ? this.x.checkedValue : this.x.uncheckedValue\r\n this.val(v)\r\n },\r\n formText() {\r\n return this.isChecked ? this.x.checkedText : this.x.uncheckedText\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-switch-box',\r\n onclick: this.isNormal && this.onclick\r\n }, [\r\n h('i', {\r\n class: 'w-switch-icon'\r\n }),\r\n h('span', {\r\n class: 'w-switch-text'\r\n }, this.isChecked ? this.x.checkedText : this.x.uncheckedText),\r\n ])\r\n ]\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n return this.isChecked ? this.x.checkedValue : this.x.uncheckedValue\r\n },\r\n html_class() {\r\n return this.isChecked ? 'z-checked' : 'z-unchecked'\r\n },\r\n isChecked() {\r\n return this.x.modelValue == this.x.checkedValue\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-switch>.w-input {\r\n flex: none;\r\n display: inline-flex;\r\n }\r\n\r\n .w-switch-box {\r\n flex: 1;\r\n position: relative;\r\n height: 22px;\r\n background: #c0c0c0;\r\n background: rgba(0, 0, 0, 0.25);\r\n border: 1px solid #c1caca;\r\n border-radius: 20px;\r\n color: #fff;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-appearance: none;\r\n }\r\n\r\n .w-switch-icon {\r\n position: absolute;\r\n top: 1px;\r\n left: 1px;\r\n background: #fff;\r\n padding: 10px;\r\n border-radius: 20px;\r\n box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);\r\n transition: all .15s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-switch-text {\r\n float: right;\r\n min-width: 2px;\r\n margin-left: 26px;\r\n margin-right: 8px;\r\n line-height: 22px;\r\n font-style: normal;\r\n min-width: 10px;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-box {\r\n background: #1890ff;\r\n border-color: #1890ff\r\n }\r\n\r\n .w-switch.z-checked .w-switch-icon {\r\n left: 100%;\r\n border-color: #1890ff;\r\n transform: translateX(calc(-100% - 1px));\r\n }\r\n\r\n .w-switch.z-checked .w-switch-text {\r\n float: left;\r\n margin-left: 8px;\r\n margin-right: 26px;\r\n }\r\n\r\n .w-switch.z-ds .w-switch-box {\r\n background: #e6e6e6;\r\n border-color: #e6e6e6;\r\n cursor: default\r\n }\r\n\r\n .w-switch.z-ds .w-switch-icon {\r\n border-color: #e6e6e6\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-box {\r\n background: #a2d2ff;\r\n border-color: #a2d2ff\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-icon {\r\n border-color: #a2d2ff\r\n }\r\n</style>\n","import script from \"./Switch.vue?vue&type=script&lang=js\"\nexport * from \"./Switch.vue?vue&type=script&lang=js\"\n\nimport \"./Switch.vue?vue&type=style&index=0&id=a7ad2c26&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tree.vue?vue&type=style&index=0&id=53bcfba2&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-img',\r\n pubParentName: 'w-album',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['src', 'text', 'square', 'imgWidth', 'imgHeight', 'dataUrl', 'vertical', 'disabled'],\r\n data() {\r\n return {\r\n hover: false\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n vertical: true,\r\n }\r\n },\r\n onerror(e) {\r\n if (this.dataUrl) e.target.src = this.dataUrl\r\n },\r\n html_slots() {\r\n let src = this.x.src\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n let svg = src && src.startsWith('#')\r\n let cont = this.$slots.default || (this.x.text ? {\r\n default: () => this.x.text\r\n } : null)\r\n src = src || this.dataUrl\r\n return [\r\n src && h('div', {\r\n class: 'w-img-gut',\r\n }, [font ? h('i', {\r\n class: 'w-img-icon ' + src.replace(/\\./g, '')\r\n }) :\r\n svg ? h('svg', {\r\n class: 'f-svg ' + src.slice(1)\r\n }, h('use', {\r\n 'xlink:href': src,\r\n })) :\r\n h('img', {\r\n ref: 'img',\r\n src: src,\r\n class: 'w-img-icon',\r\n onerror: this.onerror,\r\n }),\r\n this.$slots.cover && h('div', {\r\n class: 'w-img-cover f-abs-full'\r\n }, this.$slots.cover())\r\n ]),\r\n cont && h(Vertical, {\r\n class: 'w-img-description'\r\n }, cont)\r\n ]\r\n }\r\n },\r\n computed: {\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let w = $.unitSize(this.x.imgWidth ? this.x.imgWidth : this.x.width)\r\n let h = $.unitSize(this.x.imgHeight ? this.x.imgHeight : this.x.height)\r\n return {\r\n class: {\r\n 'z-hv': this.hover,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-square': this.x.square,\r\n 'z-canplay': this.x.canPlay,\r\n 'z-vertical': this.x.vertical,\r\n [`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap,\r\n },\r\n style: {\r\n '--w-img-icon-width': w,\r\n '--w-img-icon-height': h,\r\n },\r\n onmouseenter: e => !this.x.disabled && (this.hover = true),\r\n onmouseleave: e => !this.x.disabled && (this.hover = false)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-img {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-img.z-vertical {\r\n flex-direction: column;\r\n --w-compat-gap: 7px;\r\n }\r\n\r\n .w-img-gut {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-img-gut img {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--w-img-icon-width, 100%);\r\n height: var(--w-img-icon-height);\r\n }\r\n \r\n .w-img .f-svg {\r\n width: var(--w-img-icon-width, 18px);\r\n height: var(--w-img-icon-height, 18px) ;\r\n }\r\n\r\n .w-img.z-square .w-img-gut {\r\n position: relative;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-icon {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-img-icon {\r\n display: block;\r\n object-fit: cover;\r\n line-height: 1;\r\n }\r\n\r\n .w-img-cover {}\r\n\r\n .w-img-description {}\r\n\r\n .w-img.z-vertical>.w-img-description {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n</style>\n","import script from \"./Img.vue?vue&type=script&lang=js\"\nexport * from \"./Img.vue?vue&type=script&lang=js\"\n\nimport \"./Img.vue?vue&type=style&index=0&id=4b5feea2&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-grid',\r\n mixins: [Scroll],\r\n props: ['columns', 'rows', 'gap', 'defaultColspan', 'face'],\r\n methods: {\r\n x_default() {\r\n return {\r\n columns: 12,\r\n gap: 0,\r\n }\r\n },\r\n html_slots() {\r\n return this.x.scrollX || this.x.scrollY ? this.html_scroll_slots() : h('div', {\r\n class: 'w-grid-cont',\r\n style: this.html_scroll_cont_style,\r\n }, this.$slots)\r\n },\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: [this.x.rows ? 'z-full' : 'z-auto', this.x.face && 'z-face-' + this.x.face, this.html_scroll_class],\r\n }\r\n },\r\n html_scroll_cont_style() {\r\n let cols = this.x.columns\r\n if ($.isNumber(cols)) cols = `repeat(${cols}, 1fr)`\r\n let rows = this.x.rows\r\n if ($.isNumber(rows)) rows = `repeat(${rows}, 1fr)`\r\n let dc = this.x.defaultColspan\r\n return {\r\n 'grid-template-columns': cols,\r\n 'grid-template-rows': rows,\r\n 'grid-gap': this.x.gap ? $.unitSize(this.x.gap) : '',\r\n '--w-grid-colspan': (dc == -1 || dc == null ? '' : `span ${dc}`),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-grid {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont {\r\n display: grid;\r\n grid-auto-flow: row;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont>*,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont>* {\r\n grid-column: var(--w-grid-colspan, 1 / -1);\r\n grid-row: var(--w-grid-rowspan);\r\n }\r\n\r\n .w-grid.z-full>.w-grid-cont {\r\n height: 100%;\r\n }\r\n\r\n .w-grid.w-scroll.z-auto>.w-scroll-overflow>.w-scroll-cont {\r\n min-height: auto;\r\n }\r\n\r\n .w-grid.z-face-cell {\r\n border-top: 1px solid var(--w-grid-cell-border-color);\r\n border-left: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-formbase {\r\n align-items: stretch;\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n border-bottom: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n \r\n .w-grid.z-face-cell .w-td > .w-formbase {\r\n border-right: 0;\r\n border-bottom: 0;\r\n }\r\n\r\n .w-grid.z-face-cell .w-label {\r\n background: var(--w-grid-cell-label-background-color);\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-input-border,\r\n .w-grid.z-face-cell .w-input .w-formbase {\r\n border: 0;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload {\r\n align-items: stretch;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload>.w-input {\r\n padding: 10px;\r\n justify-content: center;\r\n }\r\n\r\n .w-grid.z-face-cell .w-imageupload>.w-input,\r\n .w-grid.z-face-cell .w-mediaupload>.w-input {\r\n padding: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-form>.w-input,\r\n .w-grid.z-face-cell .w-switch>.w-input,\r\n .w-grid.z-face-cell .w-radiogroup>.w-input,\r\n .w-grid.z-face-cell .w-checkboxgroup>.w-input {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-boxgroup-grid {\r\n padding: 10px 0;\r\n }\r\n \r\n .w-grid.z-face-cell .w-combobox-list {\r\n padding-left: 5px;\r\n }\r\n</style>\r\n","import script from \"./Grid.vue?vue&type=script&lang=js\"\nexport * from \"./Grid.vue?vue&type=script&lang=js\"\n\nimport \"./Grid.vue?vue&type=style&index=0&id=5e2b9c3a&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FileUpload from './FileUpload.vue'\r\n import MediaUploadItem from './MediaUploadItem.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-mediaupload',\r\n mixins: [FileUpload],\r\n props: ['thumbnailWidth', 'thumbnailHeight', 'showFileName'],\r\n provide() {\r\n return {\r\n provideUpload: this\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n fileTypes: 'video',\r\n //valign: 'top',\r\n thumbnailWidth: 80,\r\n thumbnailHeight: 80,\r\n }\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n return h(MediaUploadItem, {item})\r\n })\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n ref: 'uploadbutton',\r\n title: $.loc.form.choose_image,\r\n icon: '.f-i .f-i-plus',\r\n class: 'w-mediaupload-button',\r\n style: {\r\n width: $.unitSize(this.x.thumbnailWidth),\r\n height: $.unitSize(this.x.thumbnailHeight)\r\n },\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(h('div', {\r\n class: ['w-mediaupload-list f-flex', {'f-h-gap': $.br.compat.gap}]\r\n }, [this.html_list(), this.canUpload && this.html_input_button()]))\r\n },\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-label-min-height': $.unitSize(this.x.thumbnailHeight),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload.z-h-valign-top,\r\n .w-mediaupload.z-h-valign-top>.w-input {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-mediaupload.z-h-valign-bottom,\r\n .w-mediaupload.z-h-valign-bottom>.w-input {\r\n align-items: flex-end;\r\n }\r\n\r\n .w-mediaupload.z-h-align-center>.w-input {\r\n justify-content: center;\r\n }\r\n\r\n .w-mediaupload.z-h-align-right>.w-input {\r\n justify-content: flex-end;\r\n }\r\n\r\n .w-mediaupload>.w-input {\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-mediaupload-list {\r\n align-items: flex-start;\r\n flex-wrap: wrap;\r\n --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-mediaupload-value,\r\n .w-mediaupload-button {\r\n position: relative;\r\n }\r\n\r\n .w-mediaupload-button {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-mediaupload-value.z-loading .w-mediaupload-progress:before,\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n background: rgba(0, 0, 0, .2);\r\n }\r\n\r\n .w-mediaupload-button .w-button-icon {\r\n font-size: 36px;\r\n color: #bbb;\r\n }\r\n\r\n .w-mediaupload-value:hover .w-mediaupload-value-close {\r\n visibility: visible;\r\n }\r\n\r\n .w-mediaupload-value-close {\r\n position: absolute;\r\n visibility: hidden;\r\n cursor: pointer;\r\n top: 1px;\r\n right: 1px;\r\n width: 24px;\r\n height: 24px;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .6);\r\n }\r\n\r\n .w-mediaupload-value-close:hover {\r\n color: #f33;\r\n }\r\n\r\n .w-mediaupload-value .w-img-gut {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value.z-err {\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress-loading {\r\n display: none;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before {\r\n content: '上传失败';\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .5);\r\n }\r\n\r\n .w-mediaupload-cover-play {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 30px;\r\n background: rgba(0, 0, 0, .5);\r\n color: #fff;\r\n }\r\n\r\n .w-mediaupload-cover-play:before {\r\n transform: translateX(2px);\r\n }\r\n\r\n .w-mediaupload.z-err .w-mediaupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\n","import script from \"./MediaUpload.vue?vue&type=script&lang=js\"\nexport * from \"./MediaUpload.vue?vue&type=script&lang=js\"\n\nimport \"./MediaUpload.vue?vue&type=style&index=0&id=5df6accd&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import Dialog from './Dialog.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-loading',\r\n mixins: [Dialog],\r\n props: ['text', 'icon'],\r\n methods: {\r\n x_default() {\r\n return {\r\n //local: true,\r\n }\r\n },\r\n html_slots() {\r\n return h(Img, {\r\n src: this.x.icon !== undefined ? this.x.icon : '#f-svg-loading',\r\n text: this.x.text !== undefined ? this.x.text : $.loc.loading\r\n })\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-dialog'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-loading {\r\n padding: 10px;\r\n border-radius: 10px;\r\n background: rgba(0, 0, 0, .6);\r\n color: #fff;\r\n box-shadow: none;\r\n }\r\n\r\n .w-loading .f-svg {\r\n width: 30px;\r\n height: 30px;\r\n fill: #fff;\r\n }\r\n .w-loading .f-svg>use {\r\n stroke: #fff;\r\n }\r\n</style>\n","import script from \"./Loading.vue?vue&type=script&lang=js\"\nexport * from \"./Loading.vue?vue&type=script&lang=js\"\n\nimport \"./Loading.vue?vue&type=style&index=0&id=35a83c14&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['modelValue', 'required', 'vertical', 'gap', 'minSize', 'maxSize'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n methods: {\r\n html_form() {\r\n return this.x.vertical ? h('div', {class: 'w-boxgroup-grid'}, this.$slots) : this.$slots\r\n },\r\n },\r\n computed: {\r\n html_style() {\r\n return this.x.gap && {\r\n '--w-boxgroup-gap': $.unitSize(this.x.gap)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./CheckBoxGroup.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBoxGroup.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Text from './Text.vue'\r\n\r\n export default {\r\n name: 'w-spinner',\r\n mixins: [Text],\r\n inject: ['provideRangeParent'],\r\n props: ['decimal', 'format', 'showButton', 'step', 'autoFix', 'compare', 'minValue', 'maxValue'],\r\n mounted() {\r\n this.x.format && this.doFormat()\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n step: 1,\r\n autoFix: true,\r\n showButton: true,\r\n inputWidth: (this.provideRangeParent && this.provideRangeParent.x.inputWidth) || 140\r\n }\r\n },\r\n doFormat() {\r\n let v = '' + this.x.modelValue\r\n let s = this.x.format.separator || ','\r\n let r = RegExp(s.replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&'), 'g')\r\n let t = $.numFormat(v, this.x.format.length, s, this.x.format.rightward)\r\n if (v !== t) {\r\n let n = this.$refs.v.selectionStart\r\n let b = v.slice(0, n).replace(r, '')\r\n this.val(t)\r\n if (document.activeElement === this.$refs.v) {\r\n let a = t.slice(0, n).replace(r, '')\r\n this.$nextTick(() => $.rngCursor(this.$refs.v, n + (b.length - a.length)))\r\n }\r\n }\r\n },\r\n stepBy(a) {\r\n if (!this.isNormal) return\r\n let m = this.defaultRuleValue('maxValue')\r\n let n = this.defaultRuleValue('minValue')\r\n let u = this.val()\r\n let v = $.numAdd($.number(u), a * this.x.step)\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n let r = v\r\n m != null && (r = Math.min(m, r))\r\n n != null && (r = Math.max(n, r))\r\n if (p) {\r\n if (p[0] == this) {\r\n let endValue = p[1].val()\r\n if (endValue != null) r = Math.min(endValue, r)\r\n } else if (p[1] == this) {\r\n let beginValue = p[0].val()\r\n if (beginValue != null) r = Math.max(beginValue, r)\r\n }\r\n }\r\n this.warn(false)\r\n this.focus()\r\n this.val(r)\r\n if (r == v) {\r\n if (this.tip_uid) {\r\n $.close(this.tip_uid)\r\n this.tip_uid = null\r\n }\r\n }\r\n this.x.format && this.doFormat()\r\n },\r\n isUsableVal(v) {\r\n return !this.getValidError(null, v)\r\n },\r\n isFocusTarget(el) { // implement\r\n return this.$refs.btns && this.$refs.btns.contains(el)\r\n },\r\n getCompareError(v, r) {\r\n if (v && r && r.target && this.ownerView) {\r\n let m = r.mode || '<='\r\n let t = r.target.isWidget ? r.target : this.ownerView.f(r.target)\r\n let tv = t.formVal()\r\n if (v && tv && $.isNumber(v) && $.isNumber(tv)) {\r\n let d = $.number(v)\r\n let td = $.number(tv)\r\n if(!$.eval('d' + m + 'td', {d, td}))\r\n return [this.getLabelText(), m, t.getLabelText()]\r\n }\r\n }\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n this.x.format && this.doFormat()\r\n },\r\n onfocus(e) {\r\n this.baseFocus(e)\r\n },\r\n onblur(e) {\r\n let v = this.x.modelValue\r\n if (v && !this.isUsableVal(v) && this.x.autoFix) {\r\n let nv = $.numDecimal(v, this.x.decimal)\r\n nv = $.numRange(nv, this.x.minValue, this.x.maxValue)\r\n this.val(nv)\r\n }\r\n this.baseBlur(e)\r\n },\r\n html_button() {\r\n return this.x.showButton && h('div', {\r\n class: 'w-spinner-step w-input-bbr f-flex-column f-oh',\r\n ref: 'btns'\r\n }, [\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-up\"></i>'\r\n }),\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(-1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-down\"></i>'\r\n }),\r\n ])\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minValue: (v, r, q) => {\r\n if (v && r != null && r !== '' && ($.isNumber(r) ? ($.number(v) < $.number(r)) : (v < r)))\r\n return this.formErr(q, [r])\r\n },\r\n maxValue: (v, r, q) => {\r\n if (v && r != null && r !== '' && ($.isNumber(r) ? ($.number(v) > $.number(r)) : (v > r)))\r\n return this.formErr(q, [r])\r\n },\r\n compare: (v, r, q) => {\r\n let e = this.getCompareError(v, r)\r\n if (e) return this.formErr(q, e)\r\n },\r\n validateDefault: (v) => {\r\n this.x.format && (v = v.replace(RegExp(this.x.format.separator || ',', 'g'), ''))\r\n if (v != null) {\r\n if (!$.isNumber(v))\r\n return this.formErr({type: 'number_invalid'})\r\n let d = this.x.decimal\r\n v = '' + v\r\n if (!d && v.includes('.'))\r\n return this.formErr({type: 'number_integer'})\r\n if (d && d > 0 && $.strFrom(v, '.').length > d)\r\n return this.formErr({type: 'number_decimal_digit'}, [d])\r\n let e = this.provideRangeParent && this.provideRangeParent.getRangeError()\r\n if (e) return this.formErr({type: 'compare'}, e)\r\n }\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return {\r\n 'w-valuetype': 'number',\r\n oninput: this.oninput,\r\n onfocus: this.onfocus,\r\n onblur: this.onblur,\r\n }\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-spinner-step-btn {\r\n height: 15px;\r\n overflow: hidden;\r\n cursor: pointer;\r\n }\r\n</style>\n","import script from \"./Spinner.vue?vue&type=script&lang=js\"\nexport * from \"./Spinner.vue?vue&type=script&lang=js\"\n\nimport \"./Spinner.vue?vue&type=style&index=0&id=c558dc86&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import CheckBox from './CheckBox.vue'\r\n\r\n export default {\r\n name: 'w-triplebox',\r\n mixins: [CheckBox],\r\n props: ['all'],\r\n created() {\r\n this.$watch(() => this.x.modelValue, (v, ov) => {\r\n if ((v == null || v == '') && (ov == null || ov == '')) return\r\n this.provideBoxParent && this.provideBoxParent.triple()\r\n if (!this.x.all) this.relate()\r\n })\r\n },\r\n methods: {\r\n getVal() {\r\n let s = this.checkstate()\r\n return s == 1 || (this.x.partialSubmit && s == 2) ? this.value : ''\r\n },\r\n formVal() {\r\n if (this.isDisabled) return ''\r\n let s = this.checkstate()\r\n return s == 1 || (this.x.partialSubmit && s == 2) ? this.$refs.v.value : ''\r\n },\r\n onchange(e) {\r\n this.onbasechange(e)\r\n this.relate()\r\n },\r\n checkstate(a) {\r\n let b = this.indeterminate ? 2 : this.isChecked ? 1 : 0\r\n if (a == null) {\r\n return b\r\n }\r\n this.val(a == 1)\r\n this.indeterminate = a == 2\r\n },\r\n isPartial() {\r\n return this.checkstate() == 2\r\n },\r\n getRelates() {\r\n return this.ownerView.fAll(this.x.name)\r\n },\r\n relate() {\r\n if (this.x.name) {\r\n for (var i = 0, b = this.getRelates(), c = this.isPartial(), l = b.length, n = l, c0 = 0, c1 = 0, c2 = 0,\r\n d; i < l; i++) {\r\n if (!b[i].isNormal) {\r\n n--\r\n continue\r\n }\r\n if (this.x.all) {\r\n if (this != b[i]) {\r\n if (c) {\r\n this.checkstate(b[i].checkstate())\r\n break;\r\n } else {\r\n b[i].checkstate(this.isChecked ? 1 : 0)\r\n }\r\n } else if (l == 1)\r\n d = this\r\n } else if (b[i].x.all) {\r\n d = b[i]\r\n } else {\r\n b[i].isChecked ? (c1++) : b[i].isPartial() ? (c2++) : (c0++)\r\n }\r\n }\r\n if (d && ((c0 + c1 + c2) || l == 1)) {\r\n d.checkstate(c0 == n - 1 ? 0 : c1 == n - 1 ? 1 : 2)\r\n }\r\n }\r\n },\r\n check(a) {\r\n if (!this.isNormal) return\r\n let s = this.checkstate()\r\n if (s != a) {\r\n this.checkstate(a)\r\n this.relate()\r\n }\r\n },\r\n },\r\n computed: {\r\n checkValue() {\r\n return this.x.all ? 'checked' : this.x.value\r\n }\r\n },\r\n mounted() {\r\n //if (!this.x.all && this.isChecked)\r\n }\r\n\r\n }\r\n</script>\n","import script from \"./TripleBox.vue?vue&type=script&lang=js\"\nexport * from \"./TripleBox.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import CheckBox from './CheckBox.vue'\r\n\r\n export default {\r\n name: 'w-radio',\r\n pubParentName: 'w-radiogroup',\r\n mixins: [CheckBox],\r\n methods: {\r\n\r\n },\r\n computed: {\r\n input_type() {\r\n return 'radio'\r\n },\r\n input_icon() {\r\n return 'f-i'\r\n },\r\n input_name() {\r\n return this.w_name && (this.w_name + '@' + this.ownerView.uid)\r\n },\r\n w_name() {\r\n return this.x.name || (this.pubParent && this.pubParent.x.name)\r\n },\r\n input_prop() {\r\n return {'w-name': this.w_name}\r\n }\r\n },\r\n mounted() {\r\n\r\n\r\n }\r\n }\r\n</script>\n","import script from \"./Radio.vue?vue&type=script&lang=js\"\nexport * from \"./Radio.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Html.vue?vue&type=style&index=0&id=612320da&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-text',\r\n mixins: [FormBase],\r\n props: ['minLength', 'maxLength', 'pattern'],\r\n data() {\r\n return {\r\n hasBorder: true\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minLength: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && $.strLen(v) < r)\r\n return this.formErr(q, [r])\r\n },\r\n maxLength: (v, r, q) => {\r\n let d\r\n if (v && r != null && r !== '' && r > 0 && v && (d = $.strLen(v)) > r)\r\n return this.formErr(q, [d - r])\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Text.vue?vue&type=script&lang=js\"\nexport * from \"./Text.vue?vue&type=script&lang=js\"\n\nexport default script","// 实现指令 v-form-ignore=\"true\"\r\n// 不提交不验证当前范围内的表单\r\n\r\nfunction formIgnore(el, bind) {\r\n bind.value ? el.setAttribute('w-form-ignore', '') : el.removeAttribute('w-form-ignore')\r\n}\r\n\r\nexport default {\r\n created: formIgnore,\r\n updated: formIgnore,\r\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Calendar.vue?vue&type=style&index=0&id=7eea1be2&lang=css\"","<template>\r\n <w-dialog class=\"f-dialog-preview\" width=\"calc(100% - 100px)\" height=\"calc(100% - 100px)\" :ownproperty=\"true\" :cover=\"true\" :autoHide=\"true\">\r\n <template v-if=\"data.type=='image'\">\r\n <w-swiper ref=\"swiper\" class=\"f-height\" :current=\"current\" :arrow=\"data.imgs.length > 1\" :indicator-dots=\"data.imgs.length > 1\" duration=\"300\">\r\n <w-swiper-item v-for=\"(item,index) in data.imgs\" :key=\"index\">\r\n <div class=\"f-height f-rel f-oh\">\r\n <img class=\"_img\" :src=\"item\" />\r\n </div>\r\n </w-swiper-item>\r\n </w-swiper>\r\n <div class=_rotate>\r\n <a class=_l @click=\"rot(-1)\">{{loc.rotate_left}}</a>\r\n <span class=_s>|</span>\r\n <a class=_r @click=\"rot(1)\">{{loc.rotate_right}}</a>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <w-video class=\"f-height\" :src=\"data.src\"></w-video>\r\n </template>\r\n <div class=\"_dlg_x\" @click=\"close\"></div>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n return {\r\n rotate: 0,\r\n current: $.lodash.get(this.data, 'options.current', 0),\r\n }\r\n },\r\n methods: {\r\n close() {\r\n $.close(this)\r\n },\r\n rot(a) {\r\n let r = this.rotate\r\n let b = $.bcr(this.$refs.swiper.el())\r\n let w = b.width - 40\r\n let h = b.height - 80\r\n if (a > 0) {\r\n r += 90\r\n } else if (a < 0) {\r\n r -= 90\r\n }\r\n let t = (r / 90) % 2\r\n $.q('.w-swiper-item.z-on ._img', this.$refs.swiper.el()).css({\r\n transform: 'rotate(' + r + 'deg)',\r\n maxWidth: t ? h : w,\r\n maxHeight: t ? w : h,\r\n });\r\n this.rotate = r\r\n }\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n },\r\n mounted() {\r\n \r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplatePreviewMedia.vue?vue&type=template&id=43a1c69b\"\nimport script from \"./TemplatePreviewMedia.vue?vue&type=script&lang=js\"\nexport * from \"./TemplatePreviewMedia.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TemplateJigsaw.vue?vue&type=style&index=0&id=2c16ab31&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-dropbox',\r\n mixins: [FormBase],\r\n provide() {\r\n return {\r\n provideOptionParent: this,\r\n }\r\n },\r\n props: ['multiple', 'cancelable', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n dropper: null,\r\n showDrop: false,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n click() {\r\n if (this.$slots.default) {\r\n this.showDrop = !this.showDrop\r\n this.warn(false)\r\n }\r\n },\r\n clickOption(opt) {\r\n if (this.x.multiple) {\r\n let cv = $.array(this.val(), true)\r\n if (opt.isFocus) $.lodash.pull(cv, opt.value)\r\n else cv.push(opt.value)\r\n this.val(cv)\r\n } else {\r\n let cv = this.x.cancelable && opt.isFocus ? '' : opt.value\r\n this.val(cv)\r\n this.showDrop = false\r\n }\r\n },\r\n formText() {\r\n return this.input_text\r\n },\r\n html_input() {\r\n let t = this.input_text\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-dropbox-text f-line-1',\r\n title: t || p,\r\n }, t || (p && h('div', {class: 'w-input-placeholder'}, p))),\r\n this.showDrop && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n scrollView: '.z-on',\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n onClose: () => this.showDrop = false\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n })\r\n }\r\n },\r\n computed: {\r\n input_text() {\r\n let r = []\r\n let s = this.slots_children()\r\n let m = $.array(this.x.modelValue)\r\n $.lodash.each(m, v => {\r\n let i = s.findIndex(n => n.props.value == v)\r\n if (i > -1) r.push(i)\r\n if (!this.x.multiple) return false\r\n })\r\n return r.sort().map(v => s[v].props.text).join(', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.click\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./DropBox.vue?vue&type=script&lang=js\"\nexport * from \"./DropBox.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-table',\r\n mixins: [WidgetBase],\r\n props: ['face', 'scroll-x', 'scroll-y'],\r\n provide() {\r\n return {\r\n table: this,\r\n provideLevel: -1,\r\n provideParentTR: null,\r\n }\r\n },\r\n data() {\r\n return {\r\n sticky: {left: null, right: null},\r\n }\r\n },\r\n mounted() {\r\n const observe = (e) => this.initFixedCells('left').concat(this.initFixedCells('right'))\r\n $.lodash.each(observe(), v => new ResizeObserver(observe).observe(v))\r\n this.$el.setAttribute('w-scroll-x', 'left')\r\n if ($.br.chrome && $.br.chrome <= 60) { //低版本谷歌表格宽度有变化时,sticky的td内容会不可见。因此执行一个强制重新渲染的步骤\r\n new ResizeObserver(() => {\r\n this.$el.setAttribute('w-compact-resize-sticky', '')\r\n requestAnimationFrame(() => this.$el.removeAttribute('w-compact-resize-sticky'))\r\n }).observe(this.$el)\r\n }\r\n },\r\n methods: {\r\n initFixedCells(dir) {\r\n let sticky = null\r\n let offset = 0\r\n let fixedCells = $.lodash.map(this.$el.querySelector(`thead`).querySelectorAll(`td[w-fixed=\"${dir}\"]`))\r\n if (dir === 'right') fixedCells.reverse()\r\n fixedCells.forEach(td => {\r\n (sticky || (sticky = [])).push({colIndex: td.cellIndex, offset})\r\n offset += td.offsetWidth\r\n })\r\n this.sticky[dir] = sticky\r\n return fixedCells\r\n },\r\n html_slots() {\r\n return [\r\n this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens || [],\r\n ]\r\n },\r\n },\r\n computed: {\r\n slotHooks() {\r\n const a = {}\r\n this.slots_children().forEach(o => {\r\n let n = o.type.name && o.type.name.slice(2)\r\n if (n) {\r\n if (n === 'hidden') {\r\n (a.hiddens || (a.hiddens = [])).push(o)\r\n } else\r\n a[n] = o\r\n }\r\n })\r\n return a\r\n },\r\n colgroup() {\r\n return $.slotsChildren(this.slotHooks.columns.children).map(v => v.props)\r\n },\r\n html_class() {\r\n return ['f-flex-column', this.x.face && 'z-face-' + this.x.face]\r\n },\r\n html_style() {\r\n let r = {}\r\n if (this.sticky.left) {\r\n this.sticky.left.forEach(v => r[`--w-td-fixed-left-${v.colIndex}`] = `${v.offset}px`)\r\n }\r\n if (this.sticky.right) {\r\n this.sticky.right.forEach(v => r[`--w-td-fixed-right-${v.colIndex}`] = `${v.offset}px`)\r\n }\r\n return r\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-table {\r\n position: relative;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n }\r\n\r\n .w-table-tbl {\r\n table-layout: fixed;\r\n width: 100%;\r\n border-collapse: separate;\r\n }\r\n\r\n .w-thead {\r\n overflow: hidden;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-tr {\r\n height: 40px;\r\n }\r\n\r\n .w-td,\r\n .w-th {\r\n background: #fff;\r\n }\r\n\r\n .w-thead .w-td,\r\n .w-th {\r\n background: var(--w-thead-background-color);\r\n }\r\n\r\n .w-tbody .w-td {\r\n border-bottom: 1px solid var(--w-td-border-color);\r\n }\r\n\r\n .w-tr.z-on .w-td {\r\n background: var(--w--focus-light-color);\r\n }\r\n\r\n .w-th {\r\n font-weight: normal;\r\n }\r\n\r\n .w-th.z-sortable {\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort {\r\n height: 28px;\r\n line-height: 1;\r\n color: #aaa;\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort-up:before {\r\n position: relative;\r\n top: 1px;\r\n }\r\n\r\n .w-th-sort-down:before {\r\n position: relative;\r\n top: -4px;\r\n }\r\n\r\n .w-th.z-asc .w-th-sort-up {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-th.z-desc .w-th-sort-down {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-td {\r\n padding: 5px;\r\n }\r\n\r\n .w-td.z-align-left {\r\n text-align: left;\r\n }\r\n\r\n .w-td.z-align-center {\r\n text-align: center;\r\n }\r\n\r\n .w-td.z-align-right {\r\n text-align: right;\r\n }\r\n\r\n .w-td.z-valign-top {\r\n vertical-align: top;\r\n }\r\n\r\n .w-td.z-valign-middle {\r\n vertical-align: middle;\r\n }\r\n\r\n .w-td.z-valign-bottom {\r\n vertical-align: bottom;\r\n }\r\n\r\n .w-td>.w-triplebox>.w-input,\r\n .w-td>.w-radio>.w-input {\r\n min-height: auto;\r\n }\r\n\r\n .w-table.z-face-cell {\r\n border: 1px solid var(--w-table-border-color);\r\n }\r\n\r\n .w-table.z-face-cell .w-td {\r\n border: 0 solid var(--w-td-border-color, var(--w-table-border-color));\r\n border-right-width: 1px;\r\n border-bottom-width: 1px;\r\n }\r\n\r\n .w-table.z-face-cell .w-td-lastborder {\r\n border-right: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tbody {\r\n margin-bottom: -1px;\r\n }\r\n\r\n .w-td-fixed-left,\r\n .w-td-fixed-right {\r\n position: sticky;\r\n z-index: 1;\r\n }\r\n\r\n .w-td-fixed-left-last:after {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: -1px;\r\n width: 30px;\r\n transform: translateX(100%);\r\n content: '';\r\n pointer-events: none;\r\n }\r\n \r\n .w-td-fixed-right-first:after {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: -1px;\r\n width: 30px;\r\n transform: translateX(-100%);\r\n content: '';\r\n pointer-events: none;\r\n }\r\n \r\n .w-table[w-scroll-show-x][w-scroll-x=center] .w-td-fixed-left-last:after,\r\n .w-table[w-scroll-show-x][w-scroll-x=right] .w-td-fixed-left-last:after {\r\n box-shadow: inset 10px 0 8px -8px #ddd;\r\n }\r\n \r\n .w-table[w-scroll-show-x][w-scroll-x=left] .w-td-fixed-right-first:after,\r\n .w-table[w-scroll-show-x][w-scroll-x=center] .w-td-fixed-right-first:after {\r\n box-shadow: inset -10px 0 8px -8px #ddd;\r\n }\r\n \r\n .w-table[w-compact-resize-sticky] .w-td-fixed-left,\r\n .w-table[w-compact-resize-sticky] .w-td-fixed-right {\r\n position: static;\r\n }\r\n \r\n</style>\n","import script from \"./Table.vue?vue&type=script&lang=js\"\nexport * from \"./Table.vue?vue&type=script&lang=js\"\n\nimport \"./Table.vue?vue&type=style&index=0&id=fafed58e&lang=css\"\n\nexport default script"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://dfish/webpack/universalModuleDefinition","webpack://dfish/webpack/bootstrap","webpack://dfish/./src/widgets/AlignParent.vue","webpack://dfish/./src/widgets/AlignParent.vue?f746","webpack://dfish/./src/widgets/Leaf.vue?d317","webpack://dfish/./src/widgets/Video.vue?99e5","webpack://dfish/./src/widgets/Jigsaw.vue?cafd","webpack://dfish/./src/template/TemplateAlert.vue","webpack://dfish/./src/template/TemplateAlert.vue?b656","webpack://dfish/./src/widgets/Option.vue?0834","webpack://dfish/./src/widgets/Switch.vue?b0ad","webpack://dfish/./src/widgets/Menu.vue","webpack://dfish/./src/widgets/Menu.vue?61b6","webpack://dfish/./src/widgets/TabButton.vue","webpack://dfish/./src/widgets/TabButton.vue?e0b1","webpack://dfish/./src/widgets/PageBar.vue","webpack://dfish/./src/widgets/PageBar.vue?15df","webpack://dfish/./src/widgets/Hidden.vue","webpack://dfish/./src/widgets/Hidden.vue?f5d8","webpack://dfish/./src/widgets/FormBase.vue","webpack://dfish/./src/widgets/FormBase.vue?9859","webpack://dfish/./src/widgets/MenuButton.vue?7ceb","webpack://dfish/./src/widgets/LinkBox.vue","webpack://dfish/./src/widgets/LinkBox.vue?8d22","webpack://dfish/./src/widgets/MediaUploadItem.vue?b462","webpack://dfish/./src/widgets/ViewAbs.vue?fd43","webpack://dfish/./src/widgets/Dialog.vue?4ef0","webpack://dfish/./src/widgets/Option.vue","webpack://dfish/./src/widgets/Option.vue?2ad8","webpack://dfish/./src/widgets/TabButton.vue?b2df","webpack://dfish/./src/util/str.js","webpack://dfish/./src/widgets/View.vue","webpack://dfish/./src/widgets/View.vue?86cf","webpack://dfish/./src/util/number.js","webpack://dfish/./src/widgets/MenuButton.vue","webpack://dfish/./src/widgets/MenuButton.vue?9b54","webpack://dfish/./src/widgets/ComboBox.vue","webpack://dfish/./src/widgets/ComboBox.vue?2036","webpack://dfish/./src/widgets/ButtonBar.vue","webpack://dfish/./src/widgets/ButtonBar.vue?b9d7","webpack://dfish/./src/util/json.js","webpack://dfish/./src/widgets/Toggle.vue?a46f","webpack://dfish/./src/widgets/ViewAbs.vue","webpack://dfish/./src/widgets/ViewAbs.vue?7b03","webpack://dfish/./src/widgets/FileUpload.vue","webpack://dfish/./src/widgets/FileUpload.vue?e312","webpack://dfish/./src/widgets/ImageUpload.vue","webpack://dfish/./src/widgets/ImageUpload.vue?f89f","webpack://dfish/./src/widgets/DocView.vue","webpack://dfish/./src/widgets/DocView.vue?ba0c","webpack://dfish/./src/widgets/TableTBody.vue","webpack://dfish/./src/widgets/TableTBody.vue?abdf","webpack://dfish/./src/util/snap.js","webpack://dfish/./src/util/uid.js","webpack://dfish/./src/widgets/Button.vue","webpack://dfish/./src/widgets/Button.vue?fbcc","webpack://dfish/./src/widgets/FileUpload.vue?88fc","webpack://dfish/./src/widgets/TableColumns.vue","webpack://dfish/./src/widgets/TableColumns.vue?3525","webpack://dfish/./src/widgets/Swiper.vue?65da","webpack://dfish/./src/widgets/CheckBox.vue","webpack://dfish/./src/widgets/CheckBox.vue?54ae","webpack://dfish/./src/widgets/Tip.vue?e935","webpack://dfish/./src/widgets/DialogMove.vue?15d2","webpack://dfish/./src/widgets/Timeline.vue?0f85","webpack://dfish/./src/template/TemplateDateSheet.vue?280e","webpack://dfish/./src/widgets/FormBase.vue?b2b9","webpack://dfish/./src/widgets/SrcParent.vue","webpack://dfish/./src/widgets/SrcParent.vue?93a3","webpack://dfish/./src/template/TemplateLoading.vue","webpack://dfish/./src/template/TemplateLoading.vue?982e","webpack://dfish/./src/widgets/Label.vue","webpack://dfish/./src/widgets/Label.vue?969b","webpack://dfish/./src/assets/SVGIcon.vue","webpack://dfish/./src/assets/SVGIcon.vue?69f7","webpack://dfish/./src/widgets/SubmitButton.vue","webpack://dfish/./src/widgets/SubmitButton.vue?3fa5","webpack://dfish/./src/widgets/SlidePicker.vue?ed76","webpack://dfish/./src/widgets/Timeline.vue","webpack://dfish/./src/widgets/Timeline.vue?6722","webpack://dfish/./src/widgets/Rate.vue?1ae5","webpack://dfish/./src/widgets/Split.vue?d855","webpack://dfish/./src/widgets/Grid.vue?ff6f","webpack://dfish/./src/widgets/Spinner.vue?134c","webpack://dfish/./src/widgets/Tree.vue","webpack://dfish/./src/widgets/Tree.vue?42d7","webpack://dfish/./src/widgets/Password.vue","webpack://dfish/./src/widgets/Password.vue?6cda","webpack://dfish/./src/widgets/Html.vue","webpack://dfish/./src/widgets/Html.vue?092f","webpack://dfish/./src/widgets/TimelineItem.vue","webpack://dfish/./src/widgets/TimelineItem.vue?4eaa","webpack://dfish/./src/widgets/TableTH.vue","webpack://dfish/./src/widgets/TableTH.vue?1b2e","webpack://dfish/./src/widgets/DialogMove.vue","webpack://dfish/./src/widgets/DialogMove.vue?5066","webpack://dfish/./src/widgets/Form.vue","webpack://dfish/./src/widgets/Form.vue?b8f9","webpack://dfish/./src/util/range.js","webpack://dfish/./src/widgets/PickBox.vue","webpack://dfish/./src/widgets/PickBox.vue?62f5","webpack://dfish/./src/template/TemplateTip.vue","webpack://dfish/./src/template/TemplateTip.vue?9a7a","webpack://dfish/./src/directive/dialog-move.js","webpack://dfish/./src/widgets/PubParent.vue","webpack://dfish/./src/widgets/PubParent.vue?cedb","webpack://dfish/./src/widgets/TableTD.vue","webpack://dfish/./src/widgets/TableTD.vue?b65e","webpack://dfish/./src/directive/index.js","webpack://dfish/./src/util/loc/zh-CN.js","webpack://dfish/./src/widgets/Horizontal.vue","webpack://dfish/./src/widgets/Horizontal.vue?3f14","webpack://dfish/./src/util/date.js","webpack://dfish/./src lazy ^\\.\\/.*$ namespace object","webpack://dfish/./src/widgets/Tip.vue","webpack://dfish/./src/widgets/Tip.vue?9916","webpack://dfish/./src/widgets/Scroll.vue?11ca","webpack://dfish/./src/widgets/DatePicker.vue","webpack://dfish/./src/widgets/DatePicker.vue?304a","webpack://dfish/./src/widgets/Textarea.vue","webpack://dfish/./src/widgets/Textarea.vue?e32b","webpack://dfish/./src/widgets/Scroll.vue","webpack://dfish/./src/widgets/Scroll.vue?2cbe","webpack://dfish/./src/widgets/LinkBox.vue?1856","webpack://dfish/./src/widgets/Range.vue?f220","webpack://dfish/./src/util/mime.js","webpack://dfish/./src/widgets/Loading.vue?b3a7","webpack://dfish/./src/widgets/Video.vue","webpack://dfish/./src/widgets/Video.vue?eba0","webpack://dfish/./src/widgets/Split.vue","webpack://dfish/./src/widgets/Split.vue?04cd","webpack://dfish/./src/widgets/Rate.vue","webpack://dfish/./src/widgets/Rate.vue?d642","webpack://dfish/./src/widgets/Pop.vue","webpack://dfish/./src/widgets/Pop.vue?0f20","webpack://dfish/./src/widgets/TableColumn.vue","webpack://dfish/./src/widgets/TableColumn.vue?2711","webpack://dfish/./src/util/css.js","webpack://dfish/./src/widgets/Swiper.vue","webpack://dfish/./src/widgets/Swiper.vue?78b8","webpack://dfish/./src/widgets/Table.vue?fb08","webpack://dfish/./src/widgets/Progress.vue?98e9","webpack://dfish/./src/assets/SVGIcon.vue?6823","webpack://dfish/./src/widgets/TableTHead.vue","webpack://dfish/./src/widgets/TableTHead.vue?ceef","webpack://dfish/./src/widgets/Range.vue","webpack://dfish/./src/widgets/Range.vue?477c","webpack://dfish/./src/util/browser.js","webpack://dfish/./src/widgets/Alert.vue","webpack://dfish/./src/widgets/Alert.vue?3137","webpack://dfish/./src/widgets/Menu.vue?63f3","webpack://dfish/./src/util/event.js","webpack://dfish/./src/widgets/Confirm.vue","webpack://dfish/./src/widgets/Confirm.vue?d56c","webpack://dfish/./src/widgets/Tabs.vue","webpack://dfish/./src/widgets/Tabs.vue?6c52","webpack://dfish/./src/widgets/Album.vue","webpack://dfish/./src/widgets/Album.vue?74b6","webpack://dfish/./src/widgets/Img.vue?4aaa","webpack://dfish/./src/template/TemplateJigsaw.vue","webpack://dfish/./src/template/TemplateJigsaw.vue?4b4b","webpack://dfish/./src/widgets/MediaUploadItem.vue","webpack://dfish/./src/widgets/MediaUploadItem.vue?907a","webpack://dfish/./src/widgets/index.js","webpack://dfish/./src/widgets/SlidePicker.vue","webpack://dfish/./src/widgets/SlidePicker.vue?f95b","webpack://dfish/./src/widgets/MediaUpload.vue?0142","webpack://dfish/./src/widgets/Leaf.vue","webpack://dfish/./src/widgets/Leaf.vue?6aec","webpack://dfish/./src/widgets/Calendar.vue","webpack://dfish/./src/widgets/Calendar.vue?083c","webpack://dfish/./src/widgets/Tab.vue","webpack://dfish/./src/widgets/Tab.vue?a801","webpack://dfish/./src/widgets/Dialog.vue","webpack://dfish/./src/widgets/Dialog.vue?3792","webpack://dfish/./src/widgets/Toggle.vue","webpack://dfish/./src/widgets/Toggle.vue?3b65","webpack://dfish/./src/template/TemplateConfirm.vue","webpack://dfish/./src/template/TemplateConfirm.vue?3095","webpack://dfish/./src/template/TemplateDateSheet.vue","webpack://dfish/./src/template/TemplateDateSheet.vue?c94f","webpack://dfish/./src/widgets/WidgetAbs.vue","webpack://dfish/./src/widgets/WidgetAbs.vue?ba8a","webpack://dfish/./src/widgets/TableTR.vue","webpack://dfish/./src/widgets/TableTR.vue?ee1d","webpack://dfish/./src/widgets/PageBar.vue?868d","webpack://dfish/./src/dfish.js","webpack://dfish/./src/widgets/ComboBox.vue?4b31","webpack://dfish/./src/widgets/Jigsaw.vue","webpack://dfish/./src/widgets/Jigsaw.vue?9364","webpack://dfish/./src/widgets/RadioGroup.vue","webpack://dfish/./src/widgets/RadioGroup.vue?e09b","webpack://dfish/./src/widgets/Vertical.vue","webpack://dfish/./src/widgets/Vertical.vue?590a","webpack://dfish/./src/widgets/PickBox.vue?d830","webpack://dfish/./src/util/elem.js","webpack://dfish/./src/widgets/SwiperItem.vue","webpack://dfish/./src/widgets/SwiperItem.vue?dfa1","webpack://dfish/./src/widgets/WidgetBase.vue","webpack://dfish/./src/widgets/WidgetBase.vue?b91b","webpack://dfish/./src/widgets/Progress.vue","webpack://dfish/./src/widgets/Progress.vue?8139","webpack://dfish/./src/widgets/Switch.vue","webpack://dfish/./src/widgets/Switch.vue?e783","webpack://dfish/./src/widgets/Tree.vue?5f4e","webpack://dfish/./src/widgets/Img.vue","webpack://dfish/./src/widgets/Img.vue?496d","webpack://dfish/./src/widgets/Grid.vue","webpack://dfish/./src/widgets/Grid.vue?3b0e","webpack://dfish/./src/widgets/MediaUpload.vue","webpack://dfish/./src/widgets/MediaUpload.vue?2ed7","webpack://dfish/./src/widgets/Loading.vue","webpack://dfish/./src/widgets/Loading.vue?ce77","webpack://dfish/./src/widgets/CheckBoxGroup.vue","webpack://dfish/./src/widgets/CheckBoxGroup.vue?6c17","webpack://dfish/./src/widgets/Spinner.vue","webpack://dfish/./src/widgets/Spinner.vue?fa77","webpack://dfish/./src/widgets/TripleBox.vue","webpack://dfish/./src/widgets/TripleBox.vue?8717","webpack://dfish/./src/widgets/Radio.vue","webpack://dfish/./src/widgets/Radio.vue?f1bf","webpack://dfish/./src/widgets/Html.vue?e48a","webpack://dfish/./src/widgets/Text.vue","webpack://dfish/./src/widgets/Text.vue?367a","webpack://dfish/./src/directive/form-ignore.js","webpack://dfish/./src/widgets/Calendar.vue?b8a7","webpack://dfish/./src/widgets/Tabs.vue?b517","webpack://dfish/./src/template/TemplatePreviewMedia.vue","webpack://dfish/./src/template/TemplatePreviewMedia.vue?3261","webpack://dfish/./src/template/TemplateJigsaw.vue?165a","webpack://dfish/./src/widgets/DropBox.vue","webpack://dfish/./src/widgets/DropBox.vue?9370","webpack://dfish/./src/widgets/Table.vue","webpack://dfish/./src/widgets/Table.vue?8309"],"names":["root","factory","exports","module","define","amd","window","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","oldJsonpFunction","slice","props","computed","dir","html_align_class","this","x","align","vertical","valign","class","w-width","title","close","typeIcon","text","showButton","dfish","br","compat","gap","face","save","ownproperty","icons","info","warning","success","question","defaultIconType","methods","dialog","cueYes","icon","render","inst","mixins","Dialog","x_default","autoHide","independent","hasBubble","a","b","contains","parentMenu","rootCommander","arrow","$refs","bbr","el","bcr","scrollTop","height","mousewheel","wheelDelta","getRoot","getCommander","$options","html_buttons","slots_children","map","MenuButton","children","html_slots","maxHeight","onclick","Vertical","ref","onwheel","default","html_class","animateClass","snapClass","dropClass","isDeactivated","fullScreen","commander","mounted","context","Button","ButtonBar","emits","isJumpFocus","showDrop","limit","size","offset","buttonCount","inCurrent","currentPage","clickItem","runType","trigger","clickDrop","onJumpClick","v","Math","max","number","jumpInput","html_button","ic","ds","disabled","html_face_button","html_face_simple","html_face_normal","loc","page_text","prev","sumPage","next","html_drop","sp","onClick","Menu","snap","drop","position","indent","onClose","concat","cp","f","ceil","min","noFirstLast","labelFirst","iconFirst","labelPrev","iconPrev","labelNext","iconNext","labelLast","iconLast","jump","to","onfocus","onblur","onkeydown","keyCode","page","html_face_mini","first","last","FormBase","isModified","html","id","uid","modelValue","WidgetBase","AlignParent","mv","isFormWidget","isFocus","hasBorder","isPlural","warnClass","labelVertical","modifiedValue","defaultValue","placeholder_type","val","arguments","ov","changed","JSON","stringify","warn","isUsableVal","$emit","formVal","input_value","defaultRuleValue","rules","Array","isArray","valid","getValidError","showErrorTip","ques","validTriggers","validQueues","isNormal","isReadonly","readonlyValidate","groupFormVal","join","trim","hs","validHooks","q","rv","rule","formErr","que","arg","label","getLabelText","ps","form","wid","w","_tip","scrollIntoView","ease","exec","errorTipTarget","focus","formText","pubParent","oninput","baseFocus","baseBlur","isFocusTarget","relatedTarget","$","isUnmounted","time","Date","getTime","snapElem","isWidget","original","dv","saveModified","lodash","clone","reset","empty","html_label","$slots","Label","html_input","input_tag","input_type","input_name","readonly","isDisabled","placeholder","input_placeholder","autocomplete","input_prop","html_input_hidden","html_form","slot","html_main","fh","inputHeight","unitSize","style","input_title","main_prop","pubValidHooks","required","pattern","eval","test","validateHandler","k","includes","forEach","item","keys","autoPlaceholder","html_on","html_props","fw","inputWidth","created","$watch","initOptions","sugger","showSuggest","sug_timer","_KC","imeMode","paste_rng","currOpt","store","strict","array","addStore","inp","innerHTML","html_options","addVal","multiple","unionBy","complete","u","rngElement","separator","tagName","nextSibling","after","querySelector","append","rng_text","classAdd","forbid","rngCursor","eq","addBack","remove","closeDrop","suggest","input","innerText","replace","createEvent","fixStyle","g","parentElement","firstChild","nodeType","extractContents","createTextNode","insertNode","previousSibling","nodeValue","indexOf","replaceWith","rngCursorOffset","split","strTrim","param","classAny","classRemove","removeAttribute","rngSelection","selectNodeContents","clickPicker","stopPropagation","picker","cmd","clickDropper","dropper","filter","find","each","preventDefault","onkeyup","ondblclick","getSelection","removeAllRanges","html_var","contentEditable","width","dropWidth","scrollY","validateDefault","getOn","addEventListener","provideOptionParent","isMul","click","inject","clickOption","idsAny","String","string","strQuot","strFrom","lastIndexOf","substr","strTo","strLen","cnBytes","charCodeAt","strPad","strFormat","$0","$1","encodeURIComponent","strEscape","strHighlight","RegExp","strSplitword","$2","$3","_s_regexp","ViewAbs","html_self","html_pops","html_scroll_class","parseFloat","isNaN","isNumber","numRange","numAdd","args","pow","round","numFormat","charAt","numDecimal","parseInt","closeSub","subMenu","isMore","onmouseenter","currentTarget","classList","add","clickClose","font","startsWith","closable","Img","dropIcon","provideView","isView","ownerView","isCurrent","onmouseleave","sensor_text","sensor_width","clear","$nextTick","selectionStart","selectionEnd","dispatchEvent","Event","findIndex","sensor","offsetWidth","observe","Horizontal","PubParent","html_scroll_slots","jsonArray","jsonChain","SrcParent","provide","pops","beforeCreate","popCommanders","reload","querySelectorAll","fv","fAll","getFormList","dom","not","getPostData","range","checked","indeterminate","selectedIndex","_err_ns","vueMap","resetForm","showLoading","cover","local","hide","cmdDialog","orientUid","removeDialog","hidden","getDialogOptions","Pop","suffixHooks","xls","doc","ppt","htm","zip","fla","fon","iso","vid","aud","img","suffix","url","toLowerCase","unit","toUpperCase","fileTypeHooks","video","audio","image","list","emiting","immediate","getFileTypes","fileTypes","getAccept","mime","isImage","file","isVideo","isAudio","fileSelected","uploadLimit","files","alert","upload_limit","xfs_names","nfs_names","ft_names","xfs","maxFileSize","nfs","minFileSize","ft","sfx","upload_maxfilesize","upload_minfilesize","upload_invalid_file_type","nextUpload","upload","uploadSrc","loading","urlFormat","fd","FormData","source","http","CancelToken","post","onUploadProgress","progress","floor","loaded","total","cancelToken","token","res","upload_invalid_data","upload_no_data","catch","response","status","downloadSrc","download","urlServer","cancel","chooseFile","html_list","itemWidth","upload_error","html_input_form","accept","onchange","html_input_button","button","html_input_list","no_files","canUpload","uploadbbr","html_style","MediaUpload","thumbnailWidth","thumbnailHeight","WidgetAbs","providePubParent","provideBoxParent","provideRangeParent","docView","getElementById","getKey","previewVideo","template","TemplatePreviewMedia","previewImage","imgs","options","dateSheet","dateOptions","dialogOptions","TemplateDateSheet","SVGIcon","debug","Scroll","thead","provideInBody","table","scrollX","fixed","onScroll","hd","slotHooks","scrollLeft","onScrollPosition","onScrollAttributeChange","attributeName","hasAttribute","html_tbody","inBody","T","N","cvs","documentElement","_arr_comma","_snaptype","h","top","bottom","left","right","tl","tr","rt","rb","bl","lb","lt","_snapMag","pix","mag","inner","canvasOffset","clientWidth","clientHeight","offsetHeight","offsetTop","offsetLeft","offsetParent","clientLeft","clientTop","getBoundingClientRect","originalEvent","clientX","clientY","ew","eh","ot","or","ob","ol","y","pix_r","pix_b","mag_r","mag_b","mag_l","mag_t","snapTo","css","_uidCnt","_uidKey","_guid","toString","pubParentName","mouses","dropHover","onmousedown","onmouseup","watch","removeClass","ajaxLock","clickTab","html_icon","focusIcon","isCombo","minWidth","dropPosition","modifiedChecked","defaultChecked","boxProxy","isChecked","getVal","setVal","checkValue","rdo","idsAdd","idsRemove","siblings","sb","check","relate","onbasechange","input_icon","html_target","minSize","maxSize","partialSubmit","$el","getSrc","$props","fn","ex","$parent","focusable","aria-hidden","viewBox","transform","cx","cy","opacity","values","begin","dur","repeatCount","p-id","len","wrap","vt","prevWidth","nextWidth","prevBcr","nextBcr","marginTop","marginLeft","prevItems","firstBcr","lastBcr","wrapBcr","line","prevSlots","nextSlots","set","provideLevel","provideParentLeaf","provideParentTR","getCurrent","leaf","viewCurrent","expandToView","chd","level","index","sortType","sortOrder","sortable","clickSort","order","sortUID","orders","sortOrders","col","colgroup","vnode","dfishColIndex","td_props","movable","sl","sr","st","moveup","appendTo","body","setPosition","moved","nextElementSibling","unmounted","removeEventListener","Range","movePoint","__defineGetter__","__defineSetter__","deleteContents","startContainer","setStart","setEnd","select","addRange","rangeCount","getRangeAt","createRange","collapseToEnd","startOffset","createTextRange","setEndPoint","rngText","DropBox","clickClear","input_text","current","isCurrentChild","ci","colspan","rowspan","Vue","directive","formIgnore","dialogMove","yes","no","none","confirm","search","query","choose","edit","finish","refresh","operfail","opertip","nodata","more","field","restore","rotate_left","rotate_right","dialog_max","dialog_min","detect_zoom","no_tip_anymore","wait","submiting","uploading","click_preview","toomuch_wait","toomuch_wait_countdown","preview_orginal_image","auth_success","auth_fail","choose_image","tree_movefail1","tree_movefail2","internet_error","server_error","preload_error","print_preview","placeholder_input","placeholder_select","pulldown_refresh","release_refresh","pullup_refresh","pullup_nomore","download_start","download_complete","download_cannotopen","download_fail","tab_close","tab_close_others","tab_close_all","sort_asc","sort_desc","sort_cancel","column_choose","connection_not_wifi","sorry","view_more","no_command","no_combo","error_template_type","error_type","tmpl_method_undefined","onlyone","maxLength","reach_maxLength","over_maxLength","minLength","maxValue","minValue","password_weak","password_middle","password_strong","number_invalid","number_integer","number_decimal_digit","step_max_value","step_min_value","time_exceed","time_format","period_invalid","beforeNow","afterNow","compare","invalid_option","need_valid_option","choose_atleastone","complete_required","jigsaw_drag_right","jigsaw_required","jigsaw_errorimg","upload_loading","upload_invalid_file","year","month","day","sky","hour","minute","second","calendar","now","today","weeknow","monthnow","yearnow","day_title","day_title_1","monthname","backdate","picktime","H","from_to","end","provideLayout","html_scroll_cont_style","_date_D","_date_sf","dateFormat","dateParse","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","dateWeek","M","dateAdd","setFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","weekPoint","weekStart","getDay","dateWeekFirst","dateWeekLast","dateValid","dateDiff","_dateDiff","z","webpackAsyncContext","req","ids","tipCache","prong","defaultSnapTargetElem","defaultSnapPosition","Text","currentDate","focusValue","format","autoFix","enableHour","arrayNumber","em","enableMinute","es","enableSecond","onclose","doAutoFix","re","mobile","getPeriod","calendarCallback","forms","getCompareError","tv","td","timeCols","onlyTime","Calendar","pad","defaultHour","defaultMinute","defaultSecond","getRangeError","wScrollPercentX","scrollXPosition","wScrollSizeX","wScrollBarThumbX","wScrollPercentY","scrollYPosition","wScrollSizeY","wScrollBarThumbY","dnEv","dnX","dnY","scrLeft","scrTop","wScrollOverflow","mvEv","upEv","scrollTo","ovf","wScrollCont","scrollToY","scrollToX","onscroll","initScroll","scrollState","flow","cont","percent","state","thbX","thbY","scroll_observe","sx","sy","scrollFlex","scrollView","MutationObserver","attributes","deactivated","activated","mimes","playing","getMimeType","filePath","fileName","mimeType","poster","onplay","onpause","controls","vd","paused","play","pause","expanded","toggle","exp","minorElem","toNext","previousElementSibling","toggleClass","dragstart","prevElem","nextElem","pos","help","vert","inVertical","downX","eventX","downY","eventY","posName","sizeName","clientName","downPos","minPos","maxPos","movRect","pick","expandedIcon","collapsedIcon","hoverWrap","hoverIndex","sum","count","hoverItem","cancelable","html_star","onMouseenter","half","allowHalf","step","stars","onMouseleave","templateHooks","Alert","TemplateAlert","Confirm","TemplateConfirm","Tip","TemplateTip","Loading","TemplateLoading","com","omit","templateDir","endsWith","errorComponent","loader","_css_camelize","_set_style","getComputedStyle","_number","focusIndex","setFocus","clickArrow","clickIndicator","indicatorDots","duration","childList","provideLeafLevel","rows","isExpanded","cg","vr","vi","mw","cellpadding","cellspacing","isEscape","escape","navigator","userAgent","chrome","match","firefox","agent","safari","ie","appName","documentMode","app","location","protocol","wechat","version","android","isBadAndroid","appVersion","iphone","ios","ipad","addEvent","cue","cueNo","isCmd","_EventUser","_event_remove","pull","_event_name","_event_space","sort","_event_handlers","EventListener","ctx","one","ori","removeEvent","targetTouches","moveCB","upCB","downEv","moveHdl","upHdl","evX","evY","prevent","userSelect","abs","passive","html_prop_class","tab","buttons","pages","TabButton","SwiperItem","lazy","Swiper","bigSrc","smallSrc","smallWidth","smallLeft","mousedown","handler","big","small","canPlay","data-url","dataURL","img-width","img-height","tip","showFileName","provideUpload","createImageThumbnail","FileReader","readAsDataURL","createVideoThumbnail","getContext","videoWidth","videoHeight","drawImage","toDataURL","URL","createObjectURL","muted","setProgress","beginPath","translate","moveTo","arc","PI","closePath","fillStyle","fill","strokeStyle","stroke","thumbnail","thumbnailSrc","WIDGET","DocView","View","DialogMove","Grid","Table","TableColumns","TableColumn","TableTBody","TableTHead","TableTR","TableTD","TableTH","Tabs","Tab","Album","SubmitButton","Html","Tree","Leaf","PageBar","Split","Toggle","Video","Progress","Timeline","TimelineItem","SlidePicker","Hidden","Textarea","CheckBoxGroup","CheckBox","RadioGroup","Radio","TripleBox","Switch","FileUpload","ImageUpload","Option","Spinner","DatePicker","PickBox","Password","ComboBox","LinkBox","Jigsaw","Form","Rate","install","component","use","html_binds","setup","startY","endY","minY","maxY","optY","optH","self","moveY","lastY","lastTime","speed","lastSpeed","transition","nowY","nowTime","timeStamp","minSpeed","yuH","update","sc","nv","xv","bcrRoot","bcrOpt","ni","xi","asc","optionHeight","keepIndex","getIndex","transEnd","ret","ontouchstart","emit","hover","getInitLoaded","hasChild","childrenList","setExpanded","isFolder","boxSync","triple","checkstate","tripleAll","ico","html_attrs","$attrs","box","html_cont","tree","display","prop","clickStep","clickPopYear","headYear","headPopYear","popYear","auto-hide","clickPopYearStep","mousewheelPopYear","dt","clickPopYearItem","clickPopMonth","headMonth","headPopMonth","popMonth","clickPopMonthItem","bodyList","$event","hasTime","focusHour","scroll-y","scroll-view","bodyListHour","isHourDisabled","clickHour","focusMinute","bodyListMinute","isMinuteDisabled","clickMinute","focusSecond","bodyListSecond","isSecondDisabled","clickSecond","clickNow","clickConfirm","value2date","ny","oy","formatter","bd","ed","setDefaultTime","weekday","dh","dm","fixDate","beginDate","endDate","from","date","callback","focusDate","fm","minHour","maxHour","minMinute","maxMinute","minSecond","maxSecond","bodyListYear","bodyListMonth","bodyListWeek","bodyListDate","cell","O","F","_dialogSnapHooks","_dialogSnap","axis","isDialog","keepHover","hoverTimer","hoverMove","closed","animating","_pos","snapStyle","feat","getOptions","_dft_pos","getLocalElem","snapTargetElem","snapCls","layTop","layBottom","_fitpos","lp","lc","closeRelease","listenHide","setListenHide","hoverOver","evs","plus","hvOver","hvMove","setMaxHeight","extend","addClass","nextUntil","clickCancel","clickOK","hasYear","focusYear","min-value","minYear","max-value","maxYear","keep-index","yearList","hasMonth","focusMonth","minMonth","maxMonth","monthList","hasDate","minDate","maxDate","dateList","hasHour","hourList","hasMinute","minuteList","hasSecond","secondList","hasWeek","focusWeek","minWeek","maxWeek","weekList","nd","xd","weekFirst","weekLast","startYear","endYear","monthDays","minTime","maxTime","weekText","startDate","bindCache","runtimeX","events","dftX","getDefaultProp","cuid","config_uid","watchs","Proxy","obj","newval","delete","dftopt","defaultOptions","dfclsCache","idsAll","mergeDeep","extendDeep","vm","commands","ncm","merge","cmdHooks","ev","fireEvent","once","closest","sel","CustomEvent","opt","divide","slotsChildren","cls","isDisplay","ri","rowIndex","rs","isElement","has","assign","Map","jquery","prepend","before","constructor","cloneDeep","str","Function","allowMinus","className","$strTrim","urlEncode","urlDecode","decodeURIComponent","urlParam","A","substring","urlComplete","wifiConfirm","dtask","downloader","createDownload","nativeUI","showWaiting","task","toast","runtime","openFile","filename","closeWaiting","start","link","downloadTarget","networkinfo","getCurrentType","closePopup","slots","getChildren","ms","cr","d1","it","setInterval","d2","cos","clearInterval","print","ownerDocument","outerHTML","input2text","printf","frames","wPrintFrame","open","write","queryEncode","config","contentType","Qs","arrayFormat","ajax","lock","responseType","disposition","headers","decodeURI","blob","Blob","Submit","submit","rsv","validate","group","Ajax","defaults","interceptors","_dfopt","catchReject","reason","init_text","locked","isSuccess","isError","setThumbLeft","timer","thumb","thumbWidth","mainWidth","hf","track","mouseenter","TemplateJigsaw","hoverDrop","main","ondrop","_adjacent_where","_adjacent_query","_div","frag","createDocumentFragment","insertAdjacentHTML","insertBefore","lastElementChild","lastChild","firstElementChild","checkedValue","uncheckedValue","checkedText","uncheckedText","dataUrl","svg","imgWidth","imgHeight","square","columns","cols","dc","defaultColspan","MediaUploadItem","doFormat","rightward","activeElement","stepBy","endValue","beginValue","tip_uid","btns","decimal","isPartial","getRelates","c0","c1","c2","w_name","updated","indicator-dots","rot","rotate","swiper","maxWidth","cv","sticky","initFixedCells","requestAnimationFrame","fixedCells","reverse","colIndex","cellIndex","tbody","hiddens"],"mappings":"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ClC,OAAO,EAAAlW,EAAEyV,SAAQS,UAAV,qB,qBC/IT,IAAI/f,EAAM,CACT,QAAS,CACR,OACA,EACA,iBACA,iBACA,kBAED,YAAa,CACZ,OACA,EACA,iBACA,iBACA,kBAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,0BAA2B,CAC1B,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,iBACA,kBAED,8BAA+B,CAC9B,OACA,EACA,iBACA,kBAED,oBAAqB,CACpB,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,uCAAwC,CACvC,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,qCAAsC,CACrC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,uCAAwC,CACvC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,UAAW,CACV,OACA,GAED,aAAc,CACb,OACA,GAED,cAAe,CACd,OACA,GAED,eAAgB,CACf,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,SAAU,CACT,OACA,EACA,iBACA,iBACA,iBACA,kBAED,YAAa,CACZ,OACA,EACA,iBACA,iBACA,iBACA,kBAED,sBAAuB,CACtB,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,yBAA0B,CACzB,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,uBAAwB,CACvB,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,GAED,+BAAgC,CAC/B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iCAAkC,CACjC,OACA,GAED,+BAAgC,CAC/B,OACA,GAED,mCAAoC,CACnC,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gCAAiC,CAChC,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iCAAkC,CACjC,OACA,GAED,kCAAmC,CAClC,OACA,GAED,sCAAuC,CACtC,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,eAAgB,CACf,OACA,GAED,kBAAmB,CAClB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,eAAgB,CACf,OACA,GAED,kBAAmB,CAClB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,qBAAsB,CACrB,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,YAAa,CACZ,OACA,GAED,aAAc,CACb,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,8BAA+B,CAC9B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gCAAiC,CAChC,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,EACA,kBAED,yBAA0B,CACzB,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,qBAAsB,CACrB,OACA,IAGF,SAASi2B,EAAoBC,GAC5B,IAAIn/B,EAAoB8D,EAAEmF,EAAKk2B,GAC9B,OAAOz+B,QAAQC,UAAU4B,MAAK,WAC7B,IAAIhC,EAAI,IAAI0B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","file":"publish/lib/index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"dfish\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dfish\"] = factory();\n\telse\n\t\troot[\"dfish\"] = factory();\n})(window, function() {\nreturn "," \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"main\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"main\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0113803f\":\"d77b21dd\",\"chunk-02baca6a\":\"9815366c\",\"chunk-0afcc52e\":\"7484dcc9\",\"chunk-0c628b1c\":\"9ad87484\",\"chunk-1da003f6\":\"81e550e0\",\"chunk-2d0a3376\":\"6a65ba64\",\"chunk-2d0a448b\":\"1817e2f9\",\"chunk-2d0aad2b\":\"a5bab1c6\",\"chunk-2d0abff0\":\"722db78f\",\"chunk-2d0af116\":\"9f7b804d\",\"chunk-2d0b8aa2\":\"f569f187\",\"chunk-2d0ba936\":\"01595884\",\"chunk-2d0bac21\":\"4d196e97\",\"chunk-2d0bdd0a\":\"a5929573\",\"chunk-2d0bdf2c\":\"4b839de8\",\"chunk-2d0c0fe2\":\"9a0ee26a\",\"chunk-2d0c8d69\":\"a33870c1\",\"chunk-2d0ccf93\":\"05dc5835\",\"chunk-2d0d660f\":\"e479c58b\",\"chunk-2d0dd4a8\":\"7f91b165\",\"chunk-2d0df0d6\":\"33f24f0f\",\"chunk-2d0e53b4\":\"298c7f72\",\"chunk-2d210667\":\"84a39c13\",\"chunk-2d21d0ff\":\"fc02690b\",\"chunk-2d228891\":\"47688c48\",\"chunk-2d22d7b5\":\"845a0c3a\",\"chunk-2f7f0670\":\"1eded247\",\"chunk-3cecfdf8\":\"59aa5e6f\",\"chunk-3d7d76fb\":\"522adf0b\",\"chunk-446f13c2\":\"5cb29cfc\",\"chunk-5f709e3a\":\"2d5a5ba6\",\"chunk-77ff8882\":\"296e6a95\",\"chunk-a21f2210\":\"dca115e8\",\"chunk-d5b78810\":\"8b5ae2d8\",\"chunk-577edd5f\":\"84ab852e\",\"chunk-2d0c8faa\":\"a54886b2\",\"chunk-bb34eb02\":\"4dd7dc48\",\"chunk-c7c01ff4\":\"75574bb3\",\"chunk-eda6ccec\":\"ede071a5\",\"chunk-2d230454\":\"b153727a\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0113803f\":1,\"chunk-02baca6a\":1,\"chunk-0c628b1c\":1,\"chunk-1da003f6\":1,\"chunk-2f7f0670\":1,\"chunk-3cecfdf8\":1,\"chunk-446f13c2\":1,\"chunk-77ff8882\":1,\"chunk-a21f2210\":1,\"chunk-d5b78810\":1,\"chunk-577edd5f\":1,\"chunk-bb34eb02\":1,\"chunk-eda6ccec\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonpdfish\"] = window[\"webpackJsonpdfish\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"bb84\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['align', 'valign', 'gap'],\r\n computed: {\r\n dir() {\r\n return 'h'\r\n },\r\n html_align_class() {\r\n return [\r\n this.x.align && 'z-' + (this.x.vertical ? 'v' : this.dir) + '-align-' + this.x.align,\r\n this.x.valign && 'z-' + (this.x.vertical ? 'v' : this.dir) + '-valign-' + this.x.valign\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./AlignParent.vue?vue&type=script&lang=js\"\nexport * from \"./AlignParent.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Leaf.vue?vue&type=style&index=0&id=1baf3a86&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Video.vue?vue&type=style&index=0&id=7ee48295&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Jigsaw.vue?vue&type=style&index=0&id=5f202dd8&lang=css\"","<template>\r\n <w-alert>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\">\r\n <div class=\"w-alert-title\" v-if=\"title\">{{title}}</div>\r\n </div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"close\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\">\r\n <w-img class=\"w-alert-icon\" :src=\"typeIcon\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar v-if=\"showButton!==false\" :class=\"['w-alert-buttonbar', {'f-h-gap': dfish.br.compat.gap}]\">\r\n <w-button face=\"primary\" class=\"w-alert-button\" text=\"确定\" @click=\"save\" :ownproperty=\"true\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-alert>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n const icons = {\r\n info: '.f-i .f-i-alert-info',\r\n warning: '.f-i .f-i-alert-warning',\r\n success: '.f-i .f-i-alert-success',\r\n question: '.f-i .f-i-alert-question',\r\n error: '.f-i .f-i-alert-error'\r\n }\r\n\r\n export default {\r\n props: ['text', 'title', 'icon', 'showButton'],\r\n data() {\r\n return {\r\n defaultIconType: 'info'\r\n }\r\n },\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n close(e) {\r\n $.close(e)\r\n }\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n typeIcon() {\r\n return icons[this.icon] || this.icon || icons[this.defaultIconType]\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplateAlert.vue?vue&type=template&id=291bdc3e\"\nimport script from \"./TemplateAlert.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateAlert.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Option.vue?vue&type=style&index=0&id=9b750ac0&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Switch.vue?vue&type=style&index=0&id=a7ad2c26&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Dialog from './Dialog.vue'\r\n import MenuButton from './MenuButton.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n let inst = null\r\n\r\n export default {\r\n name: 'w-menu',\r\n mixins: [Dialog],\r\n methods: {\r\n x_default() {\r\n return {\r\n autoHide: true,\r\n independent: true,\r\n }\r\n },\r\n hasBubble(a, b) {\r\n if (this.contains(a, b)) return true\r\n let p = $(a)\r\n if (p && (p = p.parentMenu) && p.rootCommander == this.rootCommander) return true\r\n },\r\n arrow(a) {\r\n let b = this.$refs.bbr.el()\r\n let c = $.bcr(b)\r\n b.scrollTop += c.height * a\r\n },\r\n mousewheel(e) {\r\n this.arrow(e.wheelDelta < 0 ? 1 : -1)\r\n },\r\n getRoot() {\r\n let c = this\r\n while (c.getCommander().$options.name === 'w-menubutton') c = c.getCommander().parentMenu\r\n return c\r\n },\r\n html_buttons() {\r\n return this.slots_children().map(s => {\r\n let n = s.type.name\r\n return n === 'w-button' || n === 'w-submitbutton' ? h(MenuButton, s.props, s.children) : s\r\n })\r\n },\r\n html_slots() {\r\n return [\r\n this.maxHeight && h('div', {\r\n class: 'w-menu-arr f-oh',\r\n onclick: e => this.arrow(-1)\r\n }, h('i', {\r\n class: 'f-i f-i-caret-up'\r\n })),\r\n h(Vertical, {\r\n class: 'w-menu-bbr',\r\n height: '*',\r\n ref: 'bbr',\r\n onwheel: this.mousewheel\r\n }, {\r\n default: () => this.html_buttons()\r\n }),\r\n this.maxHeight && h('div', {\r\n class: 'w-menu-arr f-oh',\r\n onclick: e => this.arrow(1)\r\n }, h('i', {\r\n class: 'f-i f-i-caret-down'\r\n })),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass, this.x.dropClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n 'z-max-height': this.maxHeight,\r\n }]\r\n },\r\n root() {\r\n return this.getRoot()\r\n },\r\n rootCommander() {\r\n return this.root.commander\r\n },\r\n },\r\n mounted() {\r\n if (this.context && this.context.$options.name !== 'w-menubutton') {\r\n if (inst) {\r\n $.close(inst)\r\n }\r\n inst = this\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menu {\r\n box-shadow: none;\r\n border: 1px solid #ccc;\r\n background: #fff;\r\n }\r\n\r\n .w-menu .w-split {\r\n height: 1px;\r\n background: #ddd;\r\n margin: 2px 0;\r\n }\r\n\r\n .w-menu-arr {\r\n height: 18px;\r\n line-height: 1;\r\n text-align: center;\r\n cursor: pointer;\r\n }\r\n\r\n .w-menu-arr:hover {\r\n background: #f5f5f5;\r\n }\r\n</style>\n","import script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\nimport \"./Menu.vue?vue&type=style&index=0&id=1c251b50&lang=css\"\n\nexport default script","<script>\r\n import Button from './Button.vue'\r\n export default {\r\n mixins: [Button],\r\n computed: {\r\n html_class() {\r\n return 'w-tab'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tab {\r\n background: #f8f8f8;\r\n }\r\n .w-tab.z-on {\r\n background: #fff;\r\n }\r\n</style>\r\n","import script from \"./TabButton.vue?vue&type=script&lang=js\"\nexport * from \"./TabButton.vue?vue&type=script&lang=js\"\n\nimport \"./TabButton.vue?vue&type=style&index=0&id=db7c48b8&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import Menu from './Menu.vue'\r\n\r\n export default {\r\n name: 'w-pagebar',\r\n mixins: [ButtonBar],\r\n emits: ['click:item'],\r\n props: ['limit', 'size', 'offset', 'buttonCount', 'noFirstLast', 'face', 'jump'],\r\n data() {\r\n return {\r\n isJumpFocus: false,\r\n showDrop: false,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n limit: 1,\r\n size: 0,\r\n offset: 0,\r\n buttonCount: 5,\r\n face: 'normal',\r\n gap: 0,\r\n valign: 'middle',\r\n }\r\n },\r\n inCurrent(a) {\r\n return this.currentPage == a.text\r\n },\r\n clickItem(e, i) {\r\n let b = (i - 1) * this.x.limit\r\n if (b != this.x.offset) {\r\n e.runType = 'click:item'\r\n e.value = b\r\n this.trigger(e, b)\r\n }\r\n },\r\n clickDrop(e) {\r\n this.showDrop = true\r\n },\r\n onJumpClick(e) {\r\n let v = Math.max(0, $.number(this.$refs.jumpInput.value))\r\n this.clickItem(e, v)\r\n },\r\n html_button(i, t, ic, ds) {\r\n return h('button', {\r\n class: ['w-pagebar-button w-pagebar-num', {'z-on': !t && !ic && i == this.currentPage, 'z-ds': ds, [ic]: ic}],\r\n disabled: ds,\r\n onclick: e => this.clickItem(e, i)\r\n }, t || (ic ? '' : i))\r\n },\r\n html_slots() {\r\n return this.x.face === 'button' ? this.html_face_button() :\r\n this.x.face === 'simple' ? this.html_face_simple() : \r\n this.html_face_normal()\r\n },\r\n html_buttons() {\r\n return [h(Button, {\r\n class: 'w-pagebar-button w-pagebar-prev',\r\n icon: '.f-i .f-i-angle-left',\r\n disabled: this.currentPage == 1,\r\n title: $.loc.page_text.prev,\r\n onclick: e => this.clickItem(e, this.currentPage - 1)\r\n }), h(Button, {\r\n class: 'w-pagebar-button w-pagebar-next',\r\n icon: '.f-i .f-i-angle-right',\r\n disabled: this.currentPage == this.sumPage,\r\n title: $.loc.page_text.next,\r\n onclick: e => this.clickItem(e, this.currentPage + 1)\r\n })]\r\n },\r\n html_drop() {\r\n let s = []\r\n if (this.x.buttonCount) {\r\n s.push(h(Button, {\r\n class: 'w-pagebar-button w-pagebar-button-count w-pagebar-prev',\r\n ref: 'drop',\r\n text: this.currentPage + '/' + this.sumPage,\r\n onclick: e => this.clickDrop(e)\r\n }))\r\n }\r\n if (this.showDrop) {\r\n let b = []\r\n for (let i = 1, sp = this.sumPage; i <= sp; i ++) b.push(h(Button, {text: i, onClick: e => this.clickItem(e, i)}))\r\n s.push(h(Menu, {snap: {target: () => this.$refs.drop, position: 'v', indent: 1}, onClose: () => this.showDrop = false}, {default: () => b}))\r\n }\r\n return s\r\n },\r\n html_face_simple() {\r\n return this.html_drop().concat(this.html_buttons())\r\n },\r\n html_face_button() {\r\n let b = this.html_buttons()\r\n b.splice(1, 0, ...this.html_drop())\r\n return b\r\n },\r\n html_face_normal() {\r\n const s = []\r\n let sp = this.sumPage\r\n let cp = this.currentPage\r\n let n = $.number(this.x.buttonCount)\r\n let f = Math.max(1, cp - Math.ceil(n / 2) + 1)\r\n let l = Math.min(sp + 1, f + n)\r\n let d = l - f < n ? Math.max(1, l - n) : f\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(1, this.labelFirst, this.iconFirst, cp == 1))\r\n }\r\n s.push(this.html_button(cp - 1, this.labelPrev, this.iconPrev, cp == 1))\r\n for (let i = d; i < l; i++) {\r\n s.push(this.html_button(i))\r\n }\r\n s.push(this.html_button(cp + 1, this.labelNext, this.iconNext, cp >= this.sumPage))\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(sp, this.labelLast, this.iconLast, cp >= this.sumPage))\r\n }\r\n if (this.x.jump) {\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-to'\r\n }, $.loc.to))\r\n s.push(h('input', {\r\n class: 'w-pagebar-jump-input',\r\n ref: 'jumpInput',\r\n onfocus: e => this.isJumpFocus = true,\r\n onblur: e => this.isJumpFocus = false,\r\n onkeydown: e => e.keyCode == 13 && this.onJumpClick(e)\r\n }))\r\n s.push(h('button', {\r\n class: 'w-pagebar-button w-pagebar-jump-button',\r\n onclick: this.onJumpClick\r\n }, 'GO'))\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-page'\r\n }, $.loc.page))\r\n }\r\n return s\r\n },\r\n html_face_mini() {\r\n return this.html_face_normal()\r\n },\r\n },\r\n computed: {\r\n currentPage() {\r\n return (Math.ceil(this.x.offset / this.x.limit) || 0) + 1\r\n },\r\n sumPage() {\r\n return Math.ceil(this.x.size / this.x.limit) || 1\r\n },\r\n labelFirst() {\r\n return this.x.face === 'normal' ? $.loc.page_text.first : ''\r\n },\r\n labelLast() {\r\n return this.x.face === 'normal' ? $.loc.page_text.last : ''\r\n },\r\n labelNext() {\r\n return this.x.face === 'normal' ? $.loc.page_text.next : ''\r\n },\r\n labelPrev() {\r\n return this.x.face === 'normal' ? $.loc.page_text.prev : ''\r\n },\r\n iconFirst() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-first' : ''\r\n },\r\n iconLast() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-last' : ''\r\n },\r\n iconNext() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-right' : ''\r\n },\r\n iconPrev() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-left' : ''\r\n },\r\n html_class() {\r\n return [\r\n 'w-buttonbar w-horizontal',\r\n 'z-face-' + this.x.face,\r\n this.html_align_class,\r\n this.isJumpFocus && 'z-jump-on',\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-pagebar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-num {\r\n display: flex;\r\n position: relative;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n box-sizing: border-box;\r\n border: 1px solid #ddd;\r\n background: #fff;\r\n cursor: pointer;\r\n }\r\n\r\n .w-pagebar-num .w-button-text {\r\n padding: 0\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num {\r\n min-width: 30px;\r\n padding: 0 10px;\r\n height: 32px;\r\n flex-shrink: 0;\r\n margin-right: -1px;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num:last-child,\r\n .w-pagebar.z-face-mini .w-pagebar-num:last-child{\r\n margin-right: 0;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on {\r\n font-weight: 700;\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n z-index: 1;\r\n cursor: default;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-hv {\r\n color: #3e89fa;\r\n border-color: var(--w--focus-color);\r\n z-index: 1;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on.z-hv {\r\n color: #fff;\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num {\r\n min-width: 23px;\r\n padding: 0 3px;\r\n height: 23px;\r\n flex-shrink: 0;\r\n margin-right: 3px;\r\n }\r\n \r\n .w-pagebar.z-face-mini .f-i {\r\n color: #999;\r\n font-size: 14px;\r\n }\r\n\r\n .w-pagebar.z-face-mini .f-i.z-ds,\r\n .w-pagebar.z-face-mini .f-i.z-ds:hover {\r\n color: #ccc;\r\n background: #f9f9f9;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-pagebar.z-face-mini .w-pagebar-num:hover {\r\n border-color: var(--w--focus-color);\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num.z-on {\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n cursor: default;\r\n }\r\n \r\n \r\n .w-pagebar.z-face-button .w-button {\r\n margin-right: -1px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button:last-child {\r\n margin-right: 0;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button-main {\r\n padding: 0 6px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-pagebar-button-count {\r\n padding: 0 8px;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button.z-ds {\r\n background: transparent;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button-main {\r\n border: 0;\r\n padding: 3px;\r\n }\r\n\r\n .w-pagebar.z-face-simple .w-button .w-button-icon {\r\n color: #555;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button.z-ds .w-button-icon {\r\n color: #bbb;\r\n }\r\n \r\n \r\n .w-pagebar-num.z-ds {\r\n color: #999;\r\n cursor: default;\r\n background-color: #fff;\r\n }\r\n\r\n .w-pagebar-jump-to {\r\n padding: 0 5px 0 10px;\r\n }\r\n\r\n .w-pagebar-jump-input {\r\n width: 30px;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background-color: #fff;\r\n box-sizing: border-box;\r\n text-align: center;\r\n }\r\n\r\n .w-pagebar-jump-button {\r\n width: 30px;\r\n height: 30px;\r\n padding: 0;\r\n border: 1px solid #ddd;\r\n background-color: #fafafa;\r\n margin-left: -1px;\r\n color: #888;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-jump-page {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-input {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-button {\r\n border-color: var(--w--focus-color);;\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n</style>\r\n","import script from \"./PageBar.vue?vue&type=script&lang=js\"\nexport * from \"./PageBar.vue?vue&type=script&lang=js\"\n\nimport \"./PageBar.vue?vue&type=style&index=0&id=a0cae56c&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-hidden',\r\n mixins: [FormBase],\r\n methods: {\r\n isModified() {\r\n return false\r\n },\r\n html() {\r\n return h('input', {\r\n type: 'hidden',\r\n id: this.uid,\r\n class: 'w-hidden',\r\n name: this.x.name,\r\n value: this.x.modelValue,\r\n ref: 'v'\r\n })\r\n }\r\n },\r\n \r\n }\r\n</script>\r\n","import script from \"./Hidden.vue?vue&type=script&lang=js\"\nexport * from \"./Hidden.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n import Label from './Label.vue'\r\n import {tipCache} from './Tip.vue'\r\n\r\n const _validate_dft_value = {\r\n required: true,\r\n beforeNow: true,\r\n afterNow: true\r\n }\r\n\r\n\r\n export default {\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['name', 'value', 'modelValue', 'placeholder', 'label', 'readonly', 'readonlyValidate', 'disabled', 'required',\r\n 'validateDefault', 'validateHandler', 'inputWidth', 'inputHeight' ],\r\n emits: ['update:modelValue', 'change', 'blur', 'focus'],\r\n data() {\r\n let mv = this.modelValue\r\n return {\r\n isFormWidget: true,\r\n isFocus: false,\r\n hasBorder: false,\r\n isPlural: false,\r\n warnClass: '',\r\n labelVertical: false,\r\n modifiedValue: mv,\r\n defaultValue: mv,\r\n placeholder_type: '',\r\n }\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0)\r\n return this.x.modelValue\r\n let ov = this.x.modelValue\r\n this.x.modelValue = v\r\n let changed = ov !== v\r\n if (typeof ov === 'object') {\r\n changed = JSON.stringify(ov) != JSON.stringify(v)\r\n }\r\n if (changed) {\r\n this.warnClass && this.warn(false)\r\n if (this.isUsableVal(v)) {\r\n this.$emit('update:modelValue', v)\r\n this.trigger('change', v)\r\n }\r\n }\r\n return v\r\n },\r\n formVal() {\r\n return this.input_value\r\n },\r\n isUsableVal(v) { //implement\r\n return true \r\n },\r\n defaultRuleValue(name) {\r\n let r = this.rules[name]\r\n if (r != null) {\r\n if (Array.isArray(r)) {\r\n r = r[0]\r\n }\r\n return r && r.value ? r.value : r\r\n }\r\n },\r\n valid(trigger) {\r\n let e = this.getValidError(trigger)\r\n if (e) {\r\n this.warn()\r\n this.showErrorTip(e.text)\r\n }\r\n return !e\r\n },\r\n getValidError(trigger, val) {\r\n let ques = trigger ? this.validTriggers[trigger] : this.validQueues\r\n if (ques && (this.isNormal || (this.isReadonly && this.x.readonlyValidate))) {\r\n let v = val !== undefined ? val : this.isPlural ? this.groupFormVal() : this.formVal()\r\n if (typeof v !== 'string')\r\n v = Array.isArray(v) ? v.join(',') : v == null ? '' : ('' + v);\r\n v = v.trim()\r\n let hs = this.validHooks\r\n for (let q of ques) {\r\n let rv = typeof q.rule !== 'object' ? q.rule : q.rule.value !== undefined ? q.rule.value : q.rule\r\n let e = hs[q.type](v, rv, q)\r\n if (e) return e\r\n }\r\n }\r\n },\r\n formErr(que, arg) {\r\n let label = this.getLabelText()\r\n let type = que.type\r\n let text = que.rule && que.rule.text\r\n if (!text) {\r\n text = $.loc.ps.apply(null, [$.loc.form[type], label || ''].concat(arg != null && arg !== '' ? arg : [])) || ''\r\n }\r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n type,\r\n label,\r\n text,\r\n }\r\n },\r\n warn(a) {\r\n let w = typeof a === 'string' ? a : a !== false ? 'z-err' : ''\r\n this.warnClass = w\r\n if (!w && this._tip) {\r\n $.close(this._tip)\r\n this._tip = null\r\n }\r\n },\r\n showErrorTip(text) {\r\n this.scrollIntoView({\r\n ease: 200,\r\n success: () => {\r\n this._tip = this.exec({\r\n type: 'Tip',\r\n text,\r\n face: 'warn',\r\n independent: true,\r\n snap: {\r\n target: this.errorTipTarget\r\n }\r\n })\r\n }\r\n })\r\n },\r\n focus() {\r\n this.$refs.v.focus()\r\n return this\r\n },\r\n formText() {\r\n let t = this.val()\r\n return t == null ? '' : t\r\n },\r\n getLabelText() {\r\n let t = this.x.label || (this.pubParent && this.pubParent.x.label)\r\n return t ? (t.text || t) : ''\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n },\r\n baseFocus(e) {\r\n this.isFocus = true\r\n this.warn(false)\r\n this.trigger(e)\r\n },\r\n baseBlur(e) {\r\n if (!this.isFocusTarget(e.relatedTarget)) this.isFocus = false\r\n this.trigger(e)\r\n setTimeout(() => {\r\n if (!this.$.isUnmounted && !this.$.isDeactivated) {\r\n let time = new Date().getTime()\r\n if (time - tipCache.time > 100) this.valid('blur')\r\n }\r\n }, 100)\r\n },\r\n snapElem() {\r\n return this.el('main')\r\n },\r\n hasBubble(a) {\r\n return this.snapElem().contains(a.isWidget ? a.el() : a)\r\n },\r\n isFocusTarget(el) {\r\n // implement\r\n },\r\n // @original: 检测表单是否有修改,对照参考的值为初始值\r\n isModified(original) {\r\n let dv = original ? this.defaultValue : this.modifiedValue\r\n let mv = this.x.modelValue\r\n if (dv == null) dv = ''\r\n if (mv == null) mv = ''\r\n if (dv == mv)\r\n return false\r\n return JSON.stringify(dv) != JSON.stringify(mv)\r\n },\r\n // @original: 设置为true,修改初始值\r\n saveModified(original) {\r\n this.modifiedValue = $.lodash.clone(this.x.modelValue)\r\n if (original) {\r\n this.defaultValue = this.modifiedValue\r\n }\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n this.val(empty || this.defaultValue == null ? '' : this.defaultValue)\r\n },\r\n html_label() {\r\n return this.$slots.label ? this.$slots.label() : (this.x.label && typeof this.x.label === 'object' && h(Label,\r\n this.x.label))\r\n },\r\n html_input() {\r\n return h(this.input_tag, {\r\n class: 'w-input-value',\r\n ref: 'v',\r\n id: this.uid + 'v',\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n readonly: this.isReadonly,\r\n disabled: this.isDisabled,\r\n placeholder: this.input_placeholder,\r\n autocomplete: 'off', //off, nope, new-password\r\n //list: 'autocompleteOff',\r\n //role: 'presentation',\r\n oninput: this.oninput,\r\n onfocus: this.baseFocus,\r\n onblur: this.baseBlur,\r\n ...this.input_prop,\r\n })\r\n },\r\n html_input_hidden() {\r\n return this.x.name ? h('input', {\r\n type: 'hidden',\r\n ref: 'v',\r\n name: this.input_name,\r\n value: this.input_value,\r\n disabled: this.x.disabled,\r\n }) : []\r\n },\r\n html_button() {\r\n return []\r\n },\r\n html_form() {\r\n return [\r\n this.slot('prepend'),\r\n this.html_input(),\r\n this.html_button(),\r\n this.slot('append'),\r\n ]\r\n },\r\n html_main() {\r\n let fh = this.x.inputHeight && $.unitSize(this.x.inputHeight)\r\n return h('div', mergeProps({\r\n ref: 'main',\r\n id: this.uid + 'main',\r\n class: ['w-input', {\r\n 'w-input-border': this.hasBorder,\r\n [`f-${this.dir}-gap`]: $.br.compat.gap,\r\n }],\r\n style: {\r\n 'height': fh\r\n },\r\n title: this.input_title\r\n }, this.main_prop), this.html_form())\r\n },\r\n html_slots() {\r\n return [this.html_label(), this.html_main(), this.slot('after'), this.slot('dialog')]\r\n }\r\n },\r\n computed: {\r\n rules() {\r\n return this.x\r\n },\r\n pubValidHooks() {\r\n return {\r\n required: (v, rule, que) => {\r\n if (rule && !v) return this.formErr(que)\r\n },\r\n pattern: (v, rule, que) => {\r\n if (v && (typeof rule === 'string' ? !$.eval(`${rule}.test(v)`, {rule, v}) : !rule.test(v)))\r\n return this.formErr(que)\r\n },\r\n validateHandler: (v, rule) => {\r\n let text = rule && rule(v)\r\n if (text) {\r\n return this.formErr({type: 'validateHandler', rule: {text}})\r\n }\r\n }\r\n }\r\n },\r\n validHooks() {\r\n return this.pubValidHooks\r\n },\r\n validQueues() {\r\n let r = []\r\n let type = 'validateDefault'\r\n if (this.validHooks[type]) r.push({type})\r\n for(let k in this.validHooks) {\r\n if (!r.includes(k)) {\r\n let rule = this.rules[k]\r\n if (rule != null) {\r\n if (Array.isArray(rule)) {\r\n rule.forEach(item => r.push({type: k, rule: item}))\r\n } else {\r\n r.push({type: k, rule})\r\n }\r\n }\r\n }\r\n }\r\n return r\r\n },\r\n validTriggers() {\r\n let r = {}\r\n Object.keys(this.validHooks).forEach(k => {\r\n let d = this.rules[k]\r\n if (d) {\r\n if (Array.isArray(d)) {\r\n for (let e of d) {\r\n if (e.trigger) {\r\n (r[e.trigger] || (r[e.trigger] = [])).push({type: k, rule: e})\r\n }\r\n }\r\n } else if (d.trigger) {\r\n (r[d.trigger] || (r[d.trigger] = [])).push({type: k, rule: d})\r\n }\r\n }\r\n })\r\n return r\r\n },\r\n input_value() {\r\n return this.x.modelValue\r\n },\r\n input_name() {\r\n return this.x.name\r\n },\r\n input_tag() {\r\n return 'input'\r\n },\r\n input_type() {\r\n return 'text'\r\n },\r\n input_title() {\r\n // implement\r\n },\r\n input_prop() {\r\n // implement\r\n },\r\n input_placeholder() {\r\n if (!this.isNormal) return;\r\n let s = this.x.placeholder\r\n if (s == null && $.x.autoPlaceholder && this.x.label) {\r\n s = $.loc.ps($.loc[this.placeholder_type || 'placeholder_input'], (this.x.label.text || this.x.label))\r\n }\r\n return s\r\n },\r\n main_prop() {\r\n // implement\r\n },\r\n isNormal() {\r\n return !this.isReadonly && !this.isDisabled\r\n },\r\n isDisabled() {\r\n return this.x.disabled\r\n },\r\n isReadonly() {\r\n return this.x.readonly\r\n },\r\n errorTipTarget() {\r\n return this\r\n },\r\n html_on() {\r\n // implement\r\n },\r\n html_props() {\r\n let fw = this.x.inputWidth && $.unitSize(this.x.inputWidth)\r\n return {\r\n class: ['w-formbase', this.warnClass, this.html_align_class, {\r\n 'z-on': this.isFocus,\r\n 'z-ds': !this.isNormal,\r\n 'z-req': this.rules.required,\r\n 'z-label-vertical': this.labelVertical,\r\n 'z-fixed': !!fw,\r\n 'z-full': this.x.inputWidth === '*'\r\n }],\r\n style: fw && {\r\n '--w-input-width': fw\r\n },\r\n //'w-input-width': this.x.inputWidth,\r\n ...this.html_on\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-label {\r\n display: flex;\r\n align-items: center;\r\n padding-right: 10px;\r\n flex-shrink: 0;\r\n justify-content: flex-end;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-label.z-vertical {\r\n justify-content: flex-start;\r\n }\r\n\r\n .w-label-text {\r\n text-align: right;\r\n }\r\n\r\n .w-formbase {\r\n display: flex;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n\r\n .w-input {\r\n display: flex;\r\n box-sizing: border-box;\r\n min-height: 32px;\r\n overflow: hidden;\r\n align-items: center;\r\n flex: 1;\r\n flex-shrink: 1;\r\n flex-basis: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-label-vertical {\r\n display: block;\r\n }\r\n\r\n .w-formbase.z-label-vertical>.w-input {\r\n max-width: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-fixed>.w-input {\r\n flex-grow: 0;\r\n }\r\n\r\n .w-input-border {\r\n border: 1px solid #ddd;\r\n box-sizing: border-box;\r\n background: #fff;\r\n }\r\n\r\n .w-input-bbr {\r\n display: flex;\r\n flex-shrink: 0;\r\n width: 26px;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 16px;\r\n cursor: pointer;\r\n }\r\n\r\n .w-input-bbr.f-i-caret-down {\r\n font-size: 18px;\r\n }\r\n\r\n .w-input-bbr button {\r\n width: 100%;\r\n }\r\n\r\n .w-input-main button:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-bbr,\r\n .w-input-bbr button,\r\n .w-input-main button:disabled {\r\n color: #a3a3a3;\r\n }\r\n\r\n .w-formbase.z-on>.w-input-border,\r\n .w-input-border.z-drop {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-input-border>.w-input-value {\r\n width: 100%;\r\n border: 0;\r\n padding: 1px 0 1px 10px;\r\n background: transparent;\r\n }\r\n\r\n input::placeholder,\r\n textarea::placeholder,\r\n .w-input-placeholder {\r\n color: #a6a6a6;\r\n }\r\n\r\n .w-dropbox-text {\r\n box-sizing: border-box;\r\n width: 100%;\r\n padding-left: 10px;\r\n text-align: left;\r\n }\r\n\r\n .w-textarea .w-input-border>.w-input-value {\r\n height: 100%;\r\n padding: 5px 10px;\r\n box-sizing: border-box;\r\n font-family: inherit;\r\n }\r\n\r\n .w-textarea .w-input-border {\r\n height: 100%;\r\n }\r\n\r\n .w-checkbox,\r\n .w-triplebox,\r\n .w-radio {\r\n margin: 0\r\n }\r\n\r\n .w-triplebox {\r\n display: inline-flex;\r\n justify-content: center;\r\n }\r\n\r\n .w-checkboxgroup>.w-input,\r\n .w-radiogroup>.w-input {\r\n flex-wrap: wrap;\r\n padding-top: 3px;\r\n padding-bottom: 3px;\r\n gap: var(--w-boxgroup-gap, 10px);\r\n --w-compat-gap: var(--w-boxgroup-gap, 10px);\r\n }\r\n\r\n .w-boxgroup-grid {\r\n flex: 1;\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n align-items: center;\r\n grid-gap: var(--w-boxgroup-gap);\r\n }\r\n\r\n .w-checkbox-target>*,\r\n .w-radio-target>* {\r\n width: 100%;\r\n }\r\n\r\n .w-checkboxgroup>.w-input>.w-checkbox>.w-input,\r\n .w-radiogroup>.w-input>.w-radio>.w-input {\r\n min-height: auto;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-checkbox-text,\r\n .w-radio-text,\r\n .w-triplebox-text {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-checkbox-appear,\r\n .w-radio-appear,\r\n .w-triplebox-appear {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n width: 18px;\r\n height: 18px;\r\n border: 1px solid #ccc;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n color: var(--w--focus-color);\r\n background-color: #fff;\r\n box-shadow: 0 1px 2px rgb(0 0 0 / 5%), inset 0px -15px 10px -12px rgb(0 0 0 / 5%);\r\n }\r\n\r\n .w-radio-appear {\r\n border-radius: 20px;\r\n }\r\n\r\n .w-checkbox .w-input-value,\r\n .w-radio .w-input-value,\r\n .w-triplebox .w-input-value {\r\n display: none;\r\n }\r\n\r\n .w-checkbox-appear .f-i,\r\n .w-radio-appear .f-i,\r\n .w-triplebox-appear .f-i {\r\n visibility: hidden;\r\n font-size: 14px;\r\n }\r\n\r\n .w-radio-appear .f-i {\r\n width: 10px;\r\n height: 10px;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n }\r\n\r\n .w-radio-text,\r\n .w-checkbox-text,\r\n .w-triplebox-text {\r\n word-break: keep-all;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear,\r\n .w-input-value:checked+.w-triplebox-appear,\r\n .w-input-value:checked+.w-radio-appear {\r\n border-color: var(--w--focus-color);\r\n box-shadow: none;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear .f-i,\r\n .w-input-value:checked+.w-triplebox-appear .f-i,\r\n .w-input-value:checked+.w-radio-appear .f-i {\r\n visibility: visible;\r\n }\r\n\r\n .w-triplebox.z-half .w-triplebox-appear:before {\r\n content: '';\r\n position: absolute;\r\n background: var(--w--focus-color);\r\n flex-shrink: 0;\r\n width: 10px;\r\n height: 3px;\r\n }\r\n\r\n .w-formbase.z-ds .w-input-border,\r\n .w-formbase.z-ds .w-checkbox-appear,\r\n .w-formbase.z-ds .w-triplebox-appear,\r\n .w-formbase.z-ds .w-radio-appear {\r\n border-color: #ccc;\r\n background-color: #e6e6e6;\r\n }\r\n\r\n .w-formbase.z-err .w-input-border,\r\n .w-formbase.z-err .w-radio-appear,\r\n .w-formbase.z-err .w-triplebox-appear,\r\n .w-formbase.z-err .w-checkbox-appear,\r\n .w-form.z-err > .w-input{\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text {\r\n position: relative;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text>span:before {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-right: 3px;\r\n }\r\n\r\n .w-label.z-h-align-left {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-label.z-h-align-left>.w-label-text {\r\n text-align: left;\r\n }\r\n\r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:before {\r\n content: '';\r\n display: none;\r\n }\r\n\r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:after {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-left: 3px;\r\n }\r\n\r\n .w-form>.w-input {\r\n word-break: break-word;\r\n gap: var(--w-form-gap);\r\n }\r\n\r\n .w-form.z-vertical>.w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n justify-content: center;\r\n }\r\n\r\n .w-form.z-v-align-left>.w-input,\r\n .w-form.z-h-valign-top>.w-input {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-form.z-v-align-center>.w-input,\r\n .w-form.z-h-valign-middle>.w-input {\r\n align-items: center;\r\n }\r\n\r\n .w-form.z-v-align-right>.w-input,\r\n .w-form.z-h-valign-bottom>.w-input {\r\n align-items: flex-end;\r\n }\r\n\r\n .w-form.z-h-align-left>.w-input,\r\n .w-form.z-v-valign-top>.w-input {\r\n justify-content: flex-start;\r\n }\r\n\r\n .w-form.z-h-align-center>.w-input,\r\n .w-form.z-v-valign-middle>.w-input {\r\n justify-content: center;\r\n }\r\n\r\n .w-form.z-h-align-right>.w-input,\r\n .w-form.z-v-valign-bottom>.w-input {\r\n justify-content: flex-end;\r\n }\r\n \r\n .w-text > .w-input,\r\n .w-spinner > .w-input,\r\n .w-datepicker > .w-input {\r\n align-items: stretch;\r\n }\r\n \r\n .w-input-value:checked+.w-radio-appear:after {\r\n content: 'a';\r\n position: absolute;\r\n }\r\n \r\n</style>\n","import script from \"./FormBase.vue?vue&type=script&lang=js\"\nexport * from \"./FormBase.vue?vue&type=script&lang=js\"\n\nimport \"./FormBase.vue?vue&type=style&index=0&id=609034ec&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MenuButton.vue?vue&type=style&index=0&id=3b7da297&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n\r\n export default {\r\n name: 'w-linkbox',\r\n mixins: [FormBase],\r\n emits: ['input', 'dblclick:item'],\r\n props: ['multiple', 'picker', 'dropWidth', 'separator', 'strict', 'br'],\r\n created() {\r\n this.$watch(() => this.x.modelValue, (v) => {\r\n if (!this.isFocus) {\r\n this.initOptions(v)\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n sugger: null,\r\n showSuggest: false,\r\n sug_timer: null,\r\n _KC: null,\r\n imeMode: false,\r\n paste_rng: null,\r\n currOpt: null,\r\n store: [],\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n strict: true\r\n }\r\n },\r\n initOptions(v) {\r\n if (v == null) v = this.x.modelValue\r\n if (v && typeof v !== 'string') {\r\n v = $.array(v)\r\n this.addStore(v)\r\n this.inp().innerHTML = this.html_options(v)\r\n }\r\n },\r\n addVal(v) {\r\n let mv\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy($.array(this.x.modelValue), $.array(v), 'value')\r\n } else {\r\n mv = [v]\r\n }\r\n this.val(mv)\r\n },\r\n complete(a) {\r\n this.addStore(a)\r\n this.focus()\r\n let u = this.currOpt || $.rngElement()\r\n let p = this.x.separator || ','\r\n if (u) {\r\n if (u.tagName === 'U') {\r\n this.rng_text(u, 0, a.text)\r\n } else {\r\n if (u.tagName === 'I') {\r\n if (u.nextSibling && u.nextSibling.tagName === 'U') {\r\n u = u.nextSibling\r\n } else {\r\n u = $.after(u, '<u></u>')\r\n this.x.multiple && $.after(u, '<i>' + p + '</i>')\r\n }\r\n } else\r\n u = (!this.x.multiple && this.inp().querySelector('u')) || $.append(this.inp(), '<u></u>')\r\n this.rng_text(u, 0, a.text)\r\n }\r\n $.classAdd(u, '_o')\r\n u.setAttribute('data-value', a.value)\r\n a.forbid && u.setAttribute('data-forbid', '')\r\n let n = u.nextSibling\r\n $.rngCursor(n && !n.nextSibling ? n : u)\r\n this.x.multiple && !n && $.rngCursor($.after(u, '<i>' + p + '</i>')) // 光标在末尾则自动添加逗号分隔符\r\n let m = $.q(`u[data-value=\"${a.value}\"]`, this.inp())\r\n if (m.length > 1) m.eq(0).next('i').addBack().remove()\r\n this.save()\r\n }\r\n return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n input(a) {\r\n this.currOpt = a\r\n let v = a.innerText.replace(/^[\\s,]+|[\\s,]+$/g, '')\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(this.createEvent('input', v), v)\r\n }, 500)\r\n }\r\n },\r\n focus() {\r\n this.$refs.inp.focus()\r\n this.warn(false)\r\n return this\r\n },\r\n inp() {\r\n return this.$refs.inp\r\n },\r\n fixStyle() {\r\n let c = $.rngElement()\r\n let g = false\r\n let t\r\n let uid = this.uid\r\n let inp = this.inp()\r\n if (!inp.contains(c))\r\n c = inp\r\n t = c.innerText\r\n if (this.paste_rng)\r\n c = this.paste_rng.parentElement()\r\n if (c.id === uid)\r\n c = inp\r\n if (c.id === uid + 't') {\r\n if (t) {\r\n if (c.firstChild.nodeType === 3) {\r\n let r = $.rngCursor(c)\r\n let u = document.createElement('u')\r\n r.extractContents()\r\n u.appendChild(document.createTextNode(t))\r\n r.insertNode(u)\r\n $.rngCursor(u)\r\n c = u\r\n } else {\r\n $.q('br', inp).remove()\r\n if (c.firstChild)\r\n c = c.firstChild\r\n else\r\n $.rngCursor(c)\r\n }\r\n } else\r\n return this.closeDrop()\r\n }\r\n $.q('br', inp).remove()\r\n // 输入框内之只允许存在U和I两种标签。输入过程中浏览器可能会自动生成 <font> 标签,需要去除它\r\n if (c.tagName === 'FONT') {\r\n if (c.parentNode.tagName === 'U') {\r\n let d = c.previousSibling.nodeValue\r\n let c = c.parentNode\r\n let t = c.innerText\r\n this.rng_text(c, t.indexOf(d) + d.length + 1, t)\r\n } else if (c.parentNode.id === uid + 't') {\r\n t = c.parentNode.innerText\r\n c = $.replaceWith(c, '<u></u>')\r\n c.innerText = t\r\n }\r\n }\r\n\r\n // 如果U标签后面跟的标签不是 <i>,</i> 就要合并\r\n if (c !== inp && c.tagName !== 'I' && c.nextSibling && c.nextSibling.tagName !== 'I') {\r\n if (c.nextSibling.nodeType === 3) {\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n } else {\r\n t = c.innerText\r\n this.rng_text(c, t.length, t + c.nextSibling.innerText)\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n g = true // 有更新\r\n }\r\n }\r\n $.q('u:has(br)', inp).remove()\r\n t = c.innerText\r\n // match text\r\n let n = []\r\n let p = this.x.separator || ','\r\n\r\n // 文本中如果包含分隔符 , 则分成若干选项\r\n if (this.x.multiple && t.length > 1 && t.indexOf(p) > -1) {\r\n let d = [],\r\n f = t.length - $.rngCursorOffset(),\r\n h, m = []\r\n t.split(p).forEach(s => {\r\n if (h = $.strTrim(s)) {\r\n g = this.param(h)\r\n d.push('<u' + (g ? ' class=_o data-value=\"' + g.value + '\"' + (g.forbid ? ' data-forbid' : '') : '') +\r\n '>' + h + '</u>')\r\n g ? m.push('u[data-value=\"' + g.value + '\"]') : n.push(h)\r\n } else\r\n d.push('')\r\n })\r\n m.length && (m = $.q(m.join(','), inp).next('i').addBack()) // 收集重复数据,以备删除\r\n let o = $.replaceWith(c, d.join('<i>' + p + '</i>'))\r\n let k = 0\r\n if (!this.paste_rng || this._KC === 188) { // 保留原有光标位置\r\n do {\r\n if ((k += o.innerText.length) >= f) {\r\n this.rng_text(o, k - f)\r\n break\r\n }\r\n } while (o = o.previousSibling)\r\n }\r\n m.length && (m.remove(), $.q('i + i, i:first-child', inp).remove()) // 删除重复数据\r\n g = true\r\n if ((c = $.rngElement()) && c.tagName === 'U' && !c.getAttribute('data-value'))\r\n this.input(c)\r\n else\r\n this.closeDrop()\r\n } else {\r\n if (t) {\r\n if ($.classAny(c, '_o') && !this.param(t)) {\r\n $.classRemove(c, '_o')\r\n c.removeAttribute('data-value')\r\n g = true\r\n } else if (!this.x.strict)\r\n g = true\r\n this.input(c)\r\n } else {\r\n g = true\r\n this.closeDrop()\r\n }\r\n }\r\n if (g) {\r\n this.save()\r\n //this._online && n.length > 1 && this.match({text: n.join(p)})\r\n }\r\n this.paste_rng = null\r\n },\r\n // 选项上的光标移动到指定位置 /@a -> elem, b -> cursor point, c -> text?\r\n rng_text(a, b, c) {\r\n let n = $.rngSelection()\r\n c != null && (a.innerText = c)\r\n n.selectNodeContents(a)\r\n $.rngCursor(n, b)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n addStore(m) {\r\n if (m && typeof m !== 'string') {\r\n let r = $.array(m).filter(v => !this.store.find(s => s.value == v.value))\r\n if (r.length) this.store = this.store.concat(r)\r\n }\r\n },\r\n param(t) {\r\n return this.store.find(v => v.text == t)\r\n },\r\n save() {\r\n let strict = this.x.strict\r\n let r = []\r\n let m = []\r\n $.q('> u', this.inp()).each((i, u) => {\r\n let value = u.getAttribute('data-value')\r\n let text = u.innerText\r\n if (value) {\r\n r.push(value)\r\n m.push({\r\n value,\r\n text\r\n })\r\n } else if (!strict) {\r\n r.push(text)\r\n m.push({\r\n value: text\r\n })\r\n }\r\n })\r\n //this.$refs.v.value = r.join(',')\r\n this.val(m)\r\n },\r\n onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 13) {\r\n e.preventDefault()\r\n }\r\n },\r\n onkeyup(e) {\r\n if (!this.imeMode) {\r\n let k = this._KC = e.keyCode\r\n let m\r\n if (k === 13 || k === 38 || k === 40 || k === 17) { // 38:up, 40:down, 17:ctrl\r\n e.stopPropagation()\r\n } else {\r\n this.fixStyle()\r\n }\r\n this._KC = null\r\n }\r\n },\r\n onclick(e) {\r\n if (this.isNormal) {\r\n if (e.target && e.target.tagName === 'U' && !e.target.getAttribute('data-value')) {\r\n this.input(e.target)\r\n } else {\r\n let c = $.rngElement()\r\n c.tagName === 'U' ? this.input(c) : this.closeDrop()\r\n }\r\n }\r\n },\r\n ondblclick(e) {\r\n if (e.target.tagName === 'U' && e.target.getAttribute('data-value')) {\r\n let v = $.array(this.x.modelValue).find(o => o.value == e.target.getAttribute('data-value'))\r\n if (v) {\r\n e.runType = 'dblclick:item'\r\n e.value = v\r\n this.trigger(e, v)\r\n window.getSelection().removeAllRanges()\r\n }\r\n }\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options(v) {\r\n let p = this.x.separator || ','\r\n if (v == null) v = this.x.modelValue\r\n if (v !== 'string') {\r\n let b = $.array(v)\r\n let r = []\r\n $.lodash.each(b, (o, i) => {\r\n r.push('<u' + (o.value ? ' class=_o data-value=\"' + o.value + '\"' : '') + (o.forbid ? ' data-forbid' :\r\n '') + '>' + o.text + '</u>')\r\n if (!this.x.multiple) return false\r\n r.push('<i>' + p + '</i>')\r\n })\r\n return r.join('')\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-linkbox-input f-flex-1',\r\n ref: 'inp',\r\n id: this.uid + 't',\r\n contentEditable: this.isNormal,\r\n onkeyup: this.onkeyup,\r\n onkeydown: this.onkeydown,\r\n onclick: this.onclick,\r\n ondblclick: this.ondblclick,\r\n onfocus: e => {\r\n this.isFocus = true\r\n },\r\n onblur: e => {\r\n this.isFocus = false\r\n },\r\n })\r\n },\r\n html_input() {\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n this.html_var(),\r\n h('div', {\r\n class: 'w-input-placeholder'\r\n }, this.input_value ? null : p),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n onClose: () => this.showSuggest = false\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n if (this.x.strict && $.q('u:not([data-value])').length > 0) {\r\n return this.formErr({\r\n type: 'invalid_option'\r\n })\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text || v.value).join(\r\n ', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.focus\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br,\r\n 'z-dc': this.getOn('dblclick:item')\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.initOptions()\r\n this.inp().addEventListener('compositionstart', () => {\r\n this.imeMode = true\r\n })\r\n this.inp().addEventListener('compositionend', () => {\r\n this.imeMode = false\r\n })\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-linkbox-input {\r\n height: 100%;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input {\r\n padding-left: 10px;\r\n min-height: 30px;\r\n line-height: 30px;\r\n font-family: verdana;\r\n font-style: normal;\r\n outline: none;\r\n overflow: hidden;\r\n word-break: keep-all;\r\n word-wrap: normal;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u {\r\n padding-right: 1px;\r\n color: #999;\r\n text-decoration: none\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o {\r\n color: #333\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o[data-forbid] {\r\n text-decoration: line-through !important;\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u {\r\n color: #333\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u._o {\r\n color: #275696;\r\n text-decoration: underline\r\n }\r\n\r\n .w-linkbox .w-linkbox-input i {\r\n font-style: normal;\r\n padding: 0 3px 0 1px;\r\n color: #999;\r\n }\r\n\r\n .w-linkbox ._v {\r\n display: inline-block;\r\n height: 22px;\r\n line-height: 22px;\r\n vertical-align: middle\r\n }\r\n\r\n .w-linkbox.z-loading {\r\n color: gray;\r\n }\r\n\r\n .w-linkbox.z-loading .w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox.z-br .w-linkbox-input {\r\n overflow: visible;\r\n word-break: break-all;\r\n word-wrap: break-word;\r\n }\r\n\r\n .w-linkbox .w-input {\r\n position: relative;\r\n }\r\n\r\n .w-linkbox-input:not(:empty)~.w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox .w-input-placeholder {\r\n position: absolute;\r\n left: 0;\r\n padding-left: 10px;\r\n pointer-events: none;\r\n }\r\n</style>\n","import script from \"./LinkBox.vue?vue&type=script&lang=js\"\nexport * from \"./LinkBox.vue?vue&type=script&lang=js\"\n\nimport \"./LinkBox.vue?vue&type=style&index=0&id=d62f9532&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MediaUploadItem.vue?vue&type=style&index=0&id=07113717&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ViewAbs.vue?vue&type=style&index=0&id=7d9e1b2b&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dialog.vue?vue&type=style&index=0&id=ac8e27c2&lang=css\"","<template>\r\n <button v-bind=\"html_attrs\" :class=\"['f-flex-align', provideOptionParent.$options.name + '-option', {'z-on': isFocus, 'z-ds': disabled, 'z-mul': isMul}]\"\r\n @click=\"click\" :disabled=\"disabled\" :title=\"text\">\r\n <div class=\"f-flex-1 f-line-1\">\r\n <slot>{{text}}</slot>\r\n </div>\r\n <div v-if=\"isMul\" :class=\"['w-option-checked', {'f-i f-i-check': isFocus}]\"></div>\r\n </button>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-option',\r\n mixins: [WidgetBase],\r\n props: ['value', 'text', 'disabled'],\r\n inject: ['provideOptionParent'],\r\n methods: {\r\n click(e) {\r\n if (this.provideOptionParent.clickOption)\r\n this.provideOptionParent.clickOption(this)\r\n }\r\n },\r\n\r\n computed: {\r\n isFocus() {\r\n let m = this.provideOptionParent.x.modelValue\r\n return Array.isArray(m) ? m.includes(this.value) : $.idsAny(m, this.value)\r\n },\r\n isMul() {\r\n return this.provideOptionParent.x.multiple\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-option {\r\n height: var(--w-option-height, 32px);\r\n padding: 0 10px;\r\n box-sizing: border-box;\r\n text-align: left;\r\n }\r\n\r\n .w-dropbox-option.z-ds,\r\n .w-dropbox-option.z-ds:hover {\r\n background-color: #f9f9f9;\r\n color: #999;\r\n }\r\n\r\n .w-dropbox-option:hover {\r\n background-color: #f5faff;\r\n }\r\n\r\n .w-dropbox-option.z-on:not(.z-mul) {\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-dropbox-option.z-on.z-mul {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-option-checked {\r\n width: 18px;\r\n height: 18px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n .w-option.z-mul {\r\n padding-left: 13px;\r\n }\r\n\r\n .w-option-checked.f-i {\r\n border-color: var(--w--focus-color);\r\n }\r\n</style>\n","import { render } from \"./Option.vue?vue&type=template&id=9b750ac0\"\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\nimport \"./Option.vue?vue&type=style&index=0&id=9b750ac0&lang=css\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TabButton.vue?vue&type=style&index=0&id=db7c48b8&lang=css\"","import lodash from 'lodash'\r\n\r\nconst strTrim = (a) => String(a).replace(/^\\s+|\\s+$/g, '')\r\n\r\nconst string = (a) => a == null ? '' : '' + a\r\n\r\n// @a -> str, b -> no html entities?\r\nconst strQuot = (a, b) => {\r\n\ta = String(a)\r\n\tb && (a = a.replace(/<[^>]+>/g, ''))\r\n\treturn a.replace(/\\\"/g, '&quot;')\r\n}\r\n\r\n// 在a中取以b开始的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strFrom = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(d + b.length)\r\n}\r\n\r\n// 在a中取以b结束的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strTo = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(0, d)\r\n}\r\n\r\n// 取字符串字节数(一个汉字算双字节) /@ s -> str, b -> 一个汉字算几个字节?默认2个\r\nconst strLen = (s, b) => {\r\n if (!s) return 0;\r\n if (!b) b = $.x.cnBytes || 2;\r\n let d = 0\r\n for (let i = 0, l = s.length; i < l; i++)\r\n d += s.charCodeAt(i) > 128 ? b : 1;\r\n return d;\r\n}\r\n\r\n// 数字前加0 /@ a -> num, b -> 补成多少长度的字符串?\r\nconst strPad = function(a, b, c) {\r\n\tc = c == null ? '0' : (c + '');\r\n\tif (!b)\r\n\t\treturn a < 10 ? c + a : a;\r\n\ta = a + '';\r\n\twhile (a.length < b)\r\n\t\ta = c + a;\r\n\treturn a\r\n}\r\n\r\nconst strFormat = (a, b, c, d) => {\r\n a != null && (a += '');\r\n if (!a || !b) return a;\r\n if (Array.isArray(b)) {\r\n return a.replace(/\\$\\{?(\\d+)\\}?/g, function($0, $1) {\r\n return b[$1] == null ? (d ? $0 : '') : c ? encodeURIComponent(b[$1]) : b[$1]\r\n });\r\n } else {\r\n return a.replace(/\\$\\{?([a-z_][\\w.]*)\\}?/gi, function($0, $1) {\r\n let e = lodash.get(b, $1)\r\n return e == null ? (d ? $0 : '') : c ? encodeURIComponent(e) : e\r\n });\r\n }\r\n}\r\n\r\nconst strEscape = function(s) {\r\n\treturn s != null ? (s + '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\\\"/g, '&quot;') : '';\r\n}\r\n\r\n// 在 a 中查找 b 并给 b 加上标签样式 c /@ a -> str, b -> key, c -> matchLength?, d -> key cls?\r\nconst strHighlight = function(a, b, c, d) {\r\n\treturn (a = a + '').replace(RegExp('(<[\\\\/!]?\\\\w+(?::\\\\w+)?\\\\s*(?:[-\\\\w]+(?:=(\\'|\")?.*?\\\\2)?\\\\s*)*>)|(' + strSplitword(b, c, true).join('|') + ')', 'ig'), function($0, $1, $2, $3) {\r\n\t \treturn $3 === undefined ? $1 : '<em class=\"' + (d || 'f-keyword') + '\">' + $3 + '</em>'\r\n\t})\r\n}\r\n\r\n// 字符转为regexp支持的模式\r\nconst _s_regexp = function(a) {\r\n\treturn a.replace(/([-.*+?^${}()|[\\]\\/\\\\])/g, '\\\\\\$1')\r\n}\r\n\r\n// @a -> key, b -> matchLength, c -> regexp?\r\nconst strSplitword = function(a, b, c) {\r\n\tlet e = [c ? _s_regexp(a) : a]\r\n let m = a.length\r\n\tif (b > 0 && m > b) {\r\n\t\tfor (let j = m - 1; j >= b; j --) {\r\n\t\t\tfor (let i = 0, l = m - j, f; i <= l; i ++) {\r\n\t\t\t\tf = a.substr(i, j)\r\n\t\t\t\te.push(c ? _s_regexp(f) : f)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn e\r\n}\r\n\r\nexport {string, strTrim, strEscape, strQuot, strFrom, strTo, strPad, strLen, strFormat, strHighlight}\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import ViewAbs from './ViewAbs.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [Vertical, ViewAbs],\r\n inject: ['provideView'],\r\n methods: {\r\n html() {\r\n return [this.html_self(true), this.html_pops()]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-vertical f-rel', this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./View.vue?vue&type=script&lang=js\"\nexport * from \"./View.vue?vue&type=script&lang=js\"\n\nexport default script","import {strFrom, strTo} from './str.js'\r\n\r\nconst number = (a) => {\r\n var r = typeof a === 'string' ? parseFloat(a.replace(/[^\\d\\.-]|\\b-/g, '')) : +a\r\n return isNaN(r) ? 0 : r\r\n}\r\n// 判断是否数字\r\nconst isNumber = (a) => a != null && !isNaN(a)\r\n\r\n// 如果 a 的大小在 b 和 c 之间,则返回 a。否则返回 b 或 c\nconst numRange = function(a, b, c) {\n\treturn a == null ? ((b || b === 0) ? b : (c || c === 0) ? c : a) : ((b || b === 0) && a < b) ? b : ((c || c === 0) && a > c) ? c : a\n}\n// js小数相加运算出现多位小数的解决办法\nconst numAdd = function(...args) {\r\n let m = 0\r\n let r = 0\r\n args.forEach(a => {\r\n m = Math.max(m, strFrom(a + '', '.').length)\r\n r += a\r\n })\r\n m = Math.pow(10, m)\n\treturn Math.round(r * m) / m\n}\n// 给数字加上分隔符 /@a -> str, b -> length?, c -> separator?, d -> rightward?\nconst numFormat = function(a, b, c, d) {\n\ta = String(a)\n\tb == null && (b = 3)\n\tc == null && (c = ',')\n\tlet e = a.replace(/[^.\\d]/g, '').split('.'), s = e[0], l = s.length, i = d ? 0 : l, t = '', n = a.charAt(0) === '-' ? '-' : '';\r\n\tif (d) {\n\t\tdo {\n\t\t\ti += b;\n\t\t\tt += (i < l ? s.substr(i - b, b) + c : s.substr(i - b));\n\t\t} while (i < l);\n\t} else {\n\t\tdo {\n\t\t\ti -= b;\n\t\t\tt = (i > 0 ? c + s.substr(i, b) : s.substr(0, b + i)) + t;\n\t\t} while (i > 0);\n\t}\n\treturn n + t + (e.length > 1 ? '.' + strFrom(a, '.').replace(RegExp('[.' + c + ']', 'g'), '') : '');\n}\n// 调整小数位数\nconst numDecimal = function(a, b) {\n\tif (!b) {\n\t\treturn parseInt(number(a))\n\t} else if (b < 0) {\n\t\treturn parseFloat(number(a))\n\t} else {\n\t\tlet f = strFrom('' + a, '.')\n\t\treturn f ? strTo('' + a, '.') + '.' + f.slice(0, b) : a\n\t}\n}\r\n\r\nexport {number, isNumber, numRange, numAdd, numFormat, numDecimal}","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Button from './Button.vue'\r\n import Menu from './Menu.vue'\r\n import Img from './Img.vue'\r\n import WidgetAbs from './WidgetAbs.vue'\r\n\r\n export default {\r\n name: 'w-menubutton',\r\n mixins: [Button],\r\n methods: {\r\n exec(...args) {\r\n return this.parentMenu.getRoot().getCommander().exec(...args)\r\n },\r\n drop() {\r\n if (this.showDrop) return\r\n this.closeSub()\r\n this.showDrop = true\r\n this.parentMenu.subMenu = this\r\n },\r\n onclick(e) {\r\n if (this.isMore) return\r\n //this.trigger(e)\r\n setTimeout(() => this.parentMenu.root.close(), 10)\r\n },\r\n onmouseenter(e) {\r\n !this.x.disabled && e.currentTarget.classList.add('z-hv')\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.closeSub()\r\n }\r\n },\r\n closeSub() {\r\n if (this.parentMenu.subMenu) {\r\n this.parentMenu.subMenu.showDrop = false\r\n this.parentMenu.subMenu = null\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n let src = this.x.icon\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n r.push(!src || font ? h('i', {\r\n class: 'w-menubutton-icon f-flex-center f-height ' + (src ? src.replace(/\\./g, '') : '')\r\n }) : h('img', {\r\n src: src,\r\n class: 'w-menubutton-icon f-flex-center f-height'\r\n }))\r\n\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-text f-line-1'\r\n }, t))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-close'\r\n }, h('i', {\r\n class: 'w-menubutton-close-icon f-i f-i-close',\r\n onclick: this.clickClose\r\n })))\r\n }\r\n r.push(h(Img, {\r\n class: 'w-menubutton-drop f-flex-center f-height',\r\n src: this.isMore ? (this.x.dropIcon || '.f-i .f-i-caret-right') : ''\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Menu, {\r\n autoHide: true,\r\n context: this,\r\n ownproperty: true,\r\n dropClass: this.x.dropClass || this.parentMenu.x.dropClass,\r\n snap: {\r\n target: () => this.el(),\r\n position: '21,12',\r\n indent: 1\r\n },\r\n onClose: () => this.showDrop = null\r\n }, this.$slots))\r\n }\r\n\r\n return r\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isMore() {\r\n return !!this.$slots.default\r\n },\r\n parentMenu() {\r\n let p = this.provideView\r\n while (p && !p.isView) p = p.provideView\r\n return p\r\n },\r\n ownerView() { // 因为业务会调用 $.vm(event), 所以返回commander的view\r\n return this.parentMenu.rootCommander.ownerView\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.x.disabled,\r\n class: {\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: !this.x.disabled && (e => e.currentTarget.classList.remove('z-hv')),\r\n onclick: this.onclick\r\n }\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menubutton {\r\n display: inline-flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n margin: 0;\r\n height: 32px;\r\n background: #fff;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-menubutton .f-i {\r\n color: #999;\r\n }\r\n\r\n .w-menubutton-icon {\r\n width: 30px;\r\n }\r\n\r\n .w-menubutton-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n }\r\n\r\n .w-menubutton-drop {\r\n width: 30px;\r\n margin-left: 5px;\r\n }\r\n\r\n .w-menubutton>.w-menubutton-close {\r\n margin-right: -5px;\r\n flex-shrink: 0;\r\n color: #aaa;\r\n }\r\n\r\n .w-menubutton-close-icon:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-menubutton.z-hv,\r\n .w-menubutton.z-drop {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-menubutton.z-ds {\r\n background-color: #eee;\r\n color: #777;\r\n cursor: default;\r\n }\r\n\r\n .w-menubutton.z-ds .w-menubutton-icon {\r\n color: #bbb;\r\n }\r\n</style>\n","import script from \"./MenuButton.vue?vue&type=script&lang=js\"\nexport * from \"./MenuButton.vue?vue&type=script&lang=js\"\n\nimport \"./MenuButton.vue?vue&type=style&index=0&id=3b7da297&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Dialog from './Dialog.vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-combobox',\r\n mixins: [FormBase],\r\n emits: ['input', 'click:item', 'blur', 'focus'],\r\n props: ['multiple', 'dropper', 'picker', 'dropWidth', 'br'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n showSuggest: false,\r\n sug_timer: null,\r\n sensor_text: '',\r\n sensor_width: null,\r\n }\r\n },\r\n methods: {\r\n addVal(v) {\r\n let mv\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy($.array(this.x.modelValue), $.array(v), 'value')\r\n } else {\r\n mv = [v]\r\n }\r\n $.lodash.remove(mv, m => !m || !m.text)\r\n this.val(mv)\r\n },\r\n complete(v) {\r\n this.addVal(v)\r\n this.clear()\r\n this.$nextTick(this.focus)\r\n return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n clear() {\r\n this.$refs.input.value = this.sensor_text = ''\r\n },\r\n focus() {\r\n this.$refs.input.focus()\r\n this.warn(false)\r\n return this\r\n },\r\n oninput(e) {\r\n let v = e.target.value\r\n this.sensor_text = v\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n e.value = v\r\n this.trigger(e, v)\r\n }, 500)\r\n }\r\n },\r\n onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 8) { // 8:backspace\r\n if (e.target.selectionStart === 0 && e.target.selectionEnd === 0) {\r\n let mv = $.array(this.x.modelValue, true)\r\n if (mv.length) {\r\n mv.splice(mv.length - 1, 1)\r\n this.x.modelValue = mv\r\n }\r\n }\r\n }\r\n //38: up, 40:down\r\n //if (this.showSuggest && (k == 38 || k == 40)) e.preventDefault()\r\n },\r\n onblur(e) {\r\n this.isFocus = false\r\n this.trigger('blur')\r\n setTimeout(() => {\r\n if (!this.$.isUnmounted && !this.$.isDeactivated) this.valid('blur')\r\n }, 100)\r\n },\r\n onfocus(e) {\r\n this.isFocus = true\r\n e.target.value && e.target.dispatchEvent(new Event('input'))\r\n this.trigger('focus')\r\n },\r\n clickItem(e, item) {\r\n e.stopPropagation()\r\n e.runType = 'click:item'\r\n e.value = item\r\n this.trigger(e, item)\r\n },\r\n clickClose(e, item) {\r\n e.stopPropagation()\r\n let mv = $.array(this.x.modelValue, true)\r\n let i = mv.findIndex(v => v.value == item.value)\r\n if (i > -1) {\r\n mv.splice(i, 1)\r\n this.val(mv)\r\n }\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(!this.showSuggest)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options() {\r\n let m = this.x.modelValue\r\n if (m && typeof m !== 'string') {\r\n return [].concat(m).map(v => h('div', {\r\n class: ['w-combobox-option f-flex-center', {\r\n 'z-forbid': v.forbid\r\n }],\r\n onclick: e => this.clickItem(e, v)\r\n }, [h('div', {\r\n class: 'w-combobox-option-text f-line-1',\r\n title: v.text\r\n }, v.text),\r\n this.isNormal && h('div', {\r\n class: 'w-combobox-option-close f-i f-i-close',\r\n onclick: e => this.clickClose(e, v)\r\n })\r\n ]))\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-combobox-input-wrap'\r\n }, [\r\n h('div', {\r\n class: 'w-combobox-sensor',\r\n ref: 'sensor',\r\n }, this.sensor_text || (this.input_value ? null : this.input_placeholder)),\r\n h('input', {\r\n class: 'w-combobox-input',\r\n style: {\r\n width: this.sensor_width,\r\n },\r\n ref: 'input',\r\n oninput: this.oninput,\r\n onkeydown: this.onkeydown,\r\n onblur: this.onblur,\r\n onfocus: this.onfocus,\r\n placeholder: this.input_value ? null : this.input_placeholder,\r\n })\r\n ])\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: ['w-combobox-list f-flex-1 f-flex f-oh f-height', {'f-h-gap': $.br.compat.gap}],\r\n },\r\n this.html_options(),\r\n this.isNormal && this.html_var(),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n onClose: () => this.showSuggest = false\r\n }, this.$slots)\r\n )\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n validateDefault: (v) => {\r\n if (this.$refs.input.value)\r\n return this.formErr({type: 'invalid_option'})\r\n },\r\n ...this.pubValidHooks,\r\n }\r\n },\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text).join(', ')\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br\r\n }\r\n },\r\n main_prop() {\r\n return this.isNormal && {\r\n onclick: this.focus\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.$refs.sensor) {\r\n new ResizeObserver(() => {\r\n if (this.$refs.sensor) {\r\n this.sensor_width = this.$refs.sensor.offsetWidth + 'px'\r\n }\r\n }).observe(this.$refs.sensor)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-combobox-list {\r\n padding: 2px 3px;\r\n box-sizing: border-box;\r\n align-items: center;\r\n --w-compat-gap: 3px;\r\n gap: var(--w-compat-gap);\r\n }\r\n \r\n .w-combobox-list.f-h-gap {\r\n padding: 1px 3px;\r\n }\r\n \r\n .w-combobox-list.f-h-gap>* {\r\n margin-top: 1px;\r\n margin-bottom: 1px;\r\n }\r\n\r\n .w-combobox-list>.w-combobox-input-wrap:first-child {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-combobox-input-wrap {\r\n display: flex;\r\n }\r\n\r\n .w-combobox-sensor {\r\n position: absolute;\r\n visibility: hidden;\r\n z-index: -1;\r\n white-space: pre-wrap; \r\n }\r\n\r\n .w-combobox-input {\r\n min-width: 14px;\r\n width: 14px;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-combobox-option {\r\n position: relative;\r\n height: 26px;\r\n border: 1px solid #e6e6e6;\r\n background: #f8f8f8;\r\n padding: 0 5px;\r\n background: #f8f8f8;\r\n box-sizing: border-box;\r\n max-width: calc(100% - 21px);\r\n }\r\n\r\n .w-combobox-option.z-forbid .w-combobox-option-text {\r\n text-decoration: line-through;\r\n }\r\n\r\n .w-combobox-option-close {\r\n color: #aaa;\r\n font-size: 12px;\r\n line-height: 0;\r\n margin-left: 5px;\r\n transform: translateY(1px);\r\n cursor: pointer;\r\n }\r\n\r\n .w-combobox-option-close:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option {\r\n border-color: #d0d0d0;\r\n background: transparent;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option ._s {\r\n padding-right: 7px\r\n }\r\n\r\n .w-combobox.z-br .w-combobox-list {\r\n flex-wrap: wrap;\r\n }\r\n</style>\n","import script from \"./ComboBox.vue?vue&type=script&lang=js\"\nexport * from \"./ComboBox.vue?vue&type=script&lang=js\"\n\nimport \"./ComboBox.vue?vue&type=style&index=0&id=0e4ab116&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import Horizontal from './Horizontal.vue'\r\n import PubParent from './PubParent.vue'\r\n\r\n export default {\r\n name: 'w-buttonbar',\r\n mixins: [Horizontal, PubParent],\r\n props: ['vertical', 'clickTab'],\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0,\r\n valign: this.vertical ? null : 'middle'\r\n }\r\n },\r\n html_slots() { \r\n let s\r\n if (this.$slots.split) {\r\n let a = this.slots_children()\r\n let b = this.$slots.split()\r\n s = []\r\n for (let i = 0, l = a.length; i < l; i++) {\r\n s.push(a[i])\r\n if (i < l - 1) s.push(b)\r\n }\r\n }\r\n return this.html_scroll_slots(s)\r\n }\r\n },\r\n computed: {\r\n dir() {\r\n return this.x.vertical ? 'v' : 'h'\r\n },\r\n html_class() {\r\n return [this.x.vertical ? 'w-vertical' : 'w-horizontal']\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./ButtonBar.vue?vue&type=script&lang=js\"\nexport * from \"./ButtonBar.vue?vue&type=script&lang=js\"\n\nexport default script","// 最后一个属性是数组 / a -> obj, b -> target\n// example: _jsonArray(obj, target, 'a', 'b');\n// 等同于: target['a']['b'].push(obj);\nconst jsonArray = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1; i < l; i ++)\n\t\tb = b[arguments[i]] || (b[arguments[i]] = {});\n\t(b[arguments[l]] || (b[arguments[l]] = [])).push(a);\n\treturn b[arguments[l]];\n}\r\n\n// example: _jsonChain(obj, target, 'a', 'b');\n// 等同于: target['a']['b'] = obj;\nconst jsonChain = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1, c = b; i < l; i ++)\n\t\tc = c[arguments[i]] || (c[arguments[i]] = {});\n\tc[arguments[l]] = a;\n\treturn c;\n}\r\n\r\nexport {jsonArray, jsonChain}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Toggle.vue?vue&type=style&index=0&id=431717dc&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import WidgetAbs from './WidgetAbs.vue'\r\n import SrcParent from './SrcParent.vue'\r\n import Pop from './Pop.vue'\r\n import Img from './Img.vue'\r\n\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [SrcParent],\r\n provide() {\r\n return {\r\n provideView: this\r\n }\r\n },\r\n props: ['commands'],\r\n data() {\r\n return {\r\n isView: true,\r\n pops: [],\r\n }\r\n },\r\n beforeCreate() {\r\n this.popCommanders = {}\r\n },\r\n methods: {\r\n reload() {\r\n this.request()\r\n },\r\n find(a) {\r\n const b = this.el().querySelectorAll(`[w-key=\"${a}\"]`)\r\n for (let c of b) {\r\n if ((c = $(c)) && c.ownerView === this) return c\r\n }\r\n },\r\n fv(a, b) {\r\n let d = this.f(a)\r\n if (arguments.length === 2) {\r\n d && (d.groupFormVal ? d.groupFormVal(b) : d.val(b))\r\n } else if (typeof a === 'object') {\r\n for (let i in a) this.fv(i, a[i])\r\n } else {\r\n return d && (d.groupFormVal ? d.groupFormVal() : d.formVal())\r\n }\r\n },\r\n f(a, b) {\r\n return this.fAll(a, b)[0]\r\n },\r\n // 获取范围内的所有表单 /@a -> name, b -> range?(elem|widget)\r\n fAll(a, b) {\r\n if (a === '*' || a == null) {\r\n for (var i = 0, q = this.getFormList(b, true), l = q.length, d, e, f = []; i < l; i++)\r\n (d = $(q[i])) && d != e && f.push(e = d);\r\n return f;\r\n }\r\n let dom = b ? (b.isWidget ? b.el() : b) : this.el()\r\n let r = $.q(':input[name=\"' + a + '\"]', dom)\r\n if (!r.length) r = $.q(':input[w-name=\"' + a + '\"]', dom)\r\n return $.lodash.map(r.not('[w-form-ignore] :input'), d => $(d))\r\n },\r\n // 获取所有表单,返回一个dom集合 /@ a -> range(widgetID, 可选,如果 range 以 !开头,表示排除), b -> 是否包含disabled的表单\r\n getFormList(a, b) {\r\n if (Array.isArray(a)) return a\r\n let r, f = ':input:not(button)' + (b ? '' : ':not(:disabled)')\r\n if (a && typeof a === 'string') {\r\n let d = a.charAt(0) === '!'\r\n let e = a.replace(/\\!/g, '').split(',').map(v => `[w-key=\"${v}\"] ${f}`)\r\n if (e = e.join())\r\n r = $.q(d ? `${f}:not(${e})` : e, this.el())\r\n } else {\r\n r = $.q(f, a ? (a.isWidget ? a.el() : a) : this.el())\r\n }\r\n return r ? $.lodash.map(r.not('[w-form-ignore] :input')) : []\r\n },\r\n // 获取提交数据 {name: value, ...} /@ a -> range [widgetID, 可选,如果 range 以 !开头,表示排除]\r\n getPostData(range) {\r\n let r = {}\r\n this.getFormList(range).forEach(a => {\r\n let d = a.name\r\n let v = a.value\r\n if (!d) return\r\n switch (a.type) {\r\n case 'text':\r\n let t = a.getAttribute('w-valuetype')\r\n if (t === 'number')\r\n v = v.replace(/[^\\d\\.-]/g, '')\r\n break\r\n case 'checkbox':\r\n if (!a.value || (!a.checked && !(a.indeterminate && a.getAttribute('w-partialsubmit'))))\r\n return null\r\n break\r\n case 'radio':\r\n if (!a.value || !a.checked)\r\n return null\r\n d = a.getAttribute('w-name') || d\r\n break;\r\n case 'select-one':\r\n if (a.selectedIndex < 0)\r\n return null;\r\n break;\r\n }\r\n v && (v = $.strTrim(v))\r\n if (d in r) {\r\n if (!Array.isArray(r[d]))\r\n r[d] = [r[d]]\r\n r[d].push(v)\r\n } else\r\n r[d] = v\r\n })\r\n return r\r\n },\r\n // 表单验证。如果检测到错误,将返回一个包含错误信息的数组 /@r -> range, n -> validate group name\r\n getValidError(range) {\r\n let e, q = this.getFormList(range)\r\n for (let i = 0, l = q.length, c, v; i < l; i++) {\r\n if ((c = $(q[i])) && c.isFormWidget && (v = c.getValidError())) {\r\n if (!e) e = []\r\n if (!e.find(n => n.wid == v.wid)) e.push(v)\r\n }\r\n }\r\n return e\r\n },\r\n // 表单验证。验证通过返回true /@ range -> validaterange\r\n valid(range) {\r\n if (this._err_ns) {\r\n this._err_ns.forEach(v => {\r\n let n = $.vueMap.get(v.wid)\r\n n && n.warn(false)\r\n })\r\n }\r\n let e = this.getValidError(range)\r\n if (e) {\r\n e.forEach(v => $.vueMap.get(v.wid).warn())\r\n $.vueMap.get(e[0].wid).showErrorTip(e[0].text)\r\n }\r\n return !(this._err_ns = e)\r\n },\r\n // @range -> 范围, original -> (设置为true,检测表单是否有修改,对照的值为初始值)\r\n isModified(range, original) {\r\n return this.getFormList(range).find(o => (o = $(o)).isModified && o.isModified(original))\r\n },\r\n // @range -> 范围, original -> (设置为true,设置为true,修改初始值)\r\n saveModified(range, original) {\r\n this.getFormList(range).forEach(o => (o = $(o)).saveModified && o.saveModified(original))\r\n },\r\n resetForm(range, empty) {\r\n this.getFormList(range).forEach(f => {\r\n let c = $(f)\r\n c.reset && c.reset(empty)\r\n })\r\n },\r\n showLoading(a) {\r\n this.cmd({\r\n type: 'Loading',\r\n cover: true,\r\n local: true,\r\n hide: a === false ? true : false\r\n })\r\n },\r\n cmdDialog(cmd, args, commander) {\r\n if (cmd.hide) {\r\n let o = this.pops.find(v => cmd.hide === true ? v.cmd.type == cmd.type : v.cmd.orientUid == cmd.hide)\r\n return o && this.removeDialog(o.cmd.orientUid)\r\n }\r\n let uid = $.uid()\r\n if (!cmd.orientUid) cmd.orientUid = uid\r\n this.pops.push({\r\n cmd,\r\n args,\r\n commander,\r\n hidden: false,\r\n })\r\n return uid\r\n },\r\n removeDialog(u) {\r\n this.$nextTick(() => {\r\n let o = this.pops.find(v => v.cmd.orientUid == u)\r\n if (o) {\r\n if (this.pops.findIndex(v => v.cmd.orientUid != u && !v.hidden) > -1) {\r\n o.hidden = true\r\n } else {\r\n this.pops = []\r\n }\r\n }\r\n })\r\n },\r\n getDialogOptions(u) {\r\n return this.pops.find(v => v.cmd.orientUid == u)\r\n },\r\n html_pops() {\r\n return [this.pops.map(p => h(Pop, {p}))]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-view {\r\n position: relative;\r\n }\r\n\r\n</style>\n","import script from \"./ViewAbs.vue?vue&type=script&lang=js\"\nexport * from \"./ViewAbs.vue?vue&type=script&lang=js\"\n\nimport \"./ViewAbs.vue?vue&type=style&index=0&id=7d9e1b2b&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import mimeType from '../util/mime.js'\r\n\r\n const suffixHooks = {\r\n '0': 'js.css.pdf.psd.ai.txt.eps.txt',\r\n xls: 'xls.xlsx',\r\n doc: 'doc.docx.rtf',\r\n ppt: 'ppt.pptx',\r\n htm: 'htm.html',\r\n zip: 'rar.zip.tar.jar.z.7z.ace.lzh.arj.gzip.bz2.cab.uue',\r\n fla: 'fla.swf',\r\n fon: 'eot.otf.fon.font.ttf.ttc.woff.woff2',\r\n iso: 'iso.nrg.mds.mdf.bin.cue.img.fcd.lcd.dmg',\r\n vid: 'avi.asf.wmv.avs.flv.mkv.mov.3gp.mp4.webm.mpa.mpe.mpg.mpeg.dat.dsm.ogm.vob.rm.rmvb.ts.tp.ifo.nsv.m4u.m4v.asx.asr.movie.fvi.pvx.rv.vdo.viv.vivo.wm.wmx.wv.wvx.mpv2.mpg4',\r\n aud: 'aif.aifc.aiff.als.awb.mp3.aac.au.wav.wma.cda.flac.m4a.mid.mka.mp2.mpc.ape.ofr.ogg.ra.wv.tta.ac3.dts.wv.shn.vqf.spc.nsf.adx.psf.minipsf.psf2.minipsf2.rsn.zst',\r\n img: 'jpg.jpeg.gif.png.bmp.tif.tiff.ico'\r\n }\r\n\r\n const suffix = (function() {\r\n let r = {}\r\n for (let k in suffixHooks) {\r\n suffixHooks[k].split('.').forEach(v => r[v] = k == '0' ? v : k)\r\n }\r\n return r\r\n })()\r\n\r\n const getSuffix = function(url) {\r\n let a = $.strFrom(url || '', '.', true).toLowerCase()\r\n return suffix[a] || 'file'\r\n }\r\n\r\n // 把 \"1MB\" 转为字节\r\n const fileByte = function(val) {\r\n let unit\r\n if (val != null && !isNaN(val))\r\n val += 'K'\r\n val = $.number(val.replace(/[a-z]+$/i, function($0) {\r\n unit = $0.charAt(0).toUpperCase();\r\n return ''\r\n }))\r\n return val * (unit === 'K' ? 1024 : unit === 'M' ? 1024 * 1024 : unit === 'G' ? 1024 * 1024 * 1024 : unit ===\r\n 'T' ? 1024 * 1024 * 1024 * 1024 : 1)\r\n }\r\n\r\n const fileTypeHooks = {\r\n video: suffixHooks.vid,\r\n audio: suffixHooks.aud,\r\n image: suffixHooks.img\r\n }\r\n\r\n export default {\r\n name: 'w-fileupload',\r\n mixins: [FormBase],\r\n props: ['uploadSrc', 'thumbnailSrc', 'downloadSrc', 'uploadLimit', 'sizeLimit', 'maxFileSize', 'minFileSize',\r\n 'fileTypes', 'filter', 'success', 'error', 'itemWidth', 'click:item', 'vertical',\r\n ],\r\n emits: ['click:item'],\r\n data() {\r\n return {\r\n list: [],\r\n emiting: false,\r\n dir: 'v',\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.x.modelValue, v => {\r\n if (this.emiting) return this.emiting = false\r\n this.list = Array.isArray(v) ? v.map(value => {return {value}}) : v ? [{value: v}] : []\r\n }, {immediate: true})\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0) {\r\n let r = []\r\n this.list.forEach(item => item.value && r.push(item.value))\r\n return r\r\n }\r\n this.x.modelValue = v\r\n this.$emit('update:modelValue', v)\r\n this.trigger('change', v)\r\n },\r\n getFileTypes() {\r\n let t = this.x.fileTypes\r\n return t && t !== '*.*' ? t.replace(/\\*/g, '').replace(/;/g, ',').toLowerCase() : ''\r\n },\r\n getAccept() {\r\n let r = []\r\n let t = this.getFileTypes()\r\n if (!t) return\r\n let n = []\r\n t.toLowerCase().split(',').forEach(b => {\r\n if (!b) return\r\n n.push(fileTypeHooks[b] || b)\r\n })\r\n n.forEach(b => {\r\n b && r.push(mimeType(b) || b)\r\n })\r\n return r.join(',')\r\n },\r\n isImage(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'img'\r\n },\r\n isVideo(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'vid'\r\n },\r\n isAudio(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'aud'\r\n },\r\n fileSelected(e) {\r\n if (this.x.uploadLimit > 1 && e.target.files.length + this.list.length > this.x.uploadLimit) {\r\n return $.alert($.loc.ps($.loc.form.upload_limit, this.x.uploadLimit))\r\n }\r\n let xfs = this.x.maxFileSize && fileByte(this.x.maxFileSize)\r\n let nfs = this.x.minFileSize && fileByte(this.x.minFileSize)\r\n let ft = this.getFileTypes()\r\n let xfs_names\r\n let nfs_names\r\n let ft_names\r\n $.lodash.each(e.target.files, file => {\r\n let sfx = '.' + $.strFrom(file.name, '.', true).toLowerCase()\r\n if (xfs && file.size > xfs) {\r\n (xfs_names || (xfs_names = [])).push(file.name)\r\n } else if (nfs && file.size < nfs) {\r\n (nfs_names || (nfs_names = [])).push(file.name)\r\n } else if (ft && !$.idsAny(ft, sfx, ',')) {\r\n (ft_names || (ft_names = [])).push(file.name)\r\n } else {\r\n this.list.push({file})\r\n }\r\n })\r\n if (xfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_maxfilesize, xfs_names.join('<br>'), this.x.maxFileSize))\r\n } else if (nfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_minfilesize, nfs_names.join('<br>'), this.x.minFileSize))\r\n } else if (ft_names) {\r\n $.alert($.loc.ps($.loc.form.upload_invalid_file_type, ft_names.join('<br>')))\r\n }\r\n e.target.value = '' // 获取文件后要设value为空,否则下一次选择同一个文件不会触发onchange\r\n this.nextUpload()\r\n\r\n },\r\n upload(item) {\r\n if (this.x.uploadSrc && !item.loading) {\r\n let src = $.urlFormat(this.x.uploadSrc, this.x.data, this.x)\r\n let fd = new FormData()\r\n fd.append('Filedata', item.file)\r\n item.loading = true\r\n item.source = $.http.CancelToken.source()\r\n $.http.post(src, fd, {\r\n onUploadProgress: e => item.progress = Math.floor(e.loaded / e.total * 100),\r\n cancelToken: item.source.token\r\n }).then(res => {\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n let d = this.x.filter ? this.x.filter(res, this) : res.data\r\n if (!d) {\r\n item.error = {\r\n message: $.loc.form.upload_no_data\r\n }\r\n } else if (d.error) {\r\n item.error = d.error\r\n } else if (!d.id) {\r\n item.error = {\r\n message: $.loc.ps($.loc.form.upload_invalid_data, JSON.stringify(d))\r\n }\r\n } else {\r\n item.value = d\r\n this.x.success && this.x.success(item.value, this, res)\r\n }\r\n this.nextUpload()\r\n if (item.error && item.error.message) $.alert(item.error.message)\r\n }).catch(error => {\r\n item.error = error\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n if (error.response && error.response.status) $.alert(error.response.status + ': ' + error)\r\n })\r\n }\r\n },\r\n nextUpload() {\r\n for (let item of this.list) {\r\n if (item.loading) return\r\n if (item.file && !item.loaded) {\r\n return this.upload(item)\r\n }\r\n }\r\n this.emiting = true\r\n let v = this.val()\r\n this.$emit('update:modelValue', v)\r\n this.trigger('change', v)\r\n },\r\n clickItem(e, item) {\r\n if (!item.value) return\r\n if (this.getOn('click:item')) {\r\n e.runType = 'click:item'\r\n e.value = item.value\r\n this.trigger(e, item.value)\r\n } else if (this.x.downloadSrc) {\r\n $.download($.urlServer(this.x.downloadSrc, item.value, this.x.data))\r\n }\r\n },\r\n remove(item) {\r\n item.source && item.source.cancel()\r\n let i = this.list.findIndex(v => v == item)\r\n this.list.splice(i, 1)\r\n this.nextUpload()\r\n },\r\n formText() {\r\n let v = this.val()\r\n return v.map(m => m.name).join(', ')\r\n },\r\n chooseFile() {\r\n this.$refs.file.click()\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n let n = item.value ? item.value.name : item.file.name\r\n return h('div', {\r\n class: ['w-fileupload-value', {\r\n 'z-loading': item.loading,\r\n 'z-err': item.error\r\n }],\r\n style: {\r\n '--w-upload-progress': item.file ? `${item.progress || 0}%` : '',\r\n width: $.unitSize(this.x.itemWidth)\r\n },\r\n title: item.error ? item.error.message : n,\r\n onclick: e => this.clickItem(e, item)\r\n }, [\r\n h('i', {\r\n class: ['w-fileupload-value-icon f-i', 'f-i-file-' + getSuffix(n)]\r\n }),\r\n item.error && h('div', {\r\n class: 'w-fileupload-value-error'\r\n }, $.loc.form.upload_error),\r\n h('div', {\r\n class: 'w-fileupload-value-text f-line-1'\r\n }, n), h('div', {\r\n class: 'w-fileupload-value-close f-i f-i-trash',\r\n title: $.loc.remove,\r\n onclick: e => {\r\n this.remove(item), e.stopPropagation()\r\n }\r\n })\r\n ])\r\n })\r\n },\r\n html_input_form() {\r\n return [\r\n this.html_input_hidden(),\r\n h('input', {\r\n type: 'file',\r\n ref: 'file',\r\n multiple: this.x.uploadLimit != 1,\r\n accept: this.getAccept(),\r\n onchange: this.fileSelected\r\n })\r\n ]\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n text: '选择文件',\r\n icon: '.f-i .f-i-upload',\r\n class: 'w-fileupload-button',\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input_list() {\r\n return this.list.length ? h('div', {\r\n ref: 'list',\r\n class: ['w-fileupload-list', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\r\n }, this.html_list()) : !this.isNormal ? h('div', {\r\n class: 'w-fileupload-nofile f-flex-align'\r\n }, $.loc.form.no_files) : null\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(this.canUpload && this.html_input_button(), this.html_input_list())\r\n },\r\n\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n for (let item of this.list) {\r\n if (item.loading) {\r\n return this.formErr({type: 'upload_loading'})\r\n }\r\n if (item.error) {\r\n return this.formErr({type: 'upload_invalid_file'})\r\n }\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n let v = this.val()\r\n return v.length == 0 ? '' : JSON.stringify(v)\r\n },\r\n errorTipTarget() {\r\n return this.$refs.uploadbbr || this\r\n },\r\n canUpload() {\r\n if (!this.isNormal) return false\r\n if (this.x.uploadLimit > 0 && this.list.length >= this.x.uploadLimit) return false\r\n return true\r\n },\r\n html_class() {\r\n return {'z-vertical': this.x.vertical}\r\n },\r\n html_style() {\r\n return {\r\n '--w-label-min-height': '32px',\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: () => this.warn(false)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-fileupload {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-fileupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-fileupload>.w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-fileupload input[type=\"file\"],\r\n .w-mediaupload input[type=\"file\"] {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n \r\n .w-fileupload.z-vertical .w-fileupload-list {\r\n flex-direction: column;\r\n }\r\n\r\n .w-fileupload-button {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-fileupload-value {\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background: #f8f8f8;\r\n overflow: hidden;\r\n }\r\n\r\n .w-fileupload-value.z-loading {\r\n background: linear-gradient(to right, #e5f3ff var(--w-upload-progress), #fff var(--w-upload-progress));\r\n }\r\n\r\n .w-fileupload-value.z-err {\r\n border-color: #f00;\r\n }\r\n\r\n .w-fileupload-value-icon {\r\n width: 30px;\r\n height: 30px;\r\n margin-right: 10px;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-fileupload-value-error {\r\n margin-right: 10px;\r\n color: #f00;\r\n }\r\n\r\n .w-fileupload-value-text {\r\n flex: 1;\r\n margin-right: 15px;\r\n max-width: 100%;\r\n }\r\n\r\n .w-fileupload-value-text:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n .w-fileupload.z-ds .w-fileupload-value-close {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-value-close {\r\n padding-right: 8px;\r\n color: #999;\r\n }\r\n\r\n .w-fileupload-value-close:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-fileupload-nofile {\r\n color: #999;\r\n height: 32px;\r\n }\r\n\r\n .w-fileupload.z-err .w-fileupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\n","import script from \"./FileUpload.vue?vue&type=script&lang=js\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=js\"\n\nimport \"./FileUpload.vue?vue&type=style&index=0&id=4fe506ce&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import MediaUpload from './MediaUpload.vue'\r\n\r\n export default {\r\n name: 'w-imageupload',\r\n mixins: [MediaUpload],\r\n methods: {\r\n x_default() {\r\n return {\r\n fileTypes: 'image',\r\n //valign: 'top',\r\n thumbnailWidth: 80,\r\n thumbnailHeight: 80,\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-mediaupload'\r\n },\r\n },\r\n }\r\n</script>\n","import script from \"./ImageUpload.vue?vue&type=script&lang=js\"\nexport * from \"./ImageUpload.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetAbs from './WidgetAbs.vue' \r\n import ViewAbs from './ViewAbs.vue' \r\n import SVGIcon from '../assets/SVGIcon.vue'\r\n import TemplatePreviewMedia from '../template/TemplatePreviewMedia.vue'\r\n import TemplateDateSheet from '../template/TemplateDateSheet.vue'\r\n \r\n\r\n export default {\r\n name: 'w-docview',\r\n mixins: [WidgetAbs, ViewAbs],\r\n provide() {\r\n return {\r\n providePubParent: null,\r\n provideBoxParent: null,\r\n provideRangeParent: null,\r\n }\r\n },\r\n beforeCreate() {\r\n $.docView = this\r\n $.q('#app').append('<div id=w-dfish-pops></div>')\r\n },\r\n methods: {\r\n el() {\r\n return document.getElementById('app')\r\n },\r\n getKey() {\r\n return null\r\n },\r\n previewVideo(src) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'video', src}})\r\n },\r\n previewImage(imgs, options) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'image', imgs, options}})\r\n },\r\n //dateOptions: {value, format, minValue, maxValue, success}\r\n dateSheet(dateOptions, dialogOptions) {\r\n this.exec({\r\n type: 'Dialog',\r\n template: TemplateDateSheet,\r\n width: '100%',\r\n height: '55%',\r\n position: 'b',\r\n cover: true,\r\n autoHide: true,\r\n data: dateOptions,\r\n }, null, dialogOptions)\r\n },\r\n html() {\r\n return [\r\n this.$slots.default && this.$slots.default(),\r\n this.html_pops(),\r\n h(SVGIcon),\r\n ]\r\n }\r\n },\r\n mounted() {\r\n if ($.x.debug) {\r\n\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./DocView.vue?vue&type=script&lang=js\"\nexport * from \"./DocView.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import THead from './TableTHead.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-tbody',\r\n mixins: [THead, Scroll],\r\n inject: ['table'],\r\n provide() {\r\n return {\r\n thead: null,\r\n provideInBody: true,\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.table.x, (x) => {\r\n this.x.scrollX = x.scrollX\r\n this.x.scrollY = this.table.fixed ? true : x.scrollY\r\n }, {\r\n immediate: true\r\n })\r\n },\r\n methods: {\r\n onScroll(e) {\r\n let t = this.table\r\n let hd = t.slotHooks.thead\r\n if (hd) {\r\n hd.el.scrollLeft = e.target.scrollLeft\r\n }\r\n },\r\n onScrollPosition(v) {\r\n let el = this.table.el()\r\n if (el && v == 'left' || v == 'center' || v == 'right') {\r\n el.setAttribute('w-scroll-x', v)\r\n }\r\n },\r\n onScrollAttributeChange(e) {\r\n let el = this.table.el()\r\n if (el) {\r\n e.forEach(m => {\r\n let n = m.attributeName\r\n m.target.hasAttribute(n) ? el.setAttribute(n, '') : el.removeAttribute(n)\r\n })\r\n }\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots(this.html_tbody())\r\n }\r\n },\r\n computed: {\r\n inBody() {\r\n return true\r\n },\r\n html_class() {\r\n return ['w-vertical f-flex-1 f-oh', this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./TableTBody.vue?vue&type=script&lang=js\"\nexport * from \"./TableTBody.vue?vue&type=script&lang=js\"\n\nexport default script","import {number, isNumber} from './number.js'\r\nimport {css} from './css.js'\r\n\r\nconst T = true\r\nconst F = false\r\nconst N = null\r\nconst doc = document\r\nconst cvs = document.documentElement\r\n\r\nconst _arr_comma = a => a.split(',')\r\n\r\nconst _snaptype = {\n\th : _arr_comma('21,12,34,43'),\n\tv : _arr_comma('41,14,32,23'),\n\ta : _arr_comma('41,32,14,23,21,34,12,43,11'),\n\tt: ['tt'], b: ['bb'], l: ['ll'], r: ['rr'], c: ['cc'], top: ['tt'], bottom: ['bb'], left: ['ll'], right: ['rr'],\n\ttl: ['11'], tr: ['22'], rt: ['22'], rb: ['33'], br: ['33'], bl: ['44'], lb: ['44'], lt: ['11'], \n\t'1': ['11'], '2': ['22'], '3': ['22'], '4': ['33'], '5': ['33'], '6': ['44'], '7': ['44'], '8': ['11']\n}\r\n\nconst _snapMag = (function() {\n\tvar r = [23,22,33,32,21,34,'rr','rl'], b = [14,23,34,43,33,44,'bb','tb'], i, o = {pix: {r:{}, b:{}}, mag: {l:{}, r:{}, t:{}, b:{}}, inner:{}};\n\ti = r.length; while (i --) o.pix.r[r[i]] = T;\n\ti = b.length; while (i --) o.pix.b[b[i]] = T;\n\tvar r = [21,34,22,33,'rr','rl'], b = [41,32,44,33,'bt','bb'], l = [12,43,11,44,'lr','ll'], t = [14,23,11,22,'tb','tt'];\n\ti = r.length; while (i --) o.mag.r[r[i]] = T;\n\ti = b.length; while (i --) o.mag.b[b[i]] = T;\n\ti = l.length; while (i --) o.mag.l[l[i]] = T;\n\ti = t.length; while (i --) o.mag.t[t[i]] = T;\n\tvar r = [11,22,33,44,'tt','bb','ll','rr'];\n\ti = r.length; while (i --) o.inner[r[i]] = T;\n\treturn o;\n})()\r\n\r\nconst canvasOffset = function(o) {\n\tvar a = bcr(o);\n\ta.right = cvs.clientWidth - a.right;\n\ta.bottom = cvs.clientHeight - a.bottom;\n\treturn a;\n}\r\n\r\nconst offset = function(a, b) {\n\tlet r = {top: 0, left: 0, width: a.offsetWidth, height: a.offsetHeight}\n\tdo {\n\t\tr.top += a.offsetTop\r\n r.left += a.offsetLeft\n\t} while((a = a.offsetParent) && b != a)\n\treturn r\n}\r\n\r\nconst bcr = function(a) {\n\tvar b = cvs.clientLeft, c = cvs.scrollLeft, d = cvs.clientTop, e = cvs.scrollTop, o = a && a != doc && (a.isWidget ? a.el() : a), r = o && o.getBoundingClientRect();\n\treturn r ? {left : r.left - b + c, top : r.top - d + e, right : r.right - b + c, bottom : r.bottom - d + e, width : r.width, height : r.height} :\n\t\ta == document ? {left: c, top: e, right: cvs.clientWidth + c, bottom: cvs.clientHeight + e, width: cvs.clientWidth, height: cvs.clientHeight} : N;\n}\r\n\n// 获取对齐吸附模式的位置参数。元素四个角,左上为1,右上为2,右下为3,左下为4。目标元素在前,浮动元素在后。如\"41\"代表目标元素的左下角和浮动元素的左上角粘合。\n// @ a -> width, b -> height, c -> toObj offset, d -> adsorb type, e - > fit?[是否自动选择位置,让可见区域最大化], f -> indent[缩进多少像素], u -> range?[浮动元素的限定范围元素]\nconst snap = function(a, b, c, d, e, f, u) {\n\tif (!c)\n\t\tc = bcr(doc);\n\telse if (c.nodeType)\n\t\tc = bcr(c);\n\telse if (c.isWidget)\n\t\tc = bcr(c.el());\n\telse if (c.originalEvent || c.clientX != N) {\n\t\tc = c.originalEvent || c;\n\t\tc = {left: c.clientX, right: c.clientX, top: c.clientY, bottom: c.clientY};\n\t}\n\tvar t = [], l = [], g, h, k = -1, f = number(f), ew = cvs.clientWidth, eh = cvs.clientHeight,\n\t\ts = d ? (_snaptype[d] || ('' + d).split(',')) : _snaptype.a;\r\n\tif (/[1-4]/.test(s[0])) {// 1-4是边角对齐 .\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = + s[i].charAt(0), h = + s[i].charAt(1);\n\t\t\tt.push((g === 1 || g === 2 ? c.top : c.bottom) - (h === 3 || h === 4 ? b : 0));\n\t\t\tl.push((g === 1 || g === 4 ? c.left : c.right) - (h === 2 || h === 3 ? a : 0));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// 计算可见面积,取最大的那个\n\t\t\t\tvar ot = t[i] < 0 ? -t[i] : 0,\n\t\t\t\t\tor = l[i] + a > ew ? l[i] + a - ew : 0,\n\t\t\t\t\tob = t[i] + b > eh ? t[i] + b - eh : 0,\n\t\t\t\t\tol = l[i] < 0 ? -l[i] : 0;\n\t\t\t\tm = s[i] === '14' || s[i] === '34' ? (a-or)*(b-ot) : s[i] === '23' || s[i] === '43' ? (a-ol)*(b-ot) :\n\t\t\t\t\ts[i] === '32' || s[i] === '12' ? (a-ol)*(b-ob) : (a-or)*(b-ob);\n\t\t\t\tif (!n || n < m) {\n\t\t\t\t\tn = m;\n\t\t\t\t\tk = i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {// t r b l 是边线中点对齐 .\r\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = s[i].charAt(0), h = s[i].charAt(1);\r\n\t\t\tt.push((g === 'r' || g === 'l' || g === 'c' ? (c.top + c.bottom) / 2 : (g === 't' ? c.top : c.bottom)) - (h === 'r' || h === 'l' || h === 'c' ? b / 2 : (h === 'b' ? b : 0)));\n\t\t\tl.push((g === 't' || g === 'b' || g === 'c' ? (c.left + c.right) / 2 : (g === 'r' ? c.right : c.left)) - (h === 't' || h === 'b' || h === 'c' ? a / 2 : (h === 'r' ? a : 0)));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else if (o || p) {\n\t\t\t\tif (d) {\n\t\t\t\t\tm = d == _snaptype.v ? (g == 1 || g == 2 ? - t[i] : t[i] + b - eh) : (g == 1 || g == 4 ? - l[i] : l[i] + a - ew);\n\t\t\t\t\tif (!n || n > m) {\n\t\t\t\t\t\tn = m;\n\t\t\t\t\t\tk = i;\n\t\t\t\t\t}\n\t\t\t\t} else if (k < 0)\n\t\t\t\t\tk = i;\n\t\t\t}\n\t\t}\n\t}\r\n\tif (k < 0) k = 0;\n\tvar y = s[k], o = {left : l[k], top : t[k], bottom: eh - (t[k] + b), right: ew - (l[k] + a), type : y};\r\n\t_snapMag.pix.r[y] && (o.pix_r = T);\n\t_snapMag.pix.b[y] && (o.pix_b = T);\n\t_snapMag.mag.r[y] && (o.mag_r = T, o.mag = 'r');\n\t_snapMag.mag.b[y] && (o.mag_b = T, o.mag = 'b');\n\t_snapMag.mag.l[y] && (o.mag_l = T, o.mag = 'l');\n\t_snapMag.mag.t[y] && (o.mag_t = T, o.mag = 't');\n\t_snapMag.inner[y] && (o.inner = T);\r\n\tif (f && o.mag) {\n\t\tif (o.inner) {\n\t\t\to.mag_t ? (o.top -= f) : o.mag_b ? (o.bottom -= f) : o.mag_r ? (o.right -= f) : (o.left -= f);\n\t\t} else {\n\t\t\to.mag_t ? (o.bottom -= f) : o.mag_b ? (o.top -= f) : o.mag_r ? (o.left -= f) : (o.right -= f);\n\t\t}\n\t}\n\tif (e) {// 自适应位置 \n\t\tvar l = o.left, r = o.right, b = o.bottom, t = o.top;\r\n\t\tif (o.mag_t || o.mag_b) {\n\t\t\tif (o.pix_r)\n\t\t\t\tr = Math.max(0, l < 0 ? r + l : r), l += o.right - r;\n\t\t\telse\n\t\t\t\tl = Math.max(0, r < 0 ? r + l : l), r += o.left - l;\n\t\t}\n\t\tif (o.mag_l || o.mag_r) {\n\t\t\tif (o.pix_b)\n\t\t\t\tb = Math.max(0, t < 0 ? b + t : b), t += o.bottom - b;\n\t\t\telse\n\t\t\t\tt = Math.max(0, b < 0 ? b + t : t), b += o.top - t;\n\t\t}\n\t\to.left = l, o.right = r, o.top = t, o.bottom = b;\n\t} \n\tif (d === 'cc' && o.top < 0)\n\t\to.top = 0;\n\tif (u) {\r\n \t\tvar s = canvasOffset(u);\n\t\to.top -= (s.top);\n\t\to.left -= (s.left);\n\t\to.right -= (s.right);\n\t\to.bottom -= (s.bottom);\r\n\t}\n\to.width = a;\n\to.height = b;\n\to.target = c; \n\treturn o;\n}\r\n\r\n// @a -> el, b -> snap option\nconst snapTo = function(a, b) {\n\tvar e = b.type;\n\tif (e) {\n\t\tif (b.pix_r) {\n\t\t\ta.style.right = b.right + 'px';\n\t\t\ta.style.left = '';\n\t\t} else {\n\t\t\ta.style.left = b.left + 'px';\n\t\t\ta.style.right = '';\n\t\t}\n\t\tif (b.pix_b) {\n\t\t\ta.style.bottom = b.bottom + 'px';\n\t\t\ta.style.top = '';\n\t\t} else {\n\t\t\ta.style.top = b.top + 'px';\r\n\t\t\ta.style.bottom = '';\n\t\t}\n\t} else\n\t\tcss(a, b)\n}\r\n\r\nexport {bcr, offset, snap, snapTo}\n","let _uidCnt = 0\r\nconst _uidKey = 'uid'\r\nconst _guid = () => (_uidCnt++).toString(36) + ':'\r\n\r\nexport default function(o) {\r\n if (o) {\r\n return o[_uidKey] || (o[_uidKey] = _guid())\r\n }\r\n return _guid()\r\n}","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Img from './Img.vue'\r\n import Menu from './Menu.vue'\r\n\r\n export default {\r\n name: 'w-button',\r\n pubParentName: 'w-buttonbar',\r\n mixins: [WidgetBase],\r\n props: ['text', 'icon', 'focusIcon', 'face', 'target', 'closable', 'loading', 'disabled', 'vertical', 'dropClass', 'dropPosition', 'dropHover', 'dropIcon'],\r\n inject: ['providePubParent'],\r\n emits: ['click:close'],\r\n data() {\r\n return {\r\n dropper: null,\r\n showDrop: false,\r\n mouses: {\r\n onmouseenter: e => {e.currentTarget.classList.add('z-hv'); this.x.dropHover && this.drop()},\r\n onmouseleave: e => e.currentTarget.classList.remove('z-hv'),\r\n onmousedown: e => e.currentTarget.classList.add('z-down'),\r\n onmouseup: e => e.currentTarget.classList.remove('z-down'),\r\n }\r\n }\r\n },\r\n watch: {\r\n disabled(a) {\r\n a && $.q('.z-hv', this.el()).removeClass('z-hv')\r\n }\r\n },\r\n methods: {\r\n ajaxLock(a) {\r\n a = a == null ? true : a\r\n this.x.loading = a\r\n },\r\n drop() {\r\n this.showDrop = true\r\n },\r\n onclick(e) {\r\n if (this.isMore) {\r\n this.drop()\r\n }\r\n if (this.pubParent && this.pubParent.clickTab) {\r\n this.pubParent.clickTab(this)\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n clickDrop(e) {\r\n if (this.isDisabled) return\r\n e.stopPropagation()\r\n this.drop()\r\n },\r\n html_drop() {\r\n return \r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n if (this.x.loading) {\r\n r.push(h('div', {\r\n class: 'w-button-loading f-abs-full f-flex-center'\r\n }, h(Img, {\r\n src: '#f-svg-loading'\r\n })))\r\n }\r\n if (this.x.icon) {\r\n r.push(this.html_icon(this.x.focusIcon && this.isCurrent ? this.x.focusIcon : this.x.icon,\r\n 'w-button-icon f-flex-center f-height'))\r\n }\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-button-text'\r\n }, t))\r\n }\r\n if (this.isMore) {\r\n r.push(h(Img, {\r\n class: 'w-button-more f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down'\r\n }))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-button-close f-flex-center'\r\n }, h('i', {\r\n class: 'w-button-close-icon f-i f-i-close',\r\n onclick: this.clickClose,\r\n })))\r\n }\r\n return [\r\n h('div', {\r\n class: 'w-button-main f-oh f-height',\r\n ...(this.isCombo && !this.isDisabled && this.mouses),\r\n }, r),\r\n this.isCombo && h(Img, {\r\n class: 'w-button-drop f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down',\r\n ...(!this.isDisabled && this.mouses),\r\n onclick: this.clickDrop\r\n }),\r\n this.showDrop ? h(Menu, {\r\n context: this,\r\n ownproperty: true,\r\n minWidth: $.bcr(this.el()).width,\r\n autoHide: true,\r\n dropHover: this.x.dropHover,\r\n dropClass: this.x.dropClass,\r\n dropPosition: this.x.dropPosition,\r\n snap: {\r\n target: () => this.el(),\r\n position: this.x.dropPosition || 'v',\r\n indent: 1\r\n },\r\n onClose: () => this.showDrop = false\r\n }, this.$slots) : []\r\n ]\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n isMore() {\r\n return !!this.$slots.default && !this.getOn('click')\r\n },\r\n isCombo() {\r\n return !!(this.$slots.default && this.getOn('click'))\r\n },\r\n isDisabled() {\r\n return this.x.disabled || this.x.loading\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.isDisabled,\r\n class: {\r\n [`z-face-${this.x.face}`]: this.x.face,\r\n 'z-combo': this.isCombo,\r\n 'z-more': this.isMore,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-loading': this.x.loading,\r\n 'z-vertical': this.x.vertical,\r\n 'z-closable': this.x.closable\r\n },\r\n onclick: this.onclick,\r\n ...(!this.isCombo && this.mouses),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./Button.vue?vue&type=script&lang=js\"\nexport * from \"./Button.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FileUpload.vue?vue&type=style&index=0&id=4fe506ce&lang=css\"","<script>\r\n export default {\r\n name: 'w-columns'\r\n }\r\n</script>\r\n\r\n","import script from \"./TableColumns.vue?vue&type=script&lang=js\"\nexport * from \"./TableColumns.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Swiper.vue?vue&type=style&index=0&id=6fe3e638&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, ref\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-checkbox',\r\n pubParentName: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['text', 'checked', 'partialSubmit', 'minSize', 'maxSize'],\r\n inject: ['providePubParent', 'provideBoxParent'],\r\n emits: ['change', 'update:checked', 'click'],\r\n data() {\r\n return {\r\n isPlural: true,\r\n indeterminate: false,\r\n modifiedChecked: false,\r\n defaultChecked: false,\r\n }\r\n },\r\n created() {\r\n if (this.provideBoxParent) {\r\n this.provideBoxParent.boxProxy = this\r\n }\r\n this.defaultChecked = this.isChecked\r\n this.modifiedChecked = this.isChecked\r\n },\r\n methods: {\r\n val(a) {\r\n if (arguments.length == 0) {\r\n return this.getVal()\r\n }\r\n this.setVal(a, {\r\n type: 'change',\r\n target: this.$refs.v\r\n })\r\n },\r\n getVal() {\r\n return this.isChecked ? this.value : ''\r\n },\r\n setVal(checked, event) {\r\n let p = this.pubParent\r\n let v = this.checkValue\r\n let rdo = this.input_type === 'radio'\r\n let mv = this.x.modelValue\r\n if (rdo) {\r\n mv = checked ? $.string(v) : ''\r\n } else {\r\n mv = checked ? $.idsAdd(mv, v) : $.idsRemove(mv, v)\r\n }\r\n this.x.modelValue = mv\r\n if (rdo) {\r\n this.siblings().forEach(sb => sb.x.modelValue = mv)\r\n }\r\n this.$emit('update:modelValue', mv)\r\n this.trigger(event, mv)\r\n this.pubParent && this.pubParent.trigger(event, mv)\r\n },\r\n formVal() {\r\n return !this.isDisabled && this.isChecked ? this.x.value : ''\r\n },\r\n groupFormVal(a) {\r\n if (a == null) {\r\n let r = []\r\n $.lodash.each(this.siblings(null, true), f => {\r\n let g = f.formVal()\r\n if (g != null && g != '') r.push(g)\r\n })\r\n return r.join(',')\r\n }\r\n $.lodash.each(this.siblings(), f => f.val($.idsAny(a, f.checkValue)))\r\n },\r\n check(a) {\r\n if (!this.isNormal) return\r\n this.val(a)\r\n },\r\n // @a -> T/F 是否只获取所有选中项, b -> 是否只选择可用的\r\n siblings(a, b) {\r\n return $.lodash.map($.q(':input[name=\"' + this.input_name + '\"]:not([w-form-ignore] :input)' + (b ? ':not(:disabled)' : '') +\r\n (a === true ? ':checked' : a === false ? ':not(:checked)' : (a || '')), this.ownerView.el()), e => $(e))\r\n },\r\n relate() {\r\n // implement\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n if (this.pubParent) {\r\n this.pubParent.reset(empty)\r\n } else {\r\n this.val(empty || !this.defaultChecked ? false : true)\r\n }\r\n },\r\n onclick(e) {\r\n //implement\r\n e.stopPropagation()\r\n },\r\n onbasechange(e) {\r\n if (this.warnClass && this.x.name) {\r\n this.ownerView.fAll(this.x.name).forEach(v => v.warn && v.warn(false))\r\n }\r\n this.setVal(e.target.checked, e)\r\n },\r\n onchange(e) {\r\n this.onbasechange(e)\r\n },\r\n isModified(original) {\r\n if (this.pubParent) {\r\n return this.pubParent.isModified(original)\r\n } else {\r\n let c = original ? this.defaultChecked : this.modifiedChecked\r\n return c == this.isChecked\r\n }\r\n },\r\n saveModified(original) {\r\n if (this.pubParent) {\r\n this.pubParent.saveModified(original)\r\n } else {\r\n this.modifiedChecked = this.isChecked\r\n if (original) {\r\n this.defaultChecked = this.modifiedChecked\r\n }\r\n }\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n html_input() {\r\n return [h(this.input_tag, {\r\n ref: 'v',\r\n class: 'w-input-value',\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n checked: this.isChecked,\r\n disabled: this.isDisabled,\r\n onclick: e => {\r\n if (this.isNormal) {\r\n this.indeterminate = false\r\n } else e.preventDefault()\r\n },\r\n onchange: this.onchange,\r\n ...this.input_prop,\r\n }), h('em', {\r\n ref: 'appear',\r\n class: this.$options.name + '-appear'\r\n }, h('i', {\r\n class: this.input_icon\r\n })),\r\n this.x.text ?\r\n h('span', {\r\n class: this.$options.name + '-text'\r\n }, this.x.text) : null\r\n ]\r\n },\r\n html_main() {\r\n return h('label', {\r\n class: 'w-input',\r\n onclick: this.onclick,\r\n }, this.html_input())\r\n },\r\n html_target() {\r\n return h(Horizontal, {\r\n class: this.$options.name + '-target',\r\n ref: 'target'\r\n }, this.$slots)\r\n },\r\n html() {\r\n return this.pubParent && this.pubParent.x.vertical ? [this.html_self(true), this.html_target()] : this.html_self()\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minSize: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && v.split(',').length < $.number(r))\r\n return this.formErr(q, [r])\r\n },\r\n maxSize: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && v.split(',').length > $.number(r))\r\n return this.formErr(q, [r])\r\n },\r\n }\r\n },\r\n rules() {\r\n return {\r\n required: this.x.required != null ? this.x.required : (this.pubParent && this.pubParent.x.required),\r\n minSize: this.x.minSize != null ? this.x.minSize : (this.pubParent && this.pubParent.x.minSize),\r\n maxSize: this.x.maxSize != null ? this.x.maxSize : (this.pubParent && this.pubParent.x.maxSize),\r\n }\r\n },\r\n input_type() {\r\n return 'checkbox'\r\n },\r\n input_name() {\r\n return this.x.name || (this.pubParent && this.pubParent.x.name)\r\n },\r\n input_value() {\r\n // 如果没有定义value,必须返回空字符串。因为当<input type=\"checkbox\">没有value属性时,它的表单值会变成\"on\"\r\n return this.x.value == null ? '' : this.x.value\r\n },\r\n input_prop() {\r\n return {\r\n indeterminate: this.indeterminate,\r\n 'w-partialsubmit': this.x.partialSubmit ? 1 : null,\r\n }\r\n },\r\n input_icon() {\r\n return 'f-i f-i-check'\r\n },\r\n checkValue() {\r\n return this.x.value\r\n },\r\n isChecked() {\r\n return $.idsAny(this.x.modelValue, this.checkValue)\r\n },\r\n isDisabled() {\r\n return this.x.disabled != null ? this.x.disabled : (this.pubParent && this.pubParent.disabled)\r\n },\r\n isReadonly() {\r\n return this.x.readonly != null ? this.x.readonly : (this.pubParent && this.pubParent.readonly)\r\n },\r\n html_class() {\r\n return {\r\n 'z-half': this.indeterminate\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.$refs.target) {\r\n this.$watch(() => this.x.modelValue, (v) => {\r\n this.siblings().forEach((sb) => {\r\n let t = sb.$refs.target\r\n if (t) this.ownerView.fAll(null, t.$el).forEach(n => n.x.disabled = !sb.isChecked)\r\n })\r\n }, {immediate: true})\r\n }\r\n },\r\n }\r\n</script>\n","import script from \"./CheckBox.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBox.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tip.vue?vue&type=style&index=0&id=129e762e&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./DialogMove.vue?vue&type=style&index=0&id=5a3b6ded&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Timeline.vue?vue&type=style&index=0&id=ab029c5a&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TemplateDateSheet.vue?vue&type=style&index=0&id=e271d2a6&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FormBase.vue?vue&type=style&index=0&id=609034ec&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['src', 'children'],\r\n data() {\r\n return {\r\n loading: false,\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n getSrc() {\r\n return (this.x || this.$props).src\r\n },\r\n request(fn) {\r\n let src = this.getSrc()\r\n if (src && !this.loading) {\r\n this.showLoading(true)\r\n if (typeof src === 'function') {\r\n src(this).then(res => {\r\n this.showLoading(false)\r\n this.loaded = true\r\n fn && fn()\r\n }).catch(ex => {\r\n this.showLoading(false)\r\n this.loaded = true\r\n })\r\n }\r\n }\r\n },\r\n showLoading(a) {\r\n this.loading = a\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./SrcParent.vue?vue&type=script&lang=js\"\nexport * from \"./SrcParent.vue?vue&type=script&lang=js\"\n\nexport default script","<template>\r\n <w-loading />\r\n</template>\r\n\r\n","import { render } from \"./TemplateLoading.vue?vue&type=template&id=1e19074e\"\nconst script = {}\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-label',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['text', 'suffix', 'vertical'],\r\n methods: {\r\n html_slots() {\r\n return h('label', {class: 'w-label-text'}, \r\n h('span', this.$slots.default ? this.$slots.default() : this.x.text + (this.x.suffix == null ? '' : this.x.suffix)))\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n this.x.vertical && (this.$parent.labelVertical = true)\r\n return ['f-oh f-br' + (this.x.vertical ? ' z-vertical' : ''), this.html_align_class]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Label.vue?vue&type=script&lang=js\"\nexport * from \"./Label.vue?vue&type=script&lang=js\"\n\nexport default script","<template>\r\n <svg style=\"display:none;width:0;height:0\" width=\"0\" height=\"0\" focusable=\"false\" aria-hidden=\"true\">\r\n <symbol id=\"f-svg-loading\" viewBox=\"0 0 50 50\">\r\n <path\r\n d=\"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\"\r\n transform=\"rotate(86.9154 25 25)\">\r\n </path>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-1\" viewBox=\"10 10 80 80\">\r\n <circle cx=\"50\" cy=\"50\" r=\"30\" />\r\n </symbol>\r\n <symbol id=\"f-svg-loading-2\" viewBox=\"0 0 24 30\">\r\n <rect x=\"0\" y=\"8.66115\" width=\"4\" height=\"12.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"8\" y=\"6.16115\" width=\"4\" height=\"17.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"16\" y=\"6.33885\" width=\"4\" height=\"17.3223\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-3\" viewBox=\"0 0 1024 1024\">\r\n <path\r\n d=\"M514.048 337.715a32 32 0 0 1-32-32V135.168a32 32 0 1 1 64 0v170.534a32 32 0 0 1-32 32z m-1.28 581.799a32 32 0 0 1-32-32V714.406a32 32 0 1 1 64 0v173.095a32 32 0 0 1-32 32zM305.011 543.347H135.744a32 32 0 0 1 0-64h169.267a32 32 0 0 1 0 64z m583.079 0H713.83a32 32 0 0 1 0-64h174.26a32 32 0 1 1 0 64zM245.978 806.4a32 32 0 0 1-22.656-54.669L342.643 632.32a32 32 0 0 1 45.325 45.325L268.646 796.979a31.898 31.898 0 0 1-22.668 9.344z m408.435-408.5a32 32 0 0 1-22.656-54.68l123.558-123.56a32 32 0 1 1 45.325 45.3L677.12 388.544a31.898 31.898 0 0 1-22.669 9.357z m121.523 411.06a31.885 31.885 0 0 1-22.669-9.344l-122.15-122.15a32 32 0 1 1 45.325-45.325l122.15 122.15a32 32 0 0 1-22.656 54.669zM364.672 397.632a31.923 31.923 0 0 1-22.669-9.344L221.273 267.52a32 32 0 1 1 45.325-45.325l120.73 120.743a32 32 0 0 1-22.656 54.668z m0 0\"\r\n p-id=\"4486\"></path>\r\n </symbol>\r\n </svg>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n name: 'w-svg-loading'\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-svg {\r\n width: 20px;\r\n height: 20px;\r\n fill: #777;\r\n }\r\n \r\n .f-svg-loading {\r\n animation: f-svg-key-rotate .6s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1 {\r\n animation: f-svg-key-rotate 1.5s linear infinite;\r\n }\r\n \r\n .f-svg-loading-3 {\r\n animation: f-svg-key-rotate 2s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1>use {\r\n stroke: #777;\r\n stroke-width: 6;\r\n fill: none;\r\n animation: f-svg-key-dash 1.5s linear infinite;\r\n }\r\n\r\n @keyframes f-svg-key-rotate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n @keyframes f-svg-key-dash {\r\n 0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -50;\r\n }\r\n 100% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -188;\r\n }\r\n }\r\n</style>\n","import { render } from \"./SVGIcon.vue?vue&type=template&id=a53c637e\"\nimport script from \"./SVGIcon.vue?vue&type=script&lang=js\"\nexport * from \"./SVGIcon.vue?vue&type=script&lang=js\"\n\nimport \"./SVGIcon.vue?vue&type=style&index=0&id=a53c637e&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import Button from './Button.vue'\r\n\r\n export default {\r\n name: 'w-submitbutton',\r\n pubParentName: 'w-buttonbar',\r\n mixins: [Button],\r\n computed: {\r\n html_class() {\r\n return 'w-button'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n \r\n</style>\r\n","import script from \"./SubmitButton.vue?vue&type=script&lang=js\"\nexport * from \"./SubmitButton.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SlidePicker.vue?vue&type=style&index=0&id=2b33e34a&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Scroll from './Scroll.vue'\r\n import PubParent from './PubParent.vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n\r\n export default {\r\n name: 'w-timeline',\r\n mixins: [Scroll, PubParent],\r\n props: ['face', 'vertical'],\r\n methods: {\r\n indent() {\r\n let len = this.$refs.wrap.querySelectorAll('.w-timeline-item').length\r\n if (len <= 1) return\r\n let vt = this.x.vertical\r\n let size = vt ? 'width' : 'height'\r\n let prevWidth = 0\r\n let nextWidth = 0\r\n for (let i = 0; i < len; i++) {\r\n let prev = this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i}\"]`)\r\n let next = i < len - 1 && this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i+1}\"]`)\r\n let prevBcr = $.bcr(prev.querySelector('.w-timeline-item-icon-img'))\r\n if (prev.parentNode == this.$refs.prev) {\r\n prevWidth = Math.max(prevWidth, prevBcr[size])\r\n } else {\r\n nextWidth = Math.max(nextWidth, prevBcr[size])\r\n }\r\n if (next && prev.parentNode != next.parentNode) {\r\n let nextBcr = $.bcr(next.querySelector('.w-timeline-item-icon-img'))\r\n if (vt && prevBcr.bottom + 25 > nextBcr.top) {\r\n $.q(next).css({\r\n marginTop: prevBcr.bottom + 25 - nextBcr.top\r\n })\r\n } else if (!vt && prevBcr.right + 50 > nextBcr.left) {\r\n $.q(next).css({\r\n marginLeft: prevBcr.right + 50 - nextBcr.left\r\n })\r\n }\r\n }\r\n }\r\n let prevItems = $.q('.w-timeline-item', this.$refs.prev)\r\n prevItems.each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginRight' : 'marginBottom']: (prevWidth - bcr[size]) / 2\r\n })\r\n })\r\n $.q('.w-timeline-item', this.$refs.next).each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginLeft' : 'marginTop']: (nextWidth - bcr[size]) / 2\r\n })\r\n })\r\n prevItems.length && $.q(this.$refs.next).css({\r\n [vt ? 'marginLeft' : 'marginTop']: `-${nextWidth/2 + prevWidth/2}px`\r\n })\r\n\r\n let firstBcr = $.bcr($.q(`.w-timeline-item[w-index=\"0\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let lastBcr = $.bcr($.q(`.w-timeline-item[w-index=\"${len-1}\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let wrapBcr = $.bcr(this.$refs.wrap)\r\n if (this.x.vertical) {\r\n $.q(this.$refs.line).css({\r\n width: 2,\r\n height: lastBcr.top - firstBcr.bottom,\r\n top: firstBcr.bottom - wrapBcr.top,\r\n left: (firstBcr.left + firstBcr.right) / 2 - wrapBcr.left - 1,\r\n })\r\n } else {\r\n $.q(this.$refs.line).css({\r\n width: lastBcr.left - firstBcr.right,\r\n height: 2,\r\n top: (firstBcr.top + firstBcr.bottom) / 2 - wrapBcr.top - 1,\r\n left: firstBcr.right - wrapBcr.left\r\n })\r\n }\r\n\r\n },\r\n html_slots() {\r\n let prevSlots = []\r\n let nextSlots = []\r\n let vt = this.x.vertical\r\n this.slots_children().forEach((c, i) => {\r\n $.lodash.set(c, 'props.index', i)\r\n if (vt) {\r\n (c.props.position == 'right' ? prevSlots : nextSlots).push(c)\r\n } else {\r\n (c.props.position == 'bottom' ? nextSlots : prevSlots).push(c)\r\n }\r\n })\r\n return this.html_scroll_slots(\r\n h('div', {\r\n ref: 'wrap',\r\n class: 'w-timeline-wrap'\r\n }, [\r\n h('div', {\r\n ref: 'line',\r\n class: 'w-timeline-line'\r\n }),\r\n h('div', {\r\n ref: 'prev',\r\n class: ['w-timeline-prev', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\r\n }, prevSlots),\r\n h('div', {\r\n ref: 'next',\r\n class: ['w-timeline-next', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\r\n }, nextSlots),\r\n ])\r\n )\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return [this.html_scroll_class,\r\n {\r\n ['z-face-' + this.x.face]: this.x.face,\r\n 'z-horizontal': !this.x.vertical,\r\n 'z-vertical': this.x.vertical\r\n }\r\n ]\r\n }\r\n },\r\n mounted() {\r\n this.indent()\r\n const observe = () => {\r\n if (this.$refs.wrap && this.$refs.next) {\r\n $.q('.w-timeline-item', this.$refs.wrap).css({[this.x.vertical ? 'marginTop' : 'marginLeft']: 0})\r\n $.q(this.$refs.next).css({[this.x.vertical ? 'marginTop' : 'marginLeft']: 0})\r\n this.indent()\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.$refs.wrap)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-timeline-wrap {\r\n flex-shrink: 0;\r\n display: flex;\r\n position: relative;\r\n width: max-content;\r\n min-width: 100%;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-wrap {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-prev .w-timeline-item {\r\n flex-direction: column-reverse;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-wrap,\r\n .w-timeline.z-vertical .w-timeline-item {\r\n flex-direction: row;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev,\r\n .w-timeline.z-vertical .w-timeline-next {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev .w-timeline-item {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n .w-timeline-prev,\r\n .w-timeline-next {\r\n position: relative;\r\n display: flex;\r\n flex: 1;\r\n flex-shrink: 0;\r\n --w-compat-gap: 25px;\r\n gap: var(--w-compat-gap);\r\n }\r\n \r\n .w-timeline-prev:empty,\r\n .w-timeline-next:empty {\r\n display: none;\r\n }\r\n\r\n .w-timeline-item {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-icon {\r\n align-items: center;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-main {\r\n padding: 10px 0;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item-main {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item.z-right {\r\n text-align: right;\r\n }\r\n\r\n .w-timeline-item-icon {\r\n display: flex;\r\n flex-shrink: 0;\r\n position: relative;\r\n line-height: 1;\r\n }\r\n\r\n .w-timeline-item-icon-img.z-default {\r\n display: inline-block;\r\n width: 18px;\r\n height: 18px;\r\n border: 2px solid #1890ff;\r\n border-radius: 100px;\r\n background: #fff;\r\n color: #1890ff;\r\n }\r\n\r\n .w-timeline-line {\r\n position: absolute;\r\n background: #ddd;\r\n }\r\n \r\n</style>\n","import script from \"./Timeline.vue?vue&type=script&lang=js\"\nexport * from \"./Timeline.vue?vue&type=script&lang=js\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=ab029c5a&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Rate.vue?vue&type=style&index=0&id=68b4bc40&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Split.vue?vue&type=style&index=0&id=64ffe5ca&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Grid.vue?vue&type=style&index=0&id=5e2b9c3a&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Spinner.vue?vue&type=style&index=0&id=c558dc86&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n mergeProps\r\n } from 'vue'\r\n import Scroll from './Scroll.vue'\r\n import PubParent from './PubParent.vue'\r\n import SrcParent from './SrcParent.vue'\r\n\r\n\r\n export default {\r\n name: 'w-tree',\r\n mixins: [Scroll, PubParent, SrcParent],\r\n emits: ['click:item'],\r\n provide() {\r\n return {\r\n provideLevel: -1,\r\n provideParentLeaf: null,\r\n provideParentTR: null,\r\n }\r\n },\r\n methods: {\r\n getCurrent() {\r\n const leaf = $.q('.w-leaf.z-on', this.el())[0]\r\n return leaf && $(leaf)\r\n },\r\n viewCurrent(f) {\r\n f = f || this.getCurrent()\r\n if (f) {\r\n f.expandToView()\r\n this.$nextTick(() => f.scrollIntoView())\r\n }\r\n },\r\n html_slots() {\r\n let r\r\n let chd = this.x.children\r\n if (this.$slots.default) {\r\n if (Array.isArray(chd)) {\r\n r = chd.map(item => this.$slots.default({item}))\r\n } else {\r\n r = []\r\n }\r\n }\r\n return this.html_scroll_slots(r)\r\n }\r\n },\r\n computed: {\r\n level() {\r\n return -1\r\n },\r\n html_props() {\r\n return {\r\n class: this.html_scroll_class\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.children) this.request()\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tree {\r\n text-align: left;\r\n box-sizing: border-box;\r\n }\r\n\r\n</style>\r\n","import script from \"./Tree.vue?vue&type=script&lang=js\"\nexport * from \"./Tree.vue?vue&type=script&lang=js\"\n\nimport \"./Tree.vue?vue&type=style&index=0&id=53bcfba2&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-password',\r\n mixins: [FormBase],\r\n data() {\r\n return {\r\n hasBorder: true\r\n }\r\n },\r\n methods: {\r\n\r\n },\r\n computed: {\r\n input_type() {\r\n return 'password'\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Password.vue?vue&type=script&lang=js\"\nexport * from \"./Password.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-html',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['line'],\r\n computed: {\r\n html_props() {\r\n let line = this.x.line\r\n return {\r\n class: [\r\n (this.x.align || this.x.valign) && 'w-horizontal',\r\n line != null && 'f-line',\r\n this.html_align_class\r\n ],\r\n style: line != null && {\r\n '-webkit-line-clamp': line\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-html {\r\n box-sizing: border-box;\r\n flex-wrap: wrap;\r\n }\r\n</style>\n","import script from \"./Html.vue?vue&type=script&lang=js\"\nexport * from \"./Html.vue?vue&type=script&lang=js\"\n\nimport \"./Html.vue?vue&type=style&index=0&id=612320da&lang=css\"\n\nexport default script","<!-- <template>\r\n <div v-bind=\"html_binds\">\r\n <div class=\"_t\">\r\n <div class=\"_s\"></div>\r\n <i v-if=\"pubParent.x.face === 'bubble'\"\r\n :class=\"'_caret f-i f-i-caret-' + (leftIndex != null ? 'right' : rightIndex != null ? 'left' : topIndex != null ? 'down' : 'up')\"></i>\r\n </div>\r\n \r\n </div>\r\n</template> -->\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Vertical from './Vertical.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-timeline-item',\r\n pubParentName: 'w-timeline',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['position', 'index'],\r\n methods: {\r\n html_slots() {\r\n let text = h('div', {\r\n class: 'w-timeline-item-main f-br'\r\n }, h('div', {\r\n class: 'w-timeline-item-main-text'\r\n }, this.$slots))\r\n let icon = h('div', {\r\n ref: 'icon',\r\n class: 'w-timeline-item-icon'\r\n }, this.$slots.icon ? h('div', {\r\n class: 'w-timeline-item-icon-img'\r\n }, this.$slots.icon()) : h('i', {\r\n class: 'w-timeline-item-icon-img z-default'\r\n }))\r\n return [icon, text]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'z-' + (this.x.position || (this.pubParent.x.vertical ? 'left' : 'bottom'))\r\n },\r\n html_props() {\r\n return {\r\n 'w-index': this.x.index\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./TimelineItem.vue?vue&type=script&lang=js\"\nexport * from \"./TimelineItem.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, mergeProps\r\n } from 'vue'\r\n import TD from './TableTD.vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-th',\r\n mixins: [TD, WidgetBase],\r\n props: ['sortable', 'sortOrders', 'sortOrderDefault'],\r\n inject: ['thead'],\r\n emits: ['click:sort'],\r\n data() {\r\n return {\r\n sortType: null,\r\n sortOrder: null,\r\n }\r\n },\r\n methods: {\r\n onClick(e) {\r\n if (this.x.sortable) {\r\n this.clickSort(e, 'toggle')\r\n }\r\n },\r\n clickSort(e, order) {\r\n e.stopPropagation()\r\n let o = this.sortOrder\r\n if(this.thead.sortUID != this.uid) {\r\n o = null\r\n }\r\n let orders = this.x.sortOrders || ['asc', 'desc', null]\r\n if (order === 'toggle') {\r\n let i = orders.indexOf(o)\r\n o = orders[i < 0 || i == 2 ? 0 : i + 1]\r\n } else {\r\n o = o == order ? null : order\r\n }\r\n this.sortOrder = o\r\n this.thead.sortUID = this.uid\r\n e.value = o\r\n this.$emit('click:sort', e, o)\r\n },\r\n html_slots() {\r\n return h(Horizontal, {class: 'w-th-wrap', valign: 'middle', align: this.align || this.col.align}, {default: () => [\r\n h('div', {class: 'w-th-title'}, this.$slots),\r\n this.sortable ? h('div', {class: 'w-th-sort f-flex-column f-flex-center f-oh'}, [\r\n h('i', {class: 'f-i f-i-caret-up f-oh w-th-sort-up', onClick: e => this.clickSort(e, 'asc')}),\r\n h('i', {class: 'f-i f-i-caret-down f-oh w-th-sort-down', onClick: e => this.clickSort(e, 'desc')}),\r\n ]) : []\r\n ]})\r\n }\r\n },\r\n computed: {\r\n col() {\r\n return this.table.colgroup[this.$.vnode.dfishColIndex] || false\r\n },\r\n tagName() {\r\n return 'th'\r\n },\r\n html_props() {\r\n return mergeProps(this.td_props(), {\r\n class: {'z-sortable': this.x.sortable, [`z-${this.sortOrder}`]: this.sortOrder && this.thead.sortUID == this.uid},\r\n onClick: this.onClick,\r\n }) \r\n },\r\n }\r\n }\r\n</script>\r\n","import script from \"./TableTH.vue?vue&type=script&lang=js\"\nexport * from \"./TableTH.vue?vue&type=script&lang=js\"\n\nexport default script","<template>\r\n <slot></slot>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-dialog-move',\r\n methods: {\r\n onmousedown(e) {\r\n let o = $.dialog(e.currentTarget)\r\n if (o) {\r\n if (o.x.movable !== false && !o.x.fullScreen) {\r\n let d = o.el()\r\n let sl = d.style.left\r\n let sr = d.style.right\r\n let st = d.style.top\r\n let sb = d.style.bottom\r\n let b = sb ? -1 : 1\r\n let r = sr ? -1 : 1\r\n let v = b < 0 ? 'bottom' : 'top'\r\n let h = r < 0 ? 'right' : 'left'\r\n let x = e.clientX\r\n let y = e.clientY\r\n let t = $.number(b < 0 ? sb : st)\r\n let l = $.number(r < 0 ? sr : sl)\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move></div>').appendTo(document.body));\r\n let cx = $.numRange(e.clientX, 0, w)\r\n let cy = $.numRange(e.clientY, 0, n)\r\n o.setPosition({[v]: (t + b * (cy - y)) + 'px', [h]: (l + r * (cx - x)) + 'px'})\r\n }, function(e, moved) {\r\n moved && m && m.remove()\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.$el.nextElementSibling.addEventListener('mousedown', this.onmousedown)\r\n },\r\n unmounted() {\r\n this.$el.nextElementSibling.removeEventListener('mousedown', this.onmousedown)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog-move {\r\n position: fixed;\r\n background: #fff;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n z-index: 101;\r\n }\r\n</style>\n","import { render } from \"./DialogMove.vue?vue&type=template&id=5a3b6ded\"\nimport script from \"./DialogMove.vue?vue&type=script&lang=js\"\nexport * from \"./DialogMove.vue?vue&type=script&lang=js\"\n\nimport \"./DialogMove.vue?vue&type=style&index=0&id=5a3b6ded&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-form',\r\n mixins: [FormBase],\r\n props: ['vertical'],\r\n methods: {\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n this.$slots.default && this.$slots.default()\r\n ]\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n required: (v, r, q) => {\r\n if (r && (!v || v === '[]' || v === '{}')) {\r\n return this.formErr(q)\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n let mv = this.x.modelValue\r\n return mv == null ? '' : typeof mv === 'object' ? JSON.stringify(mv) : mv\r\n },\r\n html_class() {\r\n return [{\r\n 'z-vertical': this.x.vertical,\r\n }]\r\n },\r\n html_style() {\r\n return {\r\n '--w-form-gap': $.unitSize(this.x.gap)\r\n }\r\n },\r\n main_prop() {\r\n return this.name && {\r\n onclick: e => this.warn(false)\r\n }\r\n }\r\n },\r\n }\r\n</script>\n","import script from \"./Form.vue?vue&type=script&lang=js\"\nexport * from \"./Form.vue?vue&type=script&lang=js\"\n\nexport default script","if (window.Range && !Range.prototype.movePoint) {\r\n if (Range.prototype.__defineGetter__) {\r\n Range.prototype.__defineGetter__('text', function() {\r\n return this.toString()\r\n });\r\n Range.prototype.__defineSetter__('text', function(a) {\r\n this.deleteContents()\r\n this.insertNode(document.createTextNode(a))\r\n });\r\n }\r\n Range.prototype.movePoint = function(a, b) {\r\n var c = this.startContainer.firstChild || this.startContainer,\r\n d, i = a,\r\n l = 0,\r\n b = b == null ? a : b;\r\n do {\r\n this.selectNodeContents(c);\r\n l = this.toString().length;\r\n i -= l;\r\n } while (i > 0 && (c = c.nextSibling));\r\n c = d = this.startContainer;\r\n i += l;\r\n var j = b - a + i,\r\n l = 0;\r\n do {\r\n this.selectNodeContents(d);\r\n l = this.toString().length;\r\n j -= l;\r\n } while (j > 0 && (d = d.nextSibling));\r\n this.setStart(c.firstChild || c, i);\r\n if (d) {\r\n var e = d;\r\n while (e.firstChild) e = e.firstChild;\r\n this.setEnd(e, l + j);\r\n }\r\n };\r\n Range.prototype.select = function() {\r\n let s = window.getSelection()\r\n s.removeAllRanges()\r\n s.addRange(this)\r\n };\r\n}\r\n\r\nconst rngSelection = function() {\r\n let s = window.getSelection()\r\n return s.rangeCount && s.getRangeAt(0)\r\n}\r\nconst rngElement = function() {\r\n let s = rngSelection()\r\n return s && s.startContainer.parentNode\r\n}\r\nconst rngCursor = function(a, b) {\r\n let r = a\r\n if (window.getSelection) {\r\n if (typeof a.selectionStart === 'number' && typeof a.selectionEnd === 'number') {\r\n a.selectionStart = a.selectionEnd = b != null ? b : a.value.length\r\n } else {\r\n let s = window.getSelection()\r\n if (a.nodeType === 1)\r\n (r = document.createRange()).selectNodeContents(a)\r\n if (b != null)\r\n r.movePoint(b)\r\n s.removeAllRanges()\r\n s.addRange(r)\r\n s.collapseToEnd()\r\n }\r\n }\r\n return r\r\n}\r\nconst rngCursorOffset = function() {\r\n let n = rngSelection()\r\n let c = n.startOffset\r\n if (c != null)\r\n return c\r\n let r = document.body.createTextRange()\r\n r.selectNodeContents(n.startContainer.parentNode)\r\n r.setEndPoint('EndToStart', n)\r\n return rngText(r).length\r\n}\r\n// @a ->range, b -> text?\r\nconst rngText = function(a, b) {\r\n if (a == null)\r\n a = rngSelection()\r\n if (b != null) {\r\n if (a.deleteContents) {\r\n a.deleteContents()\r\n a.insertNode(document.createTextNode(b))\r\n } else {\r\n a.text = b\r\n }\r\n }\r\n return a.text === undefined ? a.toString() : a.text\r\n}\r\n\r\nexport {\r\n rngSelection,\r\n rngElement,\r\n rngCursor,\r\n rngCursorOffset,\r\n rngText\r\n}\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import DropBox from './DropBox.vue'\r\n\r\n export default {\r\n name: 'w-pickbox',\r\n mixins: [DropBox],\r\n props: ['picker'],\r\n methods: {\r\n click(e) {\r\n if (this.$slots.default) {\r\n this.showDrop = !this.showDrop\r\n this.warn(false)\r\n } else if (this.x.picker) {\r\n this.clickPicker(e)\r\n }\r\n },\r\n clickClear(e) {\r\n e.stopPropagation()\r\n this.val(null)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.x.modelValue)\r\n },\r\n closeDrop() {\r\n this.showDrop = false\r\n return this\r\n },\r\n html_button() {\r\n return [\r\n this.isNormal && h('button', {\r\n class: 'w-input-bbr w-pickbox-clear f-i f-i-close',\r\n onclick: this.clickClear\r\n }),\r\n this.$slots.default && h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n }),\r\n this.x.picker && h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n })\r\n ]\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n let m = this.x.modelValue\r\n let f = v => v && typeof v === 'object' ? JSON.stringify(v) : v\r\n if (Array.isArray(m)) {\r\n return m.map(v => f(v && v.value)).join(',')\r\n } else {\r\n return f(m && m.value)\r\n }\r\n },\r\n input_text() {\r\n let m = this.x.modelValue\r\n if (Array.isArray(m)) {\r\n return m.map(v => v.text).join(', ')\r\n } else\r\n return m && m.text\r\n }\r\n }\r\n }\r\n</script>\n\r\n<style>\r\n .w-pickbox-clear {\r\n display: none;\r\n font-size: 16px;\r\n }\r\n .w-pickbox-clear:hover {\r\n color: #f00;\r\n }\r\n .w-input:hover > .w-pickbox-clear {\r\n display: flex;\r\n }\r\n</style>","import script from \"./PickBox.vue?vue&type=script&lang=js\"\nexport * from \"./PickBox.vue?vue&type=script&lang=js\"\n\nimport \"./PickBox.vue?vue&type=style&index=0&id=35b69f8f&lang=css\"\n\nexport default script","<template>\r\n <w-tip>\r\n <div class=\"w-tip-body f-flex-center\">\r\n <div class=\"w-tip-text\"><slot>{{text}}</slot></div>\r\n </div>\r\n </w-tip>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n \r\n export default {\r\n props: ['text'],\r\n methods: {\r\n\r\n },\r\n computed: {\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import { render } from \"./TemplateTip.vue?vue&type=template&id=e9652ce4\"\nimport script from \"./TemplateTip.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateTip.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","// 实现指令 v-dialog-move=\"true\"\r\n// 使对话框可拖动\r\n\r\nimport $ from '../dfish.js'\r\n\r\nfunction onmousedown(e) {\r\n let o = $.dialog(e.currentTarget)\r\n if (o) {\r\n if (o.x.movable !== false && !o.x.fullScreen) {\r\n let d = o.el()\r\n let sl = d.style.left\r\n let sr = d.style.right\r\n let st = d.style.top\r\n let sb = d.style.bottom\r\n let b = sb ? -1 : 1\r\n let r = sr ? -1 : 1\r\n let v = b < 0 ? 'bottom' : 'top'\r\n let h = r < 0 ? 'right' : 'left'\r\n let x = e.clientX\r\n let y = e.clientY\r\n let t = $.number(b < 0 ? sb : st)\r\n let l = $.number(r < 0 ? sr : sl)\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move-helper></div>').appendTo(document.body))\r\n let cx = $.numRange(e.clientX, 0, w)\r\n let cy = $.numRange(e.clientY, 0, n)\r\n o.setPosition({[v]: (t + b * (cy - y)) + 'px', [h]: (l + r * (cx - x)) + 'px'})\r\n }, function(e, moved) {\r\n moved && m && m.remove()\r\n }, e)\r\n }\r\n }\r\n}\r\n\r\nexport default {\r\n mounted(el, bind) {\r\n bind.value && el.addEventListener('mousedown', onmousedown)\r\n },\r\n unmounted(el) {\r\n el.removeEventListener('mousedown', onmousedown)\r\n }\r\n}","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['pub', 'current'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n methods: {\r\n inCurrent(target) {\r\n let c = this.x.current\r\n if (c == null) return\r\n if (Array.isArray(c)) {\r\n return -1 < c.findIndex(v => this.isCurrentChild(v, target))\r\n } else {\r\n return this.isCurrentChild(c, target)\r\n }\r\n },\r\n isCurrentChild(current, target) {\r\n if (typeof current === 'object') {\r\n let d = target.isWidget ? (target.x || target).data : (target.props && target.props.data)\r\n if (d) {\r\n for (let i in current)\r\n if ($.lodash.get(d, i) == current[i]) return true\r\n }\r\n } else if (current == (target.isWidget ? target.getKey() : target.key)) {\r\n return true\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./PubParent.vue?vue&type=script&lang=js\"\nexport * from \"./PubParent.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import {h} from 'vue'\r\n \r\n export default {\r\n name: 'w-td',\r\n props: ['colspan', 'rowspan', 'align', 'valign', 'data'],\r\n inject: ['table', 'provideInBody'],\r\n methods: {\r\n td_props() {\r\n let ci = this.$.vnode.dfishColIndex\r\n let col = this.table.colgroup[ci] || false\r\n let len = this.table.colgroup.length\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = len\r\n }\r\n let last = ci + (colspan || 1) == len\r\n return {\r\n class: ['w-td',\r\n last && 'w-td-lastborder',\r\n this.provideInBody && col.class, \r\n col.fixed && {\r\n [`w-td-fixed-${col.fixed}`]: true, \r\n [`w-td-fixed-left-last`]: col.fixed === 'left' && (this.table.colgroup[ci + 1] && this.table.colgroup[ci + 1].fixed != col.fixed),\r\n [`w-td-fixed-right-first`]: col.fixed === 'right' && (this.table.colgroup[ci - 1] && this.table.colgroup[ci - 1].fixed != col.fixed),\r\n }\r\n ],\r\n style: [this.provideInBody && col.style, col.fixed && {[`${col.fixed}`]: `var(--w-td-fixed-${col.fixed}-${ci})`}],\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }\r\n }\r\n },\r\n render() {\r\n return h('td', this.td_props(), this.$slots)\r\n }\r\n }\r\n</script>\r\n","import script from \"./TableTD.vue?vue&type=script&lang=js\"\nexport * from \"./TableTD.vue?vue&type=script&lang=js\"\n\nexport default script","import formIgnore from './form-ignore.js'\r\nimport dialogMove from './dialog-move.js'\r\n\r\nexport default function(Vue) {\r\n Vue.directive('form-ignore', formIgnore)\r\n Vue.directive('dialog-move', dialogMove)\r\n}","export default {\r\n yes: '是',\r\n no: '否',\r\n none: '无',\r\n to: '至',\r\n jump: '转到',\r\n confirm: '确定',\r\n search: '搜索',\r\n query: '查询',\r\n choose: '选择',\r\n save: '保存',\r\n remove: '删除',\r\n cancel: '取消',\r\n create: '新建',\r\n add: '添加',\r\n edit: '编辑',\r\n finish: '完成',\r\n refresh: '刷新',\r\n operfail: '操作失败',\r\n opertip: '操作提示',\r\n nodata: '暂无数据',\r\n more: '更多',\r\n field: '字段',\r\n close: '关闭',\r\n restore: '还原',\r\n rotate_left: '向左旋转',\r\n rotate_right: '向右旋转',\r\n dialog_max: '最大化',\r\n dialog_min: '最小化',\r\n\r\n detect_zoom: '温馨提示: 你的浏览器可能处于缩放({0}%)状态,这可能影响页面浏览效果,请尝试Ctrl+0重置,并刷新',\r\n no_tip_anymore: '不再提示',\r\n loading: '正在加载',\r\n wait: '请稍候..',\r\n submiting: '数据提交中,请稍候..',\r\n uploading: '正在上传,请稍侯..',\r\n click_preview: '点击预览',\r\n toomuch_wait: '次数过多,请稍候再试',\r\n toomuch_wait_countdown: '次数过多,请稍候再试(<em>{0}</em>)',\r\n preview_orginal_image: '查看原图',\r\n auth_success: '验证成功',\r\n auth_fail: '验证失败',\r\n choose_image: '选择图片',\r\n \r\n\r\n tree_movefail1: '无法移动:目标文件夹和源文件夹相同',\r\n tree_movefail2: '无法移动:目标文件夹是源文件夹的子文件夹',\r\n\r\n internet_error: '[{0} error] {1}<br>网络连接失败,请稍候再试',\r\n server_error: '[{0} error] {1}<br>系统异常,请联系管理员',\r\n preload_error: '获取预装载模板 \"{0}\" 失败',\r\n\r\n page: '页',\r\n page_text: {\r\n first: '首页',\r\n last: '尾页',\r\n next: '下页',\r\n prev: '上页'\r\n },\r\n\r\n print_preview: '打印预览',\r\n\r\n placeholder_input: '请输入{0}',\r\n placeholder_select: '请选择{0}',\r\n\r\n pulldown_refresh: '下拉刷新',\r\n release_refresh: '释放刷新',\r\n pullup_refresh: '上拉显示更多',\r\n pullup_nomore: '没有更多了',\r\n\r\n download_start: '开始下载..',\r\n download_complete: '下载完成',\r\n download_cannotopen: '无法打开此文件',\r\n download_fail: '下载失败',\r\n\r\n tab_close: '关闭标签',\r\n tab_close_others: '关闭其他标签',\r\n tab_close_all: '关闭全部标签',\r\n\r\n sort_asc: '升序',\r\n sort_desc: '降序',\r\n sort_cancel: '取消排序',\r\n column_choose: '选择列',\r\n\r\n connection_not_wifi: '您当前处于非wifi网络环境下,继续使用可能产生流量,确定继续吗?',\r\n\r\n debug: {\r\n sorry: '很抱歉,系统发生了错误',\r\n view_more: '点击“确定”,可在新窗口查看详细错误信息',\r\n no_command: '视图中没有定义此命令: {0}\\nview path: {1}',\r\n no_combo: '选项列表(或树)没有设置combo参数\\nname: {0}',\r\n error_template_type: '{0}\\n请把此模板类型改为 \"{1}\"',\r\n error_type: 'type错误或丢失\\n{0}',\r\n tmpl_method_undefined: '\"{0}\" 方法不存在'\r\n },\r\n\r\n form: {\r\n required: '{0}不能为空',\r\n onlyone: '{0的}只能选择一条记录',\r\n maxLength: '{0的}字符长度超出了{1}个字节',\r\n reach_maxLength: '已到达可输入的最大字符长度',\r\n over_maxLength: '字符长度超出了{0}个字节',\r\n minLength: '{0}不能少于{1}个字节',\r\n maxValue: '{0}最大值为{1}',\r\n minValue: '{0}最小值为{1}',\r\n maxSize: '{0}最多选择{1}项',\r\n minSize: '{0}最少选择{1}项',\r\n pattern: '{0}格式不符合规范,或包含非法字符',\r\n password_weak: '弱',\r\n password_middle: '中',\r\n password_strong: '强',\r\n number_invalid: '{0}不是一个有效数字',\r\n number_integer: '{0}请填入一个整数',\r\n number_decimal_digit: '{0的}小数位不能超过{1}位',\r\n step_max_value: '已到达最大值',\r\n step_min_value: '已到达最小值',\r\n time_exceed: '{0的}年份超出有效范围。有效年份:{1}年 至 {2}年',\r\n time_format: '{0的}时间格式错误。正确格式范例:{1}',\r\n period_invalid: '{0的}起始时间应早于结束时间',\r\n beforeNow: '{0}不能大于当前时间',\r\n afterNow: '{0}不能小于当前时间',\r\n compare: '{0}需要满足条件:{1} {2} {3}',\r\n invalid_option: '存在无效选项',\r\n need_valid_option: '请输入一个有效选项',\r\n choose_atleastone: '请至少选择一项',\r\n complete_required: '请完成必填项',\r\n jigsaw_drag_right: '向右拖动滑块填充拼图',\r\n jigsaw_required: '请完成滑块验证',\r\n jigsaw_errorimg: '图片数据异常',\r\n upload_loading: '正在上传,请稍候..',\r\n upload_invalid_file: '存在无效文件',\r\n no_files: '<没有文件>',\r\n upload_error: '(上传失败)',\r\n upload_limit: '上传数量超过上限(最多{0}个)',\r\n upload_invalid_file_type: '无效的文件类型:<br>{0}',\r\n upload_invalid_data: '错误的文件数据格式:<br>{0}',\r\n upload_no_data: '缺少文件数据',\r\n upload_maxfilesize: '上传失败: {0}<br><br>文件大小不能超过{1}',\r\n upload_minfilesize: '上传失败: {0}<br><br>文件大小不能小于{1}'\r\n },\r\n\r\n year: '年',\r\n month: '月',\r\n day: '日',\r\n sky: '天',\r\n hour: '时',\r\n minute: '分',\r\n second: '秒',\r\n\r\n calendar: {\r\n now: '现在',\r\n today: '今天',\r\n weeknow: '本周',\r\n monthnow: '本月',\r\n yearnow: '本年',\r\n day_title: ['日', '一', '二', '三', '四', '五', '六'],\r\n day_title_1: [ '一', '二', '三', '四', '五', '六','日'],\r\n y: '{0}<span>年</span>',\r\n monthname: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\r\n backdate: '返回日期',\r\n picktime: '选择时间',\r\n H: '时',\r\n m: '分',\r\n s: '秒',\r\n from_to: '{0} 至 {1}',\r\n },\r\n\r\n error: '错误',\r\n\r\n ps(a, ...args) {\r\n if (a) {\r\n a = a.replace(/\\{(\\d+)([^\\d]+)?\\}/g, function($0, $1, $2) {\r\n let d = args[parseFloat($1)]\r\n return d == null || d === '' ? '' : $2 ? d + $2 : d\r\n })\r\n }\r\n return a\r\n },\r\n \r\n end: '结束'\r\n\r\n}\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Scroll from './Scroll.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-horizontal',\r\n mixins: [Scroll, AlignParent],\r\n props: ['br'],\r\n provide() {\r\n return {\r\n provideLayout: this.$options.name\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0\r\n }\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n dir() {\r\n return 'h'\r\n },\r\n html_props() {\r\n let gap = this.x.gap\r\n return {\r\n class: [this.html_scroll_class, this.html_align_class, {'z-br': this.x.br, [`f-${this.dir}-gap`]: gap != null && gap != '' && ($.br.compat.gap || gap < 0)}],\r\n style: !this.x.scrollX && !this.x.scrollY && this.html_scroll_cont_style,\r\n }\r\n },\r\n html_scroll_cont_style() {\r\n let gap = this.x.gap\r\n if (gap != null && gap != '') {\r\n return {\r\n 'gap': $.unitSize(gap, true),\r\n '--w-compat-gap': ($.br.compat.gap || gap < 0) ? $.unitSize(gap, true) : null,\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Horizontal.vue?vue&type=script&lang=js\"\nexport * from \"./Horizontal.vue?vue&type=script&lang=js\"\n\nexport default script","import {\r\n number\r\n} from './number.js'\r\nimport {\r\n strPad\r\n} from './str.js'\r\n\r\n// 一天的毫秒数\r\nconst _date_D = 86400000\r\n\r\n// 标准格式化字符串\r\nconst _date_sf = 'yyyy-MM-dd HH:mm:ss'\r\n\r\n// 格式化日期\r\nconst dateFormat = function(a, b) {\r\n if (typeof a === 'string')\r\n a = dateParse(a, b);\r\n let o = {\r\n y: a.getFullYear(),\r\n m: a.getMonth(),\r\n d: a.getDate(),\r\n h: a.getHours(),\r\n i: a.getMinutes(),\r\n s: a.getSeconds(),\r\n }\r\n let s = (b || _date_sf).replace('yyyy', o.y).replace('MM', strPad(o.m + 1)).replace('dd', strPad(o.d)).replace('HH',\r\n strPad(o.h))\r\n .replace('mm', strPad(o.i)).replace('ss', strPad(o.s))\r\n .replace('M', o.m + 1).replace('d', o.d).replace('H', o.h).replace('m', o.i).replace('s', o.s)\r\n if (s.indexOf('w') > -1) {\r\n let w = dateWeek(a)\r\n s = s.replace('ww', strPad(w[1])).replace('w', w[1])\r\n }\r\n return s\r\n}\r\n\r\n// 字串型转为日期型 /@a -> str, b -> format?\r\nconst dateParse = function(a, b) {\r\n a = ('' + a).replace(/\\b(\\d)\\b/g, '0$1');\r\n b = (b || _date_sf).replace(/\\b([MdHmsw])\\b/g, '$1$1');\r\n let c\r\n let y = (c = b.indexOf('yyyy')) > -1 ? (number(a.substr(c, 4)) || (new Date().getFullYear())) : (new Date()\r\n .getFullYear())\r\n let M = (c = b.indexOf('MM')) > -1 ? Math.max(number(a.substr(c, 2)) - 1, 0) : 0\r\n let d = (c = b.indexOf('dd')) > -1 ? number(a.substr(c, 2)) || 1 : 1\r\n let H = (c = b.indexOf('HH')) > -1 ? number(a.substr(c, 2)) : 0\r\n let m = (c = b.indexOf('mm')) > -1 ? number(a.substr(c, 2)) : 0\r\n let s = (c = b.indexOf('ss')) > -1 ? number(a.substr(c, 2)) : 0\r\n if ((c = b.indexOf('ww')) > -1) {\r\n let w = number(a.substr(c, 2))\r\n let t = dateWeek(new Date(y, 0, 1))\r\n if (t[0] != y)\r\n t = dateWeek(new Date(y, 0, 8))\r\n return new Date(t[2].getTime() + (w - 1) * 7 * _date_D)\r\n }\r\n return new Date(y, M, d, H, m, s)\r\n}\r\n\r\n// 日期增减 /@ a -> date, b -> type enum (y/M/d/H/m/s), c -> value\r\nconst dateAdd = function(a, b, c) {\r\n c = number(c)\r\n let e = new Date(a.getTime())\r\n if (b === 'y')\r\n e.setFullYear(a.getFullYear() + c)\r\n else if (b === 'M')\r\n e.setMonth(e.getMonth() + c)\r\n else if (b === 'd')\r\n e.setDate(e.getDate() + c)\r\n else if (b === 'H')\r\n e.setHours(e.getHours() + c)\r\n else if (b === 'm')\r\n e.setMinutes(e.getMinutes() + c)\r\n else if (b === 's')\r\n e.setSeconds(e.getSeconds() + c)\r\n if ((b === 'y' || b === 'M') && e.getDate() != a.getDate())\r\n e = new Date(e.getTime() - e.getDate() * _date_D)\r\n return e\r\n}\r\n\r\n// 取得一个日期对象的week相关信息。返回一个包含四个元素的数组,【 年份,第几周,周一的日期,周日的日期 】\r\n// @a -> date\r\nconst dateWeek = function(a) {\r\n let b = $.x.weekPoint != null ? $.x.weekPoint : 1 //周的重心(星期几,从0到6)\r\n let c = $.x.weekStart != null ? $.x.weekStart : 1 //周的第一天(星期几,从0到6)\r\n let w = a.getDay() || 7\r\n let d = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + b)\r\n let e = Math.ceil((d - new Date(d.getFullYear(), 0, 0)) / _date_D)\r\n let f = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + c)\r\n return [d.getFullYear(), Math.floor((e + 6) / 7), f, new Date(f.getTime() + (7 * _date_D) - 1)]\r\n}\r\n\r\n// 获取某年的第一周\r\nconst dateWeekFirst = function(year) {\r\n let c = $.dateWeek(new Date(year, 0, 1))\r\n if (c[0] != year)\r\n c = $.dateWeek(new Date(year, 0, 8))\r\n return c\r\n}\r\n\r\n// 获取某年的最后一周\r\nconst dateWeekLast = function(year) {\r\n let b = dateWeek(new Date(year, 11, 31))\r\n if (b[0] !== year)\r\n b = dateWeek(new Date(year, 11, 31 - 7))\r\n return b\r\n}\r\n\r\n// 判断一个字符串格式的日期是否正确 /@ a -> date string, b -> date format string\r\nconst dateValid = function(a, b) {\r\n a = ('' + a).replace(/\\b(\\d)\\b/g, '0$1')\r\n let d = dateParse(a, b)\r\n let y = d.getFullYear()\r\n return y >= 1000 && y <= 9999 && a == dateFormat(d, b)\r\n}\r\n\r\nconst dateDiff = function(a, b = new Date, c) {\r\n if (typeof a === 'string') a = dateParse(a)\r\n if (typeof b === 'string') b = dateParse(b)\r\n switch (c) {\r\n case 'y':\r\n let e = b.getFullYear() - a.getFullYear()\r\n let f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e\r\n case 'M':\r\n let y = _dateDiff(a, b, 'y')\r\n let z = dateAdd(a, 'y', y)\r\n e = z.getFullYear() < b.getFullYear() ? b.getMonth() + 11 - z.getMonth() : b.getMonth() - z.getMonth()\r\n f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e + y * 12\r\n case 'H':\r\n return Math.floor((b - a) / (60 * 60 * 1000))\r\n case 'm':\r\n return Math.floor((b - a) / (60 * 1000))\r\n case 's':\r\n return Math.floor((b - a) / 1000)\r\n default: // 'd' 日期类型为默认\r\n return Math.floor((b - a) / _date_D)\r\n }\r\n}\r\n\r\nconst dateSheet = function(...args) {\r\n return $.docView.dateSheet(...args)\r\n}\r\n\r\nexport {\r\n dateFormat,\r\n dateParse,\r\n dateAdd,\r\n dateValid,\r\n dateDiff,\r\n dateSheet,\r\n dateWeek,\r\n dateWeekFirst,\r\n dateWeekLast,\r\n}\n","var map = {\n\t\"./App\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-d5b78810\",\n\t\t\"chunk-577edd5f\"\n\t],\n\t\"./App.vue\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-d5b78810\",\n\t\t\"chunk-577edd5f\"\n\t],\n\t\"./assets/SVGIcon\": [\n\t\t\"5cd5\",\n\t\t9\n\t],\n\t\"./assets/SVGIcon.vue\": [\n\t\t\"5cd5\",\n\t\t9\n\t],\n\t\"./assets/dfish.css\": [\n\t\t\"d35b\",\n\t\t7\n\t],\n\t\"./assets/f/iconfont.ttf\": [\n\t\t\"87ef\",\n\t\t7,\n\t\t\"chunk-2d0df0d6\"\n\t],\n\t\"./assets/f/iconfont.woff\": [\n\t\t\"b872\",\n\t\t7,\n\t\t\"chunk-2d210667\"\n\t],\n\t\"./assets/f/iconfont.woff2\": [\n\t\t\"3927\",\n\t\t7,\n\t\t\"chunk-2d0bac21\"\n\t],\n\t\"./assets/g/f.png\": [\n\t\t\"0d6b\",\n\t\t7,\n\t\t\"chunk-2d0af116\"\n\t],\n\t\"./assets/g/i.png\": [\n\t\t\"9436\",\n\t\t7,\n\t\t\"chunk-2d0e53b4\"\n\t],\n\t\"./components/AMapPicker\": [\n\t\t\"505a\",\n\t\t9,\n\t\t\"chunk-02baca6a\"\n\t],\n\t\"./components/AMapPicker.vue\": [\n\t\t\"505a\",\n\t\t9,\n\t\t\"chunk-02baca6a\"\n\t],\n\t\"./components/FormView\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-d5b78810\"\n\t],\n\t\"./components/FormView.vue\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-d5b78810\"\n\t],\n\t\"./components/FuncView\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-eda6ccec\"\n\t],\n\t\"./components/FuncView.vue\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-eda6ccec\"\n\t],\n\t\"./components/HelloWorld\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/HelloWorld.vue\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/LayoutView\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/LayoutView.vue\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/Sign\": [\n\t\t\"2fc7\",\n\t\t9,\n\t\t\"chunk-0113803f\"\n\t],\n\t\"./components/Sign.vue\": [\n\t\t\"2fc7\",\n\t\t9,\n\t\t\"chunk-0113803f\"\n\t],\n\t\"./components/task/FeedbkTR\": [\n\t\t\"da31\",\n\t\t9,\n\t\t\"chunk-2d228891\"\n\t],\n\t\"./components/task/FeedbkTR.vue\": [\n\t\t\"da31\",\n\t\t9,\n\t\t\"chunk-2d228891\"\n\t],\n\t\"./components/task/GoldView\": [\n\t\t\"37be\",\n\t\t9,\n\t\t\"chunk-0afcc52e\"\n\t],\n\t\"./components/task/GoldView.vue\": [\n\t\t\"37be\",\n\t\t9,\n\t\t\"chunk-0afcc52e\"\n\t],\n\t\"./components/task/HelloView\": [\n\t\t\"133f\",\n\t\t9,\n\t\t\"chunk-2d0aad2b\"\n\t],\n\t\"./components/task/HelloView.vue\": [\n\t\t\"133f\",\n\t\t9,\n\t\t\"chunk-2d0aad2b\"\n\t],\n\t\"./components/task/LionView\": [\n\t\t\"6886\",\n\t\t9,\n\t\t\"chunk-5f709e3a\"\n\t],\n\t\"./components/task/LionView.vue\": [\n\t\t\"6886\",\n\t\t9,\n\t\t\"chunk-5f709e3a\"\n\t],\n\t\"./components/task/TaskAMapPicker\": [\n\t\t\"3da4\",\n\t\t9,\n\t\t\"chunk-3cecfdf8\"\n\t],\n\t\"./components/task/TaskAMapPicker.vue\": [\n\t\t\"3da4\",\n\t\t9,\n\t\t\"chunk-3cecfdf8\"\n\t],\n\t\"./components/task/TaskCombobox\": [\n\t\t\"d063\",\n\t\t9,\n\t\t\"chunk-2d21d0ff\"\n\t],\n\t\"./components/task/TaskCombobox.vue\": [\n\t\t\"d063\",\n\t\t9,\n\t\t\"chunk-2d21d0ff\"\n\t],\n\t\"./components/task/TaskDropbox\": [\n\t\t\"43c0\",\n\t\t9,\n\t\t\"chunk-2d0c0fe2\"\n\t],\n\t\"./components/task/TaskDropbox.vue\": [\n\t\t\"43c0\",\n\t\t9,\n\t\t\"chunk-2d0c0fe2\"\n\t],\n\t\"./components/task/TaskForm\": [\n\t\t\"3e12\",\n\t\t9,\n\t\t\"chunk-446f13c2\"\n\t],\n\t\"./components/task/TaskForm.vue\": [\n\t\t\"3e12\",\n\t\t9,\n\t\t\"chunk-446f13c2\"\n\t],\n\t\"./components/task/TaskHello\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-0c628b1c\"\n\t],\n\t\"./components/task/TaskHello.vue\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-0c628b1c\"\n\t],\n\t\"./components/task/TaskJigsaw\": [\n\t\t\"2dbf\",\n\t\t9,\n\t\t\"chunk-2d0bdf2c\"\n\t],\n\t\"./components/task/TaskJigsaw.vue\": [\n\t\t\"2dbf\",\n\t\t9,\n\t\t\"chunk-2d0bdf2c\"\n\t],\n\t\"./components/task/TaskLeaf\": [\n\t\t\"71fe\",\n\t\t9,\n\t\t\"chunk-2d0d660f\"\n\t],\n\t\"./components/task/TaskLeaf.vue\": [\n\t\t\"71fe\",\n\t\t9,\n\t\t\"chunk-2d0d660f\"\n\t],\n\t\"./components/task/TaskLeafFormat\": [\n\t\t\"6c64\",\n\t\t9,\n\t\t\"chunk-2f7f0670\"\n\t],\n\t\"./components/task/TaskLeafFormat.vue\": [\n\t\t\"6c64\",\n\t\t9,\n\t\t\"chunk-2f7f0670\"\n\t],\n\t\"./components/task/TaskLinkbox\": [\n\t\t\"067f\",\n\t\t9,\n\t\t\"chunk-2d0a448b\"\n\t],\n\t\"./components/task/TaskLinkbox.vue\": [\n\t\t\"067f\",\n\t\t9,\n\t\t\"chunk-2d0a448b\"\n\t],\n\t\"./components/task/TaskMenu\": [\n\t\t\"4fe0\",\n\t\t9,\n\t\t\"chunk-2d0ccf93\"\n\t],\n\t\"./components/task/TaskMenu.vue\": [\n\t\t\"4fe0\",\n\t\t9,\n\t\t\"chunk-2d0ccf93\"\n\t],\n\t\"./components/task/TaskPageBar\": [\n\t\t\"405e\",\n\t\t9,\n\t\t\"chunk-c7c01ff4\"\n\t],\n\t\"./components/task/TaskPageBar.vue\": [\n\t\t\"405e\",\n\t\t9,\n\t\t\"chunk-c7c01ff4\"\n\t],\n\t\"./components/task/TaskPickBox\": [\n\t\t\"0139\",\n\t\t9,\n\t\t\"chunk-3d7d76fb\"\n\t],\n\t\"./components/task/TaskPickBox.vue\": [\n\t\t\"0139\",\n\t\t9,\n\t\t\"chunk-3d7d76fb\"\n\t],\n\t\"./components/task/TaskTR\": [\n\t\t\"2e34\",\n\t\t9,\n\t\t\"chunk-2d0bdd0a\"\n\t],\n\t\"./components/task/TaskTR.vue\": [\n\t\t\"2e34\",\n\t\t9,\n\t\t\"chunk-2d0bdd0a\"\n\t],\n\t\"./components/task/WorldView\": [\n\t\t\"f84a\",\n\t\t9,\n\t\t\"chunk-2d22d7b5\"\n\t],\n\t\"./components/task/WorldView.vue\": [\n\t\t\"f84a\",\n\t\t9,\n\t\t\"chunk-2d22d7b5\"\n\t],\n\t\"./dfish\": [\n\t\t\"d40a\",\n\t\t9\n\t],\n\t\"./dfish.js\": [\n\t\t\"d40a\",\n\t\t9\n\t],\n\t\"./directive\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/dialog-move\": [\n\t\t\"7d83\",\n\t\t9\n\t],\n\t\"./directive/dialog-move.js\": [\n\t\t\"7d83\",\n\t\t9\n\t],\n\t\"./directive/form-ignore\": [\n\t\t\"f393\",\n\t\t9\n\t],\n\t\"./directive/form-ignore.js\": [\n\t\t\"f393\",\n\t\t9\n\t],\n\t\"./directive/index\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/index.js\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./main\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-d5b78810\",\n\t\t\"chunk-577edd5f\",\n\t\t\"chunk-2d0c8faa\"\n\t],\n\t\"./main.js\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-d5b78810\",\n\t\t\"chunk-577edd5f\",\n\t\t\"chunk-2d0c8faa\"\n\t],\n\t\"./preload/DialogStd\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-bb34eb02\"\n\t],\n\t\"./preload/DialogStd.vue\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-bb34eb02\"\n\t],\n\t\"./preload/PreloadAlert\": [\n\t\t\"303b\",\n\t\t9,\n\t\t\"chunk-2d0b8aa2\"\n\t],\n\t\"./preload/PreloadAlert.vue\": [\n\t\t\"303b\",\n\t\t9,\n\t\t\"chunk-2d0b8aa2\"\n\t],\n\t\"./preload/PreloadConfirm\": [\n\t\t\"00dd\",\n\t\t9,\n\t\t\"chunk-2d0a3376\"\n\t],\n\t\"./preload/PreloadConfirm.vue\": [\n\t\t\"00dd\",\n\t\t9,\n\t\t\"chunk-2d0a3376\"\n\t],\n\t\"./preload/PreloadDialog\": [\n\t\t\"8181\",\n\t\t9,\n\t\t\"chunk-2d0dd4a8\"\n\t],\n\t\"./preload/PreloadDialog.vue\": [\n\t\t\"8181\",\n\t\t9,\n\t\t\"chunk-2d0dd4a8\"\n\t],\n\t\"./preload/PreloadNone\": [\n\t\t\"571b\",\n\t\t9,\n\t\t\"chunk-2d0c8d69\"\n\t],\n\t\"./preload/PreloadNone.vue\": [\n\t\t\"571b\",\n\t\t9,\n\t\t\"chunk-2d0c8d69\"\n\t],\n\t\"./preload/Simple\": [\n\t\t\"f22e\",\n\t\t9,\n\t\t\"chunk-1da003f6\"\n\t],\n\t\"./preload/Simple.vue\": [\n\t\t\"f22e\",\n\t\t9,\n\t\t\"chunk-1da003f6\"\n\t],\n\t\"./template/TemplateAlert\": [\n\t\t\"0903\",\n\t\t9\n\t],\n\t\"./template/TemplateAlert.vue\": [\n\t\t\"0903\",\n\t\t9\n\t],\n\t\"./template/TemplateConfirm\": [\n\t\t\"c901\",\n\t\t9\n\t],\n\t\"./template/TemplateConfirm.vue\": [\n\t\t\"c901\",\n\t\t9\n\t],\n\t\"./template/TemplateDateSheet\": [\n\t\t\"c98d\",\n\t\t9\n\t],\n\t\"./template/TemplateDateSheet.vue\": [\n\t\t\"c98d\",\n\t\t9\n\t],\n\t\"./template/TemplateJigsaw\": [\n\t\t\"ba3e\",\n\t\t9\n\t],\n\t\"./template/TemplateJigsaw.vue\": [\n\t\t\"ba3e\",\n\t\t9\n\t],\n\t\"./template/TemplateLoading\": [\n\t\t\"560f\",\n\t\t9\n\t],\n\t\"./template/TemplateLoading.vue\": [\n\t\t\"560f\",\n\t\t9\n\t],\n\t\"./template/TemplatePreviewMedia\": [\n\t\t\"f5f5\",\n\t\t9\n\t],\n\t\"./template/TemplatePreviewMedia.vue\": [\n\t\t\"f5f5\",\n\t\t9\n\t],\n\t\"./template/TemplateTip\": [\n\t\t\"7c54\",\n\t\t9\n\t],\n\t\"./template/TemplateTip.vue\": [\n\t\t\"7c54\",\n\t\t9\n\t],\n\t\"./util/browser\": [\n\t\t\"af14\",\n\t\t9\n\t],\n\t\"./util/browser.js\": [\n\t\t\"af14\",\n\t\t9\n\t],\n\t\"./util/css\": [\n\t\t\"a695\",\n\t\t9\n\t],\n\t\"./util/css.js\": [\n\t\t\"a695\",\n\t\t9\n\t],\n\t\"./util/date\": [\n\t\t\"84df\",\n\t\t9\n\t],\n\t\"./util/date.js\": [\n\t\t\"84df\",\n\t\t9\n\t],\n\t\"./util/elem\": [\n\t\t\"d885\",\n\t\t9\n\t],\n\t\"./util/elem.js\": [\n\t\t\"d885\",\n\t\t9\n\t],\n\t\"./util/event\": [\n\t\t\"b2eb\",\n\t\t9\n\t],\n\t\"./util/event.js\": [\n\t\t\"b2eb\",\n\t\t9\n\t],\n\t\"./util/json\": [\n\t\t\"368c\",\n\t\t9\n\t],\n\t\"./util/json.js\": [\n\t\t\"368c\",\n\t\t9\n\t],\n\t\"./util/loc/zh-CN\": [\n\t\t\"8441\",\n\t\t9\n\t],\n\t\"./util/loc/zh-CN.js\": [\n\t\t\"8441\",\n\t\t9\n\t],\n\t\"./util/mime\": [\n\t\t\"9941\",\n\t\t9\n\t],\n\t\"./util/mime.js\": [\n\t\t\"9941\",\n\t\t9\n\t],\n\t\"./util/number\": [\n\t\t\"2f82\",\n\t\t9\n\t],\n\t\"./util/number.js\": [\n\t\t\"2f82\",\n\t\t9\n\t],\n\t\"./util/range\": [\n\t\t\"7333\",\n\t\t9\n\t],\n\t\"./util/range.js\": [\n\t\t\"7333\",\n\t\t9\n\t],\n\t\"./util/snap\": [\n\t\t\"428f\",\n\t\t9\n\t],\n\t\"./util/snap.js\": [\n\t\t\"428f\",\n\t\t9\n\t],\n\t\"./util/str\": [\n\t\t\"2de2\",\n\t\t9\n\t],\n\t\"./util/str.js\": [\n\t\t\"2de2\",\n\t\t9\n\t],\n\t\"./util/uid\": [\n\t\t\"465a\",\n\t\t9\n\t],\n\t\"./util/uid.js\": [\n\t\t\"465a\",\n\t\t9\n\t],\n\t\"./util/v-directive\": [\n\t\t\"3894\",\n\t\t9,\n\t\t\"chunk-2d0ba936\"\n\t],\n\t\"./util/v-directive.js\": [\n\t\t\"3894\",\n\t\t9,\n\t\t\"chunk-2d0ba936\"\n\t],\n\t\"./widgets\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/Album\": [\n\t\t\"b731\",\n\t\t9\n\t],\n\t\"./widgets/Album.vue\": [\n\t\t\"b731\",\n\t\t9\n\t],\n\t\"./widgets/Alert\": [\n\t\t\"af36\",\n\t\t9\n\t],\n\t\"./widgets/Alert.vue\": [\n\t\t\"af36\",\n\t\t9\n\t],\n\t\"./widgets/AlignParent\": [\n\t\t\"01ce\",\n\t\t9\n\t],\n\t\"./widgets/AlignParent.vue\": [\n\t\t\"01ce\",\n\t\t9\n\t],\n\t\"./widgets/Button\": [\n\t\t\"4716\",\n\t\t9\n\t],\n\t\"./widgets/Button.vue\": [\n\t\t\"4716\",\n\t\t9\n\t],\n\t\"./widgets/ButtonBar\": [\n\t\t\"3289\",\n\t\t9\n\t],\n\t\"./widgets/ButtonBar.vue\": [\n\t\t\"3289\",\n\t\t9\n\t],\n\t\"./widgets/Calendar\": [\n\t\t\"c3b3\",\n\t\t9\n\t],\n\t\"./widgets/Calendar.vue\": [\n\t\t\"c3b3\",\n\t\t9\n\t],\n\t\"./widgets/CheckBox\": [\n\t\t\"4ecb\",\n\t\t9\n\t],\n\t\"./widgets/CheckBox.vue\": [\n\t\t\"4ecb\",\n\t\t9\n\t],\n\t\"./widgets/CheckBoxGroup\": [\n\t\t\"eb89\",\n\t\t9\n\t],\n\t\"./widgets/CheckBoxGroup.vue\": [\n\t\t\"eb89\",\n\t\t9\n\t],\n\t\"./widgets/ComboBox\": [\n\t\t\"3287\",\n\t\t9\n\t],\n\t\"./widgets/ComboBox.vue\": [\n\t\t\"3287\",\n\t\t9\n\t],\n\t\"./widgets/Confirm\": [\n\t\t\"b45e\",\n\t\t9\n\t],\n\t\"./widgets/Confirm.vue\": [\n\t\t\"b45e\",\n\t\t9\n\t],\n\t\"./widgets/DatePicker\": [\n\t\t\"92a4\",\n\t\t9\n\t],\n\t\"./widgets/DatePicker.vue\": [\n\t\t\"92a4\",\n\t\t9\n\t],\n\t\"./widgets/Dialog\": [\n\t\t\"c617\",\n\t\t9\n\t],\n\t\"./widgets/Dialog.vue\": [\n\t\t\"c617\",\n\t\t9\n\t],\n\t\"./widgets/DialogMove\": [\n\t\t\"7016\",\n\t\t9\n\t],\n\t\"./widgets/DialogMove.vue\": [\n\t\t\"7016\",\n\t\t9\n\t],\n\t\"./widgets/DocView\": [\n\t\t\"3d26\",\n\t\t9\n\t],\n\t\"./widgets/DocView.vue\": [\n\t\t\"3d26\",\n\t\t9\n\t],\n\t\"./widgets/DropBox\": [\n\t\t\"f9f3\",\n\t\t9\n\t],\n\t\"./widgets/DropBox.vue\": [\n\t\t\"f9f3\",\n\t\t9\n\t],\n\t\"./widgets/FileUpload\": [\n\t\t\"39de\",\n\t\t9\n\t],\n\t\"./widgets/FileUpload.vue\": [\n\t\t\"39de\",\n\t\t9\n\t],\n\t\"./widgets/Form\": [\n\t\t\"72aa\",\n\t\t9\n\t],\n\t\"./widgets/Form.vue\": [\n\t\t\"72aa\",\n\t\t9\n\t],\n\t\"./widgets/FormBase\": [\n\t\t\"1e42\",\n\t\t9\n\t],\n\t\"./widgets/FormBase.vue\": [\n\t\t\"1e42\",\n\t\t9\n\t],\n\t\"./widgets/Grid\": [\n\t\t\"e7fa\",\n\t\t9\n\t],\n\t\"./widgets/Grid.vue\": [\n\t\t\"e7fa\",\n\t\t9\n\t],\n\t\"./widgets/Hidden\": [\n\t\t\"1bea\",\n\t\t9\n\t],\n\t\"./widgets/Hidden.vue\": [\n\t\t\"1bea\",\n\t\t9\n\t],\n\t\"./widgets/Horizontal\": [\n\t\t\"8464\",\n\t\t9\n\t],\n\t\"./widgets/Horizontal.vue\": [\n\t\t\"8464\",\n\t\t9\n\t],\n\t\"./widgets/Html\": [\n\t\t\"6b69\",\n\t\t9\n\t],\n\t\"./widgets/Html.vue\": [\n\t\t\"6b69\",\n\t\t9\n\t],\n\t\"./widgets/ImageUpload\": [\n\t\t\"3c8e\",\n\t\t9\n\t],\n\t\"./widgets/ImageUpload.vue\": [\n\t\t\"3c8e\",\n\t\t9\n\t],\n\t\"./widgets/Img\": [\n\t\t\"e660\",\n\t\t9\n\t],\n\t\"./widgets/Img.vue\": [\n\t\t\"e660\",\n\t\t9\n\t],\n\t\"./widgets/Jigsaw\": [\n\t\t\"d4df\",\n\t\t9\n\t],\n\t\"./widgets/Jigsaw.vue\": [\n\t\t\"d4df\",\n\t\t9\n\t],\n\t\"./widgets/Label\": [\n\t\t\"56be\",\n\t\t9\n\t],\n\t\"./widgets/Label.vue\": [\n\t\t\"56be\",\n\t\t9\n\t],\n\t\"./widgets/Leaf\": [\n\t\t\"c00c\",\n\t\t9\n\t],\n\t\"./widgets/Leaf.vue\": [\n\t\t\"c00c\",\n\t\t9\n\t],\n\t\"./widgets/LinkBox\": [\n\t\t\"2769\",\n\t\t9\n\t],\n\t\"./widgets/LinkBox.vue\": [\n\t\t\"2769\",\n\t\t9\n\t],\n\t\"./widgets/Loading\": [\n\t\t\"ea2f\",\n\t\t9\n\t],\n\t\"./widgets/Loading.vue\": [\n\t\t\"ea2f\",\n\t\t9\n\t],\n\t\"./widgets/MediaUpload\": [\n\t\t\"e8fd\",\n\t\t9\n\t],\n\t\"./widgets/MediaUpload.vue\": [\n\t\t\"e8fd\",\n\t\t9\n\t],\n\t\"./widgets/MediaUploadItem\": [\n\t\t\"bb18\",\n\t\t9\n\t],\n\t\"./widgets/MediaUploadItem.vue\": [\n\t\t\"bb18\",\n\t\t9\n\t],\n\t\"./widgets/Menu\": [\n\t\t\"122b\",\n\t\t9\n\t],\n\t\"./widgets/Menu.vue\": [\n\t\t\"122b\",\n\t\t9\n\t],\n\t\"./widgets/MenuButton\": [\n\t\t\"2f9f\",\n\t\t9\n\t],\n\t\"./widgets/MenuButton.vue\": [\n\t\t\"2f9f\",\n\t\t9\n\t],\n\t\"./widgets/Option\": [\n\t\t\"2aa7\",\n\t\t9\n\t],\n\t\"./widgets/Option.vue\": [\n\t\t\"2aa7\",\n\t\t9\n\t],\n\t\"./widgets/PageBar\": [\n\t\t\"1729\",\n\t\t9\n\t],\n\t\"./widgets/PageBar.vue\": [\n\t\t\"1729\",\n\t\t9\n\t],\n\t\"./widgets/Password\": [\n\t\t\"6adf\",\n\t\t9\n\t],\n\t\"./widgets/Password.vue\": [\n\t\t\"6adf\",\n\t\t9\n\t],\n\t\"./widgets/PickBox\": [\n\t\t\"783d\",\n\t\t9\n\t],\n\t\"./widgets/PickBox.vue\": [\n\t\t\"783d\",\n\t\t9\n\t],\n\t\"./widgets/Pop\": [\n\t\t\"a368\",\n\t\t9\n\t],\n\t\"./widgets/Pop.vue\": [\n\t\t\"a368\",\n\t\t9\n\t],\n\t\"./widgets/Progress\": [\n\t\t\"e06a\",\n\t\t9\n\t],\n\t\"./widgets/Progress.vue\": [\n\t\t\"e06a\",\n\t\t9\n\t],\n\t\"./widgets/PubParent\": [\n\t\t\"7e11\",\n\t\t9\n\t],\n\t\"./widgets/PubParent.vue\": [\n\t\t\"7e11\",\n\t\t9\n\t],\n\t\"./widgets/Radio\": [\n\t\t\"edc2\",\n\t\t9\n\t],\n\t\"./widgets/Radio.vue\": [\n\t\t\"edc2\",\n\t\t9\n\t],\n\t\"./widgets/RadioGroup\": [\n\t\t\"d597\",\n\t\t9\n\t],\n\t\"./widgets/RadioGroup.vue\": [\n\t\t\"d597\",\n\t\t9\n\t],\n\t\"./widgets/Range\": [\n\t\t\"af03\",\n\t\t9\n\t],\n\t\"./widgets/Range.vue\": [\n\t\t\"af03\",\n\t\t9\n\t],\n\t\"./widgets/Rate\": [\n\t\t\"a03d\",\n\t\t9\n\t],\n\t\"./widgets/Rate.vue\": [\n\t\t\"a03d\",\n\t\t9\n\t],\n\t\"./widgets/RateStar\": [\n\t\t\"183f\",\n\t\t9,\n\t\t\"chunk-2d0abff0\"\n\t],\n\t\"./widgets/RateStar.vue\": [\n\t\t\"183f\",\n\t\t9,\n\t\t\"chunk-2d0abff0\"\n\t],\n\t\"./widgets/Scroll\": [\n\t\t\"9667\",\n\t\t9\n\t],\n\t\"./widgets/Scroll.vue\": [\n\t\t\"9667\",\n\t\t9\n\t],\n\t\"./widgets/SlidePicker\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/SlidePicker.vue\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/Spinner\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Spinner.vue\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Split\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/Split.vue\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent.vue\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton.vue\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/Swiper\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/Swiper.vue\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem.vue\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/Switch\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Switch.vue\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Tab\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/Tab.vue\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/TabButton\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/TabButton.vue\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/Table\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/Table.vue\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/TableColumn\": [\n\t\t\"a506\",\n\t\t9\n\t],\n\t\"./widgets/TableColumn.vue\": [\n\t\t\"a506\",\n\t\t9\n\t],\n\t\"./widgets/TableColumns\": [\n\t\t\"4e44\",\n\t\t9\n\t],\n\t\"./widgets/TableColumns.vue\": [\n\t\t\"4e44\",\n\t\t9\n\t],\n\t\"./widgets/TableTBody\": [\n\t\t\"3dd9\",\n\t\t9\n\t],\n\t\"./widgets/TableTBody.vue\": [\n\t\t\"3dd9\",\n\t\t9\n\t],\n\t\"./widgets/TableTD\": [\n\t\t\"7f02\",\n\t\t9\n\t],\n\t\"./widgets/TableTD.vue\": [\n\t\t\"7f02\",\n\t\t9\n\t],\n\t\"./widgets/TableTH\": [\n\t\t\"6df1\",\n\t\t9\n\t],\n\t\"./widgets/TableTH.vue\": [\n\t\t\"6df1\",\n\t\t9\n\t],\n\t\"./widgets/TableTHead\": [\n\t\t\"ac97\",\n\t\t9\n\t],\n\t\"./widgets/TableTHead.vue\": [\n\t\t\"ac97\",\n\t\t9\n\t],\n\t\"./widgets/TableTR\": [\n\t\t\"d1dc\",\n\t\t9\n\t],\n\t\"./widgets/TableTR.vue\": [\n\t\t\"d1dc\",\n\t\t9\n\t],\n\t\"./widgets/Tabs\": [\n\t\t\"b4db\",\n\t\t9\n\t],\n\t\"./widgets/Tabs.vue\": [\n\t\t\"b4db\",\n\t\t9\n\t],\n\t\"./widgets/Text\": [\n\t\t\"f00f\",\n\t\t9\n\t],\n\t\"./widgets/Text.vue\": [\n\t\t\"f00f\",\n\t\t9\n\t],\n\t\"./widgets/Textarea\": [\n\t\t\"92c9\",\n\t\t9\n\t],\n\t\"./widgets/Textarea.vue\": [\n\t\t\"92c9\",\n\t\t9\n\t],\n\t\"./widgets/Timeline\": [\n\t\t\"5ec7\",\n\t\t9\n\t],\n\t\"./widgets/Timeline.vue\": [\n\t\t\"5ec7\",\n\t\t9\n\t],\n\t\"./widgets/TimelineItem\": [\n\t\t\"6cc0\",\n\t\t9\n\t],\n\t\"./widgets/TimelineItem.vue\": [\n\t\t\"6cc0\",\n\t\t9\n\t],\n\t\"./widgets/Tip\": [\n\t\t\"86ed\",\n\t\t9\n\t],\n\t\"./widgets/Tip.vue\": [\n\t\t\"86ed\",\n\t\t9\n\t],\n\t\"./widgets/Toggle\": [\n\t\t\"c8fb\",\n\t\t9\n\t],\n\t\"./widgets/Toggle.vue\": [\n\t\t\"c8fb\",\n\t\t9\n\t],\n\t\"./widgets/Tree\": [\n\t\t\"6a4c\",\n\t\t9\n\t],\n\t\"./widgets/Tree.vue\": [\n\t\t\"6a4c\",\n\t\t9\n\t],\n\t\"./widgets/TripleBox\": [\n\t\t\"ecbe\",\n\t\t9\n\t],\n\t\"./widgets/TripleBox.vue\": [\n\t\t\"ecbe\",\n\t\t9\n\t],\n\t\"./widgets/Vertical\": [\n\t\t\"d686\",\n\t\t9\n\t],\n\t\"./widgets/Vertical.vue\": [\n\t\t\"d686\",\n\t\t9\n\t],\n\t\"./widgets/Video\": [\n\t\t\"9be7\",\n\t\t9\n\t],\n\t\"./widgets/Video.vue\": [\n\t\t\"9be7\",\n\t\t9\n\t],\n\t\"./widgets/View\": [\n\t\t\"2e86\",\n\t\t9\n\t],\n\t\"./widgets/View.vue\": [\n\t\t\"2e86\",\n\t\t9\n\t],\n\t\"./widgets/ViewAbs\": [\n\t\t\"38da\",\n\t\t9\n\t],\n\t\"./widgets/ViewAbs.vue\": [\n\t\t\"38da\",\n\t\t9\n\t],\n\t\"./widgets/WidgetAbs\": [\n\t\t\"d0e8\",\n\t\t9\n\t],\n\t\"./widgets/WidgetAbs.vue\": [\n\t\t\"d0e8\",\n\t\t9\n\t],\n\t\"./widgets/WidgetBase\": [\n\t\t\"dbeb\",\n\t\t9\n\t],\n\t\"./widgets/WidgetBase.vue\": [\n\t\t\"dbeb\",\n\t\t9\n\t],\n\t\"./widgets/index\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/index.js\": [\n\t\t\"bb84\",\n\t\t9\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1])\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"8673\";\nmodule.exports = webpackAsyncContext;","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n let inst = null\r\n let tipCache = {\r\n time: new Date().getTime()\r\n }\r\n export {tipCache}\r\n \r\n export default {\r\n name: 'w-tip',\r\n mixins: [Dialog],\r\n props: ['text', 'face'],\r\n methods: {\r\n x_default() {\r\n return {\r\n prong: true,\r\n autoHide: true,\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-dialog w-vertical' + (this.x.face && ' z-face-' + this.x.face)\r\n },\r\n defaultSnapTargetElem() {\r\n return this.commander.snapElem()\r\n },\r\n defaultSnapPosition() {\r\n return 'tb,rl,lr,bt,rr,ll,bb,tt,cc'\r\n }\r\n },\r\n mounted() {\r\n tipCache.time = new Date().getTime()\r\n inst && $.close(inst)\r\n inst = this.uid\r\n },\r\n unmounted() {\r\n inst = null\r\n }\r\n }\r\n \r\n</script>\r\n\r\n<style>\r\n .w-tip.w-dialog {\r\n border: 1px solid #2498ff;\r\n background: #f5faff;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip .w-tip-x {\r\n position: absolute;\r\n right: 3px;\r\n top: 3px;\r\n padding: 0 3px;\r\n cursor: pointer\r\n }\r\n\r\n .w-tip .f-i-close {\r\n font-size: 12px;\r\n color: #999\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #2498ff\r\n }\r\n\r\n .w-tip.w-dialog.z-face-warn {\r\n border: 1px solid #f3e041;\r\n background: #faf0cd;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #f3e041\r\n }\r\n\r\n .w-tip-body {\r\n min-height: 32px;\r\n }\r\n\r\n .w-tip-text {\r\n padding: 0 10px;\r\n }\r\n</style>\n","import script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\nimport \"./Tip.vue?vue&type=style&index=0&id=129e762e&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Scroll.vue?vue&type=style&index=0&id=12c136aa&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Text from './Text.vue'\r\n import Dialog from './Dialog.vue'\r\n import Calendar from './Calendar.vue'\r\n\r\n export default {\r\n name: 'w-datepicker',\r\n mixins: [Text],\r\n inject: ['provideRangeParent'],\r\n props: ['showButton', 'multiple', 'format', 'autoFix', 'compare', 'minValue', 'maxValue', 'dropClass', 'enableHour', 'enableMinute', 'enableSecond',\r\n 'defaultHour', 'defaultMinute', 'defaultSecond' ],\r\n data() {\r\n return {\r\n showDrop: false,\r\n currentDate: null,\r\n focusValue: null,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n format: 'yyyy-MM-dd',\r\n autoFix: true,\r\n showButton: true,\r\n inputWidth: (this.provideRangeParent && this.provideRangeParent.x.inputWidth) || 180\r\n }\r\n },\r\n isUsableVal(v) {\r\n if (!$.dateValid(v, this.x.format)) return false\r\n let eh = this.x.enableHour && $.arrayNumber(this.x.enableHour)\r\n let em = this.x.enableMinute && $.arrayNumber(this.x.enableMinute)\r\n let es = this.x.enableSecond && $.arrayNumber(this.x.enableSecond)\r\n if (eh || em || es) {\r\n let d = $.dateParse(v, this.x.format)\r\n if ((eh && !eh.includes(d.getHours())) || (em && !em.includes(d.getMinutes())) || (es && !es.includes(d.getSeconds()))) return false\r\n }\r\n return true\r\n },\r\n onfocus(e) {\r\n this.focusValue = this.x.modelValue\r\n this.baseFocus(e)\r\n },\r\n onkeyup() {\r\n this.showDrop = true\r\n },\r\n onclose() {\r\n this.showDrop = false\r\n this.currentDate = null\r\n this.doAutoFix()\r\n },\r\n doAutoFix() {\r\n let v = this.x.modelValue\r\n if (v) {\r\n if (!this.isUsableVal(v)) {\r\n this.x.autoFix && this.val(this.focusValue)\r\n } else {\r\n let re = /\\b(\\d)\\b/g\r\n if (re.test(v)) {\r\n this.val(v.replace(re, '0$1'))\r\n }\r\n }\r\n }\r\n },\r\n drop() {\r\n if ($.br.mobile) {\r\n $.dateSheet({\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n success: this.calendarCallback,\r\n })\r\n } else {\r\n this.showDrop = true\r\n }\r\n },\r\n calendarCallback(val) {\r\n this.val(val)\r\n this.showDrop = false\r\n this.currentDate = null\r\n if (!$.br.mobile)\r\n this.focus()\r\n },\r\n getPeriod() {\r\n let minValue = this.x.minValue\r\n let maxValue = this.x.maxValue\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n if (p) {\r\n if (p[0] == this) {\r\n let end = p[1].formVal()\r\n if (end != null && (maxValue == null || maxValue > end)) maxValue = end\r\n } else if (p[1] == this) {\r\n let begin = p[0].formVal()\r\n if (begin != null && (minValue == null || minValue < begin)) minValue = begin\r\n }\r\n }\r\n return {\r\n minValue,\r\n maxValue\r\n }\r\n },\r\n getCompareError(v, r) {\r\n if (v && r && r.target && this.ownerView) {\r\n let f = this.x.format\r\n let m = r.mode || '<='\r\n let t = r.target.isWidget ? r.target : this.ownerView.f(r.target)\r\n let tv = t.formVal()\r\n if (v && tv && $.dateValid(v, f) && $.dateValid(tv, f)) {\r\n let d = $.dateParse(v, f)\r\n let td = $.dateParse(tv, f)\r\n if (!$.eval('d' + m + 'td', {d, td}))\r\n return [this.getLabelText(), m, t.getLabelText()]\r\n }\r\n }\r\n },\r\n html_button() {\r\n let r = []\r\n let f = this.x.format || ''\r\n let timeCols = 0\r\n if (f.includes('H')) timeCols ++\r\n if (f.includes('m')) timeCols ++\r\n if (f.includes('s')) timeCols ++\r\n let onlyTime = /[Hms]/.test(f) && !/[yMd]/.test(f)\r\n \r\n if (this.x.showButton) r.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-date',\r\n disabled: this.x.disabled,\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Dialog, {\r\n ownproperty: true,\r\n class: ['f-dfish-dialog w-calendar-dialog', this.dropClass, {'z-hastime': timeCols, 'z-onlytime': onlyTime}],\r\n style: {'--w-datepicker-time-cols': (timeCols || '')},\r\n context: this,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.snapElem(),\r\n position: 'v',\r\n indent: 1\r\n },\r\n onClose: this.onclose\r\n }, {\r\n default: () => h(Calendar, {\r\n height: '*',\r\n pad: true,\r\n current: this.currentDate || this.x.modelValue || '',\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n enableHour: this.x.enableHour,\r\n enableMinute: this.x.enableMinute,\r\n enableSecond: this.x.enableSecond,\r\n defaultHour: this.x.defaultHour,\r\n defaultMinute: this.x.defaultMinute,\r\n defaultSecond: this.x.defaultSecond,\r\n success: this.calendarCallback,\r\n 'onClick:item': (e, item) => {this.currentDate = item.value},\r\n })\r\n }))\r\n }\r\n return r\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minValue: (v, r, q) => {\r\n if (v && $.dateParse(v, this.x.format) < $.dateParse(r, this.x.format))\r\n return this.formErr(q)\r\n },\r\n maxValue: (v, r, q) => {\r\n if (v && $.dateParse(v, this.x.format) > $.dateParse(r, this.x.format))\r\n return this.formErr(q)\r\n },\r\n compare: (v, r, q) => {\r\n let e = this.getCompareError(v, r)\r\n if (e) return this.formErr(q, e)\r\n },\r\n validateDefault: (v, r, q) => {\r\n if (this.x.multiple)\r\n return;\r\n if (v) {\r\n let c = v\r\n let d = $.dateParse(c, this.x.format)\r\n let y = d.getFullYear()\r\n let m = 9999\r\n let n = 1000\r\n if (y > m || y < n)\r\n return this.formErr({type: 'time_exceed'}, [n, m])\r\n if (c != $.dateFormat(d, this.x.format)) {\r\n return this.formErr({type: 'time_format'}, [$.dateFormat(new Date, this.x.format)]);\r\n }\r\n }\r\n if (this.defaultRuleValue('beforeNow') && v && v > $.dateFormat(new Date(), this.x.format))\r\n return this.formErr({type: 'beforeNow'}, [this.x.beforeNow])\r\n if (this.defaultRuleValue('afterNow') && v && v < $.dateFormat(new Date(), this.x.format))\r\n return this.formErr({type: 'afterNow'}, [this.x.afterNow])\r\n let e = this.provideRangeParent && this.provideRangeParent.getRangeError()\r\n if (e) return this.formErr({type: 'compare'}, e)\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return $.br.mobile ? {\r\n readonly: true,\r\n } : {\r\n onfocus: this.onfocus,\r\n onkeyup: this.onkeyup,\r\n }\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.drop,\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./DatePicker.vue?vue&type=script&lang=js\"\nexport * from \"./DatePicker.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import Text from './Text.vue'\r\n \r\n export default {\r\n name: 'w-textarea',\r\n mixins: [Text],\r\n computed: {\r\n input_tag() {\r\n return 'textarea'\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Textarea.vue?vue&type=script&lang=js\"\nexport * from \"./Textarea.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n } from 'vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n const onScroll = function(e) {\r\n if (this.wScrollPercentX) {\r\n let left = e.target.scrollLeft\r\n this.scrollXPosition = left == 0 ? 'left' : left >= this.wScrollSizeX ? 'right' : 'center'\r\n this.$refs.wScrollBarThumbX.style.transform = `translateX(${left/this.wScrollPercentX}px)`\r\n }\r\n if (this.wScrollPercentY) {\r\n let top = e.target.scrollTop\r\n this.scrollYPosition = top == 0 ? 'top' : top >= this.wScrollSizeY ? 'bottom' : 'middle'\r\n this.$refs.wScrollBarThumbY.style.transform = `translateY(${top/this.wScrollPercentY}px)`\r\n }\r\n this.onScroll(e)\r\n }\r\n\r\n const onMousedown = function(dnEv) {\r\n let dir, dnX, dnY, scrLeft, scrTop;\r\n let ov = this.$refs.wScrollOverflow\r\n let x = this.wScrollPercentX\r\n let y = this.wScrollPercentY\r\n $.moveup((mvEv) => {\r\n if (!dir) {\r\n dir = this.$refs.wScrollBarThumbX === dnEv.target ? 'X' : 'Y'\r\n dnX = dnEv.clientX\r\n dnY = dnEv.clientY\r\n scrLeft = ov.scrollLeft\r\n scrTop = ov.scrollTop\r\n dnEv.target.parentNode.classList.add('z-drag')\r\n }\r\n if (dir === 'X') {\r\n ov.scrollLeft = scrLeft + ((mvEv.clientX - dnX) * x)\r\n } else {\r\n ov.scrollTop = scrTop + ((mvEv.clientY - dnY) * y)\r\n }\r\n }, (upEv, moved) => {\r\n if (moved)\r\n dnEv.target.parentNode.classList.remove('z-drag')\r\n }, dnEv)\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase],\r\n props: ['scrollX', 'scrollY', 'scrollView', 'scrollFlex'],\r\n data() {\r\n return {\r\n wScrollPercentX: false,\r\n wScrollPercentY: false,\r\n wScrollSizeX: false,\r\n wScrollSizeY: false,\r\n scrollXPosition: 'left',\r\n scrollYPosition: 'top',\r\n isDeactivated: false,\r\n }\r\n },\r\n watch: {\r\n scrollXPosition(v) {\r\n this.onScrollPosition(v)\r\n },\r\n scrollYPosition(v) {\r\n this.onScrollPosition(v)\r\n },\r\n wScrollPercentX(v) {\r\n let el = this.el()\r\n if (el) {\r\n v ? el.setAttribute('w-scroll-show-x', '') : el.removeAttribute('w-scroll-show-x')\r\n }\r\n },\r\n wScrollPercentY(v) {\r\n let el = this.el()\r\n if (el) {\r\n v ? el.setAttribute('w-scroll-show-y', '') : el.removeAttribute('w-scroll-show-y')\r\n }\r\n }\r\n },\r\n methods: {\r\n onScroll(e) {\r\n //implement\r\n },\r\n onScrollPosition() {\r\n //implement\r\n },\r\n onScrollAttributeChange(e) {\r\n //implement\r\n },\r\n // 让元素滚动到可见区域。支持下面两种调用方式 /e -> el|wg, y -> (top,bottom,middle,auto,top+n,bottom+n,n), x -> (left,right,center,auto), p -> ease?, q -> divide(整除数字,让滚动的距离是这个数字的整数倍), r -> callback\r\n scrollTo(e, y, x, p, q, r) {\r\n let a = this.ovf()\r\n if (!a) return r && r()\r\n let b = this.$refs.wScrollCont || a\r\n let c = $.bcr(a)\r\n let d = $.bcr(b)\r\n let f = e ? $.bcr(e) : d\r\n let t, l\r\n if (y != null || e) {\r\n if (y == null || !isNaN(y)) {\r\n t = $.number(y)\r\n if (e) t = f.top - d.top - t\r\n } else if (~y.indexOf('top')) {\r\n t = f.top - d.top - (+y.slice(3))\r\n } else if (~y.indexOf('bottom')) {\r\n t = f.bottom - d.top - c.height + (+y.slice(6))\r\n } else if (y === 'middle') {\r\n t = f.top - d.top - ((c.height / 2) - (f.height / 2))\r\n } else if (y === 'nearest') {\r\n if (f.top < c.top)\r\n t = a.scrollTop - c.top + f.top\r\n else if (f.bottom > c.bottom)\r\n t = a.scrollTop + f.bottom - c.bottom\r\n } else {\r\n if (f.top < c.top || f.bottom > c.bottom)\r\n t = f.top - d.top - ((c.height / 2) - (f.height / 2))\r\n }\r\n }\r\n if (x != null || e) {\r\n if (x == null || !isNaN(x)) {\r\n l = $.number(x)\r\n if (e) l = f.left - d.left - l\r\n } else if (~y.indexOf('left')) {\r\n l = f.left - d.left - (+y.slice(4))\r\n } else if (~y.indexOf('right')) {\r\n l = f.right - d.left - c.width + (+y.slice(5))\r\n } else if (x === 'center') {\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n } else if (x === 'nearest') {\r\n if (f.left < c.left)\r\n l = a.scrollLeft - c.left + f.left\r\n else if (f.right > c.right)\r\n l = a.scrollLeft + f.right - c.right\r\n } else {\r\n if (f.left < c.left || f.right > c.right)\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n }\r\n }\r\n if (q != null) {\r\n t != null && (t = t - (t % q))\r\n l != null && (l = l - (l % q))\r\n }\r\n if (p && (t != null || l != null)) {\r\n let g = a.scrollTop\r\n let h = a.scrollLeft\r\n $.ease((i) => {\r\n if (t != null) a.scrollTop = g + (t - g) * i\r\n if (l != null) a.scrollLeft = h + (l - h) * i\r\n i === 1 && r && r()\r\n }, p)\r\n } else {\r\n if (t != null) a.scrollTop = t\r\n if (l != null) a.scrollLeft = l\r\n r && r()\r\n }\r\n },\r\n //@public /@ e -> el, y -> (top,bottom,middle), p -> ease?, q -> divide, r -> callback\r\n scrollToY(e, y, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollTop\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = y, y = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, y, null, p, q, r)\r\n },\r\n //@public /@ e -> el, x -> (left,right,center), p -> ease?, q -> divide, r -> callback\r\n scrollToX(e, x, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollLeft\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = x, x = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, null, x, p, q, r)\r\n },\r\n ovf() {\r\n return $.br.mobile ? this.el() : this.$refs.wScrollOverflow || this.$refs.wScrollCont\r\n },\r\n html_scroll_slots(s) {\r\n return this.x.scrollX || this.x.scrollY ? [h('div', {\r\n ref: \"wScrollOverflow\",\r\n class: \"w-scroll-overflow\",\r\n onscroll: onScroll.bind(this),\r\n onmouseenter: this.initScroll\r\n }, h('div', {\r\n class: 'w-scroll-cont',\r\n style: this.html_scroll_cont_style,\r\n ref: \"wScrollCont\"\r\n }, s || (this.$slots.default && this.$slots.default()))),\r\n !$.br.mobile && this.x.scrollX && [h('div', {\r\n class: \"w-scrollbar-x\",\r\n ref: \"wScrollBarX\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbX\"\r\n }))],\r\n !$.br.mobile && this.x.scrollY && [h('div', {\r\n class: \"w-scrollbar-y\",\r\n ref: \"wScrollBarY\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbY\"\r\n }))]\r\n ] : (s || (this.$slots.default && this.$slots.default()))\r\n\r\n },\r\n scrollState() {\r\n if ($.br.mobile || !this.$refs.wScrollCont || !this.el()) return\r\n const flow = this.$refs.wScrollOverflow.getBoundingClientRect()\r\n const cont = this.$refs.wScrollCont.getBoundingClientRect()\r\n let x, y;\r\n if (this.x.scrollX) {\r\n let size = cont.width > flow.width && cont.width - flow.width\r\n if (size && size <= 1) size = false //@fixme 横向滚动时,width:fit-content的设置会让有小数点的宽度变成整数。目前先加一个像素容错\r\n if (size) {\r\n x = {\r\n size,\r\n percent: flow.width / cont.width\r\n }\r\n }\r\n }\r\n if (this.x.scrollY) {\r\n let size = cont.height > flow.height && cont.height - flow.height\r\n if (size) {\r\n y = {\r\n size,\r\n percent: flow.height / cont.height\r\n }\r\n }\r\n }\r\n return {x, y}\r\n },\r\n initScroll() {\r\n const state = this.scrollState()\r\n if (!state) return\r\n const wrap = this.el().getBoundingClientRect()\r\n const {x, y} = state\r\n if (x) {\r\n let thbX = x.percent * wrap.width\r\n this.$refs.wScrollBarThumbX.style.width = Math.max(20, thbX) + 'px'\r\n this.wScrollSizeX = x.size\r\n this.wScrollPercentX = x.size && (x.size / ((1 - x.percent) * (wrap.width - (thbX < 20 ? 20 - thbX : 0))))\r\n } else {\r\n this.wScrollSizeX = this.wScrollPercentX = false\r\n }\r\n if (y) {\r\n let thbY = y.percent * wrap.height\r\n this.$refs.wScrollBarThumbY.style.height = Math.max(20, thbY) + 'px'\r\n this.wScrollSizeY = y.size\r\n this.wScrollPercentY = y.size && (y.size / ((1 - y.percent) * (wrap.height - (thbY < 20 ? 20 - thbY : 0))))\r\n } else {\r\n this.wScrollSizeY = this.wScrollPercentY = false\r\n }\r\n },\r\n scroll_observe() {\r\n if (this.isDeactivated) return\r\n this.initScroll()\r\n this.$refs.wScrollOverflow && this.$refs.wScrollOverflow.dispatchEvent(new Event('scroll'))\r\n }\r\n },\r\n computed: {\r\n html_scroll_cont_style() {\r\n // implement\r\n },\r\n html_scroll_class() {\r\n let sx = this.x.scrollX\r\n let sy = this.x.scrollY\r\n return {\r\n 'w-scroll': sx || sy,\r\n 'w-scroll-x': sx,\r\n 'w-scroll-y': sy,\r\n 'w-scroll-flex': this.x.scrollFlex,\r\n }\r\n },\r\n\r\n },\r\n mounted() {\r\n if (this.x.scrollView && this.el()) {\r\n setTimeout(() => {\r\n let el = this.el().querySelector(this.x.scrollView)\r\n el && this.scrollToY(el, 'middle')\r\n })\r\n }\r\n //在PC端生成滚动条。移动端不生成\r\n if ($.br.mobile || !(this.x.scrollX || this.x.scrollY)) return\r\n this.$refs.wScrollOverflow && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollOverflow)\r\n this.$refs.wScrollCont && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollCont)\r\n this.el() && new MutationObserver(this.onScrollAttributeChange).observe(this.el(), {attributes: true})\r\n },\r\n deactivated() {\r\n this.isDeactivated = true\r\n },\r\n activated() {\r\n this.isDeactivated = false\r\n //router切回来时,让滚动条滚动到切出去之前的位置\r\n if (this.x.scrollY && this.$refs.wScrollBarThumbY) {\r\n this.scrollToY($.number(this.$refs.wScrollBarThumbY.style.transform) * this.wScrollPercentY)\r\n }\r\n if (this.x.scrollX && this.$refs.wScrollBarThumbX) {\r\n this.scrollToX($.number(this.$refs.wScrollBarThumbX.style.transform) * this.wScrollPercentX)\r\n }\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-scroll {\r\n position: relative;\r\n display: flex;\r\n }\r\n\r\n .w-scroll-overflow {\r\n flex: 1;\r\n box-sizing: border-box;\r\n scrollbar-width: none;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow {\r\n overflow-x: auto;\r\n }\r\n\r\n .w-scroll-y>.w-scroll-overflow {\r\n overflow-y: auto;\r\n }\r\n\r\n .w-scroll-flex>.w-scroll-overflow {\r\n display: flex;\r\n }\r\n\r\n .w-scroll-cont {\r\n min-width: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow>.w-scroll-cont {\r\n width: fit-content;\r\n }\r\n\r\n .w-scroll-overflow::-webkit-scrollbar {\r\n width: 0;\r\n height: 0;\r\n }\r\n\r\n .w-scrollbar-thumb {\r\n background-color: rgba(200, 200, 200, .9);\r\n }\r\n\r\n .w-scrollbar-thumb:hover {\r\n background-color: rgba(180, 180, 180, 1);\r\n }\r\n\r\n .w-scroll-x:hover>.w-scrollbar-x,\r\n .w-scroll-x.z-hv>.w-scrollbar-x,\r\n .w-scroll-y:hover>.w-scrollbar-y,\r\n .w-scroll-y.z-hv>.w-scrollbar-y,\r\n .w-scrollbar-x.z-drag,\r\n .w-scrollbar-y.z-drag {\r\n visibility: visible;\r\n }\r\n\r\n .w-scroll[w-scroll-show-x]>.w-scrollbar-x,\r\n .w-scroll[w-scroll-show-y]>.w-scrollbar-y {\r\n display: block;\r\n }\r\n\r\n .w-scrollbar-x {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: 12px;\r\n z-index: 10;\r\n user-select: none;\r\n }\r\n\r\n .w-scrollbar-y {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n width: 12px;\r\n z-index: 10;\r\n user-select: none;\r\n }\r\n\r\n .w-scrollbar-thumb {\r\n position: absolute;\r\n transition-property: top, left;\r\n transition-duration: .1s;\r\n }\r\n\r\n .w-scrollbar-x>.w-scrollbar-thumb {\r\n top: 4px;\r\n bottom: 0;\r\n min-width: 20px;\r\n }\r\n\r\n\r\n .w-scrollbar-y>.w-scrollbar-thumb {\r\n left: 4px;\r\n right: 0;\r\n min-height: 20px;\r\n }\r\n\r\n .w-scrollbar-x:hover>.w-scrollbar-thumb {\r\n top: 0;\r\n }\r\n\r\n .w-scrollbar-y:hover>.w-scrollbar-thumb {\r\n left: 0;\r\n }\r\n</style>\n","import script from \"./Scroll.vue?vue&type=script&lang=js\"\nexport * from \"./Scroll.vue?vue&type=script&lang=js\"\n\nimport \"./Scroll.vue?vue&type=style&index=0&id=12c136aa&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LinkBox.vue?vue&type=style&index=0&id=d62f9532&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Range.vue?vue&type=style&index=0&id=8a31b61c&lang=css\"","import {strFrom} from './str.js'\r\n\r\nconst mimes = {\r\n \".323\": \"text/h323\",\r\n \".3gp\": \"video/3gpp\",\r\n \".aab\": \"application/x-authoware-bin\",\r\n \".aam\": \"application/x-authoware-map\",\r\n \".aas\": \"application/x-authoware-seg\",\r\n \".acx\": \"application/internet-property-stream\",\r\n \".ai\": \"application/postscript\",\r\n \".aif\": \"audio/x-aiff\",\r\n \".aifc\": \"audio/x-aiff\",\r\n \".aiff\": \"audio/x-aiff\",\r\n \".als\": \"audio/X-Alpha5\",\r\n \".amc\": \"application/x-mpeg\",\r\n \".apk\": \"application/vnd.android.package-archive\",\r\n \".asc\": \"text/plain\",\r\n \".asd\": \"application/astound\",\r\n \".asf\": \"video/x-ms-asf\",\r\n \".asn\": \"application/astound\",\r\n \".asp\": \"application/x-asap\",\r\n \".asr\": \"video/x-ms-asf\",\r\n \".asx\": \"video/x-ms-asf\",\r\n \".au\": \"audio/basic\",\r\n \".avi\": \"video/x-msvideo\",\r\n \".awb\": \"audio/amr-wb\",\r\n \".axs\": \"application/olescript\",\r\n \".bas\": \"text/plain\",\r\n \".bcpio\": \"application/x-bcpio\",\r\n \".bld\": \"application/bld\",\r\n \".bld2\": \"application/bld2\",\r\n \".bmp\": \"image/bmp\",\r\n \".bz2\": \"application/x-bzip2\",\r\n \".c\": \"text/plain\",\r\n \".cal\": \"image/x-cals\",\r\n \".cat\": \"application/vnd.ms-pkiseccat\",\r\n \".ccn\": \"application/x-cnc\",\r\n \".cco\": \"application/x-cocoa\",\r\n \".cdf\": \"application/x-cdf\",\r\n \".cer\": \"application/x-x509-ca-cert\",\r\n \".cgi\": \"magnus-internal/cgi\",\r\n \".chat\": \"application/x-chat\",\r\n \".clp\": \"application/x-msclip\",\r\n \".cmx\": \"image/x-cmx\",\r\n \".co\": \"application/x-cult3d-object\",\r\n \".cod\": \"image/cis-cod\",\r\n \".conf\": \"text/plain\",\r\n \".cpio\": \"application/x-cpio\",\r\n \".cpp\": \"text/plain\",\r\n \".cpt\": \"application/mac-compactpro\",\r\n \".crd\": \"application/x-mscardfile\",\r\n \".crl\": \"application/pkix-crl\",\r\n \".crt\": \"application/x-x509-ca-cert\",\r\n \".csh\": \"application/x-csh\",\r\n \".csm\": \"chemical/x-csml\",\r\n \".csml\": \"chemical/x-csml\",\r\n \".css\": \"text/css\",\r\n \".dcm\": \"x-lml/x-evm\",\r\n \".dcr\": \"application/x-director\",\r\n \".dcx\": \"image/x-dcx\",\r\n \".der\": \"application/x-x509-ca-cert\",\r\n \".dhtml\": \"text/html\",\r\n \".dir\": \"application/x-director\",\r\n \".dll\": \"application/x-msdownload\",\r\n \".doc\": \"application/msword\",\r\n \".docx\": \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n \".dot\": \"application/msword\",\r\n \".dvi\": \"application/x-dvi\",\r\n \".dwf\": \"drawing/x-dwf\",\r\n \".dwg\": \"application/x-autocad\",\r\n \".dxf\": \"application/x-autocad\",\r\n \".dxr\": \"application/x-director\",\r\n \".ebk\": \"application/x-expandedbook\",\r\n \".emb\": \"chemical/x-embl-dl-nucleotide\",\r\n \".embl\": \"chemical/x-embl-dl-nucleotide\",\r\n \".eps\": \"application/postscript\",\r\n \".epub\": \"application/epub+zip\",\r\n \".eri\": \"image/x-eri\",\r\n \".es\": \"audio/echospeech\",\r\n \".esl\": \"audio/echospeech\",\r\n \".etc\": \"application/x-earthtime\",\r\n \".etx\": \"text/x-setext\",\r\n \".evm\": \"x-lml/x-evm\",\r\n \".evy\": \"application/envoy\",\r\n \".fh4\": \"image/x-freehand\",\r\n \".fh5\": \"image/x-freehand\",\r\n \".fhc\": \"image/x-freehand\",\r\n \".fif\": \"application/fractals\",\r\n \".flr\": \"x-world/x-vrml\",\r\n \".flv\": \"flv-application/octet-stream\",\r\n \".fm\": \"application/x-maker\",\r\n \".fpx\": \"image/x-fpx\",\r\n \".fvi\": \"video/isivideo\",\r\n \".gau\": \"chemical/x-gaussian-input\",\r\n \".gca\": \"application/x-gca-compressed\",\r\n \".gdb\": \"x-lml/x-gdb\",\r\n \".gif\": \"image/gif\",\r\n \".gps\": \"application/x-gps\",\r\n \".gtar\": \"application/x-gtar\",\r\n \".gz\": \"application/x-gzip\",\r\n \".h\": \"text/plain\",\r\n \".hdf\": \"application/x-hdf\",\r\n \".hdm\": \"text/x-hdml\",\r\n \".hdml\": \"text/x-hdml\",\r\n \".hlp\": \"application/winhlp\",\r\n \".hqx\": \"application/mac-binhex40\",\r\n \".hta\": \"application/hta\",\r\n \".htc\": \"text/x-component\",\r\n \".htm\": \"text/html\",\r\n \".html\": \"text/html\",\r\n \".hts\": \"text/html\",\r\n \".htt\": \"text/webviewhtml\",\r\n \".ice\": \"x-conference/x-cooltalk\",\r\n \".ico\": \"image/x-icon\",\r\n \".ief\": \"image/ief\",\r\n \".ifm\": \"image/gif\",\r\n \".ifs\": \"image/ifs\",\r\n \".iii\": \"application/x-iphone\",\r\n \".imy\": \"audio/melody\",\r\n \".ins\": \"application/x-internet-signup\",\r\n \".ips\": \"application/x-ipscript\",\r\n \".ipx\": \"application/x-ipix\",\r\n \".isp\": \"application/x-internet-signup\",\r\n \".it\": \"audio/x-mod\",\r\n \".itz\": \"audio/x-mod\",\r\n \".ivr\": \"i-world/i-vrml\",\r\n \".j2k\": \"image/j2k\",\r\n \".jad\": \"text/vnd.sun.j2me.app-descriptor\",\r\n \".jam\": \"application/x-jam\",\r\n \".jar\": \"application/java-archive\",\r\n \".java\": \"text/plain\",\r\n \".jfif\": \"image/pipeg\",\r\n \".jnlp\": \"application/x-java-jnlp-file\",\r\n \".jpe\": \"image/jpeg\",\r\n \".jpeg\": \"image/jpeg\",\r\n \".jpg\": \"image/jpeg\",\r\n \".jpz\": \"image/jpeg\",\r\n \".js\": \"application/x-javascript\",\r\n \".jwc\": \"application/jwc\",\r\n \".kjx\": \"application/x-kjx\",\r\n \".lak\": \"x-lml/x-lak\",\r\n \".latex\": \"application/x-latex\",\r\n \".lcc\": \"application/fastman\",\r\n \".lcl\": \"application/x-digitalloca\",\r\n \".lcr\": \"application/x-digitalloca\",\r\n \".lgh\": \"application/lgh\",\r\n \".lml\": \"x-lml/x-lml\",\r\n \".lmlpack\": \"x-lml/x-lmlpack\",\r\n \".log\": \"text/plain\",\r\n \".lsf\": \"video/x-la-asf\",\r\n \".lsx\": \"video/x-la-asf\",\r\n \".m13\": \"application/x-msmediaview\",\r\n \".m14\": \"application/x-msmediaview\",\r\n \".m15\": \"audio/x-mod\",\r\n \".m3u\": \"audio/x-mpegurl\",\r\n \".m3url\": \"audio/x-mpegurl\",\r\n \".m4a\": \"audio/mp4a-latm\",\r\n \".m4b\": \"audio/mp4a-latm\",\r\n \".m4p\": \"audio/mp4a-latm\",\r\n \".m4u\": \"video/vnd.mpegurl\",\r\n \".m4v\": \"video/x-m4v\",\r\n \".ma1\": \"audio/ma1\",\r\n \".ma2\": \"audio/ma2\",\r\n \".ma3\": \"audio/ma3\",\r\n \".ma5\": \"audio/ma5\",\r\n \".man\": \"application/x-troff-man\",\r\n \".map\": \"magnus-internal/imagemap\",\r\n \".mbd\": \"application/mbedlet\",\r\n \".mct\": \"application/x-mascot\",\r\n \".mdb\": \"application/x-msaccess\",\r\n \".mdz\": \"audio/x-mod\",\r\n \".me\": \"application/x-troff-me\",\r\n \".mel\": \"text/x-vmel\",\r\n \".mht\": \"message/rfc822\",\r\n \".mhtml\": \"message/rfc822\",\r\n \".mi\": \"application/x-mif\",\r\n \".mid\": \"audio/mid\",\r\n \".midi\": \"audio/midi\",\r\n \".mif\": \"application/x-mif\",\r\n \".mil\": \"image/x-cals\",\r\n \".mio\": \"audio/x-mio\",\r\n \".mmf\": \"application/x-skt-lbs\",\r\n \".mng\": \"video/x-mng\",\r\n \".mny\": \"application/x-msmoney\",\r\n \".moc\": \"application/x-mocha\",\r\n \".mocha\": \"application/x-mocha\",\r\n \".mod\": \"audio/x-mod\",\r\n \".mof\": \"application/x-yumekara\",\r\n \".mol\": \"chemical/x-mdl-molfile\",\r\n \".mop\": \"chemical/x-mopac-input\",\r\n \".mov\": \"video/quicktime\",\r\n \".movie\": \"video/x-sgi-movie\",\r\n \".mp2\": \"video/mpeg\",\r\n \".mp3\": \"audio/mpeg\",\r\n \".mp4\": \"video/mp4\",\r\n \".mpa\": \"video/mpeg\",\r\n \".mpc\": \"application/vnd.mpohun.certificate\",\r\n \".mpe\": \"video/mpeg\",\r\n \".mpeg\": \"video/mpeg\",\r\n \".mpg\": \"video/mpeg\",\r\n \".mpg4\": \"video/mp4\",\r\n \".mpga\": \"audio/mpeg\",\r\n \".mpn\": \"application/vnd.mophun.application\",\r\n \".mpp\": \"application/vnd.ms-project\",\r\n \".mps\": \"application/x-mapserver\",\r\n \".mpv2\": \"video/mpeg\",\r\n \".mrl\": \"text/x-mrml\",\r\n \".mrm\": \"application/x-mrm\",\r\n \".ms\": \"application/x-troff-ms\",\r\n \".msg\": \"application/vnd.ms-outlook\",\r\n \".mts\": \"application/metastream\",\r\n \".mtx\": \"application/metastream\",\r\n \".mtz\": \"application/metastream\",\r\n \".mvb\": \"application/x-msmediaview\",\r\n \".mzv\": \"application/metastream\",\r\n \".nar\": \"application/zip\",\r\n \".nbmp\": \"image/nbmp\",\r\n \".nc\": \"application/x-netcdf\",\r\n \".ndb\": \"x-lml/x-ndb\",\r\n \".ndwn\": \"application/ndwn\",\r\n \".nif\": \"application/x-nif\",\r\n \".nmz\": \"application/x-scream\",\r\n \".nokia-op-logo\": \"image/vnd.nok-oplogo-color\",\r\n \".npx\": \"application/x-netfpx\",\r\n \".nsnd\": \"audio/nsnd\",\r\n \".nva\": \"application/x-neva1\",\r\n \".nws\": \"message/rfc822\",\r\n \".oda\": \"application/oda\",\r\n \".ogg\": \"audio/ogg\",\r\n \".oom\": \"application/x-AtlasMate-Plugin\",\r\n \".p10\": \"application/pkcs10\",\r\n \".p12\": \"application/x-pkcs12\",\r\n \".p7b\": \"application/x-pkcs7-certificates\",\r\n \".p7c\": \"application/x-pkcs7-mime\",\r\n \".p7m\": \"application/x-pkcs7-mime\",\r\n \".p7r\": \"application/x-pkcs7-certreqresp\",\r\n \".p7s\": \"application/x-pkcs7-signature\",\r\n \".pac\": \"audio/x-pac\",\r\n \".pae\": \"audio/x-epac\",\r\n \".pan\": \"application/x-pan\",\r\n \".pbm\": \"image/x-portable-bitmap\",\r\n \".pcx\": \"image/x-pcx\",\r\n \".pda\": \"image/x-pda\",\r\n \".pdb\": \"chemical/x-pdb\",\r\n \".pdf\": \"application/pdf\",\r\n \".pfr\": \"application/font-tdpfr\",\r\n \".pfx\": \"application/x-pkcs12\",\r\n \".pgm\": \"image/x-portable-graymap\",\r\n \".pict\": \"image/x-pict\",\r\n \".pko\": \"application/ynd.ms-pkipko\",\r\n \".pm\": \"application/x-perl\",\r\n \".pma\": \"application/x-perfmon\",\r\n \".pmc\": \"application/x-perfmon\",\r\n \".pmd\": \"application/x-pmd\",\r\n \".pml\": \"application/x-perfmon\",\r\n \".pmr\": \"application/x-perfmon\",\r\n \".pmw\": \"application/x-perfmon\",\r\n \".png\": \"image/png\",\r\n \".pnm\": \"image/x-portable-anymap\",\r\n \".pnz\": \"image/png\",\r\n \".pot\": \"application/vnd.ms-powerpoint\",\r\n \".ppm\": \"image/x-portable-pixmap\",\r\n \".pps\": \"application/vnd.ms-powerpoint\",\r\n \".ppt\": \"application/vnd.ms-powerpoint\",\r\n \".pptx\": \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\r\n \".pqf\": \"application/x-cprplayer\",\r\n \".pqi\": \"application/cprplayer\",\r\n \".prc\": \"application/x-prc\",\r\n \".prf\": \"application/pics-rules\",\r\n \".prop\": \"text/plain\",\r\n \".proxy\": \"application/x-ns-proxy-autoconfig\",\r\n \".ps\": \"application/postscript\",\r\n \".ptlk\": \"application/listenup\",\r\n \".pub\": \"application/x-mspublisher\",\r\n \".pvx\": \"video/x-pv-pvx\",\r\n \".qcp\": \"audio/vnd.qcelp\",\r\n \".qt\": \"video/quicktime\",\r\n \".qti\": \"image/x-quicktime\",\r\n \".qtif\": \"image/x-quicktime\",\r\n \".r3t\": \"text/vnd.rn-realtext3d\",\r\n \".ra\": \"audio/x-pn-realaudio\",\r\n \".ram\": \"audio/x-pn-realaudio\",\r\n \".ras\": \"image/x-cmu-raster\",\r\n \".rc\": \"text/plain\",\r\n \".rdf\": \"application/rdf+xml\",\r\n \".rf\": \"image/vnd.rn-realflash\",\r\n \".rgb\": \"image/x-rgb\",\r\n \".rlf\": \"application/x-richlink\",\r\n \".rm\": \"audio/x-pn-realaudio\",\r\n \".rmf\": \"audio/x-rmf\",\r\n \".rmi\": \"audio/mid\",\r\n \".rmm\": \"audio/x-pn-realaudio\",\r\n \".rmvb\": \"audio/x-pn-realaudio\",\r\n \".rnx\": \"application/vnd.rn-realplayer\",\r\n \".roff\": \"application/x-troff\",\r\n \".rp\": \"image/vnd.rn-realpix\",\r\n \".rpm\": \"audio/x-pn-realaudio-plugin\",\r\n \".rt\": \"text/vnd.rn-realtext\",\r\n \".rte\": \"x-lml/x-gps\",\r\n \".rtf\": \"application/rtf\",\r\n \".rtg\": \"application/metastream\",\r\n \".rtx\": \"text/richtext\",\r\n \".rv\": \"video/vnd.rn-realvideo\",\r\n \".rwc\": \"application/x-rogerwilco\",\r\n \".s3m\": \"audio/x-mod\",\r\n \".s3z\": \"audio/x-mod\",\r\n \".sca\": \"application/x-supercard\",\r\n \".scd\": \"application/x-msschedule\",\r\n \".sct\": \"text/scriptlet\",\r\n \".sdf\": \"application/e-score\",\r\n \".sea\": \"application/x-stuffit\",\r\n \".setpay\": \"application/set-payment-initiation\",\r\n \".setreg\": \"application/set-registration-initiation\",\r\n \".sgm\": \"text/x-sgml\",\r\n \".sgml\": \"text/x-sgml\",\r\n \".sh\": \"application/x-sh\",\r\n \".shar\": \"application/x-shar\",\r\n \".shtml\": \"magnus-internal/parsed-html\",\r\n \".shw\": \"application/presentations\",\r\n \".si6\": \"image/si6\",\r\n \".si7\": \"image/vnd.stiwap.sis\",\r\n \".si9\": \"image/vnd.lgtwap.sis\",\r\n \".sis\": \"application/vnd.symbian.install\",\r\n \".sit\": \"application/x-stuffit\",\r\n \".skd\": \"application/x-Koan\",\r\n \".skm\": \"application/x-Koan\",\r\n \".skp\": \"application/x-Koan\",\r\n \".skt\": \"application/x-Koan\",\r\n \".slc\": \"application/x-salsa\",\r\n \".smd\": \"audio/x-smd\",\r\n \".smi\": \"application/smil\",\r\n \".smil\": \"application/smil\",\r\n \".smp\": \"application/studiom\",\r\n \".smz\": \"audio/x-smd\",\r\n \".snd\": \"audio/basic\",\r\n \".spc\": \"application/x-pkcs7-certificates\",\r\n \".spl\": \"application/futuresplash\",\r\n \".spr\": \"application/x-sprite\",\r\n \".sprite\": \"application/x-sprite\",\r\n \".sdp\": \"application/sdp\",\r\n \".spt\": \"application/x-spt\",\r\n \".src\": \"application/x-wais-source\",\r\n \".sst\": \"application/vnd.ms-pkicertstore\",\r\n \".stk\": \"application/hyperstudio\",\r\n \".stl\": \"application/vnd.ms-pkistl\",\r\n \".stm\": \"text/html\",\r\n \".svg\": \"image/svg+xml\",\r\n \".sv4cpio\": \"application/x-sv4cpio\",\r\n \".sv4crc\": \"application/x-sv4crc\",\r\n \".svf\": \"image/vnd\",\r\n \".svh\": \"image/svh\",\r\n \".svr\": \"x-world/x-svr\",\r\n \".swf\": \"application/x-shockwave-flash\",\r\n \".swfl\": \"application/x-shockwave-flash\",\r\n \".t\": \"application/x-troff\",\r\n \".talk\": \"text/x-speech\",\r\n \".tar\": \"application/x-tar\",\r\n \".taz\": \"application/x-tar\",\r\n \".tbp\": \"application/x-timbuktu\",\r\n \".tbt\": \"application/x-timbuktu\",\r\n \".tcl\": \"application/x-tcl\",\r\n \".tex\": \"application/x-tex\",\r\n \".texi\": \"application/x-texinfo\",\r\n \".texinfo\": \"application/x-texinfo\",\r\n \".tgz\": \"application/x-compressed\",\r\n \".thm\": \"application/vnd.eri.thm\",\r\n \".tif\": \"image/tiff\",\r\n \".tiff\": \"image/tiff\",\r\n \".tki\": \"application/x-tkined\",\r\n \".tkined\": \"application/x-tkined\",\r\n \".toc\": \"application/toc\",\r\n \".toy\": \"image/toy\",\r\n \".tr\": \"application/x-troff\",\r\n \".trk\": \"x-lml/x-gps\",\r\n \".trm\": \"application/x-msterminal\",\r\n \".tsi\": \"audio/tsplayer\",\r\n \".tsp\": \"application/dsptype\",\r\n \".tsv\": \"text/tab-separated-values\",\r\n \".ttz\": \"application/t-time\",\r\n \".txt\": \"text/plain\",\r\n \".uls\": \"text/iuls\",\r\n \".ult\": \"audio/x-mod\",\r\n \".ustar\": \"application/x-ustar\",\r\n \".uu\": \"application/x-uuencode\",\r\n \".uue\": \"application/x-uuencode\",\r\n \".vcd\": \"application/x-cdlink\",\r\n \".vcf\": \"text/x-vcard\",\r\n \".vdo\": \"video/vdo\",\r\n \".vib\": \"audio/vib\",\r\n \".viv\": \"video/vivo\",\r\n \".vivo\": \"video/vivo\",\r\n \".vmd\": \"application/vocaltec-media-desc\",\r\n \".vmf\": \"application/vocaltec-media-file\",\r\n \".vmi\": \"application/x-dreamcast-vms-info\",\r\n \".vms\": \"application/x-dreamcast-vms\",\r\n \".vox\": \"audio/voxware\",\r\n \".vqe\": \"audio/x-twinvq-plugin\",\r\n \".vqf\": \"audio/x-twinvq\",\r\n \".vql\": \"audio/x-twinvq\",\r\n \".vre\": \"x-world/x-vream\",\r\n \".vrml\": \"x-world/x-vrml\",\r\n \".vrt\": \"x-world/x-vrt\",\r\n \".vrw\": \"x-world/x-vream\",\r\n \".vts\": \"workbook/formulaone\",\r\n \".wav\": \"audio/x-wav\",\r\n \".wax\": \"audio/x-ms-wax\",\r\n \".wbmp\": \"image/vnd.wap.wbmp\",\r\n \".wcm\": \"application/vnd.ms-works\",\r\n \".wdb\": \"application/vnd.ms-works\",\r\n \".web\": \"application/vnd.xara\",\r\n \".webm\": \"video/webm\",\r\n \".wi\": \"image/wavelet\",\r\n \".wis\": \"application/x-InstallShield\",\r\n \".wks\": \"application/vnd.ms-works\",\r\n \".wm\": \"video/x-ms-wm\",\r\n \".wma\": \"audio/x-ms-wma\",\r\n \".wmd\": \"application/x-ms-wmd\",\r\n \".wmf\": \"application/x-msmetafile\",\r\n \".wml\": \"text/vnd.wap.wml\",\r\n \".wmlc\": \"application/vnd.wap.wmlc\",\r\n \".wmls\": \"text/vnd.wap.wmlscript\",\r\n \".wmlsc\": \"application/vnd.wap.wmlscriptc\",\r\n \".wmlscript\": \"text/vnd.wap.wmlscript\",\r\n \".wmv\": \"audio/x-ms-wmv\",\r\n \".wmx\": \"video/x-ms-wmx\",\r\n \".wmz\": \"application/x-ms-wmz\",\r\n \".wpng\": \"image/x-up-wpng\",\r\n \".wpt\": \"x-lml/x-gps\",\r\n \".wri\": \"application/x-mswrite\",\r\n \".wrl\": \"x-world/x-vrml\",\r\n \".wrz\": \"x-world/x-vrml\",\r\n \".ws\": \"text/vnd.wap.wmlscript\",\r\n \".wsc\": \"application/vnd.wap.wmlscriptc\",\r\n \".wv\": \"video/wavelet\",\r\n \".wvx\": \"video/x-ms-wvx\",\r\n \".wxl\": \"application/x-wxl\",\r\n \".x-gzip\": \"application/x-gzip\",\r\n \".xaf\": \"x-world/x-vrml\",\r\n \".xar\": \"application/vnd.xara\",\r\n \".xbm\": \"image/x-xbitmap\",\r\n \".xdm\": \"application/x-xdma\",\r\n \".xdma\": \"application/x-xdma\",\r\n \".xdw\": \"application/vnd.fujixerox.docuworks\",\r\n \".xht\": \"application/xhtml+xml\",\r\n \".xhtm\": \"application/xhtml+xml\",\r\n \".xhtml\": \"application/xhtml+xml\",\r\n \".xla\": \"application/vnd.ms-excel\",\r\n \".xlc\": \"application/vnd.ms-excel\",\r\n \".xll\": \"application/x-excel\",\r\n \".xlm\": \"application/vnd.ms-excel\",\r\n \".xls\": \"application/vnd.ms-excel\",\r\n \".xlsx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n \".xlt\": \"application/vnd.ms-excel\",\r\n \".xlw\": \"application/vnd.ms-excel\",\r\n \".xm\": \"audio/x-mod\",\r\n \".xml\": \"application/xml\",\r\n \".xmz\": \"audio/x-mod\",\r\n \".xof\": \"x-world/x-vrml\",\r\n \".xpi\": \"application/x-xpinstall\",\r\n \".xpm\": \"image/x-xpixmap\",\r\n \".xsit\": \"text/xml\",\r\n \".xsl\": \"text/xml\",\r\n \".xul\": \"text/xul\",\r\n \".xwd\": \"image/x-xwindowdump\",\r\n \".xyz\": \"chemical/x-pdb\",\r\n \".yz1\": \"application/x-yz1\",\r\n \".z\": \"application/x-compress\",\r\n \".zac\": \"application/x-zaurus-zac\",\r\n \".json\": \"application/json\",\r\n \".vsd\": \"application/vnd.visio\",\r\n \".et\": \"application/kset\",\r\n \".wps\": \"application/kswps\",\r\n \".dps\": \"application/ksdps\"\r\n}\r\n\r\nexport default function(a) {\r\n let b = strFrom(a, '.', true) || a\r\n return mimes['.' + b]\r\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loading.vue?vue&type=style&index=0&id=35a83c14&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-video',\r\n mixins: [WidgetBase],\r\n props: ['src', 'poster'],\r\n data() {\r\n return {\r\n playing: false,\r\n }\r\n },\r\n methods: {\r\n getMimeType() {\r\n let filePath = $.strTo(this.x.src, '?') || this.x.src\r\n let fileName = $.strFrom(filePath, '/', true) || filePath\r\n let suffix = $.strFrom(fileName, '.', true)\r\n return suffix ? mimeType(fileName) : 'video/mp4'\r\n },\r\n html_slots() {\r\n return [h('video', {\r\n class: 'w-video-vd f-width f-height',\r\n ref: 'vd',\r\n src: this.x.src,\r\n poster: this.x.poster,\r\n onplay: e => this.playing = true,\r\n onpause: e => this.playing = false,\r\n controls: true,\r\n 'webkit-playsinline': true,\r\n 'playsinline': true,\r\n 'x-webkit-airplay': true,\r\n 'x5-playsinline': true,\r\n 'x5-video-player-type': 'h5',\r\n 'x5-video-orientation': 'h5',\r\n 'x5-video-player-fullscreen': true,\r\n }), h('div', {\r\n class: 'w-video-play f-abs-center f-flex-center',\r\n innerHTML: '<i class=\"f-i f-i-play\"></i>',\r\n onclick: e => {\r\n let o = this.$refs.vd\r\n o.paused ? o.play() : o.pause()\r\n }\r\n })]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['f-rel f-flex-center', {'z-play': this.playing}]\r\n }\r\n }\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-video {\r\n box-sizing: border-box;\r\n background: #000;\r\n }\r\n\r\n .w-video.z-play .w-video-play {\r\n display: none\r\n }\r\n\r\n .w-video-play {\r\n display: flex;\r\n width: 62px;\r\n height: 62px;\r\n background: rgba(0, 0, 0, .5);\r\n border-radius: 50%;\r\n z-index: 1;\r\n }\r\n\r\n .w-video-play .f-i {\r\n color: #fff;\r\n font-size: 36px;\r\n transform: translate(4px, 0px);\r\n cursor: default\r\n }\r\n</style>\n","import script from \"./Video.vue?vue&type=script&lang=js\"\nexport * from \"./Video.vue?vue&type=script&lang=js\"\n\nimport \"./Video.vue?vue&type=style&index=0&id=7ee48295&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-split',\r\n mixins: [WidgetBase],\r\n props: ['collapsedIcon', 'expandedIcon', 'movable', 'range', 'toNext', 'expanded'],\r\n inject: ['provideLayout'],\r\n created() {\r\n this.$watch('expanded', (v) => {\r\n if (typeof v === 'boolean') this.x.expanded = v\r\n else if (this.x.expanded == null) this.x.expanded = true\r\n }, {immediate: true})\r\n },\r\n methods: {\r\n toggle(exp) {\r\n this.x.expanded = exp == null ? !this.x.expanded : exp\r\n let minorElem = this.x.toNext ? this.el().nextElementSibling : this.el().previousElementSibling\r\n if (minorElem) {\r\n $.q(minorElem).toggleClass('f-split-collapsed', !this.x.expanded)\r\n //$.q(minorElem).css(this.expanded ? {visibility: '', position: '', zIndex: ''} : {visibility: 'hidden', position: 'absolute', zIndex: -1})\r\n }\r\n },\r\n dragstart(e) {\r\n let prevElem = this.el().previousElementSibling\r\n let nextElem = this.el().nextElementSibling\r\n if (prevElem && nextElem) {\r\n let vert = this.inVertical\r\n let minorElem = this.x.toNext ? nextElem : prevElem\r\n let downX = $.eventX(e)\r\n let downY = $.eventY(e)\r\n let posName = vert ? 'top' : 'left'\r\n let sizeName = vert ? 'height' : 'width'\r\n let clientName = vert ? 'clientY' : 'clientX'\r\n let downPos = vert ? downY : downX\r\n let minPos = $.bcr(prevElem)[posName]\r\n let maxPos = $.bcr(nextElem)[vert ? 'bottom' : 'right'] - 5\r\n let movRect = $.lodash.pick($.bcr(this.$refs.movable), ['width', 'height', 'top', 'left'])\r\n let pos\r\n let help\r\n $.moveup((e) => {\r\n if (!help) {\r\n help = $.q(`<div style=\"position:absolute;background:rgba(0,0,0,.3);z-index:101;\"></div>`).css(\r\n movRect).appendTo(document.body)\r\n }\r\n pos = $.numRange(movRect[posName] + e[clientName] - downPos, minPos, maxPos)\r\n help.css({\r\n [posName]: pos\r\n })\r\n }, (e, moved) => {\r\n if (moved && help) {\r\n help.remove()\r\n let size = (this.x.expanded ? $.bcr(minorElem)[sizeName] : 0) + (this.x.toNext ? 1 : -1) * (downPos -\r\n pos)\r\n if (size <= 0) {\r\n this.toggle(false)\r\n } else {\r\n if (!this.x.expanded) this.toggle(true)\r\n $.q(minorElem).css({\r\n [sizeName]: size\r\n })\r\n }\r\n }\r\n }, e)\r\n }\r\n },\r\n html_slots() {\r\n let r = []\r\n let expandedIcon = this.x.expandedIcon || this.x.collapsedIcon\r\n let collapsedIcon = this.x.collapsedIcon || expandedIcon\r\n if (expandedIcon) {\r\n r.push(this.html_icon(this.x.expanded ? expandedIcon : collapsedIcon, 'w-split-icon', () => this.toggle()))\r\n }\r\n if (this.x.movable) {\r\n r.push(h('div', {\r\n ref: 'movable',\r\n class: 'w-split-movable',\r\n onmousedown: this.dragstart\r\n }))\r\n }\r\n return r\r\n }\r\n },\r\n computed: {\r\n inVertical() {\r\n return this.provideLayout === 'w-vertical'\r\n },\r\n html_props() {\r\n return {\r\n class: ['f-rel z-' + (this.inVertical ? 'vertical' : 'horizontal'), {\r\n 'z-tonext': this.x.toNext\r\n }]\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-split-collapsed {\r\n position: absolute !important;\r\n visibility: hidden !important;\r\n z-index: -1;\r\n opacity: 0;\r\n }\r\n\r\n .w-split-icon {\r\n position: absolute;\r\n cursor: pointer;\r\n line-height: 1;\r\n z-index: 1;\r\n }\r\n\r\n .w-split.z-vertical .w-split-icon {\r\n left: 50%;\r\n top: 0;\r\n transform: translateX(-50%);\r\n }\r\n\r\n .w-split.z-vertical.z-tonext .w-split-icon {\r\n top: auto;\r\n bottom: 0;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-icon {\r\n top: 50%;\r\n left: 0;\r\n transform: translateY(-50%);\r\n }\r\n\r\n .w-split.z-horizontal.z-tonext .w-split-icon {\r\n left: auto;\r\n right: 0;\r\n }\r\n\r\n .w-split-movable {\r\n position: absolute;\r\n }\r\n\r\n .w-split.z-vertical .w-split-movable {\r\n height: 100%;\r\n min-height: 5px;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n cursor: row-resize;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-movable {\r\n width: 100%;\r\n min-width: 5px;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n cursor: col-resize;\r\n }\r\n</style>\r\n","import script from \"./Split.vue?vue&type=script&lang=js\"\nexport * from \"./Split.vue?vue&type=script&lang=js\"\n\nimport \"./Split.vue?vue&type=style&index=0&id=64ffe5ca&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-rate',\r\n mixins: [FormBase],\r\n props: ['allowHalf', 'cancelable', 'sum', 'count', 'text'],\r\n data() {\r\n return {\r\n hoverWrap: false,\r\n hoverIndex: -1,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n sum: 5,\r\n count: 5,\r\n }\r\n },\r\n hoverItem(e, i) {\r\n if (!this.isNormal) return;\r\n this.hoverIndex = i\r\n },\r\n clickItem(e, i) {\r\n if (!this.isNormal) return;\r\n this.x.modelValue = this.x.cancelable && this.x.modelValue == i ? '' : i\r\n },\r\n html_star(i) {\r\n return h(Img, {\r\n class: ['w-rate-star-icon', {'z-hv': this.hoverWrap && i <= this.hoverIndex, 'z-on': !this.hoverWrap && i <= this.x.modelValue}],\r\n src: '.f-i .f-i-star-full', \r\n onMouseenter: e => this.hoverItem(e, i),\r\n onClick: e => this.clickItem(e, i),\r\n disabled: !this.isNormal\r\n })\r\n },\r\n html_input() {\r\n let half = this.x.allowHalf ? .5 : 1\r\n let step = this.x.sum * half / this.x.count \r\n let stars = []\r\n for (let i = step; i <= this.x.sum; i += step / half) {\r\n let icons = [this.html_star(i)]\r\n if (this.x.allowHalf) icons.push(this.html_star(i + step))\r\n stars.push(h('li', {class: 'w-rate-star'}, icons))\r\n }\r\n return [\r\n this.html_input_hidden(),\r\n h('ul', {\r\n class: 'w-rate-wrap',\r\n onMouseenter: e => this.isNormal && (this.hoverWrap = true),\r\n onMouseleave: e => this.isNormal && (this.hoverWrap = false),\r\n },\r\n stars\r\n ),\r\n this.x.text && this.x.modelValue && h('span', {class: 'w-rate-text'}, this.x.text[(this.x.modelValue - step) / half])\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return {\r\n 'z-allow-half': this.x.allowHalf\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-rate-wrap {\r\n padding: 0 0 0 10px;\r\n margin: 0;\r\n display: flex;\r\n }\r\n .w-rate-star {\r\n margin: 0 10px 0 0;\r\n padding: 0;\r\n list-style: none;\r\n }\r\n .w-rate-star:last-child {\r\n margin-right: 0;\r\n }\r\n .w-rate-star {\r\n margin: 0 10px 0 0;\r\n padding: 0;\r\n list-style: none;\r\n }\r\n .w-rate-star-icon {\r\n position: relative;\r\n overflow: hidden;\r\n align-items: flex-start;\r\n color: #bbb;\r\n }\r\n .w-rate-star-icon:nth-child(2) {\r\n align-items: flex-end;\r\n margin-top: -100%;\r\n margin-left: 50%;\r\n }\r\n .w-rate-star-icon.z-hv,\r\n .w-rate-star-icon.z-on {\r\n color: gold;\r\n }\r\n \r\n .w-rate.z-allow-half .w-rate-star-icon {\r\n width: 50%;\r\n }\r\n \r\n .w-rate-text {\r\n margin-left: 10px;\r\n }\r\n\r\n</style>\r\n","import script from \"./Rate.vue?vue&type=script&lang=js\"\nexport * from \"./Rate.vue?vue&type=script&lang=js\"\n\nimport \"./Rate.vue?vue&type=style&index=0&id=68b4bc40&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h, toRaw, Teleport, defineAsyncComponent} from 'vue'\r\n import TemplateAlert from '../template/TemplateAlert.vue'\r\n import TemplateConfirm from '../template/TemplateConfirm.vue'\r\n import TemplateTip from '../template/TemplateTip.vue'\r\n import TemplateLoading from '../template/TemplateLoading.vue'\r\n\r\n const templateHooks = {\r\n Alert: TemplateAlert,\r\n Confirm: TemplateConfirm,\r\n Tip: TemplateTip,\r\n Loading: TemplateLoading\r\n }\r\n \r\n export default {\r\n name: 'w-pop',\r\n props: ['p'],\r\n render() {\r\n if (this.p.hidden) return h(Teleport, {to: '#w-dfish-pops'})\r\n let com\r\n let t = this.p.cmd.template\r\n let props = $.lodash.omit(this.p.cmd, 'template')\r\n if (t && typeof t === 'string') {\r\n let sfx = '.vue'\r\n t = t.startsWith('@/') ? t.slice(2) : $.x.templateDir + t\r\n if (!t.endsWith(sfx)) t += sfx\r\n com = defineAsyncComponent({\r\n errorComponent: h(TemplateAlert, {text: `${t} 不存在`, icon: 'error', title: '操作提示'}),\r\n loader: () => import(/* @vite-ignore */`@/${t}`),\r\n })\r\n } else {\r\n com = toRaw(t || templateHooks[this.p.cmd.type])\r\n }\r\n return com && h(com, props)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","import script from \"./Pop.vue?vue&type=script&lang=js\"\nexport * from \"./Pop.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n export default {\r\n name: 'w-column',\r\n props: ['width', 'minWidth'],\r\n }\r\n</script>\r\n\r\n","import script from \"./TableColumn.vue?vue&type=script&lang=js\"\nexport * from \"./TableColumn.vue?vue&type=script&lang=js\"\n\nexport default script","import {number} from './number.js'\r\nimport {strFrom, strTo} from './str.js'\r\n\r\nconst _css_camelize = (function() {\n\tlet b = {'float' : 'cssFloat'}\n\treturn function(s) {\n\t\treturn b[s] || s.replace(/-./g, function($0) {return $0.charAt(1).toUpperCase()});\n\t}\n})()\r\n\r\n// @o -> el, n -> name, v -> value\nconst _set_style = function(o, n, v) {\n\t// 如属性名前面带 += 号,则执行 += 操作\n\tif (typeof v === 'string' && v.charAt(1) === '=') {\n\t\tvar\tn = _css_camelize(n),\n\t\t\tc = o.style[n] || getComputedStyle(o, null)[n],\n\t\t\tv = number(v.replace('=', ''))\n\t\tif (n === 'width' || n === 'height') {\n\t\t\tc = number(c && c !== 'auto' ? c : n.charAt(0) === 'w' ? o.offsetWidth : o.offsetHeight);\n\t\t\tif (c < 0) c = 0;\n\t\t} else\n\t\t\tc = number(c);\n\t\to.style[n] = (c + v) + (n === 'zIndex' ? 0 : 'px');\n\t} else {\n\t\tn = _css_camelize(n);\n\t\tif (n === 'width' || n === 'height')\n\t\t\tv && v !== 'auto' && (v = Math.max(_number(v), 0));\n\t\tif (v && !isNaN(v) && n !== 'zIndex')\n\t\t\tv += 'px';\n\t\to.style[n] = v;\n\t}\n\treturn o;\n}\r\n\r\nconst css = function(o, s, n) {\n\tif (!o || !s)\n\t\treturn null;\n\tif (n != null) {\n\t\tfor (var i = 1, l = arguments.length; i < l; i += 2)\n\t\t\t_set_style(o, arguments[i], arguments[i + 1]);\n\t} else {\n\t\tif (typeof s === 'string') {\n\t\t\tif (s.indexOf(':') > 0) {\n\t\t\t\tfor (var i = 0, b = s.split(';'), l = b.length, k, v; i < l; i ++)\n\t\t\t\t\t(k = strTo(b[i], ':')) && (v = strFrom(b[i], ':')) && _set_style(o, k, v);\n\t\t\t} else\n\t\t\t\treturn o.style[s] || getComputedStyle(o, null)[s];\n\t\t}\n\t\tfor (var i in s) _set_style(o, i, s[i]);\n\t}\n}\r\n\r\nexport {css}","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import PubParent from './PubParent.vue'\r\n import SwiperItem from './SwiperItem.vue'\r\n\r\n export default {\r\n name: 'w-swiper',\r\n mixins: [WidgetBase, PubParent],\r\n props: ['arrow', 'indicatorDots', 'duration'],\r\n data() {\r\n return {\r\n focusIndex: null,\r\n }\r\n },\r\n watch: {\r\n current(v) {\r\n this.setFocus(v)\r\n },\r\n },\r\n methods: {\r\n //@a -> key, index\r\n setFocus(a) {\r\n let s = this.slots_children()\r\n let c = s.findIndex(v => this.isCurrentChild(a, v))\r\n this.focusIndex = c\r\n },\r\n clickArrow(a) {\r\n this.focusIndex += a\r\n },\r\n clickIndicator(a) {\r\n this.focusIndex = a\r\n },\r\n html_slots() {\r\n if (this.focusIndex == null) {\r\n this.setFocus(this.x.current)\r\n }\r\n let v = this.x.vertical\r\n let a = v ? 'up' : 'left'\r\n let b = v ? 'down' : 'right'\r\n return [\r\n h('div', {\r\n class: 'w-swiper-cont',\r\n ref: 'cont',\r\n }, this.$slots),\r\n this.x.arrow && h('div', {\r\n class: 'w-swiper-arrow z-' + a,\r\n onclick: e => this.clickArrow(-1)\r\n }, h('i', {\r\n class: 'f-i f-i-angle-' + a\r\n })),\r\n this.x.arrow && h('div', {\r\n class: 'w-swiper-arrow z-' + b,\r\n onclick: e => this.clickArrow(1)\r\n }, h('i', {\r\n class: 'f-i f-i-angle-' + b\r\n })),\r\n this.x.indicatorDots && h('div', {\r\n class: 'w-swiper-indicator f-flex-center',\r\n }, this.slots_children().map((v, i) => h('div', {\r\n class: 'w-swiper-indicator-dot' + (i == this.focusIndex ? ' z-on' : ''),\r\n onclick: e => this.clickIndicator(i)\r\n })))\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n let i = this.focusIndex\r\n return {\r\n 'z-at-first': i == 0,\r\n 'z-at-last': i > -1 && i == this.slots_children().length - 1\r\n }\r\n },\r\n html_style() {\r\n let i = this.focusIndex\r\n return {\r\n '--w-swiper-translate-x': (-i * 100) + '%',\r\n '--w-swiper-transition': this.x.duration ? `transform ${this.x.duration}ms` : 0,\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.$refs.cont) {\r\n new MutationObserver(() => {\r\n this.setFocus(this.x.current)\r\n }).observe(this.$refs.cont, {\r\n childList: true\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-swiper {\r\n position: relative;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-swiper-cont {\r\n display: flex;\r\n box-sizing: border-box;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n\r\n .w-swiper-item {\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n transform: translateX(var(--w-swiper-translate-x));\r\n transition: var(--w-swiper-transition);\r\n }\r\n\r\n .w-swiper-item>* {\r\n width: 100%;\r\n height: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-swiper.z-at-first>.w-swiper-arrow.z-left,\r\n .w-swiper.z-at-last>.w-swiper-arrow.z-right,\r\n .w-swiper.z-at-first>.w-swiper-arrow.z-up,\r\n .w-swiper.z-at-last>.w-swiper-arrow.z-down {\r\n display: none\r\n }\r\n\r\n .w-swiper-arrow {\r\n position: absolute;\r\n margin: auto;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 1;\r\n cursor: pointer\r\n }\r\n\r\n .w-swiper-arrow.z-left {\r\n width: 40px;\r\n right: auto\r\n }\r\n\r\n .w-swiper-arrow.z-right {\r\n width: 40px;\r\n left: auto\r\n }\r\n\r\n .w-swiper-arrow.z-up {\r\n height: 40px;\r\n bottom: auto\r\n }\r\n\r\n .w-swiper-arrow.z-down {\r\n height: 40px;\r\n top: auto\r\n }\r\n\r\n .w-swiper-arrow .f-i {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n font-size: 36px;\r\n color: #ccc\r\n }\r\n\r\n .w-swiper-arrow:hover {\r\n background: rgba(0, 0, 0, .1)\r\n }\r\n\r\n .w-swiper-arrow:hover .f-i {\r\n color: #fff\r\n }\r\n\r\n .w-swiper-indicator {\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n bottom: 10px;\r\n text-align: center\r\n }\r\n\r\n .w-swiper-indicator-dot {\r\n width: 9px;\r\n height: 9px;\r\n margin: 0 4px;\r\n background-color: #bbb;\r\n border-radius: 10px;\r\n vertical-align: middle;\r\n cursor: pointer\r\n }\r\n\r\n .w-swiper-indicator-dot.z-on {\r\n background-color: #333\r\n }\r\n</style>\n","import script from \"./Swiper.vue?vue&type=script&lang=js\"\nexport * from \"./Swiper.vue?vue&type=script&lang=js\"\n\nimport \"./Swiper.vue?vue&type=style&index=0&id=6fe3e638&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Table.vue?vue&type=style&index=0&id=fafed58e&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Progress.vue?vue&type=style&index=0&id=18056e88&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SVGIcon.vue?vue&type=style&index=0&id=a53c637e&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import PubParent from './PubParent.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-thead',\r\n mixins: [WidgetBase, PubParent],\r\n inject: ['table'],\r\n props: ['br', 'sort'],\r\n provide() {\r\n return {\r\n provideLeafLevel: -2,\r\n provideParentLeaf: null,\r\n provideInBody: false,\r\n thead: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n rows: null,\r\n sortUID: null,\r\n }\r\n },\r\n methods: {\r\n isExpanded() {\r\n return true\r\n },\r\n html_tbody() {\r\n let cg = this.table.colgroup\r\n let rows = this.slots_children().map((vr, vi) => {\r\n $.lodash.set(vr, 'props.rowIndex', vi)\r\n return vr\r\n })\r\n let style = {}\r\n if (!this.table.fixed) {\r\n let mw = 0\r\n cg.forEach(c => {\r\n mw += $.number(c.width) || $.number(c['min-width'])\r\n })\r\n if (mw) {\r\n style.minWidth = $.unitSize(mw)\r\n }\r\n }\r\n this.rows = {}\r\n return h('div', {\r\n class: 'w-table-tbl-wrap'\r\n }, h('table', {\r\n ref: 'table',\r\n cellpadding: 0,\r\n cellspacing: 0,\r\n class: 'w-table-tbl',\r\n style,\r\n }, [\r\n //h('colgroup', null, cg.map(v => h('col', {style: {width: v.width == '*' ? null : $.unitSize(v.width)}}))),\r\n h('thead', null, h('tr', null, cg.map(v => h('td', {\r\n style: {\r\n width: v.width == '*' ? null : $.unitSize(v.width),\r\n minWidth: $.unitSize(v['min-width']),\r\n },\r\n 'w-fixed': v.fixed\r\n })))),\r\n h('tbody', rows)\r\n ]))\r\n },\r\n html_slots() {\r\n return this.html_tbody()\r\n }\r\n },\r\n computed: {\r\n isEscape() {\r\n return this.x.escape\r\n },\r\n }\r\n }\r\n</script>\n","import script from \"./TableTHead.vue?vue&type=script&lang=js\"\nexport * from \"./TableTHead.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-range',\r\n mixins: [FormBase],\r\n provide() {\r\n return {\r\n provideRangeParent: this\r\n }\r\n },\r\n props: ['compare'],\r\n methods: {\r\n getRangeError() {\r\n let f = this.forms()\r\n if (f && f.length) {\r\n return f[0].getCompareError(f[0].formVal(), {target: f[1], mode: this.x.mode})\r\n }\r\n },\r\n forms() {\r\n return this.ownerView.fAll(null, this.el('main'))\r\n },\r\n snapElem() {\r\n return this.forms()[0] || this.el('main')\r\n },\r\n html_form() {\r\n let c = this.slots_children()\r\n c.splice(1, 0, h('div', {class: 'w-range-to'}, $.loc.to))\r\n //c.push(h('input', {type: 'hidden', ref:'v', id: this.uid + 'hdn'}))\r\n return c\r\n },\r\n },\r\n computed: {\r\n html_on() {\r\n return {\r\n onclick: e => this.warnClass = ''\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-range.z-full > .w-input > .w-formbase:not(.z-fixed) {\r\n flex: 1;\r\n }\r\n .w-range > .w-input > .w-formbase {\r\n height: 100%;\r\n flex-basis: var(--w-input-width);\r\n }\r\n .w-range-to {\r\n width: 28px;\r\n min-width: 20px;\r\n text-align: center;\r\n }\r\n</style>\r\n","import script from \"./Range.vue?vue&type=script&lang=js\"\nexport * from \"./Range.vue?vue&type=script&lang=js\"\n\nimport \"./Range.vue?vue&type=style&index=0&id=8a31b61c&lang=css\"\n\nexport default script","let u = navigator.userAgent.toLowerCase()\r\nlet chrome = u.match(/\\bchrome\\/(\\d+)/)\r\nlet firefox = u.match(/\\bfirefox\\/(\\d+)/)\r\n\r\nconst r = {\r\n agent: u,\r\n chrome: chrome && parseFloat(chrome[1]),\r\n firefox: firefox && parseFloat(firefox[1]),\r\n safari: !chrome && u.indexOf('safari') > 0,\r\n ie: (navigator.appName === 'Microsoft Internet Explorer' || u.indexOf('trident') > 0) && document.documentMode,\r\n compat: {\r\n gap: false\r\n },\r\n}\r\n\r\nif (u.match(/\\bmobile\\b/)) {\r\n r.mobile = true\r\n r.app = location.protocol === 'file:';\r\n let wechat = u.match(/(MicroMessenger)\\/([\\d\\.]+)/i);\r\n if (wechat) r.wechat = {\r\n version: wechat[2].replace(/_/g, '.')\r\n };\r\n let android = u.match(/(Android);?[\\s\\/]+([\\d.]+)?/i);\r\n if (android) {\r\n r.android = true;\r\n r.version = android[2];\r\n r.isBadAndroid = !(/Chrome\\/\\d/.test(window.navigator.appVersion))\r\n }\r\n let iphone = u.match(/(iPhone\\sOS)\\s([\\d_]+)/i)\r\n if (iphone) {\r\n r.ios = r.iphone = true;\r\n r.version = iphone[2].replace(/_/g, '.')\r\n } else {\r\n let ipad = u.match(/(iPad).*OS\\s([\\d_]+)/i)\r\n if (ipad) {\r\n r.ios = r.ipad = true;\r\n r.version = ipad[2].replace(/_/g, '.')\r\n }\r\n }\r\n}\r\n\r\nif ((r.chrome && r.chrome < 84) || (r.firefox && r.firefox < 63)) {\r\n r.compat.gap = true\r\n}\r\n\r\nexport default r\n","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-alert',\r\n mixins: [Dialog],\r\n props: ['text', 'yes', 'no', 'showButton'],\r\n mounted() {\r\n this.addEvent('close', () => this.$options.name == 'w-alert' ? this.cue(this.x.yes) : this.cue(this.x.no))\r\n },\r\n methods: {\r\n cueYes() {\r\n this.close()\r\n },\r\n cueNo() {\r\n this.close()\r\n },\r\n cue(a) {\r\n if ($.isCmd(a)) {\r\n this.commander.exec(a, this.args)\r\n } else if (typeof a === 'function') {\r\n a(this.args)\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./Alert.vue?vue&type=script&lang=js\"\nexport * from \"./Alert.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Menu.vue?vue&type=style&index=0&id=1c251b50&lang=css\"","import {strFrom, strTo } from './str.js'\r\nimport {jsonArray} from './json.js'\r\nimport br from './browser.js'\r\nimport uid from './uid.js'\r\nimport lodash from 'lodash'\r\n\r\nconst _EventUser = {}\r\nconst _event_remove = function(k) {\r\n if (k.fn) {\r\n lodash.pull(_EventUser[k.id][k.type], k)\r\n k.type = k.fn = k.args = null\r\n }\r\n}\r\nconst _event_name = function(a) {\r\n return a.indexOf('.') > -1 ? strTo(a, '.') : a\r\n}\r\nconst _event_space = function(a) {\r\n return a.indexOf('.') > -1 ? '.' + strFrom(a, '.').split('.').sort().join('.') + '.' : ''\r\n}\r\nconst _event_handlers = function(a, b) {\r\n var c = _EventUser[uid(a)];\r\n if (!c) return;\r\n var type = _event_name(b),\r\n ns = _event_space(b);\r\n if (type) {\r\n return c[type] && (ns ? c[type].filter(v => v.ns.indexOf(ns) > -1) : c[type])\r\n }\r\n var r = [];\r\n for (type in c) {\r\n r.push.apply(r, c[type].filter(v => v.ns.indexOf(ns) > -1))\r\n }\r\n return r;\r\n}\r\n\r\nclass EventListener {\r\n constructor(ctx) {\r\n this.ctx = ctx\r\n }\r\n hasEvent(type) {\r\n let a = _event_handlers(this.ctx, type)\r\n return a && a.length\r\n }\r\n // type -> event type, fn -> fn, pvdr -> context, one -> exec once [T/F]\r\n addEvent(type, fn, one) {\r\n var k = {\r\n id: uid(this.ctx),\r\n type: _event_name(type),\r\n ns: _event_space(type),\r\n fn: fn,\r\n one: one\r\n };\r\n jsonArray(k, _EventUser, k.id, k.type).ori = true\r\n return this;\r\n }\r\n addEventOnce(type, fn) {\r\n return this.addEvent(type, fn, true)\r\n }\r\n // e -> event, r -> args[array]\r\n fireEvent(e, r) {\r\n var a = _event_handlers(this.ctx, e.type || e);\r\n if (a) {\r\n for (var i = 0, k, l = a.length, v; i < l; i++) {\r\n if ((k = a[i]) && k.fn) {\r\n v = k.fn.apply(this.ctx, r ? [e].concat(r) : [e]);\r\n if (k.one) {\r\n _event_remove(k);\r\n a.ori && (i--, l--);\r\n }\r\n if (v !== undefined)\r\n return v;\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n // a -> event type, b -> fn\r\n removeEvent(a, b) {\r\n if (a) {\r\n var d = _event_handlers(this.ctx, a);\r\n if (d) {\r\n var i = d.length;\r\n while (i--)\r\n if (!b || (d[i].fn === b)) _event_remove(d[i]);\r\n }\r\n } else {\r\n var c = _EventUser[uid(this.ctx)],\r\n i;\r\n for (i in c) this.removeEvent(i);\r\n delete _EventUser[uid(this.ctx)];\r\n }\r\n return this;\r\n }\r\n}\n\r\nconst eventX = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientX : e.clientX\r\n}\r\n\r\nconst eventY = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientY : e.clientY\r\n}\r\n\r\nconst moveup = function(moveCB, upCB, downEv) {\r\n let moveHdl, upHdl, dir = downEv == null,\r\n cvs = document.documentElement,\r\n evX = e => e.targetTouches ? e.targetTouches[0].clientX : e.clientX,\r\n evY = e => e.targetTouches ? e.targetTouches[0].clientY : e.clientY,\r\n prevent = e => e.preventDefault()\r\n if (downEv.currentTarget) {\r\n downEv.currentTarget.style.userSelect = 'none'\r\n }\r\n cvs.addEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl = function(e) {\r\n dir ? moveCB(e) :\r\n downEv && (Math.abs(evX(e) - evX(downEv)) > 1 || Math.abs(evY(e) - evY(downEv)) > 1) && (dir = true)\r\n }, true);\r\n cvs.addEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl = function(e) {\r\n cvs.removeEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl, true)\r\n cvs.removeEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl, true)\r\n if (downEv.currentTarget) {\r\n downEv.currentTarget.style.userSelect = ''\r\n }\r\n br.mobile && cvs.removeEventListener('touchmove', prevent, {passive: false});\r\n upCB && upCB(e, dir)\r\n }, true);\r\n // 业务拖动时禁用浏览器默认的拖动效果\r\n br.mobile && cvs.addEventListener('touchmove', prevent, {passive: false})\r\n}\r\n\r\nexport {EventListener, eventX, eventY, moveup}","<script>\r\n import Alert from './Alert.vue' \r\n\r\n export default {\r\n name: 'w-confirm',\r\n mixins: [Alert],\r\n methods: {\r\n cueYes() {\r\n this.cue(this.x.yes)\r\n this.x.no = null\r\n this.close()\r\n },\r\n cueNo() {\r\n this.close()\r\n },\r\n },\r\n computed: {\r\n html_prop_class() {\r\n return 'w-alert w-dialog w-vertical'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Confirm.vue?vue&type=script&lang=js\"\nexport * from \"./Confirm.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import TabButton from './TabButton.vue'\r\n import Swiper from './Swiper.vue'\r\n import SwiperItem from './SwiperItem.vue'\r\n\r\n export default {\r\n name: 'w-tabs',\r\n mixins: [WidgetBase],\r\n props: ['current', 'position', 'gap'],\r\n methods: {\r\n x_default() {\r\n return {\r\n position: 'top',\r\n gap: -1\r\n }\r\n },\r\n clickTab(tab) {\r\n this.x.current = tab.getKey()\r\n },\r\n html_slots() {\r\n let buttons = []\r\n let pages = []\r\n let pos = this.x.position\r\n this.slots_children().forEach((v, i) => {\r\n if (!v.props || v.props.key == null) {\r\n $.lodash.set(v, 'props.key', i)\r\n }\r\n buttons.push(h(TabButton, v.props))\r\n pages.push(h(SwiperItem, {lazy: v.props.lazy == null ? true : v.props.lazy, key: v.props.key}, v.children))\r\n })\r\n return [\r\n h(ButtonBar, {\r\n class: 'w-tabs-buttonbar',\r\n current: this.x.current,\r\n gap: this.x.gap,\r\n vertical: pos == 'left' || pos == 'right',\r\n scrollX: this.x.scrollX,\r\n scrollY: this.x.scrollY,\r\n clickTab: this.clickTab\r\n }, {default: () => buttons}),\r\n h(Swiper, {class: 'w-tabs-swiper f-flex-1 f-oh', current: this.x.current}, {default: () => pages}),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n let pos = this.x.position\r\n return 'f-oh f-flex' + (pos == 'top' || pos == 'bottom' ? '-column' : '') + ' z-pos-' + pos\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n .w-tabs-buttonbar {\r\n position: relative;\r\n background: #f5f5f5;\r\n }\r\n \r\n .w-tabs-buttonbar:after {\r\n content: '';\r\n position: absolute;\r\n background: #ddd;\n }\r\n \r\n .w-tab.z-on {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab {\r\n border-top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-bottom-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar:after {\r\n width: 100%;\r\n height: 1px;\r\n bottom: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar {\r\n order: 1;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-swiper {\r\n order: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar:after {\r\n width: 100%;\r\n height: 1px;\r\n top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab {\r\n border-bottom: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-top-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-right-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar:after {\r\n width: 1px;\r\n height: 100%;\r\n right: 0;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab {\r\n border-left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar {\r\n order: 1;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-swiper {\r\n order: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-left-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar:after {\r\n width: 1px;\r\n height: 100%;\r\n left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab {\r\n border-right: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-top: 0;\r\n }\r\n \r\n \r\n</style>\r\n","import script from \"./Tabs.vue?vue&type=script&lang=js\"\nexport * from \"./Tabs.vue?vue&type=script&lang=js\"\n\nimport \"./Tabs.vue?vue&type=style&index=0&id=554c0a38&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import Horizontal from './Horizontal.vue'\r\n import PubParent from './PubParent.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-album',\r\n mixins: [Horizontal, PubParent],\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0,\r\n br: true,\r\n valign: 'top',\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-horizontal'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Album.vue?vue&type=script&lang=js\"\nexport * from \"./Album.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Img.vue?vue&type=style&index=0&id=4b5feea2&lang=css\"","<template>\r\n <w-dialog class=\"w-jigsaw-dialog\">\r\n <img class=\"w-jigsaw-big\" :src=\"bigSrc\">\r\n <img class=\"w-jigsaw-small\" :src=\"smallSrc\" :width=\"smallWidth\" :style=\"{left: smallLeft + 'px'}\" @dragstart.prevent=\"dragstart\" @mousedown=\"mousedown\">\r\n <span @click=\"refresh\" class=\"w-jigsaw-refresh\">刷新</span>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n data() {\r\n return {\r\n smallLeft: 0\r\n }\r\n },\r\n watch: {\r\n 'context.x.modelValue': {\r\n handler(v) {\r\n let m = this.context.max()\r\n let n = this.context.min()\r\n this.smallLeft = (this.dialog.x.width - this.smallWidth) * (v / (m - n))\r\n }\r\n }\r\n },\r\n methods: {\r\n refresh(e) {\r\n this.context.refresh(e)\r\n },\r\n dragstart(e) {\r\n //\r\n },\r\n mousedown(e) {\r\n this.context.dragstart(e)\r\n }\r\n },\r\n computed: {\r\n dialog() {\r\n return $.dialog(this)\r\n },\r\n context() {\r\n return this.dialog.context\r\n },\r\n bigSrc() {\r\n return this.context.x.big.src\r\n },\r\n smallSrc() {\r\n return this.context.x.small.src\r\n },\r\n smallWidth() {\r\n return this.dialog.x.height * (this.context.x.small.width / this.context.x.small.height)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw-big {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-jigsaw-small {\r\n position: absolute;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-jigsaw-refresh {\r\n position: absolute;\r\n top: 5px;\r\n right: 5px;\r\n color: #fff;\r\n cursor: pointer;\r\n text-shadow: 0 0 3px #000;\r\n }\r\n</style>\n","import { render } from \"./TemplateJigsaw.vue?vue&type=template&id=2c16ab31\"\nimport script from \"./TemplateJigsaw.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateJigsaw.vue?vue&type=script&lang=js\"\n\nimport \"./TemplateJigsaw.vue?vue&type=style&index=0&id=2c16ab31&lang=css\"\nscript.render = render\n\nexport default script","<template>\r\n <w-img :class=\"['w-mediaupload-value', {'z-loading': item.loading, 'z-canplay': canPlay, 'z-err': item.error}]\" ref=\"thumbnail\" :src=\"src\" :data-url=\"dataURL\"\r\n :width=\"upload.x.thumbnailWidth\" :img-width=\"upload.x.thumbnailWidth-2\" :img-height=\"upload.x.thumbnailHeight-2\" :tip=\"tip\" @click=\"click\">\r\n <template v-if=\"upload.x.showFileName\" #default>\r\n <div class=\"f-line-1\">{{name}}</div>\r\n </template>\r\n <template #cover>\r\n <canvas v-if=\"item.loading\" ref=\"loading\" width=\"34\" height=\"34\" class=\"w-mediaupload-progress-loading f-abs-center\"></canvas>\r\n <i v-else-if=\"canPlay\" class=\"w-mediaupload-cover-play f-abs-center f-flex-center f-i f-i-play\"></i>\r\n <i v-if=\"upload.isNormal\" class=\"w-mediaupload-value-close f-flex-center f-i f-i-trash\" :title=\"title\" @click=\"remove\"></i>\r\n </template>\r\n </w-img>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['item'],\r\n inject: ['provideUpload'],\r\n data() {\r\n return {\r\n dataURL: null,\r\n }\r\n },\r\n methods: {\r\n click(e) {\r\n this.provideUpload.clickItem(e, this.item)\r\n },\r\n createImageThumbnail() {\r\n let r = new FileReader()\r\n r.onload = (e) => {\r\n if (this.item.loaded) return\r\n this.dataURL = e.target.result\r\n }\r\n r.readAsDataURL(this.item.file)\r\n },\r\n createVideoThumbnail() {\r\n let video = document.createElement('video')\r\n video.addEventListener('loadeddata', () => {\r\n setTimeout(() => {\r\n if (this.item.loaded) return\r\n let cvs = document.createElement('canvas')\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = video.videoWidth\r\n cvs.height = video.videoHeight\r\n ctx.drawImage(video, 0, 0)\r\n this.dataURL = cvs.toDataURL('image/png') \r\n video.pause()\r\n $.q(video).remove()\r\n }, 150)\r\n });\r\n video.src = URL.createObjectURL(this.item.file)\r\n video.muted = true\r\n video.play()\r\n },\r\n setProgress(a) {\r\n let cvs = this.$refs.loading\r\n if (!this.item.loading || !cvs) return\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = cvs.width\r\n ctx.beginPath()\r\n ctx.translate(17, 17)\r\n ctx.moveTo(0, 0)\r\n ctx.arc(0, 0, 15, -Math.PI * .5, Math.PI * ((2 * a / 100) - .5))\r\n ctx.closePath()\r\n ctx.fillStyle = 'rgba(255,255,255,.7)'\r\n ctx.fill()\r\n ctx.beginPath()\r\n ctx.arc(0, 0, 16, 0, Math.PI * 2)\r\n ctx.strokeStyle = '#fff'\r\n ctx.stroke()\r\n },\r\n remove(e) {\r\n this.upload.remove(this.item)\r\n e.stopPropagation()\r\n }, \r\n },\r\n computed: {\r\n upload() {\r\n return this.provideUpload\r\n },\r\n img() {\r\n return this.$refs.thumbnail.$refs.img\r\n },\r\n src() {\r\n return this.item.value ? $.urlServer(this.item.value.thumbnail || this.upload.x.thumbnailSrc, this.item.value,\r\n this.upload.x.data) : ''\r\n },\r\n name() {\r\n return this.item.value ? this.item.value.name : this.item.file.name\r\n },\r\n tip() {\r\n return this.item.error ? this.item.error.message : this.name\r\n },\r\n title() {\r\n return $.loc.remove\r\n },\r\n canPlay() {\r\n return this.item.value && (this.upload.isVideo(this.item) || this.upload.isAudio(this.item))\r\n }\r\n },\r\n mounted() {\r\n if (!this.item.loaded && this.item.file) {\r\n this.upload.isVideo(this.item) ? this.createVideoThumbnail() : this.upload.isImage(this.item) ? this.createImageThumbnail() : null\r\n this.$watch(() => this.item.progress, v => this.setProgress(v), {\r\n immediate: true\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload-value.z-loading .w-img-cover {\r\n background: rgba(0, 0, 0, .25);\r\n }\r\n\r\n .w-mediaupload-progress {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload-progress-img {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: right top;\r\n }\r\n</style>\r\n","import { render } from \"./MediaUploadItem.vue?vue&type=template&id=07113717\"\nimport script from \"./MediaUploadItem.vue?vue&type=script&lang=js\"\nexport * from \"./MediaUploadItem.vue?vue&type=script&lang=js\"\n\nimport \"./MediaUploadItem.vue?vue&type=style&index=0&id=07113717&lang=css\"\nscript.render = render\n\nexport default script","import $ from '../dfish.js'\r\nimport '../assets/dfish.css'\r\n\r\nimport directive from '../directive/index.js'\r\n\r\nimport DocView from './DocView.vue'\r\nimport View from './View.vue'\r\nimport Pop from './Pop.vue'\r\nimport Dialog from './Dialog.vue'\r\nimport DialogMove from './DialogMove.vue'\r\nimport Alert from './Alert.vue'\r\nimport Confirm from './Confirm.vue'\r\nimport Tip from './Tip.vue'\r\nimport Menu from './Menu.vue'\r\nimport Loading from './Loading.vue'\r\n\r\nimport Vertical from './Vertical.vue'\r\nimport Horizontal from './Horizontal.vue'\r\nimport Table from './Table.vue'\r\nimport TableColumns from './TableColumns.vue'\r\nimport TableColumn from './TableColumn.vue'\r\nimport TableTBody from './TableTBody.vue'\r\nimport TableTHead from './TableTHead.vue'\r\nimport TableTR from './TableTR.vue'\r\nimport TableTD from './TableTD.vue'\r\nimport TableTH from './TableTH.vue'\r\nimport Grid from './Grid.vue'\r\nimport Swiper from './Swiper.vue'\r\nimport SwiperItem from './SwiperItem.vue'\r\nimport Tabs from './Tabs.vue'\r\nimport Tab from './Tab.vue'\r\n\r\nimport Album from './Album.vue'\r\nimport Img from './Img.vue'\r\nimport ButtonBar from './ButtonBar.vue'\r\nimport Button from './Button.vue'\r\nimport SubmitButton from './SubmitButton.vue'\r\nimport MenuButton from './MenuButton.vue'\r\nimport Html from './Html.vue'\r\nimport Tree from './Tree.vue'\r\nimport Leaf from './Leaf.vue'\r\nimport PageBar from './PageBar.vue'\r\nimport Split from './Split.vue'\r\nimport Toggle from './Toggle.vue'\r\nimport Video from './Video.vue'\r\nimport Progress from './Progress.vue'\r\nimport Calendar from './Calendar.vue'\r\nimport Timeline from './Timeline.vue'\r\nimport TimelineItem from './TimelineItem.vue'\r\nimport SlidePicker from './SlidePicker.vue'\r\n\r\nimport Label from './Label.vue'\r\nimport Hidden from './Hidden.vue'\r\nimport Text from './Text.vue'\r\nimport Textarea from './Textarea.vue'\r\nimport CheckBoxGroup from './CheckBoxGroup.vue'\r\nimport CheckBox from './CheckBox.vue'\r\nimport RadioGroup from './RadioGroup.vue'\r\nimport Radio from './Radio.vue'\r\nimport TripleBox from './TripleBox.vue'\r\nimport Switch from './Switch.vue'\r\nimport FileUpload from './FileUpload.vue'\r\nimport MediaUpload from './MediaUpload.vue'\r\nimport ImageUpload from './ImageUpload.vue'\r\nimport Option from './Option.vue'\r\nimport Spinner from './Spinner.vue'\r\nimport DatePicker from './DatePicker.vue'\r\nimport DropBox from './DropBox.vue'\r\nimport PickBox from './PickBox.vue'\r\nimport Password from './Password.vue'\r\nimport Range from './Range.vue'\r\nimport ComboBox from './ComboBox.vue'\r\nimport LinkBox from './LinkBox.vue'\r\nimport Jigsaw from './Jigsaw.vue'\r\nimport Form from './Form.vue'\r\nimport Rate from './Rate.vue'\r\n\r\n\r\nconst WIDGET = {\r\n DocView, View, Pop, Dialog, DialogMove, Alert, Confirm, Tip, Menu, Loading,\r\n Grid, Vertical, Horizontal, Table, TableColumns, TableColumn, TableTBody, TableTHead, TableTR, TableTD, TableTH, Swiper, SwiperItem, Tabs, Tab,\r\n Album, Img, ButtonBar, Button, SubmitButton, MenuButton, Html, Tree, Leaf, PageBar, Split, Toggle, Video, Progress, Calendar, Timeline, TimelineItem, SlidePicker,\r\n Label, Hidden, Text, Textarea, CheckBoxGroup, CheckBox, RadioGroup, Radio, TripleBox, Switch, FileUpload, MediaUpload, ImageUpload, Option,\r\n Spinner, DatePicker, DropBox, PickBox, Password, Range, ComboBox, LinkBox, Jigsaw, Form, Rate\r\n}\r\n\r\n//每个组件从这里曝露,以便在某些极端情境下,业务可以修改源码\r\n$.WIDGET = WIDGET\r\n\r\n//按Vue要求提供install接口\r\n$.install = (Vue) => {\r\n //注册组件\r\n Object.keys(WIDGET).forEach(k => Vue.component(WIDGET[k].name, WIDGET[k]))\r\n //注册指令\r\n Vue.use(directive)\r\n}\r\n\r\nexport default $\r\n","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-slidepicker-options\">\r\n <slot />\r\n </div>\r\n <div v-if=\"x.cover\" class=\"w-slidepicker-bg-top\"></div>\r\n <div v-if=\"x.cover\" class=\"w-slidepicker-bg-bottom\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n getCurrentInstance,\r\n onMounted,\r\n watch,\r\n computed,\r\n ref,\r\n h,\r\n } from 'vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-slidepicker',\r\n mixins: [WidgetBase],\r\n provide() {\r\n return {\r\n provideOptionParent: this,\r\n }\r\n },\r\n props: ['optionHeight', 'modelValue', 'minValue', 'maxValue', 'keepIndex', 'cover'],\r\n emits: ['update:modelValue', 'change'],\r\n setup(props, context) {\r\n const self = getCurrentInstance().ctx\r\n const root = ref()\r\n const options = ref()\r\n let startY, endY, minY, maxY, optY, optH, roll\r\n\r\n const onmousedown = function(downEv) {\r\n let downY = $.eventY(downEv)\r\n let moveY, lastY, lastTime\r\n let speed = 0\r\n let lastSpeed = null\r\n options.value.style.transition = ''\r\n $.moveup(e => {\r\n let nowY = $.eventY(e)\r\n let nowTime = e.timeStamp\r\n moveY = optY + nowY - downY\r\n if (lastY && lastTime && nowTime > lastTime) {\r\n lastSpeed = speed\r\n speed = (nowY - lastY) / (nowTime - lastTime)\r\n }\r\n lastY = nowY\r\n lastTime = nowTime\r\n moveY = $.numRange(moveY, minY - optH, maxY + optH)\r\n options.value.style.transform = `translateY(${moveY}px)`\r\n }, (e, moved) => {\r\n if (!moved) {\r\n return onclick(downEv)\r\n }\r\n if (moveY == null) return\r\n let minSpeed = 0.15 //speed大于这个值时,做惯性滚动\r\n if (Math.abs(speed) < minSpeed || (lastSpeed && Math.abs(lastSpeed) < minSpeed)) {\r\n speed = 0\r\n } else if (lastSpeed && Math.abs(lastSpeed) > Math.abs(speed)) {\r\n speed = lastSpeed //记录最后两个speed,选择其中一个最大的,此步骤可优化体验\r\n }\r\n let y = moveY + (speed * 200)\r\n let s = Math.abs(speed / 2)\r\n let yuH = (maxY - y) % optH\r\n y += yuH\r\n if (yuH > (optH / 2)) {\r\n y -= optH\r\n }\r\n optY = $.numRange(y, minY, maxY)\r\n if (optY != moveY) {\r\n if (moveY < minY || moveY > minY || s < minSpeed) {\r\n s = minSpeed\r\n }\r\n if (Math.abs(optY - moveY) < 10) {\r\n s = 0.05 // 移动范围很小时,过渡时间也相应缩短\r\n }\r\n options.value.style.transform = `translateY(${optY}px)`\r\n options.value.style.transition = `transform ${s}s ease-out`\r\n }\r\n }, downEv)\r\n }\r\n const onwheel = function(e) {\r\n optY += (e.wheelDelta < 0 ? -1 : 1) * optH\r\n optY = $.numRange(optY, minY, maxY)\r\n options.value.style.transform = `translateY(${optY}px)`\r\n options.value.style.transition = `transform .12s ease-out`\r\n }\r\n const onclick = function(e) {\r\n let g = $(e)\r\n if (g.$options.name == 'w-option') {\r\n update(g.$props.value)\r\n focus(true)\r\n }\r\n }\r\n const focus = function(ease) {\r\n if (!root.value || !options.value) return\r\n let sc = self.slots_children()\r\n if (!sc.length) return\r\n let v = self.x.modelValue\r\n let nv = self.x.minValue\r\n let xv = self.x.maxValue\r\n if (nv || nv === 0 || xv || xv === 0) {\r\n v = $.numRange(v, nv, xv)\r\n if (v != self.x.modelValue) {\r\n update(v)\r\n }\r\n }\r\n let bcrRoot = $.bcr(root.value)\r\n let bcrOpt = $.bcr(options.value)\r\n let ni = -1\r\n let xi = -1\r\n let asc = true\r\n optH = self.x.optionHeight\r\n startY = maxY = (bcrRoot.height - optH) / 2\r\n endY = minY = startY - bcrOpt.height + optH\r\n if (nv || nv === 0) {\r\n ni = sc.findIndex(s => s.props.value == nv)\r\n }\r\n if (xv || xv === 0) {\r\n xi = sc.findIndex(s => s.props.value == xv)\r\n }\r\n if ((ni > -1 || xi > -1) && sc[0].props.value > sc[sc.length - 1].props.value) { // 判断是不是倒序\r\n asc = false\r\n }\r\n if (ni > -1) {\r\n if (asc) {\r\n maxY -= ni * optH\r\n } else {\r\n minY += ni * optH\r\n }\r\n }\r\n if (xi > -1) {\r\n if (asc) {\r\n minY += (sc.length - 1 - xi) * optH\r\n } else {\r\n maxY -= (sc.length - 1 - xi) * optH\r\n }\r\n }\r\n if (v != null) {\r\n let index = sc.findIndex(s => s.props.value == v)\r\n if (index === -1) {\r\n update(optY != null && optY < endY && self.keepIndex ? sc[sc.length - 1].props.value : sc[0].props.value)\r\n } else {\r\n optY = startY - (optH * index)\r\n }\r\n } else {\r\n optY = startY\r\n }\r\n optY = $.numRange(optY, minY, maxY)\r\n options.value.style.transition = ''\r\n options.value.style.transform = `translateY(${optY}px)`\r\n if (ease) {\r\n options.value.style.transition = `transform .15s ease-out`\r\n }\r\n }\r\n\r\n const update = function(v) {\r\n roll = true\r\n self.x.modelValue = v\r\n }\r\n \r\n const getIndex = function() {\r\n return (startY - optY) / optH\r\n }\r\n \r\n const transEnd = function() {\r\n let ret = self.slots_children()[getIndex()]\r\n ret && update(ret.props.value)\r\n }\r\n \r\n const x_default = function() {\r\n return {\r\n optionHeight: 32,\r\n cover: true\r\n }\r\n }\r\n\r\n const html_props = computed(() => {\r\n return {\r\n style: {\r\n '--w-option-height': $.unitSize(self.x.optionHeight)\r\n },\r\n ...($.br.mobile ? {\r\n ontouchstart: onmousedown\r\n } : {\r\n onmousedown,\r\n onwheel,\r\n })\r\n }\r\n })\r\n\r\n onMounted(() => {\r\n watch(() => self.x.modelValue, v => {\r\n context.emit('update:modelValue', v)\r\n context.emit('change', v)\r\n })\r\n watch(() => self.x.minValue, focus)\r\n watch(() => self.x.maxValue, focus)\r\n new ResizeObserver(() => {\r\n if (options.value) {\r\n focus()\r\n transEnd()\r\n }\r\n }).observe(options.value)\r\n options.value.addEventListener('transitionend', transEnd)\r\n })\r\n\r\n return {\r\n root,\r\n options,\r\n x_default,\r\n onmousedown,\r\n onwheel,\r\n html_props,\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-slidepicker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-slidepicker-bg-top {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.9), rgba(245, 245, 245, 0.4));\r\n border-bottom: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-slidepicker-bg-bottom {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.4), rgba(245, 245, 245, 0.9));\r\n border-top: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-slidepicker .w-option {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n\r\n .w-slidepicker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-slidepicker-options {\r\n user-select: none;\r\n /* pointer-events: none; */\r\n }\r\n</style>\n","import { render } from \"./SlidePicker.vue?vue&type=template&id=2b33e34a\"\nimport script from \"./SlidePicker.vue?vue&type=script&lang=js\"\nexport * from \"./SlidePicker.vue?vue&type=script&lang=js\"\n\nimport \"./SlidePicker.vue?vue&type=style&index=0&id=2b33e34a&lang=css\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MediaUpload.vue?vue&type=style&index=0&id=5df6accd&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import SrcParent from './SrcParent.vue'\r\n import TripleBox from './TripleBox.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-leaf',\r\n pubParentName: 'w-tree',\r\n mixins: [WidgetBase, SrcParent],\r\n props: ['text', 'expanded', 'expandedIcon', 'collapsedIcon', 'icon', 'boxSync', 'src', 'disabled'],\r\n inject: ['providePubParent', 'provideLevel', 'provideParentLeaf', 'provideParentTR'],\r\n provide() {\r\n return {\r\n provideParentLeaf: this,\r\n provideLevel: this.provideLevel + 1,\r\n provideBoxParent: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n hover: false,\r\n loading: false,\r\n loaded: this.getInitLoaded()\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n let chd = (this.x || this.$props).children\r\n if (chd === true || (Array.isArray(chd) && chd.length)) return true\r\n },\r\n childrenList() {\r\n return $.lodash.map(this.$refs.cont.querySelectorAll(':scope > .w-leaf'), v => $(v))\r\n },\r\n getInitLoaded() {\r\n return this.hasChild() || !this.getSrc() ? true : false\r\n },\r\n isExpanded() {\r\n return this.provideParentTR ? this.provideParentTR.isExpanded() : this.x.expanded\r\n },\r\n setExpanded(exp) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n },\r\n isFolder() {\r\n return this.hasChild() ? true : !!(this.getSrc() && !this.loaded)\r\n },\r\n toggle(exp, fn) {\r\n (this.provideParentTR || this).setExpanded(exp)\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(fn)\r\n } else {\r\n fn && this.$nextTick(fn)\r\n }\r\n },\r\n onmouseenter(e) {\r\n !this.x.disabled && this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n onclick(e) {\r\n if (this.x.disabled) {\r\n if (!this.$refs.toggle || !this.$refs.toggle.contains(e.target))\r\n e.stopPropagation()\r\n return\r\n }\r\n if (this.boxProxy && this.x.boxSync) {\r\n this.boxProxy.check(!this.boxProxy.isChecked)\r\n this.triple()\r\n }\r\n },\r\n // triplebox 级联勾选\r\n triple() {\r\n if (!this.boxProxy || this.boxProxy.$options.name !== 'w-triplebox') return\r\n let p = this\r\n while ((p = p.provideParentLeaf) && p.$options.name === 'w-leaf') {\r\n if (p.boxProxy) {\r\n let c = p.childrenList()\r\n let m = [0, 0, 0]\r\n let l = c.length\r\n c.forEach(v => {\r\n let b = v.boxProxy\r\n if (b) m[b.checkstate()]++\r\n })\r\n p.boxProxy.check(m[0] === l ? 0 : m[1] === l ? 1 : 2)\r\n }\r\n }\r\n let c = this.boxProxy.checkstate()\r\n c != 2 && this.tripleAll(c)\r\n },\r\n tripleAll(a) {\r\n this.childrenList().forEach(v => {\r\n if (v.boxProxy) {\r\n v.boxProxy.check(a)\r\n v.tripleAll(a)\r\n }\r\n })\r\n },\r\n expandToView() {\r\n let p = this\r\n while ((p = p.provideParentLeaf) && (p.$options.name === this.$options.name)) {\r\n p.toggle(true)\r\n }\r\n },\r\n html_self() {\r\n let exp = this.isExpanded()\r\n let ico = this.isFolder() ? (exp ? this.x.expandedIcon : this.x.collapsedIcon) : this.x.icon\r\n return h('div', mergeProps(this.html_attrs, this.html_props, this.$attrs), [\r\n this.loading ?\r\n h(Img, {\r\n src: '#f-svg-loading',\r\n class: 'w-leaf-loading'\r\n }) :\r\n h('div', {\r\n ref: 'toggle',\r\n class: ['w-leaf-toggle f-i', exp ? 'f-i-caret-down' : 'f-i-caret-right'],\r\n onclick: (e) => {\r\n e.stopPropagation(), this.toggle()\r\n }\r\n }),\r\n this.$slots.box && this.$slots.box(),\r\n ico && h(Img, {\r\n src: ico,\r\n class: 'w-leaf-icon'\r\n }),\r\n h('div', {\r\n class: 'w-leaf-text f-line-1',\r\n title: this.x.text,\r\n }, this.$slots.text ? this.$slots.text() : this.x.text)\r\n ])\r\n },\r\n html_cont() {\r\n let r\r\n let chd = this.x.children\r\n let tree = this.pubParent\r\n if (Array.isArray(chd) && tree) {\r\n r = chd.map(item => tree.$slots.default({item}))\r\n }\r\n return h('div', {\r\n id: this.uid + 'cont',\r\n ref: 'cont',\r\n class: 'w-leaf-cont',\r\n style: {\r\n display: this.x.expanded ? '' : 'none'\r\n },\r\n }, r)\r\n },\r\n html() {\r\n return [this.html_self(), this.html_cont()]\r\n }\r\n },\r\n computed: {\r\n tree() {\r\n return this.pubParent\r\n },\r\n level() {\r\n return this.provideParentTR ? this.provideParentTR.level : this.provideLevel + 1\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let exp = this.isExpanded()\r\n let fd = this.isFolder()\r\n let ds = this.x.disabled\r\n let prop = {\r\n class: {\r\n 'z-on': this.isCurrent,\r\n 'z-ds': ds,\r\n 'z-folder': fd,\r\n 'z-expanded': fd && exp,\r\n 'z-collapse': fd && !exp\r\n },\r\n style: 'padding-left:' + $.unitSize(this.level * 16),\r\n }\r\n if (this.pubParent) {\r\n prop.onmouseenter = this.onmouseenter\r\n prop.onmouseleave = this.onmouseleave\r\n prop[`onClick${ds?'Capture':''}`] = this.onclick\r\n }\r\n return prop\r\n }\r\n },\r\n mounted() {\r\n if (this.x.expanded) this.toggle(true)\r\n if (this.isCurrent) this.pubParent.viewCurrent(this)\r\n if (this.boxProxy) {\r\n this.$nextTick(() => {\r\n if (!this.isFolder() && !this.$refs.cont.nextElementSibling) {\r\n this.triple()\r\n }\r\n })\r\n }\r\n }\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-leaf {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n min-height: 30px;\r\n width: 100%;\r\n text-align: left;\r\n }\r\n\r\n .w-leaf-text {\r\n flex: 1;\r\n }\r\n\r\n .w-leaf-toggle {\r\n visibility: hidden;\r\n padding: 0 1px;\r\n margin-left: 1px;\r\n color: #777;\r\n opacity: #777;\r\n }\r\n \r\n .w-leaf.z-on .w-leaf-toggle,\r\n .w-leaf.z-on .f-svg {\r\n color: currentcolor;\r\n fill: currentcolor;\r\n }\r\n\r\n .w-leaf-loading {\r\n width: 20px;\r\n margin-left: 1px;\r\n }\r\n\r\n .w-leaf-icon {\r\n margin-right: 6px;\r\n }\r\n\r\n .w-leaf.z-folder .w-leaf-toggle {\r\n visibility: visible;\r\n }\r\n\r\n .w-leaf .w-triplebox,\r\n .w-leaf .w-checkbox, \r\n .w-leaf .w-radio {\r\n margin-right: 6px;\r\n }\r\n \r\n .w-leaf.z-hv {\r\n background: #f5faff;\r\n }\r\n \r\n .w-leaf.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff\r\n }\r\n \r\n .w-leaf.z-ds {\r\n color: #999;\r\n }\r\n \r\n</style>\n","import script from \"./Leaf.vue?vue&type=script&lang=js\"\nexport * from \"./Leaf.vue?vue&type=script&lang=js\"\n\nimport \"./Leaf.vue?vue&type=style&index=0&id=1baf3a86&lang=css\"\n\nexport default script","<template>\r\n <w-vertical v-bind=\"html_binds\" :class=\"['f-rel', 'w-calendar-' + this.x.face]\">\r\n <w-vertical class=\"w-calendar-main\" v-if=\"!onlyTime\">\r\n <w-horizontal :class=\"['w-calendar-head', {'f-h-gap': dfish.br.compat.gap}]\" valign=\"middle\" align=\"center\">\r\n <i class=\"w-calendar-head-prev-year f-i f-i-angle-double-left f-pointer\" v-if=\"x.face == 'date'\"\r\n @click=\"clickStep(-12)\"></i>\r\n <i class=\"w-calendar-head-prev f-i f-i-angle-single-left f-pointer\" @click=\"clickStep(-1)\"></i>\r\n <w-horizontal :class=\"['w-calendar-head-pop', {'f-h-gap': dfish.br.compat.gap}]\">\r\n <div class=\"w-calendar-head-year f-link\" ref=\"popYear\" @click=\"clickPopYear()\" v-html=\"headYear\"></div>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopYear\" :context=\"$refs.popYear\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popYear, position: 'cc'}\" @close=\"headPopYear=null\">\r\n <div class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(-1)\"><i class=\"f-i f-i-minus\"></i></div>\r\n <w-html height=\"*\" @wheel.passive=\"mousewheelPopYear\">\r\n <div v-for=\"item in headPopYear\"\r\n :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getFullYear()}]\"\r\n @click=\"clickPopYearItem(item)\">{{item}}</div>\r\n </w-html>\r\n <w-html class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(1)\"><i class=\"f-i f-i-plus\"></i>\r\n </w-html>\r\n </w-dialog>\r\n <w-html v-if=\"x.face == 'date'\" class=\"w-calendar-head-month f-link\" ref=\"popMonth\" @click=\"clickPopMonth\">\r\n {{headMonth}}\r\n </w-html>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopMonth\" :context=\"$refs.popMonth\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popMonth, position: 'cc'}\" @close=\"headPopMonth=null\">\r\n <w-html height=\"*\">\r\n <div v-for=\"item in headPopMonth\"\r\n :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getMonth() + 1}]\"\r\n @click=\"clickPopMonthItem(item)\">{{item}}</div>\r\n </w-html>\r\n </w-dialog>\r\n </w-horizontal>\r\n <i class=\"w-calendar-head-next f-i f-i-angle-single-right f-pointer\" @click=\"clickStep(1)\"></i>\r\n <i class=\"w-calendar-head-next-year f-i f-i-angle-double-right f-pointer\" v-if=\"x.face == 'date'\"\r\n @click=\"clickStep(12)\"></i>\r\n <div class=\"w-calendar-head-blank\"></div>\r\n </w-horizontal>\r\n <slot name=\"head\"></slot>\r\n <div class=\"w-calendar-body\">\r\n <template v-if=\"x.face == 'date'\">\r\n <div v-for=\"item in loc.calendar.day_title_1\" class=\"w-calendar-daytitle\">{{item}}</div>\r\n </template>\r\n <div v-for=\"item in bodyList\" :title=\"item.title\"\r\n :class=\"['w-calendar-item', {'z-on': item.focus && !item.disabled, 'z-pad': item.pad, 'z-ds': item.disabled}]\"\r\n @click=\"clickItem($event,item)\">\r\n <slot :item=\"item\">\r\n <div class=\"w-calendar-item-text\">{{item.text}}</div>\r\n </slot>\r\n </div>\r\n </div>\r\n </w-vertical>\r\n <w-horizontal v-if=\"hasTime\" class=\"w-calendar-time\">\r\n <w-vertical v-if=\"focusHour!==false\" class=\"w-calendar-time-col w-calendar-time-hour\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.hour}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"hour\" :current=\"focusHour\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"h in bodyListHour\" :key=\"h\" :text=\"dfish.strPad(h)\"\r\n :disabled=\"isHourDisabled(h)\" @click=\"clickHour($event,h)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusMinute!==false\" class=\"w-calendar-time-col w-calendar-time-minute\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.minute}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"minute\" :current=\"focusMinute\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"m in bodyListMinute\" :key=\"m\" :text=\"dfish.strPad(m)\"\r\n :disabled=\"isMinuteDisabled(m)\" @click=\"clickMinute($event,m)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusSecond!==false\" class=\"w-calendar-time-col w-calendar-time-second\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.second}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"second\" :current=\"focusSecond\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"s in bodyListSecond\" :key=\"s\" :text=\"dfish.strPad(s)\"\r\n :disabled=\"isSecondDisabled(s)\" @click=\"clickSecond($event,s)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-horizontal>\r\n <w-horizontal v-if=\"success\" :class=\"['w-calendar-foot', {'f-h-gap': dfish.br.compat.gap}]\" align=\"between\"\r\n valign=\"middle\">\r\n <div class=\"w-calendar-button-now f-link\" @click=\"clickNow\">{{loc.calendar.now}}</div>\r\n <div class=\"w-calendar-button-confirm f-link\" @click=\"clickConfirm\">{{loc.confirm}}</div>\r\n </w-horizontal>\r\n </w-vertical>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-calendar',\r\n mixins: [WidgetBase],\r\n emits: ['click:item', 'change'],\r\n props: ['value', 'minValue', 'maxValue', 'current', 'pad', 'face', 'format', 'success', 'cg', 'start',\r\n 'enableHour', 'enableMinute', 'enableSecond', 'defaultHour', 'defaultMinute', 'defaultSecond'\r\n ],\r\n data() {\r\n let dt = this.value2date()\r\n return {\r\n dt,\r\n currentDate: null,\r\n headPopYear: null,\r\n headPopMonth: null,\r\n }\r\n },\r\n watch: {\r\n value(v) {\r\n this.dt = this.value2date()\r\n },\r\n dt(nv, ov) {\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.trigger('change', nv)\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.trigger('change', nv)\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.trigger('change', nv)\r\n }\r\n },\r\n current(nc) {\r\n if (!nc) return\r\n let nv = typeof nc === 'string' ? $.dateParse(nc, this.formatter) : nc\r\n let ov = this.dt\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.dt = nv\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.dt = nv\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.dt = nv\r\n }\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n let b = this.format || ''\r\n return {\r\n face: b === 'yyyy' ? 'year' : b.includes('MM') && !b.includes('dd') ? 'month' : b\r\n .includes('ww') ? 'week' : 'date'\r\n }\r\n },\r\n value2date() {\r\n let dt = this.value\r\n let bd = this.minValue\r\n let ed = this.maxValue\r\n let f = this.format || ''\r\n if (bd && (!dt || dt < bd)) {\r\n dt = bd\r\n }\r\n if (ed && (!dt || dt > ed)) {\r\n dt = ed\r\n }\r\n dt = dt ? $.dateParse(dt, f) : new Date()\r\n if (!this.value) this.setDefaultTime(dt)\r\n return dt\r\n },\r\n weekday(d) {\r\n let w = d.getDay()\r\n return w == 0 ? 6 : w - 1\r\n },\r\n setDefaultTime(d) {\r\n let dh = this.defaultHour == null ? d.getHours() : parseFloat(this.defaultHour)\r\n if (this.enableHour) {\r\n let eh = $.arrayNumber(this.enableHour)\r\n if (!eh.includes(dh)) dh = eh[0]\r\n }\r\n d.setHours(dh)\r\n let dm = this.defaultMinute == null ? d.getMinutes() : parseFloat(this.defaultMinute)\r\n if (this.enableMinute) {\r\n let em = $.arrayNumber(this.enableMinute)\r\n if (!em.includes(dm)) dm = em[0]\r\n }\r\n d.setMinutes(dm)\r\n let ds = this.defaultSecond == null ? d.getSeconds() : parseFloat(this.defaultSecond)\r\n if (this.enableSecond) {\r\n let es = $.arrayNumber(this.enableSecond)\r\n if (!es.includes(ds)) ds = es[0]\r\n }\r\n d.setSeconds(ds)\r\n return d\r\n },\r\n fixDate(d) {\r\n if (this.beginDate && d < this.beginDate) d = this.beginDate\r\n if (this.endDate && d > this.endDate) d = this.endDate\r\n return this.setDefaultTime(new Date(d.getTime()))\r\n },\r\n clickStep(a) {\r\n let d = new Date(this.dt.getTime())\r\n if (this.x.face == 'year') {\r\n d = $.dateAdd(d, 'y', 10 * a)\r\n } else if (this.x.face == 'month') {\r\n d = $.dateAdd(d, 'y', a)\r\n } else if (this.x.face == 'date') {\r\n d = $.dateAdd(d, 'M', a)\r\n } else if (this.x.face == 'week') {\r\n d = $.dateAdd(d, 'y', a)\r\n }\r\n this.dt = d\r\n },\r\n clickPopYear(y) {\r\n y = y || (this.dt.getFullYear() - 4)\r\n if (y < 1000) y = 1000\r\n this.headPopYear = Array.from(Array(10)).map((v, i) => y + i)\r\n },\r\n clickPopYearItem(year) {\r\n let d = new Date(this.dt.getTime())\r\n d.setFullYear(year)\r\n this.dt = d\r\n this.headPopYear = null\r\n },\r\n clickPopYearStep(a) {\r\n let r = this.headPopYear\r\n let y = a < 0 ? r[0] - 10 : r[r.length - 1] + 1\r\n this.clickPopYear(y)\r\n },\r\n mousewheelPopYear(e) {\r\n this.clickPopYearStep(e.wheelDelta > 0 ? -1 : 1)\r\n },\r\n clickPopMonth() {\r\n this.headPopMonth = Array.from(Array(12)).map((v, i) => i + 1)\r\n },\r\n clickPopMonthItem(month) {\r\n let m = this.dt.getMonth()\r\n this.dt = $.dateAdd(this.dt, 'M', month - 1 - this.dt.getMonth())\r\n this.headPopMonth = null\r\n },\r\n clickItem(e, item) {\r\n if (item.disabled) return\r\n if (this.x.current !== undefined) {\r\n this.dt = this.fixDate(item.date)\r\n }\r\n e.runType = 'click:item'\r\n e.value = item\r\n this.trigger(e, item)\r\n if (!this.hasTime)\r\n this.callback(item.value)\r\n },\r\n clickNow() {\r\n this.callback(this.fixDate(new Date()))\r\n },\r\n clickConfirm(s) {\r\n let d = this.dt\r\n let f = this.focusDate\r\n this.callback(this.fixDate(new Date(f.getFullYear(), f.getMonth(), f.getDate(), d.getHours(), d.getMinutes(), d.getSeconds())))\r\n },\r\n callback(v) {\r\n if (typeof v === 'object') {\r\n v = this.fm(v)\r\n }\r\n this.x.success && this.x.success(v)\r\n },\r\n clickHour(e, v) {\r\n this.dt.setHours(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.hour.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n clickMinute(e, v) {\r\n this.dt.setMinutes(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.minute.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n clickSecond(e, v) {\r\n this.dt.setSeconds(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.second.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n fm(a) {\r\n return $.dateFormat(typeof a === 'string' ? $.dateParse(a, this.formatter) : a, this.formatter)\r\n },\r\n isHourDisabled(v) {\r\n let n = this.minHour\r\n let m = this.maxHour\r\n return (n && n > v) || (m && m < v)\r\n },\r\n isMinuteDisabled(v) {\r\n let n = this.minMinute\r\n let m = this.maxMinute\r\n return (n && n > v) || (m && m < v)\r\n },\r\n isSecondDisabled(v) {\r\n let n = this.minSecond\r\n let m = this.maxSecond\r\n return (n && n > v) || (m && m < v)\r\n },\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n formatter() {\r\n return this.x.format || 'yyyy-MM-dd'\r\n },\r\n hasTime() {\r\n return /[Hms]/.test(this.formatter)\r\n },\r\n onlyTime() {\r\n return this.hasTime && !/[yMd]/.test(this.formatter)\r\n },\r\n focusValue() {\r\n let d = this.focusDate\r\n return d && this.fm(d)\r\n },\r\n focusDate() {\r\n let c = this.x.current\r\n if (c) {\r\n return $.dateParse(c, this.x.format)\r\n } else if (!this.x.value && this.x.success) {\r\n return this.x.format && this.dt\r\n }\r\n },\r\n beginDate() {\r\n return this.x.minValue && $.dateParse(this.x.minValue, this.formatter)\r\n },\r\n endDate() {\r\n return this.x.maxValue && $.dateParse(this.x.maxValue, this.formatter)\r\n },\r\n focusHour() {\r\n return this.x.format.includes('H') && this.dt.getHours()\r\n },\r\n focusMinute() {\r\n return this.x.format.includes('m') && this.dt.getMinutes()\r\n },\r\n focusSecond() {\r\n return this.x.format.includes('s') && this.dt.getSeconds()\r\n },\r\n minHour() {\r\n if (this.beginDate) {\r\n let d = this.beginDate\r\n let f = this.dt\r\n if (d.getFullYear() == f.getFullYear() && d.getMonth() == f.getMonth() && d.getDate() == f.getDate()) {\r\n return d.getHours()\r\n }\r\n }\r\n },\r\n maxHour() {\r\n if (this.endDate) {\r\n let d = this.endDate\r\n let f = this.dt\r\n if (d.getFullYear() == f.getFullYear() && d.getMonth() == f.getMonth() && d.getDate() == f.getDate()) {\r\n return d.getHours()\r\n }\r\n }\r\n },\r\n minMinute() {\r\n if (this.minHour === this.dt.getHours()) {\r\n return this.beginDate.getMinutes()\r\n }\r\n },\r\n maxMinute() {\r\n if (this.maxHour === this.dt.getHours()) {\r\n return this.endDate.getMinutes()\r\n }\r\n },\r\n minSecond() {\r\n if (this.minMinute === this.dt.getMinutes()) {\r\n return this.beginDate.getSeconds()\r\n }\r\n },\r\n maxSecond() {\r\n if (this.maxMinute === this.dt.getMinutes()) {\r\n return this.endDate.getSeconds()\r\n }\r\n },\r\n headYear() {\r\n let y = this.dt.getFullYear()\r\n if (this.x.face === 'year') {\r\n y = this.dt.getFullYear() - (this.dt.getFullYear() % 10)\r\n y += ' - ' + (y + 9)\r\n }\r\n return $.loc.ps($.loc.calendar.y, y)\r\n },\r\n headMonth() {\r\n return $.loc.calendar.monthname[this.dt.getMonth()]\r\n },\r\n bodyList() {\r\n return this.x.face === 'year' ? this.bodyListYear : this.x.face === 'month' ? this.bodyListMonth :\r\n this.x.face === 'week' ? this.bodyListWeek : this.bodyListDate\r\n },\r\n bodyListYear() {\r\n let r = []\r\n let n = this.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\r\n let y = this.dt.getFullYear() - (this.dt.getFullYear() % 10) - 1\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setFullYear(y)\r\n for (let i = 0; i < 12; i++) {\r\n let v = y + i\r\n let g = {\r\n value: v,\r\n text: v,\r\n date: new Date(b.getTime()),\r\n pad: i == 0 || i == 11,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n r.push(g)\r\n b.setFullYear(b.getFullYear() + 1)\r\n }\r\n return r\r\n },\r\n bodyListMonth() {\r\n let r = []\r\n let n = this.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\r\n let y = this.dt.getFullYear()\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setMonth(0)\r\n for (let i = 0; i < 12; i++) {\r\n let v = this.fm(b)\r\n let g = {\r\n text: $.loc.calendar.monthname[i],\r\n value: v,\r\n date: new Date(b.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n b.setMonth(b.getMonth() + 1)\r\n r.push(g)\r\n }\r\n return r\r\n },\r\n bodyListWeek() {\r\n let r = []\r\n let n = this.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\r\n let w = $.dateWeek(this.dt)\r\n let y = w[0]\r\n let b = $.dateWeekLast(y)\r\n let c = $.dateWeekFirst(y)\r\n let d = c[2]\r\n for (let i = 1, l = b[1]; i <= l; i++) {\r\n let v = this.fm(d)\r\n let g = {\r\n text: i,\r\n value: y + '-' + $.strPad(i),\r\n date: new Date(d.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v,\r\n title: $.loc.ps($.loc.calendar.from_to, $.dateFormat(d, 'yyyy-MM-dd'), $.dateFormat($.dateAdd(d, 'd', 6),\r\n 'yyyy-MM-dd'))\r\n }\r\n d.setDate(d.getDate() + 7)\r\n r.push(g)\r\n }\r\n return r\r\n },\r\n bodyListDate() {\r\n let b = new Date(this.dt.getTime())\r\n let c = b.getMonth()\r\n let d = new Date(b.getTime())\r\n let f = this.focusValue\r\n let fd = f && $.dateFormat($.dateParse(f, this.x.format), 'yyyy-MM-dd')\r\n let fn = this.beginDate && $.dateFormat(this.beginDate, 'yyyy-MM-dd')\r\n let fm = this.endDate && $.dateFormat(this.endDate, 'yyyy-MM-dd')\r\n let cell = []\r\n b.setDate(1)\r\n d.setDate(new Date(b.getFullYear(), c + 1, 0).getDate())\r\n let g = 7 - (this.weekday(b) + d.getDate()) % 7\r\n if (g && g < 7)\r\n d.setDate(d.getDate() + g)\r\n if (this.weekday(b) > 0)\r\n b.setDate(1 - this.weekday(b))\r\n if (this.x.pad) {\r\n g = 1 + (d.getTime() - b.getTime()) / 86400000\r\n g < 42 && d.setDate(d.getDate() + 42 - g)\r\n }\r\n while (b <= d) {\r\n let v = this.fm(b)\r\n let fv = $.dateFormat(b, 'yyyy-MM-dd')\r\n let t = {\r\n text: b.getDate(),\r\n value: v,\r\n date: new Date(b.getTime()),\r\n pad: b.getMonth() !== c,\r\n disabled: (fn && fn > fv) || (fm && fm < fv) ? true : false,\r\n focus: fd === fv,\r\n }\r\n cell.push(t)\r\n b.setDate(b.getDate() + 1)\r\n }\r\n return cell\r\n },\r\n bodyListHour() {\r\n return this.enableHour ? $.arrayNumber(this.enableHour) : Array.from(Array(24).keys())\r\n },\r\n bodyListMinute() {\r\n return this.enableMinute ? $.arrayNumber(this.enableMinute) : Array.from(Array(60).keys())\r\n },\r\n bodyListSecond() {\r\n return this.enableSecond ? $.arrayNumber(this.enableSecond) : Array.from(Array(60).keys())\r\n },\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-calendar-dialog {\r\n line-height: 1.5;\r\n --w-datepicker-dialog-width: 260px;\r\n --w-datepicker-dialog-time-width: 66px;\r\n width: calc(var(--w-datepicker-dialog-width) + calc(var(--w-datepicker-dialog-time-width) * var(--w-datepicker-time-cols, 0)));\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime {\r\n --w-datepicker-dialog-width: 2px;\r\n --w-datepicker-dialog-time-height: 254px;\r\n }\r\n\r\n .w-calendar-dialog.z-hastime .w-calendar-head,\r\n .w-calendar-dialog.z-hastime .w-calendar-body {\r\n box-sizing: border-box;\r\n width: calc(var(--w-datepicker-dialog-width) - 2px);\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime .w-calendar-head {\r\n box-sizing: border-box;\r\n width: var(--w-datepicker-dialog-width);\r\n }\r\n\r\n .w-calendar-dialog .w-calendar-body {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-calendar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-calendar-head,\r\n .w-calendar-foot {\r\n height: 36px;\r\n padding: 0 5px;\r\n --w-compat-gap: 8px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-calendar-head-pop {\r\n padding: 0 10px;\r\n --w-compat-gap: 8px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-calendar-head-blank {\r\n display: none;\r\n flex: 1;\r\n }\r\n\r\n .w-calendar-head-month {\r\n margin-left: 3px;\r\n }\r\n\r\n .w-calendar-body {\r\n display: grid;\r\n }\r\n\r\n .w-calendar-date .w-calendar-body,\r\n .w-calendar-week .w-calendar-body {\r\n grid-template-columns: repeat(7, 1fr);\r\n }\r\n\r\n .w-calendar-body {\r\n grid-template-columns: repeat(4, 1fr);\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n\r\n .w-calendar-dialog .w-calendar-month .w-calendar-body,\r\n .w-calendar-dialog .w-calendar-year .w-calendar-body {\r\n min-height: 120px;\r\n }\r\n\r\n .w-calendar-item {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .w-calendar-item,\r\n .w-calendar-daytitle {\r\n text-align: center;\r\n padding: 5px;\r\n cursor: default;\r\n }\r\n\r\n .w-calendar-item:not(.z-ds):not(.z-on):hover,\r\n .w-calendar-head-year-item:hover {\r\n background: #f5f5f5;\r\n }\r\n\r\n .w-calendar-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-item.z-ds,\r\n .w-calendar-item.z-pad {\r\n color: #999\r\n }\r\n\r\n .w-calendar-item-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-calendar-foot {\r\n position: relative;\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime .w-calendar-time {\r\n position: static;\r\n height: var(--w-datepicker-dialog-time-height);\r\n }\r\n\r\n .w-calendar-time {\r\n position: absolute;\r\n top: 0;\r\n bottom: 35px;\r\n right: 0;\r\n width: calc(var(--w-datepicker-dialog-time-width) * var(--w-datepicker-time-cols, 0));\r\n border-left: 1px solid #ddd;\r\n }\r\n \r\n .w-calendar-dialog.z-onlytime .w-calendar-time {\r\n border-left: 0;\r\n }\r\n\r\n .w-calendar-time-th,\r\n .w-calendar-time-item {\r\n box-sizing: border-box;\r\n text-align: center;\r\n }\r\n\r\n .w-calendar-time-th {\r\n line-height: 36px;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-item {\r\n height: 30px;\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-item.z-on,\r\n .w-calendar-head-year-item.z-on {\r\n background: var(--w--focus-light-color);\r\n }\r\n\r\n .w-calendar-head-year-item {\r\n height: 24px;\r\n line-height: 24px;\r\n text-align: center;\r\n }\r\n\r\n .w-calendar-head .f-i {\r\n font-size: 20px;\r\n color: #aaa;\r\n }\r\n\r\n .w-calendar-head .f-i:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-calendar-time-body .w-scroll-cont {\r\n padding: 94px 0;\r\n }\r\n \r\n .w-calendar-time-body .w-button.z-ds {\r\n background: #fff;\r\n color: #aaa;\r\n }\r\n \r\n .w-calendar-button-now,\r\n .w-calendar-button-confirm {\r\n padding: 2px 10px;\r\n cursor: pointer;\r\n }\r\n</style>\n","import { render } from \"./Calendar.vue?vue&type=template&id=7eea1be2\"\nimport script from \"./Calendar.vue?vue&type=script&lang=js\"\nexport * from \"./Calendar.vue?vue&type=script&lang=js\"\n\nimport \"./Calendar.vue?vue&type=style&index=0&id=7eea1be2&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n export default {\r\n name: 'w-tab',\r\n }\r\n</script>\r\n\r\n","import script from \"./Tab.vue?vue&type=script&lang=js\"\nexport * from \"./Tab.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n Teleport,\r\n mergeProps\r\n } from 'vue'\r\n import View from './View.vue'\r\n import Pop from './Pop.vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n const O = {},\r\n T = true,\r\n F = false,\r\n N = null\r\n\r\n const _dialogSnapHooks = {\r\n t: 'tb',\r\n r: 'rl',\r\n b: 'bt',\r\n l: 'lr',\r\n c: 'cc',\r\n tl: '14',\r\n tr: '23',\r\n rt: '21',\r\n rb: '34',\r\n bl: '41',\r\n br: '32',\r\n lt: '12',\r\n lb: '43',\r\n '-t': 'tb',\r\n '-r': 'rl',\r\n '-b': 'bt',\r\n '-l': 'lr',\r\n '-c': 'cc',\r\n '-tl': '11',\r\n '-tr': '22',\r\n '-rt': '22',\r\n '-rb': '33',\r\n '-bl': '44',\r\n '-br': '33',\r\n '-lt': '11',\r\n '-lb': '44',\r\n }\r\n\r\n const _dialogSnap = function(a) {\r\n let b = a && (a.position || a)\r\n return typeof b === 'string' && b.split(',').map(v => _dialogSnapHooks[v] || v).join()\r\n }\r\n\r\n export default {\r\n name: 'w-dialog',\r\n mixins: [View],\r\n props: ['title', 'snap', 'autoHide', 'context', 'prong', 'independent', 'timeout',\r\n 'cover', 'position', 'local', 'fullScreen', 'dropClass', 'dropPosition', 'dropHover',\r\n ],\r\n emits: ['close', 'click:cover'],\r\n watch: {\r\n position(v) {\r\n this.axis()\r\n },\r\n },\r\n data() {\r\n return {\r\n isDialog: true,\r\n animateClass: '',\r\n snapClass: '',\r\n keepHover: false,\r\n hoverTimer: null,\r\n hoverMove: null,\r\n closed: false,\r\n animating: false,\r\n isDeactivated: false,\r\n _pos: null,\r\n snapStyle: null,\r\n maxHeight: null,\r\n }\r\n },\r\n activated() {\r\n this.isDeactivated = false\r\n },\r\n deactivated() {\r\n this.isDeactivated = true\r\n },\r\n methods: {\r\n getKey() {\r\n return null\r\n },\r\n getSrc() {\r\n let src = this.x.src\r\n if (!src) return ''\r\n const feat = this.getOptions()\r\n if (feat.args)\r\n src = $.urlFormat(src, feat.args)\r\n if (src.includes('$'))\r\n src = $.urlFormat(src, this.x.data, this.x)\r\n return src\r\n },\r\n _dft_pos() {\r\n let w = this.el().offsetWidth\r\n let h = this.el().offsetHeight\r\n return {\r\n left: Math.ceil((document.documentElement.clientWidth - w) / 2),\r\n top: Math.max(0, Math.ceil((document.documentElement.clientHeight - h) / 2))\r\n };\r\n },\r\n getLocalElem() {\r\n let c = this.getCommander()\r\n return c && c.el()\r\n },\r\n snapTargetElem() {\r\n let d = this.x.snap && this.x.snap.target\r\n if (typeof d === 'string') {\r\n let e = this.ownerView.find(d)\r\n return e && e.snapElem()\r\n } else if (typeof d === 'function') {\r\n return d()\r\n } else if (d) {\r\n return d.isWidget ? d.snapElem() : d\r\n } else {\r\n return this.x.local ? this.getLocalElem() : this.defaultSnapTargetElem\r\n }\r\n },\r\n snapCls(a) {\r\n let d = this.snapTargetElem()\r\n let r = this._pos\r\n if (d) {\r\n $.classAdd(d, 'z-drop', a)\r\n if (r && r.type) {\r\n var m = 'z-mag-' + (r.mag_t ? 't' : r.mag_l ? 'l' : r.mag_b ? 'b' : 'r')\r\n $.classAdd(this.el(), m + ' z-snap z-snap-' + r.type, a)\r\n $.classAdd(d, m, a)\r\n }\r\n }\r\n },\r\n axis() {\r\n let el = this.el()\r\n if (!el || this.x.fullScreen) return;\r\n let f = this.x.position || false\r\n let c = this.x.local\r\n let d = this.x.snap || O\r\n let g = this.snapTargetElem()\r\n // 如果有指定 snap,采用 snap 模式\r\n let w = el.offsetWidth\r\n let h = el.offsetHeight\r\n let r\r\n let layTop = 0\r\n let layBottom = 0\r\n if (f == 'c') f = null\r\n if (typeof f === 'string') { // 八方位浮动的起始位置\r\n let e = f.charAt(0)\r\n if (e == '-') {\r\n e = f.charAt(1)\r\n }\r\n r = $.snap(w, h, c && g, _dialogSnap(f), this._fitpos, d.indent, c && g)\r\n let lp = $.q(`.w-dialog-ani-position-${f}:not([id=\"${this.uid}\"]):last`)[0]\r\n if (lp && r.type != 'rl' && r.type != 'lr') {\r\n let lc = lp.getBoundingClientRect()\r\n if (r.pix_b) layBottom = r.mag_t ? -(lc.bottom + 5) : (document.documentElement.clientHeight - lc.top + 5)\r\n else layTop = r.mag_b ? -(document.documentElement.clientHeight - lc.top + 5) : lc.bottom + 5\r\n }\r\n } else if (g) {\r\n r = $.snap(w, h, g, _dialogSnap(d) || this.defaultSnapPosition || f, this._fitpos, d.indent != N ? d\r\n .indent : (this.x.prong && -9), c && g)\r\n }\r\n if (!r)\r\n r = this._dft_pos()\r\n this._pos && this.snapCls(F)\r\n this._pos = r\r\n\r\n let s = {}\r\n if (r.type) {\r\n if (r.pix_r) {\r\n s.right = r.right\r\n } else {\r\n s.left = r.left\r\n }\r\n if (r.pix_b) {\r\n s.pix_b = true\r\n s.bottom = r.bottom + layBottom\r\n } else {\r\n s.top = r.top + layTop\r\n }\r\n s.type = r.type\r\n } else {\r\n s = r\r\n }\r\n this.snapStyle = s\r\n // 八方位浮动效果\r\n if (f) {\r\n if (typeof f === 'string')\r\n this.animateClass = 'w-dialog-ani-position-' + f\r\n } else {\r\n //this.animateClass = 'f-animated f-ani-dropIn'\r\n }\r\n this.snapCls()\r\n },\r\n setPosition(s) {\r\n this.x.position = s\r\n },\r\n close() {\r\n if (this.closed) return\r\n this.closeRelease()\r\n this.trigger('close')\r\n this.ownerView.removeDialog(this.uid)\r\n },\r\n closeRelease() {\r\n this.x.autoHide && this.listenHide(F)\r\n this.snapCls(F)\r\n this.closed = true\r\n let f = this.x.position\r\n if (f && typeof f === 'string' && this.el()) { // 当前窗口关闭后,有相同position的dialog依次移动补空位\r\n let ps = $.q(`~.w-dialog-ani-position-${f}`, this.el())\r\n let indent = this.el().offsetHeight + 5\r\n ps.each((i, el) => {\r\n el.classList.add(`w-dialog-ani-indent`)\r\n let s = $(el).snapStyle\r\n let t = s.type.charAt(0)\r\n if (s.top != null) {\r\n s.top += (t == 1 || t == 2 ? -1 : 1) * indent\r\n } else if (s.bottom != null) {\r\n s.bottom += (t == 3 || t == 4 ? -1 : 1) * indent\r\n }\r\n setTimeout(() => el.classList.remove(`w-dialog-ani-indent`), 200)\r\n })\r\n }\r\n },\r\n // 绑定鼠标监听 /@a -> 为 false 时解除监听\r\n listenHide(a) {\r\n if (a === F) {\r\n this.setListenHide(a)\r\n } else {\r\n setTimeout(() => {\r\n if (!this.closed) {\r\n this.setListenHide(a)\r\n }\r\n }, 100) // 延时处理,避免出现后立即消失的情况\r\n }\r\n },\r\n hoverOver() {\r\n clearTimeout(this.hoverTimer)\r\n this.hoverTimer = null\r\n },\r\n setListenHide(a) {\r\n let d = this.x.dropHover\r\n let n = a ? 'addEventListener' : 'removeEventListener'\r\n let evs = $.br.mobile ? ['touchend'] : ['mousedown', $.br.firefox ? 'DOMMouseScroll' : 'mousewheel']\r\n evs.forEach(v => document[n](v, this.bind('listenHideClose', (e) => {\r\n if (!this.closed && (e.target.classList.contains('w-dialog-cover') || !(this.hasBubble(e.target) || (!\r\n this.x\r\n .independent && (this.commander.isWidget ? this.commander.hasBubble(e.target) : this.commander\r\n .contains(e.target)))))) {\r\n if (e.target.id == this.id + 'cvr') e.stopPropagation()\r\n this.close()\r\n }\r\n }), T))\r\n window.plus && plus.key[n]('backbutton', this.bind('close'), F)\r\n if (d) {\r\n let o = d === T ? (this.x.snap && this.x.snap.target ? this.snapTargetElem() : $.el(this.commander)) : $.el(d)\r\n let hvOver = this.bind('listenHideHoverOver', e => {\r\n clearTimeout(this.hoverTimer), this.hoverTimer = null\r\n });\r\n let hvMove = this.bind('listenHideHoverMove', e => {\r\n if (!o.contains(e.target) && !this.hasBubble(e.target) && !this.keepHover) {\r\n if (!this.hoverTimer)\r\n this.hoverTimer = setTimeout(this.close, 300)\r\n } else\r\n hvOver()\r\n });\r\n [o, this.el()].forEach(v => v[n]('mouseenter', hvOver))\r\n document[n]('mousemove', hvMove)\r\n }\r\n },\r\n setMaxHeight(h) {\r\n this.maxHeight = h\r\n },\r\n getOptions() {\r\n return this.ownerView.getDialogOptions(this.uid)\r\n },\r\n getCommander() {\r\n let o = this.getOptions()\r\n return (o && o.commander) || this.context || this.ownerView\r\n },\r\n html_slots() {\r\n let prong\r\n let r = this._pos\r\n if (this.x.prong && r) {\r\n let m = r.inner ? (r.mag_b ? 'b' : r.mag_t ? 't' : r.mag_l ? 'l' : 'r') : (r.mag_b ? 't' : r.mag_t ? 'b' : r\r\n .mag_l ? 'r' : 'l')\r\n prong = h('div', {\r\n class: 'w-dialog-prong z-' + m,\r\n }, [\r\n h('i', {\r\n class: 'w-dialog-prong-out f-arw f-arw-' + m + '5'\r\n }),\r\n h('i', {\r\n class: 'w-dialog-prong-in f-arw f-arw-' + m + '4'\r\n }),\r\n ])\r\n }\r\n return [prong || [], this.html_scroll_slots()]\r\n },\r\n html() {\r\n let to = this.x.local ? this.getLocalElem() : '#w-dfish-pops'\r\n let cover = this.x.cover && !this.closed && !this.isDeactivated ? h('div', {\r\n class: 'w-dialog-cover f-abs-full',\r\n onclick: e => this.trigger('click:cover', e)\r\n }) : null\r\n return [\r\n cover ? (to ? h(Teleport, {to}, cover) : cover) : [],\r\n // 套一层w-dialog-teleport的原因是为了让对话框里面的 $(this) 能正确返回\r\n to ? h('div', {class: 'w-dialog-teleport', id: this.uid + 'teleport'}, h(Teleport, {to}, this.html_self(true))) : this.html_self(true),\r\n this.html_pops()\r\n ]\r\n }\r\n },\r\n computed: {\r\n commander() {\r\n return this.getCommander()\r\n },\r\n args() {\r\n let o = this.getOptions()\r\n return o && o.args\r\n },\r\n defaultSnapTargetElem() {\r\n //implement\r\n },\r\n defaultSnapPosition() {\r\n return 'cc'\r\n },\r\n html_class() {\r\n return ['w-vertical', this.animateClass, this.snapClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n }]\r\n },\r\n html_style() {\r\n if (this.x.fullScreen) {\r\n return {\r\n width: '100%',\r\n height: '100%',\r\n top: 0,\r\n left: 0,\r\n }\r\n } else {\r\n let f = this.x.position\r\n let n = this.snapStyle\r\n let s = {}\r\n if (f && typeof f === 'object') {\r\n $.extend(s, f)\r\n if (n) {\r\n if (s.top == null && s.bottom == null) $.extend(s, $.lodash.pick(n, 'top', 'bottom'))\r\n if (s.left == null && s.right == null) $.extend(s, $.lodash.pick(n, 'left', 'right'))\r\n }\r\n } else {\r\n if (n) $.extend(s, n)\r\n }\r\n for (let k in s) {\r\n s[k] = $.unitSize(s[k])\r\n }\r\n if (this.maxHeight) {\r\n s.maxHeight = $.unitSize(this.maxHeight)\r\n }\r\n return s\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.x.local) {\r\n $.q(this.getLocalElem()).addClass('f-dialog-local-wrap')\r\n }\r\n this.$nextTick(() => {\r\n this.x.autoHide && this.listenHide(T)\r\n setTimeout(this.axis)\r\n const observe = (o) => {\r\n if (this.closed || this.animateClass || !this.el()) return\r\n this.axis()\r\n if (this.x.position && typeof this.x.position === 'string') {\r\n this.setMaxHeight('100%')\r\n } else {\r\n let c = this._pos\r\n if (c.bottom < 0) {\r\n this.setMaxHeight(c.height + c.bottom)\r\n } else if (c.top < 0) {\r\n this.setMaxHeight(c.height + c.top)\r\n }\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.el())\r\n if (this.x.timeout) {\r\n setTimeout(this.close, this.x.timeout)\r\n }\r\n })\r\n },\r\n unmounted() {\r\n if (!this.closed) {\r\n this.closeRelease()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog {\r\n display: inline-flex;\r\n position: absolute;\r\n box-shadow: 0px 0px 8px #bbb;\r\n z-index: 100;\r\n box-sizing: border-box;\r\n --w-dialog-ani-duration: 200ms;\r\n }\r\n\r\n .w-dialog.z-hide {\r\n display: none;\r\n }\r\n\r\n .w-dialog.z-full {\r\n transform: none;\r\n transition: none;\r\n }\r\n\r\n .w-dialog-cover {\r\n background: rgba(0, 0, 0, .3);\r\n z-index: 99;\r\n }\r\n\r\n .w-dialog-prong {\r\n position: absolute;\r\n }\r\n\r\n .w-dialog-prong .f-arw {\r\n position: absolute;\r\n margin: 0\r\n }\r\n\r\n .w-dialog-prong.z-b {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n bottom: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-in {\r\n top: 0;\r\n left: 1px;\r\n border-top-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-out {\r\n top: 0;\r\n left: 0;\r\n border-top-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-t {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n top: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-in {\r\n bottom: 0;\r\n left: 1px;\r\n border-bottom-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-out {\r\n bottom: 0;\r\n left: 0;\r\n border-bottom-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-l {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n left: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-in {\r\n right: 0;\r\n top: 1px;\r\n border-right-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-out {\r\n right: 0;\r\n top: 0;\r\n border-right-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-r {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n right: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-in {\r\n left: 0;\r\n top: 1px;\r\n border-left-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-out {\r\n left: 0;\r\n top: 0;\r\n border-left-color: #d5d5d5\r\n }\r\n \r\n .w-dialog-teleport {\r\n display: none;\r\n }\r\n\r\n .w-dialog-ani-position-br,\r\n .w-dialog-ani-position-bl,\r\n .w-dialog-ani-position-b {\r\n transform: translateY(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--br,\r\n .w-dialog-ani-position--bl,\r\n .w-dialog-ani-position--b {\r\n transform: translateY(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-tr,\r\n .w-dialog-ani-position-tl,\r\n .w-dialog-ani-position-t {\r\n transform: translateY(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-lt,\r\n .w-dialog-ani-position-lb,\r\n .w-dialog-ani-position-l {\r\n transform: translateX(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-rt,\r\n .w-dialog-ani-position-rb,\r\n .w-dialog-ani-position-r {\r\n transform: translateX(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--rt,\r\n .w-dialog-ani-position--rb,\r\n .w-dialog-ani-position--r {\r\n transform: translateX(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-indent {\r\n transition: top var(--w-dialog-ani-duration), bottom var(--w-dialog-ani-duration);\r\n }\r\n \r\n .w-dialog-move-helper {\r\n position: fixed;\r\n background: #fff;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n z-index: 101;\r\n }\r\n</style>\n","import script from \"./Dialog.vue?vue&type=script&lang=js\"\nexport * from \"./Dialog.vue?vue&type=script&lang=js\"\n\nimport \"./Dialog.vue?vue&type=style&index=0&id=ac8e27c2&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-toggle',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['collapsedIcon', 'expandedIcon', 'expanded', 'align', 'valign'],\r\n methods: {\r\n x_default() {\r\n return {\r\n expanded: true,\r\n valign: 'middle',\r\n }\r\n },\r\n toggle(e = true) {\r\n let exp = typeof e === 'boolean' ? e : !this.x.expanded\r\n this.x.expanded = exp\r\n $.q(this.el()).nextUntil('.w-toggle').toggle(exp)\r\n },\r\n html_slots() {\r\n let exp = this.x.expanded\r\n let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon\r\n return [ico && h(Img, {\r\n src: ico,\r\n class: 'w-toggle-icon',\r\n }), h('div', {class: 'w-toggle-main'}, this.$slots.default())]\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n let exp = this.x.expanded\r\n return {\r\n class: ['w-horizontal f-pointer',\r\n {\r\n 'z-expanded': exp,\r\n 'z-collapse': !exp,\r\n },\r\n this.html_align_class],\r\n onclick: this.toggle\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-toggle-icon {\r\n margin-right: 5px;\r\n flex-shrink: 0;\r\n }\r\n</style>\r\n","import script from \"./Toggle.vue?vue&type=script&lang=js\"\nexport * from \"./Toggle.vue?vue&type=script&lang=js\"\n\nimport \"./Toggle.vue?vue&type=style&index=0&id=431717dc&lang=css\"\n\nexport default script","<template>\r\n <w-confirm>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"cancel\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\" valign=\"middle\">\r\n <w-img class=\"w-alert-icon\" :src=\"typeIcon\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar :class=\"['w-alert-buttonbar', {'f-h-gap': dfish.br.compat.gap}]\">\r\n <w-button face=\"primary\" class=\"w-alert-button\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"/>\r\n <w-button class=\"w-alert-button\" text=\"取消\" @click=\"cancel\" :ownproperty=\"true\"/>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-confirm>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import TemplateAlert from './TemplateAlert.vue'\r\n \r\n export default {\r\n mixins: [TemplateAlert],\r\n data() {\r\n return {\r\n defaultIconType: 'question'\r\n }\r\n },\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n cancel(e) {\r\n $.dialog(e).cueNo()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplateConfirm.vue?vue&type=template&id=2a9563f5\"\nimport script from \"./TemplateConfirm.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateConfirm.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<template>\r\n <w-dialog class=\"f-datesheet\">\r\n <w-buttonbar class=\"f-datesheet-bbr\" align=\"between\" height=\"52\" style=\"padding:0 10px\">\r\n <w-button text=\"取消\" @click=\"clickCancel\"></w-button>\r\n <w-submitbutton text=\"确定\" @click=\"clickOK\"></w-submitbutton>\r\n </w-buttonbar>\r\n <w-horizontal height=\"*\">\r\n <w-vertical width=\"*\" v-if=\"hasYear\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">年</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusYear\" :min-value=\"minYear\" :max-value=\"maxYear\" :keep-index=\"true\"\r\n :data=\"{mode: 'year'}\">\r\n <w-option v-for=\"y in yearList\" :key=\"y\" :value=\"y\" :text=\"y\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMonth\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">月</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\"\r\n :data=\"{mode: 'month'}\">\r\n <w-option v-for=\"m in monthList\" :key=\"m\" :value=\"m\" :text=\"dfish.strPad(m+1)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasDate\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">日</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\"\r\n :data=\"{mode: 'date'}\">\r\n <w-option v-for=\"d in dateList\" :key=\"d\" :value=\"d\" :text=\"dfish.strPad(d)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasHour\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">时</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusHour\" :min-value=\"minHour\" :max-value=\"maxHour\" :keep-index=\"true\">\r\n <w-option v-for=\"h in hourList\" :key=\"h\" :value=\"h\" :text=\"dfish.strPad(h)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMinute\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">分</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\"\r\n :keep-index=\"true\">\r\n <w-option v-for=\"i in minuteList\" :key=\"i\" :value=\"i\" :text=\"dfish.strPad(i)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasSecond\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">秒</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\"\r\n :keep-index=\"true\">\r\n <w-option v-for=\"s in secondList\" :key=\"s\" :value=\"s\" :text=\"dfish.strPad(s)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasWeek\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">周</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusWeek\" :min-value=\"minWeek\" :max-value=\"maxWeek\" :keep-index=\"true\">\r\n <w-option v-for=\"w in weekList\" :key=\"w.value\" :value=\"w.value\" :text=\"w.text\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n </w-horizontal>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n let f = this.data.format || 'yyyy-MM-dd'\r\n let d = this.data && this.data.value ? $.dateParse(this.data.value, f) : new Date\r\n let nd = this.data && this.data.minValue && $.dateParse(this.data.minValue, f)\r\n let xd = this.data && this.data.maxValue && $.dateParse(this.data.maxValue, f)\r\n d = $.numRange(d, nd, xd)\r\n let focusYear = d.getFullYear()\r\n let focusWeek, weekFirst, weekLast\r\n if (f.includes('w')) {\r\n focusWeek = $.dateWeek(d)[1]\r\n weekFirst = $.dateWeekFirst(focusYear)\r\n weekLast = $.dateWeekLast(focusYear)\r\n }\r\n return {\r\n focusYear,\r\n focusMonth: d.getMonth(),\r\n focusDate: d.getDate(),\r\n focusHour: d.getHours(),\r\n focusMinute: d.getMinutes(),\r\n focusSecond: d.getSeconds(),\r\n startYear: $.numRange(d.getFullYear() - 30, nd && nd.getFullYear()),\r\n endYear: $.numRange(d.getFullYear() + 30, null, xd && xd.getFullYear()),\r\n monthDays: new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\r\n focusWeek,\r\n weekFirst,\r\n weekLast,\r\n minTime: nd,\r\n maxTime: xd,\r\n format: f\r\n }\r\n },\r\n watch: {\r\n focusYear(y) {\r\n if (y == this.yearList[0] && y > 1030) {\r\n this.startYear = $.numRange(this.startYear - 30, this.minYear)\r\n } else if (y == this.yearList[this.yearList.length - 1]) {\r\n this.endYear = $.numRange(this.endYear + 30, null, this.maxYear)\r\n }\r\n this.monthDays = new Date(y, this.focusMonth + 1, 0).getDate()\r\n if (this.hasWeek) {\r\n this.weekFirst = $.dateWeekFirst(y)\r\n this.weekLast = $.dateWeekLast(y)\r\n }\r\n },\r\n focusMonth(m) {\r\n this.monthDays = new Date(this.focusYear, m + 1, 0).getDate()\r\n }\r\n },\r\n methods: {\r\n weekText(w) {\r\n \r\n },\r\n clickCancel() {\r\n $.close(this)\r\n },\r\n clickOK() {\r\n if (this.data.success) {\r\n let d = this.hasWeek ? $.dateParse(`${this.focusYear}-${this.focusWeek}`, 'yyyy-ww') :\r\n new Date(this.focusYear, this.focusMonth, this.focusDate, this.focusHour, this.focusMinute, this.focusSecond)\r\n this.data.success($.dateFormat(d, this.format))\r\n }\r\n $.close(this)\r\n },\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n yearList() {\r\n return Array.from(Array(this.endYear - this.startYear + 1)).map((v, i) => this.startYear + i)\r\n },\r\n monthList() {\r\n return Array.from(Array(12)).map((v, i) => i)\r\n },\r\n dateList() {\r\n return Array.from(Array(this.monthDays)).map((v, i) => i + 1)\r\n },\r\n hourList() {\r\n return Array.from(Array(24)).map((v, i) => i)\r\n },\r\n minuteList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n secondList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n weekList() {\r\n let d = this.weekFirst[2]\r\n return Array.from(Array(this.weekLast[1])).map((v, i) => {\r\n let startDate = d\r\n let endDate = $.dateAdd(d, 'd', 6)\r\n d = $.dateAdd(d, 'd', 7)\r\n return {\r\n value: i + 1,\r\n text: `${$.strPad(i + 1)} (${$.dateFormat(startDate, 'MM.dd')} - ${$.dateFormat(endDate, 'MM.dd')})`,\r\n }\r\n })\r\n },\r\n hasYear() {\r\n return this.format.includes('y')\r\n },\r\n hasMonth() {\r\n return this.format.includes('M')\r\n },\r\n hasDate() {\r\n return this.format.includes('d')\r\n },\r\n hasHour() {\r\n return this.format.includes('H')\r\n },\r\n hasMinute() {\r\n return this.format.includes('m')\r\n },\r\n hasSecond() {\r\n return this.format.includes('s')\r\n },\r\n hasWeek() {\r\n return this.format.includes('w')\r\n },\r\n minYear() {\r\n return this.minTime && this.hasYear && this.minTime.getFullYear()\r\n },\r\n maxYear() {\r\n return this.maxTime && this.hasYear && this.maxTime.getFullYear()\r\n },\r\n minMonth() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && this.minTime.getMonth()\r\n },\r\n maxMonth() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && this.maxTime.getMonth()\r\n },\r\n minDate() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth ==\r\n this.focusMonth) && this.minTime.getDate()\r\n },\r\n maxDate() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth ==\r\n this.focusMonth) && this.maxTime.getDate()\r\n },\r\n minHour() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.minDate == this.focusDate) && this.minTime.getHours()\r\n },\r\n maxHour() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.maxDate == this.focusDate) && this.maxTime.getHours()\r\n },\r\n minMinute() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && this\r\n .minTime.getMinutes()\r\n },\r\n maxMinute() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && this\r\n .maxTime.getMinutes()\r\n },\r\n minSecond() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && (!\r\n this.hasMinute || this.minMinute == this.focusMinute) && this.minTime.getSeconds()\r\n },\r\n maxSecond() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && (!\r\n this.hasMinute || this.maxMinute == this.focusMinute) && this.maxTime.getSeconds()\r\n },\r\n minWeek() {\r\n\r\n },\r\n maxWeek() {\r\n\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-datesheet {\r\n background: #f9f9f9;\r\n }\r\n\r\n .f-datesheet-ok {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .f-datesheet-head {\r\n height: 36px;\r\n border-top: 1px solid #ddd;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n</style>\n","import { render } from \"./TemplateDateSheet.vue?vue&type=template&id=e271d2a6\"\nimport script from \"./TemplateDateSheet.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateDateSheet.vue?vue&type=script&lang=js\"\n\nimport \"./TemplateDateSheet.vue?vue&type=style&index=0&id=e271d2a6&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps,\r\n } from 'vue'\r\n\r\n const bindCache = {}\r\n\r\n export default {\r\n props: ['data', 'width', 'height', 'colspan', 'rowspan', 'ownproperty', 'orientUid'],\r\n data() {\r\n return {\r\n isWidget: true,\r\n uid: this.orientUid || $.uid(),\r\n runtimeX: {},\r\n events: null,\r\n }\r\n },\r\n created() {\r\n $.vueMap.set(this.uid, this)\r\n let dftX = this.getDefaultProp()\r\n let cuid = $.config_uid\r\n let watchs = {}\r\n this.x = new Proxy(this.runtimeX, {\r\n get: (obj, prop) => {\r\n if (prop in obj) return obj[prop]\r\n if (this.$props[prop] !== undefined) return this.$props[prop]\r\n if (cuid != $.config_uid) {\r\n cuid = $.config_uid\r\n dftX = this.getDefaultProp()\r\n }\r\n return dftX[prop]\r\n },\r\n set: (obj, prop, newval) => {\r\n if (!watchs[prop]) {\r\n watchs[prop] = this.$watch(prop, (v) => obj[prop] = v)\r\n }\r\n obj[prop] = newval\r\n return true\r\n }\r\n })\r\n },\r\n unmounted() {\r\n $.vueMap.delete(this.uid)\r\n },\r\n methods: {\r\n x_default() {\r\n //implement\r\n },\r\n getDefaultProp() {\r\n let dftopt\r\n if (!this.ownproperty) {\r\n let b = this.$options.name\r\n dftopt = $.x.defaultOptions[b]\r\n if ($.dfclsCache[b]) {\r\n let c = this.$options.name + (this.$attrs.class ? ' ' + this.$attrs.class : '')\r\n let d = $.dfclsCache[b]\r\n let z\r\n for (let k in d) {\r\n $.idsAll(c, k, ' ') && $.mergeDeep(z || (z = {}), d[k])\r\n }\r\n z && (dftopt = $.extendDeep(z, dftopt))\r\n }\r\n }\r\n return {\r\n ...this.x_default(),\r\n ...dftopt,\r\n }\r\n },\r\n cmd(o, ...args) {\r\n return this.exec(o, args)\r\n },\r\n exec(cmd, args, feat) {\r\n if (typeof cmd === 'string') {\r\n cmd = $.vm(this).commands[cmd]\r\n }\r\n if (cmd) {\r\n if (typeof cmd === 'function') {\r\n return cmd(args, this)\r\n } else if (typeof cmd === 'object') {\r\n let ncm = $.extendDeep({}, cmd)\r\n feat && $.merge(ncm, feat)\r\n if ($.cmdHooks[ncm.type]) {\r\n return $.cmdHooks[ncm.type].call(this, ncm, args)\r\n }\r\n }\r\n }\r\n },\r\n trigger(ev, ...args) {\r\n let type = ev.runType || ev.type || ev\r\n let f = this.getOn(type)\r\n if (f) {\r\n if (typeof ev === 'string') {\r\n ev = {type, uid: this.uid}\r\n }\r\n if (Array.isArray(f)) f.forEach(n => n(ev, ...args))\r\n else f(ev, ...args)\r\n }\r\n this.events && this.events.fireEvent(type)\r\n },\r\n addEvent(type, fn, once) {\r\n if (!this.events) this.events = new $.EventListener(this)\r\n this.events.addEvent(type, fn, once)\r\n },\r\n fireEvent(type, args) {\r\n return this.events && this.events.fireEvent(type, args)\r\n },\r\n removeEvent(type, fn) {\r\n this.events && this.events.removeEvent(type, fn)\r\n },\r\n getOn(type) {\r\n let n = 'on' + type.charAt(0).toUpperCase() + type.slice(1)\r\n return (this.$.vnode.props && this.$.vnode.props[n]) || this.x[n]\r\n },\r\n getKey() {\r\n return this.$.vnode.key\r\n },\r\n closest(a) {\r\n let p = this\r\n let b = typeof a\r\n do {\r\n if (b === 'string') {\r\n if (p.$options.name === a)\r\n return p\r\n } else if (b === 'function') {\r\n if (a(p))\r\n return p\r\n }\r\n } while (p = p.$parent)\r\n },\r\n query(sel) {\r\n if (this.el()) {\r\n let o = $.q(sel, this.el())[0]\r\n return o && $(o)\r\n }\r\n },\r\n contains(a) {\r\n return a && this.el().contains(a.isWidget ? a.el() : a)\r\n },\r\n el(a) {\r\n return a && /\\W/.test(a) ? $.q(a, this.el())[0] : document.getElementById(this.uid + (a || ''))\r\n },\r\n next() {\r\n const e = this.el().nextElementSibling\r\n return e && $(e)\r\n },\r\n prev() {\r\n const e = this.el().previousElementSibling\r\n return e && $(e)\r\n },\r\n createEvent(name, data) {\r\n let e = new CustomEvent(name)\r\n e.value = data\r\n e.uid = this.uid\r\n return e\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n scrollIntoView(opt = false) {\r\n const next = (dir, fn) => {\r\n let c = 'scroll' + dir.toUpperCase()\r\n let t = this.closest(p => p.x && p.x[c] && (p.scrollState() || false)[dir])\r\n if (t) {\r\n t.scrollTo(this, opt.y || 'auto', opt.x || 'auto', opt.ease == null ? 200 : opt.ease, opt.divide, fn)\r\n } else\r\n fn && fn()\r\n }\r\n next('y', () => next('x', opt.success))\r\n },\r\n hasBubble(a) {\r\n if (!a) return false\r\n if (this.contains(a)) return true\r\n let d = $.dialog(a)\r\n if (d && d.commander) return this.hasBubble(d.commander)\r\n },\r\n bind(name, fn) {\r\n let c = bindCache[this.uid] || (bindCache[this.uid] = {})\r\n if (!c[name]) c[name] = fn || this[name]\r\n return c[name]\r\n },\r\n slots_children(name) {\r\n return $.slotsChildren(this.$slots, name)\r\n },\r\n html_icon(src, cls, onclick) {\r\n let font = src.startsWith('.') && !src.includes('/')\r\n return font ? h('i', {\r\n class: [cls, src.replace(/\\./g, '')],\r\n onclick,\r\n }) : h('img', {\r\n src,\r\n onclick,\r\n class: cls\r\n })\r\n },\r\n slot(name = 'default') {\r\n return this.$slots[name] ? this.$slots[name]() : []\r\n },\r\n html_slots() {\r\n return this.$slots\r\n },\r\n html_self(a) {\r\n return h(this.tagName || 'div', a ? mergeProps(this.html_attrs, this.html_props, this.$attrs) : mergeProps(this\r\n .html_attrs, this.html_props), this.html_slots())\r\n },\r\n html() {\r\n return this.html_self()\r\n }\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n ownerView() {\r\n let p = this.provideView\r\n while (p && !p.isView) p = p.provideView\r\n return p\r\n },\r\n pubParent() {\r\n return this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options.name) &&\r\n this.providePubParent\r\n },\r\n parentNode() {\r\n return $(this.el().parentElement)\r\n },\r\n tagName() {\r\n return 'div'\r\n },\r\n html_attrs() {\r\n return {\r\n id: this.uid,\r\n class: [this.$options.name, this.html_class],\r\n style: [{\r\n width: this.x.width && $.unitSize(this.x.width),\r\n height: this.x.height && $.unitSize(this.x.height),\r\n '--w-grid-colspan': !this.x.colspan || this.x.colspan == -1 ? null : `span ${this.x.colspan}`,\r\n '--w-grid-rowspan': !this.x.rowspan || this.x.rowspan == -1 ? null : `span ${this.x.rowspan}`,\r\n }, this.html_style],\r\n 'w-key': this.getKey(),\r\n 'w-width': this.x.width === '*' ? '*' : null,\r\n 'w-height': this.x.height === '*' ? '*' : null,\r\n }\r\n },\r\n html_style() {\r\n // implements\r\n },\r\n html_class() {\r\n // implements\r\n },\r\n html_props() {\r\n // implements\r\n },\r\n html_binds() {\r\n return mergeProps(this.html_attrs, this.html_props, this.$attrs)\r\n }\r\n },\r\n render() {\r\n return this.html()\r\n }\r\n }\r\n</script>\n","import script from \"./WidgetAbs.vue?vue&type=script&lang=js\"\nexport * from \"./WidgetAbs.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import SrcParent from './SrcParent.vue'\r\n\r\n export default {\r\n name: 'w-tr',\r\n pubParentName: 'w-tbody,w-thead',\r\n mixins: [WidgetBase, SrcParent],\r\n props: ['rowIndex', 'expanded'],\r\n inject: ['table', 'providePubParent', 'provideInBody', 'provideLevel', 'provideParentTR'],\r\n provide() {\r\n return {\r\n provideParentTR: this,\r\n provideLevel: this.provideLevel + 1,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return $.hasChild(this.$slots, 'rows')\r\n },\r\n isExpanded() {\r\n return this.x.expanded\r\n },\r\n setExpanded(exp) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n },\r\n isDisplay() {\r\n if (!this.provideParentTR) return true\r\n let p = this\r\n while (p = p.provideParentTR) {\r\n if (!p.isExpanded()) return false\r\n }\r\n return true\r\n },\r\n toggle(exp, fn) {\r\n let leaf = this.query('.w-leaf')\r\n if (leaf) {\r\n leaf.toggle(exp, fn)\r\n } else {\r\n this.setExpanded(exp)\r\n fn && this.$nextTick(fn)\r\n }\r\n },\r\n onmouseenter(e) {\r\n this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n html_slots() {\r\n let ri = this.rowIndex\r\n let rs = this.pubParent.rows\r\n let ci = 0\r\n return this.slots_children().map(td => {\r\n if (rs[ri] && rs[ri][ci]) {\r\n ci += rs[ri][ci]\r\n }\r\n td.dfishColIndex = ci\r\n if (td.props) {\r\n if (td.props.rowspan > 1) {\r\n for (let j = 1, r; j < td.props.rowspan; j++) {\r\n r = rs[ri + j] || (rs[ri + j] = {})\r\n r[ci] = $.number(td.props.colspan) || 1\r\n }\r\n }\r\n if (td.props.colspan > 1) ci += td.props.colspan - 1\r\n }\r\n ci++;\r\n return td\r\n })\r\n },\r\n html() {\r\n return this.$slots.rows ? [this.html_self(true), this.$slots.rows()] : this.html_self()\r\n },\r\n },\r\n computed: {\r\n tagName() {\r\n return 'tr'\r\n },\r\n level() {\r\n return this.provideLevel + 1\r\n },\r\n isEscape() {\r\n return this.pubParent.x.escape\r\n },\r\n inCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n if (this.provideInBody) {\r\n return {\r\n class: {\r\n 'z-on': this.inCurrent,\r\n 'z-expanded': this.isExpanded(),\r\n 'f-hide': !this.isDisplay()\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: this.onmouseleave\r\n }\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n</script>\n","import script from \"./TableTR.vue?vue&type=script&lang=js\"\nexport * from \"./TableTR.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PageBar.vue?vue&type=style&index=0&id=a0cae56c&lang=css\"","import lodash from 'lodash'\r\nimport jquery from 'jquery'\r\nimport http from 'axios'\r\nimport Qs from 'qs'\r\n\r\nimport br from './util/browser.js'\r\nimport uid from './util/uid.js'\r\nimport loc from './util/loc/zh-CN.js'\r\nimport {number, isNumber, numRange, numAdd, numFormat, numDecimal} from './util/number.js'\r\nimport {string, strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight} from './util/str.js'\r\nimport {dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet, dateWeek, dateWeekFirst, dateWeekLast} from './util/date.js'\r\nimport {rngSelection, rngElement, rngCursor, rngCursorOffset, rngText} from './util/range.js'\r\nimport {el, html, append, prepend, before, after, replaceWith} from './util/elem.js'\r\nimport {bcr, offset, snap, snapTo} from './util/snap.js'\r\nimport {EventListener, eventX, eventY, moveup} from './util/event.js'\r\n\r\n\r\nfunction $(o) {\r\n if (!o || o.isWidget) return o\r\n if (typeof o === 'string' || o.uid) return $.vueMap.get(o.uid || o)\r\n if (o instanceof Event) {\r\n o = o.currentTarget || o.target\r\n }\r\n if (o.$el) {\r\n o = o.$el\r\n if (o.nodeType === 3)\r\n o = o.nextElementSibling\r\n }\r\n if (lodash.isElement(o)) {\r\n do {\r\n if (o.id) {\r\n if ($.vueMap.has(o.id)) return $.vueMap.get(o.id)\r\n let d = $.strTo(o.id, ':') + ':'\r\n if($.vueMap.has(d)) return $.vueMap.get(d)\r\n }\r\n } while (o = o.parentNode)\r\n }\r\n while (o && !o.isWidget) o = o.$parent\r\n return o || $.docView\r\n}\r\n\r\nObject.assign($, {\r\n x: {defaultOptions: {}},\r\n vueMap: new Map(),\r\n dfclsCache: {},\r\n q: jquery, lodash, http,\r\n br, loc, uid, EventListener, eventX, eventY,\r\n number, isNumber, numRange, numAdd, numFormat, numDecimal,\r\n string, strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight,\r\n dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet, dateWeek, dateWeekFirst, dateWeekLast,\r\n rngSelection, rngElement, rngCursor, rngCursorOffset, rngText,\r\n el, html, append, prepend, before, after, replaceWith,\r\n moveup, bcr, offset, snap, snapTo,\r\n})\r\n\r\n// a继承b的属性。不覆盖a的既有同名属性\r\n$.extend = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c)\r\n if (!(k in a) && c[k] !== undefined) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n// 递归继承\r\n$.extendDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null && c.constructor === Object) {\r\n for (let i in c) {\r\n if (!(i in a)) {\r\n if (c[i] != null && c[i].constructor === Object) {\r\n $.extendDeep(a[i] = {}, c[i])\r\n } else\r\n a[i] = c[i]\r\n } else if (a[i] != null && a[i].constructor === Object)\r\n $.extendDeep(a[i], c[i])\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.merge = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n$.mergeDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null) {\r\n for (let k in c) {\r\n if (typeof a[k] === 'object')\r\n $.mergeDeep(a[k], c[k])\r\n else\r\n a[k] = c[k]\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.cloneDeep = lodash.cloneDeep\r\n\r\n$.eval = function(str, opt) {\r\n if (opt) {\r\n let keys = Object.keys(opt)\r\n return Function(keys.map(k => k), `return (${str})`)(...keys.map(k => opt[k]))\r\n }\r\n return Function(`return (${str})`)()\r\n}\r\n\r\n// a -> object, b -> concat?\r\n$.array = function(a, b) {\r\n return Array.isArray(a) ? (b ? a.concat() : a) : a == null || a === '' ? [] : typeof a === 'string' ? a.split(',') : [a]\r\n}\r\n// 把数组内的文本转为数字\r\n$.arrayNumber = function(a) {\r\n return $.array(a).map(v => parseFloat(v))\r\n}\r\n\r\n// 数字转为像素单位。如果自带单位则保留单位\r\n$.unitSize = (size, allowMinus) => size == null || size === '' ? '' : size === '*' ? '' : (size == -1 && !allowMinus)|| size == 'auto' ?\r\n 'auto' : isNaN(size) ? size : `${size}px`\r\n\r\n// 添加一个ID\r\n$.idsAdd = (s, n, p) => {\r\n s = string(s)\r\n n = string(n)\r\n p = p == null ? ',' : '' + p\r\n if (!s || !n) return s || n\r\n for (var i = 0, n = n.split(p), l = n.length; i < l; i++) {\r\n if ((p + s + p).indexOf(p + n[i] + p) < 0) s += (s ? p : '') + n[i];\r\n }\r\n return s\r\n}\r\n// 删除一个ID\r\n$.idsRemove = (s, n, p) => {\r\n s = string(s)\r\n n = string(n)\r\n p = p == null ? ',' : '' + p\r\n if (!s || !n) return s\r\n for (var i = 0, e, n = n.split(p), l = n.length; i < l; i++) {\r\n do {\r\n e = (p + s + p).indexOf(p + n[i] + p);\r\n if (e > -1) s = s.slice(0, e ? e - 1 : e) + s.slice(e + n[i].length + (e ? 0 : 1));\r\n } while (s && e > -1);\r\n }\r\n return s\r\n}\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAny = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = string(s)\r\n n = string(n)\r\n p = p == null ? ',' : '' + p\r\n if (!s || !n) return false\r\n if (s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) > -1) return true\r\n return false\r\n}\r\n\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAll = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = s == null ? '' : '' + s\r\n n = n == null ? '' : '' + n\r\n p = p == null ? ',' : '' + p\r\n if (!s) return false\r\n if (!n || s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) < 0) return false\r\n return true\r\n}\r\n\r\n// 添加一个class /@ a -> el, b -> className, c -> add?(默认添加)\r\n$.classAdd = function(a, b, c) {\r\n if (!a) return\r\n let s = a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $.strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b[i], ' ')\r\n } else\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b, ' ')\r\n a.className = s\r\n}\r\n\r\n// 删除一个class /@ a -> el, b -> className\r\n$.classRemove = function(a, b) {\r\n if (!a) return\r\n if (b.indexOf(' ') > -1) {\r\n $.classAdd(a, b, false)\r\n } else\r\n a.className = $.idsRemove(a.className, b, ' ')\r\n}\r\n\r\n// 是否包含任意一个class(多个是“或”的关系) /@ a -> el or className\r\n$.classAny = function(a, b) {\r\n if (!a) return\r\n let s = typeof a === 'string' ? a : a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n if ($.idsAny(s, b[i], ' ')) return i + 1\r\n } else\r\n return $.idsAny(s, b, ' ')\r\n}\r\n\r\n// url 编码\r\n$.urlEncode = (a) => {\r\n return a == null ? '' : encodeURIComponent(typeof a === 'object' ? JSON.stringify(a) : a)\r\n}\r\n \r\n// url 解码\r\n$.urlDecode = (a) => {\r\n return a == null ? '' : decodeURIComponent(a.replace(/\\+/g, ' '))\r\n}\r\n// 替换带$变量的url,如 \"a.sp?id=$0\" /@a -> url, b -> array/object\r\n$.urlFormat = (a, ...args) => {\r\n args.forEach((v, i) => v != null && (a = $.strFormat(a, v, true, i < args.length - 1)))\r\n return a\r\n}\r\n$.urlParam = function(a, b) {\r\n var r = a.split('#'),\r\n u = r[0],\r\n h = r[1];\r\n if (typeof b === 'string') {\r\n return b === '#' ? (h || '') : $.urlDecode((u.match(new RegExp('[\\\\?&]' + b + '=([^&]*)'), 'g') || A)[1]);\r\n } else if (b && typeof b === 'object') {\r\n for (var k in b) {\r\n if (k === '#') {\r\n h = b[k];\r\n } else {\r\n var c = $.urlEncode(b[k]),\r\n d = new RegExp('\\\\b' + k + '=[^&]*');\r\n u = d.test(u) ? u.replace(d, k + '=' + c) : u + (u.indexOf('?') < 0 ? '?' : '&') + k + '=' + c;\r\n }\r\n }\r\n } else if (arguments.length === 1) {\r\n var r = {},\r\n c = u.split('?');\r\n c = c[c.length - 1];\r\n\r\n if (c) {\r\n c = c.split('&');\r\n for (var d = 0, e, f, g; d < c.length; d++) {\r\n e = c[d].indexOf('=');\r\n if (e == -1) continue;\r\n f = c[d].substring(0, e);\r\n g = c[d].substring(e + 1);\r\n r[f] = $.urlDecode(g.replace(/\\+/g, ' '));\r\n }\r\n }\r\n return r\r\n }\r\n return u + (h ? '#' + h : '')\r\n}\r\n// 把相对路径url和baseURL拼接为完整地址\r\n$.urlServer = function(src, ...args) {\r\n if (!src) return\r\n if (!(src.startsWith('http://') || src.startsWith('https://'))) {\r\n let b = lodash.get($.x, 'http.baseURL')\r\n if (b) {\r\n src = b + (b.endsWith('/') ? '' : '/') + src\r\n }\r\n }\r\n return $.strFormat(src, ...args)\r\n}\r\n\r\n$.urlComplete = function(a) {\n\tif (a.indexOf('data:') !== 0) {\n\t\ta = $.urlServer(a)\r\n let r = lodash.get($.x, 'http.params')\n\t\tr && (a = $.urlParam(a, r))\n\t}\n\treturn a\n},\r\n\t// @a -> src, b -> options\n$.download = function(a, b) {\r\n a = $.urlComplete(a)\n\tif (br.app) {\n\t\t$.wifiConfirm(function() {\n\t\t\tlet dtask = plus.downloader.createDownload(a, b)\n\t\t\tplus.nativeUI.showWaiting()\n\t\t\tdtask.addEventListener(\"statechanged\", function(task, status) {\n\t\t\t\tswitch (task.state) {\n\t\t\t\t\tcase 1: // 开始\n\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_start)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 4: // 下载完成\n\t\t\t\t\t\tif (status == 200) {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_complete)\n\t\t\t\t\t\t\tplus.runtime.openFile(task.filename, {}, function(e) {\n\t\t\t\t\t\t\t\tplus.nativeUI.alert($.loc.download_cannotopen)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_fail + status)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplus.nativeUI.closeWaiting()\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t})\n\t\t\tdtask.start()\n\t\t})\n\t} else {\r\n\t\tlet link = document.createElement('a')\r\n //link.download = true\r\n link.href = a\r\n if ($.x.downloadTarget) {\r\n link.target = $.x.downloadTarget\r\n }\r\n link.click()\r\n link.remove()\n\t}\n}\r\n\r\n\n$.wifiConfirm = function(a, b) {\n\t$.x.wifiConfirm && plus.networkinfo.getCurrentType() != 3 ? plus.nativeUI.confirm($.loc.connection_not_wifi, function(e){e.index === 0 && a.call(b)}, {buttons:[$.loc.confirm, $.loc.cancel]}) : a.call(b)\n}\r\n\r\n$.vm = (a) => {\r\n if (!a) return $.docView\r\n if (typeof a === 'string') {\r\n if ($.vueMap.has(a)) {\r\n a = $.vueMap.get(a)\r\n if (a.isView) return a\r\n }\r\n }\r\n a = $(a)\r\n if (a == null) return\r\n return a.isView ? a : a.ownerView\r\n}\r\n\r\n$.dialog = (a) => {\r\n if (!a) return\r\n a = $.vm(a)\r\n while (a && !a.isDialog) a = a.ownerView\r\n return a\r\n}\r\n\r\n$.close = (a) => {\r\n let d = $.dialog(a)\r\n d && d.close()\r\n}\r\n\r\n$.closePopup = () => {\r\n document.dispatchEvent(new Event('mousedown'))\r\n}\r\n\r\n$.previewVideo = function(src) {\r\n $.vm().previewVideo($.urlServer(src))\n}\n\t// @img -> image array, options -> {current:i,loop:true,indicator: 'number'}\n$.previewImage = function(imgs, options) {\r\n imgs = $.array(imgs).map(v => $.urlServer(v))\n\tif (br.app) {\n\t\tplus.nativeUI.previewImage(imgs, options)\n\t} else {\r\n $.vm().previewImage(imgs, options)\n\t}\n}\r\n\r\n$.slotsChildren = function(slots, name = 'default') {\r\n let r = []\r\n const getChildren = (d) => {\r\n d && d.forEach(v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else\r\n r.push(v)\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n$.hasChild = function(slots, name = 'default') {\r\n let r = false\r\n const getChildren = (d) => {\r\n lodash.forEach(d, v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else {\r\n return !(r = true)\r\n }\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n// @fn(得到0-1的参数), ms -> milliseconds, count -> 帧数\r\n$.ease = function(fn, ms, count) {\n\tfn(0)\n\tif (ms == null)\n\t\tms = 200\n\tif (count == null)\n\t\tcount = Math.ceil(ms / 10)\n\tlet p = Math.ceil(ms / count)\n\tlet\tcr = 0\n\tlet d1 = new Date().getTime()\n\tlet it = setInterval(function() {\n\t\t\tlet d2 = new Date().getTime()\n\t\t\tlet ri = d2 - d1\n\t\t\tlet st = Math.floor(ri / p)\n\t\t\tif (cr != st) {\n\t\t\t\tif (st < count) {\n\t\t\t\t\tfn((- Math.cos((st / count) * Math.PI) / 2) + 0.5)\n\t\t\t\t} else {\n\t\t\t\t\tclearInterval(it)\n\t\t\t\t\tfn(1)\n\t\t\t\t}\n\t\t\t\tcr = st\n\t\t\t}\n\t\t}, Math.max(p - 10, 5))\n\treturn it\n},\r\n\r\n// @a -> widget|HTMLElement, y -> {print: T/F(是否打印), head: \"head标签\", input2text: T/F(把表单值转为文本)\n$.print = function(a, y) {\n\t\tlet d = a.el ? a.el() : (a.$el || a), w = d.ownerDocument, b = $.q('link[media=print]', w), c = [];\r\n y = y || {};\n\t\t$.q('meta', w).each(function() {c.push(this.outerHTML)});\n\t\t(b.length > 0 ? b : $.q('link', w)).each(function() {c.push('<link rel=\"stylesheet\" type=\"text/css\" href=\"' + this.getAttribute('href') + '\"/>');});\n\t\t$.q('style', w).each(function() {c.push(this.outerHTML)});\n\t\tlet s = d.outerHTML;\r\n\t\ts = s.replace(/<div[^>]+w-scroll[^>]+>/gi, function($0) {return $0.replace(/height: \\w+/gi, '');});\n\t\t$.q(':text,:password,textarea,select', d).each(function() {\n\t\t\tlet h = this.outerHTML, v, r;\r\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this), w = 'auto';\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\th = g.el('main').outerHTML;\n\t\t\t\t\tv = g.formText();\n\t\t\t\t} else\n\t\t\t\t\tv = this.value;\n\t\t\t\tv = '<div class=\"f-oh w-input-s\">' + v + '</div>';\n\t\t\t} else {\n\t\t\t\tv = h.replace('value=\"' + this.defaultValue + '\"', () => 'value=\"' + this.value + '\"');\n\t\t\t}\r\n\t\t\ts = s.replace(h, () => v + (r || ''));\n\t\t});\n\t\t$.q(':radio,:checkbox', d).each(function() {\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this);\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\ts = s.replace(g.el().outerHTML, () => g.isChecked ? '<div class=\"f-wdbr\">' + g.text + '</div>' : '');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet h = this.outerHTML, n = h.replace(/ checked=\"\"/, '');\n\t\t\t\tif (this.checked)\n\t\t\t\t\tn = n.replace(/>$/, ' checked>');\n\t\t\t\ts = s.replace(h, n);\n\t\t\t}\n\t\t});\n\t\tif (y.input2text) {\n\t\t\t$.q('input[type=hidden]', d).each(function() {\n\t\t\t\tvar g = $(this);\n\t\t\t\tif (g && g.isFormWidget && g.$options.name != 'w-hidden') {\n\t\t\t\t\ts = s.replace(g.el('main').outerHTML, () => '<div class=\"f-wdbr f-print-input-text\">' + g.formText() + '</div>');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t$.q('.w-input-placeholder', d).each(function() {\n\t\t\ts = s.replace(this.outerHTML, '');\n\t\t});\r\n const printf = function() {\r\n \tlet w = window.frames.wPrintFrame;\r\n \tif (!w) {\r\n \t\t$.q('<div class=f-none><iframe name=wPrintFrame></iframe></div>').appendTo(document.body);\r\n \t\tw = window.frames.wPrintFrame;\r\n \t}\r\n \treturn w;\r\n }\r\n w = y.print !== false ? printf() : window.open();\n\t\td = w.document;\n\t\td.open('text/html', 'replace');\n\t\td.write('<!doctype html><html class=f-print><head><meta charset=utf-8><title>' + $.loc.print_preview +\n\t\t\t'</title><style>.f-print .w-f-remark{height:auto;line-height:inherit}.f-print-input-text{line-height: var(--w-label-min-height);}.w-input{display: flex!important;}.w-input-s{word-break:normal;white-space:normal}.w-input-s:empty:before{content:\"\\xa0\"}</style><script>var $={e:function(){}}</script>' + c.join('') +\n\t\t\t(y.head || '') + '</head><body><div class=x-print>' + s + '</div>' +\n\t\t\t(y.print !== false ? '<script>window.print();window.close()</script>' : '') +\n\t\t\t'</body></html>');\n\t\td.close();\n\t\treturn d;\n\t}\n\r\n\r\nconst queryEncode = function(data, config) {\r\n if (!data || data instanceof FormData) return data\r\n let contentType = $.lodash.get(config, 'headers[\"Content-Type\"]') || $.lodash.get($.x, 'http.headers.post[\"Content-Type\"]')\r\n return contentType == 'application/x-www-form-urlencoded' ? Qs.stringify(data, {arrayFormat: 'repeat'}) : data\r\n}\r\n\r\n$.ajax = function(cmd, args) {\r\n let src = args ? $.urlFormat(cmd.src, args) : cmd.src\r\n if (!src) {\r\n return Promise.reject('$.ajax(): The first parameter must be an object, and the property(src) of the object is required.')\r\n }\r\n let ctx = cmd.context || $.docView\r\n let lock = ctx.ajaxLock\r\n let config = $.lodash.pick(cmd, ['headers', 'responseType'])\r\n if (cmd.download) {\r\n $.extend(config, {responseType: 'blob'})\r\n }\r\n lock && lock()\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return (cmd.data ? $.http.post(src, queryEncode(cmd.data, config), config) : $.http.get(src, config))\r\n .then(res => {\r\n lock && lock(false)\r\n let data = res.data\r\n if (cmd.filter) data = cmd.filter(res, ctx)\r\n if (cmd.success) cmd.success(data, ctx)\r\n if (cmd.complete) cmd.complete(res, ctx)\r\n cmd.loading && ctx.cmd({type: 'Loading', hide: true})\r\n if (cmd.download) {\r\n let disposition = res.headers['content-disposition']\r\n if (disposition) {\r\n let fileName = decodeURI(disposition.substring(disposition.indexOf('filename=') + 9, disposition.length))\r\n let blob = new Blob([res.data])\r\n let link = document.createElement('a')\r\n link.href = URL.createObjectURL(blob)\r\n link.download = fileName\r\n link.click()\r\n link.remove()\r\n } else {\r\n console.error('download: none content-disposition')\r\n }\r\n }\r\n return Promise.resolve(data)\r\n }).catch(ex => {\r\n lock && lock(false)\r\n if (cmd.error) cmd.error(ex, ctx)\r\n if (cmd.complete) cmd.complete(ex.response, ctx, ex)\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return Promise.reject(ex)\r\n })\r\n}\r\n\r\n$.extend($.ajax, {\r\n get(src, config) {\r\n return $.http.get(src, config).then(res => new Promise(resolve => resolve(res.data)))\r\n },\r\n post(src, data, config) {\r\n return $.http.post(src, queryEncode(data, config), config).then(res => new Promise(resolve => resolve(res.data)))\r\n }\r\n}, http)\r\n\r\n$.cmdHooks = {\r\n Submit(cmd, args) {\r\n let src = $.urlFormat(cmd.src, args)\r\n const vm = $.vm(this)\r\n const submit = () => new Promise(rsv => this.$nextTick(() => {\r\n let d = cmd.validate || false\r\n let f = vm.getFormList(d.range || cmd.range)\r\n let g = d.range && d.range != cmd.range ? vm.getFormList(cmd.range) : f\r\n if (vm.valid(f, d.group)) {\r\n cmd.context = cmd.context || this\r\n let post = vm.getPostData(g)\r\n cmd.data = cmd.data ? $.extend(cmd.data, post) : post\r\n $.ajax(cmd, args).then(data => rsv(data))\r\n }\r\n }))\r\n return submit()\r\n },\r\n Ajax(cmd, args) {\r\n cmd.context = cmd.context || this\r\n return $.ajax(cmd, args)\r\n },\r\n Dialog(cmd, args) {\r\n if (cmd.title) cmd.title = $.strFormat(cmd.title, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Alert(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Confirm(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Tip(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Menu(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Loading(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n}\r\n\r\n$.isCmd = function(a) {\r\n return a && a.type && $.cmdHooks[a.type]\r\n}\r\n\r\n$.alert = function(text, position, timeout, yes) {\r\n $.docView.cmd(typeof text === 'object' ? {type: 'Alert', title: '操作提示', ...text} : {\r\n type: 'Alert', title: '操作提示', text, position, timeout, yes\r\n })\r\n}\r\n\r\n$.confirm = function(text, yes, no, cover) {\r\n $.docView.cmd(typeof text === 'object' ? {type: 'Confirm', title: '操作提示', ...text} : {\r\n type: 'Confirm', title: '操作提示', text, yes, no, cover\r\n })\r\n}\r\n\r\n// $.directiveHooks = {\r\n// colspan(el, v, n) {\r\n// el.style.gridColumn = !v || v == -1 ? '' : `span ${v}`\r\n// },\r\n// rowspan(el, v, n) {\r\n// el.style.gridRow = !v || v == -1 ? '' : `span ${v}`\r\n// }\r\n// }\r\n\r\n$.config = function(opt) {\r\n $.config_uid = uid() //读取默认配置的地方有缓存,根据这个uid来判断是否刷新缓存\r\n $.mergeDeep($.x, opt)\r\n if (opt.http) {\r\n $.mergeDeep(http.defaults, opt.http)\r\n http.interceptors.response.use(\r\n opt.http.filter,\r\n opt.http.error || function(ex) {\r\n if (ex.response) {\r\n ex.callback = () => $.alert((ex.response.status) + ': ' + ex.config.url)\r\n }\r\n return Promise.reject(ex)\r\n }\r\n )\r\n }\r\n const _dfopt = $.x.defaultOptions\r\n const _dfcls = {}\r\n for (let k in _dfopt) {\r\n if (k.includes('.')) {\r\n let a = $.strFrom(k, '.').replace(/\\./g, ' ')\r\n let b = $.strTo(k, '.');\r\n ($.dfclsCache[b] || ($.dfclsCache[b] = {}))[a] = _dfopt[k]\r\n }\r\n }\r\n}\r\n\r\nwindow.addEventListener('unhandledrejection', (event) => {\r\n if ($.x.catchReject) {\r\n $.x.catchReject(event)\r\n } else {\r\n if (event.reason) {\r\n if (event.reason.callback)\r\n event.reason.callback()\r\n else if (typeof event.reason === 'string')\r\n console.error(event.reason)\r\n }\r\n event.preventDefault()\r\n }\r\n})\r\n\r\nexport default $\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ComboBox.vue?vue&type=style&index=0&id=0e4ab116&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import TemplateJigsaw from '../template/TemplateJigsaw.vue'\r\n\r\n\r\n const init_text = $.loc.form.jigsaw_drag_right\r\n\r\n export default {\r\n name: 'w-jigsaw',\r\n mixins: [FormBase],\r\n emits: ['drop', 'click:refresh'],\r\n props: ['big', 'small', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: init_text,\r\n locked: false,\r\n isSuccess: false,\r\n isError: false,\r\n dropper: null,\r\n }\r\n },\r\n methods: {\r\n success(text) {\r\n this.text = text\r\n this.locked = true\r\n this.isSuccess = true\r\n this.setThumbLeft()\r\n },\r\n error(text, timeout, fn) {\r\n if (!text) text = ''\r\n this.isError = true\r\n this.warn(true)\r\n this.setThumbLeft(0)\r\n if (timeout) {\r\n this.locked = true\r\n this.text = text + `(${timeout/1000})`\r\n let timer = setInterval(() => {\r\n timeout -= 1000\r\n this.text = text + `(${timeout/1000})`\r\n if (timeout <= 0) {\r\n clearInterval(timer)\r\n this.reset()\r\n fn && fn()\r\n }\r\n }, 1000)\r\n } else {\r\n fn && fn()\r\n }\r\n },\r\n reset() {\r\n this.locked = false\r\n this.isError = false\r\n this.isSuccess = false\r\n this.text = init_text\r\n this.setThumbLeft(0)\r\n },\r\n refresh(e) {\r\n e.runType = 'click:refresh'\r\n this.trigger(e)\r\n },\r\n setThumbLeft(left) {\r\n if (left == null) {\r\n left = $.number(this.$refs.thumb.style.left)\r\n } else {\r\n this.$refs.thumb.style.left = left + 'px'\r\n }\r\n let g = this.thumbWidth()\r\n let w = this.mainWidth()\r\n let hf = (left + (g / 2)) > (w / 2)\r\n this.$refs.text.style.left = hf ? 0 : (left + g) + 'px'\r\n this.$refs.text.style.right = hf ? (w - left) + 'px' : 0\r\n this.el().classList.remove('z-drag')\r\n $.close(this.dropper)\r\n },\r\n dragstart(e) {\r\n if (!this.isNormal || this.locked) return\r\n this.warn(false)\r\n let a = this.$refs.thumb\r\n let x = $.eventX(e)\r\n let m = this.max()\r\n let n = this.min()\r\n let f = $.number(a.style.left)\r\n let g = this.thumbWidth()\r\n let w = this.mainWidth()\r\n $.moveup((e) => {\r\n let c = $.eventX(e)\r\n let l = $.numRange(f + c - x, 0, w - g)\r\n a.style.left = l + 'px'\r\n this.$refs.track.style.width = (l + g) + 'px'\r\n this.x.modelValue = Math.floor(Math.floor((m - n) * l / (w - g)))\r\n this.el().classList.add('z-drag')\r\n }, (e, moved) => {\r\n if (moved) a.dispatchEvent(new Event('drop'))\r\n }, e)\r\n },\r\n mouseenter(e) {\r\n if (this.dropper || !this.x.big || this.isSuccess || this.locked) return\r\n this.warn(false)\r\n $.closePopup()\r\n let width = Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width)\r\n let height = Math.ceil(width * (this.x.big.height / this.x.big.width))\r\n this.dropper = this.cmd({\r\n type: 'Dialog',\r\n ownproperty: true,\r\n template: TemplateJigsaw,\r\n width,\r\n height,\r\n autoHide: true,\r\n hoverDrop: true,\r\n context: this,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v'\r\n },\r\n onClose: () => this.dropper = null\r\n })\r\n },\r\n drop(e) {\r\n this.trigger(e, this.x.modelValue)\r\n },\r\n max() {\r\n let v = this.x.maxValue\r\n return v == null ? 100 : v\r\n },\r\n min() {\r\n let v = this.x.minValue\r\n return v == null ? 0 : v\r\n },\r\n thumbWidth() {\r\n return $.bcr(this.$refs.thumb).width\r\n },\r\n mainWidth() {\r\n return $.bcr(this.$refs.main).width\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(), ,\r\n [\r\n h('div', {\r\n ref: 'track',\r\n class: 'w-jigsaw-track',\r\n }),\r\n h('div', {\r\n ref: 'text',\r\n class: 'w-jigsaw-text f-flex-center f-line-1',\r\n }, this.text),\r\n ]\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n ref: 'thumb',\r\n class: ['w-jigsaw-thumb w-input-bbr f-i', this.isSuccess ? 'f-i-check' :\r\n 'f-i-long-arrow-right'\r\n ],\r\n disabled: this.x.disabled,\r\n onmousedown: this.dragstart,\r\n ondrop: this.drop,\r\n })\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n if (!this.isSuccess) {\r\n return this.formErr({type: 'jigsaw_required'})\r\n }\r\n }\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-success': this.isSuccess,\r\n }\r\n },\r\n main_prop() {\r\n return {\r\n onmouseenter: this.mouseenter\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw>.w-input {\r\n position: relative;\r\n background: #f8f8f8;\r\n overflow: visible;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-jigsaw-thumb {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 30px;\r\n background: #fff;\r\n box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);\r\n }\r\n\r\n .w-jigsaw-thumb:hover,\r\n .w-jigsaw.z-drag .w-jigsaw-thumb {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw-text {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 30px;\r\n right: 0;\r\n color: #a9a9a9;\r\n }\r\n\r\n .w-jigsaw-track {\r\n display: none;\r\n position: absolute;\r\n left: -1px;\r\n top: -1px;\r\n bottom: -1px;\r\n background: #e5f3ff;\r\n border: 1px solid transparent;\r\n }\r\n\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-text {\r\n display: none;\r\n }\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-track {\r\n display: block;\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-track {\r\n display: block;\r\n background: #eaffe5;\r\n border-color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-thumb {\r\n background: #24c301;\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-text {\r\n color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-err .w-jigsaw-text {\r\n color: #f00;\r\n }\r\n</style>\r\n","import script from \"./Jigsaw.vue?vue&type=script&lang=js\"\nexport * from \"./Jigsaw.vue?vue&type=script&lang=js\"\n\nimport \"./Jigsaw.vue?vue&type=style&index=0&id=5f202dd8&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import CheckBoxGroup from './CheckBoxGroup.vue'\r\n\r\n export default {\r\n name: 'w-radiogroup',\r\n mixins: [CheckBoxGroup]\r\n }\r\n</script>\r\n","import script from \"./RadioGroup.vue?vue&type=script&lang=js\"\nexport * from \"./RadioGroup.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-vertical',\r\n mixins: [Horizontal],\r\n computed: {\r\n dir() {\r\n return 'v'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n","import script from \"./Vertical.vue?vue&type=script&lang=js\"\nexport * from \"./Vertical.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PickBox.vue?vue&type=style&index=0&id=35b69f8f&lang=css\"","import jquery from 'jquery'\r\n\r\nconst _adjacent_where = ['afterend', 'afterbegin', 'beforebegin', 'beforeend']\nconst _adjacent_query = ['after', 'prepend', 'before', 'append']\r\n// 创建一个div /@ s -> html\nconst _div = function(s) {\n\tlet o = document.createElement('div')\n\tif (s) o.innerHTML = s\n\ttry {return o} catch(e) {return false}\n\tfinally {o = null}\n}\r\nconst frag = function(s) {\n\tlet d = typeof s === 'string' ? _div(s) : s\r\n let f = document.createDocumentFragment()\n\twhile (d.firstChild)\n\t\tf.appendChild(d.firstChild);\n\ttry {return f} catch(e) {return false}\n\tfinally {d = f = null}\n}\r\n\r\nconst el = function(o) {\r\n if (o) {\r\n return o.isWidget ? o.el() : o\r\n }\r\n}\n// o -> el, s -> html string/object, r -> where[`after`, `prepend`, `before`, `append`]\nconst html = function(o, s, r) {\n\tif (r == null) {\n\t\tif (s == null) return o.innerHTML\n\t\ttry {o.innerHTML = s} catch(ex) {\n\t\t\twhile (o.firstChild)\n\t\t\t\to.removeChild(o.firstChild)\n\t\t\thtml(o, s, 3)\n\t\t}\n\t} else {\n\t\tlet b\n\t\tif (typeof s === 'string') {\n\t\t\ttry {\n\t\t\t\to.nodeType === 3 ? jquery(o)[_adjacent_query[r]](s) : o.insertAdjacentHTML(_adjacent_where[r], s)\n\t\t\t} catch (ex) {\n\t\t\t\thtml(o, frag(s), r)\n\t\t\t}\n\t\t} else {\n\t\t\tlet p = r % 2 ? o : o.parentNode\n\t\t\tp && p.insertBefore(s, r === 0 ? o.nextSibling : r === 1 ? o.firstChild : r === 2 ? o : null)\n\t}\n\t}\n}\nconst append = function(o, s) {html(o, s, 3); return o.lastElementChild || o.lastChild}\nconst prepend = function(o, s) {html(o, s, 1); return o.firstElementChild || o.firstChild}\nconst before = function(o, s) {html(o, s, 2); return o.previousElementSibling || o.previousSibling}\nconst after = function(o, s) {html(o, s, 0); return o.nextElementSibling || o.nextSibling}\nconst replaceWith = function(o, s) {\n\tlet a = o.nextSibling\n\tif (a) {\n\t\to.parentNode.removeChild(o)\n\t\treturn before(a, s)\n\t} else {\n\t\tlet p = o.parentNode\n\t\tp.removeChild(o)\n\t\treturn append(p, s)\n\t}\n}\r\n\r\nexport {el, html, append, prepend, before, after, replaceWith}","<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-swiper-item',\r\n pubParentName: 'w-swiper',\r\n inject: ['providePubParent'],\r\n mixins: [WidgetBase],\r\n props: ['lazy'],\r\n data() {\r\n return {\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n lazy: true\r\n }\r\n },\r\n html_slots() {\r\n if (this.loaded || !this.lazy) {\r\n return this.$slots\r\n }\r\n if (this.isCurrent) {\r\n this.loaded = true\r\n return this.$slots\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return {'z-on': this.isCurrent}\r\n },\r\n isCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./SwiperItem.vue?vue&type=script&lang=js\"\nexport * from \"./SwiperItem.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import WidgetAbs from './WidgetAbs.vue'\r\n \r\n export default {\r\n mixins: [WidgetAbs],\r\n inject: ['provideView']\r\n }\n</script>\n\n","import script from \"./WidgetBase.vue?vue&type=script&lang=js\"\nexport * from \"./WidgetBase.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-progress',\r\n mixins: [WidgetBase],\r\n props: ['percent', 'range', 'text'],\r\n methods: {\r\n html_slots() {\r\n let w = $.number(this.x.percent)\r\n return [\r\n this.x.text && h('span', {\r\n class: 'w-progress-text'\r\n }, this.x.text),\r\n h('div', {\r\n class: 'w-progress-gut',\r\n style: {\r\n width: `${w}%`\r\n }\r\n }, h('div', {\r\n class: 'w-progress-bar f-flex f-flex-center',\r\n style: {\r\n width: `${w==0?w:(100*100/w)}%`\r\n }\r\n }, this.x.text && h('span', {\r\n class: 'w-progress-text'\r\n }, this.x.text)))\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n if (this.x.range) {\r\n let a = this.x.range.split(',')\r\n for (let i = a.length - 1; i >= 0; i--) {\r\n if ($.number(this.x.percent) >= $.number(a[i])) return 'z-' + a[i]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-progress {\r\n display: flex;\r\n position: relative;\r\n height: 18px;\r\n border-radius: 20px;\r\n background: #e6e6e6;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: hidden;\r\n font-size: 12px;\r\n line-height: 1;\r\n }\r\n\r\n .w-progress-gut {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n overflow: hidden;\r\n transition: width, background .1s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-progress-bar {\r\n color: #fff;\r\n height: 100%;\r\n }\r\n</style>\r\n","import script from \"./Progress.vue?vue&type=script&lang=js\"\nexport * from \"./Progress.vue?vue&type=script&lang=js\"\n\nimport \"./Progress.vue?vue&type=style&index=0&id=18056e88&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-switch',\r\n pubParentName: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['checkedText', 'uncheckedText', 'checkedValue', 'uncheckedValue'],\r\n inject: ['providePubParent'],\r\n methods: {\r\n onclick(e) {\r\n let c = !this.isChecked\r\n let v = c ? this.x.checkedValue : this.x.uncheckedValue\r\n this.val(v)\r\n },\r\n formText() {\r\n return this.isChecked ? this.x.checkedText : this.x.uncheckedText\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-switch-box',\r\n onclick: this.isNormal && this.onclick\r\n }, [\r\n h('i', {\r\n class: 'w-switch-icon'\r\n }),\r\n h('span', {\r\n class: 'w-switch-text'\r\n }, this.isChecked ? this.x.checkedText : this.x.uncheckedText),\r\n ])\r\n ]\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n return this.isChecked ? this.x.checkedValue : this.x.uncheckedValue\r\n },\r\n html_class() {\r\n return this.isChecked ? 'z-checked' : 'z-unchecked'\r\n },\r\n isChecked() {\r\n return this.x.modelValue == this.x.checkedValue\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-switch>.w-input {\r\n flex: none;\r\n display: inline-flex;\r\n }\r\n\r\n .w-switch-box {\r\n flex: 1;\r\n position: relative;\r\n height: 22px;\r\n background: #c0c0c0;\r\n background: rgba(0, 0, 0, 0.25);\r\n border: 1px solid #c1caca;\r\n border-radius: 20px;\r\n color: #fff;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-appearance: none;\r\n }\r\n\r\n .w-switch-icon {\r\n position: absolute;\r\n top: 1px;\r\n left: 1px;\r\n background: #fff;\r\n padding: 10px;\r\n border-radius: 20px;\r\n box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);\r\n transition: all .15s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-switch-text {\r\n float: right;\r\n min-width: 2px;\r\n margin-left: 26px;\r\n margin-right: 8px;\r\n line-height: 22px;\r\n font-style: normal;\r\n min-width: 10px;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-box {\r\n background: #1890ff;\r\n border-color: #1890ff\r\n }\r\n\r\n .w-switch.z-checked .w-switch-icon {\r\n left: 100%;\r\n border-color: #1890ff;\r\n transform: translateX(calc(-100% - 1px));\r\n }\r\n\r\n .w-switch.z-checked .w-switch-text {\r\n float: left;\r\n margin-left: 8px;\r\n margin-right: 26px;\r\n }\r\n\r\n .w-switch.z-ds .w-switch-box {\r\n background: #e6e6e6;\r\n border-color: #e6e6e6;\r\n cursor: default\r\n }\r\n\r\n .w-switch.z-ds .w-switch-icon {\r\n border-color: #e6e6e6\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-box {\r\n background: #a2d2ff;\r\n border-color: #a2d2ff\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-icon {\r\n border-color: #a2d2ff\r\n }\r\n</style>\n","import script from \"./Switch.vue?vue&type=script&lang=js\"\nexport * from \"./Switch.vue?vue&type=script&lang=js\"\n\nimport \"./Switch.vue?vue&type=style&index=0&id=a7ad2c26&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tree.vue?vue&type=style&index=0&id=53bcfba2&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-img',\r\n pubParentName: 'w-album',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['src', 'text', 'square', 'imgWidth', 'imgHeight', 'dataUrl', 'vertical', 'disabled'],\r\n data() {\r\n return {\r\n hover: false\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n vertical: true,\r\n }\r\n },\r\n onerror(e) {\r\n if (this.dataUrl) e.target.src = this.dataUrl\r\n },\r\n html_slots() {\r\n let src = this.x.src\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n let svg = src && src.startsWith('#')\r\n let cont = this.$slots.default || (this.x.text ? {\r\n default: () => this.x.text\r\n } : null)\r\n src = src || this.dataUrl\r\n return [\r\n src && h('div', {\r\n class: 'w-img-gut',\r\n }, [font ? h('i', {\r\n class: 'w-img-icon ' + src.replace(/\\./g, '')\r\n }) :\r\n svg ? h('svg', {\r\n class: 'f-svg ' + src.slice(1)\r\n }, h('use', {\r\n 'xlink:href': src,\r\n })) :\r\n h('img', {\r\n ref: 'img',\r\n src: src,\r\n class: 'w-img-icon',\r\n onerror: this.onerror,\r\n }),\r\n this.$slots.cover && h('div', {\r\n class: 'w-img-cover f-abs-full'\r\n }, this.$slots.cover())\r\n ]),\r\n cont && h(Vertical, {\r\n class: 'w-img-description'\r\n }, cont)\r\n ]\r\n }\r\n },\r\n computed: {\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let w = $.unitSize(this.x.imgWidth ? this.x.imgWidth : this.x.width)\r\n let h = $.unitSize(this.x.imgHeight ? this.x.imgHeight : this.x.height)\r\n return {\r\n class: {\r\n 'z-hv': this.hover,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-square': this.x.square,\r\n 'z-canplay': this.x.canPlay,\r\n 'z-vertical': this.x.vertical,\r\n [`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap,\r\n },\r\n style: {\r\n '--w-img-icon-width': w,\r\n '--w-img-icon-height': h,\r\n },\r\n onmouseenter: e => !this.x.disabled && (this.hover = true),\r\n onmouseleave: e => !this.x.disabled && (this.hover = false)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-img {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-img.z-vertical {\r\n flex-direction: column;\r\n --w-compat-gap: 7px;\r\n }\r\n\r\n .w-img-gut {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-img-gut img {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--w-img-icon-width, 100%);\r\n height: var(--w-img-icon-height);\r\n }\r\n \r\n .w-img .f-svg {\r\n width: var(--w-img-icon-width, 18px);\r\n height: var(--w-img-icon-height, 18px) ;\r\n }\r\n\r\n .w-img.z-square .w-img-gut {\r\n position: relative;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-icon {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-img-icon {\r\n display: block;\r\n object-fit: cover;\r\n line-height: 1;\r\n }\r\n\r\n .w-img-cover {}\r\n\r\n .w-img-description {}\r\n\r\n .w-img.z-vertical>.w-img-description {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n</style>\n","import script from \"./Img.vue?vue&type=script&lang=js\"\nexport * from \"./Img.vue?vue&type=script&lang=js\"\n\nimport \"./Img.vue?vue&type=style&index=0&id=4b5feea2&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-grid',\r\n mixins: [Scroll],\r\n props: ['columns', 'rows', 'gap', 'defaultColspan', 'face'],\r\n methods: {\r\n x_default() {\r\n return {\r\n columns: 12,\r\n gap: 0,\r\n }\r\n },\r\n html_slots() {\r\n return this.x.scrollX || this.x.scrollY ? this.html_scroll_slots() : h('div', {\r\n class: 'w-grid-cont',\r\n style: this.html_scroll_cont_style,\r\n }, this.$slots)\r\n },\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: [this.x.rows ? 'z-full' : 'z-auto', this.x.face && 'z-face-' + this.x.face, this.html_scroll_class],\r\n }\r\n },\r\n html_scroll_cont_style() {\r\n let cols = this.x.columns\r\n if ($.isNumber(cols)) cols = `repeat(${cols}, 1fr)`\r\n let rows = this.x.rows\r\n if ($.isNumber(rows)) rows = `repeat(${rows}, 1fr)`\r\n let dc = this.x.defaultColspan\r\n return {\r\n 'grid-template-columns': cols,\r\n 'grid-template-rows': rows,\r\n 'grid-gap': this.x.gap ? $.unitSize(this.x.gap) : '',\r\n '--w-grid-colspan': (dc == -1 || dc == null ? '' : `span ${dc}`),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-grid {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont {\r\n display: grid;\r\n grid-auto-flow: row;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont>*,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont>* {\r\n grid-column: var(--w-grid-colspan, 1 / -1);\r\n grid-row: var(--w-grid-rowspan);\r\n }\r\n\r\n .w-grid.z-full>.w-grid-cont {\r\n height: 100%;\r\n }\r\n\r\n .w-grid.w-scroll.z-auto>.w-scroll-overflow>.w-scroll-cont {\r\n min-height: auto;\r\n }\r\n\r\n .w-grid.z-face-cell {\r\n border-top: 1px solid var(--w-grid-cell-border-color);\r\n border-left: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-formbase {\r\n align-items: stretch;\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n border-bottom: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n \r\n .w-grid.z-face-cell .w-td > .w-formbase {\r\n border-right: 0;\r\n border-bottom: 0;\r\n }\r\n\r\n .w-grid.z-face-cell .w-label {\r\n background: var(--w-grid-cell-label-background-color);\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-input-border,\r\n .w-grid.z-face-cell .w-input .w-formbase {\r\n border: 0;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload {\r\n align-items: stretch;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload>.w-input {\r\n padding: 10px;\r\n justify-content: center;\r\n }\r\n\r\n .w-grid.z-face-cell .w-imageupload>.w-input,\r\n .w-grid.z-face-cell .w-mediaupload>.w-input {\r\n padding: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-form>.w-input,\r\n .w-grid.z-face-cell .w-switch>.w-input,\r\n .w-grid.z-face-cell .w-radiogroup>.w-input,\r\n .w-grid.z-face-cell .w-checkboxgroup>.w-input {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-boxgroup-grid {\r\n padding: 10px 0;\r\n }\r\n \r\n .w-grid.z-face-cell .w-combobox-list {\r\n padding-left: 5px;\r\n }\r\n</style>\r\n","import script from \"./Grid.vue?vue&type=script&lang=js\"\nexport * from \"./Grid.vue?vue&type=script&lang=js\"\n\nimport \"./Grid.vue?vue&type=style&index=0&id=5e2b9c3a&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FileUpload from './FileUpload.vue'\r\n import MediaUploadItem from './MediaUploadItem.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-mediaupload',\r\n mixins: [FileUpload],\r\n props: ['thumbnailWidth', 'thumbnailHeight', 'showFileName'],\r\n provide() {\r\n return {\r\n provideUpload: this\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n fileTypes: 'video',\r\n //valign: 'top',\r\n thumbnailWidth: 80,\r\n thumbnailHeight: 80,\r\n }\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n return h(MediaUploadItem, {item})\r\n })\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n ref: 'uploadbutton',\r\n title: $.loc.form.choose_image,\r\n icon: '.f-i .f-i-plus',\r\n class: 'w-mediaupload-button',\r\n style: {\r\n width: $.unitSize(this.x.thumbnailWidth),\r\n height: $.unitSize(this.x.thumbnailHeight)\r\n },\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(h('div', {\r\n class: ['w-mediaupload-list f-flex', {'f-h-gap': $.br.compat.gap}]\r\n }, [this.html_list(), this.canUpload && this.html_input_button()]))\r\n },\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-label-min-height': $.unitSize(this.x.thumbnailHeight),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload.z-h-valign-top,\r\n .w-mediaupload.z-h-valign-top>.w-input {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-mediaupload.z-h-valign-bottom,\r\n .w-mediaupload.z-h-valign-bottom>.w-input {\r\n align-items: flex-end;\r\n }\r\n\r\n .w-mediaupload.z-h-align-center>.w-input {\r\n justify-content: center;\r\n }\r\n\r\n .w-mediaupload.z-h-align-right>.w-input {\r\n justify-content: flex-end;\r\n }\r\n\r\n .w-mediaupload>.w-input {\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-mediaupload-list {\r\n align-items: flex-start;\r\n flex-wrap: wrap;\r\n --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-mediaupload-value,\r\n .w-mediaupload-button {\r\n position: relative;\r\n }\r\n\r\n .w-mediaupload-button {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-mediaupload-value.z-loading .w-mediaupload-progress:before,\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n background: rgba(0, 0, 0, .2);\r\n }\r\n\r\n .w-mediaupload-button .w-button-icon {\r\n font-size: 36px;\r\n color: #bbb;\r\n }\r\n\r\n .w-mediaupload-value:hover .w-mediaupload-value-close {\r\n visibility: visible;\r\n }\r\n\r\n .w-mediaupload-value-close {\r\n position: absolute;\r\n visibility: hidden;\r\n cursor: pointer;\r\n top: 1px;\r\n right: 1px;\r\n width: 24px;\r\n height: 24px;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .6);\r\n }\r\n\r\n .w-mediaupload-value-close:hover {\r\n color: #f33;\r\n }\r\n\r\n .w-mediaupload-value .w-img-gut {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value.z-err {\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress-loading {\r\n display: none;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before {\r\n content: '上传失败';\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .5);\r\n }\r\n\r\n .w-mediaupload-cover-play {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 30px;\r\n background: rgba(0, 0, 0, .5);\r\n color: #fff;\r\n }\r\n\r\n .w-mediaupload-cover-play:before {\r\n transform: translateX(2px);\r\n }\r\n\r\n .w-mediaupload.z-err .w-mediaupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\n","import script from \"./MediaUpload.vue?vue&type=script&lang=js\"\nexport * from \"./MediaUpload.vue?vue&type=script&lang=js\"\n\nimport \"./MediaUpload.vue?vue&type=style&index=0&id=5df6accd&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import Dialog from './Dialog.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-loading',\r\n mixins: [Dialog],\r\n props: ['text', 'icon'],\r\n methods: {\r\n x_default() {\r\n return {\r\n //local: true,\r\n }\r\n },\r\n html_slots() {\r\n return h(Img, {\r\n src: this.x.icon !== undefined ? this.x.icon : '#f-svg-loading',\r\n text: this.x.text !== undefined ? this.x.text : $.loc.loading\r\n })\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-dialog'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-loading {\r\n padding: 10px;\r\n border-radius: 10px;\r\n background: rgba(0, 0, 0, .6);\r\n color: #fff;\r\n box-shadow: none;\r\n }\r\n\r\n .w-loading .f-svg {\r\n width: 30px;\r\n height: 30px;\r\n fill: #fff;\r\n }\r\n .w-loading .f-svg>use {\r\n stroke: #fff;\r\n }\r\n</style>\n","import script from \"./Loading.vue?vue&type=script&lang=js\"\nexport * from \"./Loading.vue?vue&type=script&lang=js\"\n\nimport \"./Loading.vue?vue&type=style&index=0&id=35a83c14&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['modelValue', 'required', 'vertical', 'gap', 'minSize', 'maxSize'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n methods: {\r\n html_form() {\r\n return this.x.vertical ? h('div', {class: 'w-boxgroup-grid'}, this.$slots) : this.$slots\r\n },\r\n },\r\n computed: {\r\n html_style() {\r\n return this.x.gap && {\r\n '--w-boxgroup-gap': $.unitSize(this.x.gap)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./CheckBoxGroup.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBoxGroup.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Text from './Text.vue'\r\n\r\n export default {\r\n name: 'w-spinner',\r\n mixins: [Text],\r\n inject: ['provideRangeParent'],\r\n props: ['decimal', 'format', 'showButton', 'step', 'autoFix', 'compare', 'minValue', 'maxValue'],\r\n mounted() {\r\n this.x.format && this.doFormat()\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n step: 1,\r\n autoFix: true,\r\n showButton: true,\r\n inputWidth: (this.provideRangeParent && this.provideRangeParent.x.inputWidth) || 140\r\n }\r\n },\r\n doFormat() {\r\n let v = '' + this.x.modelValue\r\n let s = this.x.format.separator || ','\r\n let r = RegExp(s.replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&'), 'g')\r\n let t = $.numFormat(v, this.x.format.length, s, this.x.format.rightward)\r\n if (v !== t) {\r\n let n = this.$refs.v.selectionStart\r\n let b = v.slice(0, n).replace(r, '')\r\n this.val(t)\r\n if (document.activeElement === this.$refs.v) {\r\n let a = t.slice(0, n).replace(r, '')\r\n this.$nextTick(() => $.rngCursor(this.$refs.v, n + (b.length - a.length)))\r\n }\r\n }\r\n },\r\n stepBy(a) {\r\n if (!this.isNormal) return\r\n let m = this.defaultRuleValue('maxValue')\r\n let n = this.defaultRuleValue('minValue')\r\n let u = this.val()\r\n let v = $.numAdd($.number(u), a * this.x.step)\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n let r = v\r\n m != null && (r = Math.min(m, r))\r\n n != null && (r = Math.max(n, r))\r\n if (p) {\r\n if (p[0] == this) {\r\n let endValue = p[1].val()\r\n if (endValue != null) r = Math.min(endValue, r)\r\n } else if (p[1] == this) {\r\n let beginValue = p[0].val()\r\n if (beginValue != null) r = Math.max(beginValue, r)\r\n }\r\n }\r\n this.warn(false)\r\n this.focus()\r\n this.val(r)\r\n if (r == v) {\r\n if (this.tip_uid) {\r\n $.close(this.tip_uid)\r\n this.tip_uid = null\r\n }\r\n }\r\n this.x.format && this.doFormat()\r\n },\r\n isUsableVal(v) {\r\n return !this.getValidError(null, v)\r\n },\r\n isFocusTarget(el) { // implement\r\n return this.$refs.btns && this.$refs.btns.contains(el)\r\n },\r\n getCompareError(v, r) {\r\n if (v && r && r.target && this.ownerView) {\r\n let m = r.mode || '<='\r\n let t = r.target.isWidget ? r.target : this.ownerView.f(r.target)\r\n let tv = t.formVal()\r\n if (v && tv && $.isNumber(v) && $.isNumber(tv)) {\r\n let d = $.number(v)\r\n let td = $.number(tv)\r\n if(!$.eval('d' + m + 'td', {d, td}))\r\n return [this.getLabelText(), m, t.getLabelText()]\r\n }\r\n }\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n this.x.format && this.doFormat()\r\n },\r\n onfocus(e) {\r\n this.baseFocus(e)\r\n },\r\n onblur(e) {\r\n let v = this.x.modelValue\r\n if (v && !this.isUsableVal(v) && this.x.autoFix) {\r\n let nv = $.numDecimal(v, this.x.decimal)\r\n nv = $.numRange(nv, this.x.minValue, this.x.maxValue)\r\n this.val(nv)\r\n }\r\n this.baseBlur(e)\r\n },\r\n html_button() {\r\n return this.x.showButton && h('div', {\r\n class: 'w-spinner-step w-input-bbr f-flex-column f-oh',\r\n ref: 'btns'\r\n }, [\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-up\"></i>'\r\n }),\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(-1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-down\"></i>'\r\n }),\r\n ])\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minValue: (v, r, q) => {\r\n if (v && r != null && r !== '' && ($.isNumber(r) ? ($.number(v) < $.number(r)) : (v < r)))\r\n return this.formErr(q, [r])\r\n },\r\n maxValue: (v, r, q) => {\r\n if (v && r != null && r !== '' && ($.isNumber(r) ? ($.number(v) > $.number(r)) : (v > r)))\r\n return this.formErr(q, [r])\r\n },\r\n compare: (v, r, q) => {\r\n let e = this.getCompareError(v, r)\r\n if (e) return this.formErr(q, e)\r\n },\r\n validateDefault: (v) => {\r\n this.x.format && (v = v.replace(RegExp(this.x.format.separator || ',', 'g'), ''))\r\n if (v != null) {\r\n if (!$.isNumber(v))\r\n return this.formErr({type: 'number_invalid'})\r\n let d = this.x.decimal\r\n v = '' + v\r\n if (!d && v.includes('.'))\r\n return this.formErr({type: 'number_integer'})\r\n if (d && d > 0 && $.strFrom(v, '.').length > d)\r\n return this.formErr({type: 'number_decimal_digit'}, [d])\r\n let e = this.provideRangeParent && this.provideRangeParent.getRangeError()\r\n if (e) return this.formErr({type: 'compare'}, e)\r\n }\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return {\r\n 'w-valuetype': 'number',\r\n oninput: this.oninput,\r\n onfocus: this.onfocus,\r\n onblur: this.onblur,\r\n }\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-spinner-step-btn {\r\n height: 15px;\r\n overflow: hidden;\r\n cursor: pointer;\r\n }\r\n</style>\n","import script from \"./Spinner.vue?vue&type=script&lang=js\"\nexport * from \"./Spinner.vue?vue&type=script&lang=js\"\n\nimport \"./Spinner.vue?vue&type=style&index=0&id=c558dc86&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import CheckBox from './CheckBox.vue'\r\n\r\n export default {\r\n name: 'w-triplebox',\r\n mixins: [CheckBox],\r\n props: ['all'],\r\n created() {\r\n this.$watch(() => this.x.modelValue, (v, ov) => {\r\n if ((v == null || v == '') && (ov == null || ov == '')) return\r\n this.provideBoxParent && this.provideBoxParent.triple()\r\n if (!this.x.all) this.relate()\r\n })\r\n },\r\n methods: {\r\n getVal() {\r\n let s = this.checkstate()\r\n return s == 1 || (this.x.partialSubmit && s == 2) ? this.value : ''\r\n },\r\n formVal() {\r\n if (this.isDisabled) return ''\r\n let s = this.checkstate()\r\n return s == 1 || (this.x.partialSubmit && s == 2) ? this.$refs.v.value : ''\r\n },\r\n onchange(e) {\r\n this.onbasechange(e)\r\n this.relate()\r\n },\r\n checkstate(a) {\r\n let b = this.indeterminate ? 2 : this.isChecked ? 1 : 0\r\n if (a == null) {\r\n return b\r\n }\r\n this.val(a == 1)\r\n this.indeterminate = a == 2\r\n },\r\n isPartial() {\r\n return this.checkstate() == 2\r\n },\r\n getRelates() {\r\n return this.ownerView.fAll(this.x.name)\r\n },\r\n relate() {\r\n if (this.x.name) {\r\n for (var i = 0, b = this.getRelates(), c = this.isPartial(), l = b.length, n = l, c0 = 0, c1 = 0, c2 = 0,\r\n d; i < l; i++) {\r\n if (!b[i].isNormal) {\r\n n--\r\n continue\r\n }\r\n if (this.x.all) {\r\n if (this != b[i]) {\r\n if (c) {\r\n this.checkstate(b[i].checkstate())\r\n break;\r\n } else {\r\n b[i].checkstate(this.isChecked ? 1 : 0)\r\n }\r\n } else if (l == 1)\r\n d = this\r\n } else if (b[i].x.all) {\r\n d = b[i]\r\n } else {\r\n b[i].isChecked ? (c1++) : b[i].isPartial() ? (c2++) : (c0++)\r\n }\r\n }\r\n if (d && ((c0 + c1 + c2) || l == 1)) {\r\n d.checkstate(c0 == n - 1 ? 0 : c1 == n - 1 ? 1 : 2)\r\n }\r\n }\r\n },\r\n check(a) {\r\n if (!this.isNormal) return\r\n let s = this.checkstate()\r\n if (s != a) {\r\n this.checkstate(a)\r\n this.relate()\r\n }\r\n },\r\n },\r\n computed: {\r\n checkValue() {\r\n return this.x.all ? 'checked' : this.x.value\r\n }\r\n },\r\n mounted() {\r\n //if (!this.x.all && this.isChecked)\r\n }\r\n\r\n }\r\n</script>\n","import script from \"./TripleBox.vue?vue&type=script&lang=js\"\nexport * from \"./TripleBox.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import CheckBox from './CheckBox.vue'\r\n\r\n export default {\r\n name: 'w-radio',\r\n pubParentName: 'w-radiogroup',\r\n mixins: [CheckBox],\r\n methods: {\r\n\r\n },\r\n computed: {\r\n input_type() {\r\n return 'radio'\r\n },\r\n input_icon() {\r\n return 'f-i'\r\n },\r\n input_name() {\r\n return this.w_name && (this.w_name + '@' + this.ownerView.uid)\r\n },\r\n w_name() {\r\n return this.x.name || (this.pubParent && this.pubParent.x.name)\r\n },\r\n input_prop() {\r\n return {'w-name': this.w_name}\r\n }\r\n },\r\n mounted() {\r\n\r\n\r\n }\r\n }\r\n</script>\n","import script from \"./Radio.vue?vue&type=script&lang=js\"\nexport * from \"./Radio.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Html.vue?vue&type=style&index=0&id=612320da&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-text',\r\n mixins: [FormBase],\r\n props: ['minLength', 'maxLength', 'pattern'],\r\n data() {\r\n return {\r\n hasBorder: true\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minLength: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && $.strLen(v) < r)\r\n return this.formErr(q, [r])\r\n },\r\n maxLength: (v, r, q) => {\r\n let d\r\n if (v && r != null && r !== '' && r > 0 && v && (d = $.strLen(v)) > r)\r\n return this.formErr(q, [d - r])\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Text.vue?vue&type=script&lang=js\"\nexport * from \"./Text.vue?vue&type=script&lang=js\"\n\nexport default script","// 实现指令 v-form-ignore=\"true\"\r\n// 不提交不验证当前范围内的表单\r\n\r\nfunction formIgnore(el, bind) {\r\n bind.value ? el.setAttribute('w-form-ignore', '') : el.removeAttribute('w-form-ignore')\r\n}\r\n\r\nexport default {\r\n created: formIgnore,\r\n updated: formIgnore,\r\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Calendar.vue?vue&type=style&index=0&id=7eea1be2&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tabs.vue?vue&type=style&index=0&id=554c0a38&lang=css\"","<template>\r\n <w-dialog class=\"f-dialog-preview\" width=\"calc(100% - 100px)\" height=\"calc(100% - 100px)\" :ownproperty=\"true\" :cover=\"true\" :autoHide=\"true\">\r\n <template v-if=\"data.type=='image'\">\r\n <w-swiper ref=\"swiper\" class=\"f-height\" :current=\"current\" :arrow=\"data.imgs.length > 1\" :indicator-dots=\"data.imgs.length > 1\" duration=\"300\">\r\n <w-swiper-item v-for=\"(item,index) in data.imgs\" :key=\"index\">\r\n <div class=\"f-height f-rel f-oh\">\r\n <img class=\"_img\" :src=\"item\" />\r\n </div>\r\n </w-swiper-item>\r\n </w-swiper>\r\n <div class=_rotate>\r\n <a class=_l @click=\"rot(-1)\">{{loc.rotate_left}}</a>\r\n <span class=_s>|</span>\r\n <a class=_r @click=\"rot(1)\">{{loc.rotate_right}}</a>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <w-video class=\"f-height\" :src=\"data.src\"></w-video>\r\n </template>\r\n <div class=\"_dlg_x\" @click=\"close\"></div>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n return {\r\n rotate: 0,\r\n current: $.lodash.get(this.data, 'options.current', 0),\r\n }\r\n },\r\n methods: {\r\n close() {\r\n $.close(this)\r\n },\r\n rot(a) {\r\n let r = this.rotate\r\n let b = $.bcr(this.$refs.swiper.el())\r\n let w = b.width - 40\r\n let h = b.height - 80\r\n if (a > 0) {\r\n r += 90\r\n } else if (a < 0) {\r\n r -= 90\r\n }\r\n let t = (r / 90) % 2\r\n $.q('.w-swiper-item.z-on ._img', this.$refs.swiper.el()).css({\r\n transform: 'rotate(' + r + 'deg)',\r\n maxWidth: t ? h : w,\r\n maxHeight: t ? w : h,\r\n });\r\n this.rotate = r\r\n }\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n },\r\n mounted() {\r\n \r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplatePreviewMedia.vue?vue&type=template&id=43a1c69b\"\nimport script from \"./TemplatePreviewMedia.vue?vue&type=script&lang=js\"\nexport * from \"./TemplatePreviewMedia.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TemplateJigsaw.vue?vue&type=style&index=0&id=2c16ab31&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-dropbox',\r\n mixins: [FormBase],\r\n provide() {\r\n return {\r\n provideOptionParent: this,\r\n }\r\n },\r\n props: ['multiple', 'cancelable', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n dropper: null,\r\n showDrop: false,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n click() {\r\n if (this.$slots.default) {\r\n this.showDrop = !this.showDrop\r\n this.warn(false)\r\n }\r\n },\r\n clickOption(opt) {\r\n if (this.x.multiple) {\r\n let cv = $.array(this.val(), true)\r\n if (opt.isFocus) $.lodash.pull(cv, opt.value)\r\n else cv.push(opt.value)\r\n this.val(cv)\r\n } else {\r\n let cv = this.x.cancelable && opt.isFocus ? '' : opt.value\r\n this.val(cv)\r\n this.showDrop = false\r\n }\r\n },\r\n formText() {\r\n return this.input_text\r\n },\r\n html_input() {\r\n let t = this.input_text\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-dropbox-text f-line-1',\r\n title: t || p,\r\n }, t || (p && h('div', {class: 'w-input-placeholder'}, p))),\r\n this.showDrop && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n scrollView: '.z-on',\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n onClose: () => this.showDrop = false\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n })\r\n }\r\n },\r\n computed: {\r\n input_text() {\r\n let r = []\r\n let s = this.slots_children()\r\n let m = $.array(this.x.modelValue)\r\n $.lodash.each(m, v => {\r\n let i = s.findIndex(n => n.props.value == v)\r\n if (i > -1) r.push(i)\r\n if (!this.x.multiple) return false\r\n })\r\n return r.sort().map(v => s[v].props.text).join(', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.click\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./DropBox.vue?vue&type=script&lang=js\"\nexport * from \"./DropBox.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-table',\r\n mixins: [WidgetBase],\r\n props: ['face', 'scroll-x', 'scroll-y'],\r\n provide() {\r\n return {\r\n table: this,\r\n provideLevel: -1,\r\n provideParentTR: null,\r\n }\r\n },\r\n data() {\r\n return {\r\n sticky: {left: null, right: null},\r\n }\r\n },\r\n mounted() {\r\n const observe = (e) => this.initFixedCells('left').concat(this.initFixedCells('right'))\r\n $.lodash.each(observe(), v => new ResizeObserver(observe).observe(v))\r\n this.$el.setAttribute('w-scroll-x', 'left')\r\n if ($.br.chrome && $.br.chrome <= 60) { //低版本谷歌表格宽度有变化时,sticky的td内容会不可见。因此执行一个强制重新渲染的步骤\r\n new ResizeObserver(() => {\r\n this.$el.setAttribute('w-compact-resize-sticky', '')\r\n requestAnimationFrame(() => this.$el.removeAttribute('w-compact-resize-sticky'))\r\n }).observe(this.$el)\r\n }\r\n },\r\n methods: {\r\n initFixedCells(dir) {\r\n let sticky = null\r\n let offset = 0\r\n let fixedCells = $.lodash.map(this.$el.querySelector(`thead`).querySelectorAll(`td[w-fixed=\"${dir}\"]`))\r\n if (dir === 'right') fixedCells.reverse()\r\n fixedCells.forEach(td => {\r\n (sticky || (sticky = [])).push({colIndex: td.cellIndex, offset})\r\n offset += td.offsetWidth\r\n })\r\n this.sticky[dir] = sticky\r\n return fixedCells\r\n },\r\n html_slots() {\r\n return [\r\n this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens || [],\r\n ]\r\n },\r\n },\r\n computed: {\r\n slotHooks() {\r\n const a = {}\r\n this.slots_children().forEach(o => {\r\n let n = o.type.name && o.type.name.slice(2)\r\n if (n) {\r\n if (n === 'hidden') {\r\n (a.hiddens || (a.hiddens = [])).push(o)\r\n } else\r\n a[n] = o\r\n }\r\n })\r\n return a\r\n },\r\n colgroup() {\r\n return $.slotsChildren(this.slotHooks.columns.children).map(v => v.props)\r\n },\r\n html_class() {\r\n return ['f-flex-column', this.x.face && 'z-face-' + this.x.face]\r\n },\r\n html_style() {\r\n let r = {}\r\n if (this.sticky.left) {\r\n this.sticky.left.forEach(v => r[`--w-td-fixed-left-${v.colIndex}`] = `${v.offset}px`)\r\n }\r\n if (this.sticky.right) {\r\n this.sticky.right.forEach(v => r[`--w-td-fixed-right-${v.colIndex}`] = `${v.offset}px`)\r\n }\r\n return r\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-table {\r\n position: relative;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n }\r\n\r\n .w-table-tbl {\r\n table-layout: fixed;\r\n width: 100%;\r\n border-collapse: separate;\r\n }\r\n\r\n .w-thead {\r\n overflow: hidden;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-tr {\r\n height: 40px;\r\n }\r\n\r\n .w-td,\r\n .w-th {\r\n background: #fff;\r\n }\r\n\r\n .w-thead .w-td,\r\n .w-th {\r\n background: var(--w-thead-background-color);\r\n }\r\n\r\n .w-tbody .w-td {\r\n border-bottom: 1px solid var(--w-td-border-color);\r\n }\r\n\r\n .w-tr.z-on .w-td {\r\n background: var(--w--focus-light-color);\r\n }\r\n\r\n .w-th {\r\n font-weight: normal;\r\n }\r\n\r\n .w-th.z-sortable {\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort {\r\n height: 28px;\r\n line-height: 1;\r\n color: #aaa;\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort-up:before {\r\n position: relative;\r\n top: 1px;\r\n }\r\n\r\n .w-th-sort-down:before {\r\n position: relative;\r\n top: -4px;\r\n }\r\n\r\n .w-th.z-asc .w-th-sort-up {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-th.z-desc .w-th-sort-down {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-td {\r\n padding: 5px;\r\n }\r\n\r\n .w-td.z-align-left {\r\n text-align: left;\r\n }\r\n\r\n .w-td.z-align-center {\r\n text-align: center;\r\n }\r\n\r\n .w-td.z-align-right {\r\n text-align: right;\r\n }\r\n\r\n .w-td.z-valign-top {\r\n vertical-align: top;\r\n }\r\n\r\n .w-td.z-valign-middle {\r\n vertical-align: middle;\r\n }\r\n\r\n .w-td.z-valign-bottom {\r\n vertical-align: bottom;\r\n }\r\n\r\n .w-td>.w-triplebox>.w-input,\r\n .w-td>.w-radio>.w-input {\r\n min-height: auto;\r\n }\r\n\r\n .w-table.z-face-cell {\r\n border: 1px solid var(--w-table-border-color);\r\n }\r\n\r\n .w-table.z-face-cell .w-td {\r\n border: 0 solid var(--w-td-border-color, var(--w-table-border-color));\r\n border-right-width: 1px;\r\n border-bottom-width: 1px;\r\n }\r\n\r\n .w-table.z-face-cell .w-td-lastborder {\r\n border-right: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tbody {\r\n margin-bottom: -1px;\r\n }\r\n\r\n .w-td-fixed-left,\r\n .w-td-fixed-right {\r\n position: sticky;\r\n z-index: 1;\r\n }\r\n\r\n .w-td-fixed-left-last:after {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: -1px;\r\n width: 30px;\r\n transform: translateX(100%);\r\n content: '';\r\n pointer-events: none;\r\n }\r\n \r\n .w-td-fixed-right-first:after {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: -1px;\r\n width: 30px;\r\n transform: translateX(-100%);\r\n content: '';\r\n pointer-events: none;\r\n }\r\n \r\n .w-table[w-scroll-show-x][w-scroll-x=center] .w-td-fixed-left-last:after,\r\n .w-table[w-scroll-show-x][w-scroll-x=right] .w-td-fixed-left-last:after {\r\n box-shadow: inset 10px 0 8px -8px #ddd;\r\n }\r\n \r\n .w-table[w-scroll-show-x][w-scroll-x=left] .w-td-fixed-right-first:after,\r\n .w-table[w-scroll-show-x][w-scroll-x=center] .w-td-fixed-right-first:after {\r\n box-shadow: inset -10px 0 8px -8px #ddd;\r\n }\r\n \r\n .w-table[w-compact-resize-sticky] .w-td-fixed-left,\r\n .w-table[w-compact-resize-sticky] .w-td-fixed-right {\r\n position: static;\r\n }\r\n \r\n</style>\n","import script from \"./Table.vue?vue&type=script&lang=js\"\nexport * from \"./Table.vue?vue&type=script&lang=js\"\n\nimport \"./Table.vue?vue&type=style&index=0&id=fafed58e&lang=css\"\n\nexport default script"],"sourceRoot":""}