مصنوع باليد في دفعات صغيرة ✦ كل قطعة مختلفة قليلًا ✦ نرحّب بالطلبات الخاصة ✦ نغلّفها بعناية ✦
مصنوع باليد في دفعات صغيرة ✦ كل قطعة مختلفة قليلًا ✦ نرحّب بالطلبات الخاصة ✦ نغلّفها بعناية ✦
مصنوع باليد في دفعات صغيرة ✦ كل قطعة مختلفة قليلًا ✦ نرحّب بالطلبات الخاصة ✦ نغلّفها بعناية ✦
مصنوع باليد في دفعات صغيرة ✦ كل قطعة مختلفة قليلًا ✦ نرحّب بالطلبات الخاصة ✦ نغلّفها بعناية ✦
مصنوع باليد في دفعات صغيرة ✦ كل قطعة مختلفة قليلًا ✦ نرحّب بالطلبات الخاصة ✦ نغلّفها بعناية ✦
مصنوع باليد في دفعات صغيرة ✦ كل قطعة مختلفة قليلًا ✦ نرحّب بالطلبات الخاصة ✦ نغلّفها بعناية ✦
/
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')) + ';'
: ''" />
أملاح استحمام باللافندر
منتج تجريبيملح البحر واللافندر المجفف وزيت اللافندر
ملح بحري خشن وملح إبسوم مع براعم اللافندر المجففة وزيت اللافندر الصافي. حفنتان في حمّام دافئ تساعدان العضلات المتعبة على الاسترخاء. 400 غرام في برطمان زجاجي يمكن إعادة استخدامه.
| التصنيف | الصابون الطبيعي |
|---|---|
| رمز المنتج | DEMO-C9E148D2 |
لا توجد تقييمات بعد. كن أول من يقيم هذا المنتج!
تسجيل الدخول لكتابة تقييم
منتجات مرتبطة
$18