forked from Simnation/Main
2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
![]() |
import{C as Z,k as w,q as d,f as he,e as $e,B as De,L as Qe,Q as Ee,x as h,bz as ge,ap as de,as as Fe,bf as We,S as O,v as je,h as te,be as He,aD as Ke,b as N,aj as ee,I as fe,n as be,d as F,aG as Ve,aH as ze,A as me,t as Oe,F as Ne,H as Ue,M as Ge}from"./app-014d9ed9.js";import{Q as Xe}from"./QResizeObserver.2503502b.js";import{r as pe}from"./rtl.b51694b1.js";import{a as Je,b as Ye,c as Ze,d as et}from"./use-panel.c35d3e1e.js";let tt=0;const at=["click","keydown"],nt={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${tt++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function ot(e,C,g,c){const o=De(ge,Z);if(o===Z)return console.error("QTab/QRouteTab component needs to be child of QTabs"),Z;const{proxy:D}=te(),L=w(null),B=w(null),W=w(null),U=d(()=>e.disable===!0||e.ripple===!1?!1:Object.assign({keyCodes:[13,32],early:!0},e.ripple===!0?{}:e.ripple)),x=d(()=>o.currentModel.value===e.name),G=d(()=>"q-tab relative-position self-stretch flex flex-center text-center"+(x.value===!0?" q-tab--active"+(o.tabProps.value.activeClass?" "+o.tabProps.value.activeClass:"")+(o.tabProps.value.activeColor?` text-${o.tabProps.value.activeColor}`:"")+(o.tabProps.value.activeBgColor?` bg-${o.tabProps.value.activeBgColor}`:""):" q-tab--inactive")+(e.icon&&e.label&&o.tabProps.value.inlineLabel===!1?" q-tab--full":"")+(e.noCaps===!0||o.tabProps.value.noCaps===!0?" q-tab--no-caps":"")+(e.disable===!0?" disabled":" q-focusable q-hoverable cursor-pointer")+(c!==void 0?c.linkClass.value:"")),I=d(()=>"q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable "+(o.tabProps.value.inlineLabel===!0?"row no-wrap q-tab__content--inline":"column")+(e.contentClass!==void 0?` ${e.contentClass}`:"")),m=d(()=>e.disable===!0||o.hasFocus.value===!0||x.value===!1&&o.hasActiveTab.value===!0?-1:e.tabindex||0);function y(r,v){if(v!==!0&&L.value!==null&&L.value.focus(),e.disable===!0){c!==void 0&&c.hasRouterLink.value===!0&&de(r);return}if(c===void 0){o.updateModel({name:e.name}),g("click",r);return}if(c.hasRouterLink.value===!0){const q=(T={})=>{let R;const H=T.to===void 0||He(T.to,e.to)===!0?o.avoidRouteWatcher=Ke():null;return c.navigateToRouterLink(r,{...T,returnRouterError:!0}).catch(b=>{R=b}).then(b=>{if(H===o.avoidRouteWatcher&&(o.avoidRouteWatcher=!1,R===void 0&&(b===void 0||b.message.startsWith("Avoided redundant navigation")===!0)&&o.updateModel({name:e.name})),T.returnRouterError===!0)return R!==void 0?Promise.reject(R):b})};g("click",r,q),r.defaultPrevented!==!0&&q();return}g("click",r)}function _(r){Fe(r,[13,32])?y(r,!0):We(r)!==!0&&r.keyCode>=35&&r.keyCode<=40&&r.altKey!==!0&&r.metaKey!==!0&&o.onKbdNavigate(r.keyCode,D.$el)===!0&&de(r),g("keydown",r)}function Q(){const r=o.tabProps.value.narrowIndicator,v=[],q=h("div",{ref:W,class:["q-tab__indicator",o.tabProps.value.indicatorClass]});e.icon!==void 0&&v.push(h(O,{class:"q-tab__icon",name:e.icon})),e.label!==void 0&&v.push(h("div",{class:"q-tab__label"},e.label)),e.alert!==!1&&v.push(e.alertIcon!==void 0?h(O,{class:"q-tab__alert-icon",color:e.alert!==!0?e.alert:void 0,name:e.alertIcon}):h("div",{class:"q-tab__alert"+(e.alert!==!0?` text-${e.alert}`:"")})),r===!0&&v.push(q);const T=[h("div",{class:"q-focus-helper",tabindex:-1,ref:L}),h("div",{class:I.value},je(C.default,v))];return r===!1&&T.push(q),T}const M={name:d(()=>e.name),rootRef:B,tabIndicatorRef:W,routeData:c};he(()=>{o.unregisterTab(M)}),$e(()=>{o.registerTab(M)});function j(r,v){const q={ref:B,class:G.value,tabindex:m.value,role:"tab","aria-selected":x.value===!0?"true":"false","aria-disabled":e.disable===!0?"true":void 0,onClick:y,onKeydown:_,...v};return Qe(h(r,q,Q()),[[Ee,U.value]])}return{renderTab:j,$tabs:o}}const vt=N({name:"QTab",props:nt,emits:at,setup(e,{slots:C,emit:g}){const{renderTab:c}=ot(e,C,g);return()=>c("div")}});function lt(e,C,g){const c=g===!0?["left","right"]:["top","bottom"];return`absolute-${C===!0?c[0]:c[1]}${e?` text-${e}`:""}`}const rt=["left","cen
|