y-design-ssr 0.2.0 → 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 (119) 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 +5 -4
  91. package/libs/button/package.json +0 -5
  92. package/libs/cell/package.json +0 -5
  93. package/libs/checkbox/package.json +0 -5
  94. package/libs/checkboxGroup/package.json +0 -5
  95. package/libs/col/package.json +0 -5
  96. package/libs/countdown/package.json +0 -5
  97. package/libs/dialog/package.json +0 -5
  98. package/libs/empty/package.json +0 -5
  99. package/libs/form/package.json +0 -5
  100. package/libs/formItem/package.json +0 -5
  101. package/libs/icon/package.json +0 -5
  102. package/libs/input/package.json +0 -5
  103. package/libs/layout/package.json +0 -5
  104. package/libs/list/package.json +0 -5
  105. package/libs/loading/package.json +0 -5
  106. package/libs/mask/package.json +0 -5
  107. package/libs/popup/package.json +0 -5
  108. package/libs/progress/package.json +0 -5
  109. package/libs/pullrefresh/package.json +0 -5
  110. package/libs/row/package.json +0 -5
  111. package/libs/slider/package.json +0 -5
  112. package/libs/stepper/package.json +0 -5
  113. package/libs/swipe/package.json +0 -5
  114. package/libs/swipeItem/package.json +0 -5
  115. package/libs/switch/package.json +0 -5
  116. package/libs/tab/package.json +0 -5
  117. package/libs/tabs/package.json +0 -5
  118. package/libs/toast/package.json +0 -5
  119. package/libs/tooltip/package.json +0 -5
