1 line
6 KiB
JavaScript
1 line
6 KiB
JavaScript
import{Q as A}from"./QSlideTransition-d8814589.js";import{u as D,d as N,a as T,b as B,c as K}from"./use-panel-d5805259.js";import{N as I,Q as P,a as x,c as o,U as n,a4 as $,I as R,ae as U,aD as h,aC as W,bU as E,a3 as C,b_ as k,O as F,R as V,bI as j,aw as L,bm as z}from"./index-3a2b6cd5.js";const w=I({name:"StepHeader",props:{stepper:{},step:{},goToPanel:Function},setup(e,{attrs:l}){const{proxy:{$q:s}}=P(),i=x(null),r=o(()=>e.stepper.modelValue===e.step.name),c=o(()=>{const t=e.step.disable;return t===!0||t===""}),p=o(()=>{const t=e.step.error;return t===!0||t===""}),u=o(()=>{const t=e.step.done;return c.value===!1&&(t===!0||t==="")}),_=o(()=>{const t=e.step.headerNav,a=t===!0||t===""||t===void 0;return c.value===!1&&e.stepper.headerNav&&a}),d=o(()=>e.step.prefix&&(r.value===!1||e.stepper.activeIcon==="none")&&(p.value===!1||e.stepper.errorIcon==="none")&&(u.value===!1||e.stepper.doneIcon==="none")),f=o(()=>{const t=e.step.icon||e.stepper.inactiveIcon;if(r.value===!0){const a=e.step.activeIcon||e.stepper.activeIcon;return a==="none"?t:a||s.iconSet.stepper.active}if(p.value===!0){const a=e.step.errorIcon||e.stepper.errorIcon;return a==="none"?t:a||s.iconSet.stepper.error}if(c.value===!1&&u.value===!0){const a=e.step.doneIcon||e.stepper.doneIcon;return a==="none"?t:a||s.iconSet.stepper.done}return t}),v=o(()=>{const t=p.value===!0?e.step.errorColor||e.stepper.errorColor:void 0;if(r.value===!0){const a=e.step.activeColor||e.stepper.activeColor||e.step.color;return a!==void 0?a:t}return t!==void 0?t:c.value===!1&&u.value===!0?e.step.doneColor||e.stepper.doneColor||e.step.color||e.stepper.inactiveColor:e.step.color||e.stepper.inactiveColor}),g=o(()=>"q-stepper__tab col-grow flex items-center no-wrap relative-position"+(v.value!==void 0?` text-${v.value}`:"")+(p.value===!0?" q-stepper__tab--error q-stepper__tab--error-with-"+(d.value===!0?"prefix":"icon"):"")+(r.value===!0?" q-stepper__tab--active":"")+(u.value===!0?" q-stepper__tab--done":"")+(_.value===!0?" q-stepper__tab--navigation q-focusable q-hoverable":"")+(c.value===!0?" q-stepper__tab--disabled":"")),S=o(()=>e.stepper.headerNav!==!0?!1:_.value);function b(){i.value!==null&&i.value.focus(),r.value===!1&&e.goToPanel(e.step.name)}function q(t){t.keyCode===13&&r.value===!1&&e.goToPanel(e.step.name)}return()=>{const t={class:g.value};_.value===!0&&(t.onClick=b,t.onKeyup=q,Object.assign(t,c.value===!0?{tabindex:-1,"aria-disabled":"true"}:{tabindex:l.tabindex||0}));const a=[n("div",{class:"q-focus-helper",tabindex:-1,ref:i}),n("div",{class:"q-stepper__dot row flex-center q-stepper__line relative-position"},[n("span",{class:"row flex-center"},[d.value===!0?e.step.prefix:n($,{name:f.value})])])];if(e.step.title!==void 0&&e.step.title!==null){const m=[n("div",{class:"q-stepper__title"},e.step.title)];e.step.caption!==void 0&&e.step.caption!==null&&m.push(n("div",{class:"q-stepper__caption"},e.step.caption)),a.push(n("div",{class:"q-stepper__label q-stepper__line relative-position"},m))}return R(n("div",t,a),[[U,S.value]])}}});function Q(e){return n("div",{class:"q-stepper__step-content"},[n("div",{class:"q-stepper__step-inner"},C(e.default))])}const y={setup(e,{slots:l}){return()=>Q(l)}},X=I({name:"QStep",props:{...D,icon:String,color:String,title:{type:String,required:!0},caption:String,prefix:[String,Number],doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String,headerNav:{type:Boolean,default:!0},done:Boolean,error:Boolean,onScroll:[Function,Array]},setup(e,{slots:l,emit:s}){const{proxy:{$q:i}}=P(),r=W(k,h);if(r===h)return console.error("QStep needs to be a child of QStepper"),h;const{getCacheWithFn:c}=N(),p=x(null),u=o(()=>r.value.modelValue===e.name),_=o(()=>i.platform.is.ios!==!0&&i.platform.is.chrome===!0||u.value!==!0||r.value.vertical!==!0?{}:{onScroll(v){const{target:g}=v;g.scrollTop>0&&(g.scrollTop=0),e.onScroll!==void 0&&s("scroll",v)}}),d=o(()=>typeof e.name=="string"||typeof e.name=="number"?e.name:String(e.name));function f(){const v=r.value.vertical;return v===!0&&r.value.keepAlive===!0?n(E,r.value.keepAliveProps.value,u.value===!0?[n(r.value.needsUniqueKeepAliveWrapper.value===!0?c(d.value,()=>({...y,name:d.value})):y,{key:d.value},l.default)]:void 0):v!==!0||u.value===!0?Q(l):void 0}return()=>n("div",{ref:p,class:"q-stepper__step",role:"tabpanel",..._.value},r.value.vertical===!0?[n(w,{stepper:r.value,step:e,goToPanel:r.value.goToPanel}),r.value.animated===!0?n(A,f):f()]:[f()])}}),H=/(-\w)/g;function O(e){const l={};for(const s in e){const i=s.replace(H,r=>r[1].toUpperCase());l[i]=e[s]}return l}const Y=I({name:"QStepper",props:{...F,...T,flat:Boolean,bordered:Boolean,alternativeLabels:Boolean,headerNav:Boolean,contracted:Boolean,headerClass:String,inactiveColor:String,inactiveIcon:String,doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String},emits:B,setup(e,{slots:l}){const s=P(),i=V(e,s.proxy.$q),{updatePanelsList:r,isValidPanelName:c,updatePanelIndex:p,getPanelContent:u,getPanels:_,panelDirectives:d,goToPanel:f,keepAliveProps:v,needsUniqueKeepAliveWrapper:g}=K();j(k,o(()=>({goToPanel:f,keepAliveProps:v,needsUniqueKeepAliveWrapper:g,...e})));const S=o(()=>`q-stepper q-stepper--${e.vertical===!0?"vertical":"horizontal"}`+(e.flat===!0?" q-stepper--flat":"")+(e.bordered===!0?" q-stepper--bordered":"")+(i.value===!0?" q-stepper--dark q-dark":"")),b=o(()=>`q-stepper__header row items-stretch justify-between q-stepper__header--${e.alternativeLabels===!0?"alternative":"standard"}-labels`+(e.flat===!1||e.bordered===!0?" q-stepper__header--border":"")+(e.contracted===!0?" q-stepper__header--contracted":"")+(e.headerClass!==void 0?` ${e.headerClass}`:""));function q(){const t=C(l.message,[]);if(e.vertical===!0){c(e.modelValue)&&p();const a=n("div",{class:"q-stepper__content"},C(l.default));return t===void 0?[a]:t.concat(a)}return[n("div",{class:b.value},_().map(a=>{const m=O(a.props);return n(w,{key:m.name,stepper:e,step:m,goToPanel:f})})),t,z("div",{class:"q-stepper__content q-panel-parent"},u(),"cont",e.swipeable,()=>d.value)]}return()=>(r(l),n("div",{class:S.value},L(l.navigation,q())))}});export{Y as Q,X as a};
|