vxe-pc-ui 4.6.35 → 4.6.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/icon/style.css +1 -1
- package/es/notice-bar/src/notice-bar.js +9 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +323 -106
- package/es/tabs/style.css +434 -156
- package/es/tabs/style.min.css +1 -1
- package/es/ui/index.js +3 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-tabs/style.css +434 -156
- package/es/vxe-tabs/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +354 -102
- package/lib/index.umd.min.js +1 -1
- package/lib/notice-bar/src/notice-bar.js +8 -1
- package/lib/notice-bar/src/notice-bar.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +342 -99
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tabs/style/style.css +434 -156
- package/lib/tabs/style/style.min.css +1 -1
- package/lib/ui/index.js +3 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-tabs/style/style.css +434 -156
- package/lib/vxe-tabs/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/notice-bar/src/notice-bar.ts +13 -3
- package/packages/tabs/src/tabs.ts +334 -107
- package/packages/ui/index.ts +2 -0
- package/styles/components/tabs.scss +539 -183
- package/types/components/tabs.d.ts +27 -7
- package/types/ui/global-icon.d.ts +2 -0
- /package/es/icon/{iconfont.1750910542831.ttf → iconfont.1751116737472.ttf} +0 -0
- /package/es/icon/{iconfont.1750910542831.woff → iconfont.1751116737472.woff} +0 -0
- /package/es/icon/{iconfont.1750910542831.woff2 → iconfont.1751116737472.woff2} +0 -0
- /package/es/{iconfont.1750910542831.ttf → iconfont.1751116737472.ttf} +0 -0
- /package/es/{iconfont.1750910542831.woff → iconfont.1751116737472.woff} +0 -0
- /package/es/{iconfont.1750910542831.woff2 → iconfont.1751116737472.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1750910542831.ttf → iconfont.1751116737472.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1750910542831.woff → iconfont.1751116737472.woff} +0 -0
- /package/lib/icon/style/{iconfont.1750910542831.woff2 → iconfont.1751116737472.woff2} +0 -0
- /package/lib/{iconfont.1750910542831.ttf → iconfont.1751116737472.ttf} +0 -0
- /package/lib/{iconfont.1750910542831.woff → iconfont.1751116737472.woff} +0 -0
- /package/lib/{iconfont.1750910542831.woff2 → iconfont.1751116737472.woff2} +0 -0
package/lib/tabs/src/tabs.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTabs",props:{modelValue:[String,Number,Boolean],options:Array,height:[String,Number],destroyOnClose:Boolean,titleWidth:[String,Number],titleAlign:[String,Number],type:String,showClose:Boolean,padding:{type:Boolean,default:()=>(0,_ui.getConfig)().tabs.padding},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,beforeCloseMethod:Function},emits:["update:modelValue","change","tab-change","tab-change-fail","tab-close","tab-close-fail","tab-click","tab-load"],setup(u,e){const{slots:o,emit:r}=e;var t=_xeUtils.default.uniqueId();const a=(0,_vue.inject)("$xeTabs",null),v=(0,_vue.ref)(),C=(0,_vue.ref)(),E=(0,_vue.reactive)({staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintWidth:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}}),c={slTimeout:void 0},l={refElem:v},y=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tabs.closeConfig,u.closeConfig)),M=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tabs.refreshConfig,u.refreshConfig)),d=(0,_vue.computed)(()=>{var e=u["options"];return(e||[]).filter(e=>n(e))}),h=(0,_vue.computed)(()=>{var e=E["staticTabs"];return e.filter(e=>n(e))}),i={},w={xID:t,props:u,context:e,reactData:E,getRefMaps:()=>l,getComputeMaps:()=>i},n=e=>{e=e.permissionCode;return!(e&&!_ui.permission.checkVisible(e))},L=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=o[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],m=()=>{(0,_vue.nextTick)(()=>{var e=u["type"];const t=E["activeName"];var a,l=d.value,i=h.value,n=C.value;let s=0,r=0,o=!1;n&&(i=_xeUtils.default.findIndexOf(i.length?i:l,e=>e.name===t),{children:l,scrollWidth:n,clientWidth:a}=n,o=n!==a,-1<i)&&(a=(n=l[i]).clientWidth,e?"card"===e?(s=a+2,r=n.offsetLeft):"border-card"===e&&(s=a+2,r=n.offsetLeft-1):(s=Math.max(4,Math.floor(.6*a)),r=n.offsetLeft+Math.floor((a-s)/2))),E.lintLeft=r,E.lintWidth=s,E.isTabOver=o})},_=(e,t,a)=>{r(e,(0,_ui.createEvent)(a,{$tabs:w},t))},f=(e,t)=>{var a=E["initNames"];return!(!e||a.includes(e)||(_("tab-load",{name:e},t),a.push(e),0))},s=e=>{let l=null;const i={};if(e&&e.length){let a=!1;l=u.modelValue,e.forEach(e=>{var{name:e,preload:t}=e||{};e&&(i[""+e]={loading:!1},l===e&&(a=!0),t)&&f(e,null)}),a||(l=e[0].name,f(l,null),r("update:modelValue",l))}E.activeName=l,E.cacheTabMaps=i},O=(t,a)=>{var e=u["trigger"],l=u.beforeChangeMethod||(0,_ui.getConfig)().tabs.beforeChangeMethod;const i=E["activeName"],n=a["name"],s=n;_("tab-click",{name:n},t),"manual"!==e&&n!==i&&Promise.resolve(!l||l({$tabs:w,name:n,oldName:i,newName:n,option:a})).then(e=>{e?(E.activeName=n,r("update:modelValue",s),f(n,t),_("change",{value:s,name:n,oldName:i,newName:n,option:a},t),_("tab-change",{value:s,name:n,oldName:i,newName:n,option:a},t)):_("tab-change-fail",{value:s,name:n,oldName:i,newName:n,option:a},t)}).catch(()=>{_("tab-change-fail",{value:s,name:n,oldName:i,newName:n,option:a},t)})},S=(e,t)=>{e.stopPropagation();var{activeName:e,cacheTabMaps:a}=E,l=t["name"],i=M.value["queryMethod"];const n=l?a[""+l]:null;n&&(i?(n.loading=!0,Promise.resolve(i({$tabs:w,value:e,name:l,option:t})).finally(()=>{n.loading=!1})):(0,_log.errLog)("vxe.error.notFunc",["refresh-config.queryMethod"]))},k=(t,e,a,l)=>{t.stopPropagation();var i=E["activeName"],n=y.value.beforeMethod||u.beforeCloseMethod||(0,_ui.getConfig)().tabs.beforeCloseMethod;const s=e["name"],r=i;let o=r;i===s&&(i=a<l.length-1?l[a+1]:l[a-1],o=i?i.name:null),Promise.resolve(!n||n({$tabs:w,value:r,name:s,nextName:o,option:e})).then(e=>{e?_("tab-close",{value:r,name:s,nextName:o},t):_("tab-close-fail",{value:r,name:s,nextName:o},t)}).catch(()=>{_("tab-close-fail",{value:r,name:s,nextName:o},t)})},b=e=>{var t=C.value;if(t){t=Math.floor(.75*t.clientWidth);{var r=e,e=t,t=c["slTimeout"];let i=e,n=6,s=35;t&&(clearTimeout(t),c.slTimeout=void 0);const o=()=>{var e,t,a,l=C.value;0<n&&(n--,l)&&({clientWidth:e,scrollWidth:t,scrollLeft:a}=l,i=Math.floor(i/2),0<r?e+a<t&&(l.scrollLeft+=i,s-=4,c.slTimeout=setTimeout(o,s)):0<a&&(l.scrollLeft-=i,s-=4,c.slTimeout=setTimeout(o,s)),m())};o()}}},B=()=>{b(-1)},A=()=>{b(1)},g=n=>{const s=d.value,r=h.value;return(0,_vue.nextTick)().then(()=>{var e,t,a,l,i=C.value;i&&(-1<(a=_xeUtils.default.findIndexOf(r.length?r:s,e=>e.name===n))&&({scrollLeft:e,clientWidth:t,children:l}=i,l=l[a])&&(0<(l=(a=l.offsetLeft)+l.clientWidth-(e+t))&&(i.scrollLeft+=l),a<e)&&(i.scrollLeft=a),m())})},p=t=>{const a=E["activeName"];var l=d.value,i=h.value,i=i.length?i:l,l=_xeUtils.default.findIndexOf(i,e=>e.name===a);if(-1<l){let e=null;t?l<i.length-1&&(e=i[l+1]):0<l&&(e=i[l-1]),e&&(i=t=e.name,E.activeName=t,r("update:modelValue",i),f(t,null))}return(0,_vue.nextTick)()},x={dispatchEvent:_,scrollToTab:g,prev(){return p(!1)},next(){return p(!0)},prevTab(){return(0,_log.warnLog)("vxe.error.delFunc",["prevTab","prev"]),x.prev()},nextTab(){return(0,_log.warnLog)("vxe.error.delFunc",["nextTab","next"]),x.next()}};Object.assign(w,x,{});const T=e=>{var{initNames:t,activeName:a}=E,{name:e,slots:l}=e,l=l?l.default:null;return e&&t.includes(e)?(0,_vue.h)("div",{key:""+e,class:["vxe-tabs-pane--item",{"is--visible":a===e,"has--content":!!l}]},l?L(l,{name:e}):[]):(0,_ui.renderEmptyElement)(w)};(0,_vue.watch)(()=>u.modelValue,e=>{f(e,null),E.activeName=e}),(0,_vue.watch)(()=>E.activeName,e=>{g(e),(0,_vue.nextTick)(()=>{E.resizeFlag++})});const N=(0,_vue.ref)(0),V=((0,_vue.watch)(()=>u.options?u.options.length:-1,()=>{N.value++}),(0,_vue.watch)(()=>u.options,()=>{N.value++}),(0,_vue.watch)(N,()=>{s(u.options),m()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>E.staticTabs?E.staticTabs.length:-1,()=>{V.value++}),(0,_vue.watch)(()=>E.staticTabs,()=>{V.value++}),(0,_vue.watch)(V,()=>{s(E.staticTabs),m()}),a&&(0,_vue.watch)(()=>a?a.reactData.resizeFlag:null,()=>{E.resizeFlag++}),(0,_vue.watch)(()=>E.resizeFlag,()=>{(0,_vue.nextTick)(()=>{m()})}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(w,"resize",m),m()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(w,"resize")}),(0,_vue.provide)("$xeTabs",w),f(u.modelValue,null),s(E.staticTabs.length?E.staticTabs:u.options),w.renderVN=()=>{var{type:e,height:t,padding:a,trigger:l}=u,i=d.value,n=h.value,s=o.default,r=o.footer,n=s?n:i;return(0,_vue.h)("div",{ref:v,class:["vxe-tabs","vxe-tabs--"+(e||"default"),"trigger--"+("manual"===l?"trigger":"default"),{"is--padding":a,"is--height":t}],style:t?{height:(0,_dom.toCssUnit)(t)}:null},[(0,_vue.h)("div",{class:"vxe-tabs-slots"},s?s({}):[]),(c=>{const{type:e,titleWidth:d,titleAlign:h,showClose:m,closeConfig:_,refreshConfig:f}=u,{activeName:b,lintLeft:t,lintWidth:a,isTabOver:l,cacheTabMaps:g}=E;var i=o.extra;const p=y.value,x=p.visibleMethod,T=M.value,N=T.visibleMethod;return(0,_vue.h)("div",{class:"vxe-tabs-header"},[l?(0,_vue.h)("div",{class:"vxe-tabs-header--bar vxe-tabs-header--left-bar",onClick:B},[(0,_vue.h)("span",{class:(0,_ui.getIcon)().TABS_TAB_BUTTON_LEFT})]):(0,_ui.renderEmptyElement)(w),(0,_vue.h)("div",{class:"vxe-tabs-header--wrapper"},[(0,_vue.h)("div",{ref:C,class:"vxe-tabs-header--item-wrapper"},c.map((t,a)=>{var{title:e,titleWidth:l,titleAlign:i,icon:n,name:s,slots:r}=t,r=r?r.title||r.tab:null,l=l||d,i=i||h,o={$tabs:w,value:b,name:s,option:t},u=b===s,v=s?g[""+s]:null,v=!!v&&v.loading;return(0,_vue.h)("div",{key:""+s,class:["vxe-tabs-header--item",i?"align--"+i:"",{"is--active":u}],style:l?{width:(0,_dom.toCssUnit)(l)}:null,onClick(e){O(e,t)}},[(0,_vue.h)("div",{class:"vxe-tabs-header--item-inner"},[(0,_vue.h)("div",{class:"vxe-tabs-header--item-content"},[n?(0,_vue.h)("span",{class:"vxe-tabs-header--item-icon"},[(0,_vue.h)("i",{class:n})]):(0,_ui.renderEmptyElement)(w),(0,_vue.h)("span",{class:"vxe-tabs-header--item-name"},r?L(r,{name:s,title:e}):""+e)]),((0,_utils.isEnableConf)(f)||T.enabled)&&(N?N(o):u)?(0,_vue.h)("div",{class:"vxe-tabs-header--refresh-btn",onClick(e){S(e,t)}},[(0,_vue.h)("i",{class:v?(0,_ui.getIcon)().TABS_TAB_REFRESH_LOADING:(0,_ui.getIcon)().TABS_TAB_REFRESH})]):(0,_ui.renderEmptyElement)(w),!(m||(0,_utils.isEnableConf)(_)||p.enabled)||x&&!x(o)?(0,_ui.renderEmptyElement)(w):(0,_vue.h)("div",{class:"vxe-tabs-header--close-btn",onClick(e){k(e,t,a,c)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().TABS_TAB_CLOSE})])])])}).concat([(0,_vue.h)("span",{key:"line",class:"vxe-tabs-header--active-line type--"+(e||"default"),style:{left:t+"px",width:a+"px"}})]))]),l?(0,_vue.h)("div",{class:"vxe-tabs-header--bar vxe-tabs-header--right-bar",onClick:A},[(0,_vue.h)("span",{class:(0,_ui.getIcon)().TABS_TAB_BUTTON_RIGHT})]):(0,_ui.renderEmptyElement)(w),i?(0,_vue.h)("div",{class:"vxe-tabs-header--extra"},(0,_vn.getSlotVNs)(i({}))):(0,_ui.renderEmptyElement)(w)])})(n),(0,_vue.h)("div",{class:"vxe-tabs-pane"},(e=>{var t=u["destroyOnClose"];const a=E["activeName"];var l=e.find(e=>e.name===a);return t?[l?T(l):(0,_ui.renderEmptyElement)(w)]:e.map(e=>T(e))})(n)),r?(0,_vue.h)("div",{class:"vxe-tabs-footer"},L(r,{})):(0,_ui.renderEmptyElement)(w)])},w},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const scrollbarOffsetSize=20;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTabs",props:{modelValue:[String,Number,Boolean],options:Array,width:[String,Number],height:[String,Number],destroyOnClose:Boolean,titleWidth:[String,Number],titleAlign:[String,Number],type:{type:String,default:()=>(0,_ui.getConfig)().tabs.type},position:{type:String,default:()=>(0,_ui.getConfig)().tabs.position},showClose:Boolean,showBody:{type:Boolean,default:!0},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().tabs.padding},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,beforeCloseMethod:Function},emits:["update:modelValue","change","tab-change","tab-change-fail","tab-close","tab-close-fail","tab-click","tab-load"],setup(E,e){const{slots:M,emit:n}=e;var t=_xeUtils.default.uniqueId();const a=(0,_vue.inject)("$xeTabs",null),v=(0,_vue.ref)(),w=(0,_vue.ref)(),u=(0,_vue.ref)(),B=(0,_vue.ref)(),O=(0,_vue.reactive)({staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintTop:0,lintWidth:0,lintHeight:0,scrollbarWidth:0,scrollbarHeight:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}}),m={slTimeout:void 0},C={refElem:v},S=(0,_vue.computed)(()=>{var e=E["type"];return e||"default"}),W=(0,_vue.computed)(()=>{var e=E["position"];return e||"top"}),H=(0,_vue.computed)(()=>{var e=W.value;return"left"===e||"right"===e}),V=(0,_vue.computed)(()=>{var{lintLeft:e,lintTop:t,lintWidth:a,lintHeight:l}=O;return H.value?{top:t+"px",height:l+"px"}:{left:e+"px",width:a+"px"}}),U=(0,_vue.computed)(()=>{var{width:e,height:t}=E,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),e&&(a.height=(0,_dom.toCssUnit)(t)),a}),L=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tabs.closeConfig,E.closeConfig)),r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tabs.refreshConfig,E.refreshConfig)),g=(0,_vue.computed)(()=>{var e=E["options"];return(e||[]).filter(e=>l(e))}),b=(0,_vue.computed)(()=>{var e=O["staticTabs"];return e.filter(e=>l(e))});var z=(0,_vue.computed)(()=>a?a.reactData.resizeFlag:null);const I={},A={xID:t,props:E,context:e,reactData:O,getRefMaps:()=>C,getComputeMaps:()=>I},l=e=>{e=e.permissionCode;return!(e&&!_ui.permission.checkVisible(e))},k=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=M[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],F=()=>{var e,t,a,l,i,o=H.value,s=w.value,n=u.value,r=B.value;s&&({scrollLeft:s,scrollTop:e,clientWidth:t,clientHeight:a,scrollWidth:l,scrollHeight:i}=s,n&&(0<(o?e:s)?(0,_dom.addClass):(0,_dom.removeClass))(n,"scrolling--middle"),r)&&((o?a<i-Math.ceil(e):t<l-Math.ceil(s))?(0,_dom.addClass):(0,_dom.removeClass))(r,"scrolling--middle")},p=()=>{var e=()=>{const t=O["activeName"];var e,a,l,i,o,s=S.value,n=g.value,r=b.value,u=w.value,v=H.value;let c=0,d=0,h=0,m=0,p=0,f=0,_=!1;u&&(r=_xeUtils.default.findIndexOf(r.length?r:n,e=>e.name===t),{children:n,offsetWidth:u,scrollWidth:e,offsetHeight:l,scrollHeight:i,clientWidth:a,clientHeight:o}=u,p=u-a,f=l-o,v?(_=i!==o,-1<r&&(u=n[r])&&(l=u.clientHeight,v=u.clientWidth,m="card"===s?(c=v,d=l,u.offsetTop):"border-card"===s?(c=v,d=l,u.offsetTop-1):(d=Math.max(4,Math.floor(.6*l)),u.offsetTop+Math.floor((l-d)/2)))):(_=e!==a,-1<r&&(i=n[r])&&(o=i.clientWidth,h="card"===s?(c=o+1,i.offsetLeft):"border-card"===s?(c=o,i.offsetLeft-1):(c=Math.max(4,Math.floor(.6*o)),i.offsetLeft+Math.floor((o-c)/2))))),O.scrollbarWidth=p,O.scrollbarHeight=f,O.lintLeft=h,O.lintTop=m,O.lintWidth=c,O.lintHeight=d,O.isTabOver=_,F()};e(),(0,_vue.nextTick)(e)},c=(e,t,a)=>{n(e,(0,_ui.createEvent)(a,{$tabs:A},t))},d=(e,t)=>{var a=O["initNames"];return!(!e||a.includes(e)||(c("tab-load",{name:e},t),a.push(e),0))},i=e=>{let l=null;const i={};if(e&&e.length){let a=!1;l=E.modelValue,e.forEach(e=>{var{name:e,preload:t}=e||{};e&&(i[""+e]={loading:!1},l===e&&(a=!0),t)&&d(e,null)}),a||(l=e[0].name,d(l,null),n("update:modelValue",l))}O.activeName=l,O.cacheTabMaps=i},q=(t,a)=>{var e=E["trigger"],l=E.beforeChangeMethod||(0,_ui.getConfig)().tabs.beforeChangeMethod;const i=O["activeName"],o=a["name"],s=o;c("tab-click",{name:o},t),"manual"!==e&&o!==i&&Promise.resolve(!l||l({$tabs:A,name:o,oldName:i,newName:o,option:a})).then(e=>{e?(O.activeName=o,n("update:modelValue",s),d(o,t),c("change",{value:s,name:o,oldName:i,newName:o,option:a},t),c("tab-change",{value:s,name:o,oldName:i,newName:o,option:a},t)):c("tab-change-fail",{value:s,name:o,oldName:i,newName:o,option:a},t)}).catch(()=>{c("tab-change-fail",{value:s,name:o,oldName:i,newName:o,option:a},t)})},R=(e,t)=>{e.stopPropagation();var{activeName:e,cacheTabMaps:a}=O,l=t["name"],i=r.value["queryMethod"];const o=l?a[""+l]:null;o&&(i?(o.loading=!0,Promise.resolve(i({$tabs:A,value:e,name:l,option:t})).finally(()=>{o.loading=!1})):(0,_log.errLog)("vxe.error.notFunc",["refresh-config.queryMethod"]))},$=(t,e,a,l)=>{t.stopPropagation();var i=O["activeName"],o=L.value.beforeMethod||E.beforeCloseMethod||(0,_ui.getConfig)().tabs.beforeCloseMethod;const s=e["name"],n=i;let r=n;i===s&&(i=a<l.length-1?l[a+1]:l[a-1],r=i?i.name:null),Promise.resolve(!o||o({$tabs:A,value:n,name:s,nextName:r,option:e})).then(e=>{e?c("tab-close",{value:n,name:s,nextName:r},t):c("tab-close-fail",{value:n,name:s,nextName:r},t)}).catch(()=>{c("tab-close-fail",{value:n,name:s,nextName:r},t)})},o=e=>{var t=H.value,a=w.value;if(a){var{clientWidth:a,clientHeight:l}=a,t=Math.floor(.75*(t?l:a));{var c=e,l=t,a=m["slTimeout"];const d=H.value;let n=d?0:l,r=d?l:0,u=6,v=35;a&&(clearTimeout(a),m.slTimeout=void 0);const h=()=>{var e,t,a,l,i,o,s=w.value;0<u&&(u--,s)&&({clientWidth:e,clientHeight:t,scrollWidth:a,scrollHeight:l,scrollLeft:i,scrollTop:o}=s,d?(r=Math.floor(r/2),0<c?t+o<l&&(s.scrollTop+=r,v-=4,m.slTimeout=setTimeout(h,v)):0<o&&(s.scrollTop-=r,v-=4,m.slTimeout=setTimeout(h,v))):(n=Math.floor(n/2),0<c?e+i<a&&(s.scrollLeft+=n,v-=4,m.slTimeout=setTimeout(h,v)):0<i&&(s.scrollLeft-=n,v-=4,m.slTimeout=setTimeout(h,v))),p())};h()}}},j=()=>{o(-1)},P=()=>{o(1)},s=n=>{const r=g.value,u=b.value,v=H.value;return(0,_vue.nextTick)().then(()=>{var e,t,a,l,i,o,s=w.value;s&&(-1<(l=_xeUtils.default.findIndexOf(u.length?u:r,e=>e.name===n))&&({scrollLeft:e,scrollTop:o,clientWidth:t,clientHeight:i,children:a}=s,a=a[l])&&(v?(0<(i=(l=a.offsetTop)+a.clientHeight-(o+i))&&(s.scrollTop+=i),l<o&&(s.scrollTop=l)):(0<(o=(i=a.offsetLeft)+a.clientWidth-(e+t))&&(s.scrollLeft+=o),i<e&&(s.scrollLeft=i))),p())})},h=t=>{const a=O["activeName"];var l=g.value,i=b.value,i=i.length?i:l,l=_xeUtils.default.findIndexOf(i,e=>e.name===a);if(-1<l){let e=null;t?l<i.length-1&&(e=i[l+1]):0<l&&(e=i[l-1]),e&&(i=t=e.name,O.activeName=t,n("update:modelValue",i),d(t,null))}return(0,_vue.nextTick)()},f={dispatchEvent:c,scrollToTab:s,prev(){return h(!1)},next(){return h(!0)},prevTab(){return(0,_log.warnLog)("vxe.error.delFunc",["prevTab","prev"]),f.prev()},nextTab(){return(0,_log.warnLog)("vxe.error.delFunc",["nextTab","next"]),f.next()}};Object.assign(A,f,{});const _=c=>{const{titleWidth:d,titleAlign:h,showClose:m,closeConfig:p,refreshConfig:f}=E,{activeName:_,scrollbarWidth:e,scrollbarHeight:t,isTabOver:a,cacheTabMaps:g}=O,b=S.value,T=W.value;var l=H.value,i=V.value,o=M.prefix,s=M.suffix||M.extra;const x=L.value,y=x.visibleMethod,N=r.value,C=N.visibleMethod;return(0,_vue.h)("div",{key:"th",class:["vxe-tabs-header","type--"+b,"pos--"+T]},[o?(0,_vue.h)("div",{class:["vxe-tabs-header--prefix","type--"+b,"pos--"+T]},(0,_vn.getSlotVNs)(o({name:_}))):(0,_ui.renderEmptyElement)(A),a?(0,_vue.h)("div",{ref:u,class:["vxe-tabs-header--bar vxe-tabs-header--prev-bar","type--"+b,"pos--"+T],onClick:j},[(0,_vue.h)("span",{class:l?(0,_ui.getIcon)().TABS_TAB_BUTTON_TOP:(0,_ui.getIcon)().TABS_TAB_BUTTON_LEFT})]):(0,_ui.renderEmptyElement)(A),(0,_vue.h)("div",{class:["vxe-tabs-header--wrapper","type--"+b,"pos--"+T]},[(0,_vue.h)("div",{ref:w,class:"vxe-tabs-header--item-wrapper",style:l?{marginRight:`-${e+scrollbarOffsetSize}px`,paddingRight:scrollbarOffsetSize+"px"}:{marginBottom:`-${t+scrollbarOffsetSize}px`,paddingBottom:scrollbarOffsetSize+"px"},onScroll:F},c.map((t,a)=>{var{title:e,titleWidth:l,titleAlign:i,icon:o,name:s,slots:n}=t,n=n?n.title||n.tab:null,l=l||d,i=i||h,r={$tabs:A,value:_,name:s,option:t},u=_===s,v=s?g[""+s]:null,v=!!v&&v.loading;return(0,_vue.h)("div",{key:""+s,class:["vxe-tabs-header--item","type--"+b,"pos--"+T,i?"align--"+i:"",{"is--active":u}],style:l?{width:(0,_dom.toCssUnit)(l)}:void 0,onClick(e){q(e,t)}},[(0,_vue.h)("div",{class:"vxe-tabs-header--item-inner"},[(0,_vue.h)("div",{class:"vxe-tabs-header--item-content"},[o?(0,_vue.h)("span",{class:"vxe-tabs-header--item-icon"},[(0,_vue.h)("i",{class:o})]):(0,_ui.renderEmptyElement)(A),(0,_vue.h)("span",{class:"vxe-tabs-header--item-name"},n?k(n,{name:s,title:e}):""+e)]),!(0,_utils.isEnableConf)(f)&&!N.enabled||C&&!C(r)?(0,_ui.renderEmptyElement)(A):(0,_vue.h)("div",{class:["vxe-tabs-header--refresh-btn",{"is--active":u}],onClick(e){R(e,t)}},[(0,_vue.h)("i",{class:v?(0,_ui.getIcon)().TABS_TAB_REFRESH_LOADING:(0,_ui.getIcon)().TABS_TAB_REFRESH})]),!(m||(0,_utils.isEnableConf)(p)||x.enabled)||y&&!y(r)?(0,_ui.renderEmptyElement)(A):(0,_vue.h)("div",{class:["vxe-tabs-header--close-btn",{"is--active":u}],onClick(e){$(e,t,a,c)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().TABS_TAB_CLOSE})])])])}).concat([(0,_vue.h)("span",{key:"line",class:["vxe-tabs-header--active-line","type--"+b,"pos--"+T],style:i})]))]),a?(0,_vue.h)("div",{ref:B,class:["vxe-tabs-header--bar vxe-tabs-header--next-bar","type--"+b,"pos--"+T],onClick:P},[(0,_vue.h)("span",{class:l?(0,_ui.getIcon)().TABS_TAB_BUTTON_BOTTOM:(0,_ui.getIcon)().TABS_TAB_BUTTON_RIGHT})]):(0,_ui.renderEmptyElement)(A),s?(0,_vue.h)("div",{class:["vxe-tabs-header--suffix","type--"+b,"pos--"+T]},(0,_vn.getSlotVNs)(s({name:_}))):(0,_ui.renderEmptyElement)(A)])},T=e=>{var{initNames:t,activeName:a}=O,{name:e,slots:l}=e,l=l?l.default:null;return e&&t.includes(e)?(0,_vue.h)("div",{key:""+e,class:["vxe-tabs-pane--item",{"is--visible":a===e}]},l?k(l,{name:e}):[]):(0,_ui.renderEmptyElement)(A)},D=(e,t)=>{var a=E["destroyOnClose"];return a?[t?T(t):(0,_ui.renderEmptyElement)(A)]:e.map(e=>T(e))},x=e=>{var{height:t,padding:a,showBody:l}=E;const i=O["activeName"];var o=S.value,s=W.value,n=M.header,r=M.footer,u={name:i},v=e.find(e=>e.name===i);let c=!1;if(v){const M=v["slots"];c=!(!M||!M.default)}return(0,_vue.h)("div",{key:"tb",class:["vxe-tabs-pane--wrapper","type--"+o,"pos--"+s,{"is--content":!1===l?l:c}]},[n?(0,_vue.h)("div",{class:"vxe-tabs-pane--header"},k(n,u)):(0,_ui.renderEmptyElement)(A),(0,_vue.h)("div",{class:["vxe-tabs-pane--body","type--"+o,"pos--"+s,{"is--padding":a,"is--height":t}]},D(e,v)),r?(0,_vue.h)("div",{class:"vxe-tabs-pane--footer"},k(r,u)):(0,_ui.renderEmptyElement)(A)])};(0,_vue.watch)(()=>E.position,()=>{O.resizeFlag++}),(0,_vue.watch)(()=>E.modelValue,e=>{d(e,null),O.activeName=e}),(0,_vue.watch)(()=>O.activeName,e=>{s(e)});const y=(0,_vue.ref)(0),N=((0,_vue.watch)(()=>E.options?E.options.length:-1,()=>{y.value++}),(0,_vue.watch)(()=>E.options,()=>{y.value++}),(0,_vue.watch)(y,()=>{i(E.options),O.resizeFlag++}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>O.staticTabs?O.staticTabs.length:-1,()=>{N.value++}),(0,_vue.watch)(()=>O.staticTabs,()=>{N.value++}),(0,_vue.watch)(N,()=>{i(O.staticTabs),O.resizeFlag++}),(0,_vue.watch)(z,()=>{O.resizeFlag++}),(0,_vue.watch)(()=>O.resizeFlag,()=>{(0,_vue.nextTick)(()=>{p()})}),(0,_vue.onMounted)(()=>{p(),_ui.globalEvents.on(A,"resize",p)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(A,"resize")}),(0,_vue.provide)("$xeTabs",A),d(E.modelValue,null),i(O.staticTabs.length?O.staticTabs:E.options),A.renderVN=()=>{var{height:e,padding:t,trigger:a}=E,l=O["activeName"],i=g.value,o=b.value,s=S.value,n=W.value,r=U.value,u=M.default,o=u?o:i,i=[(0,_vue.h)("div",{key:"ts",class:"vxe-tabs-slots"},u?u({name:l}):[])];return"right"===n||"bottom"===n?i.push(x(o),_(o)):i.push(_(o),x(o)),(0,_vue.h)("div",{ref:v,class:["vxe-tabs","pos--"+n,"vxe-tabs--"+s,"trigger--"+("manual"===a?"trigger":"default"),{"is--padding":t,"is--height":e}],style:r},i)},A},render(){return this.renderVN()}});
|