class FRQuantityInput{constructor(t,e,n){function i(t,e){return this.button=document.createElement("button"),this.button.type="button",this.button.innerHTML=t,this.button.title=t,this.button.classList.add(e),this.button}this.input=document.createElement("input"),this.input.value=1,this.input.type="number",this.input.name="quantity",this.input.pattern="[0-9]+",this.decreaseText=e||"Decrease quantity",this.increaseText=n||"Increase quantity",this.subtract=new i(this.decreaseText,"sub"),this.add=new i(this.increaseText,"add"),this.subtract.addEventListener("click",()=>this.change_quantity(-1)),this.add.addEventListener("click",()=>this.change_quantity(1)),t.appendChild(this.subtract),t.appendChild(this.input),t.appendChild(this.add)}change_quantity(t){let e=Number(this.input.value);isNaN(e)&&(e=1),e+=t,e=Math.max(e,1),this.input.value=e}}!function(){let t=document.querySelectorAll(".quantity");t instanceof Node&&(t=[t]),t instanceof NodeList&&(t=[].slice.call(t)),t instanceof Array&&t.forEach(t=>t.quantity=new FRQuantityInput(t,"Down","Up"))}();