/
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')) + ';'
: ''" />
Brake Fluid DOT 4, 500 ml
Demo ProductA firm brake pedal, stop after stop
Brake fluid soaks up moisture over time, and the pedal starts to feel soft. Replace it every two years for firm, dependable braking, especially in the heat.
| Category | Oils & Fluids |
|---|---|
| SKU | DEMO-25BE612A |
| Compatible Vehicles |
Toyota
8
Camry
2
2.5L
(2012
-
2017)
2.5L
(2018
-
2024)
Corolla
2
1.6L
(2014
-
2019)
2.0L
(2020
-
2024)
Land Cruiser
2
4.6L
(2008
-
2021)
3.5L
(2022
-
2024)
Hilux
2
2.7L
(2016
-
2024)
2.4L
(2016
-
2024)
Nissan
4
Sunny
1
1.5L
(2012
-
2024)
Patrol
1
5.6L
(2010
-
2024)
Altima
2
2.5L
(2013
-
2018)
2.5L
(2019
-
2024)
Hyundai
5
Elantra
2
2.0L
(2016
-
2020)
2.0L
(2021
-
2024)
Accent
1
1.6L
(2018
-
2024)
Tucson
2
2.0L
(2016
-
2020)
2.5L
(2021
-
2024)
Kia
3
Cerato
1
2.0L
(2019
-
2024)
Sportage
2
2.4L
(2016
-
2021)
2.5L
(2022
-
2024)
Honda
4
Accord
2
2.4L
(2013
-
2017)
1.5L
(2018
-
2024)
Civic
2
2.0L
(2016
-
2021)
2.0L
(2022
-
2024)
Chevrolet
3
Tahoe
2
5.3L
(2015
-
2020)
5.3L
(2021
-
2024)
Malibu
1
1.5L
(2016
-
2024)
|
No reviews yet. Be the first to review this product!
Login to write a review
Related Products
TL 9