Free delivery on your first 3 orders, and up to 40% off this week
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://wafra-theme.trinavo.com/en/products?search=' + encodeURIComponent($wire.search); }"
@keydown.escape="focused = false" class="relative w-full text-base-content "
>
/
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')) + ';'
: ''" />
Wooden Stacking Rainbow
Demo ProductSeven arches for stacking, balancing and pretend play
Seven smooth wooden arches that stack into a rainbow, build tunnels and bridges, and teach sizes and colours along the way.
| Category | Baby & Kids |
|---|---|
| SKU | DEMO-5D1FA0A4 |
No reviews yet. Be the first to review this product!
Login to write a review
Related Products
$16
Need help?
Reach us on any of these channels.
Find us
Visit our store
Feedback
Tell us what you think
Talk to us
We reply within hours
Be the first to hear about discounts
Offers, new arrivals and coupons, straight to your inbox.