Skip to content

Welcome to GulsTrading

v.attrs['Colour'] === wanted && v.stock > 0) ?? this.variants.find(v => v.attrs['Colour'] === wanted) : null; start ??= this.variants.find(v => v.stock > 0) ?? this.variants[0]; this.apply(start); }, apply(variant) { this.variantId = variant.id; this.groups.forEach(g => { if (variant.attrs[g.name] !== undefined) this.sel[g.name] = variant.attrs[g.name] }); this.activeImage = 0; }, choose(group, value) { this.sel[group] = value; // Exact: a variant wearing every current selection it carries. let match = this.variants.find(v => this.groups.every(g => !this.sel[g.name] || v.attrs[g.name] === undefined || v.attrs[g.name] === this.sel[g.name]) && v.attrs[group] === value); // Loose: best-scoring variant that at least wears the value // just clicked (sparse colour × size grids are the norm here). match ??= this.variants .filter(v => v.attrs[group] === value) .sort((a, b) => (this.score(b) - this.score(a)) || (b.stock > 0) - (a.stock > 0))[0]; if (match) this.apply(match); }, score(v) { return this.groups.reduce((n, g) => n + (v.attrs[g.name] === this.sel[g.name] ? 1 : 0), 0) + (v.stock > 0 ? 0.5 : 0); }, get images() { return this.previewImages }, get price() { return this.selected ? this.selected.price : 18.39 }, get compare() { return this.selected ? this.selected.compare : null }, get stock() { return this.selected ? this.selected.stock : 147 }, get needsVariant() { return this.variants.length > 0 && !this.variantId }, get previewImages() { if (this.selected && this.selected.images.length) return this.selected.images; // Colour chosen but size pending: preview that colour's shots. for (const g of this.groups.filter(g => g.isColour)) { if (this.sel[g.name]) { const match = this.variants.find(v => v.attrs[g.name] === this.sel[g.name] && v.images.length); if (match) return match.images; // A colour is chosen and NOTHING depicts it — 138 of // 4AsGlobals' variants have no image of their own. The // product's own shots are honest here; another // colour's are not, and on screen the two are // indistinguishable. Show those, or show none. return this.productImages; } } if (this.productImages.length) return this.productImages; // Nothing chosen yet, so no colour is being claimed: open on // the first variant that has a picture (the fallback the cards // use server-side). return this.variants.find(v => v.images.length)?.images ?? []; }, qty: 1, busy: false, lightbox: false, lightboxIndex: 0, get allImages() { const seen = new Set(); return [...this.productImages, ...this.variants.flatMap(v => v.images)] .filter(img => !seen.has(img.large) && seen.add(img.large)); }, openLightbox() { if (! this.allImages.length) return; const current = this.images[this.activeImage]?.large; const at = this.allImages.findIndex(img => img.large === current); this.lightboxIndex = at >= 0 ? at : 0; this.lightbox = true; }, nextImage() { if (this.allImages.length) this.lightboxIndex = (this.lightboxIndex + 1) % this.allImages.length }, prevImage() { if (this.allImages.length) this.lightboxIndex = (this.lightboxIndex - 1 + this.allImages.length) % this.allImages.length }, pick(id) { this.variantId = this.variantId === id ? null : id; this.activeImage = 0; }, }" @cart-updated.window="busy = false" @cart-add-failed.window="busy = false">
Female Compression Leggings
Leggings & Athletic Bottoms

Female Compression Leggings

Including VAT

Only left — order soon

Dispatched fast from our UK warehouse — same day where possible.

Fast UK dispatch Secure checkout Easy returns SKU

Picked, packed and dispatched from our own UK warehouse.

Six colours here, and they cover both ends of the taste range. Black, red and white on the plain side; black with pink, bubble pink with black, and purple with black if you want two tones. Black is the workhorse, though the white is worth knowing about if you train somewhere warm. The fabric depends on the colour you choose. Some are polyamide with spandex, some polyamide with elastane, and some polyester with elastane, which are different names for a similar idea. The main fibre gives you a smooth, quick-drying surface, and the stretch fibre lets the leggings move with you and spring back rather than bagging at the knee. The fabric for the option you are looking at is listed with it. The size range is genuinely wide, XS up to XXL. Compression leggings are meant to feel firm when you first put them on, and that settles within a few minutes of moving. If you are between sizes and you want them for lifting or running, take the smaller. If you want them mainly for wearing about, the larger will be more comfortable to sit in all day. Not every colour runs the whole ladder, so check the sizes against the one you like. They cover most of what people actually do in leggings: gym floor, classes, running, cycling, and the walk to and from all of it. Wash cool and inside out. Fabric softener is best left alone with stretch fabrics, as it builds up and dulls the recovery. Air dry rather than tumble dry, and give them a light pull back into shape while they are still damp. Everything ships from SyncShip within the UK, and returns are dealt with by us.
SKU
PRD-1E918C
Weight
0.5 kg
Barcode
6775866178050
Size
XXL, XL, M, XS, L, S
Material
Polyamide - Spandex, Polyamide - Elastane, Polyester Elastane
Colour
Black, Red, White, Black Pink, Bubble Pink Black, Purple Black

Orders are picked, packed and dispatched from our UK warehouse — same day where possible. Delivery options and prices are shown at checkout. Track any order any time at Track my order.

Changed your mind? You can request a return from your account within 30 days of delivery.

Reviews

No reviews yet — be the first.

Questions & Answers

No questions yet.

You may also like