0) selectedIndex = Math.min(selectedIndex + 1, resultsCount - 1)"
@keydown.arrow-up.prevent="if(resultsCount > 0) selectedIndex = Math.max(selectedIndex - 1, 0)"
@keydown.enter.prevent="if(selectedIndex >= 0 && $refs.inlineResults) { const link = $refs.inlineResults.children[selectedIndex]; if(link) link.click(); } else if($wire.search) { window.location.href = 'https://afia-theme.trinavo.com/products?search=' + encodeURIComponent($wire.search); }"
@keydown.escape="focused = false" class="relative w-full text-base-content bg-transparent"
data-theme="light" >
0) selectedIndex = Math.min(selectedIndex + 1, resultsCount - 1)"
@keydown.arrow-up.prevent="if(resultsCount > 0) selectedIndex = Math.max(selectedIndex - 1, 0)"
@keydown.enter.prevent="if(selectedIndex >= 0 && $refs.inlineResults) { const link = $refs.inlineResults.children[selectedIndex]; if(link) link.click(); } else if($wire.search) { window.location.href = 'https://afia-theme.trinavo.com/products?search=' + encodeURIComponent($wire.search); }"
@keydown.escape="focused = false" class="relative w-full text-base-content bg-transparent"
data-theme="light" >
/
0 ? -0.25 : 0.25;
const oldScale = zoomScale;
zoomScale = Math.max(1, Math.min(zoomMaxScale, zoomScale + delta));
if (oldScale === 1 && zoomScale > 1) {
const r = $el.getBoundingClientRect();
const cx = $event.clientX - (r.left + r.width/2);
const cy = $event.clientY - (r.top + r.height/2);
zoomPanX = -cx * (zoomScale-1)/zoomScale;
zoomPanY = -cy * (zoomScale-1)/zoomScale;
} else if (zoomScale > 1) {
zoomPanX = zoomPanX * (zoomScale / oldScale);
zoomPanY = zoomPanY * (zoomScale / oldScale);
}
if (zoomScale <= 1) { resetZoom(); } else { clampPan(); }
"
class="relative w-full h-full flex items-center justify-center p-4 [touch-action:none]"
:class="zoomScale > 1 ? (zoomPanning ? 'cursor-grabbing' : 'cursor-grab') : (modalTotal > 1 ? (modalDragging ? 'cursor-grabbing' : 'cursor-grab') : '')"
@mousedown="modalDragStart($event)"
@mousemove="modalDragMove($event)"
@mouseup="modalDragEnd($event)"
@mouseleave="modalDragEnd($event)"
@touchstart="modalDragStart($event)"
@touchmove="modalDragMove($event)"
@touchend="modalDragEnd($event)"
:style="modalDragOffset ? `transform: translateX(${modalDragOffset}px); transition: none;` : 'transition: transform 0.2s ease-out;'">
measureZoomCeiling($el))"
@click.stop
@dblclick.stop.prevent="if (lastInputWasTouch) return; zoomAnimating = true; if (zoomScale > 1) { resetZoom(); } else { const r = $el.getBoundingClientRect(); const cx = $event.clientX - (r.left + r.width/2); const cy = $event.clientY - (r.top + r.height/2); zoomScale = Math.min(2.5, zoomMaxScale); zoomPanX = -cx * (zoomScale-1)/zoomScale; zoomPanY = -cy * (zoomScale-1)/zoomScale; clampPan(); } setTimeout(() => { zoomAnimating = false; }, 300);"
draggable="false"
:style="modalActive === largeIdx
? 'position:relative;transform: scale(' + zoomScale + ') translate(' + (zoomPanX / zoomScale) + 'px, ' + (zoomPanY / zoomScale) + 'px); transform-origin: center center; will-change: transform; transition: ' + (zoomAnimating ? 'transform 0.3s ease-out' : (zoomScale > 1 ? 'none' : 'transform 0.2s ease-out')) + ';'
: ''" />
كرياتين مونوهيدرات، 300 غرام
منتج تجريبينقي وبلا نكهة، خمسة غرامات في كل مغرفة
كرياتين مونوهيدرات نقي دون أي إضافات، لتمارين القوة. اخلط مغرفة واحدة مع الماء أو مشروب البروتين كل يوم.
| التصنيف | التغذية الرياضية |
|---|---|
| رمز المنتج | DEMO-94321E19 |
لا توجد تقييمات بعد. كن أول من يقيم هذا المنتج!
تسجيل الدخول لكتابة تقييم
منتجات مرتبطة
$22