Veuillez patienter...
Gourde isotherme personnalisée sous vide de 1 600 ml - Giganto
Ref : GP-160997
Gourde isotherme personnalisée sous vide de 1 600 ml - Giganto
- Écoresponsable
- Stock faible
À partir de
13,49 € HT
16,19 € TTC
Le produit suivant a bien été ajouté
Qté :
Avec personnalisation
Sans personnalisation
Prix unitaire
Total
open = false, 5000)"
x-show="$store.variants.showAll || index < ($store.breakpoints.isMobile() || $store.breakpoints.isTablet() ? 5 : 7)"
x-init="if (index === 0) { $nextTick(() => { if (!$store.variants.hasSelectedVariants()) { $store.variants.selectVariant(item, true); } }) }"
>
Quantités
{
const card = $event.currentTarget;
const input = card?.querySelector('input[data-qty-input-id], input[type="number"], input[type="text"]');
if (input) { input.focus({ preventScroll: true }); if (input.select) { input.select(); } }
});
return;
}
const wasCollapsed = !$store.variants.isCardCollapsed(index);
$store.variants.toggleCard(index, false);
if (wasCollapsed) {
$nextTick(() => {
const card = $event.currentTarget;
const input = card?.querySelector('input[data-qty-input-id], input[type="number"], input[type="text"]');
if (input) { input.focus({ preventScroll: true }); if (input.select) { input.select(); } }
});
}
">
{ $store.variants.suppressTierDisplay[k] = (k === tierKey) ? false : true; }); }
if (window && window.VARIANTS_QTY_DEBUG) { console.log('[variants] qty focus', { tierKey, rowKey, variantItemId: variant.itemId, productId: (product ? product.product_id : null), itemId: (product ? product.item_id : null), before: $store.variants.suppressTierDisplay ? $store.variants.suppressTierDisplay[tierKey] : undefined }); }
if (tierKey) { $store.variants.suppressTierDisplay[tierKey] = false; }
if (window && window.VARIANTS_QTY_DEBUG) { console.log('[variants] qty focus after', { tierKey, after: $store.variants.suppressTierDisplay ? $store.variants.suppressTierDisplay[tierKey] : undefined }); }
isFocused = true;
"
@click="
$store.variants.suppressTierDisplay ??= {};
if (tierKey) { Object.keys($store.variants.suppressTierDisplay).forEach(k => { $store.variants.suppressTierDisplay[k] = (k === tierKey) ? false : true; }); }
if (window && window.VARIANTS_QTY_DEBUG) { console.log('[variants] qty click', { tierKey, rowKey, variantItemId: variant.itemId, productId: (product ? product.product_id : null), itemId: (product ? product.item_id : null), before: $store.variants.suppressTierDisplay ? $store.variants.suppressTierDisplay[tierKey] : undefined }); }
if (tierKey) { $store.variants.suppressTierDisplay[tierKey] = false; }
if (window && window.VARIANTS_QTY_DEBUG) { console.log('[variants] qty click after', { tierKey, after: $store.variants.suppressTierDisplay ? $store.variants.suppressTierDisplay[tierKey] : undefined }); }
isFocused = true;
"
@beforeinput="if ($event.data && /\\D/.test($event.data)) { $event.preventDefault(); }"
@keydown="
if ($event.ctrlKey || $event.metaKey || $event.altKey) { return; }
if ($event.key === 'Enter') {
$event.preventDefault();
validateCurrentQty();
return;
}
const allowed = ['Backspace','Delete','ArrowLeft','ArrowRight','ArrowUp','ArrowDown','Home','End','Tab'];
if (allowed.includes($event.key)) { return; }
if (!/^[0-9]$/.test($event.key)) { $event.preventDefault(); }
"
@blur="
setTimeout(() => {
const isSmallViewport = !!(window.matchMedia && window.matchMedia('(max-width: 768px)').matches);
const tiersOpen = !($store.variants.suppressTierDisplay && $store.variants.suppressTierDisplay[tierKey]);
const storeTierPointerDown = !!($store.variants.suppressQtyBlurValidation && $store.variants.suppressQtyBlurValidation[tierKey]);
if (isSmallViewport && isFocused && tiersOpen && !isTierPointerDown && !storeTierPointerDown) { validateCurrentQty(); }
isTierPointerDown = false;
if ($store.variants.suppressQtyBlurValidation && tierKey) {
setTimeout(() => { $store.variants.suppressQtyBlurValidation[tierKey] = false; }, 250);
}
}, 0);
"
@input="
if (!product) return;
const cleaned = String($event.target.value || '').replace(/\\D+/g, '');
if (cleaned !== $event.target.value) { $event.target.value = cleaned; }
$store.variants.suppressTierDisplay ??= {};
if (tierKey) { $store.variants.suppressTierDisplay[tierKey] = false; }
$store.variants.customQuantities[product.product_id] = cleaned;
isLoading = true;
$store.variants.suppressQtyError = true;
if (cleaned === '') {
$store.variants.customQtyError = '';
$store.variants.customQtyErrorProductId = null;
$store.variants.deleteSelectedRowQuantity(product);
if (tierKey) { $store.variants.suppressTierDisplay[tierKey] = true; }
isLoading = false;
return;
} else {
$store.variants.validateAllQties(cleaned, product.product_id);
let errorMessage = $store.variants.customQtyError;
if (!errorMessage) { errorMessage = $store.variants.validateSizeQty(cleaned, product); }
if (errorMessage) {
$store.variants.customQtyErrorProductId = String(product.product_id);
$store.variants.suppressQtyError = false;
window.dispatchEvent(new CustomEvent('display-error', { detail: errorMessage }));
}
}
"
@input.debounce.400ms="
if (!product) return;
const qty = $store.variants.customQuantities[product.product_id];
if (qty === '' || qty === null || typeof qty === 'undefined') { $store.variants.customQtyErrorProductId = null; isLoading = false; return; }
const sizeError = $store.variants.validateSizeQty(qty, product);
if (sizeError) {
$store.variants.customQtyErrorProductId = String(product.product_id);
$store.variants.suppressQtyError = false;
window.dispatchEvent(new CustomEvent('display-error', { detail: $store.variants.customQtyError }));
isLoading = false;
return;
}
$store.variants.addRowCustomQuantity(product, qty, rowKey, false);
isLoading = false;
"
>
Actuellement en rupture de stock
{
if (String(k).startsWith(prefix)) { $store.variants.suppressTierDisplay[k] = true; }
});
$store.variants.suppressTierDisplay[pid] = false;
isFocused = true;
"
@click.stop="
$store.variants.suppressTierDisplay ??= {};
const prefix = String(variant.itemId || '') + '_';
Object.keys($store.variants.suppressTierDisplay || {}).forEach(k => {
if (String(k).startsWith(prefix)) { $store.variants.suppressTierDisplay[k] = true; }
});
$store.variants.suppressTierDisplay[pid] = false;
isFocused = true;
"
:class="{
'is-error': isInvalid(product),
'is-valid': isAccepted(product)
}"
@beforeinput="
if ($event.data && /\\D/.test($event.data)) { $event.preventDefault(); }
"
@keydown="
if ($event.ctrlKey || $event.metaKey || $event.altKey) { return; }
if ($event.key === 'Enter') {
$event.preventDefault();
validateCurrentQty(product);
return;
}
const allowed = ['Backspace','Delete','ArrowLeft','ArrowRight','ArrowUp','ArrowDown','Home','End','Tab'];
if (allowed.includes($event.key)) { return; }
if (!/^[0-9]$/.test($event.key)) { $event.preventDefault(); }
"
@blur="
setTimeout(() => {
const tiersOpen = !($store.variants.suppressTierDisplay && $store.variants.suppressTierDisplay[pid] === true);
const storeTierPointerDown = !!($store.variants.suppressQtyBlurValidation && $store.variants.suppressQtyBlurValidation[pid]);
if (isFocused && tiersOpen && !isTierPointerDown && !storeTierPointerDown) { validateCurrentQty(product); }
isTierPointerDown = false;
if ($store.variants.suppressQtyBlurValidation) {
setTimeout(() => { $store.variants.suppressQtyBlurValidation[pid] = false; }, 250);
}
}, 0);
"
@paste.prevent="
const text = ($event.clipboardData || window.clipboardData).getData('text') || '';
const cleaned = text.replace(/\\D+/g, '');
$event.target.value = cleaned;
$store.variants.customQuantities[product.product_id] = cleaned;
isLoading = true;
$store.variants.suppressQtyError = true;
if (cleaned === '') {
$store.variants.customQtyError = '';
$store.variants.customQtyErrorProductId = null;
$store.variants.deleteSelectedRowQuantity(product);
$store.variants.suppressTierDisplay ??= {};
$store.variants.suppressTierDisplay[pid] = true;
isLoading = false;
return;
} else {
$store.variants.validateAllQties(cleaned, product.product_id);
let errorMessage = $store.variants.customQtyError;
if (!errorMessage) {
errorMessage = $store.variants.validateSizeQty(cleaned, product);
}
if (errorMessage) {
$store.variants.customQtyErrorProductId = String(product.product_id);
$store.variants.suppressQtyError = false;
window.dispatchEvent(new CustomEvent('display-error', { detail: errorMessage }));
}
}
"
@input="
const cleaned = String($event.target.value || '').replace(/\\D+/g, '');
if (cleaned !== $event.target.value) {
$event.target.value = cleaned;
}
$store.variants.suppressTierDisplay ??= {};
$store.variants.suppressTierDisplay[pid] = false;
$nextTick(() => {
const container = $event.target.closest('.fake-select--list');
if (container) {
const rect = (container && container.getBoundingClientRect) ? container.getBoundingClientRect() : null;
if (rect) {
const card = container.closest('[data-variant-card-id]');
const cardRect = (card && card.getBoundingClientRect) ? card.getBoundingClientRect() : null;
const anchorRect = cardRect || rect;
const margin = Math.round(Math.min(120, Math.max(16, window.innerHeight * 0.08)));
const y = Math.max(0, window.scrollY + anchorRect.top - margin);
window.scrollTo({ top: y, left: 0, behavior: 'smooth' });
} else {
container.scrollIntoView({ block: 'start', inline: 'nearest', behavior: 'smooth' });
}
container.scrollTo({ top: 0, behavior: 'smooth' });
}
});
$store.variants.customQuantities[product.product_id] = cleaned;
isLoading = true;
$store.variants.suppressQtyError = true;
if (cleaned === '') {
$store.variants.customQtyError = '';
$store.variants.customQtyErrorProductId = null;
$store.variants.deleteSelectedRowQuantity(product);
$store.variants.suppressTierDisplay ??= {};
$store.variants.suppressTierDisplay[pid] = true;
isLoading = false;
return;
} else {
$store.variants.validateAllQties(cleaned, product.product_id);
let errorMessage = $store.variants.customQtyError;
if (!errorMessage) {
errorMessage = $store.variants.validateSizeQty(cleaned, product);
}
if (errorMessage) {
$store.variants.customQtyErrorProductId = String(product.product_id);
$store.variants.suppressQtyError = false;
window.dispatchEvent(new CustomEvent('display-error', { detail: errorMessage }));
}
}
"
@input.debounce.400ms="
const qty = $store.variants.customQuantities[product.product_id];
if (qty === '' || qty === null || typeof qty === 'undefined') {
$store.variants.customQtyError = '';
$store.variants.customQtyErrorProductId = null;
isLoading = false;
return;
}
const sizeError = $store.variants.validateSizeQty(qty, product);
if (sizeError) {
$store.variants.customQtyErrorProductId = String(product.product_id);
$store.variants.suppressQtyError = false;
window.dispatchEvent(new CustomEvent('display-error', { detail: $store.variants.customQtyError }));
isLoading = false;
return;
}
$store.variants.addRowCustomQuantity(
product,
qty,
product.item_id + '_' + product.product_id,
false
);
const selected = parseInt($store.variants.getSelectedRowQuantity(product) || 0, 10);
if (parseInt(qty, 10) === selected) {
$store.variants.customQtyError = '';
$store.variants.validateAllQties();
window.dispatchEvent(new CustomEvent('display-error', { detail: '' }));
$store.variants.suppressQtyError = true;
}
isLoading = false;
"
min="1"
>
*
0) { errorMessage = '' }"
x-effect="if ((($store.selectedCustomizations?.getCustomizations?.() || []).length > 0)) { errorMessage = '' }"
>
0 && $store.variants.validateAllQties(0, null, true, true) === '') { enabled = !enabled; toggleCustomizer() } else { showErrorMessage() }"
@customizer:stopped.window="enabled = false">
Personnalisez vos produits
Ajouter un logo, un texte ou un ClipArt
0) { errorMessage = '' }"
x-effect="if (!$store.customizer?.ready || (($store.selectedCustomizations?.getCustomizations?.() || []).length > 0)) { errorMessage = '' }"
>
Personnalisation
Mes personnalisations
Livraison estimée
Après la validation du BAT
On s'occupe de tout !!!
Après passage de votre commande, nous vérifions votre personnalisation et vous envoyons un BAT sous 24/48h avant le lancement en production.
Après la validation du BAT
Description
Nos caractéristiques
Détails du produit
| Référence | GP-160997 |
|---|---|
| Contenance (ml) | 1600 |
| Groupe d'âge | Adulte |
| Matière | Acier inoxydable recyclé, Plastique recyclé |
Spécification du produit
| Numéro du tarif douanier | 9617000000000000000000 |
|---|---|
| Attache | Sangle poignet |
| Avec poignée | Non |
| Compatibilité lave-vaisselle | Non |
| Compatibilité micro-onde | Non |
| Étanche | Oui |
| Emballage Individuel | Oui |
| Thématique | Outdoor, Bouteilles et gourdes |
Dimension - Logistique
| Dimension | (H x L x l x ⌀): H: 30.3 cm x L: 12.5 cm x l: 12.5 cm x ⌀: 10.8 cm |
|---|---|
| Dimension emballage | (H x L x l): H: 31 cm x L: 13 cm x l: 11 cm |
| Dimension du carton | (H x L x l): H: 34 cm x L: 41 cm x l: 47 cm |
| Poids du carton | 9 |
| Quantité par carton | 12 |
| Type d'emballage individuel | Boite |
RSE
| Normes et Certifications | BSCI |
|---|
Tarifs dégressifs
| Quantités | 1 | 10 | 25 | 50 | 75 | 100 | 250 | 500 | 1000 | 1500 |
|---|---|---|---|---|---|---|---|---|---|---|
|
Prix unitaire
|
19,98 € HT
23,98 € TTC |
19,28 € HT
23,14 € TTC |
18,58 € HT
22,30 € TTC |
17,78 € HT
21,34 € TTC |
17,08 € HT
20,50 € TTC |
16,38 € HT
19,66 € TTC |
15,68 € HT
18,82 € TTC |
14,89 € HT
17,87 € TTC |
14,19 € HT
17,03 € TTC |
13,49 € HT
16,19 € TTC |
Veuillez patienter...
Aucun résultat trouvé
| Quantités | |
|---|---|
|
|
|
Normes et certificats
-
BSCILE BSCI vise à garantir le respect des normes minimales de travail éthique par les fournisseurs. Le label se concentre uniquement sur l’éthique sociale et les conditions de travail liées à la production de nos produits.
Écoresponsable
-
Acier inoxydable recycléL’acier inoxydable recyclé est un acier inoxydable issu de matériaux déjà utilisés, qui ont été récupérés, fondus et réintégrés dans la fabrication de nouveaux produits. -
Plastique recycléLe plastique recyclé est un matériau fabriqué à partir de déchets plastiques déjà utilisés, collectés puis transformés pour créer une nouvelle matière première. On le retrouve sous forme de granulés, de paillettes, ou intégré directement dans de nouveaux produits.