y-design-ssr 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/libs/button/index.css +579 -1
  2. package/libs/button/index.mjs +111 -66
  3. package/libs/button/index.umd.js +203 -2
  4. package/libs/cell/index.css +1077 -1
  5. package/libs/cell/index.mjs +167 -104
  6. package/libs/cell/index.umd.js +300 -2
  7. package/libs/checkbox/index.css +1053 -1
  8. package/libs/checkbox/index.mjs +242 -127
  9. package/libs/checkbox/index.umd.js +369 -2
  10. package/libs/checkboxGroup/index.css +422 -1
  11. package/libs/checkboxGroup/index.mjs +173 -87
  12. package/libs/checkboxGroup/index.umd.js +265 -2
  13. package/libs/col/index.css +615 -1
  14. package/libs/col/index.mjs +246 -81
  15. package/libs/col/index.umd.js +305 -2
  16. package/libs/countdown/index.css +417 -1
  17. package/libs/countdown/index.mjs +179 -71
  18. package/libs/countdown/index.umd.js +231 -2
  19. package/libs/dialog/index.css +1405 -1
  20. package/libs/dialog/index.mjs +646 -476
  21. package/libs/dialog/index.umd.js +1128 -2
  22. package/libs/empty/index.css +457 -1
  23. package/libs/empty/index.mjs +91 -44
  24. package/libs/empty/index.umd.js +139 -2
  25. package/libs/form/index.css +477 -1
  26. package/libs/form/index.mjs +226 -126
  27. package/libs/form/index.umd.js +319 -2
  28. package/libs/formItem/index.css +477 -1
  29. package/libs/formItem/index.mjs +276 -126
  30. package/libs/formItem/index.umd.js +372 -2
  31. package/libs/icon/index.css +982 -1
  32. package/libs/icon/index.mjs +107 -58
  33. package/libs/icon/index.umd.js +186 -2
  34. package/libs/index.css +2902 -1
  35. package/libs/index.mjs +3785 -2344
  36. package/libs/index.umd.js +5509 -2
  37. package/libs/input/index.css +483 -1
  38. package/libs/input/index.mjs +183 -92
  39. package/libs/input/index.umd.js +274 -2
  40. package/libs/layout/index.css +684 -1
  41. package/libs/layout/index.mjs +230 -130
  42. package/libs/layout/index.umd.js +318 -2
  43. package/libs/list/index.css +440 -1
  44. package/libs/list/index.mjs +388 -207
  45. package/libs/list/index.umd.js +571 -2
  46. package/libs/loading/index.css +548 -1
  47. package/libs/loading/index.mjs +196 -118
  48. package/libs/loading/index.umd.js +321 -2
  49. package/libs/mask/index.css +426 -1
  50. package/libs/mask/index.mjs +131 -70
  51. package/libs/mask/index.umd.js +201 -2
  52. package/libs/popup/index.css +465 -1
  53. package/libs/popup/index.mjs +210 -134
  54. package/libs/popup/index.umd.js +358 -2
  55. package/libs/progress/index.css +488 -1
  56. package/libs/progress/index.mjs +200 -128
  57. package/libs/progress/index.umd.js +322 -2
  58. package/libs/pullrefresh/index.css +441 -1
  59. package/libs/pullrefresh/index.mjs +241 -111
  60. package/libs/pullrefresh/index.umd.js +302 -2
  61. package/libs/row/index.css +485 -1
  62. package/libs/row/index.mjs +181 -89
  63. package/libs/row/index.umd.js +237 -2
  64. package/libs/slider/index.css +558 -1
  65. package/libs/slider/index.mjs +356 -160
  66. package/libs/slider/index.umd.js +453 -2
  67. package/libs/stepper/index.css +489 -1
  68. package/libs/stepper/index.mjs +181 -101
  69. package/libs/stepper/index.umd.js +269 -2
  70. package/libs/swipe/index.css +506 -1
  71. package/libs/swipe/index.mjs +542 -259
  72. package/libs/swipe/index.umd.js +703 -2
  73. package/libs/swipeItem/index.css +424 -1
  74. package/libs/swipeItem/index.mjs +111 -52
  75. package/libs/swipeItem/index.umd.js +154 -2
  76. package/libs/switch/index.css +472 -1
  77. package/libs/switch/index.mjs +121 -62
  78. package/libs/switch/index.umd.js +200 -2
  79. package/libs/tab/index.mjs +131 -68
  80. package/libs/tab/index.umd.js +190 -1
  81. package/libs/tabs/index.css +514 -1
  82. package/libs/tabs/index.mjs +751 -410
  83. package/libs/tabs/index.umd.js +1020 -2
  84. package/libs/toast/index.css +1050 -1
  85. package/libs/toast/index.mjs +183 -114
  86. package/libs/toast/index.umd.js +306 -2
  87. package/libs/tooltip/index.css +514 -1
  88. package/libs/tooltip/index.mjs +293 -155
  89. package/libs/tooltip/index.umd.js +416 -2
  90. package/package.json +2 -2
