PageSourceSearch

https://momery.com/cdn/shop/t/54/assets/momery-pdp-qty-guard.js?v=27237470064424932941790770306

js momery.com collected 2026-10-09 22:40:25 UTC 2,560 bytes, 2 lines download raw bytes

1(function(root){"use strict";const QUANTITY_SELECTOR='form[action*="/cart/add"] input.qty[type="number"][name="quantity"]';function integer(value){const parsed=Number.parseInt(value,10);return Number.isNaN(parsed)?null:parsed}function minimumOf(input){return integer(input?.getAttribute?.("min"))??1}function maximumOf(input){const dataMaximum=integer(input?.dataset?.max);return dataMaximum!==null?dataMaximum:integer(input?.getAttribute?.("max"))??1/0}function clampValue(input,value){const minimum=minimumOf(input),maximum=maximumOf(input),parsed=integer(value);return Math.min(Math.max(parsed??minimum,minimum),maximum)}function validationMessage(input,value){const parsed=integer(value),minimum=minimumOf(input),maximum=maximumOf(input);return parsed===null?"Bitte eine Zahl eingeben.":parsed<minimum?`Mindestens ${minimum} St\xFCck.`:parsed>maximum?`Nur bis ${maximum} St\xFCck m\xF6glich.`:""}function syncNativeMaximum(input){const dataMaximum=integer(input?.dataset?.max);dataMaximum!==null&&input.setAttribute("max",String(dataMaximum))}function syncQuantityInputs(scope){(scope?.querySelectorAll?scope:root.document)?.querySelectorAll?.(QUANTITY_SELECTOR).forEach(syncNativeMaximum)}const api={clampValue,maximumOf,minimumOf,syncNativeMaximum,syncQuantityInputs,validationMessage};typeof module<"u"&&module.exports&&(module.exports=api),root.MomeryProductQuantityGuard=api;const document=root.document;if(!document||root.__momeryProductQuantityGuard)return;root.__momeryProductQuantityGuard=!0;function quantityInputFromEvent(event){const target=event.target;return target?.matches?.(QUANTITY_SELECTOR)?target:null}document.addEventListener("input",event=>{const input=quantityInputFromEvent(event);if(!input)return;const digits=input.value.replace(/\D/g,"");digits!==input.value&&(input.value=digits);const message=digits?validationMessage(input,digits):"";input.setCustomValidity(message),message&&input.reportValidity()},!0),document.addEventListener("change",event=>{const input=quantityInputFromEvent(event);input&&(syncNativeMaximum(input),input.value=String(clampValue(input,input.value)),input.setCustomValidity(""))},!0),document.addEventListener("keydown",event=>{const input=quantityInputFromEvent(event);input&&event.key==="Enter"&&(event.preventDefault(),input.blur())},!0),syncQuantityInputs(document),document.addEventListener("shopify:section:load",event=>syncQuantityInputs(event.target))})(typeof window<"u"?window:globalThis);
2//# sourceMappingURL=/cdn/shop/t/54/assets/momery-pdp-qty-guard.js.map?v=27237470064424932941790770306

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.