@@ -1,2 +1,1020 @@
1
- (function(I,A){typeof exports=="object"&&typeof module<"u"?A(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],A):(I=typeof globalThis<"u"?globalThis:I||self,A(I.tabs={},I.Vue))})(this,function(I,A){"use strict";var q=document.createElement("style");q.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-tabs__list{background-color:#fff}.y-tabs__list-child-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative}.y-tabs__list-child-wrapper--left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.y-tabs__list-child-wrapper--center{-ms-flex-pack:distribute;justify-content:space-around}.y-tabs__list-child-wrapper--large{height:56px}.y-tabs__list-child-wrapper--middle{height:44px}.y-tabs__list-child-wrapper--small{height:40px}.y-tabs__list-child-wrapper--scrollable{overflow-x:auto;overflow-y:hidden;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.y-tabs__list-child-wrapper--scrollable::-webkit-scrollbar{display:none}.y-tabs-title{color:#4c4c4c;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:1.4;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0 16px}.y-tabs-title__large,.y-tabs-title__middle{font-size:16px}.y-tabs-title__large--active,.y-tabs-title__middle--active{color:#68e38b;font-size:18px;font-weight:700}.y-tabs-title__small{font-size:14px}.y-tabs-title__small--active{color:#68e38b;font-size:14px;font-weight:500}.y-tabs-title--scrollable{min-width:60px;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;padding:16px}.y-tabs-title--disabled{color:#ccc}.y-tabs__line{position:absolute;background-color:#68e38b;width:12px;height:3px;border-radius:20px;bottom:0;left:0}
2
- `,document.head.appendChild(q);const M=(e,s)=>s?typeof s=="string"?` ${e}--${s}`:Array.isArray(s)?s.reduce((r,i)=>r+M(e,i),""):Object.keys(s).reduce((r,i)=>r+(s[i]?M(e,i):""),""):"",oe=e=>(s,r)=>{let i=s,g=r;return i&&typeof i!="string"&&(g=i,i=""),i=i?`${e}__${i}`:e,`${i}${M(i,g)}`},ce=()=>(e,s)=>s?`${M(`y-${e}`,s)}`:`y-${e}`,fe={"pull-refresh":{pulling:"下拉刷新...",loosing:"释放刷新...",loading:"数据加载中...",success:"数据已更新",failed:"数据跟新失败,请稍后再试"},"form-item":{validateMessage:"请输入正确内容"}};A.ref("zh-CN"),A.reactive({"zh-CN":fe});const G=e=>{const s=`y-${e}`;return[s,oe(s),ce()]},ee=(e,s)=>typeof e=="string"&&e.includes("%")&&e.includes("%")?s*Number(e.replace(/%/g,""))/100:Number(e),de=e=>{const s=[],r=i=>{Array.isArray(i)&&i.forEach(g=>{var f;A.isVNode(g)&&(s.push(g),(f=g.component)!=null&&f.subTree&&r(g.component.subTree.children),g.children&&r(g.children))})};return r(e),s},Be=(e,s)=>{const r=de(s.subTree.children);e.sort((i,g)=>r.indexOf(i.vnode)-r.indexOf(g.vnode))},te=e=>{const s=A.getCurrentInstance(),r=A.reactive([]);return{childrens:r,initProvide:g=>{const f=o=>{o.proxy&&(r.push(o),s&&Be(r,s))},l=o=>{const d=r.indexOf(o);r.splice(d,1)};A.provide(e,{addChild:f,removeChild:l,childrens:r,...g})}}},Ae=e=>{const s=A.inject(e,null),r=A.getCurrentInstance();if(s&&r){const{childrens:i,addChild:g,removeChild:f}=s;return g(r),A.onUnmounted(()=>f(r)),{index:A.computed(()=>i.indexOf(r)),parent:s}}return{parent:null,index:A.ref(-1)}},[ge,ye]=G("swipe-item"),H=A.defineComponent({name:ge,props:{clonenNode:{type:Object,default:null},index:{type:Number,default:-1}},setup(e,{slots:s}){const r=A.getCurrentInstance(),{parent:i}=Ae(ie);!e.clonenNode&&r&&(i==null||i.children.push(r));const g=A.computed(()=>e.clonenNode?e.index:i==null?void 0:i.children.findIndex(l=>l.proxy===(r==null?void 0:r.proxy))),f=A.computed(()=>{const l=`${(i==null?void 0:i.itemDetail.size)||0}px`;let o="auto";const d=`${(i==null?void 0:i.itemDetail.space)||0}px`;return i!=null&&i.props.autoHeight&&(i==null?void 0:i.activeIndex)!==g.value&&(o="0"),i!=null&&i.props.vertical?{height:l,width:o,marginBottom:d}:{width:l,height:o,marginRight:d}});return()=>{var o,d;const l=((o=i==null?void 0:i.itemShowedList)==null?void 0:o.list[g.value||0])||!1;return A.createVNode("div",{class:ye(),style:f.value},[l?e.clonenNode||((d=s.default)==null?void 0:d.call(s)):null])}}});var O=(e=>(e.left="left",e.top="top",e.bottom="bottom",e.right="right",e))(O||{}),R=(e=>(e.start="start",e.center="center",e.end="end",e))(R||{});const we={autoplayTime:{type:Number,default:0},duration:{type:Number,default:300},initIndex:{type:Number,default:0},loop:{type:Boolean,default:!0},dots:{type:Boolean,default:!0},dotsPosition:{type:String,default:null},dotsColor:{type:String,default:""},lazy:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!1},itemSize:{type:[Number,String],default:""},itemSpace:{type:[Number,String],default:0},minSwipeDistance:{type:[Number,String],default:"50%"},touchable:{type:Boolean,default:!0},isFollowHand:{type:Boolean,default:!0},align:{type:String,default:"center"}},[se,_]=G("swipe"),ie=se,be=A.defineComponent({name:se,components:{YSwipeItem:H},props:we,setup(e,{slots:s,emit:r,expose:i}){const{initProvide:g}=te(ie),f=A.reactive([]),l=A.ref(Number(e.initIndex)),o=A.reactive({size:0,space:0,isFillViewport:!1}),d=A.reactive({offset:0,viewportSize:0,cloneNodeCount:0}),C=A.ref(),b=A.ref(),p=()=>{const t=f.length,n=[];for(let y=0;y<t;y++)n.push(!e.lazy);return n},z=()=>{if(!e.lazy)return;const t=o.size+o.space,n=f.length*t;let y=-(d.offset+c.offset)-d.cloneNodeCount*t;y<0&&(y+=n);const m=y+d.viewportSize;for(let u=0;u<f.length;u++)if(!N.list[u]){const h=t*u,Q=h+o.size;(h>=y&&h<m||Q>y&&Q<m||h<y&&Q>m)&&(N.list[u]=!0)}},N=A.reactive({list:p()}),E=()=>{N.list=p(),z()};A.watch(()=>[...f],E);const D=(t,n)=>{t?o.size=ee(t,n):o.size=n,o.space=Number(e.itemSpace)||0,o.isFillViewport=o.size>=n,d.viewportSize=n,d.cloneNodeCount=$()},$=()=>{if(F.value){const t=o.size+o.space;if(t===0)return 0;const n=d.viewportSize*2-t,y=Math.ceil(n/t);return Math.min(y,f.length-1)}return 0},L=()=>{if(!C.value)return;const{width:t,height:n}=C.value.getBoundingClientRect();e.vertical?D(e.itemSize,n):D(e.itemSize,t),l.value=l.value>=f.length?f.length-1:l.value,l.value<0&&(l.value=0),Y(l.value),E(),w()};A.onMounted(()=>{if(A.nextTick(L).catch(()=>{}),e.touchable&&C.value){const t=C.value;t.addEventListener("touchstart",Z,!1),t.addEventListener("mousedown",Z,!1),t.addEventListener("touchmove",J,!1),t.addEventListener("mousemove",J,!1),t.addEventListener("touchend",k,!1),t.addEventListener("mouseup",k,!1),t.addEventListener("mouseleave",k,!1),t.addEventListener("touchcancel",k,!1)}window.addEventListener("resize",L,!1),window.addEventListener("orientationchange",L,!1)}),A.onBeforeUnmount(()=>{if(B(),e.touchable&&C.value){const t=C.value;t.removeEventListener("touchstart",Z,!1),t.removeEventListener("mousedown",Z,!1),t.removeEventListener("mousemove",J,!1),t.removeEventListener("touchmove",J,!1),t.removeEventListener("mouseup",k,!1),t.removeEventListener("touchend",k,!1),t.removeEventListener("mouseleave",k,!1),t.removeEventListener("touchcancel",k,!1)}window.removeEventListener("resize",L,!1),window.removeEventListener("orientationchange",L,!1)});const T=A.computed(()=>{let t=0;switch(e.align){case R.start:t=0;break;case R.center:t=(d.viewportSize-o.size)/2;break;case R.end:t=d.viewportSize-o.size;break;default:t=0}return t}),F=A.computed(()=>e.loop&&f.length>1),Y=t=>{const n=o.size+o.space;F.value?d.offset=-n*(t+d.cloneNodeCount)+T.value:(d.offset=-n*t+T.value,e.align!=="center"&&(t===0&&(d.offset=0),t===f.length-1&&(d.offset=-n*t+d.viewportSize-o.size)))},K=()=>{Y(l.value),r("afterChange",l.value)},S=t=>(f.length+t)%f.length,x=(t,n=!0)=>{l.value=S(t),Y(t),z(),r("change",l.value),n?(c.transitionEnabled=!0,b.value&&b.value.addEventListener("transitionend",()=>{c.transitionEnabled=!1,K()},{once:!0})):K()},v=(t=!0)=>{x(l.value-1,t)},U=(t=!0)=>{x(l.value+1,t)};let a=null;const B=()=>{e.autoplayTime&&a&&clearInterval(a)},w=()=>{e.autoplayTime&&f.length>1&&(a&&clearInterval(a),a=setInterval(()=>{U()},Number(e.autoplayTime)))},c=A.reactive({isDragging:!1,isFirstTouch:!0,startX:0,startY:0,offset:0,startTime:new Date,transitionEnabled:!1}),Z=t=>{if(c.transitionEnabled)return;let n=0,y=0;"touches"in t?(n=t.touches[0].clientX,y=t.touches[0].clientY):(n=t.clientX,y=t.clientY),c.startX=n,c.startY=y,c.isDragging=!0,c.isFirstTouch=!0,c.startTime=new Date},J=t=>{if(!c.isDragging)return;let n=0,y=0;"touches"in t?(n=t.touches[0].clientX,y=t.touches[0].clientY):(n=t.clientX,y=t.clientY);const m=n-c.startX,u=y-c.startY;if(c.isFirstTouch&&(c.isFirstTouch=!1,Math.abs(m)<Math.abs(u)!==e.vertical)){c.isDragging=!1;return}t.preventDefault(),c.offset=e.vertical?u:m,z(),r("dragging",{percent:c.offset/(o.size+o.space),offset:c.offset})},k=()=>{if(!c.isDragging)return;c.isDragging=!1;const n=new Date().getTime()-c.startTime.getTime();he()&&(Math.abs(c.offset)>Ee.value||Math.abs(c.offset)/n>.5)&&(c.offset>0?v():U()),c.offset=0,w()},Ee=A.computed(()=>ee(e.minSwipeDistance,o.size+o.space)),he=()=>{if(F.value)return!0;const t=c.offset>0?l.value-1:l.value+1;return t>=0&&t<f.length},Ce=A.computed(()=>{const t=c.isDragging&&!e.isFollowHand?d.offset:d.offset+c.offset,n={};return e.vertical?(n.transform=`translate3d(0, ${t}px, 0)`,n.transitionDuration=c.transitionEnabled?`${e.duration}ms`:"0ms"):(n.transform=`translate3d(${t}px, 0, 0)`,n.transitionDuration=c.transitionEnabled?`${e.duration}ms`:"0ms"),c.isDragging&&(n.transition="none"),e.vertical&&(n.flexDirection="column"),e.autoHeight&&(n.display="block",n.whiteSpace="nowrap"),n}),Ie=A.computed(()=>["y-swipe__dots",`y-swipe__dots--${e.dotsPosition||(e.vertical?O.left:O.bottom)}`]);i({moveTo:x,next:U,prev:v,resize:L});const Qe=A.reactive({children:f,activeIndex:l,props:e,itemDetail:o,itemShowedList:N});g(Qe);const Le=()=>e.dots?A.createVNode("div",{class:Ie.value},[f.map((t,n)=>{const y=_("dot",{active:n===l.value});return A.createVNode("div",{class:y,style:{backgroundColor:e.dotsColor},key:n},null)})]):null;return()=>{var t;return A.createVNode("div",{class:_(),ref:C},[A.createVNode("div",{class:_("track"),style:Ce.value,ref:b},[Array(d.cloneNodeCount).fill("").map((n,y)=>{var h,Q,W;const m=S(y-d.cloneNodeCount),u=(W=(h=f[m])==null?void 0:(Q=h.slots).default)==null?void 0:W.call(Q);return u?A.createVNode(H,{clonenNode:u,index:m},null):null}),(t=s.default)==null?void 0:t.call(s),Array(d.cloneNodeCount).fill("").map((n,y)=>{var h,Q,W;const m=S(y),u=(W=(h=f[m])==null?void 0:(Q=h.slots).default)==null?void 0:W.call(Q);return u?A.createVNode(H,{clonenNode:u,index:m},null):null})]),s.dots?s.dots():Le()])}}}),[ue,ae]=G("tabs-title"),ne=A.defineComponent({name:ue,props:{active:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},title:{type:String,default:null},titleSlot:{type:Function,default:null},disabled:{type:Boolean,default:!1}},setup(e){const{parent:s}=Ae(le),r=A.computed(()=>[{"y-el--clickable":!e.disabled},ae({scrollable:e.scrollable,disabled:e.disabled}),ae(`${(s==null?void 0:s.props.size)||"middle"}`,{active:e.active}),s==null?void 0:s.props.titleClass,e.active?s==null?void 0:s.props.titleActiveClass:""]),i=A.computed(()=>({...s==null?void 0:s.props.titleStyle,...e.active?{...s==null?void 0:s.props.titleActiveStyle}:{}}));return()=>{const{title:g,titleSlot:f}=e;return A.createVNode("div",{class:r.value,title:g,style:i.value,role:"presentation"},[f?f():g])}}}),j=null,re={initIndex:{type:Number,default:0},initName:{type:[Number,String],default:null},duration:{type:Number,default:300},lazy:{type:Boolean,default:!1},lineColor:{type:String,default:""},lineWidth:{type:[Number,String],default:"12px"},lineHeight:{type:[Number,String],default:"3px"},titleWrapperClass:j,titleScrollThreshold:{type:Number,default:5},titleStyle:{type:[Object],default:null},titleClass:{type:j,default:null},titleActiveStyle:{type:[Object],default:null},titleActiveClass:{type:j,default:null},touchable:{type:Boolean,default:!0},changeWithAnimation:{type:Boolean,default:!1},size:{type:String,default:"large"},align:{type:String,default:"center"}};function me(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!A.isVNode(e)}const[P,X]=G("tabs"),le=P,V=A.defineComponent({name:P,components:{YTabTitle:ne},props:re,setup(e,{slots:s,emit:r,expose:i}){const{initProvide:g}=te(le),f=A.ref(!1),l=A.reactive([]),o=A.ref(),d=A.computed(()=>l.length>e.titleScrollThreshold),C=a=>l.findIndex(B=>(B.$props?B.$props.name:"")===a),b=A.ref(e.initName?C(e.initName):e.initIndex),p=a=>{b.value=a;const B=o.value;B&&(B==null||B.moveTo(a,e.changeWithAnimation))};i({scrollToByIndex:a=>{p(a)},scrollToByName:a=>{const B=C(a);p(B)}});const E=A.ref([]),D=A.ref(),$=a=>B=>{E.value[a]=B},L=a=>{const{title:B,name:w,disabled:c}=l[a].$props||{};b.value!==a&&(r(c?"disabledClick":"click",a,B,w),!c&&p(a))},T=async()=>{await A.nextTick(()=>{if(!d.value||!D.value)return;const a=D.value;if(!a||!E.value[b.value])return;const B=E.value[b.value].$el,w=B.offsetLeft-(a.offsetWidth-B.offsetWidth)/2-a.scrollLeft;a.scrollBy({left:w,behavior:"smooth"})})};A.onBeforeUpdate(()=>{E.value=[]});const F=A.reactive({transform:"translateX(50%)",transition:"all 0ms ease-out"}),Y=async()=>{await A.nextTick(()=>{if(!E.value||E.value.length===0)return;const a=b.value>=E.value.length?0:b.value,B=E.value[a].$el,w=B.offsetLeft+B.offsetWidth/2;F.transform=`translateX(${w}px) translateX(-50%)`,f.value&&(F.transition=`all ${e.duration}ms ease-out`),f.value=!0})},K=a=>{const{title:B,name:w}=l[a].$props||{};r("change",a,B,w),b.value=a},S=a=>{const{title:B,name:w}=l[a].$props||{};r("afterChange",a,B,w),b.value=a},x=A.reactive({children:l,activeIndex:b,props:e});g(x);const v=a=>U(a)&&/^\d+(\.\d+)?$/.test(a)?`${a}px`:a,U=a=>Object.prototype.toString.call(a)==="[object String]";return A.onMounted(async()=>{await Y()}),A.watch(()=>b.value,async()=>{await Y(),await T()}),A.watch(()=>{var a;return(a=s.default)==null?void 0:a.length},async()=>{await Y()}),()=>{let a;return A.createVNode("div",{class:P},[A.createVNode("div",{class:X("list")},[A.createVNode("div",{ref:D,class:X("list-child-wrapper",{scrollable:d.value,[e.size]:e.size,[e.align]:e.align})},[l.length>0&&l.map((B,w)=>A.createVNode(ne,{title:B.title,disabled:B.disabled,"title-slot":B.$slots.title,key:w,ref:$(w),active:b.value===w,scrollable:d.value,onClick:()=>L(w)},null)),A.createVNode("div",{class:X("line"),style:{...F,width:v(e.lineWidth),height:v(e.lineHeight),backgroundColor:e.lineColor}},null)])]),s.default?A.createVNode(be,{ref:o,dots:!1,loop:!1,initIndex:b.value,lazy:e.lazy,touchable:e.touchable,duration:e.duration,"is-follow-hand":e.changeWithAnimation,onChange:K,onAfterChange:S},me(a=s.default())?a:{default:()=>[a]}):null])}}}),ke="",Fe="",Ye="",pe="",De="",Ne="";V.install=e=>{const{name:s}=V;e.component(s,V)},I.acceptProps=re,I.default=V,I.unknownProp=j,Object.defineProperties(I,{__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.tabs = {}, 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/LCMgLkawAiVGsBFDWFIbUFlYIDxZLrEuARQrLbBALCMgLkawAiVGsBFDWFAbUllYIDxZIyAuRrACJUawEUNYUhtQWVggPFkusS4BFCstsEEssDgrIyAuRrACJUawEUNYUBtSWVggPFkusS4BFCstsEIssDkriiAgPLAEI0KKOCMgLkawAiVGsBFDWFAbUllYIDxZLrEuARQrsARDLrAuKy2wQyywABawBCWwBCYgICBGI0dhsAojQi5HI0cjYbAJQysjIDwgLiM4sS4BFCstsEQssQgEJUKwABawBCWwBCUgLkcjRyNhILAEI0KxCgBCsAlDKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsS4BFCstsEUssQA4Ky6xLgEUKy2wRiyxADkrISMgIDywBCNCIzixLgEUK7AEQy6wListsEcssAAVIEewACNCsgABARUUEy6wNCotsEgssAAVIEewACNCsgABARUUEy6wNCotsEkssQABFBOwNSotsEossDcqLbBLLLAAFkUjIC4gRoojYTixLgEUKy2wTCywCCNCsEsrLbBNLLIAAEQrLbBOLLIAAUQrLbBPLLIBAEQrLbBQLLIBAUQrLbBRLLIAAEUrLbBSLLIAAUUrLbBTLLIBAEUrLbBULLIBAUUrLbBVLLMAAABBKy2wViyzAAEAQSstsFcsswEAAEErLbBYLLMBAQBBKy2wWSyzAAABQSstsFosswABAUErLbBbLLMBAAFBKy2wXCyzAQEBQSstsF0ssgAAQystsF4ssgABQystsF8ssgEAQystsGAssgEBQystsGEssgAARistsGIssgABRistsGMssgEARistsGQssgEBRistsGUsswAAAEIrLbBmLLMAAQBCKy2wZyyzAQAAQistsGgsswEBAEIrLbBpLLMAAAFCKy2waiyzAAEBQistsGssswEAAUIrLbBsLLMBAQFCKy2wbSyxADorLrEuARQrLbBuLLEAOiuwPistsG8ssQA6K7A/Ky2wcCywABaxADorsEArLbBxLLEBOiuwPistsHIssQE6K7A/Ky2wcyywABaxATorsEArLbB0LLEAOysusS4BFCstsHUssQA7K7A+Ky2wdiyxADsrsD8rLbB3LLEAOyuwQCstsHgssQE7K7A+Ky2weSyxATsrsD8rLbB6LLEBOyuwQCstsHsssQA8Ky6xLgEUKy2wfCyxADwrsD4rLbB9LLEAPCuwPystsH4ssQA8K7BAKy2wfyyxATwrsD4rLbCALLEBPCuwPystsIEssQE8K7BAKy2wgiyxAD0rLrEuARQrLbCDLLEAPSuwPistsIQssQA9K7A/Ky2whSyxAD0rsEArLbCGLLEBPSuwPistsIcssQE9K7A/Ky2wiCyxAT0rsEArLbCJLLMJBAIDRVghGyMhWUIrsAhlsAMkUHixBQEVRVgwWS0AAAAAS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAdCswAAAgAqsQAHQrUVAg8CAggqsQAHQrUXABIAAggqsQAJQrsFgAQAAAIACSqxAAtCuwBAAEAAAgAJKrEDAESxJAGIUViwQIhYsQNkRLEmAYhRWLoIgAABBECIY1RYsQMARFlZWVm1FwARAQIMKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANwA3ADcANz/5v/mADIAMgAyADIAAAAAAOYBEgFYAXYBzAImAloCsALUA0wDmgPoAAAACgC7/lsDNgYxAAMADwAVABkAIwApADUAOQA9AEgA+kD3QQEhAUkAFhgVFRZwAAEkAQcCAQdlBgECBQEDBAIDZQAEJQEKDAQKZQAMCwEJCAwJZQAIJgERDQgRZScBFA4NFFUQAQ0ADg8NDmUADwASEw8SZQATKBoCGBYTGGUAFQAXGRUXZgAZKQEcHhkcZQAeAB0bHh1lABsqASMfGyNlIgEfACEgHyFlACAAACBVACAgAF0AACAATT4+NjYqKiQkGhoQEAQEPkg+SEdGRURDQkA/PTw7OjY5Njk4Nyo1KjU0MzIxMC8uLSwrJCkkKSgnJiUaIxojIiEgHx4dHBsZGBcWEBUQFRQTEhEEDwQPERERERIRECsIGysBIREhBRUzFSMVITUjNTM1ARUhNSM1ByM1MwcVMxUjFTM1MzUHFSEVITUHFTM1MxUjNSMVITUBFSE1ByM1MwUVMwcVITUjNzM1Azb9hQJ7/huChAFNhIT+swFNhEVCQoSEhMmEQv71AU3JRULJQgFN/rMBTULJyf71jIwBTc2NQP5bB9aGQ0pCQkpD/v3RRI2NScNCSkONQniFRMn1cC5foePj/qXj46Ffz0JeQ0NeQgAAAAEAsAEaBCAEigALACZAIwAAAQMAVQUBAQQBAgMBAmUAAAADXQADAANNEREREREQBgcaKwEjESEVIREzESE1IQLW3P62AUrcAUr+tgSK/rbc/rYBStwAAAACAFj/5gPIBb4AEQAfACVAIgQBAQACAwECZwADAwBfAAAAEQBMAAAdGxYUABEAECcFBxUrAAYGFREUFhYzMjY2NRE0JiYjAzQ2MzIWFREUBiMiJjUBi8hra8iFhchra8iF3HNpaXNzaWlzBb5wv3P9bHO/cHC/cwKUc79w/l5Xb29X/WxXb29XAAAAAAEAWP/mAeQFvgAGABtAGAIBAAMAAQFKAAEBAF0AAAARAEwREwIHFisTFTcRMxEjWLDc3AWS3Cz7BAXYAAEAWP/mA8gFvgAkADdANCEBAwQBShcBAQFJAAECBAIBBH4AAAACAQACZwUBBAQDXQADAxEDTAAAACQAJB0iEysGBxgrJTYSFTY2NzY1NCYmIyIGBhUzNDYzMhYVFAcGBgcGBgIHBxUhNQGHhehjWw8HasiGhshq3G9tbW8DCEhQD5zuQRcDcMKmARsBfJ1NIydwtGhotHBRX19REBEsdmMRvv7bVB7A3AAAAAABAFj/5gPIBb4AKAA/QDwoAQMEAUoABgUEBQYEfgABAwIDAQJ+AAcABQYHBWcABAADAQQDZwACAgBfAAAAEQBMIxIkERQiEyQIBxwrABUUBgYjIiYmNTMUFjMyNjU0JiM1MjY1NCYjIgYVIzQ2NjMyFhYVFAcDyGrIhobIatxubm5ugIiIgG5ubm7casiGhshqiwJY5nC0aGi0cFFfX1GCcNxwglFfX1FwtGhotHDmegAAAAABAFj/5gPIBb4ADgAtQCoKAQIBAUoABQAFgwYBAQQBAgMBAmYAAAADXQADAxEDTBESERERERAHBxsrATMRMxUjFSM1ITUBMwEhAmjchITc/fABye7+SQEQAyr+dNzc3LAETPvgAAAAAAEAWP/mA8gFvgAgAEFAPgEBAgYHBgIEAgJKAAQCAwIEA34AAQAABgEAZQcBBgACBAYCZwADAwVfAAUFEQVMAAAAIAAfIxImJBESCAcaKwAHEyE1IQMXNjYzMhYWFRQGBiMiJjUjFBYWMzISNTQCIwG3UBoCG/0fTdoIalZQYCwsYFBubtxqyIba3t7aA9oYASDc/PMdMDo5fWhofTlfUXC0aAEI8vIBCAAAAAABAFj/5gPIBb4ABgAjQCAFAQABAUoAAQAAAgEAZQMBAgIRAkwAAAAGAAYREQQHFisXASE1IRUB+wHS/YsDcP4dGgT83K361QADAFj/5gPIBb4AGwArAD0AO0A4Gw0CBAMBSgABAAIDAQJnBgEDAAQFAwRnBwEFBQBfAAAAEQBMLCwcHCw9LDw1MxwrHCotLCUIBxcrEgYVFBYWMzI2NjU0Jic2NjU0JiYjIgYGFRQWFzYmJjU0NjYzMhYWFRQGBiMCJiY1NDY3NjMyFxYWFRQGBiOpUXfKd3fKd1FJPkZwwHJywHBGPuhbNTVbNjZbNTVbNjtmO0U4LTI4MjQ+O2Y7Aq+uY3fKd3fKd2KtPzmfWHLAcHDAclifOWo1WzY2WzU1WzY2WzX9bDtmO0BrGxYaHGk9O2Y7AAACAFj/5gPIBb4AEgAkAClAJg8BAwEBSgACAQKDAAEAAwQBA2gABAQAXwAAABEATCYkEiYkBQcZKxIVFBYWMzI2NjU0JiYjIgcBIwEXNjYzMhYWFRQGBiMiJiY1NDdYdsp4eMp2dsp4GxsBB+/+jcgbbEI8ZTs7ZTw8ZTsRAf1feMp2dsp4eMp2AwJr/JVbO0c7ZTw8ZTs7ZTwuKAACAFj/5gPIBb4AEgAkACdAJA8BAQMBSgAAAAQDAARnAAMAAQIDAWcAAgIRAkwmJBImJAUHGSsANTQmJiMiBgYVFBYWMzI3ATMBJwYGIyImJjU0NjYzMhYWFRQHA8h2ynh4ynZ2yngbG/757wFzyBtsQjxlOztlPDxlOxEDp194ynZ2ynh4ynYD/ZUDa1s7RztlPDxlOztlPC4oAAAAABEA0gABAAAAAAAAAC0AAAABAAAAAAABAAsALQABAAAAAAACAAcAOAABAAAAAAADAB0APwABAAAAAAAEABMAXAABAAAAAAAFAA0AbwABAAAAAAAGABIAfAABAAAAAAAJAAMAjgADAAEECQAAAFoAkQADAAEECQABABYA6wADAAEECQACAAgBAQADAAEECQADADoBCQADAAEECQAEACYBQwADAAEECQAFABoBaQADAAEECQAGACQBgwADAAEECQAJAAYBpwADAAEECQARAA4BrUNvcHlyaWdodCCpIDIwMTcgYnkgWVVYLiBBbGwgcmlnaHRzIHJlc2VydmVkLll1ZXdlbiBGb250UmVndWxhcjIuMDAwO1VLV047WXVld2VuRm9udC1SZWd1bGFyWXVld2VuIEZvbnQgUmVndWxhclZlcnNpb24gMi4wMDBZdWV3ZW5Gb250LVJlZ3VsYXJZVVgAQwBvAHAAeQByAGkAZwBoAHQAIACpACAAMgAwADEANwAgAGIAeQAgAFkAVQBYAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4AWQB1AGUAdwBlAG4AIABGAG8AbgB0AEIAbwBsAGQAMgAuADAAMAAwADsAVQBLAFcATgA7AFkAdQBlAHcAZQBuAEYAbwBuAHQALQBSAGUAZwB1AGwAYQByAFkAdQBlAHcAZQBuACAARgBvAG4AdAAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADIALgAwADAAMABZAHUAZQB3AGUAbgBGAG8AbgB0AC0AUgBlAGcAdQBsAGEAcgBZAFUAWABSAGUAZwB1AGwAYQByAAAAAAIAAAAAAAD/MwBmAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAA4AEwAUABUAFgAXABgAGgAbABkAHAAAAAEAAf//AA8=") 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/* eslint-disable */\n.y-tabs__list {\n background-color: #fff;\n}\n\n.y-tabs__list-child-wrapper {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n width: 100%;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n position: relative;\n}\n.y-tabs__list-child-wrapper--left {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n.y-tabs__list-child-wrapper--center {\n -ms-flex-pack: distribute;\n justify-content: space-around;\n}\n.y-tabs__list-child-wrapper--large {\n height: 56px;\n}\n.y-tabs__list-child-wrapper--middle {\n height: 44px;\n}\n.y-tabs__list-child-wrapper--small {\n height: 40px;\n}\n.y-tabs__list-child-wrapper--scrollable {\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n.y-tabs__list-child-wrapper--scrollable::-webkit-scrollbar {\n display: none;\n}\n\n.y-tabs-title {\n color: #4c4c4c;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n line-height: 1.4;\n height: 100%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0 16px;\n}\n.y-tabs-title__large, .y-tabs-title__middle {\n font-size: 16px;\n}\n.y-tabs-title__large--active, .y-tabs-title__middle--active {\n color: #68e38b;\n font-size: 18px;\n font-weight: 700;\n}\n.y-tabs-title__small {\n font-size: 14px;\n}\n.y-tabs-title__small--active {\n color: #68e38b;\n font-size: 14px;\n font-weight: 500;\n}\n.y-tabs-title--scrollable {\n min-width: 60px;\n -webkit-box-flex: 1;\n -ms-flex: 1 0 auto;\n flex: 1 0 auto;\n padding: 16px;\n}\n.y-tabs-title--disabled {\n color: #ccc;\n}\n\n.y-tabs__line {\n position: absolute;\n background-color: #68e38b;\n width: 12px;\n height: 3px;\n border-radius: 20px;\n bottom: 0;\n left: 0;\n}';
7
+ document.head.appendChild(__vite_style__);
8
+ const getMods = (el, mods) => {
9
+ if (!mods) {
10
+ return "";
11
+ }
12
+ if (typeof mods === "string") {
13
+ return ` ${el}--${mods}`;
14
+ }
15
+ if (Array.isArray(mods)) {
16
+ return mods.reduce((acc, cur) => acc + getMods(el, cur), "");
17
+ }
18
+ return Object.keys(mods).reduce(
19
+ (acc, cur) => acc + (mods[cur] ? getMods(el, cur) : ""),
20
+ ""
21
+ );
22
+ };
23
+ const createBEM = (block) => {
24
+ return (el, mods) => {
25
+ let _el = el;
26
+ let _mods = mods;
27
+ if (_el && typeof _el !== "string") {
28
+ _mods = _el;
29
+ _el = "";
30
+ }
31
+ _el = _el ? `${block}__${_el}` : block;
32
+ return `${_el}${getMods(_el, _mods)}`;
33
+ };
34
+ };
35
+ const createGlobalBem = () => {
36
+ return (el, mods) => {
37
+ if (!mods) {
38
+ return `y-${el}`;
39
+ }
40
+ return `${getMods(`y-${el}`, mods)}`;
41
+ };
42
+ };
43
+ const defaultLang = {
44
+ "pull-refresh": {
45
+ pulling: "下拉刷新...",
46
+ loosing: "释放刷新...",
47
+ loading: "数据加载中...",
48
+ success: "数据已更新",
49
+ failed: "数据跟新失败,请稍后再试"
50
+ },
51
+ "form-item": {
52
+ validateMessage: "请输入正确内容"
53
+ }
54
+ };
55
+ vue.ref("zh-CN");
56
+ vue.reactive({
57
+ "zh-CN": defaultLang
58
+ });
59
+ const createNamespace = (name2) => {
60
+ const prefixedName = `y-${name2}`;
61
+ return [prefixedName, createBEM(prefixedName), createGlobalBem()];
62
+ };
63
+ const parsePercent = (val, baseNumber) => {
64
+ if (typeof val === "string" && val.includes("%")) {
65
+ if (!val.includes("%"))
66
+ return Number(val);
67
+ return baseNumber * Number(val.replace(/%/g, "")) / 100;
68
+ }
69
+ return Number(val);
70
+ };
71
+ const filterChildren = (children) => {
72
+ const vnodes = [];
73
+ const _filterChildren = (childrens) => {
74
+ if (Array.isArray(childrens)) {
75
+ childrens.forEach((child) => {
76
+ var _a;
77
+ if (vue.isVNode(child)) {
78
+ vnodes.push(child);
79
+ if ((_a = child.component) == null ? void 0 : _a.subTree) {
80
+ _filterChildren(child.component.subTree.children);
81
+ }
82
+ if (child.children) {
83
+ _filterChildren(child.children);
84
+ }
85
+ }
86
+ });
87
+ }
88
+ };
89
+ _filterChildren(children);
90
+ return vnodes;
91
+ };
92
+ const sortChildren = (childrens, instance) => {
93
+ const vnodes = filterChildren(instance.subTree.children);
94
+ childrens.sort((a, b) => vnodes.indexOf(a.vnode) - vnodes.indexOf(b.vnode));
95
+ };
96
+ const setRelation = (key) => {
97
+ const instance = vue.getCurrentInstance();
98
+ const childrens = vue.reactive([]);
99
+ const initProvide = (value) => {
100
+ const addChild = (child) => {
101
+ if (child.proxy) {
102
+ childrens.push(child);
103
+ instance && sortChildren(childrens, instance);
104
+ }
105
+ };
106
+ const removeChild = (child) => {
107
+ const index = childrens.indexOf(child);
108
+ childrens.splice(index, 1);
109
+ };
110
+ vue.provide(key, {
111
+ addChild,
112
+ removeChild,
113
+ childrens,
114
+ ...value
115
+ });
116
+ };
117
+ return {
118
+ childrens,
119
+ initProvide
120
+ };
121
+ };
122
+ const useRelation = (key) => {
123
+ const parent = vue.inject(key, null);
124
+ const currentInstance = vue.getCurrentInstance();
125
+ if (parent && currentInstance) {
126
+ const { childrens, addChild, removeChild } = parent;
127
+ addChild(currentInstance);
128
+ vue.onUnmounted(() => removeChild(currentInstance));
129
+ const index = vue.computed(() => childrens.indexOf(currentInstance));
130
+ return {
131
+ index,
132
+ parent
133
+ };
134
+ }
135
+ return {
136
+ parent: null,
137
+ index: vue.ref(-1)
138
+ };
139
+ };
140
+ const [name$3, bem$3] = createNamespace("swipe-item");
141
+ const YSwipeItem = /* @__PURE__ */ vue.defineComponent({
142
+ name: name$3,
143
+ props: {
144
+ clonenNode: {
145
+ type: Object,
146
+ default: null
147
+ },
148
+ index: {
149
+ type: Number,
150
+ default: -1
151
+ }
152
+ },
153
+ setup(props, {
154
+ slots
155
+ }) {
156
+ const instance = vue.getCurrentInstance();
157
+ const {
158
+ parent
159
+ } = useRelation(SWIPE_PROVIDE_KEY);
160
+ if (!props.clonenNode && instance) {
161
+ parent == null ? void 0 : parent.children.push(instance);
162
+ }
163
+ const index = vue.computed(() => {
164
+ if (props.clonenNode) {
165
+ return props.index;
166
+ }
167
+ return parent == null ? void 0 : parent.children.findIndex((item) => item.proxy === (instance == null ? void 0 : instance.proxy));
168
+ });
169
+ const style2 = vue.computed(() => {
170
+ const width = `${(parent == null ? void 0 : parent.itemDetail.size) || 0}px`;
171
+ let height = "auto";
172
+ const spacing = `${(parent == null ? void 0 : parent.itemDetail.space) || 0}px`;
173
+ if ((parent == null ? void 0 : parent.props.autoHeight) && (parent == null ? void 0 : parent.activeIndex) !== index.value) {
174
+ height = "0";
175
+ }
176
+ if (parent == null ? void 0 : parent.props.vertical) {
177
+ return {
178
+ height: width,
179
+ width: height,
180
+ marginBottom: spacing
181
+ };
182
+ }
183
+ return {
184
+ width,
185
+ height,
186
+ marginRight: spacing
187
+ };
188
+ });
189
+ return () => {
190
+ var _a, _b;
191
+ const isShow = ((_a = parent == null ? void 0 : parent.itemShowedList) == null ? void 0 : _a.list[index.value || 0]) || false;
192
+ return vue.createVNode("div", {
193
+ "class": bem$3(),
194
+ "style": style2.value
195
+ }, [isShow ? props.clonenNode || ((_b = slots.default) == null ? void 0 : _b.call(slots)) : null]);
196
+ };
197
+ }
198
+ });
199
+ var Position = /* @__PURE__ */ ((Position2) => {
200
+ Position2["left"] = "left";
201
+ Position2["top"] = "top";
202
+ Position2["bottom"] = "bottom";
203
+ Position2["right"] = "right";
204
+ return Position2;
205
+ })(Position || {});
206
+ var Align = /* @__PURE__ */ ((Align2) => {
207
+ Align2["start"] = "start";
208
+ Align2["center"] = "center";
209
+ Align2["end"] = "end";
210
+ return Align2;
211
+ })(Align || {});
212
+ const swipeProps = {
213
+ autoplayTime: {
214
+ type: Number,
215
+ default: 0
216
+ },
217
+ duration: {
218
+ type: Number,
219
+ default: 300
220
+ },
221
+ initIndex: {
222
+ type: Number,
223
+ default: 0
224
+ },
225
+ loop: {
226
+ type: Boolean,
227
+ default: true
228
+ },
229
+ dots: {
230
+ type: Boolean,
231
+ default: true
232
+ },
233
+ dotsPosition: {
234
+ type: String,
235
+ default: null
236
+ },
237
+ dotsColor: {
238
+ type: String,
239
+ default: ""
240
+ },
241
+ lazy: {
242
+ type: Boolean,
243
+ default: false
244
+ },
245
+ vertical: {
246
+ type: Boolean,
247
+ default: false
248
+ },
249
+ autoHeight: {
250
+ type: Boolean,
251
+ default: false
252
+ },
253
+ itemSize: {
254
+ type: [Number, String],
255
+ default: ""
256
+ },
257
+ itemSpace: {
258
+ type: [Number, String],
259
+ default: 0
260
+ },
261
+ minSwipeDistance: {
262
+ type: [Number, String],
263
+ default: "50%"
264
+ },
265
+ touchable: {
266
+ type: Boolean,
267
+ default: true
268
+ },
269
+ isFollowHand: {
270
+ type: Boolean,
271
+ default: true
272
+ },
273
+ align: {
274
+ type: String,
275
+ default: "center"
276
+ }
277
+ };
278
+ const [name$2, bem$2] = createNamespace("swipe");
279
+ const SWIPE_PROVIDE_KEY = name$2;
280
+ const Swipe = /* @__PURE__ */ vue.defineComponent({
281
+ name: name$2,
282
+ components: {
283
+ YSwipeItem
284
+ },
285
+ props: swipeProps,
286
+ setup(props, {
287
+ slots,
288
+ emit,
289
+ expose
290
+ }) {
291
+ const {
292
+ initProvide
293
+ } = setRelation(SWIPE_PROVIDE_KEY);
294
+ const itemList = vue.reactive([]);
295
+ const activeIndex = vue.ref(Number(props.initIndex));
296
+ const itemDetail = vue.reactive({
297
+ // 元素尺寸
298
+ size: 0,
299
+ // 间距
300
+ space: 0,
301
+ // 元素宽度比swipe小,占满整个视窗
302
+ isFillViewport: false
303
+ });
304
+ const trackDetail = vue.reactive({
305
+ // 偏移量
306
+ offset: 0,
307
+ // 视窗大小
308
+ viewportSize: 0,
309
+ // 重复节点个数
310
+ cloneNodeCount: 0
311
+ });
312
+ const swipeRef = vue.ref();
313
+ const swipeTrackRef = vue.ref();
314
+ const getBooleanList = () => {
315
+ const l = itemList.length;
316
+ const result = [];
317
+ for (let i = 0; i < l; i++) {
318
+ result.push(!props.lazy);
319
+ }
320
+ return result;
321
+ };
322
+ const checkItemShowed = () => {
323
+ if (!props.lazy)
324
+ return;
325
+ const itemSizeSpace = itemDetail.size + itemDetail.space;
326
+ const trackSize = itemList.length * itemSizeSpace;
327
+ let viewportLeft = -(trackDetail.offset + dragDetail.offset) - trackDetail.cloneNodeCount * itemSizeSpace;
328
+ if (viewportLeft < 0) {
329
+ viewportLeft += trackSize;
330
+ }
331
+ const viewportRight = viewportLeft + trackDetail.viewportSize;
332
+ for (let i = 0; i < itemList.length; i++) {
333
+ if (!itemShowedList.list[i]) {
334
+ const left = itemSizeSpace * i;
335
+ const right = left + itemDetail.size;
336
+ if (left >= viewportLeft && left < viewportRight || right > viewportLeft && right < viewportRight || left < viewportLeft && right > viewportRight) {
337
+ itemShowedList.list[i] = true;
338
+ }
339
+ }
340
+ }
341
+ };
342
+ const itemShowedList = vue.reactive({
343
+ list: getBooleanList()
344
+ });
345
+ const initItemShowList = () => {
346
+ itemShowedList.list = getBooleanList();
347
+ checkItemShowed();
348
+ };
349
+ vue.watch(() => [...itemList], initItemShowList);
350
+ const setItemSize = (itemSize, viewportSize) => {
351
+ if (itemSize) {
352
+ itemDetail.size = parsePercent(itemSize, viewportSize);
353
+ } else {
354
+ itemDetail.size = viewportSize;
355
+ }
356
+ itemDetail.space = Number(props.itemSpace) || 0;
357
+ itemDetail.isFillViewport = itemDetail.size >= viewportSize;
358
+ trackDetail.viewportSize = viewportSize;
359
+ trackDetail.cloneNodeCount = getCloneNodeCount();
360
+ };
361
+ const getCloneNodeCount = () => {
362
+ if (needLoop.value) {
363
+ const sizeSpace = itemDetail.size + itemDetail.space;
364
+ if (sizeSpace === 0)
365
+ return 0;
366
+ const freeSize = trackDetail.viewportSize * 2 - sizeSpace;
367
+ const count = Math.ceil(freeSize / sizeSpace);
368
+ return Math.min(count, itemList.length - 1);
369
+ }
370
+ return 0;
371
+ };
372
+ const resize = () => {
373
+ if (!swipeRef.value)
374
+ return;
375
+ const {
376
+ width,
377
+ height
378
+ } = swipeRef.value.getBoundingClientRect();
379
+ if (props.vertical) {
380
+ setItemSize(props.itemSize, height);
381
+ } else {
382
+ setItemSize(props.itemSize, width);
383
+ }
384
+ activeIndex.value = activeIndex.value >= itemList.length ? itemList.length - 1 : activeIndex.value;
385
+ if (activeIndex.value < 0) {
386
+ activeIndex.value = 0;
387
+ }
388
+ updateTransform(activeIndex.value);
389
+ initItemShowList();
390
+ startAutoplay();
391
+ };
392
+ vue.onMounted(() => {
393
+ vue.nextTick(resize).catch(() => {
394
+ });
395
+ if (props.touchable && swipeRef.value) {
396
+ const swipeEl = swipeRef.value;
397
+ swipeEl.addEventListener("touchstart", onTouchStart, false);
398
+ swipeEl.addEventListener("mousedown", onTouchStart, false);
399
+ swipeEl.addEventListener("touchmove", onTouch, false);
400
+ swipeEl.addEventListener("mousemove", onTouch, false);
401
+ swipeEl.addEventListener("touchend", onTouchEnd, false);
402
+ swipeEl.addEventListener("mouseup", onTouchEnd, false);
403
+ swipeEl.addEventListener("mouseleave", onTouchEnd, false);
404
+ swipeEl.addEventListener("touchcancel", onTouchEnd, false);
405
+ }
406
+ window.addEventListener("resize", resize, false);
407
+ window.addEventListener("orientationchange", resize, false);
408
+ });
409
+ vue.onBeforeUnmount(() => {
410
+ stopAutoPlay();
411
+ if (props.touchable && swipeRef.value) {
412
+ const swipeEl = swipeRef.value;
413
+ swipeEl.removeEventListener("touchstart", onTouchStart, false);
414
+ swipeEl.removeEventListener("mousedown", onTouchStart, false);
415
+ swipeEl.removeEventListener("mousemove", onTouch, false);
416
+ swipeEl.removeEventListener("touchmove", onTouch, false);
417
+ swipeEl.removeEventListener("mouseup", onTouchEnd, false);
418
+ swipeEl.removeEventListener("touchend", onTouchEnd, false);
419
+ swipeEl.removeEventListener("mouseleave", onTouchEnd, false);
420
+ swipeEl.removeEventListener("touchcancel", onTouchEnd, false);
421
+ }
422
+ window.removeEventListener("resize", resize, false);
423
+ window.removeEventListener("orientationchange", resize, false);
424
+ });
425
+ const positionOffset = vue.computed(() => {
426
+ let offset = 0;
427
+ switch (props.align) {
428
+ case Align.start:
429
+ offset = 0;
430
+ break;
431
+ case Align.center:
432
+ offset = (trackDetail.viewportSize - itemDetail.size) / 2;
433
+ break;
434
+ case Align.end:
435
+ offset = trackDetail.viewportSize - itemDetail.size;
436
+ break;
437
+ default:
438
+ offset = 0;
439
+ }
440
+ return offset;
441
+ });
442
+ const needLoop = vue.computed(() => {
443
+ return props.loop && itemList.length > 1;
444
+ });
445
+ const updateTransform = (index) => {
446
+ const itemSizeSpace = itemDetail.size + itemDetail.space;
447
+ if (needLoop.value) {
448
+ trackDetail.offset = -itemSizeSpace * (index + trackDetail.cloneNodeCount) + positionOffset.value;
449
+ } else {
450
+ trackDetail.offset = -itemSizeSpace * index + positionOffset.value;
451
+ if (props.align !== "center") {
452
+ if (index === 0) {
453
+ trackDetail.offset = 0;
454
+ }
455
+ if (index === itemList.length - 1) {
456
+ trackDetail.offset = -itemSizeSpace * index + trackDetail.viewportSize - itemDetail.size;
457
+ }
458
+ }
459
+ }
460
+ };
461
+ const afterChange = () => {
462
+ updateTransform(activeIndex.value);
463
+ emit("afterChange", activeIndex.value);
464
+ };
465
+ const getIndex = (index) => {
466
+ return (itemList.length + index) % itemList.length;
467
+ };
468
+ const moveTo = (index, withAnimation = true) => {
469
+ activeIndex.value = getIndex(index);
470
+ updateTransform(index);
471
+ checkItemShowed();
472
+ emit("change", activeIndex.value);
473
+ if (withAnimation) {
474
+ dragDetail.transitionEnabled = true;
475
+ if (swipeTrackRef.value) {
476
+ swipeTrackRef.value.addEventListener("transitionend", () => {
477
+ dragDetail.transitionEnabled = false;
478
+ afterChange();
479
+ }, {
480
+ once: true
481
+ });
482
+ }
483
+ } else {
484
+ afterChange();
485
+ }
486
+ };
487
+ const prev = (withAnimation = true) => {
488
+ moveTo(activeIndex.value - 1, withAnimation);
489
+ };
490
+ const next = (withAnimation = true) => {
491
+ moveTo(activeIndex.value + 1, withAnimation);
492
+ };
493
+ let timer = null;
494
+ const stopAutoPlay = () => {
495
+ if (props.autoplayTime && timer) {
496
+ clearInterval(timer);
497
+ }
498
+ };
499
+ const startAutoplay = () => {
500
+ if (props.autoplayTime && itemList.length > 1) {
501
+ if (timer) {
502
+ clearInterval(timer);
503
+ }
504
+ timer = setInterval(() => {
505
+ next();
506
+ }, Number(props.autoplayTime));
507
+ }
508
+ };
509
+ const dragDetail = vue.reactive({
510
+ // 拖拽中
511
+ isDragging: false,
512
+ // 是否首次拖动
513
+ isFirstTouch: true,
514
+ // 拖拽起始位置X
515
+ startX: 0,
516
+ // 拖拽起始位置Y
517
+ startY: 0,
518
+ // 拖拽距离
519
+ offset: 0,
520
+ // 开始拖动时间
521
+ startTime: /* @__PURE__ */ new Date(),
522
+ // 是否在执行动画
523
+ transitionEnabled: false
524
+ });
525
+ const onTouchStart = (e) => {
526
+ if (dragDetail.transitionEnabled) {
527
+ return;
528
+ }
529
+ let clientX = 0;
530
+ let clientY = 0;
531
+ if ("touches" in e) {
532
+ clientX = e.touches[0].clientX;
533
+ clientY = e.touches[0].clientY;
534
+ } else {
535
+ clientX = e.clientX;
536
+ clientY = e.clientY;
537
+ }
538
+ dragDetail.startX = clientX;
539
+ dragDetail.startY = clientY;
540
+ dragDetail.isDragging = true;
541
+ dragDetail.isFirstTouch = true;
542
+ dragDetail.startTime = /* @__PURE__ */ new Date();
543
+ };
544
+ const onTouch = (e) => {
545
+ if (!dragDetail.isDragging) {
546
+ return;
547
+ }
548
+ let clientX = 0;
549
+ let clientY = 0;
550
+ if ("touches" in e) {
551
+ clientX = e.touches[0].clientX;
552
+ clientY = e.touches[0].clientY;
553
+ } else {
554
+ clientX = e.clientX;
555
+ clientY = e.clientY;
556
+ }
557
+ const offsetX = clientX - dragDetail.startX;
558
+ const offsetY = clientY - dragDetail.startY;
559
+ if (dragDetail.isFirstTouch) {
560
+ dragDetail.isFirstTouch = false;
561
+ const isVerticalTouch = Math.abs(offsetX) < Math.abs(offsetY);
562
+ if (isVerticalTouch !== props.vertical) {
563
+ dragDetail.isDragging = false;
564
+ return;
565
+ }
566
+ }
567
+ e.preventDefault();
568
+ dragDetail.offset = props.vertical ? offsetY : offsetX;
569
+ checkItemShowed();
570
+ emit("dragging", {
571
+ percent: dragDetail.offset / (itemDetail.size + itemDetail.space),
572
+ offset: dragDetail.offset
573
+ });
574
+ };
575
+ const onTouchEnd = () => {
576
+ if (!dragDetail.isDragging) {
577
+ return;
578
+ }
579
+ dragDetail.isDragging = false;
580
+ const now = /* @__PURE__ */ new Date();
581
+ const dragTime = now.getTime() - dragDetail.startTime.getTime();
582
+ if (canGoForward() && (Math.abs(dragDetail.offset) > minSwipeDistance.value || Math.abs(dragDetail.offset) / dragTime > 0.5)) {
583
+ dragDetail.offset > 0 ? prev() : next();
584
+ dragDetail.offset = 0;
585
+ } else {
586
+ dragDetail.offset = 0;
587
+ }
588
+ startAutoplay();
589
+ };
590
+ const minSwipeDistance = vue.computed(() => {
591
+ return parsePercent(props.minSwipeDistance, itemDetail.size + itemDetail.space);
592
+ });
593
+ const canGoForward = () => {
594
+ if (needLoop.value) {
595
+ return true;
596
+ }
597
+ const nextIndex = dragDetail.offset > 0 ? activeIndex.value - 1 : activeIndex.value + 1;
598
+ return nextIndex >= 0 && nextIndex < itemList.length;
599
+ };
600
+ const trackStyle = vue.computed(() => {
601
+ const offset = dragDetail.isDragging && !props.isFollowHand ? trackDetail.offset : trackDetail.offset + dragDetail.offset;
602
+ const style2 = {};
603
+ if (props.vertical) {
604
+ style2.transform = `translate3d(0, ${offset}px, 0)`;
605
+ style2.transitionDuration = dragDetail.transitionEnabled ? `${props.duration}ms` : "0ms";
606
+ } else {
607
+ style2.transform = `translate3d(${offset}px, 0, 0)`;
608
+ style2.transitionDuration = dragDetail.transitionEnabled ? `${props.duration}ms` : "0ms";
609
+ }
610
+ if (dragDetail.isDragging) {
611
+ style2.transition = "none";
612
+ }
613
+ if (props.vertical) {
614
+ style2.flexDirection = "column";
615
+ }
616
+ if (props.autoHeight) {
617
+ style2.display = "block";
618
+ style2.whiteSpace = "nowrap";
619
+ }
620
+ return style2;
621
+ });
622
+ const dotsClass = vue.computed(() => {
623
+ const position = props.dotsPosition || (props.vertical ? Position.left : Position.bottom);
624
+ return ["y-swipe__dots", `y-swipe__dots--${position}`];
625
+ });
626
+ expose({
627
+ moveTo,
628
+ next,
629
+ prev,
630
+ resize
631
+ });
632
+ const tabs = vue.reactive({
633
+ children: itemList,
634
+ activeIndex,
635
+ props,
636
+ itemDetail,
637
+ itemShowedList
638
+ });
639
+ initProvide(tabs);
640
+ const renderDots = () => {
641
+ if (props.dots) {
642
+ return vue.createVNode("div", {
643
+ "class": dotsClass.value
644
+ }, [itemList.map((_, index) => {
645
+ const className = bem$2("dot", {
646
+ active: index === activeIndex.value
647
+ });
648
+ return vue.createVNode("div", {
649
+ "class": className,
650
+ "style": {
651
+ backgroundColor: props.dotsColor
652
+ },
653
+ "key": index
654
+ }, null);
655
+ })]);
656
+ }
657
+ return null;
658
+ };
659
+ return () => {
660
+ var _a;
661
+ return vue.createVNode("div", {
662
+ "class": bem$2(),
663
+ "ref": swipeRef
664
+ }, [vue.createVNode("div", {
665
+ "class": bem$2("track"),
666
+ "style": trackStyle.value,
667
+ "ref": swipeTrackRef
668
+ }, [Array(trackDetail.cloneNodeCount).fill("").map((_, index) => {
669
+ var _a2, _b, _c;
670
+ const nodeIndex = getIndex(index - trackDetail.cloneNodeCount);
671
+ const item = (_c = (_a2 = itemList[nodeIndex]) == null ? void 0 : (_b = _a2.slots).default) == null ? void 0 : _c.call(_b);
672
+ return item ? vue.createVNode(YSwipeItem, {
673
+ "clonenNode": item,
674
+ "index": nodeIndex
675
+ }, null) : null;
676
+ }), (_a = slots.default) == null ? void 0 : _a.call(slots), Array(trackDetail.cloneNodeCount).fill("").map((_, index) => {
677
+ var _a2, _b, _c;
678
+ const nodeIndex = getIndex(index);
679
+ const item = (_c = (_a2 = itemList[nodeIndex]) == null ? void 0 : (_b = _a2.slots).default) == null ? void 0 : _c.call(_b);
680
+ return item ? vue.createVNode(YSwipeItem, {
681
+ "clonenNode": item,
682
+ "index": nodeIndex
683
+ }, null) : null;
684
+ })]), slots.dots ? slots.dots() : renderDots()]);
685
+ };
686
+ }
687
+ });
688
+ const [name$1, bem$1] = createNamespace("tabs-title");
689
+ const YTabTitle = /* @__PURE__ */ vue.defineComponent({
690
+ name: name$1,
691
+ props: {
692
+ active: {
693
+ type: Boolean,
694
+ default: false
695
+ },
696
+ scrollable: {
697
+ type: Boolean,
698
+ default: false
699
+ },
700
+ title: {
701
+ type: String,
702
+ default: null
703
+ },
704
+ titleSlot: {
705
+ type: Function,
706
+ default: null
707
+ },
708
+ disabled: {
709
+ type: Boolean,
710
+ default: false
711
+ }
712
+ },
713
+ setup(props) {
714
+ const {
715
+ parent
716
+ } = useRelation(TABS_KEY);
717
+ const titleClass = vue.computed(() => {
718
+ return [{
719
+ "y-el--clickable": !props.disabled
720
+ }, bem$1({
721
+ scrollable: props.scrollable,
722
+ disabled: props.disabled
723
+ }), bem$1(`${(parent == null ? void 0 : parent.props.size) || "middle"}`, {
724
+ active: props.active
725
+ }), parent == null ? void 0 : parent.props.titleClass, props.active ? parent == null ? void 0 : parent.props.titleActiveClass : ""];
726
+ });
727
+ const titleStyle = vue.computed(() => {
728
+ return {
729
+ ...parent == null ? void 0 : parent.props.titleStyle,
730
+ ...props.active ? {
731
+ ...parent == null ? void 0 : parent.props.titleActiveStyle
732
+ } : {}
733
+ };
734
+ });
735
+ return () => {
736
+ const {
737
+ title,
738
+ titleSlot
739
+ } = props;
740
+ return vue.createVNode("div", {
741
+ "class": titleClass.value,
742
+ "title": title,
743
+ "style": titleStyle.value,
744
+ "role": "presentation"
745
+ }, [titleSlot ? titleSlot() : title]);
746
+ };
747
+ }
748
+ });
749
+ const unknownProp = null;
750
+ const acceptProps = {
751
+ initIndex: {
752
+ type: Number,
753
+ default: 0
754
+ },
755
+ initName: {
756
+ type: [Number, String],
757
+ default: null
758
+ },
759
+ duration: {
760
+ type: Number,
761
+ default: 300
762
+ },
763
+ lazy: {
764
+ type: Boolean,
765
+ default: false
766
+ },
767
+ lineColor: {
768
+ type: String,
769
+ default: ""
770
+ },
771
+ lineWidth: {
772
+ type: [Number, String],
773
+ default: "12px"
774
+ },
775
+ lineHeight: {
776
+ type: [Number, String],
777
+ default: "3px"
778
+ },
779
+ titleWrapperClass: unknownProp,
780
+ titleScrollThreshold: {
781
+ type: Number,
782
+ default: 5
783
+ },
784
+ titleStyle: {
785
+ type: [Object],
786
+ default: null
787
+ },
788
+ titleClass: {
789
+ type: unknownProp,
790
+ default: null
791
+ },
792
+ titleActiveStyle: {
793
+ type: [Object],
794
+ default: null
795
+ },
796
+ titleActiveClass: {
797
+ type: unknownProp,
798
+ default: null
799
+ },
800
+ touchable: {
801
+ type: Boolean,
802
+ default: true
803
+ },
804
+ changeWithAnimation: {
805
+ type: Boolean,
806
+ default: false
807
+ },
808
+ size: {
809
+ type: String,
810
+ default: "large"
811
+ },
812
+ align: {
813
+ type: String,
814
+ default: "center"
815
+ }
816
+ };
817
+ function _isSlot(s) {
818
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
819
+ }
820
+ const [name, bem] = createNamespace("tabs");
821
+ const TABS_KEY = name;
822
+ const Tabs = /* @__PURE__ */ vue.defineComponent({
823
+ name,
824
+ components: {
825
+ YTabTitle
826
+ },
827
+ props: acceptProps,
828
+ setup(props, {
829
+ slots,
830
+ emit,
831
+ expose
832
+ }) {
833
+ const {
834
+ initProvide
835
+ } = setRelation(TABS_KEY);
836
+ const inited = vue.ref(false);
837
+ const childrenList = vue.reactive([]);
838
+ const swiperRef = vue.ref();
839
+ const isTabScrollable = vue.computed(() => childrenList.length > props.titleScrollThreshold);
840
+ const getCurIndexByName = (titleName) => {
841
+ return childrenList.findIndex((node) => (node.$props ? node.$props.name : "") === titleName);
842
+ };
843
+ const activeIndex = vue.ref(props.initName ? getCurIndexByName(props.initName) : props.initIndex);
844
+ const scrollTo = (index) => {
845
+ activeIndex.value = index;
846
+ const swiper = swiperRef.value;
847
+ Boolean(swiper) && (swiper == null ? void 0 : swiper.moveTo(index, props.changeWithAnimation));
848
+ };
849
+ const scrollToByIndex = (index) => {
850
+ scrollTo(index);
851
+ };
852
+ const scrollToByName = (tabName) => {
853
+ const curIndex = getCurIndexByName(tabName);
854
+ scrollTo(curIndex);
855
+ };
856
+ expose({
857
+ scrollToByIndex,
858
+ scrollToByName
859
+ });
860
+ const titlesRef = vue.ref([]);
861
+ const tabListRef = vue.ref();
862
+ const getTitlesRef = (index) => (titleRef) => {
863
+ titlesRef.value[index] = titleRef;
864
+ };
865
+ const clickTitle = (index) => {
866
+ const {
867
+ title,
868
+ name: clickedName,
869
+ disabled
870
+ } = childrenList[index].$props || {};
871
+ if (activeIndex.value === index)
872
+ return;
873
+ emit(disabled ? "disabledClick" : "click", index, title, clickedName);
874
+ if (disabled)
875
+ return;
876
+ scrollTo(index);
877
+ };
878
+ const titleScrollToView = async () => {
879
+ await vue.nextTick(() => {
880
+ if (!isTabScrollable.value || !tabListRef.value)
881
+ return;
882
+ const tabListEl = tabListRef.value;
883
+ if (!tabListEl || !titlesRef.value[activeIndex.value])
884
+ return;
885
+ const curTitleEl = titlesRef.value[activeIndex.value].$el;
886
+ const scrollDistance = curTitleEl.offsetLeft - (tabListEl.offsetWidth - curTitleEl.offsetWidth) / 2 - tabListEl.scrollLeft;
887
+ tabListEl.scrollBy({
888
+ left: scrollDistance,
889
+ behavior: "smooth"
890
+ });
891
+ });
892
+ };
893
+ vue.onBeforeUpdate(() => {
894
+ titlesRef.value = [];
895
+ });
896
+ const lintState = vue.reactive({
897
+ transform: "translateX(50%)",
898
+ transition: "all 0ms ease-out"
899
+ });
900
+ const updateLineStyle = async () => {
901
+ await vue.nextTick(() => {
902
+ if (!titlesRef.value || titlesRef.value.length === 0)
903
+ return;
904
+ const curIndex = activeIndex.value >= titlesRef.value.length ? 0 : activeIndex.value;
905
+ const curTitle = titlesRef.value[curIndex].$el;
906
+ const left = curTitle.offsetLeft + curTitle.offsetWidth / 2;
907
+ lintState.transform = `translateX(${left}px) translateX(-50%)`;
908
+ if (inited.value) {
909
+ lintState.transition = `all ${props.duration}ms ease-out`;
910
+ }
911
+ inited.value = true;
912
+ });
913
+ };
914
+ const swipeChange = (index) => {
915
+ const {
916
+ title,
917
+ name: swiperedName
918
+ } = childrenList[index].$props || {};
919
+ emit("change", index, title, swiperedName);
920
+ activeIndex.value = index;
921
+ };
922
+ const swipeAfterChange = (index) => {
923
+ const {
924
+ title,
925
+ name: afterSwiperedName
926
+ } = childrenList[index].$props || {};
927
+ emit("afterChange", index, title, afterSwiperedName);
928
+ activeIndex.value = index;
929
+ };
930
+ const tabs = vue.reactive({
931
+ children: childrenList,
932
+ activeIndex,
933
+ props
934
+ });
935
+ initProvide(tabs);
936
+ const getSize = (value) => {
937
+ if (isString(value))
938
+ return /^\d+(\.\d+)?$/.test(value) ? `${value}px` : value;
939
+ return value;
940
+ };
941
+ const isString = (value) => {
942
+ return Object.prototype.toString.call(value) === `[object String]`;
943
+ };
944
+ vue.onMounted(async () => {
945
+ await updateLineStyle();
946
+ });
947
+ vue.watch(() => activeIndex.value, async () => {
948
+ await updateLineStyle();
949
+ await titleScrollToView();
950
+ });
951
+ vue.watch(() => {
952
+ var _a;
953
+ return (_a = slots.default) == null ? void 0 : _a.length;
954
+ }, async () => {
955
+ await updateLineStyle();
956
+ });
957
+ return () => {
958
+ let _slot;
959
+ return vue.createVNode("div", {
960
+ "class": name
961
+ }, [vue.createVNode("div", {
962
+ "class": bem("list")
963
+ }, [vue.createVNode("div", {
964
+ "ref": tabListRef,
965
+ "class": bem("list-child-wrapper", {
966
+ scrollable: isTabScrollable.value,
967
+ [props.size]: props.size,
968
+ [props.align]: props.align
969
+ })
970
+ }, [childrenList.length > 0 && childrenList.map((node, index) => {
971
+ return vue.createVNode(YTabTitle, {
972
+ "title": node.title,
973
+ "disabled": node.disabled,
974
+ "title-slot": node.$slots.title,
975
+ "key": index,
976
+ "ref": getTitlesRef(index),
977
+ "active": activeIndex.value === index,
978
+ "scrollable": isTabScrollable.value,
979
+ "onClick": () => clickTitle(index)
980
+ }, null);
981
+ }), vue.createVNode("div", {
982
+ "class": bem("line"),
983
+ "style": {
984
+ ...lintState,
985
+ width: getSize(props.lineWidth),
986
+ height: getSize(props.lineHeight),
987
+ backgroundColor: props.lineColor
988
+ }
989
+ }, null)])]), slots.default ? vue.createVNode(Swipe, {
990
+ "ref": swiperRef,
991
+ "dots": false,
992
+ "loop": false,
993
+ "initIndex": activeIndex.value,
994
+ "lazy": props.lazy,
995
+ "touchable": props.touchable,
996
+ "duration": props.duration,
997
+ "is-follow-hand": props.changeWithAnimation,
998
+ "onChange": swipeChange,
999
+ "onAfterChange": swipeAfterChange
1000
+ }, _isSlot(_slot = slots.default()) ? _slot : {
1001
+ default: () => [_slot]
1002
+ }) : null]);
1003
+ };
1004
+ }
1005
+ });
1006
+ const reset = "";
1007
+ const libs = "";
1008
+ const font = "";
1009
+ const animation = "";
1010
+ const theme = "";
1011
+ const style = "";
1012
+ Tabs.install = (Vue) => {
1013
+ const { name: name2 } = Tabs;
1014
+ Vue.component(name2, Tabs);
1015
+ };
1016
+ exports2.acceptProps = acceptProps;
1017
+ exports2.default = Tabs;
1018
+ exports2.unknownProp = unknownProp;
1019
+ Object.defineProperties(exports2, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
1020
+ });