@@ -1,2 +1,571 @@
1
- (function(w,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(w=typeof globalThis<"u"?globalThis:w||self,e(w.list={},w.Vue))})(this,function(w,e){"use strict";var p=document.createElement("style");p.textContent=`@charset "UTF-8";body,p,h1,h2,h3,h4,h5,h6,ul,dl,ol,dd,form,figure,blockquote{margin:0}ul,ol{list-style:none;padding:0}a{color:inherit;text-decoration:none;outline:none}em,cite,i{font-style:normal}input,textarea,select{font-family:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;outline:none}img{display:inline-block}p{word-break:break-all}main{display:block}table{border-spacing:0;border-collapse:collapse}body{color:#191919;fill:currentColor;font-size:14px;line-height:1.5715;line-height:calc(1em + 8px);font-family:PingFang SC,sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,.05);-webkit-font-smoothing:antialiased}button{line-height:inherit}button:focus{outline:none}.y-el--clickable{cursor:pointer}.y-el--clickable:active{opacity:.85}.y-el--hairline,.y-el--hairline-top,.y-el--hairline-right,.y-el--hairline-bottom,.y-el--hairline-left{position:relative}.y-el--hairline:after,.y-el--hairline-top:after,.y-el--hairline-right:after,.y-el--hairline-bottom:after,.y-el--hairline-left:after{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid rgba(0,0,0,.08);-webkit-transform:scale(.5);transform:scale(.5)}.y-el--hairline-top:after{border-top-width:1px}.y-el--hairline-right:after{border-right-width:1px}.y-el--hairline-bottom:after{border-bottom-width:1px}.y-el--hairline-left:after{border-left-width:1px}.y-el--hairline:after{border-width:1px}.y-el--ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.y-el--ellipsis-l2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.y-el--ellipsis-l3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.y-el--unclickable{overflow:hidden}.y-el--unclickable *{pointer-events:none}@font-face{font-family:Yuewen Font;font-style:normal;font-weight:400;src:url(data:application/octet-stream;base64,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YhshWWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wPSywABawESNCILAIQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbA+LCMgLkawAiVGsBFDWFAbUllYIDxZLrEuARQrLbA/LCMgLkawAiVGsBFDWFIbUFlYIDxZLrEuARQrLbBALCMgLkawAiVGsBFDWFAbUllYIDxZIyAuRrACJUawEUNYUhtQWVggPFkusS4BFCstsEEssDgrIyAuRrACJUawEUNYUBtSWVggPFkusS4BFCstsEIssDkriiAgPLAEI0KKOCMgLkawAiVGsBFDWFAbUllYIDxZLrEuARQrsARDLrAuKy2wQyywABawBCWwBCYgICBGI0dhsAojQi5HI0cjYbAJQysjIDwgLiM4sS4BFCstsEQssQgEJUKwABawBCWwBCUgLkcjRyNhILAEI0KxCgBCsAlDKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsS4BFCstsEUssQA4Ky6xLgEUKy2wRiyxADkrISMgIDywBCNCIzixLgEUK7AEQy6wListsEcssAAVIEewACNCsgABARUUEy6wNCotsEgssAAVIEewACNCsgABARUUEy6wNCotsEkssQABFBOwNSotsEossDcqLbBLLLAAFkUjIC4gRoojYTixLgEUKy2wTCywCCNCsEsrLbBNLLIAAEQrLbBOLLIAAUQrLbBPLLIBAEQrLbBQLLIBAUQrLbBRLLIAAEUrLbBSLLIAAUUrLbBTLLIBAEUrLbBULLIBAUUrLbBVLLMAAABBKy2wViyzAAEAQSstsFcsswEAAEErLbBYLLMBAQBBKy2wWSyzAAABQSstsFosswABAUErLbBbLLMBAAFBKy2wXCyzAQEBQSstsF0ssgAAQystsF4ssgABQystsF8ssgEAQystsGAssgEBQystsGEssgAARistsGIssgABRistsGMssgEARistsGQssgEBRistsGUsswAAAEIrLbBmLLMAAQBCKy2wZyyzAQAAQistsGgsswEBAEIr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) format("truetype")}.y-font--number{font-family:Yuewen Font;speak:none;font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@-webkit-keyframes y-keyframes--slide-bottom-enter{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes y-keyframes--slide-bottom-enter{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes y-keyframes--slide-bottom-leave{to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes y-keyframes--slide-bottom-leave{to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes y-keyframes--slide-top-enter{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes y-keyframes--slide-top-enter{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-webkit-keyframes y-keyframes--slide-top-leave{to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes y-keyframes--slide-top-leave{to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-webkit-keyframes y-keyframes--slide-left-enter{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes y-keyframes--slide-left-enter{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@-webkit-keyframes y-keyframes--slide-left-leave{to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes y-keyframes--slide-left-leave{to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@-webkit-keyframes y-keyframes--slide-right-enter{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes y-keyframes--slide-right-enter{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes y-keyframes--slide-right-leave{to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes y-keyframes--slide-right-leave{to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes y-keyframes--fade-enter{0%{opacity:0}to{opacity:1}}@keyframes y-keyframes--fade-enter{0%{opacity:0}to{opacity:1}}@-webkit-keyframes y-keyframes--fade-leave{0%{opacity:1}to{opacity:0}}@keyframes y-keyframes--fade-leave{0%{opacity:1}to{opacity:0}}@-webkit-keyframes y-keyframes--rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes y-keyframes--rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.y-animation--fade-enter-active{-webkit-animation:.3s y-keyframes--fade-enter both ease-out;animation:.3s y-keyframes--fade-enter both ease-out}.y-animation--fade-leave-active{-webkit-animation:.3s y-keyframes--fade-leave both ease-in;animation:.3s y-keyframes--fade-leave both ease-in}.y-animation--slide-bottom-enter-active{-webkit-animation:.3s y-keyframes--slide-bottom-enter both ease-out;animation:.3s y-keyframes--slide-bottom-enter both ease-out}.y-animation--slide-bottom-leave-active{-webkit-animation:.3s y-keyframes--slide-bottom-leave both ease-in;animation:.3s y-keyframes--slide-bottom-leave both ease-in}.y-animation--slide-top-enter-active{-webkit-animation:.3s y-keyframes--slide-top-enter both ease-out;animation:.3s y-keyframes--slide-top-enter both ease-out}.y-animation--slide-top-leave-active{-webkit-animation:.3s y-keyframes--slide-top-leave both ease-in;animation:.3s y-keyframes--slide-top-leave both ease-in}.y-animation--slide-left-enter-active{-webkit-animation:.3s y-keyframes--slide-left-enter both ease-out;animation:.3s y-keyframes--slide-left-enter both ease-out}.y-animation--slide-left-leave-active{-webkit-animation:.3s y-keyframes--slide-left-leave both ease-in;animation:.3s y-keyframes--slide-left-leave both ease-in}.y-animation--slide-right-enter-active{-webkit-animation:.3s y-keyframes--slide-right-enter both ease-out;animation:.3s y-keyframes--slide-right-enter both ease-out}.y-animation--slide-right-leave-active{-webkit-animation:.3s y-keyframes--slide-right-leave both ease-in;animation:.3s y-keyframes--slide-right-leave both ease-in}:root{--Primary: #68e38b;--Primary_1: #95f0ab;--Primary_2: #f0fff2;--Secondary: #5790df;--Secondary_1: #84b4f5;--Secondary_2: #edf1fc;--Surface: #191919;--Surface_1: #4c4c4c;--Surface_2: #808080;--Surface_3: #adadad;--Surface_4: #ccc;--Surface_5: #e0e0e0;--Surface_6: #ebebeb;--Surface_7: #f5f5f5;--Surface_8: #fff;--Background: #f5f5f5;--Background_1: #fff;--SheetBackground: #f5f5f5;--SheetBackground_1: #fff;--Outline: rgba(0, 0, 0, .08);--Segmentation: rgba(0, 0, 0, .04);--Overlay: rgba(0, 0, 0, .9);--Overlay_1: rgba(0, 0, 0, .6);--Overlay_2: rgba(0, 0, 0, .36);--Success: #40d76f;--Error: #e5353e;--Warn: #ff5e1a;--Warn_1: #ffe1d5;--Click_Active: rgba(0, 0, 0, .05);--Font_Family: PingFang SC, sans-serif;--Font_Family_Number: Yuewen Font}.y-list{overflow:auto;position:relative}.y-list__item{-webkit-box-sizing:border-box;box-sizing:border-box}.y-list--loading,.y-list--finished,.y-list--error{font-size:14px;text-align:center;padding:8px 0}.y-list--error{cursor:pointer}.y-list--virtual .y-list__content{position:absolute;left:0;top:0;right:0}
2
- `,document.head.appendChild(p);const J=(A=>s=>Object.prototype.toString.call(s)===`[object ${A}]`)("Number"),F=(A,s)=>s?typeof s=="string"?` ${A}--${s}`:Array.isArray(s)?s.reduce((l,i)=>l+F(A,i),""):Object.keys(s).reduce((l,i)=>l+(s[i]?F(A,i):""),""):"",T=A=>(s,l)=>{let i=s,g=l;return i&&typeof i!="string"&&(g=i,i=""),i=i?`${A}__${i}`:A,`${i}${F(i,g)}`},z=()=>(A,s)=>s?`${F(`y-${A}`,s)}`:`y-${A}`,O={"pull-refresh":{pulling:"下拉刷新...",loosing:"释放刷新...",loading:"数据加载中...",success:"数据已更新",failed:"数据跟新失败,请稍后再试"},"form-item":{validateMessage:"请输入正确内容"}};e.ref("zh-CN"),e.reactive({"zh-CN":O});const V=A=>{const s=`y-${A}`;return[s,T(s),z()]},b=A=>isNaN(Number(A))&&typeof A=="string"?A:`${A}px`,P=A=>{switch(A){case"top":return"column-reverse";case"bottom":return"column";case"left":return"row-reverse";case"right":return"row";default:return"column"}},[_,u]=V("loading"),X={color:{type:String,default:""},bgColor:{type:String,default:""},bgBorderRadius:{type:[Number,String],default:"16px"},thick:{type:[Number,String],default:8},direction:{type:String,default:"forward"},size:{type:[Number,String],default:"24px"},padding:{type:[Number,String],default:""},text:{type:String,default:""},textLocation:{type:String,default:"bottom"},textSize:{type:[Number,String],default:""},textColor:{type:String,default:""},position:{type:String,default:"relative"}},q=e.defineComponent({name:_,props:X,setup(A,{slots:s}){return()=>{var S,N;const{position:l,textLocation:i,bgColor:g,bgBorderRadius:d,size:o,padding:I,color:y,thick:Y,direction:D,text:B,textColor:Q,textSize:r}=A,U=((S=s.default)==null?void 0:S.call(s))||B;return e.createVNode("div",{class:u({[l]:l!=="relative"})},[e.createVNode("div",{class:u("bg",{[l]:l!=="relative"}),style:{flexDirection:P(i),backgroundColor:g,borderRadius:b(d),padding:b(I)}},[e.createVNode("span",{class:u("icon-wrapper"),style:{width:b(o),height:b(o)}},[((N=s.icon)==null?void 0:N.call(s))||e.createVNode("svg",{class:u("icon",{[D]:D}),viewBox:"25 25 50 50"},[e.createVNode("circle",{class:u("icon-circle"),style:{stroke:y,strokeWidth:b(Y)},cx:"50",cy:"50",r:"20",fill:"none"},null)])]),U&&e.createVNode("span",{class:u("text",{[i]:i}),style:{color:Q,fontSize:b(r)}},[U])])])}}}),[$,c]=V("list"),k=e.defineComponent({name:$,props:{loadingText:{type:String,default:"加载中..."},finishedText:{type:String,default:"没有更多了~"},errorText:{type:String,default:"请求失败,点击重新加载"},height:{type:[Number,String],default:"auto"},keyName:{type:String,default:"_index"},dataSource:{type:Array,default:()=>[]},immediateCheck:{type:Boolean,default:!0},loadOffset:{type:Number,default:300},virtual:{type:Boolean,default:!1},bufferScale:{type:Number,default:1},itemHeight:{type:[String,Number],default:"80"},dynamicItemHeight:{type:Boolean,default:!1}},emits:["load"],setup(A,{slots:s,emit:l,expose:i}){const g=e.ref(0),d=e.ref(!1),o=e.ref("normal"),I=e.ref(),y=e.ref(),Y=e.ref(),D=e.ref([]),B=e.ref(0),Q=e.ref(0),r=e.ref([]),U=e.computed(()=>J(A.height)?`${A.height}px`:A.height),S=e.computed(()=>r.value.length?r.value[r.value.length-1].bottom:0),N=e.computed(()=>{if(A.virtual){const t=B.value-M.value,a=Q.value+j.value;return x.value.slice(t,a)}return x.value}),M=e.computed(()=>Math.min(B.value,A.bufferScale*h.value)),j=e.computed(()=>Math.min(A.dataSource.length-Q.value,A.bufferScale*h.value)),h=e.computed(()=>Math.ceil(g.value/parseInt(String(A.itemHeight)))),x=e.computed(()=>A.dataSource.map((t,a)=>(t[A.keyName]=a,t))),K=()=>d.value?document.documentElement.scrollTop||document.body.scrollTop:I.value.scrollTop,AA=()=>d.value?document.documentElement.scrollHeight:I.value.scrollHeight,W=()=>{o.value!=="loading"&&(o.value="loading",l("load",t=>{if(o.value==="loading")switch(t){case"error":o.value="error";break;case"finished":o.value="finished",A.virtual&&G(),A.virtual&&A.dynamicItemHeight&&Z();break;default:o.value="normal",A.virtual&&(Z(),A.dataSource.length<h.value+j.value&&W())}}))},v=()=>{o.value==="normal"&&AA()-K()-g.value<=A.loadOffset&&W()},G=()=>{r.value=x.value.map((t,a)=>{const n=parseInt(String(A.itemHeight));return{index:a,height:n,top:a*n,bottom:(a+1)*n}})},Z=()=>{G();for(let t=1;t<r.value.length;t++)r.value[t].top=r.value[t-1].bottom,r.value[t].bottom=r.value[t].top+r.value[t].height},eA=(t,a)=>{let n=0,C=t.length-1,f=-1;for(;n<=C;){const E=Math.floor((n+C)/2),m=t[E].bottom;if(m===a)return E+1;m<a?n=E+1:m>a&&((f===-1||f>E)&&(f=E),C=E-1)}return f},tA=t=>eA(r.value,t),R=()=>{if(v(),A.virtual){const t=K();H(t)}},H=t=>{if(!y.value)return;const a=t||0;if(A.dynamicItemHeight){B.value=tA(a),Q.value=B.value+h.value;const n=r.value[B.value-M.value].top?r.value[B.value-M.value].top:0;y.value.style.transform=`translate3d(0, ${n}px, 0)`}else{B.value=Math.floor(a/parseInt(String(A.itemHeight))),Q.value=B.value+h.value;const n=B.value*parseInt(String(A.itemHeight))-M.value*parseInt(String(A.itemHeight));y.value.style.transform=`translate3d(0, ${n}px, 0)`}},sA=()=>{if(!y.value||!Y.value)return;const t=y.value.children;t&&t.length>0&&[...t].forEach(a=>{if(a instanceof HTMLDivElement){const n=a.getBoundingClientRect(),{height:C}=n,f=Number(a.dataset.index),m=r.value[f].height-C;if(m){r.value[f].bottom-=m,r.value[f].height=C;for(let L=f+1;L<r.value.length;L++)r.value[L].top=r.value[L-1].bottom,r.value[L].bottom-=m}}})};return i({...A,checkIsScrollToBottom:v,loadData:W}),e.onMounted(()=>{A.height!=="auto"?(d.value=!1,g.value=I.value.clientHeight):A.height==="auto"&&(d.value=!0,g.value=document.documentElement.clientHeight,document.addEventListener("scroll",R)),A.virtual&&(G(),H()),A.immediateCheck&&v()}),e.onUpdated(async()=>{var t,a;if(A.virtual&&A.dynamicItemHeight){if(await e.nextTick(),!((a=(t=y.value)==null?void 0:t.children)!=null&&a.length))return;sA()}}),e.onUnmounted(()=>{d.value&&document.removeEventListener("scroll",R)}),()=>e.createVNode("div",{ref:I,class:`${c()} ${A.virtual?c({virtual:!0}):""}`,style:{height:U.value},onScroll:R},[A.virtual&&e.createVNode("div",{ref:Y,class:c("phantom"),style:{height:`${S.value}px`}},null),e.createVNode("div",{ref:y,class:c("content")},[N.value.map(t=>{var a;return e.createVNode("div",{ref:D,class:c("item"),"data-index":t._index},[(a=s.default)==null?void 0:a.call(s,{item:t})])})]),o.value==="loading"&&e.createVNode("div",{class:c({loading:!0})},[s.loading?s.loading():e.createVNode(q,{"text-location":"right"},{default:()=>[e.createTextVNode("加载中...")]})]),o.value==="finished"&&e.createVNode("div",{class:c({finished:!0})},[A.finishedText]),o.value==="error"&&e.createVNode("div",{class:c("error"),role:"presentation",onClick:W},[A.errorText])])}}),rA="",iA="",oA="",nA="",lA="",BA="";k.install=A=>{const{name:s}=k;A.component(s,k)},w.default=k,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(global, factory) {
2
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue")) : typeof define === "function" && define.amd ? define(["exports", "vue"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.list = {}, global.Vue));
3
+ })(this, function(exports2, vue) {
4
+ "use strict";
5
+ var __vite_style__ = document.createElement("style");
6
+ __vite_style__.textContent = '@charset "UTF-8";\n/**\n* sass 基础颜色变量\n*/ /* 原始颜色 sass 变量 */\n/* 不折行截字 */\n/* 折行截字 @param 传入想要截到第几行 */\nbody,\np,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nul,\ndl,\nol,\ndd,\nform,\nfigure,\nblockquote {\n margin: 0;\n}\n\nul,\nol {\n list-style: none;\n padding: 0;\n}\n\na {\n color: inherit;\n text-decoration: none;\n outline: none;\n}\n\nem,\ncite,\ni {\n font-style: normal;\n}\n\ninput,\ntextarea,\nselect {\n font-family: inherit;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n outline: none;\n}\n\nimg {\n display: inline-block;\n}\n\np {\n word-break: break-all;\n}\n\nmain {\n display: block;\n}\n\ntable {\n border-spacing: 0;\n border-collapse: collapse;\n}\n\nbody {\n color: #191919;\n fill: currentColor;\n font-size: 14px;\n line-height: 1.5715;\n line-height: calc(1em + 8px);\n font-family: "PingFang SC", sans-serif;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0.05);\n -webkit-font-smoothing: antialiased;\n}\n\nbutton {\n line-height: inherit;\n}\nbutton:focus {\n outline: none;\n}\n/**\n* sass 基础颜色变量\n*/\n/* 原始颜色 sass 变量 */\n/* 不折行截字 */\n/* 折行截字 @param 传入想要截到第几行 */\n/* 不折行截字 */\n/* 折行截字 @param 传入想要截到第几行 */\n.y-el--clickable {\n cursor: pointer;\n}\n.y-el--clickable:active {\n opacity: 0.85;\n}\n.y-el--hairline, .y-el--hairline-top, .y-el--hairline-right, .y-el--hairline-bottom, .y-el--hairline-left {\n position: relative;\n}\n.y-el--hairline::after, .y-el--hairline-top::after, .y-el--hairline-right::after, .y-el--hairline-bottom::after, .y-el--hairline-left::after {\n position: absolute;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n content: " ";\n pointer-events: none;\n top: -50%;\n right: -50%;\n bottom: -50%;\n left: -50%;\n border: 0 solid rgba(0, 0, 0, 0.08);\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n}\n.y-el--hairline-top::after {\n border-top-width: 1px;\n}\n.y-el--hairline-right::after {\n border-right-width: 1px;\n}\n.y-el--hairline-bottom::after {\n border-bottom-width: 1px;\n}\n.y-el--hairline-left::after {\n border-left-width: 1px;\n}\n.y-el--hairline::after {\n border-width: 1px;\n}\n.y-el--ellipsis {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.y-el--ellipsis-l2 {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n.y-el--ellipsis-l3 {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n}\n.y-el--unclickable {\n overflow: hidden;\n}\n.y-el--unclickable * {\n pointer-events: none;\n}\n/**\n* sass 基础颜色变量\n*/ /* 原始颜色 sass 变量 */\n/* 不折行截字 */\n/* 折行截字 @param 传入想要截到第几行 */\n@font-face {\n font-family: "Yuewen Font";\n font-style: normal;\n font-weight: normal;\n src: url("data:application/octet-stream;base64,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YhshWWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wPSywABawESNCILAIQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbA+LCMgLkawAiVGsBFDWFAbUllYIDxZLrEuARQrLbA/LCMgLkawAiVGsBFDWFIbUFlYIDxZLrEuARQrLbBALCMgLkawAiVGsBFDWFAbUllYIDxZIyAuRrACJUawEUNYUhtQWVggPFkusS4BFCstsEEssDgrIyAuRrACJUawEUNYUBtSWVggPFkusS4BFCstsEIssDkriiAgPLAEI0KKOCMgLkawAiVGsBFDWFAbUllYIDxZLrEuARQrsARDLrAuKy2wQyywABawBCWwBCYgICBGI0dhsAojQi5HI0cjYbAJQysjIDwgLiM4sS4BFCstsEQssQgEJUKwABawBCWwBCUgLkcjRyNhILAEI0KxCgBCsAlDKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsS4BFCstsEUssQA4Ky6xLgEUKy2wRiyxADkrISMgIDywBCNCIzixLgEUK7AEQy6wListsEcssAAVIEewACNCsgABARUUEy6wNCotsEgssAAVIEewACNCsgABARUUEy6wNCotsEkssQABFBOwNSotsEossDcqLbBLLLAAFkUjIC4gRoojYTixLgEUKy2wTCywCCNCsEsrLbBNLLIAAEQrLbBOLLIAAUQrLbBPLLIBAEQrLbBQLLIBAUQrLbBRLLIAAEUrLbBSLLIAAUUrLbBTLLIBAEUrLbBULLIBAUUrLbBVLLMAAABBKy2wViyzAAEAQSstsFcsswEAAEErLbBYLLMBAQBBKy2wWSyzAAABQSstsFosswABAUErLbBbLLMBAAFBKy2wXCyzAQEBQSstsF0ssgAAQystsF4ssgABQystsF8ssgEAQystsGAssgEBQystsGEssgAARistsGIssgABRistsGMssgEARistsGQssgEBRistsGUsswAAAEIrLbBmLLMAAQBCKy2wZyyzAQAAQistsGgsswEBAEIr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") format("truetype");\n}\n.y-font--number {\n font-family: "Yuewen Font";\n speak: none;\n font-style: normal;\n font-variant: normal;\n text-transform: none;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n/**\n* sass 基础颜色变量\n*/ /* 原始颜色 sass 变量 */\n/* 不折行截字 */\n/* 折行截字 @param 传入想要截到第几行 */\n/* CSS3 Animation */\n@-webkit-keyframes y-keyframes--slide-bottom-enter {\n from {\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n@keyframes y-keyframes--slide-bottom-enter {\n from {\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n@-webkit-keyframes y-keyframes--slide-bottom-leave {\n to {\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n@keyframes y-keyframes--slide-bottom-leave {\n to {\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n@-webkit-keyframes y-keyframes--slide-top-enter {\n from {\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n@keyframes y-keyframes--slide-top-enter {\n from {\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n@-webkit-keyframes y-keyframes--slide-top-leave {\n to {\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n@keyframes y-keyframes--slide-top-leave {\n to {\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n@-webkit-keyframes y-keyframes--slide-left-enter {\n from {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n@keyframes y-keyframes--slide-left-enter {\n from {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n@-webkit-keyframes y-keyframes--slide-left-leave {\n to {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n@keyframes y-keyframes--slide-left-leave {\n to {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n@-webkit-keyframes y-keyframes--slide-right-enter {\n from {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n@keyframes y-keyframes--slide-right-enter {\n from {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n@-webkit-keyframes y-keyframes--slide-right-leave {\n to {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n@keyframes y-keyframes--slide-right-leave {\n to {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n@-webkit-keyframes y-keyframes--fade-enter {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes y-keyframes--fade-enter {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@-webkit-keyframes y-keyframes--fade-leave {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes y-keyframes--fade-leave {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@-webkit-keyframes y-keyframes--rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes y-keyframes--rotate {\n from {\n -webkit-transform: rotate(0);\n transform: rotate(0);\n }\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.y-animation--fade-enter-active {\n -webkit-animation: 0.3s y-keyframes--fade-enter both ease-out;\n animation: 0.3s y-keyframes--fade-enter both ease-out;\n}\n.y-animation--fade-leave-active {\n -webkit-animation: 0.3s y-keyframes--fade-leave both ease-in;\n animation: 0.3s y-keyframes--fade-leave both ease-in;\n}\n\n.y-animation--slide-bottom-enter-active {\n -webkit-animation: 0.3s y-keyframes--slide-bottom-enter both ease-out;\n animation: 0.3s y-keyframes--slide-bottom-enter both ease-out;\n}\n.y-animation--slide-bottom-leave-active {\n -webkit-animation: 0.3s y-keyframes--slide-bottom-leave both ease-in;\n animation: 0.3s y-keyframes--slide-bottom-leave both ease-in;\n}\n\n.y-animation--slide-top-enter-active {\n -webkit-animation: 0.3s y-keyframes--slide-top-enter both ease-out;\n animation: 0.3s y-keyframes--slide-top-enter both ease-out;\n}\n.y-animation--slide-top-leave-active {\n -webkit-animation: 0.3s y-keyframes--slide-top-leave both ease-in;\n animation: 0.3s y-keyframes--slide-top-leave both ease-in;\n}\n\n.y-animation--slide-left-enter-active {\n -webkit-animation: 0.3s y-keyframes--slide-left-enter both ease-out;\n animation: 0.3s y-keyframes--slide-left-enter both ease-out;\n}\n.y-animation--slide-left-leave-active {\n -webkit-animation: 0.3s y-keyframes--slide-left-leave both ease-in;\n animation: 0.3s y-keyframes--slide-left-leave both ease-in;\n}\n\n.y-animation--slide-right-enter-active {\n -webkit-animation: 0.3s y-keyframes--slide-right-enter both ease-out;\n animation: 0.3s y-keyframes--slide-right-enter both ease-out;\n}\n.y-animation--slide-right-leave-active {\n -webkit-animation: 0.3s y-keyframes--slide-right-leave both ease-in;\n animation: 0.3s y-keyframes--slide-right-leave both ease-in;\n}\n/**\n* sass 基础颜色变量\n*/ /* 原始颜色 sass 变量 */\n/* 不折行截字 */\n/* 折行截字 @param 传入想要截到第几行 */\n:root {\n --Primary: #68e38b;\n --Primary_1: #95f0ab;\n --Primary_2: #f0fff2;\n --Secondary: #5790df;\n --Secondary_1: #84b4f5;\n --Secondary_2: #edf1fc;\n --Surface: #191919;\n --Surface_1: #4c4c4c;\n --Surface_2: #808080;\n --Surface_3: #adadad;\n --Surface_4: #ccc;\n --Surface_5: #e0e0e0;\n --Surface_6: #ebebeb;\n --Surface_7: #f5f5f5;\n --Surface_8: #fff;\n --Background: #f5f5f5;\n --Background_1: #fff;\n --SheetBackground: #f5f5f5;\n --SheetBackground_1: #fff;\n --Outline: rgba(0, 0, 0, 0.08);\n --Segmentation: rgba(0, 0, 0, 0.04);\n --Overlay: rgba(0, 0, 0, 0.9);\n --Overlay_1: rgba(0, 0, 0, 0.6);\n --Overlay_2: rgba(0, 0, 0, 0.36);\n --Success: #40d76f;\n --Error: #e5353e;\n --Warn: #ff5e1a;\n --Warn_1: #ffe1d5;\n --Click_Active: rgba(0, 0, 0, 0.05);\n --Font_Family: PingFang SC, sans-serif;\n --Font_Family_Number: Yuewen Font;\n}\n/**\n* sass 基础颜色变量\n*/ /* 原始颜色 sass 变量 */\n/* 不折行截字 */\n/* 折行截字 @param 传入想要截到第几行 */\n.y-list {\n overflow: auto;\n position: relative;\n}\n.y-list__item {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n.y-list--loading, .y-list--finished, .y-list--error {\n font-size: 14px;\n text-align: center;\n padding: 8px 0;\n}\n.y-list--error {\n cursor: pointer;\n}\n\n.y-list--virtual .y-list__content {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n}';
7
+ document.head.appendChild(__vite_style__);
8
+ const tagTester = (name2) => {
9
+ return (obj) => {
10
+ return Object.prototype.toString.call(obj) === `[object ${name2}]`;
11
+ };
12
+ };
13
+ const isNumber = tagTester("Number");
14
+ const getMods = (el, mods) => {
15
+ if (!mods) {
16
+ return "";
17
+ }
18
+ if (typeof mods === "string") {
19
+ return ` ${el}--${mods}`;
20
+ }
21
+ if (Array.isArray(mods)) {
22
+ return mods.reduce((acc, cur) => acc + getMods(el, cur), "");
23
+ }
24
+ return Object.keys(mods).reduce(
25
+ (acc, cur) => acc + (mods[cur] ? getMods(el, cur) : ""),
26
+ ""
27
+ );
28
+ };
29
+ const createBEM = (block) => {
30
+ return (el, mods) => {
31
+ let _el = el;
32
+ let _mods = mods;
33
+ if (_el && typeof _el !== "string") {
34
+ _mods = _el;
35
+ _el = "";
36
+ }
37
+ _el = _el ? `${block}__${_el}` : block;
38
+ return `${_el}${getMods(_el, _mods)}`;
39
+ };
40
+ };
41
+ const createGlobalBem = () => {
42
+ return (el, mods) => {
43
+ if (!mods) {
44
+ return `y-${el}`;
45
+ }
46
+ return `${getMods(`y-${el}`, mods)}`;
47
+ };
48
+ };
49
+ const defaultLang = {
50
+ "pull-refresh": {
51
+ pulling: "下拉刷新...",
52
+ loosing: "释放刷新...",
53
+ loading: "数据加载中...",
54
+ success: "数据已更新",
55
+ failed: "数据跟新失败,请稍后再试"
56
+ },
57
+ "form-item": {
58
+ validateMessage: "请输入正确内容"
59
+ }
60
+ };
61
+ vue.ref("zh-CN");
62
+ vue.reactive({
63
+ "zh-CN": defaultLang
64
+ });
65
+ const createNamespace = (name2) => {
66
+ const prefixedName = `y-${name2}`;
67
+ return [prefixedName, createBEM(prefixedName), createGlobalBem()];
68
+ };
69
+ const parseUnit = (val) => {
70
+ if (isNaN(Number(val)) && typeof val === "string") {
71
+ return val;
72
+ }
73
+ return `${val}px`;
74
+ };
75
+ const parseFlexDirection = (location) => {
76
+ switch (location) {
77
+ case "top":
78
+ return "column-reverse";
79
+ case "bottom":
80
+ return "column";
81
+ case "left":
82
+ return "row-reverse";
83
+ case "right":
84
+ return "row";
85
+ default:
86
+ return "column";
87
+ }
88
+ };
89
+ const [name, bem$1] = createNamespace("loading");
90
+ const _props = {
91
+ // Loading icon 的颜色
92
+ color: {
93
+ type: String,
94
+ default: ""
95
+ },
96
+ // 背景色
97
+ bgColor: {
98
+ type: String,
99
+ default: ""
100
+ },
101
+ bgBorderRadius: {
102
+ type: [Number, String],
103
+ default: "16px"
104
+ },
105
+ // 粗细
106
+ thick: {
107
+ type: [Number, String],
108
+ default: 8
109
+ },
110
+ // 方向
111
+ direction: {
112
+ type: String,
113
+ default: "forward"
114
+ },
115
+ // 大小
116
+ size: {
117
+ type: [Number, String],
118
+ default: "24px"
119
+ },
120
+ padding: {
121
+ type: [Number, String],
122
+ default: ""
123
+ },
124
+ // 文案
125
+ text: {
126
+ type: String,
127
+ default: ""
128
+ },
129
+ // 文案位置
130
+ textLocation: {
131
+ type: String,
132
+ default: "bottom"
133
+ },
134
+ // 文案大小
135
+ textSize: {
136
+ type: [Number, String],
137
+ default: ""
138
+ },
139
+ // 文案颜色
140
+ textColor: {
141
+ type: String,
142
+ default: ""
143
+ },
144
+ // 布局位置
145
+ position: {
146
+ type: String,
147
+ default: "relative"
148
+ }
149
+ };
150
+ const YLoading = /* @__PURE__ */ vue.defineComponent({
151
+ name,
152
+ props: _props,
153
+ setup(props, {
154
+ slots
155
+ }) {
156
+ return () => {
157
+ var _a, _b;
158
+ const {
159
+ position,
160
+ textLocation,
161
+ bgColor,
162
+ bgBorderRadius,
163
+ size,
164
+ padding,
165
+ color,
166
+ thick,
167
+ direction,
168
+ text,
169
+ textColor,
170
+ textSize
171
+ } = props;
172
+ const showText = ((_a = slots.default) == null ? void 0 : _a.call(slots)) || text;
173
+ return vue.createVNode("div", {
174
+ "class": bem$1({
175
+ [position]: position !== "relative"
176
+ })
177
+ }, [vue.createVNode("div", {
178
+ "class": bem$1("bg", {
179
+ [position]: position !== "relative"
180
+ }),
181
+ "style": {
182
+ flexDirection: parseFlexDirection(textLocation),
183
+ backgroundColor: bgColor,
184
+ borderRadius: parseUnit(bgBorderRadius),
185
+ padding: parseUnit(padding)
186
+ }
187
+ }, [vue.createVNode("span", {
188
+ "class": bem$1("icon-wrapper"),
189
+ "style": {
190
+ width: parseUnit(size),
191
+ height: parseUnit(size)
192
+ }
193
+ }, [((_b = slots.icon) == null ? void 0 : _b.call(slots)) || vue.createVNode("svg", {
194
+ "class": bem$1("icon", {
195
+ [direction]: direction
196
+ }),
197
+ "viewBox": "25 25 50 50"
198
+ }, [vue.createVNode("circle", {
199
+ "class": bem$1("icon-circle"),
200
+ "style": {
201
+ stroke: color,
202
+ strokeWidth: parseUnit(thick)
203
+ },
204
+ "cx": "50",
205
+ "cy": "50",
206
+ "r": "20",
207
+ "fill": "none"
208
+ }, null)])]), showText && vue.createVNode("span", {
209
+ "class": bem$1("text", {
210
+ [textLocation]: textLocation
211
+ }),
212
+ "style": {
213
+ color: textColor,
214
+ fontSize: parseUnit(textSize)
215
+ }
216
+ }, [showText])])]);
217
+ };
218
+ }
219
+ });
220
+ const [cname, bem] = createNamespace("list");
221
+ const List = /* @__PURE__ */ vue.defineComponent({
222
+ name: cname,
223
+ props: {
224
+ // 加载中 文案
225
+ loadingText: {
226
+ type: String,
227
+ default: "加载中..."
228
+ },
229
+ // 加载完成 文案
230
+ finishedText: {
231
+ type: String,
232
+ default: "没有更多了~"
233
+ },
234
+ // 加载失败 文案
235
+ errorText: {
236
+ type: String,
237
+ default: "请求失败,点击重新加载"
238
+ },
239
+ // 容器高度
240
+ height: {
241
+ type: [Number, String],
242
+ default: "auto"
243
+ },
244
+ // 唯一键名称
245
+ keyName: {
246
+ type: String,
247
+ default: "_index"
248
+ },
249
+ // 列表数组
250
+ dataSource: {
251
+ type: Array,
252
+ default: () => []
253
+ },
254
+ // 是否在初始化时立即执行滚动位置检查
255
+ immediateCheck: {
256
+ type: Boolean,
257
+ default: true
258
+ },
259
+ // 滚动条与底部距离小于多少时触发加载
260
+ loadOffset: {
261
+ type: Number,
262
+ default: 300
263
+ },
264
+ // 是否使用虚拟列表
265
+ virtual: {
266
+ type: Boolean,
267
+ default: false
268
+ },
269
+ // 缓冲区比例
270
+ bufferScale: {
271
+ type: Number,
272
+ default: 1
273
+ },
274
+ // 列表子项预估高度
275
+ itemHeight: {
276
+ type: [String, Number],
277
+ default: "80"
278
+ },
279
+ // 是否是不定高度子项
280
+ dynamicItemHeight: {
281
+ type: Boolean,
282
+ default: false
283
+ }
284
+ },
285
+ emits: ["load"],
286
+ setup(props, {
287
+ slots,
288
+ emit,
289
+ expose
290
+ }) {
291
+ const visibleHeightRef = vue.ref(0);
292
+ const pageModeRef = vue.ref(false);
293
+ const stateRef = vue.ref("normal");
294
+ const listRef = vue.ref();
295
+ const contentRef = vue.ref();
296
+ const scrollBarRef = vue.ref();
297
+ const itemsRef = vue.ref([]);
298
+ const startIndexRef = vue.ref(0);
299
+ const endIndexRef = vue.ref(0);
300
+ const positionsRef = vue.ref([]);
301
+ const listContainerRef = vue.computed(() => {
302
+ return isNumber(props.height) ? `${props.height}px` : props.height;
303
+ });
304
+ const listHeightRef = vue.computed(() => {
305
+ const listHeight = positionsRef.value.length ? positionsRef.value[positionsRef.value.length - 1].bottom : 0;
306
+ return listHeight;
307
+ });
308
+ const realRenderListRef = vue.computed(() => {
309
+ if (props.virtual) {
310
+ const start = startIndexRef.value - aboveCountRef.value;
311
+ const end = endIndexRef.value + belowCountRef.value;
312
+ return _dataSourceRef.value.slice(start, end);
313
+ }
314
+ return _dataSourceRef.value;
315
+ });
316
+ const aboveCountRef = vue.computed(() => {
317
+ const above = Math.min(startIndexRef.value, props.bufferScale * visibleCountRef.value);
318
+ return above;
319
+ });
320
+ const belowCountRef = vue.computed(() => {
321
+ const below = Math.min(props.dataSource.length - endIndexRef.value, props.bufferScale * visibleCountRef.value);
322
+ return below;
323
+ });
324
+ const visibleCountRef = vue.computed(() => {
325
+ const count = Math.ceil(visibleHeightRef.value / parseInt(String(props.itemHeight)));
326
+ return count;
327
+ });
328
+ const _dataSourceRef = vue.computed(() => {
329
+ return props.dataSource.map((item, index) => {
330
+ item[props.keyName] = index;
331
+ return item;
332
+ });
333
+ });
334
+ const getScrollTop = () => {
335
+ if (pageModeRef.value) {
336
+ return document.documentElement.scrollTop || document.body.scrollTop;
337
+ }
338
+ return listRef.value.scrollTop;
339
+ };
340
+ const getScrollHeight = () => {
341
+ if (pageModeRef.value) {
342
+ return document.documentElement.scrollHeight;
343
+ }
344
+ return listRef.value.scrollHeight;
345
+ };
346
+ const loadData = () => {
347
+ if (stateRef.value === "loading")
348
+ return;
349
+ stateRef.value = "loading";
350
+ emit("load", (state) => {
351
+ if (stateRef.value !== "loading")
352
+ return;
353
+ switch (state) {
354
+ case "error":
355
+ stateRef.value = "error";
356
+ break;
357
+ case "finished":
358
+ stateRef.value = "finished";
359
+ if (props.virtual) {
360
+ initPositions();
361
+ }
362
+ if (props.virtual && props.dynamicItemHeight) {
363
+ updatePositions();
364
+ }
365
+ break;
366
+ default:
367
+ stateRef.value = "normal";
368
+ if (props.virtual) {
369
+ updatePositions();
370
+ if (props.dataSource.length < visibleCountRef.value + belowCountRef.value) {
371
+ loadData();
372
+ }
373
+ }
374
+ }
375
+ });
376
+ };
377
+ const checkIsScrollToBottom = () => {
378
+ if (stateRef.value !== "normal")
379
+ return;
380
+ if (getScrollHeight() - getScrollTop() - visibleHeightRef.value <= props.loadOffset) {
381
+ loadData();
382
+ }
383
+ };
384
+ const initPositions = () => {
385
+ positionsRef.value = _dataSourceRef.value.map((_, index) => {
386
+ const height = parseInt(String(props.itemHeight));
387
+ return {
388
+ index,
389
+ height,
390
+ top: index * height,
391
+ bottom: (index + 1) * height
392
+ };
393
+ });
394
+ };
395
+ const updatePositions = () => {
396
+ initPositions();
397
+ for (let i = 1; i < positionsRef.value.length; i++) {
398
+ positionsRef.value[i].top = positionsRef.value[i - 1].bottom;
399
+ positionsRef.value[i].bottom = positionsRef.value[i].top + positionsRef.value[i].height;
400
+ }
401
+ };
402
+ const binarySearch = (list, value) => {
403
+ let start = 0;
404
+ let end = list.length - 1;
405
+ let tempIndex = -1;
406
+ while (start <= end) {
407
+ const midIndex = Math.floor((start + end) / 2);
408
+ const midValue = list[midIndex].bottom;
409
+ if (midValue === value) {
410
+ return midIndex + 1;
411
+ } else if (midValue < value) {
412
+ start = midIndex + 1;
413
+ } else if (midValue > value) {
414
+ if (tempIndex === -1 || tempIndex > midIndex) {
415
+ tempIndex = midIndex;
416
+ }
417
+ end = midIndex - 1;
418
+ }
419
+ }
420
+ return tempIndex;
421
+ };
422
+ const getStartIndex = (scrollTop) => {
423
+ return binarySearch(positionsRef.value, scrollTop);
424
+ };
425
+ const handleScroll = () => {
426
+ checkIsScrollToBottom();
427
+ if (props.virtual) {
428
+ const scrollTop = getScrollTop();
429
+ updateVisibleData(scrollTop);
430
+ }
431
+ };
432
+ const updateVisibleData = (scrollTopParam) => {
433
+ if (!contentRef.value)
434
+ return;
435
+ const scrollTop = scrollTopParam || 0;
436
+ if (props.dynamicItemHeight) {
437
+ startIndexRef.value = getStartIndex(scrollTop);
438
+ endIndexRef.value = startIndexRef.value + visibleCountRef.value;
439
+ const startOffset = positionsRef.value[startIndexRef.value - aboveCountRef.value].top ? positionsRef.value[startIndexRef.value - aboveCountRef.value].top : 0;
440
+ contentRef.value.style.transform = `translate3d(0, ${startOffset}px, 0)`;
441
+ } else {
442
+ startIndexRef.value = Math.floor(scrollTop / parseInt(String(props.itemHeight)));
443
+ endIndexRef.value = startIndexRef.value + visibleCountRef.value;
444
+ const startOffset = startIndexRef.value * parseInt(String(props.itemHeight)) - aboveCountRef.value * parseInt(String(props.itemHeight));
445
+ contentRef.value.style.transform = `translate3d(0, ${startOffset}px, 0)`;
446
+ }
447
+ };
448
+ const updateItemSize = () => {
449
+ if (!contentRef.value || !scrollBarRef.value)
450
+ return;
451
+ const nodes = contentRef.value.children;
452
+ if (!(nodes && nodes.length > 0))
453
+ return;
454
+ [...nodes].forEach((node) => {
455
+ if (node instanceof HTMLDivElement) {
456
+ const rect = node.getBoundingClientRect();
457
+ const {
458
+ height
459
+ } = rect;
460
+ const index = Number(node.dataset.index);
461
+ const oldHeight = positionsRef.value[index].height;
462
+ const dValue = oldHeight - height;
463
+ if (dValue) {
464
+ positionsRef.value[index].bottom -= dValue;
465
+ positionsRef.value[index].height = height;
466
+ for (let k = index + 1; k < positionsRef.value.length; k++) {
467
+ positionsRef.value[k].top = positionsRef.value[k - 1].bottom;
468
+ positionsRef.value[k].bottom -= dValue;
469
+ }
470
+ }
471
+ }
472
+ });
473
+ };
474
+ expose({
475
+ ...props,
476
+ checkIsScrollToBottom,
477
+ loadData
478
+ });
479
+ vue.onMounted(() => {
480
+ if (props.height !== "auto") {
481
+ pageModeRef.value = false;
482
+ visibleHeightRef.value = listRef.value.clientHeight;
483
+ } else if (props.height === "auto") {
484
+ pageModeRef.value = true;
485
+ visibleHeightRef.value = document.documentElement.clientHeight;
486
+ document.addEventListener("scroll", handleScroll);
487
+ }
488
+ if (props.virtual) {
489
+ initPositions();
490
+ updateVisibleData();
491
+ }
492
+ if (props.immediateCheck) {
493
+ checkIsScrollToBottom();
494
+ }
495
+ });
496
+ vue.onUpdated(async () => {
497
+ var _a, _b;
498
+ if (props.virtual && props.dynamicItemHeight) {
499
+ await vue.nextTick();
500
+ if (!((_b = (_a = contentRef.value) == null ? void 0 : _a.children) == null ? void 0 : _b.length)) {
501
+ return;
502
+ }
503
+ updateItemSize();
504
+ }
505
+ });
506
+ vue.onUnmounted(() => {
507
+ if (pageModeRef.value) {
508
+ document.removeEventListener("scroll", handleScroll);
509
+ }
510
+ });
511
+ return () => {
512
+ return vue.createVNode("div", {
513
+ "ref": listRef,
514
+ "class": `${bem()} ${props.virtual ? bem({
515
+ virtual: true
516
+ }) : ""}`,
517
+ "style": {
518
+ height: listContainerRef.value
519
+ },
520
+ "onScroll": handleScroll
521
+ }, [props.virtual && vue.createVNode("div", {
522
+ "ref": scrollBarRef,
523
+ "class": bem("phantom"),
524
+ "style": {
525
+ height: `${listHeightRef.value}px`
526
+ }
527
+ }, null), vue.createVNode("div", {
528
+ "ref": contentRef,
529
+ "class": bem("content")
530
+ }, [realRenderListRef.value.map((item) => {
531
+ var _a;
532
+ return vue.createVNode("div", {
533
+ "ref": itemsRef,
534
+ "class": bem("item"),
535
+ "data-index": item._index
536
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots, {
537
+ item
538
+ })]);
539
+ })]), stateRef.value === "loading" && vue.createVNode("div", {
540
+ "class": bem({
541
+ loading: true
542
+ })
543
+ }, [slots.loading ? slots.loading() : vue.createVNode(YLoading, {
544
+ "text-location": "right"
545
+ }, {
546
+ default: () => [vue.createTextVNode("加载中...")]
547
+ })]), stateRef.value === "finished" && vue.createVNode("div", {
548
+ "class": bem({
549
+ finished: true
550
+ })
551
+ }, [props.finishedText]), stateRef.value === "error" && vue.createVNode("div", {
552
+ "class": bem("error"),
553
+ "role": "presentation",
554
+ "onClick": loadData
555
+ }, [props.errorText])]);
556
+ };
557
+ }
558
+ });
559
+ const reset = "";
560
+ const libs = "";
561
+ const font = "";
562
+ const animation = "";
563
+ const theme = "";
564
+ const style = "";
565
+ List.install = (Vue) => {
566
+ const { name: name2 } = List;
567
+ Vue.component(name2, List);
568
+ };
569
+ exports2.default = List;
570
+ Object.defineProperties(exports2, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
571
+ });