UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

2 lines (1 loc) 21.5 kB
(function(S,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("../notify/index.umd.js"),require("../common/index.umd.js"),require("../capsule/index.umd.js"),require("../locale/index.umd.js"),require("../response-toolbar/index.umd.js"),require("bignumber.js"),require("lodash-es"),require("../section/index.umd.js"),require("../property-panel/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../notify/index.umd.js","../common/index.umd.js","../capsule/index.umd.js","../locale/index.umd.js","../response-toolbar/index.umd.js","bignumber.js","lodash-es","../section/index.umd.js","../property-panel/index.umd.js"],e):(S=typeof globalThis<"u"?globalThis:S||self,e(S.tabs={},S.Vue,S.notify,S.common,S.FCapsule,S.locale,S.FResponseToolbar,S.BigNumber,S.LodashES,S.FSection,S.propertyPanel))})(this,function(S,e,Q,F,Z,D,ee,je,Ne,W,te){"use strict";const _={tabType:{type:String,default:"default"},autoTitleWidth:{type:Boolean,default:!1},titleLength:{type:Number,default:7},position:{type:String,default:"top"},showDropdown:{type:Boolean,default:!0},scrollStep:{type:Number,default:10},autoResize:{type:Boolean,default:!1},width:{type:Number},height:{type:Number},searchBoxVisible:{type:Boolean,default:!0},titleWidth:{type:Number,default:0},customClass:{type:String,default:""},activeId:{type:String},fill:{type:Boolean,default:!1},justifyContent:{type:String,default:"left"},visible:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},beforeTabSelect:{type:Function,default:null}};function ne(){function t(n,l,u){const i={};return i.beforeTabSelect=a=>l.call("beforeTabSelect",n,[a,n],u),i}return{resolve:t}}function oe(t,n,l){const u=new Q.FNotifyService,i=e.ref([]),a=e.ref(t.activeId||"");let b="";const v=e.ref(!0),f=e.ref([]),m=e.ref(!0),p=e.ref(0),T=e.computed(()=>{const o=i.value.find(c=>c.props.id===a.value);return(o==null?void 0:o.props.toolbarPosition)==="inHead"});let w;function I(o){w=o}function V(o,d=!0){const c=o.findIndex(y=>y.props.show!==!1&&!y.props.disabled);if(c!==-1){if(a.value=o[c].props.id,!d)return;f.value=[];const y=o[c];y&&y.props.toolbar&&y.props.toolbar.buttons&&y.props.toolbar.buttons.length&&(f.value=[...y.props.toolbar.buttons],m.value=y.props.toolbarVisible)}}function s(o){a.value=o;const d=i.value.find(c=>c.props.id===o);f.value=[],d&&d.props.toolbar&&d.props.toolbar.buttons&&d.props.toolbar.buttons.length&&(f.value=[...d.props.toolbar.buttons],m.value=d.props.toolbarVisible),n.emit("update:activeId",o),n.emit("tabChange",{prevId:b,nextId:a.value})}async function g(o,d,c,y){var R;const B=await((R=t.beforeTabSelect)==null?void 0:R.call(t,{prevId:o,nextId:d}));(typeof B=="boolean"?B:(B==null?void 0:B.canSelect)??!0)?c&&c():(y&&y(),typeof B!="boolean"&&B.message&&(u==null||u.warning({message:B.message,position:"top-center"})))}function x(o){let d=-1;if(!a.value){if(d=o.findIndex(c=>a.value===c.props.id&&c.props.show!==!1&&!c.props.disabled),d>-1)return;b=a.value}V(o,!1),g(b,a.value,()=>{s(a.value),w&&w()},()=>{a.value=b})}function h(o){let d=!1;if(o){const c=i.value.find(y=>y.props.id===o);d=!c||c.props.show===!1||c.props.disabled===!0}if(d)x(i.value);else if(a.value!==o){const c=a.value;g(c,o,()=>{b=c,a.value=o,s(a.value),w&&w()},()=>{a.value=c,n.emit("update:activeId",c)})}else s(a.value)}e.watch(()=>t.activeId,(o,d)=>{o!==d&&t.activeId!==a.value&&h(o)});function j(o){var c;if(t.autoTitleWidth)return;const d=(c=o.value)==null?void 0:c.querySelectorAll(".st-tab-text");if(!(!d||t.tabType==="pill"))for(let y=0;y<d.length;y++){const B=d[y].parentNode;d[y].scrollWidth>B.offsetWidth?d[y].classList.contains("farris-title-text-custom")||d[y].classList.add("farris-title-text-custom"):d[y].classList.remove("farris-title-text-custom")}}const N=o=>{o.preventDefault(),o.stopPropagation()};function O(o,d,c=!1){const y=i.value.findIndex(B=>B.props.id===d);i.value=i.value.filter(B=>B.props.id!==d),a.value===d&&(b=d,a.value="",V(i.value)),N(o),e.nextTick(()=>{p.value++,j(l),c&&(v.value=!0),n.emit("tabRemove",{removeIndex:y,removeId:d,activeId:a.value})})}function M(o,d=!0){const c=i.value.find(y=>y.props.id===o);c&&(c.props.show===!1&&a.value===o?(a.value="",b=o,h("")):c.props.show===!0&&!a.value&&x(i.value),e.nextTick(()=>{p.value++,d&&(v.value=!0)}))}function H(o){a.value!==o&&g(b,o,()=>{b=a.value,s(o),w&&w()},null)}function k(o){i.value.findIndex(c=>c.props.id===o.props.id)===-1&&i.value.push(o),p.value++}function r(o){i.value.findIndex(c=>c.props.id===o.props.id)!==-1&&(i.value.forEach(c=>{c.props.id===o.props.id&&(c=o)}),o.props.id===a.value&&T.value,e.nextTick(()=>{p.value++,j(l)}))}return{activeId:a,addTab:k,changeTitleStyle:j,removeTab:O,selectTab:H,tabPages:i,updateTab:r,toolbarItems:f,needUpdateNavigationLayout:p,checkActiveIdAndSelect:h,toggleShowTab:M,hasInHeadClass:T,setScrollToSelectedTabFunction:I,toolbarVisible:m}}function le(t,n,l,u,i){const{activeId:a,removeTab:b,selectTab:v}=i,f=e.computed(()=>{const h={"st-tab-text":!0,"text-truncate":t.tabType==="pill"&&!t.autoTitleWidth,"farris-title-auto":t.autoTitleWidth};return F.getCustomClass(h,n.customTitleClass)}),m=e.computed(()=>({"nav-item":!0,"d-none":n.show!==void 0?!n.show:!1,"f-state-active":n.id===a.value,"f-state-disabled":n.disabled})),p=e.computed(()=>({width:`${n.tabWidth}px`})),T=e.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:n.id===a.value,disabled:n.disabled})),w=e.reactive({content:n.title,overflowShown:!0});function I(){return t.tabType!=="pill"&&!t.autoTitleWidth?e.withDirectives(e.createVNode("span",{class:f.value,"data-tabid":n.id},[n.title]),[[e.resolveDirective("tooltip"),w]]):e.createVNode("span",{class:f.value,"data-tabid":n.id,title:n.title},[n.title])}const V=e.ref(n.removeable);function s(){return V.value?e.createVNode("span",{class:"st-drop-close",onClick:h=>b(h,n.id)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)]):""}function g(h){v(n.id),t.tabType==="one-page"&&u.scrollToByPaggId(n.id)}function x(){return l.slots.title?e.createVNode("a",{class:T.value,onClick:g,id:`${n.id}-tab-title`},[l.slots.title(l),s()]):n.titleRenderFunction?e.createVNode("a",{class:T.value,onClick:g,id:`${n.id}-tab-title`},[n.titleRenderFunction(),s()]):e.createVNode("a",{class:T.value,onClick:g,id:`${n.id}-tab-title`},[I(),s()])}return e.createVNode("li",{class:m.value,style:p.value},[x()])}function ae(t,n,l,u,i){const{shouldShowNavigationButtons:a}=l,{tabPages:b}=i,v=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":a.value})),f=e.computed(()=>({width:"100%","justify-content":t.justifyContent})),m=e.computed(()=>({nav:!0,"farris-nav-tabs":!0,"flex-nowrap":!0,"nav-fill":t.tabType==="fill","nav-pills":t.tabType==="pills","flex-row":t.position==="top"||t.position==="bottom","flex-column":t.position==="left"||t.position==="right"}));return()=>e.createVNode("div",{class:v.value,style:f.value},[e.createVNode("ul",{class:m.value,ref:n},[b.value.map(p=>le(t,p.props,p,u,i))])])}function ie(t,n,l,u,i){const a=e.ref(),{shouldShowNavigationButtons:b}=l,{activeId:v,tabPages:f,selectTab:m}=i,p=e.ref(v.value),T=e.computed(()=>f.value.map(s=>({name:s.props.title,value:s.props.id,show:s.props.show,disabled:s.props.disabled}))),w=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":b.value})),I=e.computed(()=>({width:"100%",display:"flex","justify-content":t.justifyContent}));e.onMounted(()=>{a.value&&(n.value=a.value.$el)});function V(s){m(s)}return e.watch(()=>v.value,s=>{s!==p.value&&(p.value=s)},{immediate:!0}),()=>e.createVNode("div",{class:w.value,style:I.value},[e.createVNode(Z,{items:T.value,modelValue:p.value,"onUpdate:modelValue":s=>p.value=s,onChange:V,ref:a},null)])}function se(t,n,l,u){const i=e.ref(),{activeId:a,removeTab:b,tabPages:v,selectTab:f}=u,{hideDropDown:m,searchTabText:p}=n,T=600;let w=null;const I=e.computed(()=>{var o,d;let r=[];return t.searchBoxVisible?r=(o=v.value)==null?void 0:o.filter(c=>c.props.title.includes(p.value)):r=(d=v.value)==null?void 0:d.slice(),r}),V=e.computed(()=>({"dropdown-menu":!0,"tabs-pt28":t.searchBoxVisible,show:!m.value,"d-none":m.value}));let s;function g(r){s=r}e.watch(m,r=>{if(s.value)if(r)i.value.style.width=null;else{const o=s.value.querySelector(".farris-tabs-header"),d=s.value.clientHeight-o.clientHeight-20,y=o.querySelector(".farris-tabs-title").clientWidth-20;i.value.style.maxWidth=y+"px",i.value.style.maxHeight=d+"px",e.nextTick(()=>{const{width:B}=i.value.getClientRects()[0];i.value.style.width=B?B+"px":null})}});function x(r){return{"dropdown-item":!0,"text-truncate":!0,"px-2":!0,disabled:r.props.disabled,active:r.props.id===a.value,"d-none":r.props.show!==!0}}function h(r){r.preventDefault(),r.stopPropagation()}function j(){w&&clearTimeout(w)}function N(){m.value||(w=setTimeout(()=>{m.value=!0},T))}function O(r,o){r.stopPropagation(),o.disabled||f(o.id),m.value=!0}function M(r,o){r.stopPropagation(),b(r,o,!0)}function H(r){return r.slots.title?e.createVNode("a",{class:"dropdown-title",id:`${r.props.id}-dropdown-item`},[r.slots.title(r)]):r.props.titleRenderFunction?e.createVNode("a",{class:"dropdown-title",id:`${r.props.id}-dropdown-item`},[r.props.titleRenderFunction()]):e.createVNode("a",{class:"dropdown-title",id:`${r.props.id}-dropdown-item`},[r.props.title])}function k(){return e.createVNode("div",{ref:i,class:V.value,onMouseenter:()=>j(),onMouseleave:()=>N()},[t.searchBoxVisible&&e.createVNode("div",{onClick:r=>h(r),class:"pb-1 tabs-li-absolute"},[e.withDirectives(e.createVNode("input",{type:"text",class:"form-control","onUpdate:modelValue":r=>p.value=r},null),[[e.vModelText,p.value]]),e.createVNode("span",{class:"f-icon f-icon-page-title-query tabs-icon-search"},null)]),I.value.length?e.createVNode("ul",{class:"tab-dropdown-menu--items flex-fill"},[I.value.map(r=>e.createVNode("li",{class:x(r),onClick:o=>O(o,r.props)},[r.props.removeable&&r.props.disabled!==!0&&e.createVNode("span",{class:"float-right st-drop-close",onClick:o=>M(o,r.props.id)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)]),H(r)]))]):e.createVNode("div",{class:"dropdown-no-data"},[D.LocaleService.getLocaleValue("tabs.noData")])])}return{renderDropdownMenu:k,setTabsRef:g}}function re(t,n,l,u){const{hideDropDown:i}=n,{renderDropdownMenu:a,setTabsRef:b}=se(t,n,l,u),v=e.ref(t.showDropdown);function f(){return v.value&&e.createVNode(e.Fragment,null,[e.createVNode("button",{class:"btn dropdown-toggle-split dropdown-toggle",onClick:()=>{i.value=!1}},null),a()])}return{renderMorePagesButtton:f,setTabsRef:b}}function ce(t,n,l,u){const i=e.ref(!1),{selectTab:a,tabPages:b,needUpdateNavigationLayout:v,activeId:f}=u,m=4,p=e.computed(()=>({btn:!0,"sc-nav-btn":!0,"px-1":!0,"sc-nav-lr":!0,"d-none":!i.value})),T=e.computed(()=>({"btn-group":!0,"sc-nav-btn":!0,dropdown:!0,"d-none":!i.value})),w=e.computed(()=>({btn:!0,"sc-nav-rg":!0,"d-none":!i.value}));function I(h,j){if(!n.value)return;const N=n.value.scrollLeft,O=n.value.scrollWidth-n.value.offsetWidth;if(j>0){if(n.value.scrollLeft>=O)return;n.value.scrollLeft=N+t.scrollStep+h}else if(j<0){if(n.value.scrollLeft<=0)return;n.value.scrollLeft=N-t.scrollStep-h}}function V(h=-1){if(!i.value||!n.value)return;h<0&&(h=b.value.findIndex(H=>H.props.id===f.value));const j=t.tabType==="pills"?".f-capsule-item":".nav-item",N=n.value.querySelectorAll(j),{parentElement:O}=n.value,M=N[h];if(M&&O){const H=O.getBoundingClientRect().left,k=O.getBoundingClientRect().right,r=M.getBoundingClientRect().left,o=M.getBoundingClientRect().right;r<H?I(H-r,-1):k<o&&I(o-k,1),t.tabType==="one-page"&&l.scrollTo(h)}}function s(){var N;if(!n.value)return;const h=n.value,j=(N=n.value)==null?void 0:N.parentElement;i.value=j&&h&&j.offsetWidth<h.scrollWidth-m,i.value&&e.nextTick(()=>{V()})}function g(h){h.disabled||a(h.id)}function x(){["default","one-page"].indexOf(t.tabType)>-1&&e.nextTick(()=>{V()})}return e.watch(v,()=>{s()}),{previousButtonClass:p,nextButtonGroupClass:T,nextButtonClass:w,scrollTab:I,selectAndScrollToTab:g,shouldShowNavigationButtons:i,updateNavigationLayout:s,scrollToSelectedTab:x}}function de(t,n){const{tabPages:l}=n,u=e.ref(""),i=e.ref(!0),a=e.computed(()=>t.searchBoxVisible),b=e.computed(()=>a.value?l.value.filter(f=>f.props.title.includes(u.value)):l.value.slice());return e.watch(i,v=>{v||(u.value="")}),{searchTabText:u,hideDropDown:i,shouldShowSearchBox:a,tabsInDropdownMenu:b}}function ue(t,n,l){const u=".farris-tab-page",{tabPages:i}=l;let a=-1;function b(){if(a<0){const m=document.querySelector(".farris-tabs-header");m&&(a=m.clientHeight)}return a}function v(m){const p=n.value;if(p){const T=n.value.querySelectorAll(u);if(T.length>0){const w=T[m],{offsetTop:I}=w,V=I-b();p.scrollTop=V>0?V:0}}}function f(m){const p=i.value.findIndex(T=>T.props.id===m);p>-1&&v(p)}return{scrollTo:v,scrollToByPaggId:f}}const fe=["moz","ms","webkit"];function be(){let t=0;return n=>{const l=new Date().getTime(),u=Math.max(0,16-(l-t)),i=setTimeout(()=>{n(l+u)},u);return t=l+u,i}}function pe(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const t=fe.filter(n=>`${n}RequestAnimationFrame`in window)[0];return t?window[`${t}RequestAnimationFrame`]:be()}pe(),e.ref("");function $(){if(typeof window>"u"||typeof navigator>"u")return!1;const t=navigator.userAgent||navigator.vendor||window.opera,n=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],l=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const f of l)if(f.test(t))return!1;for(const f of n)if(f.test(t))return!0;if(typeof screen>"u")return!1;const u="ontouchstart"in window||navigator.maxTouchPoints>0,i=screen.width,a=screen.height,b=Math.min(i,a);return!!(u&&b<=768)}function he(){const t=$();return t&&document.body.classList.add("f-mobile"),t}typeof document<"u"&&he();const A=e.defineComponent({name:"FTabs",props:_,emits:["tabChange","tabRemove","update:activeId","Click"],setup(t,n){const l=e.ref(t.tabType),u=e.shallowRef(),i=$(),a=e.ref(t.customClass),b=e.shallowRef();e.shallowRef();const v=e.ref(),f=oe(t,n,b),{activeId:m,changeTitleStyle:p,tabPages:T,addTab:w,updateTab:I,toolbarItems:V,checkActiveIdAndSelect:s,toggleShowTab:g,hasInHeadClass:x,toolbarVisible:h}=f,j=ue(t,u,f),N=ce(t,b,j,f),{previousButtonClass:O,nextButtonClass:M,nextButtonGroupClass:H,scrollTab:k,updateNavigationLayout:r,scrollToSelectedTab:o}=N;f.setScrollToSelectedTabFunction(o);const d=de(t,f),c=ae(t,b,N,j,f),y=c,B=ie(t,b,N,j,f),E=new Map([["default",c],["one-page",y],["pills",B]]);e.computed(()=>{const C=T.value.find(P=>P.props.id===m.value);return C==null?void 0:C.slots});const R=e.computed(()=>t.fill),G=(C,P)=>{n.emit("Click",C,P,m.value)};e.provide("tabs",{activeId:m,addTab:w,updateTab:I,tabPages:T,tabType:l,shouldFillParentContaner:R,toggleShowTab:g,toolbarVisible:h,clickToolbarItemHandler:G});let X=!1;const ve=e.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":x.value,"farris-tabs-inContent":!x.value,"farris-tabs-nav-fill":t.tabType==="fill","farris-tabs-nav-pills":t.tabType==="pills","d-none":t.showHeader===!1})),ye=e.computed(()=>{const C={width:x.value&&t.titleWidth?`${t.titleWidth}%`:""};return C.width&&(C.flex="unset"),C}),ge=e.computed(()=>{const C={"farris-tabs":!0,"f-tabs-content-fill":R.value,"flex-column":t.position==="top","flex-column-reverse":t.position==="bottom","flex-row":t.position==="left","flex-row-reverse":t.position==="right","one-page":t.tabType==="one-page"};return a.value&&a.value.split(" ").reduce((P,L)=>(P[L]=!0,P),C),C}),Te=new ResizeObserver(C=>{C.length&&r()});function K(){v.value&&!X&&(Te.observe(v.value),X=!0)}e.watch(()=>t.visible,C=>{e.nextTick(()=>{T.value.length&&s(t.activeId||T.value[0].props.id),r(),p(b),K()})}),e.watch(()=>t.autoTitleWidth,C=>{e.nextTick(()=>{r(),p(b)})}),e.onMounted(()=>{t.visible&&(T.value.length&&s(t.activeId||T.value[0].props.id),e.nextTick(()=>{r(),p(b)}),K())});function we(){return e.createVNode("button",{title:D.LocaleService.getLocaleValue("tabs.leftButton"),type:"button",class:O.value,onClick:()=>{k(0,-1)}},null)}function Ce(){return e.createVNode("button",{title:D.LocaleService.getLocaleValue("tabs.rightButton"),type:"button",class:M.value,onClick:()=>{k(0,1)}},null)}const{renderMorePagesButtton:Se,setTabsRef:xe}=re(t,d,N,f);xe(u);function Ve(){return V.value.length?e.createVNode("div",{class:{"farris-tabs-toolbar":!0,"d-none":!h.value}},[e.createVNode(ee,{class:"f-utils-fill",alignment:x.value?"right":"left",items:V.value,visible:h.value,onClick:G},null)]):null}const Y=E.get(t.tabType)||E.get("default");function Be(){var C,P,L,J;return e.createVNode("div",{class:ve.value},[e.createVNode("div",{class:"farris-tabs-header-pre"},[(P=(C=n.slots).headerPrefix)==null?void 0:P.call(C)]),e.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:ye.value,ref:v},[!i&&we(),Y&&Y(),e.createVNode("div",{hidden:i,class:H.value},[Ce(),Se()])]),Ve(),e.createVNode("div",{class:"farris-tabs-header-post"},[(J=(L=n.slots).headerSuffix)==null?void 0:J.call(L)])])}e.computed(()=>({"farris-tabs-content":!0,"f-utils-fill-flex-column":R.value}));function Ie(){var C,P;return(P=(C=n.slots).default)==null?void 0:P.call(C)}return()=>t.visible?e.createVNode("div",{class:ge.value,ref:u},[Be(),Ie()]):null}}),U={tabWidth:{type:Number},id:{type:String,default:""},customTitleClass:{type:String,default:""},titleOverflow:{type:Boolean,default:!1},title:{type:String,default:""},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},removeable:{type:Boolean,default:!1},show:{type:Boolean,default:!0},toolbar:{type:Object,default:{}},toolbarPosition:{type:String,default:"inHead"},toolbarVisible:{type:Boolean,default:!0},titleRenderFunction:{type:Function}};function z(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const q=e.defineComponent({name:"FTabPage",props:U,emits:[],setup(t,n){const l=e.inject("tabs");F.isMobilePhone();const u=e.ref(t.show),i={slots:n.slots,props:t},a=e.ref((l==null?void 0:l.tabType.value)||"default");e.onMounted(()=>{const s=l==null?void 0:l.tabPages.value.findIndex(g=>g.props.id===t.id);(!s||s===-1)&&(l==null||l.addTab(i))}),e.onUnmounted(()=>{});const b=e.computed(()=>(t==null?void 0:t.id)===(l==null?void 0:l.activeId.value)),v=e.computed(()=>({display:b.value?"":"none"}));e.watch(()=>t,s=>{l==null||l.updateTab({props:s,slots:n.slots})},{immediate:!0,deep:!0}),e.watch(()=>t.show,s=>{u.value=s,l==null||l.toggleShowTab(t.id)}),e.watch(()=>t.toolbarVisible,s=>{b.value&&l&&(l.toolbarVisible.value=s)});function f(){var g,x;const s=(x=(g=n.slots).default)==null?void 0:x.call(g);return e.createVNode(W,{"main-title":t.title,class:["farris-tab-page",u.value?"":"f-tab-d-none"]},z(s)?s:{default:()=>[s]})}function m(s,g){l&&(l.activeId.value=t.id,l.clickToolbarItemHandler&&l.clickToolbarItemHandler(s,g))}function p(){var g,x;const s=(x=(g=n.slots).default)==null?void 0:x.call(g);return e.createVNode(W,{customClass:"section-in-tab is-mobile",onClick:m,visible:t.show,"main-title":t.title,buttons:t.toolbar.buttons,"button-position":t.toolbar.position||t.toolbarPosition,"buttons-visible":t.toolbarVisible},z(s)?s:{default:()=>[s]})}const T=e.computed(()=>{var g;return{"farris-tab-page":!0,"f-tab-d-none":!u.value,"f-tab-active":b.value&&l&&((g=l.shouldFillParentContaner)==null?void 0:g.value)}});function w(){var g,x;const s=(x=(g=n.slots).default)==null?void 0:x.call(g);return e.createVNode("div",{class:T.value,style:v.value},[s])}const V=new Map([["default",w],["one-page",f],["mobile",p]]).get(a.value)||w;return()=>V()}});class me extends te.BaseControlProperty{constructor(n,l){super(n,l)}getPropertyConfig(n,l=!1){return this.propertyConfig.categories.basic=this.getBasicPropConfig(n),this.propertyConfig.categories.basic.properties.text={title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},this.getAppearanceProperties(n,l),this.getbBehaviorConfig(n),this.getEventPropConfig(n),this.propertyConfig}getAppearanceProperties(n,l=!1){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式",visible:!l},icon:{title:"图标",type:"string",description:""},split:{title:"下拉按钮分离",type:"boolean",description:"启用下拉按钮分离,可以单独点击按钮。单独点击下拉按钮展开下拉面板",visible:!!(n.children&&n.children.length>0)}}}}getbBehaviorConfig(n){const l=this.getPropertyEditorParams(n,["Const","Variable","StateMachine","Custom","Expression"],"disabled");this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"",{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0,editor:l}})}getEventPropConfig(n){const l=[{label:"onClick",name:"点击事件"}],u=this,i=u.eventsEditorUtils.formProperties(n,u.viewModelId,l),a=u.createBaseEventProperty(i);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:a,refreshPanelAfterChanged:!0,tabId:F.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(b,v){const f=b.propertyValue;delete n[u.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,u.eventsEditorUtils.saveRelatedParameters(n,u.viewModelId,f.events,f))}}}}A.install=t=>{t.component(A.name,A),t.component(q.name,q)},S.FTabPage=q,S.FTabs=A,S.TabToolbarItemProperty=me,S.createTabsCallbackResolver=ne,S.default=A,S.tabPageProps=U,S.tabsProps=_,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});