1import{d as V,N as O,aG as $,k as u,p as d,C as r,m as n,V as q,X as k,G as o,O as C,H as L,M as m,L as p,aD as M,aW as S,y as D,K as R}from"./DI1JW_Kc.js";const Q={class:"quantity-selector"},U=["for"],F={class:"required"},G={class:"quantity-selector-form"},w={key:0,class:"quantity-selector-form__button quantity-selector-form__button--left"},E=["disabled","aria-label"],H={class:"quantity-selector-form__input"},K={key:1,class:"quantity-selector-form__button quantity-selector-form__button--right"},P=["disabled","aria-label"],T=V({__name:"BaseQuantitySelector",props:{label:{default:""},name:{default:""},modelValue:{default:1},min:{default:1},max:{default:void 0},step:{default:1},validateOnBlur:{type:Boolean},validateOnChange:{type:Boolean},validateOnInput:{type:Boolean,default:!0},validateOnModelUpdate:{type:Boolean},validateOnMount:{type:Boolean,default:!0},hideIcons:{type:Boolean,default:!1}},emits:["update:modelValue","blur","input","focus","priceLoading:decrement","priceLoading:increment","priceLoading:input"],setup(f,{emit:_}){const a=f,y=O(null),i=_,c=$(),t=u({get:()=>String(a.modelValue),set:e=>i("update:modelValue",e?Number(e):"")}),h=u(()=>Number(t.value)<=Number(a.min)),g=u(()=>Number(t.value)>=Number(a.max)),v=u(()=>({required:!0,integer:!0,min_value:a.min,max_value:a.max})),B=()=>{const e=Number(t.value)-a.step;i("priceLoading:decrement"),e>=a.min&&(t.value=`${e}`)},I=()=>{const e=Number(t.value)+a.step;i("priceLoading:increment"),a.max!==void 0&&e<=a.max?t.value=`${e}`:t.value=`${e}`},N=e=>{i("input",e)};return(e,l)=>{const b=D;return d(),r("div",Q,[e.label?(d(),r("label",{key:0,class:"form-label",for:n(c)},[q(o("span",F,"*",512),[[k,"required"in n(v)]]),C(L(e.label),1)],8,U)):m("",!0),o("div",G,[a.hideIcons?m("",!0):(d(),r("div",w,[o("button",{type:"button",disabled:n(h),"aria-label":e.$t("Icon.QuantitySelector.Minus"),onClick:B},[p(b,{name:"minus",filled:""})],8,E)])),o("div",H,[p(n(S),{id:n(c),ref_key:"input",ref:y,modelValue:n(t),"onUpdate:modelValue":l[0]||(l[0]=s=>M(t)?t.value=s:null),as:"input",type:"number",rules:n(v),label:e.label,name:e.name,"validate-on-input":e.validateOnInput,"validate-on-blur":e.validateOnBlur,"validate-on-change":e.validateOnChange,"validate-on-model-update":e.validateOnModelUpdate,"validate-on-mount":e.validateOnMount,min:e.min,max:e.max,step:e.step,onBlur:l[1]||(l[1]=s=>e.$emit("blur",n(t))),onFocus:l[2]||(l[2]=s=>e.$emit("focus",n(t))),onInput:l[3]||(l[3]=s=>N(n(t)))},null,8,["id","modelValue","rules","label","name","validate-on-input","validate-on-blur","validate-on-change","validate-on-model-update","validate-on-mount","min","max","step"])]),a.hideIcons?m("",!0):(d(),r("div",K,[o("button",{type:"button",disabled:n(g),"aria-label":e.$t("Icon.QuantitySelector.Plus"),onClick:I},[p(b,{name:"plus",filled:""})],8,P)]))])])}}}),X=R(T,[["__scopeId","data-v-9397b780"]]);export{X as _};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.