@nok-integration/storefront-react 0.20.16 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +320 -41
- package/dist/index.mjs +1058 -558
- package/dist/standalone/storefront.mjs +1058 -558
- package/dist/standalone/styles.css +59 -0
- package/dist/styles.css +59 -0
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4491,6 +4491,80 @@ function requireIds() {
|
|
|
4491
4491
|
ids.RequestId = prefixedId("req_");
|
|
4492
4492
|
return ids;
|
|
4493
4493
|
}
|
|
4494
|
+
var vip = {};
|
|
4495
|
+
var hasRequiredVip;
|
|
4496
|
+
function requireVip() {
|
|
4497
|
+
if (hasRequiredVip) return vip;
|
|
4498
|
+
hasRequiredVip = 1;
|
|
4499
|
+
(function(exports) {
|
|
4500
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4501
|
+
value: true
|
|
4502
|
+
});
|
|
4503
|
+
exports.VipClaimResponse = exports.VipClaimRefusalReason = exports.VipClaimRequest = exports.VipClaimLine = exports.VipCartItemRequest = exports.VipInviteView = exports.VipHero = exports.VipInviteOffer = exports.VipInviteResolveRequest = exports.VipDeliveryRule = exports.VIP_TOKEN_PATTERN = exports.VipInviteRef = void 0;
|
|
4504
|
+
const zod_1 = requireZod();
|
|
4505
|
+
const common_1 = requireCommon();
|
|
4506
|
+
const ids_1 = requireIds();
|
|
4507
|
+
exports.VipInviteRef = (0, ids_1.prefixedId)("vip_", "VipInviteRef");
|
|
4508
|
+
exports.VIP_TOKEN_PATTERN = /^[A-Za-z0-9_-]{43}$/;
|
|
4509
|
+
exports.VipDeliveryRule = zod_1.z.enum(["both_free", "standard_free", "both_paid"]);
|
|
4510
|
+
exports.VipInviteResolveRequest = zod_1.z.object({
|
|
4511
|
+
token: zod_1.z.string().regex(exports.VIP_TOKEN_PATTERN)
|
|
4512
|
+
}).strict();
|
|
4513
|
+
exports.VipInviteOffer = zod_1.z.object({
|
|
4514
|
+
product_sku: common_1.Sku,
|
|
4515
|
+
quantity: zod_1.z.number().int().positive()
|
|
4516
|
+
});
|
|
4517
|
+
exports.VipHero = zod_1.z.object({
|
|
4518
|
+
image: common_1.Url.nullable(),
|
|
4519
|
+
headline: zod_1.z.string(),
|
|
4520
|
+
body: zod_1.z.string().nullable(),
|
|
4521
|
+
cta_label: zod_1.z.string()
|
|
4522
|
+
});
|
|
4523
|
+
exports.VipInviteView = zod_1.z.discriminatedUnion("state", [zod_1.z.object({
|
|
4524
|
+
state: zod_1.z.literal("active"),
|
|
4525
|
+
invite_ref: exports.VipInviteRef,
|
|
4526
|
+
recipient_name: zod_1.z.string(),
|
|
4527
|
+
personal_message: zod_1.z.string().nullable(),
|
|
4528
|
+
delivery_rule: exports.VipDeliveryRule,
|
|
4529
|
+
expires_at: common_1.Timestamp,
|
|
4530
|
+
items: zod_1.z.array(exports.VipInviteOffer).min(1),
|
|
4531
|
+
hero: exports.VipHero.nullable().optional()
|
|
4532
|
+
}), zod_1.z.object({
|
|
4533
|
+
state: zod_1.z.literal("scheduled"),
|
|
4534
|
+
opens_at: common_1.Timestamp
|
|
4535
|
+
}), zod_1.z.object({
|
|
4536
|
+
state: zod_1.z.literal("claimed")
|
|
4537
|
+
}), zod_1.z.object({
|
|
4538
|
+
state: zod_1.z.literal("expired")
|
|
4539
|
+
}), zod_1.z.object({
|
|
4540
|
+
state: zod_1.z.literal("revoked")
|
|
4541
|
+
})]);
|
|
4542
|
+
exports.VipCartItemRequest = zod_1.z.object({
|
|
4543
|
+
token: zod_1.z.string().regex(exports.VIP_TOKEN_PATTERN),
|
|
4544
|
+
sku: common_1.Sku,
|
|
4545
|
+
qty: zod_1.z.number().int().positive().max(99)
|
|
4546
|
+
}).strict();
|
|
4547
|
+
exports.VipClaimLine = zod_1.z.object({
|
|
4548
|
+
sku: common_1.Sku,
|
|
4549
|
+
qty: zod_1.z.number().int().positive()
|
|
4550
|
+
}).strict();
|
|
4551
|
+
exports.VipClaimRequest = zod_1.z.object({
|
|
4552
|
+
invite_ref: exports.VipInviteRef,
|
|
4553
|
+
dazn_user_id: zod_1.z.string().min(1).max(200),
|
|
4554
|
+
lines: zod_1.z.array(exports.VipClaimLine).min(1).max(50)
|
|
4555
|
+
}).strict();
|
|
4556
|
+
exports.VipClaimRefusalReason = zod_1.z.enum(["unknown", "revoked", "expired", "not_yet_valid", "claimed_by_another", "already_ordered", "outside_entitlement"]);
|
|
4557
|
+
exports.VipClaimResponse = zod_1.z.discriminatedUnion("result", [zod_1.z.object({
|
|
4558
|
+
result: zod_1.z.literal("claimed"),
|
|
4559
|
+
invite_ref: exports.VipInviteRef
|
|
4560
|
+
}), zod_1.z.object({
|
|
4561
|
+
result: zod_1.z.literal("refused"),
|
|
4562
|
+
invite_ref: exports.VipInviteRef,
|
|
4563
|
+
reason: exports.VipClaimRefusalReason
|
|
4564
|
+
})]);
|
|
4565
|
+
})(vip);
|
|
4566
|
+
return vip;
|
|
4567
|
+
}
|
|
4494
4568
|
var hasRequiredCart;
|
|
4495
4569
|
function requireCart() {
|
|
4496
4570
|
if (hasRequiredCart) return cart;
|
|
@@ -4505,6 +4579,7 @@ function requireCart() {
|
|
|
4505
4579
|
const ids_1 = requireIds();
|
|
4506
4580
|
const money_2 = requireMoney();
|
|
4507
4581
|
const common_1 = requireCommon();
|
|
4582
|
+
const vip_1 = requireVip();
|
|
4508
4583
|
exports.CartItem = zod_1.z.object({
|
|
4509
4584
|
sku: common_1.Sku,
|
|
4510
4585
|
qty: zod_1.z.number().int().positive(),
|
|
@@ -4537,7 +4612,10 @@ function requireCart() {
|
|
|
4537
4612
|
totals: exports.CartTotals,
|
|
4538
4613
|
locked: exports.CartLock.optional(),
|
|
4539
4614
|
hold: exports.CartHold.optional(),
|
|
4540
|
-
hidden_lines: zod_1.z.array(exports.HiddenSummaryLine).optional()
|
|
4615
|
+
hidden_lines: zod_1.z.array(exports.HiddenSummaryLine).optional(),
|
|
4616
|
+
vip: zod_1.z.object({
|
|
4617
|
+
invite_ref: vip_1.VipInviteRef
|
|
4618
|
+
}).optional()
|
|
4541
4619
|
});
|
|
4542
4620
|
exports.CartMarketQuery = common_1.MarketQuery;
|
|
4543
4621
|
exports.AddCartItemRequest = zod_1.z.object({
|
|
@@ -4563,7 +4641,8 @@ function requireCart() {
|
|
|
4563
4641
|
items: zod_1.z.array(exports.CartItem),
|
|
4564
4642
|
cart_items: zod_1.z.array(exports.PartnerCartItem),
|
|
4565
4643
|
totals: exports.CartTotals,
|
|
4566
|
-
locked: exports.CartLock.optional()
|
|
4644
|
+
locked: exports.CartLock.optional(),
|
|
4645
|
+
vip_invite_ref: vip_1.VipInviteRef.optional()
|
|
4567
4646
|
});
|
|
4568
4647
|
})(cart);
|
|
4569
4648
|
return cart;
|
|
@@ -4620,6 +4699,7 @@ function requireOrders() {
|
|
|
4620
4699
|
const money_1 = requireMoney();
|
|
4621
4700
|
const ids_1 = requireIds();
|
|
4622
4701
|
const common_1 = requireCommon();
|
|
4702
|
+
const vip_1 = requireVip();
|
|
4623
4703
|
exports.OrderEventEnvelope = zod_1.z.object({
|
|
4624
4704
|
event_id: ids_1.EventId,
|
|
4625
4705
|
occurred_at: common_1.Timestamp
|
|
@@ -4658,7 +4738,8 @@ function requireOrders() {
|
|
|
4658
4738
|
ship_to: common_1.Address,
|
|
4659
4739
|
lines: zod_1.z.array(exports.OrderLine).min(1),
|
|
4660
4740
|
totals: exports.OrderTotals,
|
|
4661
|
-
payment: exports.OrderPaymentSummary.optional()
|
|
4741
|
+
payment: exports.OrderPaymentSummary.optional(),
|
|
4742
|
+
vip_invite_ref: vip_1.VipInviteRef.optional()
|
|
4662
4743
|
}).strict();
|
|
4663
4744
|
exports.CancelReason = zod_1.z.enum(["customer_request", "payment_failed", "fraud", "unfulfillable", "other"]);
|
|
4664
4745
|
exports.OrderLineAction = zod_1.z.object({
|
|
@@ -4701,6 +4782,7 @@ function requireOrderTracking() {
|
|
|
4701
4782
|
const ids_1 = requireIds();
|
|
4702
4783
|
const common_1 = requireCommon();
|
|
4703
4784
|
const orders_1 = requireOrders();
|
|
4785
|
+
const vip_1 = requireVip();
|
|
4704
4786
|
exports.OrderProgressStep = zod_1.z.enum(["packing", "on_its_way", "out_for_delivery", "delivered", "cancelled"]);
|
|
4705
4787
|
exports.OrderProgressEntry = zod_1.z.object({
|
|
4706
4788
|
step: exports.OrderProgressStep,
|
|
@@ -4780,7 +4862,10 @@ function requireOrderTracking() {
|
|
|
4780
4862
|
totals: orders_1.OrderTotals,
|
|
4781
4863
|
can_cancel: zod_1.z.boolean().optional(),
|
|
4782
4864
|
can_return: zod_1.z.boolean().optional(),
|
|
4783
|
-
returns: zod_1.z.array(exports.ReturnSummary).optional()
|
|
4865
|
+
returns: zod_1.z.array(exports.ReturnSummary).optional(),
|
|
4866
|
+
vip: zod_1.z.object({
|
|
4867
|
+
invite_ref: vip_1.VipInviteRef
|
|
4868
|
+
}).optional()
|
|
4784
4869
|
});
|
|
4785
4870
|
exports.FanCancelReason = zod_1.z.enum(["changed_my_mind", "ordered_by_mistake", "delivery_too_long"]);
|
|
4786
4871
|
exports.RequestCancellationRequest = zod_1.z.object({
|
|
@@ -4891,7 +4976,7 @@ function requireErrors() {
|
|
|
4891
4976
|
});
|
|
4892
4977
|
exports.ErrorResponse = exports.ApiErrorBody = exports.ERROR_CODE_STATUS = exports.ErrorCode = void 0;
|
|
4893
4978
|
const zod_1 = requireZod();
|
|
4894
|
-
exports.ErrorCode = zod_1.z.enum(["invalid_request", "unauthorized", "out_of_stock", "cart_locked", "sku_not_found", "category_not_found", "amount_mismatch", "duplicate_order", "order_not_found", "order_not_cancellable", "cart_not_found", "support_ticket_not_found", "size_chart_not_found", "forbidden", "invalid_transition", "rate_limited", "server_error"]);
|
|
4979
|
+
exports.ErrorCode = zod_1.z.enum(["invalid_request", "unauthorized", "out_of_stock", "cart_locked", "sku_not_found", "category_not_found", "amount_mismatch", "duplicate_order", "order_not_found", "order_not_cancellable", "cart_not_found", "support_ticket_not_found", "vip_invite_not_found", "vip_cart_conflict", "vip_invite_mismatch", "size_chart_not_found", "forbidden", "invalid_transition", "rate_limited", "server_error"]);
|
|
4895
4980
|
exports.ERROR_CODE_STATUS = {
|
|
4896
4981
|
invalid_request: 400,
|
|
4897
4982
|
unauthorized: 401,
|
|
@@ -4905,6 +4990,9 @@ function requireErrors() {
|
|
|
4905
4990
|
order_not_cancellable: 409,
|
|
4906
4991
|
cart_not_found: 404,
|
|
4907
4992
|
support_ticket_not_found: 404,
|
|
4993
|
+
vip_invite_not_found: 404,
|
|
4994
|
+
vip_cart_conflict: 409,
|
|
4995
|
+
vip_invite_mismatch: 409,
|
|
4908
4996
|
size_chart_not_found: 404,
|
|
4909
4997
|
forbidden: 403,
|
|
4910
4998
|
invalid_transition: 409,
|
|
@@ -4941,6 +5029,7 @@ function requireClient() {
|
|
|
4941
5029
|
const order_tracking_1 = requireOrderTracking();
|
|
4942
5030
|
const stock_alerts_1 = requireStockAlerts();
|
|
4943
5031
|
const support_1 = requireSupport();
|
|
5032
|
+
const vip_1 = requireVip();
|
|
4944
5033
|
const errors_1 = requireErrors();
|
|
4945
5034
|
class DaznApiError extends Error {
|
|
4946
5035
|
status;
|
|
@@ -5170,6 +5259,24 @@ function requireClient() {
|
|
|
5170
5259
|
schema: support_1.SupportTicket
|
|
5171
5260
|
})
|
|
5172
5261
|
},
|
|
5262
|
+
vip: {
|
|
5263
|
+
resolve: (token, query = {}) => request({
|
|
5264
|
+
method: "POST",
|
|
5265
|
+
path: "/vip/resolve",
|
|
5266
|
+
body: {
|
|
5267
|
+
token
|
|
5268
|
+
},
|
|
5269
|
+
query: market(query),
|
|
5270
|
+
schema: vip_1.VipInviteView
|
|
5271
|
+
}),
|
|
5272
|
+
addToCart: (body3, query = {}) => request({
|
|
5273
|
+
method: "POST",
|
|
5274
|
+
path: "/vip/cart/items",
|
|
5275
|
+
body: body3,
|
|
5276
|
+
query: market(query),
|
|
5277
|
+
schema: cart_1.Cart
|
|
5278
|
+
})
|
|
5279
|
+
},
|
|
5173
5280
|
auth: {
|
|
5174
5281
|
exchangeSession: (body3) => request({
|
|
5175
5282
|
method: "POST",
|
|
@@ -5189,6 +5296,60 @@ function requireClient() {
|
|
|
5189
5296
|
return client;
|
|
5190
5297
|
}
|
|
5191
5298
|
var clientExports = requireClient();
|
|
5299
|
+
const TOP = {
|
|
5300
|
+
doc: 0,
|
|
5301
|
+
pane: 0
|
|
5302
|
+
};
|
|
5303
|
+
const places = /* @__PURE__ */ new Map();
|
|
5304
|
+
let returnedTo = null;
|
|
5305
|
+
function here() {
|
|
5306
|
+
if (typeof window === "undefined") return "";
|
|
5307
|
+
const { pathname, search, hash } = window.location;
|
|
5308
|
+
return pathname + search + hash;
|
|
5309
|
+
}
|
|
5310
|
+
if (typeof window !== "undefined") {
|
|
5311
|
+
window.addEventListener("popstate", () => {
|
|
5312
|
+
returnedTo = here();
|
|
5313
|
+
}, {
|
|
5314
|
+
capture: true
|
|
5315
|
+
});
|
|
5316
|
+
}
|
|
5317
|
+
function cameBack() {
|
|
5318
|
+
return returnedTo !== null && returnedTo === here();
|
|
5319
|
+
}
|
|
5320
|
+
function returnOffset(key) {
|
|
5321
|
+
if (!cameBack() || returnedTo !== key) return null;
|
|
5322
|
+
return places.get(key) ?? null;
|
|
5323
|
+
}
|
|
5324
|
+
function settleReturn() {
|
|
5325
|
+
returnedTo = null;
|
|
5326
|
+
}
|
|
5327
|
+
function remember(key, offset) {
|
|
5328
|
+
places.set(key, offset);
|
|
5329
|
+
}
|
|
5330
|
+
let latestScreen = 0;
|
|
5331
|
+
let currentScreen = 0;
|
|
5332
|
+
function claimScreen() {
|
|
5333
|
+
latestScreen += 1;
|
|
5334
|
+
currentScreen = latestScreen;
|
|
5335
|
+
return currentScreen;
|
|
5336
|
+
}
|
|
5337
|
+
function leaveScreen() {
|
|
5338
|
+
currentScreen = 0;
|
|
5339
|
+
settleReturn();
|
|
5340
|
+
}
|
|
5341
|
+
function isCurrentScreen(screen2) {
|
|
5342
|
+
return screen2 === currentScreen;
|
|
5343
|
+
}
|
|
5344
|
+
function placeOf(pane) {
|
|
5345
|
+
return {
|
|
5346
|
+
doc: window.scrollY || document.documentElement.scrollTop || 0,
|
|
5347
|
+
pane: pane ? pane.scrollTop : 0
|
|
5348
|
+
};
|
|
5349
|
+
}
|
|
5350
|
+
function reached(now, at) {
|
|
5351
|
+
return Math.abs(now.doc - at.doc) <= 1 && Math.abs(now.pane - at.pane) <= 1;
|
|
5352
|
+
}
|
|
5192
5353
|
const HOLD_MS = 2500;
|
|
5193
5354
|
function withoutRestoration() {
|
|
5194
5355
|
const history = typeof window !== "undefined" ? window.history : void 0;
|
|
@@ -5201,11 +5362,14 @@ function withoutRestoration() {
|
|
|
5201
5362
|
};
|
|
5202
5363
|
}
|
|
5203
5364
|
function scrollToTop(box2) {
|
|
5365
|
+
scrollToOffset(0, box2);
|
|
5366
|
+
}
|
|
5367
|
+
function scrollToOffset(offset, box2) {
|
|
5204
5368
|
const target = box2 ?? document.documentElement;
|
|
5205
5369
|
const behaviour = target.style.scrollBehavior;
|
|
5206
5370
|
target.style.scrollBehavior = "auto";
|
|
5207
|
-
if (box2) box2.scrollTop =
|
|
5208
|
-
else window.scrollTo(0,
|
|
5371
|
+
if (box2) box2.scrollTop = offset;
|
|
5372
|
+
else window.scrollTo(0, offset);
|
|
5209
5373
|
target.style.scrollBehavior = behaviour;
|
|
5210
5374
|
}
|
|
5211
5375
|
function scrollerOf(el) {
|
|
@@ -5231,17 +5395,20 @@ const holds = /* @__PURE__ */ new Set();
|
|
|
5231
5395
|
function releaseHolds() {
|
|
5232
5396
|
for (const end2 of Array.from(holds)) end2();
|
|
5233
5397
|
}
|
|
5234
|
-
function anchorTop(onMoved = () => true, onEnd, box2 = null) {
|
|
5398
|
+
function anchorTop(onMoved = () => true, onEnd, box2 = null, at = TOP) {
|
|
5235
5399
|
let released = false;
|
|
5236
5400
|
let touching = false;
|
|
5237
5401
|
const top2 = () => {
|
|
5238
5402
|
if (released || touching) return;
|
|
5239
5403
|
const document_ = window.scrollY || document.documentElement.scrollTop || 0;
|
|
5240
5404
|
const pane = box2 ? box2.scrollTop : 0;
|
|
5241
|
-
|
|
5405
|
+
const off = (now, want) => want === 0 ? now > 0 : Math.abs(now - want) > 1;
|
|
5406
|
+
const documentOff = off(document_, at.doc);
|
|
5407
|
+
const paneOff = box2 !== null && off(pane, at.pane);
|
|
5408
|
+
if (!documentOff && !paneOff) return;
|
|
5242
5409
|
if (!onMoved()) return;
|
|
5243
|
-
if (
|
|
5244
|
-
if (box2 &&
|
|
5410
|
+
if (documentOff) scrollToOffset(at.doc);
|
|
5411
|
+
if (box2 && paneOff) scrollToOffset(at.pane, box2);
|
|
5245
5412
|
};
|
|
5246
5413
|
const down = (event) => {
|
|
5247
5414
|
if (event.type !== "pointerdown" || event.pointerType === "touch") {
|
|
@@ -5321,6 +5488,7 @@ function onResize(el, resized) {
|
|
|
5321
5488
|
}
|
|
5322
5489
|
function anchorToTop() {
|
|
5323
5490
|
if (typeof window === "undefined") return;
|
|
5491
|
+
leaveScreen();
|
|
5324
5492
|
const top2 = () => scrollToTop();
|
|
5325
5493
|
top2();
|
|
5326
5494
|
if (typeof window.requestAnimationFrame === "function") window.requestAnimationFrame(top2);
|
|
@@ -5729,7 +5897,7 @@ const neutral$2 = "_neutral_1bagf_12";
|
|
|
5729
5897
|
const success$1 = "_success_1bagf_17";
|
|
5730
5898
|
const critical$2 = "_critical_1bagf_22";
|
|
5731
5899
|
const promo = "_promo_1bagf_27";
|
|
5732
|
-
const styles$
|
|
5900
|
+
const styles$T = {
|
|
5733
5901
|
badge: badge$5,
|
|
5734
5902
|
neutral: neutral$2,
|
|
5735
5903
|
success: success$1,
|
|
@@ -5738,7 +5906,7 @@ const styles$S = {
|
|
|
5738
5906
|
};
|
|
5739
5907
|
function Badge({ tone = "neutral", children }) {
|
|
5740
5908
|
return jsx("span", {
|
|
5741
|
-
className: [styles$
|
|
5909
|
+
className: [styles$T.badge, styles$T[tone]].join(" "),
|
|
5742
5910
|
children
|
|
5743
5911
|
});
|
|
5744
5912
|
}
|
|
@@ -5747,7 +5915,7 @@ const fullWidth = "_fullWidth_ci424_25";
|
|
|
5747
5915
|
const primary = "_primary_ci424_29";
|
|
5748
5916
|
const secondary = "_secondary_ci424_34";
|
|
5749
5917
|
const ghost = "_ghost_ci424_40";
|
|
5750
|
-
const styles$
|
|
5918
|
+
const styles$S = {
|
|
5751
5919
|
button: button$1,
|
|
5752
5920
|
fullWidth,
|
|
5753
5921
|
primary,
|
|
@@ -5755,12 +5923,12 @@ const styles$R = {
|
|
|
5755
5923
|
ghost
|
|
5756
5924
|
};
|
|
5757
5925
|
const spinner = "_spinner_1rueh_5";
|
|
5758
|
-
const styles$
|
|
5926
|
+
const styles$R = {
|
|
5759
5927
|
spinner
|
|
5760
5928
|
};
|
|
5761
5929
|
function Spinner({ className }) {
|
|
5762
5930
|
return jsx("span", {
|
|
5763
|
-
className: [styles$
|
|
5931
|
+
className: [styles$R.spinner, className ?? ""].filter(Boolean).join(" "),
|
|
5764
5932
|
"aria-hidden": "true"
|
|
5765
5933
|
});
|
|
5766
5934
|
}
|
|
@@ -5769,7 +5937,7 @@ const Button = forwardRef(function Button2({ variant = "primary", loading = fals
|
|
|
5769
5937
|
return jsxs("button", {
|
|
5770
5938
|
ref,
|
|
5771
5939
|
type,
|
|
5772
|
-
className: [styles$
|
|
5940
|
+
className: [styles$S.button, styles$S[variant], fullWidth2 ? styles$S.fullWidth : "", className ?? ""].filter(Boolean).join(" "),
|
|
5773
5941
|
disabled: isDisabled,
|
|
5774
5942
|
"aria-busy": loading || void 0,
|
|
5775
5943
|
...rest,
|
|
@@ -5779,7 +5947,7 @@ const Button = forwardRef(function Button2({ variant = "primary", loading = fals
|
|
|
5779
5947
|
});
|
|
5780
5948
|
});
|
|
5781
5949
|
const skeleton = "_skeleton_1nxz7_1";
|
|
5782
|
-
const styles$
|
|
5950
|
+
const styles$Q = {
|
|
5783
5951
|
skeleton
|
|
5784
5952
|
};
|
|
5785
5953
|
function Skeleton({ width, height, radius, className, circle }) {
|
|
@@ -5790,13 +5958,13 @@ function Skeleton({ width, height, radius, className, circle }) {
|
|
|
5790
5958
|
};
|
|
5791
5959
|
return jsx("span", {
|
|
5792
5960
|
"aria-hidden": "true",
|
|
5793
|
-
className: [styles$
|
|
5961
|
+
className: [styles$Q.skeleton, className ?? ""].filter(Boolean).join(" "),
|
|
5794
5962
|
style
|
|
5795
5963
|
});
|
|
5796
5964
|
}
|
|
5797
5965
|
const surface$1 = "_surface_stwld_10";
|
|
5798
5966
|
const fill = "_fill_stwld_35";
|
|
5799
|
-
const styles$
|
|
5967
|
+
const styles$P = {
|
|
5800
5968
|
surface: surface$1,
|
|
5801
5969
|
fill
|
|
5802
5970
|
};
|
|
@@ -5867,22 +6035,62 @@ function useScreenAnchor(ref, enabled = true) {
|
|
|
5867
6035
|
if (!el || !enabled) return;
|
|
5868
6036
|
const restore = withoutRestoration();
|
|
5869
6037
|
let moved = false;
|
|
5870
|
-
|
|
5871
|
-
|
|
5872
|
-
|
|
5873
|
-
|
|
5874
|
-
|
|
6038
|
+
let holding = false;
|
|
6039
|
+
let returning = false;
|
|
6040
|
+
let at = TOP;
|
|
6041
|
+
const settle = () => {
|
|
6042
|
+
returning = false;
|
|
6043
|
+
settleReturn();
|
|
6044
|
+
};
|
|
6045
|
+
const hold = (entered) => {
|
|
6046
|
+
if (entered) {
|
|
6047
|
+
const back = returnOffset(here());
|
|
6048
|
+
returning = back !== null;
|
|
6049
|
+
at = back ?? TOP;
|
|
6050
|
+
}
|
|
6051
|
+
holding = true;
|
|
6052
|
+
return anchorTop(() => beginsOnTheFirstViewport(el), (end2) => {
|
|
6053
|
+
holding = false;
|
|
6054
|
+
if (end2 === "moved") moved = true;
|
|
6055
|
+
if (returning && end2 === "moved") settle();
|
|
6056
|
+
}, scrollerOf(el), at);
|
|
6057
|
+
};
|
|
6058
|
+
let screen2 = claimScreen();
|
|
6059
|
+
let release = hold(true);
|
|
6060
|
+
const again = (entered) => {
|
|
5875
6061
|
release();
|
|
5876
|
-
release = hold();
|
|
6062
|
+
release = hold(entered);
|
|
5877
6063
|
};
|
|
5878
6064
|
const unobserve = onReveal(el, () => {
|
|
5879
6065
|
moved = false;
|
|
5880
|
-
|
|
6066
|
+
screen2 = claimScreen();
|
|
6067
|
+
again(true);
|
|
5881
6068
|
});
|
|
5882
6069
|
const settled = onResize(el, () => {
|
|
5883
|
-
if (!moved) again();
|
|
6070
|
+
if (!moved) again(false);
|
|
6071
|
+
});
|
|
6072
|
+
const fan = (event) => {
|
|
6073
|
+
if (movesThePage(event)) moved = true;
|
|
6074
|
+
};
|
|
6075
|
+
for (const type of RELEASES) window.addEventListener(type, fan, {
|
|
6076
|
+
passive: true
|
|
6077
|
+
});
|
|
6078
|
+
const note2 = () => {
|
|
6079
|
+
if (!isCurrentScreen(screen2)) return;
|
|
6080
|
+
const now = placeOf(scrollerOf(el));
|
|
6081
|
+
if (returning && reached(now, at)) settle();
|
|
6082
|
+
if (holding) return;
|
|
6083
|
+
remember(here(), now);
|
|
6084
|
+
};
|
|
6085
|
+
document.addEventListener("scroll", note2, {
|
|
6086
|
+
capture: true,
|
|
6087
|
+
passive: true
|
|
5884
6088
|
});
|
|
5885
6089
|
return () => {
|
|
6090
|
+
for (const type of RELEASES) window.removeEventListener(type, fan);
|
|
6091
|
+
document.removeEventListener("scroll", note2, {
|
|
6092
|
+
capture: true
|
|
6093
|
+
});
|
|
5886
6094
|
settled();
|
|
5887
6095
|
unobserve();
|
|
5888
6096
|
release();
|
|
@@ -5903,7 +6111,7 @@ const ShopSurface = forwardRef(function ShopSurface2({ tone, fill: fill2 = false
|
|
|
5903
6111
|
...rest,
|
|
5904
6112
|
ref: attach,
|
|
5905
6113
|
"data-shop-theme": tone,
|
|
5906
|
-
className: [styles$
|
|
6114
|
+
className: [styles$P.surface, fill2 ? styles$P.fill : "", className ?? ""].filter(Boolean).join(" "),
|
|
5907
6115
|
children
|
|
5908
6116
|
});
|
|
5909
6117
|
});
|
|
@@ -5916,7 +6124,7 @@ const lineMid = "_lineMid_ney0g_45";
|
|
|
5916
6124
|
const lineNarrow = "_lineNarrow_ney0g_49";
|
|
5917
6125
|
const row$9 = "_row_ney0g_53";
|
|
5918
6126
|
const action$2 = "_action_ney0g_57";
|
|
5919
|
-
const styles$
|
|
6127
|
+
const styles$O = {
|
|
5920
6128
|
root: root$6,
|
|
5921
6129
|
inner,
|
|
5922
6130
|
media: media$3,
|
|
@@ -6179,7 +6387,13 @@ const ES = {
|
|
|
6179
6387
|
Less: "Menos",
|
|
6180
6388
|
more: "más",
|
|
6181
6389
|
"Close reasons": "Cerrar motivos",
|
|
6182
|
-
Select: "Seleccionar"
|
|
6390
|
+
Select: "Seleccionar",
|
|
6391
|
+
"Claim yours": "Consigue el tuyo",
|
|
6392
|
+
"Sold out": "Agotado",
|
|
6393
|
+
"This invitation can no longer be used.": "Esta invitación ya no se puede usar.",
|
|
6394
|
+
"Invitation unavailable": "Invitación no disponible",
|
|
6395
|
+
"Your basket has other items": "Tu cesta tiene otros artículos",
|
|
6396
|
+
"Empty your basket to claim this item.": "Vacía tu cesta para conseguir este artículo."
|
|
6183
6397
|
};
|
|
6184
6398
|
const CATALOGUES = {
|
|
6185
6399
|
es: ES
|
|
@@ -6209,36 +6423,36 @@ function ScreenSkeleton({ tone, shape = "media" }) {
|
|
|
6209
6423
|
return jsx(ShopSurface, {
|
|
6210
6424
|
tone,
|
|
6211
6425
|
fill: true,
|
|
6212
|
-
className: styles$
|
|
6426
|
+
className: styles$O.root,
|
|
6213
6427
|
children: jsx("div", {
|
|
6214
|
-
className: styles$
|
|
6428
|
+
className: styles$O.inner,
|
|
6215
6429
|
role: "status",
|
|
6216
6430
|
"aria-label": t("Loading"),
|
|
6217
6431
|
children: shape === "media" ? jsxs(Fragment, {
|
|
6218
6432
|
children: [jsx(Skeleton, {
|
|
6219
|
-
className: styles$
|
|
6433
|
+
className: styles$O.media
|
|
6220
6434
|
}), jsxs("div", {
|
|
6221
|
-
className: styles$
|
|
6435
|
+
className: styles$O.lines,
|
|
6222
6436
|
children: [jsx(Skeleton, {
|
|
6223
6437
|
height: 22,
|
|
6224
|
-
className: styles$
|
|
6438
|
+
className: styles$O.lineWide
|
|
6225
6439
|
}), jsx(Skeleton, {
|
|
6226
6440
|
height: 16,
|
|
6227
|
-
className: styles$
|
|
6441
|
+
className: styles$O.lineMid
|
|
6228
6442
|
}), jsx(Skeleton, {
|
|
6229
6443
|
height: 16,
|
|
6230
|
-
className: styles$
|
|
6444
|
+
className: styles$O.lineNarrow
|
|
6231
6445
|
})]
|
|
6232
6446
|
}), jsx(Skeleton, {
|
|
6233
6447
|
height: 48,
|
|
6234
6448
|
radius: 8,
|
|
6235
|
-
className: styles$
|
|
6449
|
+
className: styles$O.action
|
|
6236
6450
|
})]
|
|
6237
6451
|
}) : jsx("div", {
|
|
6238
|
-
className: styles$
|
|
6452
|
+
className: styles$O.lines,
|
|
6239
6453
|
children: [0, 1, 2, 3].map((i) => jsx(Skeleton, {
|
|
6240
6454
|
height: 72,
|
|
6241
|
-
className: styles$
|
|
6455
|
+
className: styles$O.row
|
|
6242
6456
|
}, i))
|
|
6243
6457
|
})
|
|
6244
6458
|
})
|
|
@@ -6246,36 +6460,36 @@ function ScreenSkeleton({ tone, shape = "media" }) {
|
|
|
6246
6460
|
}
|
|
6247
6461
|
const root$5 = "_root_ryf3q_6";
|
|
6248
6462
|
const icon$4 = "_icon_ryf3q_15";
|
|
6249
|
-
const text$
|
|
6463
|
+
const text$6 = "_text_ryf3q_21";
|
|
6250
6464
|
const title$n = "_title_ryf3q_35";
|
|
6251
|
-
const body$
|
|
6465
|
+
const body$9 = "_body_ryf3q_40";
|
|
6252
6466
|
const action$1 = "_action_ryf3q_48";
|
|
6253
|
-
const styles$
|
|
6467
|
+
const styles$N = {
|
|
6254
6468
|
root: root$5,
|
|
6255
6469
|
icon: icon$4,
|
|
6256
|
-
text: text$
|
|
6470
|
+
text: text$6,
|
|
6257
6471
|
title: title$n,
|
|
6258
|
-
body: body$
|
|
6472
|
+
body: body$9,
|
|
6259
6473
|
action: action$1
|
|
6260
6474
|
};
|
|
6261
6475
|
function EmptyState({ title: title2, body: body3, action: action2, icon: icon2 }) {
|
|
6262
6476
|
return jsxs("div", {
|
|
6263
|
-
className: styles$
|
|
6477
|
+
className: styles$N.root,
|
|
6264
6478
|
role: "status",
|
|
6265
6479
|
children: [icon2 && jsx("div", {
|
|
6266
|
-
className: styles$
|
|
6480
|
+
className: styles$N.icon,
|
|
6267
6481
|
children: icon2
|
|
6268
6482
|
}), jsxs("div", {
|
|
6269
|
-
className: styles$
|
|
6483
|
+
className: styles$N.text,
|
|
6270
6484
|
children: [jsx("h2", {
|
|
6271
|
-
className: styles$
|
|
6485
|
+
className: styles$N.title,
|
|
6272
6486
|
children: title2
|
|
6273
6487
|
}), body3 && jsx("p", {
|
|
6274
|
-
className: styles$
|
|
6488
|
+
className: styles$N.body,
|
|
6275
6489
|
children: body3
|
|
6276
6490
|
})]
|
|
6277
6491
|
}), action2 && jsx("div", {
|
|
6278
|
-
className: styles$
|
|
6492
|
+
className: styles$N.action,
|
|
6279
6493
|
children: action2
|
|
6280
6494
|
})]
|
|
6281
6495
|
});
|
|
@@ -6332,6 +6546,16 @@ const TREATMENTS = {
|
|
|
6332
6546
|
body: "This order was already confirmed.",
|
|
6333
6547
|
retriable: false
|
|
6334
6548
|
},
|
|
6549
|
+
vip_invite_not_found: {
|
|
6550
|
+
title: "Invitation unavailable",
|
|
6551
|
+
body: "This invitation can no longer be used.",
|
|
6552
|
+
retriable: false
|
|
6553
|
+
},
|
|
6554
|
+
vip_cart_conflict: {
|
|
6555
|
+
title: "Your basket has other items",
|
|
6556
|
+
body: "Empty your basket to claim this item.",
|
|
6557
|
+
retriable: false
|
|
6558
|
+
},
|
|
6335
6559
|
rate_limited: {
|
|
6336
6560
|
title: "One moment",
|
|
6337
6561
|
body: "Too many requests. Retrying shortly.",
|
|
@@ -6357,6 +6581,11 @@ const TREATMENTS = {
|
|
|
6357
6581
|
body: "This order has already been despatched.",
|
|
6358
6582
|
retriable: false
|
|
6359
6583
|
},
|
|
6584
|
+
vip_invite_mismatch: {
|
|
6585
|
+
title: "Invitation unavailable",
|
|
6586
|
+
body: "This invitation can no longer be used.",
|
|
6587
|
+
retriable: false
|
|
6588
|
+
},
|
|
6360
6589
|
forbidden: {
|
|
6361
6590
|
title: "Not available to you",
|
|
6362
6591
|
body: "You do not have access to this.",
|
|
@@ -6396,24 +6625,24 @@ function isDuplicateOrder(err) {
|
|
|
6396
6625
|
}
|
|
6397
6626
|
const root$4 = "_root_1lbpx_1";
|
|
6398
6627
|
const title$m = "_title_1lbpx_10";
|
|
6399
|
-
const body$
|
|
6400
|
-
const styles$
|
|
6628
|
+
const body$8 = "_body_1lbpx_15";
|
|
6629
|
+
const styles$M = {
|
|
6401
6630
|
root: root$4,
|
|
6402
6631
|
title: title$m,
|
|
6403
|
-
body: body$
|
|
6632
|
+
body: body$8
|
|
6404
6633
|
};
|
|
6405
6634
|
function ErrorState({ code, title: title2, body: body3, onRetry, retryLabel }) {
|
|
6406
6635
|
const t = useT();
|
|
6407
6636
|
const treatment = treatmentFor(code);
|
|
6408
6637
|
const showRetry = Boolean(onRetry) && treatment.retriable;
|
|
6409
6638
|
return jsxs("div", {
|
|
6410
|
-
className: styles$
|
|
6639
|
+
className: styles$M.root,
|
|
6411
6640
|
role: "alert",
|
|
6412
6641
|
children: [jsx("h2", {
|
|
6413
|
-
className: styles$
|
|
6642
|
+
className: styles$M.title,
|
|
6414
6643
|
children: title2 ?? t(treatment.title)
|
|
6415
6644
|
}), jsx("p", {
|
|
6416
|
-
className: styles$
|
|
6645
|
+
className: styles$M.body,
|
|
6417
6646
|
children: body3 ?? t(treatment.body)
|
|
6418
6647
|
}), showRetry && jsx(Button, {
|
|
6419
6648
|
variant: "secondary",
|
|
@@ -6451,7 +6680,7 @@ const viewport = "_viewport_oz4st_14";
|
|
|
6451
6680
|
const anchor = "_anchor_oz4st_41";
|
|
6452
6681
|
const caret = "_caret_oz4st_59";
|
|
6453
6682
|
const toast = "_toast_oz4st_82";
|
|
6454
|
-
const text$
|
|
6683
|
+
const text$5 = "_text_oz4st_111";
|
|
6455
6684
|
const message$1 = "_message_oz4st_120";
|
|
6456
6685
|
const action = "_action_oz4st_133";
|
|
6457
6686
|
const neutral$1 = "_neutral_oz4st_158";
|
|
@@ -6461,12 +6690,12 @@ const rich = "_rich_oz4st_183";
|
|
|
6461
6690
|
const description = "_description_oz4st_198";
|
|
6462
6691
|
const thumb$3 = "_thumb_oz4st_216";
|
|
6463
6692
|
const thumbImage = "_thumbImage_oz4st_227";
|
|
6464
|
-
const styles$
|
|
6693
|
+
const styles$L = {
|
|
6465
6694
|
viewport,
|
|
6466
6695
|
anchor,
|
|
6467
6696
|
caret,
|
|
6468
6697
|
toast,
|
|
6469
|
-
text: text$
|
|
6698
|
+
text: text$5,
|
|
6470
6699
|
message: message$1,
|
|
6471
6700
|
action,
|
|
6472
6701
|
neutral: neutral$1,
|
|
@@ -6584,41 +6813,41 @@ function ToastProvider({ children }) {
|
|
|
6584
6813
|
return jsxs(ToastContext.Provider, {
|
|
6585
6814
|
value: api,
|
|
6586
6815
|
children: [children, jsx("div", {
|
|
6587
|
-
className: styles$
|
|
6816
|
+
className: styles$L.viewport,
|
|
6588
6817
|
ref: viewportRef,
|
|
6589
6818
|
"aria-live": "polite",
|
|
6590
6819
|
"aria-atomic": "false",
|
|
6591
6820
|
children: toasts.map((t) => {
|
|
6592
6821
|
const rich2 = Boolean(t.description || t.image);
|
|
6593
6822
|
return jsxs("div", {
|
|
6594
|
-
className: styles$
|
|
6823
|
+
className: styles$L.anchor,
|
|
6595
6824
|
children: [t.anchor === "cart" && jsx("span", {
|
|
6596
|
-
className: styles$
|
|
6825
|
+
className: styles$L.caret,
|
|
6597
6826
|
children: jsx(Caret, {})
|
|
6598
6827
|
}), jsxs("div", {
|
|
6599
|
-
className: [styles$
|
|
6828
|
+
className: [styles$L.toast, rich2 ? styles$L.rich : styles$L[t.tone]].join(" "),
|
|
6600
6829
|
role: "status",
|
|
6601
6830
|
children: [t.image && jsx("span", {
|
|
6602
|
-
className: styles$
|
|
6831
|
+
className: styles$L.thumb,
|
|
6603
6832
|
children: jsx(ShopImage, {
|
|
6604
6833
|
src: t.image,
|
|
6605
6834
|
alt: "",
|
|
6606
6835
|
fill: true,
|
|
6607
6836
|
sizes: "40px",
|
|
6608
|
-
className: styles$
|
|
6837
|
+
className: styles$L.thumbImage
|
|
6609
6838
|
})
|
|
6610
6839
|
}), jsxs("span", {
|
|
6611
|
-
className: styles$
|
|
6840
|
+
className: styles$L.text,
|
|
6612
6841
|
children: [jsx("span", {
|
|
6613
|
-
className: styles$
|
|
6842
|
+
className: styles$L.message,
|
|
6614
6843
|
children: t.message
|
|
6615
6844
|
}), t.description && jsx("span", {
|
|
6616
|
-
className: styles$
|
|
6845
|
+
className: styles$L.description,
|
|
6617
6846
|
children: t.description
|
|
6618
6847
|
})]
|
|
6619
6848
|
}), t.action && jsx("button", {
|
|
6620
6849
|
type: "button",
|
|
6621
|
-
className: styles$
|
|
6850
|
+
className: styles$L.action,
|
|
6622
6851
|
onClick: () => {
|
|
6623
6852
|
t.action?.onAction();
|
|
6624
6853
|
dismiss(t.id);
|
|
@@ -6633,15 +6862,15 @@ function ToastProvider({ children }) {
|
|
|
6633
6862
|
}
|
|
6634
6863
|
const badge$4 = "_badge_156ya_2";
|
|
6635
6864
|
const icon$3 = "_icon_156ya_18";
|
|
6636
|
-
const styles$
|
|
6865
|
+
const styles$K = {
|
|
6637
6866
|
badge: badge$4,
|
|
6638
6867
|
icon: icon$3
|
|
6639
6868
|
};
|
|
6640
6869
|
function SaleBadge({ pct }) {
|
|
6641
6870
|
return jsxs("span", {
|
|
6642
|
-
className: styles$
|
|
6871
|
+
className: styles$K.badge,
|
|
6643
6872
|
children: [jsxs("svg", {
|
|
6644
|
-
className: styles$
|
|
6873
|
+
className: styles$K.icon,
|
|
6645
6874
|
width: "12",
|
|
6646
6875
|
height: "12",
|
|
6647
6876
|
viewBox: "0 0 24 24",
|
|
@@ -6671,7 +6900,7 @@ const badge$3 = "_badge_rvfx9_48";
|
|
|
6671
6900
|
const price$4 = "_price_rvfx9_52";
|
|
6672
6901
|
const compareAt = "_compareAt_rvfx9_57";
|
|
6673
6902
|
const strikethrough = "_strikethrough_rvfx9_65";
|
|
6674
|
-
const styles$
|
|
6903
|
+
const styles$J = {
|
|
6675
6904
|
root: root$3,
|
|
6676
6905
|
center: center$1,
|
|
6677
6906
|
end,
|
|
@@ -6689,12 +6918,12 @@ function PriceBlock({ price: price2, compareAt: compareAt2, discountPct: discoun
|
|
|
6689
6918
|
const pct = discountPct$1 ?? discountPct(price2, compareAt2);
|
|
6690
6919
|
const hasCompare = compareAt2 && compareAt2.amount > price2.amount;
|
|
6691
6920
|
return jsxs("div", {
|
|
6692
|
-
className: [styles$
|
|
6921
|
+
className: [styles$J.root, styles$J[size], styles$J[align], styles$J[variant]].join(" "),
|
|
6693
6922
|
children: [jsx("span", {
|
|
6694
|
-
className: styles$
|
|
6923
|
+
className: styles$J.price,
|
|
6695
6924
|
children: format(price2)
|
|
6696
6925
|
}), hasCompare && jsxs("span", {
|
|
6697
|
-
className: styles$
|
|
6926
|
+
className: styles$J.compareAt,
|
|
6698
6927
|
children: [jsx("span", {
|
|
6699
6928
|
className: "visually-hidden",
|
|
6700
6929
|
children: t("Was {0}", format(compareAt2))
|
|
@@ -6758,13 +6987,13 @@ const marker = "_marker_1cum7_27";
|
|
|
6758
6987
|
const tick = "_tick_1cum7_35";
|
|
6759
6988
|
const pending$2 = "_pending_1cum7_44";
|
|
6760
6989
|
const connector = "_connector_1cum7_68";
|
|
6761
|
-
const text$
|
|
6990
|
+
const text$4 = "_text_1cum7_84";
|
|
6762
6991
|
const label$2 = "_label_1cum7_101";
|
|
6763
6992
|
const past = "_past_1cum7_113";
|
|
6764
6993
|
const current = "_current_1cum7_118";
|
|
6765
6994
|
const future = "_future_1cum7_133";
|
|
6766
6995
|
const date$1 = "_date_1cum7_138";
|
|
6767
|
-
const styles$
|
|
6996
|
+
const styles$I = {
|
|
6768
6997
|
timeline,
|
|
6769
6998
|
row: row$8,
|
|
6770
6999
|
line: line$3,
|
|
@@ -6772,7 +7001,7 @@ const styles$H = {
|
|
|
6772
7001
|
tick,
|
|
6773
7002
|
pending: pending$2,
|
|
6774
7003
|
connector,
|
|
6775
|
-
text: text$
|
|
7004
|
+
text: text$4,
|
|
6776
7005
|
label: label$2,
|
|
6777
7006
|
past,
|
|
6778
7007
|
current,
|
|
@@ -6798,39 +7027,39 @@ function OrderTimeline({ progress: progress2, estimatedDelivery, locale: localeP
|
|
|
6798
7027
|
const t = useT();
|
|
6799
7028
|
const currentIndex = progress2.findIndex((e) => e.current);
|
|
6800
7029
|
return jsx("ol", {
|
|
6801
|
-
className: styles$
|
|
7030
|
+
className: styles$I.timeline,
|
|
6802
7031
|
children: progress2.map((entry, i) => {
|
|
6803
7032
|
const state = stateOf(entry, i, currentIndex);
|
|
6804
7033
|
const estimate = !entry.at && i === progress2.length - 1 && estimatedDelivery ? formatWindow(estimatedDelivery, locale) : void 0;
|
|
6805
7034
|
return jsxs("li", {
|
|
6806
|
-
className: styles$
|
|
7035
|
+
className: styles$I.row,
|
|
6807
7036
|
"aria-current": entry.current ? "step" : void 0,
|
|
6808
7037
|
children: [jsxs("div", {
|
|
6809
|
-
className: styles$
|
|
7038
|
+
className: styles$I.line,
|
|
6810
7039
|
children: [jsx("span", {
|
|
6811
|
-
className: styles$
|
|
7040
|
+
className: styles$I.marker,
|
|
6812
7041
|
children: state === "future" ? jsx("span", {
|
|
6813
|
-
className: styles$
|
|
7042
|
+
className: styles$I.pending,
|
|
6814
7043
|
"aria-hidden": "true"
|
|
6815
7044
|
}) : jsx(StepTick, {
|
|
6816
7045
|
tone: state
|
|
6817
7046
|
})
|
|
6818
7047
|
}), jsxs("span", {
|
|
6819
|
-
className: styles$
|
|
7048
|
+
className: styles$I.text,
|
|
6820
7049
|
children: [jsx("span", {
|
|
6821
|
-
className: [styles$
|
|
7050
|
+
className: [styles$I.label, styles$I[state]].join(" "),
|
|
6822
7051
|
children: t(labelFor(entry))
|
|
6823
7052
|
}), entry.at ? jsx("time", {
|
|
6824
|
-
className: styles$
|
|
7053
|
+
className: styles$I.date,
|
|
6825
7054
|
dateTime: entry.at,
|
|
6826
7055
|
children: formatStepDate(entry.at, locale)
|
|
6827
7056
|
}) : estimate && jsx("span", {
|
|
6828
|
-
className: styles$
|
|
7057
|
+
className: styles$I.date,
|
|
6829
7058
|
children: estimate
|
|
6830
7059
|
})]
|
|
6831
7060
|
})]
|
|
6832
7061
|
}), i < progress2.length - 1 && jsx("span", {
|
|
6833
|
-
className: styles$
|
|
7062
|
+
className: styles$I.connector,
|
|
6834
7063
|
"aria-hidden": "true"
|
|
6835
7064
|
})]
|
|
6836
7065
|
}, entry.step);
|
|
@@ -6844,7 +7073,7 @@ function stateOf(entry, index, currentIndex) {
|
|
|
6844
7073
|
}
|
|
6845
7074
|
function StepTick({ tone }) {
|
|
6846
7075
|
return jsxs("svg", {
|
|
6847
|
-
className: styles$
|
|
7076
|
+
className: styles$I.tick,
|
|
6848
7077
|
width: "28",
|
|
6849
7078
|
height: "28",
|
|
6850
7079
|
viewBox: "0 0 28 28",
|
|
@@ -6989,7 +7218,7 @@ const row$7 = "_row_1hsxt_16";
|
|
|
6989
7218
|
const free = "_free_1hsxt_53";
|
|
6990
7219
|
const pending$1 = "_pending_1hsxt_59";
|
|
6991
7220
|
const discount = "_discount_1hsxt_69";
|
|
6992
|
-
const styles$
|
|
7221
|
+
const styles$H = {
|
|
6993
7222
|
summary,
|
|
6994
7223
|
row: row$7,
|
|
6995
7224
|
free,
|
|
@@ -7018,11 +7247,11 @@ function OrderSummary({ pricing, deferred = [], hidden = [], rows = CART_ROWS, d
|
|
|
7018
7247
|
const isDeferred = (key) => deferred.includes(key);
|
|
7019
7248
|
const visible = rows.filter((row2) => !hidden.includes(row2.key)).filter((row2) => row2.key !== "discount" || discount2 !== void 0);
|
|
7020
7249
|
return jsx("dl", {
|
|
7021
|
-
className: styles$
|
|
7250
|
+
className: styles$H.summary,
|
|
7022
7251
|
children: visible.map(({ label: label2, key }) => {
|
|
7023
7252
|
if (key === "discount" && discount2) {
|
|
7024
7253
|
return jsxs("div", {
|
|
7025
|
-
className: [styles$
|
|
7254
|
+
className: [styles$H.row, styles$H.discount].join(" "),
|
|
7026
7255
|
children: [jsx("dt", {
|
|
7027
7256
|
children: t(label2)
|
|
7028
7257
|
}), jsx("dd", {
|
|
@@ -7032,11 +7261,11 @@ function OrderSummary({ pricing, deferred = [], hidden = [], rows = CART_ROWS, d
|
|
|
7032
7261
|
}
|
|
7033
7262
|
const pending2 = key !== "total" && isDeferred(key);
|
|
7034
7263
|
return jsxs("div", {
|
|
7035
|
-
className: styles$
|
|
7264
|
+
className: styles$H.row,
|
|
7036
7265
|
children: [jsx("dt", {
|
|
7037
7266
|
children: t(label2)
|
|
7038
7267
|
}), jsx("dd", {
|
|
7039
|
-
className: pending2 ? styles$
|
|
7268
|
+
className: pending2 ? styles$H.pending : void 0,
|
|
7040
7269
|
children: pending2 ? t("Calculated at checkout") : renderValue(key, pricing, format, t)
|
|
7041
7270
|
})]
|
|
7042
7271
|
}, key);
|
|
@@ -7046,7 +7275,7 @@ function OrderSummary({ pricing, deferred = [], hidden = [], rows = CART_ROWS, d
|
|
|
7046
7275
|
function renderValue(key, pricing, format, t) {
|
|
7047
7276
|
if (key === "shipping" && pricing.shipping.amount === 0) {
|
|
7048
7277
|
return jsx("span", {
|
|
7049
|
-
className: styles$
|
|
7278
|
+
className: styles$H.free,
|
|
7050
7279
|
children: t("Free")
|
|
7051
7280
|
});
|
|
7052
7281
|
}
|
|
@@ -7055,7 +7284,7 @@ function renderValue(key, pricing, format, t) {
|
|
|
7055
7284
|
const lines$1 = "_lines_1lx0d_19";
|
|
7056
7285
|
const line$2 = "_line_1lx0d_19";
|
|
7057
7286
|
const thumb$2 = "_thumb_1lx0d_34";
|
|
7058
|
-
const image$
|
|
7287
|
+
const image$a = "_image_1lx0d_44";
|
|
7059
7288
|
const placeholder$8 = "_placeholder_1lx0d_51";
|
|
7060
7289
|
const lineBody = "_lineBody_1lx0d_56";
|
|
7061
7290
|
const lineText = "_lineText_1lx0d_65";
|
|
@@ -7073,11 +7302,11 @@ const itemsHeader = "_itemsHeader_1lx0d_14";
|
|
|
7073
7302
|
const itemsTitle = "_itemsTitle_1lx0d_238";
|
|
7074
7303
|
const itemsCount = "_itemsCount_1lx0d_249";
|
|
7075
7304
|
const cardLines = "_cardLines_1lx0d_268";
|
|
7076
|
-
const styles$
|
|
7305
|
+
const styles$G = {
|
|
7077
7306
|
lines: lines$1,
|
|
7078
7307
|
line: line$2,
|
|
7079
7308
|
thumb: thumb$2,
|
|
7080
|
-
image: image$
|
|
7309
|
+
image: image$a,
|
|
7081
7310
|
placeholder: placeholder$8,
|
|
7082
7311
|
lineBody,
|
|
7083
7312
|
lineText,
|
|
@@ -7116,42 +7345,42 @@ function OrderLine({ item: item2 }) {
|
|
|
7116
7345
|
const pct = compareAt2 ? discountPct(item2.unit_price, compareAt2) : void 0;
|
|
7117
7346
|
const details2 = detailsOf(item2, t);
|
|
7118
7347
|
return jsxs("li", {
|
|
7119
|
-
className: styles$
|
|
7348
|
+
className: styles$G.line,
|
|
7120
7349
|
children: [jsx("div", {
|
|
7121
|
-
className: styles$
|
|
7350
|
+
className: styles$G.thumb,
|
|
7122
7351
|
children: item2.image ? jsx(ShopImage, {
|
|
7123
7352
|
src: item2.image,
|
|
7124
7353
|
alt: "",
|
|
7125
7354
|
fill: true,
|
|
7126
7355
|
sizes: "48px",
|
|
7127
|
-
className: styles$
|
|
7356
|
+
className: styles$G.image
|
|
7128
7357
|
}) : jsx("div", {
|
|
7129
|
-
className: styles$
|
|
7358
|
+
className: styles$G.placeholder,
|
|
7130
7359
|
"aria-hidden": "true"
|
|
7131
7360
|
})
|
|
7132
7361
|
}), jsxs("div", {
|
|
7133
|
-
className: styles$
|
|
7362
|
+
className: styles$G.lineBody,
|
|
7134
7363
|
children: [jsxs("div", {
|
|
7135
|
-
className: styles$
|
|
7364
|
+
className: styles$G.lineText,
|
|
7136
7365
|
children: [jsx("span", {
|
|
7137
|
-
className: styles$
|
|
7366
|
+
className: styles$G.lineTitle,
|
|
7138
7367
|
children: item2.title ?? item2.sku
|
|
7139
7368
|
}), jsxs("span", {
|
|
7140
|
-
className: styles$
|
|
7369
|
+
className: styles$G.lineMeta,
|
|
7141
7370
|
children: [details2.map((detail2) => jsx("span", {
|
|
7142
|
-
className: styles$
|
|
7371
|
+
className: styles$G.detail,
|
|
7143
7372
|
children: detail2
|
|
7144
7373
|
}, detail2)), pct !== void 0 && jsx(SaleBadge, {
|
|
7145
7374
|
pct
|
|
7146
7375
|
})]
|
|
7147
7376
|
})]
|
|
7148
7377
|
}), jsxs("span", {
|
|
7149
|
-
className: styles$
|
|
7378
|
+
className: styles$G.linePrice,
|
|
7150
7379
|
children: [jsx("span", {
|
|
7151
|
-
className: styles$
|
|
7380
|
+
className: styles$G.paid,
|
|
7152
7381
|
children: format(item2.line_total)
|
|
7153
7382
|
}), compareAt2 && jsxs("span", {
|
|
7154
|
-
className: styles$
|
|
7383
|
+
className: styles$G.was,
|
|
7155
7384
|
children: [jsx("span", {
|
|
7156
7385
|
className: "visually-hidden",
|
|
7157
7386
|
children: t("Was {0}", format(compareAt2))
|
|
@@ -7167,7 +7396,7 @@ function OrderLine({ item: item2 }) {
|
|
|
7167
7396
|
function OrderLines({ order }) {
|
|
7168
7397
|
const t = useT();
|
|
7169
7398
|
return jsx("ul", {
|
|
7170
|
-
className: styles$
|
|
7399
|
+
className: styles$G.lines,
|
|
7171
7400
|
"aria-label": t("Items"),
|
|
7172
7401
|
children: order.items.map((item2) => jsx(OrderLine, {
|
|
7173
7402
|
item: item2
|
|
@@ -7178,19 +7407,19 @@ function OrderItemsCard({ order }) {
|
|
|
7178
7407
|
const t = useT();
|
|
7179
7408
|
const itemCount = order.items.reduce((n, i) => n + i.qty, 0);
|
|
7180
7409
|
return jsxs("section", {
|
|
7181
|
-
className: styles$
|
|
7410
|
+
className: styles$G.card,
|
|
7182
7411
|
"aria-label": t("Items"),
|
|
7183
7412
|
children: [jsxs("div", {
|
|
7184
|
-
className: styles$
|
|
7413
|
+
className: styles$G.itemsHeader,
|
|
7185
7414
|
children: [jsx("h2", {
|
|
7186
|
-
className: styles$
|
|
7415
|
+
className: styles$G.itemsTitle,
|
|
7187
7416
|
children: t("Items")
|
|
7188
7417
|
}), jsx("span", {
|
|
7189
|
-
className: styles$
|
|
7418
|
+
className: styles$G.itemsCount,
|
|
7190
7419
|
children: itemCount
|
|
7191
7420
|
})]
|
|
7192
7421
|
}), jsx("ul", {
|
|
7193
|
-
className: [styles$
|
|
7422
|
+
className: [styles$G.lines, styles$G.cardLines].join(" "),
|
|
7194
7423
|
children: order.items.map((item2) => jsx(OrderLine, {
|
|
7195
7424
|
item: item2
|
|
7196
7425
|
}, item2.line_ref))
|
|
@@ -7200,13 +7429,13 @@ function OrderItemsCard({ order }) {
|
|
|
7200
7429
|
function ShippingAddressCard({ order }) {
|
|
7201
7430
|
const t = useT();
|
|
7202
7431
|
return jsxs("section", {
|
|
7203
|
-
className: styles$
|
|
7432
|
+
className: styles$G.card,
|
|
7204
7433
|
"aria-label": t("Shipping address"),
|
|
7205
7434
|
children: [jsx("h2", {
|
|
7206
|
-
className: styles$
|
|
7435
|
+
className: styles$G.cardTitle,
|
|
7207
7436
|
children: t("Shipping address")
|
|
7208
7437
|
}), jsx("p", {
|
|
7209
|
-
className: styles$
|
|
7438
|
+
className: styles$G.cardBody,
|
|
7210
7439
|
children: formatAddress(order.ship_to)
|
|
7211
7440
|
})]
|
|
7212
7441
|
});
|
|
@@ -7214,10 +7443,10 @@ function ShippingAddressCard({ order }) {
|
|
|
7214
7443
|
function OrderSummaryCard({ order }) {
|
|
7215
7444
|
const t = useT();
|
|
7216
7445
|
return jsxs("section", {
|
|
7217
|
-
className: [styles$
|
|
7446
|
+
className: [styles$G.card, styles$G.summaryCard].join(" "),
|
|
7218
7447
|
"aria-label": t("Order summary"),
|
|
7219
7448
|
children: [jsx("h2", {
|
|
7220
|
-
className: styles$
|
|
7449
|
+
className: styles$G.cardTitle,
|
|
7221
7450
|
children: t("Order summary")
|
|
7222
7451
|
}), jsx(OrderSummary, {
|
|
7223
7452
|
pricing: toPricing(order),
|
|
@@ -7254,7 +7483,7 @@ const handleSlot = "_handleSlot_1f3nh_23";
|
|
|
7254
7483
|
const handle = "_handle_1f3nh_23";
|
|
7255
7484
|
const closeSlot$1 = "_closeSlot_1f3nh_35";
|
|
7256
7485
|
const close$2 = "_close_1f3nh_35";
|
|
7257
|
-
const styles$
|
|
7486
|
+
const styles$F = {
|
|
7258
7487
|
header: header$6,
|
|
7259
7488
|
slot,
|
|
7260
7489
|
handleSlot,
|
|
@@ -7282,23 +7511,23 @@ function CloseIcon$1() {
|
|
|
7282
7511
|
}
|
|
7283
7512
|
function SheetHeader({ onClose, closeLabel }) {
|
|
7284
7513
|
return jsxs("div", {
|
|
7285
|
-
className: styles$
|
|
7514
|
+
className: styles$F.header,
|
|
7286
7515
|
children: [jsx("div", {
|
|
7287
|
-
className: styles$
|
|
7516
|
+
className: styles$F.slot,
|
|
7288
7517
|
"aria-hidden": "true"
|
|
7289
7518
|
}), jsx("div", {
|
|
7290
|
-
className: styles$
|
|
7519
|
+
className: styles$F.handleSlot,
|
|
7291
7520
|
"aria-hidden": "true",
|
|
7292
7521
|
children: jsx("div", {
|
|
7293
|
-
className: styles$
|
|
7522
|
+
className: styles$F.handle
|
|
7294
7523
|
})
|
|
7295
7524
|
}), jsx("button", {
|
|
7296
7525
|
type: "button",
|
|
7297
|
-
className: styles$
|
|
7526
|
+
className: styles$F.closeSlot,
|
|
7298
7527
|
onClick: onClose,
|
|
7299
7528
|
"aria-label": closeLabel,
|
|
7300
7529
|
children: jsx("span", {
|
|
7301
|
-
className: styles$
|
|
7530
|
+
className: styles$F.close,
|
|
7302
7531
|
children: jsx(CloseIcon$1, {})
|
|
7303
7532
|
})
|
|
7304
7533
|
})]
|
|
@@ -7346,7 +7575,7 @@ function useModalDialog(open, onClose, ref) {
|
|
|
7346
7575
|
}
|
|
7347
7576
|
const scrim$5 = "_scrim_1oaa3_8";
|
|
7348
7577
|
const sheet$3 = "_sheet_1oaa3_20";
|
|
7349
|
-
const body$
|
|
7578
|
+
const body$7 = "_body_1oaa3_32";
|
|
7350
7579
|
const title$l = "_title_1oaa3_53";
|
|
7351
7580
|
const options$1 = "_options_1oaa3_61";
|
|
7352
7581
|
const option$1 = "_option_1oaa3_61";
|
|
@@ -7354,10 +7583,10 @@ const radio = "_radio_1oaa3_95";
|
|
|
7354
7583
|
const label$1 = "_label_1oaa3_125";
|
|
7355
7584
|
const footer$1 = "_footer_1oaa3_134";
|
|
7356
7585
|
const error$1 = "_error_1oaa3_142";
|
|
7357
|
-
const styles$
|
|
7586
|
+
const styles$E = {
|
|
7358
7587
|
scrim: scrim$5,
|
|
7359
7588
|
sheet: sheet$3,
|
|
7360
|
-
body: body$
|
|
7589
|
+
body: body$7,
|
|
7361
7590
|
title: title$l,
|
|
7362
7591
|
options: options$1,
|
|
7363
7592
|
option: option$1,
|
|
@@ -7372,12 +7601,12 @@ function ReasonSheet({ title: title2, options: options2, ctaLabel, selected: sel
|
|
|
7372
7601
|
const t = useT();
|
|
7373
7602
|
useModalDialog(true, onClose, sheetRef);
|
|
7374
7603
|
return jsx("div", {
|
|
7375
|
-
className: styles$
|
|
7604
|
+
className: styles$E.scrim,
|
|
7376
7605
|
onClick: onClose,
|
|
7377
7606
|
children: jsxs(ShopSurface, {
|
|
7378
7607
|
tone: "light",
|
|
7379
7608
|
ref: sheetRef,
|
|
7380
|
-
className: styles$
|
|
7609
|
+
className: styles$E.sheet,
|
|
7381
7610
|
role: "dialog",
|
|
7382
7611
|
"aria-modal": "true",
|
|
7383
7612
|
"aria-labelledby": "reason-sheet-title",
|
|
@@ -7386,23 +7615,23 @@ function ReasonSheet({ title: title2, options: options2, ctaLabel, selected: sel
|
|
|
7386
7615
|
onClose,
|
|
7387
7616
|
closeLabel
|
|
7388
7617
|
}), jsxs("div", {
|
|
7389
|
-
className: styles$
|
|
7618
|
+
className: styles$E.body,
|
|
7390
7619
|
children: [jsx("h2", {
|
|
7391
7620
|
id: "reason-sheet-title",
|
|
7392
|
-
className: styles$
|
|
7621
|
+
className: styles$E.title,
|
|
7393
7622
|
children: t(title2)
|
|
7394
7623
|
}), jsx("div", {
|
|
7395
|
-
className: styles$
|
|
7624
|
+
className: styles$E.options,
|
|
7396
7625
|
role: "radiogroup",
|
|
7397
7626
|
"aria-labelledby": "reason-sheet-title",
|
|
7398
7627
|
children: options2.map((o) => jsxs("button", {
|
|
7399
7628
|
type: "button",
|
|
7400
7629
|
role: "radio",
|
|
7401
7630
|
"aria-checked": o.value === choice,
|
|
7402
|
-
className: styles$
|
|
7631
|
+
className: styles$E.option,
|
|
7403
7632
|
onClick: () => setChoice(o.value),
|
|
7404
7633
|
children: [jsx("span", {
|
|
7405
|
-
className: styles$
|
|
7634
|
+
className: styles$E.radio,
|
|
7406
7635
|
"aria-hidden": "true",
|
|
7407
7636
|
children: o.value === choice && jsxs("svg", {
|
|
7408
7637
|
width: "20",
|
|
@@ -7423,15 +7652,15 @@ function ReasonSheet({ title: title2, options: options2, ctaLabel, selected: sel
|
|
|
7423
7652
|
})]
|
|
7424
7653
|
})
|
|
7425
7654
|
}), jsx("span", {
|
|
7426
|
-
className: styles$
|
|
7655
|
+
className: styles$E.label,
|
|
7427
7656
|
children: t(o.label)
|
|
7428
7657
|
})]
|
|
7429
7658
|
}, o.value))
|
|
7430
7659
|
})]
|
|
7431
7660
|
}), jsxs("div", {
|
|
7432
|
-
className: styles$
|
|
7661
|
+
className: styles$E.footer,
|
|
7433
7662
|
children: [error2 && jsx("p", {
|
|
7434
|
-
className: styles$
|
|
7663
|
+
className: styles$E.error,
|
|
7435
7664
|
role: "alert",
|
|
7436
7665
|
children: error2
|
|
7437
7666
|
}), jsx(Button, {
|
|
@@ -7456,7 +7685,7 @@ const attrs$1 = "_attrs_1pjby_55";
|
|
|
7456
7685
|
const price$3 = "_price_1pjby_63";
|
|
7457
7686
|
const paid$2 = "_paid_1pjby_72";
|
|
7458
7687
|
const was$3 = "_was_1pjby_80";
|
|
7459
|
-
const styles$
|
|
7688
|
+
const styles$D = {
|
|
7460
7689
|
line: line$1,
|
|
7461
7690
|
thumb: thumb$1,
|
|
7462
7691
|
img: img$1,
|
|
@@ -7472,35 +7701,35 @@ function ReturnItemRow({ item: item2, className }) {
|
|
|
7472
7701
|
const { format } = useMoney();
|
|
7473
7702
|
const t = useT();
|
|
7474
7703
|
return jsxs("div", {
|
|
7475
|
-
className: [styles$
|
|
7704
|
+
className: [styles$D.line, className ?? ""].join(" ").trim(),
|
|
7476
7705
|
children: [jsx("div", {
|
|
7477
|
-
className: styles$
|
|
7706
|
+
className: styles$D.thumb,
|
|
7478
7707
|
children: item2.image ? jsx(ShopImage, {
|
|
7479
7708
|
src: item2.image,
|
|
7480
7709
|
alt: "",
|
|
7481
7710
|
fill: true,
|
|
7482
7711
|
sizes: "48px",
|
|
7483
|
-
className: styles$
|
|
7712
|
+
className: styles$D.img
|
|
7484
7713
|
}) : jsx("div", {
|
|
7485
|
-
className: styles$
|
|
7714
|
+
className: styles$D.placeholder,
|
|
7486
7715
|
"aria-hidden": "true"
|
|
7487
7716
|
})
|
|
7488
7717
|
}), jsxs("div", {
|
|
7489
|
-
className: styles$
|
|
7718
|
+
className: styles$D.meta,
|
|
7490
7719
|
children: [jsx("p", {
|
|
7491
|
-
className: styles$
|
|
7720
|
+
className: styles$D.name,
|
|
7492
7721
|
children: item2.title ?? item2.sku
|
|
7493
7722
|
}), item2.attributes?.size && jsx("p", {
|
|
7494
|
-
className: styles$
|
|
7723
|
+
className: styles$D.attrs,
|
|
7495
7724
|
children: t("Size: {0}", item2.attributes.size)
|
|
7496
7725
|
})]
|
|
7497
7726
|
}), jsxs("div", {
|
|
7498
|
-
className: styles$
|
|
7727
|
+
className: styles$D.price,
|
|
7499
7728
|
children: [jsx("span", {
|
|
7500
|
-
className: styles$
|
|
7729
|
+
className: styles$D.paid,
|
|
7501
7730
|
children: format(item2.unit_price)
|
|
7502
7731
|
}), item2.compare_at_unit_price && jsxs("span", {
|
|
7503
|
-
className: styles$
|
|
7732
|
+
className: styles$D.was,
|
|
7504
7733
|
children: [jsx("span", {
|
|
7505
7734
|
className: "visually-hidden",
|
|
7506
7735
|
children: t("Was {0}", format(item2.compare_at_unit_price))
|
|
@@ -7523,7 +7752,7 @@ const check = "_check_15fz5_66";
|
|
|
7523
7752
|
const row$6 = "_row_15fz5_110";
|
|
7524
7753
|
const reason = "_reason_15fz5_135";
|
|
7525
7754
|
const reasonSet = "_reasonSet_15fz5_155";
|
|
7526
|
-
const styles$
|
|
7755
|
+
const styles$C = {
|
|
7527
7756
|
page: page$6,
|
|
7528
7757
|
titles: titles$2,
|
|
7529
7758
|
title: title$k,
|
|
@@ -7630,55 +7859,55 @@ function ReturnItemsView({ order, onSubmit, busy = false }) {
|
|
|
7630
7859
|
}
|
|
7631
7860
|
if (returnable.length === 0) {
|
|
7632
7861
|
return jsx("div", {
|
|
7633
|
-
className: styles$
|
|
7862
|
+
className: styles$C.page,
|
|
7634
7863
|
children: jsxs("div", {
|
|
7635
|
-
className: styles$
|
|
7864
|
+
className: styles$C.titles,
|
|
7636
7865
|
children: [jsx("h1", {
|
|
7637
|
-
className: styles$
|
|
7866
|
+
className: styles$C.title,
|
|
7638
7867
|
children: t("Nothing left to return")
|
|
7639
7868
|
}), jsx("p", {
|
|
7640
|
-
className: styles$
|
|
7869
|
+
className: styles$C.subtitle,
|
|
7641
7870
|
children: t("Every item on this order has already been returned or cancelled.")
|
|
7642
7871
|
})]
|
|
7643
7872
|
})
|
|
7644
7873
|
});
|
|
7645
7874
|
}
|
|
7646
7875
|
return jsxs("div", {
|
|
7647
|
-
className: styles$
|
|
7876
|
+
className: styles$C.page,
|
|
7648
7877
|
children: [jsxs("div", {
|
|
7649
|
-
className: styles$
|
|
7878
|
+
className: styles$C.titles,
|
|
7650
7879
|
children: [jsx("h1", {
|
|
7651
|
-
className: styles$
|
|
7880
|
+
className: styles$C.title,
|
|
7652
7881
|
children: t("What do you want to return?")
|
|
7653
7882
|
}), jsx("p", {
|
|
7654
|
-
className: styles$
|
|
7883
|
+
className: styles$C.subtitle,
|
|
7655
7884
|
children: t("Select items you want to return")
|
|
7656
7885
|
})]
|
|
7657
7886
|
}), jsx("div", {
|
|
7658
|
-
className: styles$
|
|
7887
|
+
className: styles$C.list,
|
|
7659
7888
|
children: returnable.map((item2) => {
|
|
7660
7889
|
const picked = item2.line_ref in chosen;
|
|
7661
7890
|
const reason2 = chosen[item2.line_ref];
|
|
7662
7891
|
return jsxs("div", {
|
|
7663
|
-
className: styles$
|
|
7892
|
+
className: styles$C.card,
|
|
7664
7893
|
children: [jsx("button", {
|
|
7665
7894
|
type: "button",
|
|
7666
7895
|
role: "checkbox",
|
|
7667
7896
|
"aria-checked": picked,
|
|
7668
7897
|
"aria-label": item2.title ?? item2.sku,
|
|
7669
|
-
className: styles$
|
|
7898
|
+
className: styles$C.checkSlot,
|
|
7670
7899
|
onClick: () => toggle2(item2.line_ref),
|
|
7671
7900
|
children: jsx("span", {
|
|
7672
|
-
className: styles$
|
|
7901
|
+
className: styles$C.check,
|
|
7673
7902
|
children: picked ? jsx(Tick, {}) : null
|
|
7674
7903
|
})
|
|
7675
7904
|
}), jsxs("div", {
|
|
7676
|
-
className: styles$
|
|
7905
|
+
className: styles$C.row,
|
|
7677
7906
|
children: [jsx(ReturnItemRow, {
|
|
7678
7907
|
item: item2
|
|
7679
7908
|
}), jsxs("button", {
|
|
7680
7909
|
type: "button",
|
|
7681
|
-
className: `${styles$
|
|
7910
|
+
className: `${styles$C.reason} ${reason2 ? styles$C.reasonSet : ""}`,
|
|
7682
7911
|
onClick: () => setReasonFor(item2.line_ref),
|
|
7683
7912
|
"aria-haspopup": "dialog",
|
|
7684
7913
|
children: [jsx("span", {
|
|
@@ -7726,11 +7955,11 @@ const step2 = "_step2_51f4e_74";
|
|
|
7726
7955
|
const stepHead = "_stepHead_51f4e_80";
|
|
7727
7956
|
const number = "_number_51f4e_87";
|
|
7728
7957
|
const stepTitle = "_stepTitle_51f4e_102";
|
|
7729
|
-
const body$
|
|
7958
|
+
const body$6 = "_body_51f4e_113";
|
|
7730
7959
|
const body2 = "_body2_51f4e_121";
|
|
7731
7960
|
const download = "_download_51f4e_139";
|
|
7732
7961
|
const note$1 = "_note_51f4e_161";
|
|
7733
|
-
const styles$
|
|
7962
|
+
const styles$B = {
|
|
7734
7963
|
page: page$5,
|
|
7735
7964
|
top,
|
|
7736
7965
|
items: items$2,
|
|
@@ -7743,7 +7972,7 @@ const styles$A = {
|
|
|
7743
7972
|
stepHead,
|
|
7744
7973
|
number,
|
|
7745
7974
|
stepTitle,
|
|
7746
|
-
body: body$
|
|
7975
|
+
body: body$6,
|
|
7747
7976
|
body2,
|
|
7748
7977
|
download,
|
|
7749
7978
|
note: note$1
|
|
@@ -7804,42 +8033,42 @@ function ReturnLabelView({ ret, onDone }) {
|
|
|
7804
8033
|
const t = useT();
|
|
7805
8034
|
const { preparing, unavailable, onDownload } = useLabelDownload(ret.label_url);
|
|
7806
8035
|
return jsxs("div", {
|
|
7807
|
-
className: styles$
|
|
8036
|
+
className: styles$B.page,
|
|
7808
8037
|
children: [jsxs("div", {
|
|
7809
|
-
className: styles$
|
|
8038
|
+
className: styles$B.top,
|
|
7810
8039
|
children: [jsx("div", {
|
|
7811
|
-
className: styles$
|
|
8040
|
+
className: styles$B.items,
|
|
7812
8041
|
children: ret.items.map((item2) => jsx(ReturnItemRow, {
|
|
7813
8042
|
item: item2
|
|
7814
8043
|
}, item2.line_ref))
|
|
7815
8044
|
}), jsxs("div", {
|
|
7816
|
-
className: styles$
|
|
8045
|
+
className: styles$B.intro,
|
|
7817
8046
|
children: [jsx("h1", {
|
|
7818
|
-
className: styles$
|
|
8047
|
+
className: styles$B.title,
|
|
7819
8048
|
children: t("We’ve generated your return label")
|
|
7820
8049
|
}), jsx("p", {
|
|
7821
|
-
className: styles$
|
|
8050
|
+
className: styles$B.subtitle,
|
|
7822
8051
|
children: t("Follow the instructions below to complete your return")
|
|
7823
8052
|
})]
|
|
7824
8053
|
}), jsxs("div", {
|
|
7825
|
-
className: styles$
|
|
8054
|
+
className: styles$B.card,
|
|
7826
8055
|
children: [jsxs("section", {
|
|
7827
|
-
className: styles$
|
|
8056
|
+
className: styles$B.step,
|
|
7828
8057
|
children: [jsxs("div", {
|
|
7829
|
-
className: styles$
|
|
8058
|
+
className: styles$B.stepHead,
|
|
7830
8059
|
children: [jsx("span", {
|
|
7831
|
-
className: styles$
|
|
8060
|
+
className: styles$B.number,
|
|
7832
8061
|
"aria-hidden": "true",
|
|
7833
8062
|
children: "1"
|
|
7834
8063
|
}), jsx("h2", {
|
|
7835
|
-
className: styles$
|
|
8064
|
+
className: styles$B.stepTitle,
|
|
7836
8065
|
children: t("Download your return label")
|
|
7837
8066
|
})]
|
|
7838
8067
|
}), jsx("p", {
|
|
7839
|
-
className: styles$
|
|
8068
|
+
className: styles$B.body,
|
|
7840
8069
|
children: t("Tap the button below to download your pre-paid return label")
|
|
7841
8070
|
}), ret.label_url && jsxs("a", {
|
|
7842
|
-
className: styles$
|
|
8071
|
+
className: styles$B.download,
|
|
7843
8072
|
href: ret.label_url,
|
|
7844
8073
|
target: "_blank",
|
|
7845
8074
|
rel: "noopener noreferrer",
|
|
@@ -7851,27 +8080,27 @@ function ReturnLabelView({ ret, onDone }) {
|
|
|
7851
8080
|
children: ` ${t("(opens in a new tab)")}`
|
|
7852
8081
|
})]
|
|
7853
8082
|
}), unavailable && jsx("p", {
|
|
7854
|
-
className: styles$
|
|
8083
|
+
className: styles$B.note,
|
|
7855
8084
|
role: "status",
|
|
7856
8085
|
children: t("Your return label is not ready yet. Try again in a moment.")
|
|
7857
8086
|
}), ret.label_email && jsxs("p", {
|
|
7858
|
-
className: styles$
|
|
8087
|
+
className: styles$B.note,
|
|
7859
8088
|
children: [t("You’ll receive a shipping label PDF to your email as well."), jsx("br", {}), ret.label_email]
|
|
7860
8089
|
})]
|
|
7861
8090
|
}), jsxs("section", {
|
|
7862
|
-
className: styles$
|
|
8091
|
+
className: styles$B.step2,
|
|
7863
8092
|
children: [jsxs("div", {
|
|
7864
|
-
className: styles$
|
|
8093
|
+
className: styles$B.stepHead,
|
|
7865
8094
|
children: [jsx("span", {
|
|
7866
|
-
className: styles$
|
|
8095
|
+
className: styles$B.number,
|
|
7867
8096
|
"aria-hidden": "true",
|
|
7868
8097
|
children: "2"
|
|
7869
8098
|
}), jsx("h2", {
|
|
7870
|
-
className: styles$
|
|
8099
|
+
className: styles$B.stepTitle,
|
|
7871
8100
|
children: t("Pack and ship the item")
|
|
7872
8101
|
})]
|
|
7873
8102
|
}), jsxs("p", {
|
|
7874
|
-
className: styles$
|
|
8103
|
+
className: styles$B.body2,
|
|
7875
8104
|
children: [t("Repackage the item securely and attach the return label to the outside of the package."), jsx("br", {}), t("Drop it off at your local carrier or post office.")]
|
|
7876
8105
|
})]
|
|
7877
8106
|
})]
|
|
@@ -7899,7 +8128,7 @@ const attrs = "_attrs_g4vus_108";
|
|
|
7899
8128
|
const price$2 = "_price_g4vus_123";
|
|
7900
8129
|
const paid$1 = "_paid_g4vus_132";
|
|
7901
8130
|
const was$2 = "_was_g4vus_140";
|
|
7902
|
-
const styles$
|
|
8131
|
+
const styles$A = {
|
|
7903
8132
|
page: page$4,
|
|
7904
8133
|
titles: titles$1,
|
|
7905
8134
|
title: title$i,
|
|
@@ -7933,42 +8162,42 @@ function ReturnTrackingView({ ret, locale: localeProp }) {
|
|
|
7933
8162
|
tone: "light",
|
|
7934
8163
|
fill: true,
|
|
7935
8164
|
children: jsxs("div", {
|
|
7936
|
-
className: styles$
|
|
8165
|
+
className: styles$A.page,
|
|
7937
8166
|
children: [jsxs("div", {
|
|
7938
|
-
className: styles$
|
|
8167
|
+
className: styles$A.titles,
|
|
7939
8168
|
children: [jsx("h1", {
|
|
7940
|
-
className: styles$
|
|
8169
|
+
className: styles$A.title,
|
|
7941
8170
|
children: t("Return in progress")
|
|
7942
8171
|
}), jsx("p", {
|
|
7943
|
-
className: styles$
|
|
8172
|
+
className: styles$A.subtitle,
|
|
7944
8173
|
children: t("Return #{0} · Reported {1}", ret.return_ref, reported)
|
|
7945
8174
|
})]
|
|
7946
8175
|
}), jsx(OrderTimeline, {
|
|
7947
8176
|
progress: ret.progress,
|
|
7948
8177
|
locale
|
|
7949
8178
|
}), jsx("ul", {
|
|
7950
|
-
className: styles$
|
|
8179
|
+
className: styles$A.items,
|
|
7951
8180
|
children: ret.items.map((item2) => jsxs("li", {
|
|
7952
|
-
className: styles$
|
|
8181
|
+
className: styles$A.item,
|
|
7953
8182
|
children: [jsx("div", {
|
|
7954
|
-
className: styles$
|
|
8183
|
+
className: styles$A.thumb,
|
|
7955
8184
|
children: item2.image ? jsx(ShopImage, {
|
|
7956
8185
|
src: item2.image,
|
|
7957
8186
|
alt: "",
|
|
7958
8187
|
fill: true,
|
|
7959
8188
|
sizes: "48px",
|
|
7960
|
-
className: styles$
|
|
8189
|
+
className: styles$A.img
|
|
7961
8190
|
}) : jsx("div", {
|
|
7962
|
-
className: styles$
|
|
8191
|
+
className: styles$A.placeholder,
|
|
7963
8192
|
"aria-hidden": "true"
|
|
7964
8193
|
})
|
|
7965
8194
|
}), jsxs("div", {
|
|
7966
|
-
className: styles$
|
|
8195
|
+
className: styles$A.meta,
|
|
7967
8196
|
children: [jsx("p", {
|
|
7968
|
-
className: styles$
|
|
8197
|
+
className: styles$A.name,
|
|
7969
8198
|
children: item2.title ?? item2.sku
|
|
7970
8199
|
}), (item2.attributes?.size || pctOff(item2)) && jsxs("p", {
|
|
7971
|
-
className: styles$
|
|
8200
|
+
className: styles$A.attrs,
|
|
7972
8201
|
children: [item2.attributes?.size && jsx("span", {
|
|
7973
8202
|
children: t("Size: {0}", item2.attributes.size)
|
|
7974
8203
|
}), pctOff(item2) !== void 0 && jsx(SaleBadge, {
|
|
@@ -7976,12 +8205,12 @@ function ReturnTrackingView({ ret, locale: localeProp }) {
|
|
|
7976
8205
|
})]
|
|
7977
8206
|
})]
|
|
7978
8207
|
}), jsxs("div", {
|
|
7979
|
-
className: styles$
|
|
8208
|
+
className: styles$A.price,
|
|
7980
8209
|
children: [jsx("span", {
|
|
7981
|
-
className: styles$
|
|
8210
|
+
className: styles$A.paid,
|
|
7982
8211
|
children: format(item2.unit_price)
|
|
7983
8212
|
}), item2.compare_at_unit_price && jsx("span", {
|
|
7984
|
-
className: styles$
|
|
8213
|
+
className: styles$A.was,
|
|
7985
8214
|
children: format(item2.compare_at_unit_price)
|
|
7986
8215
|
})]
|
|
7987
8216
|
})]
|
|
@@ -8100,7 +8329,7 @@ function ReturnFlowContent({ orderRef, returnRef, onDone, locale }) {
|
|
|
8100
8329
|
const page$3 = "_page_1iwin_8";
|
|
8101
8330
|
const widget = "_widget_1iwin_18";
|
|
8102
8331
|
const titleRow = "_titleRow_1iwin_26";
|
|
8103
|
-
const headline$
|
|
8332
|
+
const headline$2 = "_headline_1iwin_42";
|
|
8104
8333
|
const track$5 = "_track_1iwin_74";
|
|
8105
8334
|
const rule$1 = "_rule_1iwin_99";
|
|
8106
8335
|
const help = "_help_1iwin_109";
|
|
@@ -8113,11 +8342,11 @@ const cancel = "_cancel_1iwin_197";
|
|
|
8113
8342
|
const cancelledHead = "_cancelledHead_1iwin_221";
|
|
8114
8343
|
const cancelledTitle = "_cancelledTitle_1iwin_227";
|
|
8115
8344
|
const cancelledMeta = "_cancelledMeta_1iwin_241";
|
|
8116
|
-
const styles$
|
|
8345
|
+
const styles$z = {
|
|
8117
8346
|
page: page$3,
|
|
8118
8347
|
widget,
|
|
8119
8348
|
titleRow,
|
|
8120
|
-
headline: headline$
|
|
8349
|
+
headline: headline$2,
|
|
8121
8350
|
track: track$5,
|
|
8122
8351
|
rule: rule$1,
|
|
8123
8352
|
help,
|
|
@@ -8220,7 +8449,7 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onO
|
|
|
8220
8449
|
}, [cancelled]);
|
|
8221
8450
|
if (state === "loading") {
|
|
8222
8451
|
return jsxs("div", {
|
|
8223
|
-
className: styles$
|
|
8452
|
+
className: styles$z.page,
|
|
8224
8453
|
children: [jsx(Skeleton, {
|
|
8225
8454
|
height: 206,
|
|
8226
8455
|
radius: 8
|
|
@@ -8298,18 +8527,18 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onO
|
|
|
8298
8527
|
}
|
|
8299
8528
|
if (order.status === "cancelled") {
|
|
8300
8529
|
return jsxs("div", {
|
|
8301
|
-
className: styles$
|
|
8530
|
+
className: styles$z.page,
|
|
8302
8531
|
ref: cancelledPage,
|
|
8303
8532
|
children: [jsxs("div", {
|
|
8304
|
-
className: styles$
|
|
8533
|
+
className: styles$z.cancelledHead,
|
|
8305
8534
|
children: [jsx("h1", {
|
|
8306
|
-
className: styles$
|
|
8535
|
+
className: styles$z.cancelledTitle,
|
|
8307
8536
|
children: t("Order cancelled")
|
|
8308
8537
|
}), jsx("p", {
|
|
8309
|
-
className: styles$
|
|
8538
|
+
className: styles$z.cancelledMeta,
|
|
8310
8539
|
children: t("Order #{0} · Placed {1}", shortRef$1(order.order_ref), placedOn(order.placed_at, locale))
|
|
8311
8540
|
})]
|
|
8312
|
-
}), jsx(Button, {
|
|
8541
|
+
}), !order.vip && jsx(Button, {
|
|
8313
8542
|
variant: "primary",
|
|
8314
8543
|
fullWidth: true,
|
|
8315
8544
|
loading: reordering,
|
|
@@ -8325,17 +8554,17 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onO
|
|
|
8325
8554
|
});
|
|
8326
8555
|
}
|
|
8327
8556
|
return jsxs("div", {
|
|
8328
|
-
className: styles$
|
|
8557
|
+
className: styles$z.page,
|
|
8329
8558
|
children: [jsxs("section", {
|
|
8330
|
-
className: styles$
|
|
8559
|
+
className: styles$z.widget,
|
|
8331
8560
|
"aria-label": t("Delivery status"),
|
|
8332
8561
|
children: [jsxs("div", {
|
|
8333
|
-
className: styles$
|
|
8562
|
+
className: styles$z.titleRow,
|
|
8334
8563
|
children: [jsx("h1", {
|
|
8335
|
-
className: styles$
|
|
8564
|
+
className: styles$z.headline,
|
|
8336
8565
|
children: t("Order #{0}", shortRef$1(order.order_ref))
|
|
8337
8566
|
}), order.tracking?.url && inTransit && jsxs("a", {
|
|
8338
|
-
className: styles$
|
|
8567
|
+
className: styles$z.track,
|
|
8339
8568
|
href: order.tracking.url,
|
|
8340
8569
|
target: "_blank",
|
|
8341
8570
|
rel: "noopener noreferrer",
|
|
@@ -8352,7 +8581,7 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onO
|
|
|
8352
8581
|
locale
|
|
8353
8582
|
})]
|
|
8354
8583
|
}), jsx("hr", {
|
|
8355
|
-
className: styles$
|
|
8584
|
+
className: styles$z.rule
|
|
8356
8585
|
}), jsx(OrderLines, {
|
|
8357
8586
|
order
|
|
8358
8587
|
}), jsx(ShippingAddressCard, {
|
|
@@ -8361,7 +8590,7 @@ function OrderTrackingContent({ orderRef, locale: localeProp, onStartReturn, onO
|
|
|
8361
8590
|
order
|
|
8362
8591
|
}), order.can_cancel && jsx("button", {
|
|
8363
8592
|
type: "button",
|
|
8364
|
-
className: styles$
|
|
8593
|
+
className: styles$z.cancel,
|
|
8365
8594
|
onClick: () => setCancelOpen(true),
|
|
8366
8595
|
children: t("Cancel order")
|
|
8367
8596
|
}), jsx(NeedHelp, {
|
|
@@ -8414,14 +8643,14 @@ function NeedHelp({ order, onStartReturn, onOpenReturn, onContactSupport }) {
|
|
|
8414
8643
|
if (order.status !== "delivered") return null;
|
|
8415
8644
|
const returns = order.returns ?? [];
|
|
8416
8645
|
return jsxs("section", {
|
|
8417
|
-
className: styles$
|
|
8646
|
+
className: styles$z.help,
|
|
8418
8647
|
"aria-labelledby": "order-help",
|
|
8419
8648
|
children: [jsx("h2", {
|
|
8420
|
-
className: styles$
|
|
8649
|
+
className: styles$z.helpTitle,
|
|
8421
8650
|
id: "order-help",
|
|
8422
8651
|
children: t("Need help?")
|
|
8423
8652
|
}), jsxs("div", {
|
|
8424
|
-
className: styles$
|
|
8653
|
+
className: styles$z.helpRows,
|
|
8425
8654
|
children: [returns.map((ret) => jsx(HelpRow, {
|
|
8426
8655
|
label: returns.length > 1 ? t("Track return {0}", ret.return_ref) : "Track your return",
|
|
8427
8656
|
status: RETURN_STATUS[ret.status] ?? ret.status.replace(/_/g, " "),
|
|
@@ -8451,14 +8680,14 @@ function HelpRow({ label: label2, status, onClick }) {
|
|
|
8451
8680
|
const t = useT();
|
|
8452
8681
|
return jsxs("button", {
|
|
8453
8682
|
type: "button",
|
|
8454
|
-
className: styles$
|
|
8683
|
+
className: styles$z.helpRow,
|
|
8455
8684
|
onClick,
|
|
8456
8685
|
children: [jsx("span", {
|
|
8457
8686
|
children: t(label2)
|
|
8458
8687
|
}), jsxs("span", {
|
|
8459
|
-
className: styles$
|
|
8688
|
+
className: styles$z.helpRowEnd,
|
|
8460
8689
|
children: [status && jsx("span", {
|
|
8461
|
-
className: styles$
|
|
8690
|
+
className: styles$z.helpStatus,
|
|
8462
8691
|
children: t(status)
|
|
8463
8692
|
}), jsx(ChevronRight$1, {})]
|
|
8464
8693
|
})]
|
|
@@ -8470,15 +8699,15 @@ function shortRef$1(orderRef) {
|
|
|
8470
8699
|
const page$2 = "_page_vqbqs_6";
|
|
8471
8700
|
const confirmed = "_confirmed_vqbqs_16";
|
|
8472
8701
|
const title$h = "_title_vqbqs_22";
|
|
8473
|
-
const headline = "_headline_vqbqs_47";
|
|
8702
|
+
const headline$1 = "_headline_vqbqs_47";
|
|
8474
8703
|
const subtitle$4 = "_subtitle_vqbqs_65";
|
|
8475
8704
|
const rule = "_rule_vqbqs_77";
|
|
8476
8705
|
const done = "_done_vqbqs_94";
|
|
8477
|
-
const styles$
|
|
8706
|
+
const styles$y = {
|
|
8478
8707
|
page: page$2,
|
|
8479
8708
|
confirmed,
|
|
8480
8709
|
title: title$h,
|
|
8481
|
-
headline,
|
|
8710
|
+
headline: headline$1,
|
|
8482
8711
|
subtitle: subtitle$4,
|
|
8483
8712
|
rule,
|
|
8484
8713
|
done
|
|
@@ -8528,7 +8757,7 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
|
|
|
8528
8757
|
}, [load]);
|
|
8529
8758
|
if (state === "loading") {
|
|
8530
8759
|
return jsxs("div", {
|
|
8531
|
-
className: styles$
|
|
8760
|
+
className: styles$y.page,
|
|
8532
8761
|
children: [jsx(Skeleton, {
|
|
8533
8762
|
height: 140,
|
|
8534
8763
|
radius: 8
|
|
@@ -8551,17 +8780,17 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
|
|
|
8551
8780
|
});
|
|
8552
8781
|
}
|
|
8553
8782
|
return jsxs("div", {
|
|
8554
|
-
className: styles$
|
|
8783
|
+
className: styles$y.page,
|
|
8555
8784
|
children: [jsxs("section", {
|
|
8556
|
-
className: styles$
|
|
8785
|
+
className: styles$y.confirmed,
|
|
8557
8786
|
"aria-label": t("Order confirmation"),
|
|
8558
8787
|
children: [jsxs("div", {
|
|
8559
|
-
className: styles$
|
|
8788
|
+
className: styles$y.title,
|
|
8560
8789
|
children: [jsx("h1", {
|
|
8561
|
-
className: styles$
|
|
8790
|
+
className: styles$y.headline,
|
|
8562
8791
|
children: t("Your order is confirmed")
|
|
8563
8792
|
}), order.email && jsx("p", {
|
|
8564
|
-
className: styles$
|
|
8793
|
+
className: styles$y.subtitle,
|
|
8565
8794
|
children: t("We’ve sent a confirmation to {0}", order.email)
|
|
8566
8795
|
})]
|
|
8567
8796
|
}), jsx(OrderTimeline, {
|
|
@@ -8572,7 +8801,7 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
|
|
|
8572
8801
|
locale
|
|
8573
8802
|
})]
|
|
8574
8803
|
}), jsx("hr", {
|
|
8575
|
-
className: styles$
|
|
8804
|
+
className: styles$y.rule
|
|
8576
8805
|
}), jsx(OrderLines, {
|
|
8577
8806
|
order
|
|
8578
8807
|
}), jsx(ShippingAddressCard, {
|
|
@@ -8582,7 +8811,7 @@ function OrderConfirmationContent({ orderRef, locale: localeProp, onDone }) {
|
|
|
8582
8811
|
}), onDone && jsx(Button, {
|
|
8583
8812
|
variant: "secondary",
|
|
8584
8813
|
fullWidth: true,
|
|
8585
|
-
className: styles$
|
|
8814
|
+
className: styles$y.done,
|
|
8586
8815
|
onClick: onDone,
|
|
8587
8816
|
children: t("Done")
|
|
8588
8817
|
})]
|
|
@@ -8593,7 +8822,7 @@ const progress = "_progress_u46qd_22";
|
|
|
8593
8822
|
const delivered = "_delivered_u46qd_27";
|
|
8594
8823
|
const neutral = "_neutral_u46qd_34";
|
|
8595
8824
|
const critical = "_critical_u46qd_43";
|
|
8596
|
-
const styles$
|
|
8825
|
+
const styles$x = {
|
|
8597
8826
|
badge: badge$2,
|
|
8598
8827
|
progress,
|
|
8599
8828
|
delivered,
|
|
@@ -8619,7 +8848,7 @@ function OrderStatusBadge({ status }) {
|
|
|
8619
8848
|
const label2 = LABEL[status] ?? status.replace(/_/g, " ");
|
|
8620
8849
|
const tone = TONE[status] ?? "neutral";
|
|
8621
8850
|
return jsx("span", {
|
|
8622
|
-
className: [styles$
|
|
8851
|
+
className: [styles$x.badge, styles$x[tone]].join(" "),
|
|
8623
8852
|
children: t(label2)
|
|
8624
8853
|
});
|
|
8625
8854
|
}
|
|
@@ -8638,13 +8867,13 @@ function ReturnStatusBadge({ status }) {
|
|
|
8638
8867
|
const label2 = RETURN_LABEL[status] ?? status.replace(/_/g, " ");
|
|
8639
8868
|
const tone = RETURN_TONE[status] ?? "neutral";
|
|
8640
8869
|
return jsx("span", {
|
|
8641
|
-
className: [styles$
|
|
8870
|
+
className: [styles$x.badge, styles$x[tone]].join(" "),
|
|
8642
8871
|
children: t(label2)
|
|
8643
8872
|
});
|
|
8644
8873
|
}
|
|
8645
8874
|
const page$1 = "_page_qj11j_2";
|
|
8646
8875
|
const empty = "_empty_qj11j_22";
|
|
8647
|
-
const cta$
|
|
8876
|
+
const cta$2 = "_cta_qj11j_32";
|
|
8648
8877
|
const card$1 = "_card_qj11j_55";
|
|
8649
8878
|
const tappable = "_tappable_qj11j_70";
|
|
8650
8879
|
const head$1 = "_head_qj11j_79";
|
|
@@ -8655,14 +8884,14 @@ const bottom$1 = "_bottom_qj11j_120";
|
|
|
8655
8884
|
const strip = "_strip_qj11j_128";
|
|
8656
8885
|
const meta$1 = "_meta_qj11j_141";
|
|
8657
8886
|
const tile$2 = "_tile_qj11j_150";
|
|
8658
|
-
const image$
|
|
8887
|
+
const image$9 = "_image_qj11j_160";
|
|
8659
8888
|
const placeholder$5 = "_placeholder_qj11j_167";
|
|
8660
8889
|
const more = "_more_qj11j_174";
|
|
8661
8890
|
const chevron$2 = "_chevron_qj11j_187";
|
|
8662
|
-
const styles$
|
|
8891
|
+
const styles$w = {
|
|
8663
8892
|
page: page$1,
|
|
8664
8893
|
empty,
|
|
8665
|
-
cta: cta$
|
|
8894
|
+
cta: cta$2,
|
|
8666
8895
|
card: card$1,
|
|
8667
8896
|
tappable,
|
|
8668
8897
|
head: head$1,
|
|
@@ -8673,7 +8902,7 @@ const styles$v = {
|
|
|
8673
8902
|
strip,
|
|
8674
8903
|
meta: meta$1,
|
|
8675
8904
|
tile: tile$2,
|
|
8676
|
-
image: image$
|
|
8905
|
+
image: image$9,
|
|
8677
8906
|
placeholder: placeholder$5,
|
|
8678
8907
|
more,
|
|
8679
8908
|
chevron: chevron$2
|
|
@@ -8737,7 +8966,7 @@ function OrderListContent({ onOpenOrder, onOpenReturn, onStartShopping, locale:
|
|
|
8737
8966
|
}, [load]);
|
|
8738
8967
|
if (state === "loading") {
|
|
8739
8968
|
return jsxs("div", {
|
|
8740
|
-
className: styles$
|
|
8969
|
+
className: styles$w.page,
|
|
8741
8970
|
children: [jsx(Skeleton, {
|
|
8742
8971
|
height: 148,
|
|
8743
8972
|
radius: 12
|
|
@@ -8758,14 +8987,14 @@ function OrderListContent({ onOpenOrder, onOpenReturn, onStartShopping, locale:
|
|
|
8758
8987
|
}
|
|
8759
8988
|
if (orders2.length === 0 && returns.length === 0) {
|
|
8760
8989
|
return jsx("div", {
|
|
8761
|
-
className: styles$
|
|
8990
|
+
className: styles$w.empty,
|
|
8762
8991
|
children: jsx(EmptyState, {
|
|
8763
8992
|
title: t("Nothing here yet"),
|
|
8764
8993
|
body: t("Your orders will show up here once you've shopped."),
|
|
8765
8994
|
...onStartShopping ? {
|
|
8766
8995
|
action: jsx("button", {
|
|
8767
8996
|
type: "button",
|
|
8768
|
-
className: styles$
|
|
8997
|
+
className: styles$w.cta,
|
|
8769
8998
|
onClick: onStartShopping,
|
|
8770
8999
|
children: t("Continue shopping")
|
|
8771
9000
|
})
|
|
@@ -8783,7 +9012,7 @@ function OrderListContent({ onOpenOrder, onOpenReturn, onStartShopping, locale:
|
|
|
8783
9012
|
ret
|
|
8784
9013
|
}))].sort((a, b) => Date.parse(b.at) - Date.parse(a.at));
|
|
8785
9014
|
return jsx("ul", {
|
|
8786
|
-
className: styles$
|
|
9015
|
+
className: styles$w.page,
|
|
8787
9016
|
children: rows.map((row2) => jsx("li", {
|
|
8788
9017
|
children: "order" in row2 ? jsx(OrderCard, {
|
|
8789
9018
|
order: row2.order,
|
|
@@ -8807,39 +9036,39 @@ function ReturnCard({ ret, locale, onOpen }) {
|
|
|
8807
9036
|
const items2 = `${ret.item_count} ${ret.item_count === 1 ? t("item") : t("items")}`;
|
|
8808
9037
|
const body3 = jsxs(Fragment, {
|
|
8809
9038
|
children: [jsxs("div", {
|
|
8810
|
-
className: styles$
|
|
9039
|
+
className: styles$w.head,
|
|
8811
9040
|
children: [jsxs("div", {
|
|
8812
|
-
className: styles$
|
|
9041
|
+
className: styles$w.heading,
|
|
8813
9042
|
children: [jsx("span", {
|
|
8814
|
-
className: styles$
|
|
9043
|
+
className: styles$w.title,
|
|
8815
9044
|
children: `${t("Return")} #${shortRef(ret.return_ref)}`
|
|
8816
9045
|
}), jsx("span", {
|
|
8817
|
-
className: styles$
|
|
9046
|
+
className: styles$w.date,
|
|
8818
9047
|
children: formatPlaced(ret.reported_at, locale)
|
|
8819
9048
|
})]
|
|
8820
9049
|
}), jsx(ReturnStatusBadge, {
|
|
8821
9050
|
status: ret.status
|
|
8822
9051
|
})]
|
|
8823
9052
|
}), jsxs("div", {
|
|
8824
|
-
className: styles$
|
|
9053
|
+
className: styles$w.bottom,
|
|
8825
9054
|
children: [jsx(ReturnThumbnails, {
|
|
8826
9055
|
ret
|
|
8827
9056
|
}), jsx("span", {
|
|
8828
|
-
className: styles$
|
|
9057
|
+
className: styles$w.meta,
|
|
8829
9058
|
children: `${items2} · ${money2(ret.value)}`
|
|
8830
9059
|
}), onOpen && jsx("span", {
|
|
8831
|
-
className: styles$
|
|
9060
|
+
className: styles$w.chevron,
|
|
8832
9061
|
children: jsx(Chevron, {})
|
|
8833
9062
|
})]
|
|
8834
9063
|
})]
|
|
8835
9064
|
});
|
|
8836
9065
|
if (!onOpen) return jsx("div", {
|
|
8837
|
-
className: styles$
|
|
9066
|
+
className: styles$w.card,
|
|
8838
9067
|
children: body3
|
|
8839
9068
|
});
|
|
8840
9069
|
return jsx("button", {
|
|
8841
9070
|
type: "button",
|
|
8842
|
-
className: [styles$
|
|
9071
|
+
className: [styles$w.card, styles$w.tappable].join(" "),
|
|
8843
9072
|
onClick: onOpen,
|
|
8844
9073
|
"aria-label": `${t("Return")} ${shortRef(ret.return_ref)}, ${ret.headline}`,
|
|
8845
9074
|
children: body3
|
|
@@ -8852,27 +9081,27 @@ function ReturnThumbnails({ ret }) {
|
|
|
8852
9081
|
const overflow = images.length >= TILES && hidden > 1 ? hidden : 0;
|
|
8853
9082
|
if (images.length === 0) {
|
|
8854
9083
|
return jsx("div", {
|
|
8855
|
-
className: styles$
|
|
9084
|
+
className: styles$w.strip,
|
|
8856
9085
|
children: jsx("div", {
|
|
8857
|
-
className: [styles$
|
|
9086
|
+
className: [styles$w.tile, styles$w.placeholder].join(" "),
|
|
8858
9087
|
"aria-hidden": "true"
|
|
8859
9088
|
})
|
|
8860
9089
|
});
|
|
8861
9090
|
}
|
|
8862
9091
|
return jsx("div", {
|
|
8863
|
-
className: styles$
|
|
9092
|
+
className: styles$w.strip,
|
|
8864
9093
|
children: images.map((src, i) => {
|
|
8865
9094
|
const last = i === images.length - 1;
|
|
8866
9095
|
return jsxs("div", {
|
|
8867
|
-
className: styles$
|
|
9096
|
+
className: styles$w.tile,
|
|
8868
9097
|
children: [jsx(ShopImage, {
|
|
8869
9098
|
src,
|
|
8870
9099
|
alt: "",
|
|
8871
9100
|
fill: true,
|
|
8872
9101
|
sizes: "56px",
|
|
8873
|
-
className: styles$
|
|
9102
|
+
className: styles$w.image
|
|
8874
9103
|
}), overflow > 0 && last && jsxs("span", {
|
|
8875
|
-
className: styles$
|
|
9104
|
+
className: styles$w.more,
|
|
8876
9105
|
children: [jsxs("span", {
|
|
8877
9106
|
"aria-hidden": "true",
|
|
8878
9107
|
children: ["+", overflow]
|
|
@@ -8889,36 +9118,36 @@ function OrderCard({ order, locale, onOpen }) {
|
|
|
8889
9118
|
const t = useT();
|
|
8890
9119
|
const body3 = jsxs(Fragment, {
|
|
8891
9120
|
children: [jsxs("div", {
|
|
8892
|
-
className: styles$
|
|
9121
|
+
className: styles$w.head,
|
|
8893
9122
|
children: [jsxs("div", {
|
|
8894
|
-
className: styles$
|
|
9123
|
+
className: styles$w.heading,
|
|
8895
9124
|
children: [jsx("span", {
|
|
8896
|
-
className: styles$
|
|
9125
|
+
className: styles$w.title,
|
|
8897
9126
|
children: t("Order #{0}", shortRef(order.order_ref))
|
|
8898
9127
|
}), jsx("span", {
|
|
8899
|
-
className: styles$
|
|
9128
|
+
className: styles$w.date,
|
|
8900
9129
|
children: formatPlaced(order.placed_at, locale)
|
|
8901
9130
|
})]
|
|
8902
9131
|
}), jsx(OrderStatusBadge, {
|
|
8903
9132
|
status: order.status
|
|
8904
9133
|
})]
|
|
8905
9134
|
}), jsxs("div", {
|
|
8906
|
-
className: styles$
|
|
9135
|
+
className: styles$w.bottom,
|
|
8907
9136
|
children: [jsx(Thumbnails, {
|
|
8908
9137
|
order
|
|
8909
9138
|
}), onOpen && jsx("span", {
|
|
8910
|
-
className: styles$
|
|
9139
|
+
className: styles$w.chevron,
|
|
8911
9140
|
children: jsx(Chevron, {})
|
|
8912
9141
|
})]
|
|
8913
9142
|
})]
|
|
8914
9143
|
});
|
|
8915
9144
|
if (!onOpen) return jsx("div", {
|
|
8916
|
-
className: styles$
|
|
9145
|
+
className: styles$w.card,
|
|
8917
9146
|
children: body3
|
|
8918
9147
|
});
|
|
8919
9148
|
return jsx("button", {
|
|
8920
9149
|
type: "button",
|
|
8921
|
-
className: [styles$
|
|
9150
|
+
className: [styles$w.card, styles$w.tappable].join(" "),
|
|
8922
9151
|
onClick: onOpen,
|
|
8923
9152
|
"aria-label": `Order ${shortRef(order.order_ref)}, ${order.headline}`,
|
|
8924
9153
|
children: body3
|
|
@@ -8931,27 +9160,27 @@ function Thumbnails({ order }) {
|
|
|
8931
9160
|
const overflow = images.length >= TILES && hidden > 1 ? hidden : 0;
|
|
8932
9161
|
if (images.length === 0) {
|
|
8933
9162
|
return jsx("div", {
|
|
8934
|
-
className: styles$
|
|
9163
|
+
className: styles$w.strip,
|
|
8935
9164
|
children: jsx("div", {
|
|
8936
|
-
className: [styles$
|
|
9165
|
+
className: [styles$w.tile, styles$w.placeholder].join(" "),
|
|
8937
9166
|
"aria-hidden": "true"
|
|
8938
9167
|
})
|
|
8939
9168
|
});
|
|
8940
9169
|
}
|
|
8941
9170
|
return jsx("div", {
|
|
8942
|
-
className: styles$
|
|
9171
|
+
className: styles$w.strip,
|
|
8943
9172
|
children: images.map((src, i) => {
|
|
8944
9173
|
const last = i === images.length - 1;
|
|
8945
9174
|
return jsxs("div", {
|
|
8946
|
-
className: styles$
|
|
9175
|
+
className: styles$w.tile,
|
|
8947
9176
|
children: [jsx(ShopImage, {
|
|
8948
9177
|
src,
|
|
8949
9178
|
alt: "",
|
|
8950
9179
|
fill: true,
|
|
8951
9180
|
sizes: "56px",
|
|
8952
|
-
className: styles$
|
|
9181
|
+
className: styles$w.image
|
|
8953
9182
|
}), overflow > 0 && last && jsxs("span", {
|
|
8954
|
-
className: styles$
|
|
9183
|
+
className: styles$w.more,
|
|
8955
9184
|
children: [jsxs("span", {
|
|
8956
9185
|
"aria-hidden": "true",
|
|
8957
9186
|
children: ["+", overflow]
|
|
@@ -8981,7 +9210,7 @@ const swatches = "_swatches_mdi63_1";
|
|
|
8981
9210
|
const swatch = "_swatch_mdi63_1";
|
|
8982
9211
|
const swatchActive = "_swatchActive_mdi63_18";
|
|
8983
9212
|
const swatchDot = "_swatchDot_mdi63_22";
|
|
8984
|
-
const styles$
|
|
9213
|
+
const styles$v = {
|
|
8985
9214
|
swatches,
|
|
8986
9215
|
swatch,
|
|
8987
9216
|
swatchActive,
|
|
@@ -8991,12 +9220,12 @@ function ColourSwatches({ variants, className }) {
|
|
|
8991
9220
|
const colours = colourOptions(variants);
|
|
8992
9221
|
if (colours.length === 0) return null;
|
|
8993
9222
|
return jsx("div", {
|
|
8994
|
-
className: [styles$
|
|
9223
|
+
className: [styles$v.swatches, className ?? ""].join(" ").trim(),
|
|
8995
9224
|
"aria-hidden": "true",
|
|
8996
9225
|
children: colours.map((c, i) => jsx("span", {
|
|
8997
|
-
className: [styles$
|
|
9226
|
+
className: [styles$v.swatch, i === 0 ? styles$v.swatchActive : ""].join(" "),
|
|
8998
9227
|
children: jsx("span", {
|
|
8999
|
-
className: styles$
|
|
9228
|
+
className: styles$v.swatchDot,
|
|
9000
9229
|
style: {
|
|
9001
9230
|
background: swatchColour(c.value)
|
|
9002
9231
|
}
|
|
@@ -9006,7 +9235,7 @@ function ColourSwatches({ variants, className }) {
|
|
|
9006
9235
|
}
|
|
9007
9236
|
const tile$1 = "_tile_yg69t_7";
|
|
9008
9237
|
const media$2 = "_media_yg69t_15";
|
|
9009
|
-
const image$
|
|
9238
|
+
const image$8 = "_image_yg69t_25";
|
|
9010
9239
|
const placeholder$4 = "_placeholder_yg69t_29";
|
|
9011
9240
|
const topBadge = "_topBadge_yg69t_37";
|
|
9012
9241
|
const saleBadge$2 = "_saleBadge_yg69t_78";
|
|
@@ -9016,10 +9245,10 @@ const titlePrice$1 = "_titlePrice_yg69t_100";
|
|
|
9016
9245
|
const title$f = "_title_yg69t_5";
|
|
9017
9246
|
const large = "_large_yg69t_185";
|
|
9018
9247
|
const swatchSlot = "_swatchSlot_yg69t_223";
|
|
9019
|
-
const styles$
|
|
9248
|
+
const styles$u = {
|
|
9020
9249
|
tile: tile$1,
|
|
9021
9250
|
media: media$2,
|
|
9022
|
-
image: image$
|
|
9251
|
+
image: image$8,
|
|
9023
9252
|
placeholder: placeholder$4,
|
|
9024
9253
|
topBadge,
|
|
9025
9254
|
saleBadge: saleBadge$2,
|
|
@@ -9038,37 +9267,37 @@ function ProductTile({ product, priority, size = "default" }) {
|
|
|
9038
9267
|
const t = useT();
|
|
9039
9268
|
return jsxs(ShopLink, {
|
|
9040
9269
|
to: `/product/${encodeURIComponent(product.sku)}`,
|
|
9041
|
-
className: [styles$
|
|
9270
|
+
className: [styles$u.tile, size === "large" ? styles$u.large : ""].join(" "),
|
|
9042
9271
|
children: [jsxs("div", {
|
|
9043
|
-
className: styles$
|
|
9272
|
+
className: styles$u.media,
|
|
9044
9273
|
children: [image2 ? jsx(ShopImage, {
|
|
9045
9274
|
src: image2,
|
|
9046
9275
|
alt: product.title,
|
|
9047
9276
|
fill: true,
|
|
9048
9277
|
sizes: size === "large" ? "(max-width: 480px) 100vw, 480px" : "(max-width: 480px) 45vw, 200px",
|
|
9049
|
-
className: styles$
|
|
9278
|
+
className: styles$u.image,
|
|
9050
9279
|
priority
|
|
9051
9280
|
}) : jsx("div", {
|
|
9052
|
-
className: styles$
|
|
9281
|
+
className: styles$u.placeholder,
|
|
9053
9282
|
"aria-hidden": "true"
|
|
9054
9283
|
}), anyInStock && topBadge2 && jsx("span", {
|
|
9055
|
-
className: styles$
|
|
9284
|
+
className: styles$u.topBadge,
|
|
9056
9285
|
children: topBadge2
|
|
9057
9286
|
}), anyInStock && pct !== void 0 && jsx("span", {
|
|
9058
|
-
className: styles$
|
|
9287
|
+
className: styles$u.saleBadge,
|
|
9059
9288
|
children: jsx(SaleBadge, {
|
|
9060
9289
|
pct
|
|
9061
9290
|
})
|
|
9062
9291
|
}), !anyInStock && jsx("span", {
|
|
9063
|
-
className: styles$
|
|
9292
|
+
className: styles$u.oos,
|
|
9064
9293
|
children: t("Out of stock")
|
|
9065
9294
|
})]
|
|
9066
9295
|
}), jsxs("div", {
|
|
9067
|
-
className: styles$
|
|
9296
|
+
className: styles$u.bottom,
|
|
9068
9297
|
children: [jsxs("div", {
|
|
9069
|
-
className: styles$
|
|
9298
|
+
className: styles$u.titlePrice,
|
|
9070
9299
|
children: [jsx("span", {
|
|
9071
|
-
className: styles$
|
|
9300
|
+
className: styles$u.title,
|
|
9072
9301
|
children: product.title
|
|
9073
9302
|
}), jsx(PriceBlock, {
|
|
9074
9303
|
price: product.price,
|
|
@@ -9079,7 +9308,7 @@ function ProductTile({ product, priority, size = "default" }) {
|
|
|
9079
9308
|
})]
|
|
9080
9309
|
}), jsx(ColourSwatches, {
|
|
9081
9310
|
variants: product.variants,
|
|
9082
|
-
className: styles$
|
|
9311
|
+
className: styles$u.swatchSlot
|
|
9083
9312
|
})]
|
|
9084
9313
|
})]
|
|
9085
9314
|
});
|
|
@@ -9089,7 +9318,7 @@ const title$e = "_title_v48ok_21";
|
|
|
9089
9318
|
const link = "_link_v48ok_30";
|
|
9090
9319
|
const track$4 = "_track_v48ok_42";
|
|
9091
9320
|
const frame = "_frame_v48ok_62";
|
|
9092
|
-
const image$
|
|
9321
|
+
const image$7 = "_image_v48ok_73";
|
|
9093
9322
|
const placeholder$3 = "_placeholder_v48ok_77";
|
|
9094
9323
|
const saleBadge$1 = "_saleBadge_v48ok_89";
|
|
9095
9324
|
const oos$2 = "_oos_v48ok_97";
|
|
@@ -9099,13 +9328,13 @@ const name = "_name_v48ok_142";
|
|
|
9099
9328
|
const price$1 = "_price_v48ok_155";
|
|
9100
9329
|
const paid = "_paid_v48ok_164";
|
|
9101
9330
|
const was$1 = "_was_v48ok_170";
|
|
9102
|
-
const styles$
|
|
9331
|
+
const styles$t = {
|
|
9103
9332
|
section: section$3,
|
|
9104
9333
|
title: title$e,
|
|
9105
9334
|
link,
|
|
9106
9335
|
track: track$4,
|
|
9107
9336
|
frame,
|
|
9108
|
-
image: image$
|
|
9337
|
+
image: image$7,
|
|
9109
9338
|
placeholder: placeholder$3,
|
|
9110
9339
|
saleBadge: saleBadge$1,
|
|
9111
9340
|
oos: oos$2,
|
|
@@ -9123,54 +9352,54 @@ function ProductGallery({ title: title2, product }) {
|
|
|
9123
9352
|
const inStock = product.variants.some((v) => v.in_stock);
|
|
9124
9353
|
const images = product.media.length > 0 ? product.media : [void 0];
|
|
9125
9354
|
return jsxs("section", {
|
|
9126
|
-
className: styles$
|
|
9355
|
+
className: styles$t.section,
|
|
9127
9356
|
"aria-labelledby": `gallery-${product.sku}`,
|
|
9128
9357
|
children: [jsx("h2", {
|
|
9129
|
-
className: styles$
|
|
9358
|
+
className: styles$t.title,
|
|
9130
9359
|
id: `gallery-${product.sku}`,
|
|
9131
9360
|
children: title2
|
|
9132
9361
|
}), jsxs(ShopLink, {
|
|
9133
9362
|
to: `/product/${encodeURIComponent(product.sku)}`,
|
|
9134
|
-
className: styles$
|
|
9363
|
+
className: styles$t.link,
|
|
9135
9364
|
children: [jsx("ul", {
|
|
9136
|
-
className: styles$
|
|
9365
|
+
className: styles$t.track,
|
|
9137
9366
|
"aria-label": t("{0} photographs", product.title),
|
|
9138
9367
|
children: images.map((src, i) => jsxs("li", {
|
|
9139
|
-
className: styles$
|
|
9368
|
+
className: styles$t.frame,
|
|
9140
9369
|
children: [src ? jsx(ShopImage, {
|
|
9141
9370
|
src,
|
|
9142
9371
|
alt: "",
|
|
9143
9372
|
fill: true,
|
|
9144
9373
|
sizes: "165px",
|
|
9145
|
-
className: styles$
|
|
9374
|
+
className: styles$t.image,
|
|
9146
9375
|
...i === 0 ? {
|
|
9147
9376
|
priority: true
|
|
9148
9377
|
} : {}
|
|
9149
9378
|
}) : jsx("div", {
|
|
9150
|
-
className: styles$
|
|
9379
|
+
className: styles$t.placeholder,
|
|
9151
9380
|
"aria-hidden": "true"
|
|
9152
9381
|
}), i === 0 && inStock && pct !== void 0 && jsx("span", {
|
|
9153
|
-
className: styles$
|
|
9382
|
+
className: styles$t.saleBadge,
|
|
9154
9383
|
children: jsx(SaleBadge, {
|
|
9155
9384
|
pct
|
|
9156
9385
|
})
|
|
9157
9386
|
}), i === 0 && !inStock && jsx("span", {
|
|
9158
|
-
className: styles$
|
|
9387
|
+
className: styles$t.oos,
|
|
9159
9388
|
children: t("Out of stock")
|
|
9160
9389
|
})]
|
|
9161
9390
|
}, src ?? i))
|
|
9162
9391
|
}), jsxs("div", {
|
|
9163
|
-
className: styles$
|
|
9392
|
+
className: styles$t.caption,
|
|
9164
9393
|
children: [jsx("span", {
|
|
9165
|
-
className: styles$
|
|
9394
|
+
className: styles$t.name,
|
|
9166
9395
|
children: product.title
|
|
9167
9396
|
}), jsxs("span", {
|
|
9168
|
-
className: styles$
|
|
9397
|
+
className: styles$t.price,
|
|
9169
9398
|
children: [jsx("span", {
|
|
9170
|
-
className: styles$
|
|
9399
|
+
className: styles$t.paid,
|
|
9171
9400
|
children: format(product.price)
|
|
9172
9401
|
}), product.compare_at && jsxs("span", {
|
|
9173
|
-
className: styles$
|
|
9402
|
+
className: styles$t.was,
|
|
9174
9403
|
children: [jsx("span", {
|
|
9175
9404
|
className: "visually-hidden",
|
|
9176
9405
|
children: t("Was {0}", format(product.compare_at))
|
|
@@ -9181,7 +9410,7 @@ function ProductGallery({ title: title2, product }) {
|
|
|
9181
9410
|
})]
|
|
9182
9411
|
}), jsx(ColourSwatches, {
|
|
9183
9412
|
variants: product.variants,
|
|
9184
|
-
className: styles$
|
|
9413
|
+
className: styles$t.swatchRow
|
|
9185
9414
|
})]
|
|
9186
9415
|
})]
|
|
9187
9416
|
})]
|
|
@@ -9192,7 +9421,7 @@ const chips$1 = "_chips_6p29u_8";
|
|
|
9192
9421
|
const chip$1 = "_chip_6p29u_8";
|
|
9193
9422
|
const on = "_on_6p29u_36";
|
|
9194
9423
|
const clear = "_clear_6p29u_42";
|
|
9195
|
-
const styles$
|
|
9424
|
+
const styles$s = {
|
|
9196
9425
|
bar: bar$1,
|
|
9197
9426
|
chips: chips$1,
|
|
9198
9427
|
chip: chip$1,
|
|
@@ -9203,24 +9432,24 @@ function FilterBar({ options: options2, active, onToggle, onClear }) {
|
|
|
9203
9432
|
const t = useT();
|
|
9204
9433
|
const hasActive = active.length > 0;
|
|
9205
9434
|
return jsxs("div", {
|
|
9206
|
-
className: styles$
|
|
9435
|
+
className: styles$s.bar,
|
|
9207
9436
|
role: "group",
|
|
9208
9437
|
"aria-label": t("Filters"),
|
|
9209
9438
|
children: [jsx("div", {
|
|
9210
|
-
className: styles$
|
|
9439
|
+
className: styles$s.chips,
|
|
9211
9440
|
children: options2.map((opt) => {
|
|
9212
9441
|
const on2 = active.includes(opt.value);
|
|
9213
9442
|
return jsx("button", {
|
|
9214
9443
|
type: "button",
|
|
9215
9444
|
"aria-pressed": on2,
|
|
9216
|
-
className: [styles$
|
|
9445
|
+
className: [styles$s.chip, on2 ? styles$s.on : ""].join(" "),
|
|
9217
9446
|
onClick: () => onToggle(opt.value),
|
|
9218
9447
|
children: opt.label
|
|
9219
9448
|
}, opt.value);
|
|
9220
9449
|
})
|
|
9221
9450
|
}), hasActive && onClear && jsx("button", {
|
|
9222
9451
|
type: "button",
|
|
9223
|
-
className: styles$
|
|
9452
|
+
className: styles$s.clear,
|
|
9224
9453
|
onClick: onClear,
|
|
9225
9454
|
children: t("Clear")
|
|
9226
9455
|
})]
|
|
@@ -9228,7 +9457,7 @@ function FilterBar({ options: options2, active, onToggle, onClear }) {
|
|
|
9228
9457
|
}
|
|
9229
9458
|
const wrap$2 = "_wrap_15ntf_1";
|
|
9230
9459
|
const grid$1 = "_grid_15ntf_7";
|
|
9231
|
-
const styles$
|
|
9460
|
+
const styles$r = {
|
|
9232
9461
|
wrap: wrap$2,
|
|
9233
9462
|
grid: grid$1
|
|
9234
9463
|
};
|
|
@@ -9274,7 +9503,7 @@ function ProductGrid({ category, initialProducts, initialCursor, filters = [] })
|
|
|
9274
9503
|
}, [loadMore]);
|
|
9275
9504
|
const visible = active.length === 0 ? products : products.filter((p) => active.includes(p.category));
|
|
9276
9505
|
return jsxs("div", {
|
|
9277
|
-
className: styles$
|
|
9506
|
+
className: styles$r.wrap,
|
|
9278
9507
|
children: [filters.length > 0 && jsx(FilterBar, {
|
|
9279
9508
|
options: filters,
|
|
9280
9509
|
active,
|
|
@@ -9289,7 +9518,7 @@ function ProductGrid({ category, initialProducts, initialCursor, filters = [] })
|
|
|
9289
9518
|
children: t("Clear filters")
|
|
9290
9519
|
}) : void 0
|
|
9291
9520
|
}) : jsx("ul", {
|
|
9292
|
-
className: styles$
|
|
9521
|
+
className: styles$r.grid,
|
|
9293
9522
|
children: visible.map((product, i) => jsx("li", {
|
|
9294
9523
|
children: jsx(ProductTile, {
|
|
9295
9524
|
product,
|
|
@@ -9297,7 +9526,7 @@ function ProductGrid({ category, initialProducts, initialCursor, filters = [] })
|
|
|
9297
9526
|
})
|
|
9298
9527
|
}, product.sku))
|
|
9299
9528
|
}), loading && jsx("div", {
|
|
9300
|
-
className: styles$
|
|
9529
|
+
className: styles$r.grid,
|
|
9301
9530
|
"aria-hidden": "true",
|
|
9302
9531
|
children: [0, 1].map((i) => jsx(Skeleton, {
|
|
9303
9532
|
height: 200,
|
|
@@ -9316,7 +9545,7 @@ const seeAll = "_seeAll_1rll1_27";
|
|
|
9316
9545
|
const track$3 = "_track_1rll1_33";
|
|
9317
9546
|
const item = "_item_1rll1_67";
|
|
9318
9547
|
const inset = "_inset_1rll1_79";
|
|
9319
|
-
const styles$
|
|
9548
|
+
const styles$q = {
|
|
9320
9549
|
rail,
|
|
9321
9550
|
header: header$5,
|
|
9322
9551
|
title: title$d,
|
|
@@ -9329,22 +9558,22 @@ function RailCarousel({ title: title2, products, seeAllTo, inset: inset2 }) {
|
|
|
9329
9558
|
const t = useT();
|
|
9330
9559
|
if (products.length === 0) return null;
|
|
9331
9560
|
return jsxs("section", {
|
|
9332
|
-
className: [styles$
|
|
9561
|
+
className: [styles$q.rail, inset2 ? styles$q.inset : ""].join(" "),
|
|
9333
9562
|
"aria-label": title2,
|
|
9334
9563
|
children: [jsxs("div", {
|
|
9335
|
-
className: styles$
|
|
9564
|
+
className: styles$q.header,
|
|
9336
9565
|
children: [jsx("h2", {
|
|
9337
|
-
className: styles$
|
|
9566
|
+
className: styles$q.title,
|
|
9338
9567
|
children: title2
|
|
9339
9568
|
}), seeAllTo && jsx(ShopLink, {
|
|
9340
|
-
className: styles$
|
|
9569
|
+
className: styles$q.seeAll,
|
|
9341
9570
|
to: seeAllTo,
|
|
9342
9571
|
children: t("See all")
|
|
9343
9572
|
})]
|
|
9344
9573
|
}), jsx("ul", {
|
|
9345
|
-
className: styles$
|
|
9574
|
+
className: styles$q.track,
|
|
9346
9575
|
children: products.map((product, i) => jsx("li", {
|
|
9347
|
-
className: styles$
|
|
9576
|
+
className: styles$q.item,
|
|
9348
9577
|
children: jsx(ProductTile, {
|
|
9349
9578
|
product,
|
|
9350
9579
|
priority: i < 2
|
|
@@ -9361,9 +9590,9 @@ const grabber = "_grabber_uxpgl_51";
|
|
|
9361
9590
|
const header$4 = "_header_uxpgl_59";
|
|
9362
9591
|
const title$c = "_title_uxpgl_67";
|
|
9363
9592
|
const close$1 = "_close_uxpgl_71";
|
|
9364
|
-
const body$
|
|
9593
|
+
const body$5 = "_body_uxpgl_84";
|
|
9365
9594
|
const footer = "_footer_uxpgl_97";
|
|
9366
|
-
const styles$
|
|
9595
|
+
const styles$p = {
|
|
9367
9596
|
overlay: overlay$2,
|
|
9368
9597
|
scrim: scrim$4,
|
|
9369
9598
|
sheet: sheet$2,
|
|
@@ -9372,7 +9601,7 @@ const styles$o = {
|
|
|
9372
9601
|
header: header$4,
|
|
9373
9602
|
title: title$c,
|
|
9374
9603
|
close: close$1,
|
|
9375
|
-
body: body$
|
|
9604
|
+
body: body$5,
|
|
9376
9605
|
footer
|
|
9377
9606
|
};
|
|
9378
9607
|
const DISMISS_THRESHOLD_PX = 96;
|
|
@@ -9403,14 +9632,14 @@ function BottomSheet({ open, onClose, title: title2, children, footer: footer2 }
|
|
|
9403
9632
|
useModalDialog(open, onClose, sheetRef);
|
|
9404
9633
|
if (!open) return null;
|
|
9405
9634
|
return jsxs("div", {
|
|
9406
|
-
className: styles$
|
|
9635
|
+
className: styles$p.overlay,
|
|
9407
9636
|
children: [jsx("div", {
|
|
9408
|
-
className: styles$
|
|
9637
|
+
className: styles$p.scrim,
|
|
9409
9638
|
onClick: onClose,
|
|
9410
9639
|
"aria-hidden": "true"
|
|
9411
9640
|
}), jsxs(ShopSurface, {
|
|
9412
9641
|
tone: "light",
|
|
9413
|
-
className: styles$
|
|
9642
|
+
className: styles$p.sheet,
|
|
9414
9643
|
role: "dialog",
|
|
9415
9644
|
"aria-modal": "true",
|
|
9416
9645
|
"aria-labelledby": titleId,
|
|
@@ -9420,7 +9649,7 @@ function BottomSheet({ open, onClose, title: title2, children, footer: footer2 }
|
|
|
9420
9649
|
transition: "none"
|
|
9421
9650
|
} : void 0,
|
|
9422
9651
|
children: [jsx("div", {
|
|
9423
|
-
className: styles$
|
|
9652
|
+
className: styles$p.grabArea,
|
|
9424
9653
|
onPointerDown: (e) => {
|
|
9425
9654
|
e.currentTarget.setPointerCapture(e.pointerId);
|
|
9426
9655
|
onDragStart(e.clientY);
|
|
@@ -9429,18 +9658,18 @@ function BottomSheet({ open, onClose, title: title2, children, footer: footer2 }
|
|
|
9429
9658
|
onPointerUp: onDragEnd,
|
|
9430
9659
|
onPointerCancel: onDragEnd,
|
|
9431
9660
|
children: jsx("div", {
|
|
9432
|
-
className: styles$
|
|
9661
|
+
className: styles$p.grabber,
|
|
9433
9662
|
"aria-hidden": "true"
|
|
9434
9663
|
})
|
|
9435
9664
|
}), jsxs("div", {
|
|
9436
|
-
className: styles$
|
|
9665
|
+
className: styles$p.header,
|
|
9437
9666
|
children: [jsx("h2", {
|
|
9438
9667
|
id: titleId,
|
|
9439
|
-
className: styles$
|
|
9668
|
+
className: styles$p.title,
|
|
9440
9669
|
children: title2
|
|
9441
9670
|
}), jsx("button", {
|
|
9442
9671
|
type: "button",
|
|
9443
|
-
className: styles$
|
|
9672
|
+
className: styles$p.close,
|
|
9444
9673
|
onClick: onClose,
|
|
9445
9674
|
"aria-label": t("Close"),
|
|
9446
9675
|
children: jsx("svg", {
|
|
@@ -9458,10 +9687,10 @@ function BottomSheet({ open, onClose, title: title2, children, footer: footer2 }
|
|
|
9458
9687
|
})
|
|
9459
9688
|
})]
|
|
9460
9689
|
}), jsx("div", {
|
|
9461
|
-
className: styles$
|
|
9690
|
+
className: styles$p.body,
|
|
9462
9691
|
children
|
|
9463
9692
|
}), footer2 && jsx("div", {
|
|
9464
|
-
className: styles$
|
|
9693
|
+
className: styles$p.footer,
|
|
9465
9694
|
children: footer2
|
|
9466
9695
|
})]
|
|
9467
9696
|
})]
|
|
@@ -9481,7 +9710,7 @@ const stepper = "_stepper_1rmip_10";
|
|
|
9481
9710
|
const cap = "_cap_1rmip_23";
|
|
9482
9711
|
const button = "_button_1rmip_31";
|
|
9483
9712
|
const value$1 = "_value_1rmip_50";
|
|
9484
|
-
const styles$
|
|
9713
|
+
const styles$o = {
|
|
9485
9714
|
wrap: wrap$1,
|
|
9486
9715
|
stepper,
|
|
9487
9716
|
cap,
|
|
@@ -9559,24 +9788,24 @@ function QtyStepper({ qty, max, onChange, onRemove, disabled: disabled2, capDesc
|
|
|
9559
9788
|
if (!atMax) onChange(qty + 1);
|
|
9560
9789
|
}
|
|
9561
9790
|
return jsxs("div", {
|
|
9562
|
-
className: styles$
|
|
9791
|
+
className: styles$o.wrap,
|
|
9563
9792
|
children: [jsxs("div", {
|
|
9564
|
-
className: styles$
|
|
9793
|
+
className: styles$o.stepper,
|
|
9565
9794
|
children: [jsx("button", {
|
|
9566
9795
|
type: "button",
|
|
9567
|
-
className: styles$
|
|
9796
|
+
className: styles$o.button,
|
|
9568
9797
|
onClick: decrement,
|
|
9569
9798
|
disabled: disabled2,
|
|
9570
9799
|
"aria-label": willDelete ? t("Remove item") : t("Decrease quantity"),
|
|
9571
9800
|
children: willDelete ? jsx(TrashIcon, {}) : jsx(MinusIcon, {})
|
|
9572
9801
|
}), jsx("span", {
|
|
9573
|
-
className: styles$
|
|
9802
|
+
className: styles$o.value,
|
|
9574
9803
|
"aria-live": "polite",
|
|
9575
9804
|
"aria-label": `Quantity ${qty}`,
|
|
9576
9805
|
children: qty
|
|
9577
9806
|
}), jsx("button", {
|
|
9578
9807
|
type: "button",
|
|
9579
|
-
className: styles$
|
|
9808
|
+
className: styles$o.button,
|
|
9580
9809
|
onClick: increment,
|
|
9581
9810
|
disabled: disabled2 || atMax,
|
|
9582
9811
|
"aria-label": t("Increase quantity"),
|
|
@@ -9585,7 +9814,7 @@ function QtyStepper({ qty, max, onChange, onRemove, disabled: disabled2, capDesc
|
|
|
9585
9814
|
})]
|
|
9586
9815
|
}), atMax && capDescribedBy === void 0 && jsx("span", {
|
|
9587
9816
|
id: ownCapId,
|
|
9588
|
-
className: styles$
|
|
9817
|
+
className: styles$o.cap,
|
|
9589
9818
|
role: "status",
|
|
9590
9819
|
children: max === 0 ? t("Out of stock") : t("Only {0} left", max)
|
|
9591
9820
|
})]
|
|
@@ -9597,7 +9826,7 @@ const pending = "_pending_1dx14_18";
|
|
|
9597
9826
|
const labels = "_labels_1dx14_24";
|
|
9598
9827
|
const lowStock$1 = "_lowStock_1dx14_39";
|
|
9599
9828
|
const media$1 = "_media_1dx14_49";
|
|
9600
|
-
const image$
|
|
9829
|
+
const image$6 = "_image_1dx14_59";
|
|
9601
9830
|
const placeholder$2 = "_placeholder_1dx14_75";
|
|
9602
9831
|
const saleBadge = "_saleBadge_1dx14_88";
|
|
9603
9832
|
const oos$1 = "_oos_1dx14_103";
|
|
@@ -9610,14 +9839,14 @@ const detail = "_detail_1dx14_164";
|
|
|
9610
9839
|
const price = "_price_1dx14_183";
|
|
9611
9840
|
const amount = "_amount_1dx14_191";
|
|
9612
9841
|
const was = "_was_1dx14_200";
|
|
9613
|
-
const styles$
|
|
9842
|
+
const styles$n = {
|
|
9614
9843
|
line,
|
|
9615
9844
|
row: row$5,
|
|
9616
9845
|
pending,
|
|
9617
9846
|
labels,
|
|
9618
9847
|
lowStock: lowStock$1,
|
|
9619
9848
|
media: media$1,
|
|
9620
|
-
image: image$
|
|
9849
|
+
image: image$6,
|
|
9621
9850
|
placeholder: placeholder$2,
|
|
9622
9851
|
saleBadge,
|
|
9623
9852
|
oos: oos$1,
|
|
@@ -9644,53 +9873,53 @@ function CartLineItem({ item: item2, title: title2, image: image2, compareAt: co
|
|
|
9644
9873
|
const noticeId = useStableId("cart-line-stock");
|
|
9645
9874
|
const notice = lowStock2 || soldOut ? noticeId : void 0;
|
|
9646
9875
|
return jsxs("div", {
|
|
9647
|
-
className: [styles$
|
|
9876
|
+
className: [styles$n.line, pending2 ? styles$n.pending : ""].join(" "),
|
|
9648
9877
|
children: [jsxs("div", {
|
|
9649
|
-
className: styles$
|
|
9878
|
+
className: styles$n.row,
|
|
9650
9879
|
children: [jsxs("div", {
|
|
9651
|
-
className: styles$
|
|
9880
|
+
className: styles$n.media,
|
|
9652
9881
|
children: [displayImage ? jsx(ShopImage, {
|
|
9653
9882
|
src: displayImage,
|
|
9654
9883
|
alt: "",
|
|
9655
9884
|
fill: true,
|
|
9656
9885
|
sizes: "100px",
|
|
9657
|
-
className: styles$
|
|
9886
|
+
className: styles$n.image
|
|
9658
9887
|
}) : jsx("div", {
|
|
9659
|
-
className: styles$
|
|
9888
|
+
className: styles$n.placeholder,
|
|
9660
9889
|
"aria-hidden": "true"
|
|
9661
9890
|
}), soldOut ? jsx("span", {
|
|
9662
|
-
className: styles$
|
|
9891
|
+
className: styles$n.oos,
|
|
9663
9892
|
id: noticeId,
|
|
9664
9893
|
children: t("Out of stock")
|
|
9665
9894
|
}) : pct !== void 0 && jsx("span", {
|
|
9666
|
-
className: styles$
|
|
9895
|
+
className: styles$n.saleBadge,
|
|
9667
9896
|
children: jsx(SaleBadge, {
|
|
9668
9897
|
pct
|
|
9669
9898
|
})
|
|
9670
9899
|
})]
|
|
9671
9900
|
}), jsxs("div", {
|
|
9672
|
-
className: styles$
|
|
9901
|
+
className: styles$n.info,
|
|
9673
9902
|
children: [jsxs("div", {
|
|
9674
|
-
className: styles$
|
|
9903
|
+
className: styles$n.head,
|
|
9675
9904
|
children: [jsxs("div", {
|
|
9676
|
-
className: styles$
|
|
9905
|
+
className: styles$n.meta,
|
|
9677
9906
|
children: [jsx("span", {
|
|
9678
|
-
className: styles$
|
|
9907
|
+
className: styles$n.title,
|
|
9679
9908
|
children: displayTitle
|
|
9680
9909
|
}), pairs.length > 0 && jsx("div", {
|
|
9681
|
-
className: styles$
|
|
9910
|
+
className: styles$n.details,
|
|
9682
9911
|
children: pairs.map(({ key, label: label2, value: value2 }) => jsxs("span", {
|
|
9683
|
-
className: styles$
|
|
9912
|
+
className: styles$n.detail,
|
|
9684
9913
|
children: [t(label2), ": ", value2]
|
|
9685
9914
|
}, key))
|
|
9686
9915
|
})]
|
|
9687
9916
|
}), jsxs("div", {
|
|
9688
|
-
className: styles$
|
|
9917
|
+
className: styles$n.price,
|
|
9689
9918
|
children: [jsx("span", {
|
|
9690
|
-
className: styles$
|
|
9919
|
+
className: styles$n.amount,
|
|
9691
9920
|
children: format(item2.line_total)
|
|
9692
9921
|
}), compareAt2 && jsx("span", {
|
|
9693
|
-
className: styles$
|
|
9922
|
+
className: styles$n.was,
|
|
9694
9923
|
children: format(compareAt2)
|
|
9695
9924
|
})]
|
|
9696
9925
|
})]
|
|
@@ -9704,10 +9933,10 @@ function CartLineItem({ item: item2, title: title2, image: image2, compareAt: co
|
|
|
9704
9933
|
})]
|
|
9705
9934
|
})]
|
|
9706
9935
|
}), lowStock2 && jsx("div", {
|
|
9707
|
-
className: styles$
|
|
9936
|
+
className: styles$n.labels,
|
|
9708
9937
|
children: jsx("span", {
|
|
9709
9938
|
id: noticeId,
|
|
9710
|
-
className: styles$
|
|
9939
|
+
className: styles$n.lowStock,
|
|
9711
9940
|
role: "status",
|
|
9712
9941
|
children: t("Only {0} left", available)
|
|
9713
9942
|
})
|
|
@@ -9719,7 +9948,7 @@ const row$4 = "_row_1cf1a_10";
|
|
|
9719
9948
|
const icon$2 = "_icon_1cf1a_16";
|
|
9720
9949
|
const label = "_label_1cf1a_22";
|
|
9721
9950
|
const divider$1 = "_divider_1cf1a_29";
|
|
9722
|
-
const styles$
|
|
9951
|
+
const styles$m = {
|
|
9723
9952
|
box: box$1,
|
|
9724
9953
|
row: row$4,
|
|
9725
9954
|
icon: icon$2,
|
|
@@ -9729,12 +9958,12 @@ const styles$l = {
|
|
|
9729
9958
|
function ShippingInfo() {
|
|
9730
9959
|
const t = useT();
|
|
9731
9960
|
return jsxs("section", {
|
|
9732
|
-
className: styles$
|
|
9961
|
+
className: styles$m.box,
|
|
9733
9962
|
"aria-label": t("Shipping and returns"),
|
|
9734
9963
|
children: [jsxs("div", {
|
|
9735
|
-
className: styles$
|
|
9964
|
+
className: styles$m.row,
|
|
9736
9965
|
children: [jsxs("svg", {
|
|
9737
|
-
className: styles$
|
|
9966
|
+
className: styles$m.icon,
|
|
9738
9967
|
width: "24",
|
|
9739
9968
|
height: "24",
|
|
9740
9969
|
viewBox: "0 0 24 24",
|
|
@@ -9759,16 +9988,16 @@ function ShippingInfo() {
|
|
|
9759
9988
|
strokeWidth: "1.5"
|
|
9760
9989
|
})]
|
|
9761
9990
|
}), jsx("p", {
|
|
9762
|
-
className: styles$
|
|
9991
|
+
className: styles$m.label,
|
|
9763
9992
|
children: t("Standard or express delivery")
|
|
9764
9993
|
})]
|
|
9765
9994
|
}), jsx("div", {
|
|
9766
|
-
className: styles$
|
|
9995
|
+
className: styles$m.divider,
|
|
9767
9996
|
role: "presentation"
|
|
9768
9997
|
}), jsxs("div", {
|
|
9769
|
-
className: styles$
|
|
9998
|
+
className: styles$m.row,
|
|
9770
9999
|
children: [jsxs("svg", {
|
|
9771
|
-
className: styles$
|
|
10000
|
+
className: styles$m.icon,
|
|
9772
10001
|
width: "24",
|
|
9773
10002
|
height: "24",
|
|
9774
10003
|
viewBox: "0 0 24 24",
|
|
@@ -9788,7 +10017,7 @@ function ShippingInfo() {
|
|
|
9788
10017
|
strokeLinejoin: "round"
|
|
9789
10018
|
})]
|
|
9790
10019
|
}), jsx("p", {
|
|
9791
|
-
className: styles$
|
|
10020
|
+
className: styles$m.label,
|
|
9792
10021
|
children: t("14 days returns")
|
|
9793
10022
|
})]
|
|
9794
10023
|
})]
|
|
@@ -9799,7 +10028,7 @@ const floating$1 = "_floating_23dkv_52";
|
|
|
9799
10028
|
const divider = "_divider_23dkv_58";
|
|
9800
10029
|
const info$1 = "_info_23dkv_62";
|
|
9801
10030
|
const actions = "_actions_23dkv_70";
|
|
9802
|
-
const styles$
|
|
10031
|
+
const styles$l = {
|
|
9803
10032
|
bar,
|
|
9804
10033
|
floating: floating$1,
|
|
9805
10034
|
divider,
|
|
@@ -9808,28 +10037,28 @@ const styles$k = {
|
|
|
9808
10037
|
};
|
|
9809
10038
|
function StickyCtaBar({ children, info: info2, variant = "floating" }) {
|
|
9810
10039
|
return jsxs("div", {
|
|
9811
|
-
className: [styles$
|
|
10040
|
+
className: [styles$l.bar, styles$l[variant]].join(" "),
|
|
9812
10041
|
children: [info2 && jsx("div", {
|
|
9813
|
-
className: styles$
|
|
10042
|
+
className: styles$l.info,
|
|
9814
10043
|
children: info2
|
|
9815
10044
|
}), jsx("div", {
|
|
9816
|
-
className: styles$
|
|
10045
|
+
className: styles$l.actions,
|
|
9817
10046
|
children
|
|
9818
10047
|
})]
|
|
9819
10048
|
});
|
|
9820
10049
|
}
|
|
9821
10050
|
const surface = "_surface_1bdb0_15";
|
|
9822
10051
|
const screen = "_screen_1bdb0_20";
|
|
9823
|
-
const body$
|
|
10052
|
+
const body$4 = "_body_1bdb0_12";
|
|
9824
10053
|
const items = "_items_1bdb0_34";
|
|
9825
10054
|
const sectionHeader = "_sectionHeader_1bdb0_40";
|
|
9826
10055
|
const sectionTitle = "_sectionTitle_1bdb0_46";
|
|
9827
10056
|
const count = "_count_1bdb0_67";
|
|
9828
10057
|
const lines = "_lines_1bdb0_91";
|
|
9829
|
-
const styles$
|
|
10058
|
+
const styles$k = {
|
|
9830
10059
|
surface,
|
|
9831
10060
|
screen,
|
|
9832
|
-
body: body$
|
|
10061
|
+
body: body$4,
|
|
9833
10062
|
items,
|
|
9834
10063
|
sectionHeader,
|
|
9835
10064
|
sectionTitle,
|
|
@@ -9842,7 +10071,7 @@ function CartView(props = {}) {
|
|
|
9842
10071
|
return jsx(ShopSurface, {
|
|
9843
10072
|
tone: "light",
|
|
9844
10073
|
fill: true,
|
|
9845
|
-
className: styles$
|
|
10074
|
+
className: styles$k.surface,
|
|
9846
10075
|
children: jsx(CartViewContent, {
|
|
9847
10076
|
...props
|
|
9848
10077
|
})
|
|
@@ -10004,22 +10233,22 @@ function CartViewContent({ onContinueShopping, checkoutLabel } = {}) {
|
|
|
10004
10233
|
}
|
|
10005
10234
|
const itemCount = cart2.items.reduce((n, i) => n + i.qty, 0);
|
|
10006
10235
|
return jsxs("div", {
|
|
10007
|
-
className: styles$
|
|
10236
|
+
className: styles$k.screen,
|
|
10008
10237
|
children: [jsxs("div", {
|
|
10009
|
-
className: styles$
|
|
10238
|
+
className: styles$k.body,
|
|
10010
10239
|
children: [jsxs("section", {
|
|
10011
|
-
className: styles$
|
|
10240
|
+
className: styles$k.items,
|
|
10012
10241
|
children: [jsxs("div", {
|
|
10013
|
-
className: styles$
|
|
10242
|
+
className: styles$k.sectionHeader,
|
|
10014
10243
|
children: [jsx("h2", {
|
|
10015
|
-
className: styles$
|
|
10244
|
+
className: styles$k.sectionTitle,
|
|
10016
10245
|
children: t("Items")
|
|
10017
10246
|
}), jsx("span", {
|
|
10018
|
-
className: styles$
|
|
10247
|
+
className: styles$k.count,
|
|
10019
10248
|
children: itemCount
|
|
10020
10249
|
})]
|
|
10021
10250
|
}), jsx("ul", {
|
|
10022
|
-
className: styles$
|
|
10251
|
+
className: styles$k.lines,
|
|
10023
10252
|
children: cart2.items.map((item2) => jsx("li", {
|
|
10024
10253
|
children: jsx(CartLineItem, {
|
|
10025
10254
|
item: item2,
|
|
@@ -10087,16 +10316,16 @@ function CartSheetProvider({ children }) {
|
|
|
10087
10316
|
const gallery = "_gallery_1vbj7_1";
|
|
10088
10317
|
const track$2 = "_track_1vbj7_5";
|
|
10089
10318
|
const slide$1 = "_slide_1vbj7_20";
|
|
10090
|
-
const image$
|
|
10319
|
+
const image$5 = "_image_1vbj7_27";
|
|
10091
10320
|
const placeholder$1 = "_placeholder_1vbj7_31";
|
|
10092
10321
|
const dots$2 = "_dots_1vbj7_49";
|
|
10093
10322
|
const dot$2 = "_dot_1vbj7_49";
|
|
10094
10323
|
const dotActive$2 = "_dotActive_1vbj7_100";
|
|
10095
|
-
const styles$
|
|
10324
|
+
const styles$j = {
|
|
10096
10325
|
gallery,
|
|
10097
10326
|
track: track$2,
|
|
10098
10327
|
slide: slide$1,
|
|
10099
|
-
image: image$
|
|
10328
|
+
image: image$5,
|
|
10100
10329
|
placeholder: placeholder$1,
|
|
10101
10330
|
dots: dots$2,
|
|
10102
10331
|
dot: dot$2,
|
|
@@ -10143,30 +10372,30 @@ function MediaGallery({ media: media2, alt, focus }) {
|
|
|
10143
10372
|
}
|
|
10144
10373
|
if (media2.length === 0) {
|
|
10145
10374
|
return jsx("div", {
|
|
10146
|
-
className: styles$
|
|
10375
|
+
className: styles$j.placeholder,
|
|
10147
10376
|
"aria-hidden": "true"
|
|
10148
10377
|
});
|
|
10149
10378
|
}
|
|
10150
10379
|
return jsxs("div", {
|
|
10151
|
-
className: styles$
|
|
10380
|
+
className: styles$j.gallery,
|
|
10152
10381
|
children: [jsx("div", {
|
|
10153
|
-
className: styles$
|
|
10382
|
+
className: styles$j.track,
|
|
10154
10383
|
ref: trackRef,
|
|
10155
10384
|
role: "group",
|
|
10156
10385
|
"aria-label": `${alt} images`,
|
|
10157
10386
|
children: media2.map((src, i) => jsx("div", {
|
|
10158
|
-
className: styles$
|
|
10387
|
+
className: styles$j.slide,
|
|
10159
10388
|
children: jsx(ShopImage, {
|
|
10160
10389
|
src,
|
|
10161
10390
|
alt: `${alt} — image ${i + 1} of ${media2.length}`,
|
|
10162
10391
|
fill: true,
|
|
10163
10392
|
sizes: "(max-width: 480px) 100vw, 480px",
|
|
10164
|
-
className: styles$
|
|
10393
|
+
className: styles$j.image,
|
|
10165
10394
|
priority: i === 0
|
|
10166
10395
|
})
|
|
10167
10396
|
}, src))
|
|
10168
10397
|
}), media2.length > 1 && jsx("div", {
|
|
10169
|
-
className: styles$
|
|
10398
|
+
className: styles$j.dots,
|
|
10170
10399
|
role: "tablist",
|
|
10171
10400
|
"aria-label": t("Gallery pagination"),
|
|
10172
10401
|
children: media2.map((src, i) => jsx("button", {
|
|
@@ -10174,7 +10403,7 @@ function MediaGallery({ media: media2, alt, focus }) {
|
|
|
10174
10403
|
role: "tab",
|
|
10175
10404
|
"aria-selected": i === active,
|
|
10176
10405
|
"aria-label": `Go to image ${i + 1}`,
|
|
10177
|
-
className: [styles$
|
|
10406
|
+
className: [styles$j.dot, i === active ? styles$j.dotActive : ""].join(" "),
|
|
10178
10407
|
onClick: () => goTo(i)
|
|
10179
10408
|
}, src))
|
|
10180
10409
|
})]
|
|
@@ -10182,7 +10411,7 @@ function MediaGallery({ media: media2, alt, focus }) {
|
|
|
10182
10411
|
}
|
|
10183
10412
|
const scrim$3 = "_scrim_r4azu_8";
|
|
10184
10413
|
const sheet$1 = "_sheet_r4azu_2";
|
|
10185
|
-
const body$
|
|
10414
|
+
const body$3 = "_body_r4azu_40";
|
|
10186
10415
|
const titles = "_titles_r4azu_67";
|
|
10187
10416
|
const title$a = "_title_r4azu_67";
|
|
10188
10417
|
const subtitle$3 = "_subtitle_r4azu_83";
|
|
@@ -10205,10 +10434,10 @@ const fabric = "_fabric_r4azu_328";
|
|
|
10205
10434
|
const fabricLabel = "_fabricLabel_r4azu_336";
|
|
10206
10435
|
const fabricText = "_fabricText_r4azu_344";
|
|
10207
10436
|
const notes = "_notes_r4azu_355";
|
|
10208
|
-
const styles$
|
|
10437
|
+
const styles$i = {
|
|
10209
10438
|
scrim: scrim$3,
|
|
10210
10439
|
sheet: sheet$1,
|
|
10211
|
-
body: body$
|
|
10440
|
+
body: body$3,
|
|
10212
10441
|
titles,
|
|
10213
10442
|
title: title$a,
|
|
10214
10443
|
subtitle: subtitle$3,
|
|
@@ -10259,12 +10488,12 @@ function SizeGuideSheet({ guide, onClose }) {
|
|
|
10259
10488
|
const shown = useMemo(() => authored && unit2 && unit2 !== authored ? rows.map((row2) => row2.map((cell) => convert(cell, authored, unit2))) : rows, [rows, authored, unit2]);
|
|
10260
10489
|
useModalDialog(true, onClose, sheetRef);
|
|
10261
10490
|
return jsx("div", {
|
|
10262
|
-
className: styles$
|
|
10491
|
+
className: styles$i.scrim,
|
|
10263
10492
|
onClick: onClose,
|
|
10264
10493
|
children: jsxs(ShopSurface, {
|
|
10265
10494
|
tone: "light",
|
|
10266
10495
|
ref: sheetRef,
|
|
10267
|
-
className: styles$
|
|
10496
|
+
className: styles$i.sheet,
|
|
10268
10497
|
role: "dialog",
|
|
10269
10498
|
"aria-modal": "true",
|
|
10270
10499
|
"aria-labelledby": "size-guide-title",
|
|
@@ -10273,36 +10502,36 @@ function SizeGuideSheet({ guide, onClose }) {
|
|
|
10273
10502
|
onClose,
|
|
10274
10503
|
closeLabel: t("Close size guide")
|
|
10275
10504
|
}), jsxs("div", {
|
|
10276
|
-
className: styles$
|
|
10505
|
+
className: styles$i.body,
|
|
10277
10506
|
children: [jsxs("div", {
|
|
10278
|
-
className: styles$
|
|
10507
|
+
className: styles$i.titles,
|
|
10279
10508
|
children: [jsx("h2", {
|
|
10280
10509
|
id: "size-guide-title",
|
|
10281
|
-
className: styles$
|
|
10510
|
+
className: styles$i.title,
|
|
10282
10511
|
children: guide.title
|
|
10283
10512
|
}), guide.subtitle && jsx("p", {
|
|
10284
|
-
className: styles$
|
|
10513
|
+
className: styles$i.subtitle,
|
|
10285
10514
|
children: guide.subtitle
|
|
10286
10515
|
})]
|
|
10287
10516
|
}), hasTable && authored && unit2 && jsx("div", {
|
|
10288
|
-
className: styles$
|
|
10517
|
+
className: styles$i.units,
|
|
10289
10518
|
role: "radiogroup",
|
|
10290
10519
|
"aria-label": t("Measurement unit"),
|
|
10291
10520
|
children: [authored, otherUnit(authored)].map((u) => jsx("button", {
|
|
10292
10521
|
type: "button",
|
|
10293
10522
|
role: "radio",
|
|
10294
10523
|
"aria-checked": u === unit2,
|
|
10295
|
-
className: `${styles$
|
|
10524
|
+
className: `${styles$i.unit} ${u === unit2 ? styles$i.unitOn : styles$i.unitOff}`,
|
|
10296
10525
|
onClick: () => setUnit(u),
|
|
10297
10526
|
children: UNIT_LABEL[u]
|
|
10298
10527
|
}, u))
|
|
10299
10528
|
}), hasTable && jsx("div", {
|
|
10300
|
-
className: styles$
|
|
10529
|
+
className: styles$i.tableWrap,
|
|
10301
10530
|
children: jsxs("table", {
|
|
10302
|
-
className: styles$
|
|
10531
|
+
className: styles$i.table,
|
|
10303
10532
|
children: [jsx("colgroup", {
|
|
10304
10533
|
children: columns.map((c, i) => jsx("col", {
|
|
10305
|
-
className: i === 0 || i === columns.length - 1 ? styles$
|
|
10534
|
+
className: i === 0 || i === columns.length - 1 ? styles$i.colEdge : styles$i.col
|
|
10306
10535
|
}, c))
|
|
10307
10536
|
}), jsx("thead", {
|
|
10308
10537
|
children: jsx("tr", {
|
|
@@ -10323,39 +10552,39 @@ function SizeGuideSheet({ guide, onClose }) {
|
|
|
10323
10552
|
})]
|
|
10324
10553
|
})
|
|
10325
10554
|
}), guide.note && jsx("p", {
|
|
10326
|
-
className: styles$
|
|
10555
|
+
className: styles$i.note,
|
|
10327
10556
|
children: guide.note
|
|
10328
10557
|
}), measurements.length > 0 && jsxs("section", {
|
|
10329
|
-
className: styles$
|
|
10558
|
+
className: styles$i.how,
|
|
10330
10559
|
"aria-labelledby": "size-guide-how",
|
|
10331
10560
|
children: [jsx("h3", {
|
|
10332
10561
|
id: "size-guide-how",
|
|
10333
|
-
className: styles$
|
|
10562
|
+
className: styles$i.howTitle,
|
|
10334
10563
|
children: t("How to measure")
|
|
10335
10564
|
}), jsx("dl", {
|
|
10336
|
-
className: styles$
|
|
10565
|
+
className: styles$i.howList,
|
|
10337
10566
|
children: measurements.map((m) => jsxs("div", {
|
|
10338
|
-
className: styles$
|
|
10567
|
+
className: styles$i.howItem,
|
|
10339
10568
|
children: [jsx("dt", {
|
|
10340
|
-
className: styles$
|
|
10569
|
+
className: styles$i.howLabel,
|
|
10341
10570
|
children: m.label
|
|
10342
10571
|
}), jsx("dd", {
|
|
10343
|
-
className: styles$
|
|
10572
|
+
className: styles$i.howText,
|
|
10344
10573
|
children: m.description
|
|
10345
10574
|
})]
|
|
10346
10575
|
}, m.label))
|
|
10347
10576
|
})]
|
|
10348
10577
|
}), guide.fabric && jsxs("div", {
|
|
10349
|
-
className: styles$
|
|
10578
|
+
className: styles$i.fabric,
|
|
10350
10579
|
children: [jsx("p", {
|
|
10351
|
-
className: styles$
|
|
10580
|
+
className: styles$i.fabricLabel,
|
|
10352
10581
|
children: t("Fabric")
|
|
10353
10582
|
}), jsx("p", {
|
|
10354
|
-
className: styles$
|
|
10583
|
+
className: styles$i.fabricText,
|
|
10355
10584
|
children: guide.fabric
|
|
10356
10585
|
})]
|
|
10357
10586
|
}), notes2.length > 0 && jsx("ul", {
|
|
10358
|
-
className: styles$
|
|
10587
|
+
className: styles$i.notes,
|
|
10359
10588
|
children: notes2.map((n) => jsx("li", {
|
|
10360
10589
|
children: n
|
|
10361
10590
|
}, n))
|
|
@@ -10375,7 +10604,7 @@ const lowStock = "_lowStock_1q3xe_74";
|
|
|
10375
10604
|
const error = "_error_1q3xe_84";
|
|
10376
10605
|
const sizeGuide = "_sizeGuide_1q3xe_91";
|
|
10377
10606
|
const info = "_info_1q3xe_115";
|
|
10378
|
-
const styles$
|
|
10607
|
+
const styles$h = {
|
|
10379
10608
|
root: root$2,
|
|
10380
10609
|
header: header$3,
|
|
10381
10610
|
title: title$9,
|
|
@@ -10393,22 +10622,22 @@ function SizeSelector({ sizes, selected: selected2, onSelect, error: error2 = fa
|
|
|
10393
10622
|
const [guideOpen, setGuideOpen] = useState(false);
|
|
10394
10623
|
const showGuide = useShopFeatures().sizeCharts && guide !== void 0;
|
|
10395
10624
|
return jsxs("section", {
|
|
10396
|
-
className: styles$
|
|
10625
|
+
className: styles$h.root,
|
|
10397
10626
|
"aria-labelledby": "size-heading",
|
|
10398
10627
|
children: [jsxs("div", {
|
|
10399
|
-
className: styles$
|
|
10628
|
+
className: styles$h.header,
|
|
10400
10629
|
children: [jsx("h2", {
|
|
10401
10630
|
id: "size-heading",
|
|
10402
|
-
className: styles$
|
|
10631
|
+
className: styles$h.title,
|
|
10403
10632
|
children: t("Size")
|
|
10404
10633
|
}), showGuide && jsxs("button", {
|
|
10405
10634
|
type: "button",
|
|
10406
|
-
className: styles$
|
|
10635
|
+
className: styles$h.sizeGuide,
|
|
10407
10636
|
onClick: () => setGuideOpen(true),
|
|
10408
10637
|
"aria-haspopup": "dialog",
|
|
10409
10638
|
"aria-expanded": guideOpen,
|
|
10410
10639
|
children: [t("Size guide"), jsxs("svg", {
|
|
10411
|
-
className: styles$
|
|
10640
|
+
className: styles$h.info,
|
|
10412
10641
|
width: "12",
|
|
10413
10642
|
height: "12",
|
|
10414
10643
|
viewBox: "0 0 12 12",
|
|
@@ -10434,7 +10663,7 @@ function SizeSelector({ sizes, selected: selected2, onSelect, error: error2 = fa
|
|
|
10434
10663
|
})]
|
|
10435
10664
|
})]
|
|
10436
10665
|
}), jsx("div", {
|
|
10437
|
-
className: styles$
|
|
10666
|
+
className: styles$h.chips,
|
|
10438
10667
|
role: "radiogroup",
|
|
10439
10668
|
"aria-label": t("Size"),
|
|
10440
10669
|
"aria-required": "true",
|
|
@@ -10447,7 +10676,7 @@ function SizeSelector({ sizes, selected: selected2, onSelect, error: error2 = fa
|
|
|
10447
10676
|
"aria-checked": isSelected,
|
|
10448
10677
|
"aria-disabled": disabled2 || void 0,
|
|
10449
10678
|
disabled: disabled2,
|
|
10450
|
-
className: [styles$
|
|
10679
|
+
className: [styles$h.chip, isSelected ? styles$h.selected : "", disabled2 ? styles$h.disabled : ""].filter(Boolean).join(" "),
|
|
10451
10680
|
onClick: () => !disabled2 && onSelect(size.value),
|
|
10452
10681
|
children: [size.value, disabled2 && jsx("span", {
|
|
10453
10682
|
className: "visually-hidden",
|
|
@@ -10456,11 +10685,11 @@ function SizeSelector({ sizes, selected: selected2, onSelect, error: error2 = fa
|
|
|
10456
10685
|
}, size.value);
|
|
10457
10686
|
})
|
|
10458
10687
|
}), error2 && jsx("p", {
|
|
10459
|
-
className: styles$
|
|
10688
|
+
className: styles$h.error,
|
|
10460
10689
|
role: "alert",
|
|
10461
10690
|
children: t("Please select a size")
|
|
10462
10691
|
}), lowStock2 && !error2 && jsx("p", {
|
|
10463
|
-
className: styles$
|
|
10692
|
+
className: styles$h.lowStock,
|
|
10464
10693
|
role: "status",
|
|
10465
10694
|
children: lowStock2
|
|
10466
10695
|
}), showGuide && guideOpen && jsx(SizeGuideSheet, {
|
|
@@ -10477,11 +10706,11 @@ const tiles = "_tiles_1h4ny_28";
|
|
|
10477
10706
|
const tile = "_tile_1h4ny_28";
|
|
10478
10707
|
const selected$1 = "_selected_1h4ny_52";
|
|
10479
10708
|
const media = "_media_1h4ny_36";
|
|
10480
|
-
const image$
|
|
10709
|
+
const image$4 = "_image_1h4ny_64";
|
|
10481
10710
|
const placeholder = "_placeholder_1h4ny_68";
|
|
10482
10711
|
const scrim$2 = "_scrim_1h4ny_76";
|
|
10483
10712
|
const stockBadge = "_stockBadge_1h4ny_95";
|
|
10484
|
-
const styles$
|
|
10713
|
+
const styles$g = {
|
|
10485
10714
|
root: root$1,
|
|
10486
10715
|
header: header$2,
|
|
10487
10716
|
title: title$8,
|
|
@@ -10490,7 +10719,7 @@ const styles$f = {
|
|
|
10490
10719
|
tile,
|
|
10491
10720
|
selected: selected$1,
|
|
10492
10721
|
media,
|
|
10493
|
-
image: image$
|
|
10722
|
+
image: image$4,
|
|
10494
10723
|
placeholder,
|
|
10495
10724
|
scrim: scrim$2,
|
|
10496
10725
|
stockBadge
|
|
@@ -10498,20 +10727,20 @@ const styles$f = {
|
|
|
10498
10727
|
function ColorSelector({ colours, selected: selected2, onSelect }) {
|
|
10499
10728
|
const t = useT();
|
|
10500
10729
|
return jsxs("section", {
|
|
10501
|
-
className: styles$
|
|
10730
|
+
className: styles$g.root,
|
|
10502
10731
|
"aria-labelledby": "colour-heading",
|
|
10503
10732
|
children: [jsxs("p", {
|
|
10504
|
-
className: styles$
|
|
10733
|
+
className: styles$g.header,
|
|
10505
10734
|
children: [jsx("span", {
|
|
10506
10735
|
id: "colour-heading",
|
|
10507
|
-
className: styles$
|
|
10736
|
+
className: styles$g.title,
|
|
10508
10737
|
children: "Color:"
|
|
10509
10738
|
}), " ", jsx("span", {
|
|
10510
|
-
className: styles$
|
|
10739
|
+
className: styles$g.value,
|
|
10511
10740
|
children: selected2 ?? "Select"
|
|
10512
10741
|
})]
|
|
10513
10742
|
}), jsx("div", {
|
|
10514
|
-
className: styles$
|
|
10743
|
+
className: styles$g.tiles,
|
|
10515
10744
|
role: "radiogroup",
|
|
10516
10745
|
"aria-label": t("Color"),
|
|
10517
10746
|
"aria-required": "true",
|
|
@@ -10524,26 +10753,26 @@ function ColorSelector({ colours, selected: selected2, onSelect }) {
|
|
|
10524
10753
|
role: "radio",
|
|
10525
10754
|
"aria-checked": isSelected,
|
|
10526
10755
|
"aria-label": `${c.value}${soldOut ? " (out of stock)" : ""}`,
|
|
10527
|
-
className: [styles$
|
|
10756
|
+
className: [styles$g.tile, isSelected ? styles$g.selected : ""].filter(Boolean).join(" "),
|
|
10528
10757
|
onClick: () => onSelect(c.value),
|
|
10529
10758
|
children: [jsxs("span", {
|
|
10530
|
-
className: styles$
|
|
10759
|
+
className: styles$g.media,
|
|
10531
10760
|
children: [c.image ? jsx(ShopImage, {
|
|
10532
10761
|
src: c.image,
|
|
10533
10762
|
alt: "",
|
|
10534
10763
|
fill: true,
|
|
10535
10764
|
sizes: "79px",
|
|
10536
|
-
className: styles$
|
|
10765
|
+
className: styles$g.image
|
|
10537
10766
|
}) : jsx("span", {
|
|
10538
|
-
className: styles$
|
|
10767
|
+
className: styles$g.placeholder,
|
|
10539
10768
|
"aria-hidden": "true"
|
|
10540
10769
|
}), soldOut && jsx("span", {
|
|
10541
|
-
className: styles$
|
|
10770
|
+
className: styles$g.scrim,
|
|
10542
10771
|
"aria-hidden": "true",
|
|
10543
10772
|
children: t("Out of stock")
|
|
10544
10773
|
})]
|
|
10545
10774
|
}), lowStock2 && jsx("span", {
|
|
10546
|
-
className: styles$
|
|
10775
|
+
className: styles$g.stockBadge,
|
|
10547
10776
|
"aria-hidden": "true",
|
|
10548
10777
|
children: t("{0} left", c.remaining)
|
|
10549
10778
|
})]
|
|
@@ -10558,7 +10787,7 @@ const options = "_options_1mnz1_16";
|
|
|
10558
10787
|
const option = "_option_1mnz1_16";
|
|
10559
10788
|
const selected = "_selected_1mnz1_36";
|
|
10560
10789
|
const disabled = "_disabled_1mnz1_42";
|
|
10561
|
-
const styles$
|
|
10790
|
+
const styles$f = {
|
|
10562
10791
|
fieldset,
|
|
10563
10792
|
legend,
|
|
10564
10793
|
options,
|
|
@@ -10576,12 +10805,12 @@ function VariantSelector({ variants, selectedSku, onSelect, labelAttribute }) {
|
|
|
10576
10805
|
return values.length > 0 ? values.join(" · ") : variant.sku;
|
|
10577
10806
|
}
|
|
10578
10807
|
return jsxs("fieldset", {
|
|
10579
|
-
className: styles$
|
|
10808
|
+
className: styles$f.fieldset,
|
|
10580
10809
|
children: [jsx("legend", {
|
|
10581
|
-
className: styles$
|
|
10810
|
+
className: styles$f.legend,
|
|
10582
10811
|
children: t("Select an option")
|
|
10583
10812
|
}), jsx("div", {
|
|
10584
|
-
className: styles$
|
|
10813
|
+
className: styles$f.options,
|
|
10585
10814
|
role: "radiogroup",
|
|
10586
10815
|
"aria-label": t("Variant"),
|
|
10587
10816
|
children: variants.map((variant) => {
|
|
@@ -10593,7 +10822,7 @@ function VariantSelector({ variants, selectedSku, onSelect, labelAttribute }) {
|
|
|
10593
10822
|
"aria-checked": selected2,
|
|
10594
10823
|
"aria-disabled": disabled2 || void 0,
|
|
10595
10824
|
disabled: disabled2,
|
|
10596
|
-
className: [styles$
|
|
10825
|
+
className: [styles$f.option, selected2 ? styles$f.selected : "", disabled2 ? styles$f.disabled : ""].filter(Boolean).join(" "),
|
|
10597
10826
|
onClick: () => !disabled2 && onSelect(variant.sku),
|
|
10598
10827
|
children: [labelFor2(variant), disabled2 && jsx("span", {
|
|
10599
10828
|
className: "visually-hidden",
|
|
@@ -10607,15 +10836,15 @@ function VariantSelector({ variants, selectedSku, onSelect, labelAttribute }) {
|
|
|
10607
10836
|
const root = "_root_9cj0g_2";
|
|
10608
10837
|
const group = "_group_9cj0g_8";
|
|
10609
10838
|
const title$7 = "_title_9cj0g_14";
|
|
10610
|
-
const body$
|
|
10839
|
+
const body$2 = "_body_9cj0g_22";
|
|
10611
10840
|
const paragraph = "_paragraph_9cj0g_26";
|
|
10612
10841
|
const clamped = "_clamped_9cj0g_46";
|
|
10613
10842
|
const toggle = "_toggle_9cj0g_51";
|
|
10614
|
-
const styles$
|
|
10843
|
+
const styles$e = {
|
|
10615
10844
|
root,
|
|
10616
10845
|
group,
|
|
10617
10846
|
title: title$7,
|
|
10618
|
-
body: body$
|
|
10847
|
+
body: body$2,
|
|
10619
10848
|
paragraph,
|
|
10620
10849
|
clamped,
|
|
10621
10850
|
toggle
|
|
@@ -10649,25 +10878,25 @@ function ProductDetails({ description: description2 }) {
|
|
|
10649
10878
|
const t = useT();
|
|
10650
10879
|
if (paragraphs.length === 0) return null;
|
|
10651
10880
|
return jsxs("section", {
|
|
10652
|
-
className: styles$
|
|
10881
|
+
className: styles$e.root,
|
|
10653
10882
|
"aria-labelledby": "details-heading",
|
|
10654
10883
|
children: [jsxs("div", {
|
|
10655
|
-
className: styles$
|
|
10884
|
+
className: styles$e.group,
|
|
10656
10885
|
children: [jsx("h2", {
|
|
10657
10886
|
id: "details-heading",
|
|
10658
|
-
className: styles$
|
|
10887
|
+
className: styles$e.title,
|
|
10659
10888
|
children: t("Product details")
|
|
10660
10889
|
}), jsx("div", {
|
|
10661
10890
|
ref: bodyRef,
|
|
10662
|
-
className: [styles$
|
|
10891
|
+
className: [styles$e.body, expanded ? "" : styles$e.clamped].join(" "),
|
|
10663
10892
|
children: paragraphs.map((p) => jsx("p", {
|
|
10664
|
-
className: styles$
|
|
10893
|
+
className: styles$e.paragraph,
|
|
10665
10894
|
children: p
|
|
10666
10895
|
}, p))
|
|
10667
10896
|
})]
|
|
10668
10897
|
}), clipped ? jsx("button", {
|
|
10669
10898
|
type: "button",
|
|
10670
|
-
className: styles$
|
|
10899
|
+
className: styles$e.toggle,
|
|
10671
10900
|
"aria-expanded": expanded,
|
|
10672
10901
|
onClick: () => setExpanded((v) => !v),
|
|
10673
10902
|
children: expanded ? t("Less") : t("more")
|
|
@@ -10676,7 +10905,7 @@ function ProductDetails({ description: description2 }) {
|
|
|
10676
10905
|
}
|
|
10677
10906
|
const row$3 = "_row_l4edh_1";
|
|
10678
10907
|
const badge$1 = "_badge_l4edh_11";
|
|
10679
|
-
const styles$
|
|
10908
|
+
const styles$d = {
|
|
10680
10909
|
row: row$3,
|
|
10681
10910
|
badge: badge$1
|
|
10682
10911
|
};
|
|
@@ -10684,9 +10913,9 @@ function PdpBadges({ badges }) {
|
|
|
10684
10913
|
const flags = badges.filter((b) => b.trim().length > 0);
|
|
10685
10914
|
if (flags.length === 0) return null;
|
|
10686
10915
|
return jsx("ul", {
|
|
10687
|
-
className: styles$
|
|
10916
|
+
className: styles$d.row,
|
|
10688
10917
|
children: flags.map((flag) => jsx("li", {
|
|
10689
|
-
className: styles$
|
|
10918
|
+
className: styles$d.badge,
|
|
10690
10919
|
children: flag
|
|
10691
10920
|
}, flag))
|
|
10692
10921
|
});
|
|
@@ -10695,7 +10924,7 @@ const banner = "_banner_1xvw4_2";
|
|
|
10695
10924
|
const message = "_message_1xvw4_14";
|
|
10696
10925
|
const icon$1 = "_icon_1xvw4_22";
|
|
10697
10926
|
const timer = "_timer_1xvw4_27";
|
|
10698
|
-
const styles$
|
|
10927
|
+
const styles$c = {
|
|
10699
10928
|
banner,
|
|
10700
10929
|
message,
|
|
10701
10930
|
icon: icon$1,
|
|
@@ -10719,11 +10948,11 @@ function PromoBanner({ promo: promo2 }) {
|
|
|
10719
10948
|
const remaining = promo2.ends_at && now !== null ? new Date(promo2.ends_at).getTime() - now : null;
|
|
10720
10949
|
const showTimer = remaining !== null && remaining > 0;
|
|
10721
10950
|
return jsxs("div", {
|
|
10722
|
-
className: styles$
|
|
10951
|
+
className: styles$c.banner,
|
|
10723
10952
|
children: [jsxs("span", {
|
|
10724
|
-
className: styles$
|
|
10953
|
+
className: styles$c.message,
|
|
10725
10954
|
children: [jsxs("svg", {
|
|
10726
|
-
className: styles$
|
|
10955
|
+
className: styles$c.icon,
|
|
10727
10956
|
width: "24",
|
|
10728
10957
|
height: "24",
|
|
10729
10958
|
viewBox: "0 0 24 24",
|
|
@@ -10745,7 +10974,7 @@ function PromoBanner({ promo: promo2 }) {
|
|
|
10745
10974
|
})]
|
|
10746
10975
|
}), promo2.message]
|
|
10747
10976
|
}), showTimer && jsxs("span", {
|
|
10748
|
-
className: styles$
|
|
10977
|
+
className: styles$c.timer,
|
|
10749
10978
|
children: [jsxs("svg", {
|
|
10750
10979
|
width: "16",
|
|
10751
10980
|
height: "16",
|
|
@@ -10778,7 +11007,7 @@ const title$6 = "_title_1hv16_34";
|
|
|
10778
11007
|
const availability = "_availability_1hv16_55";
|
|
10779
11008
|
const low = "_low_1hv16_62";
|
|
10780
11009
|
const oos = "_oos_1hv16_66";
|
|
10781
|
-
const styles$
|
|
11010
|
+
const styles$b = {
|
|
10782
11011
|
page,
|
|
10783
11012
|
content,
|
|
10784
11013
|
intro,
|
|
@@ -10789,7 +11018,7 @@ const styles$a = {
|
|
|
10789
11018
|
low,
|
|
10790
11019
|
oos
|
|
10791
11020
|
};
|
|
10792
|
-
function ProductDetail({ product, inventory: inventory2, recommendations = [] }) {
|
|
11021
|
+
function ProductDetail({ product, inventory: inventory2, recommendations = [], claim }) {
|
|
10793
11022
|
const t = useT();
|
|
10794
11023
|
const toast2 = useToast();
|
|
10795
11024
|
const { api, emit } = useShop();
|
|
@@ -10948,6 +11177,17 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [] })
|
|
|
10948
11177
|
}
|
|
10949
11178
|
return selectedSku !== null;
|
|
10950
11179
|
}
|
|
11180
|
+
async function handleClaim() {
|
|
11181
|
+
if (!claim || !ensureSelection()) return;
|
|
11182
|
+
const sku = selectedSku;
|
|
11183
|
+
if (!sku) return;
|
|
11184
|
+
setBusy("claim");
|
|
11185
|
+
try {
|
|
11186
|
+
await claim(sku);
|
|
11187
|
+
} finally {
|
|
11188
|
+
setBusy(null);
|
|
11189
|
+
}
|
|
11190
|
+
}
|
|
10951
11191
|
async function handleAdd() {
|
|
10952
11192
|
if (!ensureSelection()) return;
|
|
10953
11193
|
const sku = selectedSku;
|
|
@@ -10974,9 +11214,19 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [] })
|
|
|
10974
11214
|
const available = selectedVariant?.available ?? inventory2?.available ?? 0;
|
|
10975
11215
|
const lowStock2 = isLowStock(available);
|
|
10976
11216
|
const sizeLowStock = lowStock2 && hasSizes && selectedSize ? t("Only {0} left in {1} size", available, selectedSize) : void 0;
|
|
10977
|
-
const stockNotice = !purchasable || lowStock2 && !sizeLowStock;
|
|
11217
|
+
const stockNotice = claim ? purchasable && lowStock2 && !sizeLowStock : !purchasable || lowStock2 && !sizeLowStock;
|
|
10978
11218
|
const availabilityLabel = !purchasable ? t("Out of stock") : lowStock2 ? t("Only {0} left", available) : "";
|
|
10979
|
-
const cta2 = purchasable ? jsx(Button, {
|
|
11219
|
+
const cta2 = claim ? purchasable ? jsx(Button, {
|
|
11220
|
+
variant: "primary",
|
|
11221
|
+
onClick: handleClaim,
|
|
11222
|
+
loading: busy === "claim",
|
|
11223
|
+
disabled: busy !== null,
|
|
11224
|
+
children: t("Claim yours")
|
|
11225
|
+
}) : jsx(Button, {
|
|
11226
|
+
variant: "primary",
|
|
11227
|
+
disabled: true,
|
|
11228
|
+
children: t("Sold out")
|
|
11229
|
+
}) : purchasable ? jsx(Button, {
|
|
10980
11230
|
variant: "primary",
|
|
10981
11231
|
onClick: inCart ? openCart : handleAdd,
|
|
10982
11232
|
loading: busy === "add",
|
|
@@ -10996,7 +11246,7 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [] })
|
|
|
10996
11246
|
return jsxs(ShopSurface, {
|
|
10997
11247
|
tone: "light",
|
|
10998
11248
|
fill: true,
|
|
10999
|
-
className: styles$
|
|
11249
|
+
className: styles$b.page,
|
|
11000
11250
|
children: [jsx(MediaGallery, {
|
|
11001
11251
|
media: media2,
|
|
11002
11252
|
alt: product.title,
|
|
@@ -11004,31 +11254,34 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [] })
|
|
|
11004
11254
|
focus
|
|
11005
11255
|
} : {}
|
|
11006
11256
|
}), jsxs("div", {
|
|
11007
|
-
className: styles$
|
|
11257
|
+
className: styles$b.content,
|
|
11008
11258
|
children: [jsxs("div", {
|
|
11009
|
-
className: styles$
|
|
11259
|
+
className: styles$b.intro,
|
|
11010
11260
|
children: [jsx(PdpBadges, {
|
|
11011
11261
|
badges: product.badges ?? []
|
|
11012
11262
|
}), jsxs("div", {
|
|
11013
|
-
className: styles$
|
|
11263
|
+
className: styles$b.productInfo,
|
|
11014
11264
|
children: [jsxs("div", {
|
|
11015
|
-
className: styles$
|
|
11265
|
+
className: styles$b.titlePrice,
|
|
11016
11266
|
children: [jsx("h1", {
|
|
11017
|
-
className: styles$
|
|
11267
|
+
className: styles$b.title,
|
|
11018
11268
|
children: product.title
|
|
11019
11269
|
}), jsx(PriceBlock, {
|
|
11020
|
-
price:
|
|
11021
|
-
|
|
11270
|
+
price: claim ? {
|
|
11271
|
+
amount: 0,
|
|
11272
|
+
currency: product.price.currency
|
|
11273
|
+
} : product.price,
|
|
11274
|
+
compareAt: claim ? product.price : product.compare_at,
|
|
11022
11275
|
size: "md",
|
|
11023
11276
|
variant: "badge",
|
|
11024
11277
|
align: "center"
|
|
11025
11278
|
})]
|
|
11026
|
-
}), product.promo && jsx(PromoBanner, {
|
|
11279
|
+
}), product.promo && !claim && jsx(PromoBanner, {
|
|
11027
11280
|
promo: product.promo
|
|
11028
11281
|
})]
|
|
11029
11282
|
})]
|
|
11030
11283
|
}), stockNotice && jsx("p", {
|
|
11031
|
-
className: [styles$
|
|
11284
|
+
className: [styles$b.availability, anyInStock ? styles$b.low : styles$b.oos].join(" "),
|
|
11032
11285
|
role: "status",
|
|
11033
11286
|
children: availabilityLabel
|
|
11034
11287
|
}), hasColours && jsx("div", {
|
|
@@ -11056,7 +11309,7 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [] })
|
|
|
11056
11309
|
onSelect: setGenericSku
|
|
11057
11310
|
}), jsx(ShippingInfo, {}), product.description && jsx(ProductDetails, {
|
|
11058
11311
|
description: product.description
|
|
11059
|
-
}), jsx(RailCarousel, {
|
|
11312
|
+
}), !claim && jsx(RailCarousel, {
|
|
11060
11313
|
title: t("You may also like"),
|
|
11061
11314
|
products: recommendations.filter((p) => p.sku !== product.sku),
|
|
11062
11315
|
inset: true
|
|
@@ -11066,20 +11319,20 @@ function ProductDetail({ product, inventory: inventory2, recommendations = [] })
|
|
|
11066
11319
|
})]
|
|
11067
11320
|
});
|
|
11068
11321
|
}
|
|
11069
|
-
const hero$
|
|
11070
|
-
const image$
|
|
11322
|
+
const hero$2 = "_hero_1tiqx_10";
|
|
11323
|
+
const image$3 = "_image_1tiqx_42";
|
|
11071
11324
|
const scrim$1 = "_scrim_1tiqx_70";
|
|
11072
11325
|
const fade = "_fade_1tiqx_94";
|
|
11073
|
-
const text$
|
|
11326
|
+
const text$3 = "_text_1tiqx_108";
|
|
11074
11327
|
const title$5 = "_title_1tiqx_157";
|
|
11075
11328
|
const subtitle$2 = "_subtitle_1tiqx_168";
|
|
11076
11329
|
const noImage = "_noImage_1tiqx_183";
|
|
11077
|
-
const styles$
|
|
11078
|
-
hero: hero$
|
|
11079
|
-
image: image$
|
|
11330
|
+
const styles$a = {
|
|
11331
|
+
hero: hero$2,
|
|
11332
|
+
image: image$3,
|
|
11080
11333
|
scrim: scrim$1,
|
|
11081
11334
|
fade,
|
|
11082
|
-
text: text$
|
|
11335
|
+
text: text$3,
|
|
11083
11336
|
title: title$5,
|
|
11084
11337
|
subtitle: subtitle$2,
|
|
11085
11338
|
noImage
|
|
@@ -11090,10 +11343,10 @@ function PcpHero({ hero: hero2 }) {
|
|
|
11090
11343
|
const t = useT();
|
|
11091
11344
|
return jsxs("section", {
|
|
11092
11345
|
ref: heroRef,
|
|
11093
|
-
className: [styles$
|
|
11346
|
+
className: [styles$a.hero, hero2.image ? "" : styles$a.noImage].join(" "),
|
|
11094
11347
|
children: [hero2.image && jsxs(Fragment, {
|
|
11095
11348
|
children: [jsx("div", {
|
|
11096
|
-
className: styles$
|
|
11349
|
+
className: styles$a.image,
|
|
11097
11350
|
children: jsx(ShopImage, {
|
|
11098
11351
|
src: hero2.image,
|
|
11099
11352
|
alt: "",
|
|
@@ -11102,35 +11355,35 @@ function PcpHero({ hero: hero2 }) {
|
|
|
11102
11355
|
priority: true
|
|
11103
11356
|
})
|
|
11104
11357
|
}), jsx("div", {
|
|
11105
|
-
className: styles$
|
|
11358
|
+
className: styles$a.scrim,
|
|
11106
11359
|
"aria-hidden": "true"
|
|
11107
11360
|
}), jsx("div", {
|
|
11108
|
-
className: styles$
|
|
11361
|
+
className: styles$a.fade,
|
|
11109
11362
|
"aria-hidden": "true"
|
|
11110
11363
|
})]
|
|
11111
11364
|
}), jsxs("div", {
|
|
11112
|
-
className: styles$
|
|
11365
|
+
className: styles$a.text,
|
|
11113
11366
|
children: [jsx("h1", {
|
|
11114
|
-
className: styles$
|
|
11367
|
+
className: styles$a.title,
|
|
11115
11368
|
children: t(hero2.title)
|
|
11116
11369
|
}), hero2.subtitle && jsx("p", {
|
|
11117
|
-
className: styles$
|
|
11370
|
+
className: styles$a.subtitle,
|
|
11118
11371
|
children: t(hero2.subtitle)
|
|
11119
11372
|
})]
|
|
11120
11373
|
})]
|
|
11121
11374
|
});
|
|
11122
11375
|
}
|
|
11123
|
-
const text$
|
|
11376
|
+
const text$2 = "_text_1saw4_6";
|
|
11124
11377
|
const center = "_center_1saw4_18";
|
|
11125
11378
|
const left = "_left_1saw4_23";
|
|
11126
|
-
const styles$
|
|
11127
|
-
text: text$
|
|
11379
|
+
const styles$9 = {
|
|
11380
|
+
text: text$2,
|
|
11128
11381
|
center,
|
|
11129
11382
|
left
|
|
11130
11383
|
};
|
|
11131
11384
|
function LifestyleText({ text: text2, align = "center" }) {
|
|
11132
11385
|
return jsx("p", {
|
|
11133
|
-
className: [styles$
|
|
11386
|
+
className: [styles$9.text, align === "left" ? styles$9.left : styles$9.center].join(" "),
|
|
11134
11387
|
children: text2
|
|
11135
11388
|
});
|
|
11136
11389
|
}
|
|
@@ -11138,16 +11391,16 @@ const wrap = "_wrap_79nr3_10";
|
|
|
11138
11391
|
const box = "_box_79nr3_14";
|
|
11139
11392
|
const track$1 = "_track_79nr3_23";
|
|
11140
11393
|
const slide = "_slide_79nr3_39";
|
|
11141
|
-
const image$
|
|
11394
|
+
const image$2 = "_image_79nr3_46";
|
|
11142
11395
|
const dots$1 = "_dots_79nr3_51";
|
|
11143
11396
|
const dot$1 = "_dot_79nr3_51";
|
|
11144
11397
|
const dotActive$1 = "_dotActive_79nr3_76";
|
|
11145
|
-
const styles$
|
|
11398
|
+
const styles$8 = {
|
|
11146
11399
|
wrap,
|
|
11147
11400
|
box,
|
|
11148
11401
|
track: track$1,
|
|
11149
11402
|
slide,
|
|
11150
|
-
image: image$
|
|
11403
|
+
image: image$2,
|
|
11151
11404
|
dots: dots$1,
|
|
11152
11405
|
dot: dot$1,
|
|
11153
11406
|
dotActive: dotActive$1
|
|
@@ -11166,36 +11419,36 @@ function LifestyleImage({ images, videos }) {
|
|
|
11166
11419
|
}, []);
|
|
11167
11420
|
if (images.length === 0) return null;
|
|
11168
11421
|
return jsx("div", {
|
|
11169
|
-
className: styles$
|
|
11422
|
+
className: styles$8.wrap,
|
|
11170
11423
|
children: jsxs("div", {
|
|
11171
|
-
className: styles$
|
|
11424
|
+
className: styles$8.box,
|
|
11172
11425
|
children: [jsx("ul", {
|
|
11173
|
-
className: styles$
|
|
11426
|
+
className: styles$8.track,
|
|
11174
11427
|
ref: trackRef,
|
|
11175
11428
|
children: images.map((src, i) => {
|
|
11176
11429
|
const clip = videos?.[i];
|
|
11177
11430
|
return jsx("li", {
|
|
11178
|
-
className: styles$
|
|
11431
|
+
className: styles$8.slide,
|
|
11179
11432
|
children: clip ? jsx(ShopVideo, {
|
|
11180
11433
|
src: clip,
|
|
11181
11434
|
poster: src,
|
|
11182
11435
|
fill: true,
|
|
11183
|
-
className: styles$
|
|
11436
|
+
className: styles$8.image
|
|
11184
11437
|
}) : jsx(ShopImage, {
|
|
11185
11438
|
src,
|
|
11186
11439
|
alt: "",
|
|
11187
11440
|
fill: true,
|
|
11188
11441
|
sizes: "(max-width: 480px) 100vw, 480px",
|
|
11189
|
-
className: styles$
|
|
11442
|
+
className: styles$8.image,
|
|
11190
11443
|
priority: i === 0
|
|
11191
11444
|
})
|
|
11192
11445
|
}, src);
|
|
11193
11446
|
})
|
|
11194
11447
|
}), images.length > 1 && jsx("div", {
|
|
11195
|
-
className: styles$
|
|
11448
|
+
className: styles$8.dots,
|
|
11196
11449
|
"aria-hidden": "true",
|
|
11197
11450
|
children: images.map((src, i) => jsx("span", {
|
|
11198
|
-
className: [styles$
|
|
11451
|
+
className: [styles$8.dot, i === active ? styles$8.dotActive : ""].join(" ")
|
|
11199
11452
|
}, src))
|
|
11200
11453
|
})]
|
|
11201
11454
|
})
|
|
@@ -11209,7 +11462,7 @@ const author = "_author_qsxtq_58";
|
|
|
11209
11462
|
const dots = "_dots_qsxtq_69";
|
|
11210
11463
|
const dot = "_dot_qsxtq_69";
|
|
11211
11464
|
const dotActive = "_dotActive_qsxtq_85";
|
|
11212
|
-
const styles$
|
|
11465
|
+
const styles$7 = {
|
|
11213
11466
|
section: section$2,
|
|
11214
11467
|
track,
|
|
11215
11468
|
card,
|
|
@@ -11233,26 +11486,26 @@ function ReviewCarousel({ quotes }) {
|
|
|
11233
11486
|
return () => track2.removeEventListener("scroll", onScroll);
|
|
11234
11487
|
}, []);
|
|
11235
11488
|
return jsxs("section", {
|
|
11236
|
-
className: styles$
|
|
11489
|
+
className: styles$7.section,
|
|
11237
11490
|
"aria-label": t("Reviews"),
|
|
11238
11491
|
children: [jsx("ul", {
|
|
11239
|
-
className: styles$
|
|
11492
|
+
className: styles$7.track,
|
|
11240
11493
|
ref: trackRef,
|
|
11241
11494
|
children: quotes.map((q, i) => jsxs("li", {
|
|
11242
|
-
className: styles$
|
|
11495
|
+
className: styles$7.card,
|
|
11243
11496
|
children: [jsxs("blockquote", {
|
|
11244
|
-
className: styles$
|
|
11497
|
+
className: styles$7.quote,
|
|
11245
11498
|
children: ["“", q.quote, "”"]
|
|
11246
11499
|
}), jsx("p", {
|
|
11247
|
-
className: styles$
|
|
11500
|
+
className: styles$7.author,
|
|
11248
11501
|
children: q.author
|
|
11249
11502
|
})]
|
|
11250
11503
|
}, i))
|
|
11251
11504
|
}), quotes.length > 1 && jsx("div", {
|
|
11252
|
-
className: styles$
|
|
11505
|
+
className: styles$7.dots,
|
|
11253
11506
|
"aria-hidden": "true",
|
|
11254
11507
|
children: quotes.map((_, i) => jsx("span", {
|
|
11255
|
-
className: [styles$
|
|
11508
|
+
className: [styles$7.dot, i === active ? styles$7.dotActive : ""].join(" ")
|
|
11256
11509
|
}, i))
|
|
11257
11510
|
})]
|
|
11258
11511
|
});
|
|
@@ -11260,25 +11513,25 @@ function ReviewCarousel({ quotes }) {
|
|
|
11260
11513
|
const section$1 = "_section_1nrsi_1";
|
|
11261
11514
|
const row$2 = "_row_1nrsi_9";
|
|
11262
11515
|
const title$4 = "_title_1nrsi_20";
|
|
11263
|
-
const body = "_body_1nrsi_43";
|
|
11264
|
-
const styles$
|
|
11516
|
+
const body$1 = "_body_1nrsi_43";
|
|
11517
|
+
const styles$6 = {
|
|
11265
11518
|
section: section$1,
|
|
11266
11519
|
row: row$2,
|
|
11267
11520
|
title: title$4,
|
|
11268
|
-
body
|
|
11521
|
+
body: body$1
|
|
11269
11522
|
};
|
|
11270
11523
|
function WhyUs({ items: items2 }) {
|
|
11271
11524
|
const t = useT();
|
|
11272
11525
|
return jsx("section", {
|
|
11273
|
-
className: styles$
|
|
11526
|
+
className: styles$6.section,
|
|
11274
11527
|
"aria-label": t("Why shop with us"),
|
|
11275
11528
|
children: items2.map((it, i) => jsxs("div", {
|
|
11276
|
-
className: styles$
|
|
11529
|
+
className: styles$6.row,
|
|
11277
11530
|
children: [jsx("p", {
|
|
11278
|
-
className: styles$
|
|
11531
|
+
className: styles$6.title,
|
|
11279
11532
|
children: it.title
|
|
11280
11533
|
}), jsx("p", {
|
|
11281
|
-
className: styles$
|
|
11534
|
+
className: styles$6.body,
|
|
11282
11535
|
children: it.body
|
|
11283
11536
|
})]
|
|
11284
11537
|
}, i))
|
|
@@ -11288,7 +11541,7 @@ const section = "_section_snuuj_1";
|
|
|
11288
11541
|
const title$3 = "_title_snuuj_10";
|
|
11289
11542
|
const list$1 = "_list_snuuj_17";
|
|
11290
11543
|
const row$1 = "_row_snuuj_32";
|
|
11291
|
-
const styles$
|
|
11544
|
+
const styles$5 = {
|
|
11292
11545
|
section,
|
|
11293
11546
|
title: title$3,
|
|
11294
11547
|
list: list$1,
|
|
@@ -11297,17 +11550,17 @@ const styles$4 = {
|
|
|
11297
11550
|
function ExploreList({ title: title2, links }) {
|
|
11298
11551
|
const t = useT();
|
|
11299
11552
|
return jsxs("section", {
|
|
11300
|
-
className: styles$
|
|
11553
|
+
className: styles$5.section,
|
|
11301
11554
|
"aria-label": title2,
|
|
11302
11555
|
children: [jsx("h2", {
|
|
11303
|
-
className: styles$
|
|
11556
|
+
className: styles$5.title,
|
|
11304
11557
|
children: title2
|
|
11305
11558
|
}), jsx("ul", {
|
|
11306
|
-
className: styles$
|
|
11559
|
+
className: styles$5.list,
|
|
11307
11560
|
children: links.map((l) => jsx("li", {
|
|
11308
11561
|
children: jsxs(ShopLink, {
|
|
11309
11562
|
to: `/category/${encodeURIComponent(l.code)}`,
|
|
11310
|
-
className: styles$
|
|
11563
|
+
className: styles$5.row,
|
|
11311
11564
|
children: [jsx("span", {
|
|
11312
11565
|
children: t(l.label)
|
|
11313
11566
|
}), jsx("svg", {
|
|
@@ -11335,7 +11588,7 @@ const featured = "_featured_1kft8_36";
|
|
|
11335
11588
|
const gridBlock = "_gridBlock_1kft8_37";
|
|
11336
11589
|
const blockTitle = "_blockTitle_1kft8_44";
|
|
11337
11590
|
const grid = "_grid_1kft8_37";
|
|
11338
|
-
const styles$
|
|
11591
|
+
const styles$4 = {
|
|
11339
11592
|
pcp,
|
|
11340
11593
|
blocks,
|
|
11341
11594
|
featured,
|
|
@@ -11358,9 +11611,9 @@ function Block({ block }) {
|
|
|
11358
11611
|
});
|
|
11359
11612
|
case "featured":
|
|
11360
11613
|
return jsxs("div", {
|
|
11361
|
-
className: styles$
|
|
11614
|
+
className: styles$4.featured,
|
|
11362
11615
|
children: [block.title && jsx("h2", {
|
|
11363
|
-
className: styles$
|
|
11616
|
+
className: styles$4.blockTitle,
|
|
11364
11617
|
children: t(block.title)
|
|
11365
11618
|
}), jsx(ProductTile, {
|
|
11366
11619
|
product: block.product,
|
|
@@ -11380,12 +11633,12 @@ function Block({ block }) {
|
|
|
11380
11633
|
});
|
|
11381
11634
|
case "grid":
|
|
11382
11635
|
return jsxs("div", {
|
|
11383
|
-
className: styles$
|
|
11636
|
+
className: styles$4.gridBlock,
|
|
11384
11637
|
children: [block.title && jsx("h2", {
|
|
11385
|
-
className: styles$
|
|
11638
|
+
className: styles$4.blockTitle,
|
|
11386
11639
|
children: t(block.title)
|
|
11387
11640
|
}), jsx("ul", {
|
|
11388
|
-
className: styles$
|
|
11641
|
+
className: styles$4.grid,
|
|
11389
11642
|
children: block.products.map((p) => jsx("li", {
|
|
11390
11643
|
children: jsx(ProductTile, {
|
|
11391
11644
|
product: p
|
|
@@ -11414,11 +11667,11 @@ function CategoryContent({ page: page2 }) {
|
|
|
11414
11667
|
return jsxs(ShopSurface, {
|
|
11415
11668
|
tone: "dark",
|
|
11416
11669
|
fill: true,
|
|
11417
|
-
className: styles$
|
|
11670
|
+
className: styles$4.pcp,
|
|
11418
11671
|
children: [jsx(PcpHero, {
|
|
11419
11672
|
hero: page2.hero
|
|
11420
11673
|
}), jsx("div", {
|
|
11421
|
-
className: styles$
|
|
11674
|
+
className: styles$4.blocks,
|
|
11422
11675
|
children: page2.blocks.map((block, i) => jsx(Block, {
|
|
11423
11676
|
block
|
|
11424
11677
|
}, i))
|
|
@@ -11592,6 +11845,216 @@ function ProductView({ sku, initialData, showRecommendations = true, onNotFound
|
|
|
11592
11845
|
})
|
|
11593
11846
|
});
|
|
11594
11847
|
}
|
|
11848
|
+
const hero$1 = "_hero_1h61y_1";
|
|
11849
|
+
const image$1 = "_image_1h61y_11";
|
|
11850
|
+
const foot = "_foot_1h61y_21";
|
|
11851
|
+
const text$1 = "_text_1h61y_27";
|
|
11852
|
+
const logo$1 = "_logo_1h61y_35";
|
|
11853
|
+
const copy$1 = "_copy_1h61y_40";
|
|
11854
|
+
const headline = "_headline_1h61y_49";
|
|
11855
|
+
const body = "_body_1h61y_57";
|
|
11856
|
+
const cta$1 = "_cta_1h61y_66";
|
|
11857
|
+
const styles$3 = {
|
|
11858
|
+
hero: hero$1,
|
|
11859
|
+
image: image$1,
|
|
11860
|
+
foot,
|
|
11861
|
+
text: text$1,
|
|
11862
|
+
logo: logo$1,
|
|
11863
|
+
copy: copy$1,
|
|
11864
|
+
headline,
|
|
11865
|
+
body,
|
|
11866
|
+
cta: cta$1
|
|
11867
|
+
};
|
|
11868
|
+
function VipHero({ hero: hero2, onContinue }) {
|
|
11869
|
+
const t = useT();
|
|
11870
|
+
const assetUrl = useAssetUrl();
|
|
11871
|
+
const ref = useRef(null);
|
|
11872
|
+
useTopOffset(ref, "--vip-hero-top");
|
|
11873
|
+
return jsx(ShopSurface, {
|
|
11874
|
+
tone: "dark",
|
|
11875
|
+
fill: true,
|
|
11876
|
+
children: jsxs("section", {
|
|
11877
|
+
ref,
|
|
11878
|
+
className: styles$3.hero,
|
|
11879
|
+
children: [hero2.image && jsx("div", {
|
|
11880
|
+
className: styles$3.image,
|
|
11881
|
+
children: jsx(ShopImage, {
|
|
11882
|
+
src: hero2.image,
|
|
11883
|
+
alt: "",
|
|
11884
|
+
fill: true,
|
|
11885
|
+
sizes: "(max-width: 480px) 100vw, 480px",
|
|
11886
|
+
priority: true
|
|
11887
|
+
})
|
|
11888
|
+
}), jsxs("div", {
|
|
11889
|
+
className: styles$3.foot,
|
|
11890
|
+
children: [jsxs("div", {
|
|
11891
|
+
className: styles$3.text,
|
|
11892
|
+
children: [jsx("img", {
|
|
11893
|
+
src: assetUrl("/figma/home/dazn-logo.svg"),
|
|
11894
|
+
alt: t("DAZN"),
|
|
11895
|
+
className: styles$3.logo
|
|
11896
|
+
}), jsxs("div", {
|
|
11897
|
+
className: styles$3.copy,
|
|
11898
|
+
children: [jsx("h1", {
|
|
11899
|
+
className: styles$3.headline,
|
|
11900
|
+
children: hero2.headline
|
|
11901
|
+
}), hero2.body && jsx("p", {
|
|
11902
|
+
className: styles$3.body,
|
|
11903
|
+
children: hero2.body
|
|
11904
|
+
})]
|
|
11905
|
+
})]
|
|
11906
|
+
}), jsx("div", {
|
|
11907
|
+
className: styles$3.cta,
|
|
11908
|
+
children: jsx(Button, {
|
|
11909
|
+
variant: "primary",
|
|
11910
|
+
fullWidth: true,
|
|
11911
|
+
onClick: onContinue,
|
|
11912
|
+
children: hero2.cta_label
|
|
11913
|
+
})
|
|
11914
|
+
})]
|
|
11915
|
+
})]
|
|
11916
|
+
})
|
|
11917
|
+
});
|
|
11918
|
+
}
|
|
11919
|
+
function VipLandingView({ token, onUnavailable }) {
|
|
11920
|
+
const t = useT();
|
|
11921
|
+
const { api, emit } = useShop();
|
|
11922
|
+
const [load, setLoad] = useState({
|
|
11923
|
+
status: "loading"
|
|
11924
|
+
});
|
|
11925
|
+
const emitRef = useRef(emit);
|
|
11926
|
+
emitRef.current = emit;
|
|
11927
|
+
useEffect(() => {
|
|
11928
|
+
let live = true;
|
|
11929
|
+
setLoad({
|
|
11930
|
+
status: "loading"
|
|
11931
|
+
});
|
|
11932
|
+
api.vip.resolve(token).then((invite2) => {
|
|
11933
|
+
if (live) setLoad({
|
|
11934
|
+
status: "done",
|
|
11935
|
+
invite: invite2
|
|
11936
|
+
});
|
|
11937
|
+
}).catch((err) => {
|
|
11938
|
+
if (!live) return;
|
|
11939
|
+
const code = codeOf(err);
|
|
11940
|
+
emitRef.current({
|
|
11941
|
+
type: "error",
|
|
11942
|
+
code,
|
|
11943
|
+
scope: "vip.resolve"
|
|
11944
|
+
});
|
|
11945
|
+
setLoad({
|
|
11946
|
+
status: "error",
|
|
11947
|
+
code
|
|
11948
|
+
});
|
|
11949
|
+
});
|
|
11950
|
+
return () => {
|
|
11951
|
+
live = false;
|
|
11952
|
+
};
|
|
11953
|
+
}, [api, token]);
|
|
11954
|
+
if (load.status === "loading") return jsx(ScreenSkeleton, {
|
|
11955
|
+
tone: "light"
|
|
11956
|
+
});
|
|
11957
|
+
if (load.status === "error") {
|
|
11958
|
+
return jsx(ShopSurface, {
|
|
11959
|
+
tone: "light",
|
|
11960
|
+
fill: true,
|
|
11961
|
+
children: jsx(ErrorState, {
|
|
11962
|
+
code: load.code
|
|
11963
|
+
})
|
|
11964
|
+
});
|
|
11965
|
+
}
|
|
11966
|
+
const { invite } = load;
|
|
11967
|
+
if (invite.state !== "active") {
|
|
11968
|
+
if (onUnavailable) return jsx(Fragment, {
|
|
11969
|
+
children: onUnavailable(invite.state)
|
|
11970
|
+
});
|
|
11971
|
+
return jsx(ShopSurface, {
|
|
11972
|
+
tone: "light",
|
|
11973
|
+
fill: true,
|
|
11974
|
+
children: jsx(EmptyState, {
|
|
11975
|
+
title: t("Item unavailable"),
|
|
11976
|
+
body: t("This invitation can no longer be used.")
|
|
11977
|
+
})
|
|
11978
|
+
});
|
|
11979
|
+
}
|
|
11980
|
+
return jsx(ActiveLanding, {
|
|
11981
|
+
token,
|
|
11982
|
+
invite
|
|
11983
|
+
});
|
|
11984
|
+
}
|
|
11985
|
+
function ActiveLanding({ token, invite }) {
|
|
11986
|
+
const t = useT();
|
|
11987
|
+
const toast2 = useToast();
|
|
11988
|
+
const { api, emit } = useShop();
|
|
11989
|
+
const product = useInPlaceScreen("vipProduct");
|
|
11990
|
+
const sku = invite.items[0]?.product_sku ?? "";
|
|
11991
|
+
const loaded = useProduct(sku, {
|
|
11992
|
+
showRecommendations: false
|
|
11993
|
+
});
|
|
11994
|
+
const claim = useCallback(async (variantSku) => {
|
|
11995
|
+
try {
|
|
11996
|
+
const current2 = await api.cart.get().catch(() => null);
|
|
11997
|
+
if (current2?.vip?.invite_ref === invite.invite_ref) {
|
|
11998
|
+
for (const line2 of current2.items) await api.cart.removeItem(line2.sku);
|
|
11999
|
+
}
|
|
12000
|
+
const cart2 = await api.vip.addToCart({
|
|
12001
|
+
token,
|
|
12002
|
+
sku: variantSku,
|
|
12003
|
+
qty: 1
|
|
12004
|
+
});
|
|
12005
|
+
emit({
|
|
12006
|
+
type: "cart_updated",
|
|
12007
|
+
itemCount: cart2.items.reduce((n, i) => n + i.qty, 0),
|
|
12008
|
+
subtotal: cart2.totals.subtotal
|
|
12009
|
+
});
|
|
12010
|
+
const { checkout_url } = await api.cart.handoff();
|
|
12011
|
+
emit({
|
|
12012
|
+
type: "checkout_handoff",
|
|
12013
|
+
cartId: cart2.cart_id,
|
|
12014
|
+
url: checkout_url
|
|
12015
|
+
});
|
|
12016
|
+
window.location.assign(checkout_url);
|
|
12017
|
+
} catch (err) {
|
|
12018
|
+
const code = codeOf(err);
|
|
12019
|
+
if (code === "unauthorized") {
|
|
12020
|
+
emit({
|
|
12021
|
+
type: "session_required",
|
|
12022
|
+
action: "vip_claim"
|
|
12023
|
+
});
|
|
12024
|
+
return;
|
|
12025
|
+
}
|
|
12026
|
+
emit({
|
|
12027
|
+
type: "error",
|
|
12028
|
+
code,
|
|
12029
|
+
scope: "vip.claim"
|
|
12030
|
+
});
|
|
12031
|
+
toast2.show(t(treatmentFor(code).body), "critical");
|
|
12032
|
+
}
|
|
12033
|
+
}, [api, emit, invite.invite_ref, t, toast2, token]);
|
|
12034
|
+
if (invite.hero && product.value === null) {
|
|
12035
|
+
return jsx(VipHero, {
|
|
12036
|
+
hero: invite.hero,
|
|
12037
|
+
onContinue: () => product.open("1")
|
|
12038
|
+
});
|
|
12039
|
+
}
|
|
12040
|
+
if (loaded.product) {
|
|
12041
|
+
return jsx(ProductDetail, {
|
|
12042
|
+
product: loaded.product,
|
|
12043
|
+
inventory: loaded.inventory,
|
|
12044
|
+
claim
|
|
12045
|
+
}, loaded.product.sku);
|
|
12046
|
+
}
|
|
12047
|
+
if (loaded.loading) return jsx(ScreenSkeleton, {
|
|
12048
|
+
tone: "light"
|
|
12049
|
+
});
|
|
12050
|
+
return jsx(ShopSurface, {
|
|
12051
|
+
tone: "light",
|
|
12052
|
+
fill: true,
|
|
12053
|
+
children: jsx(ErrorState, {
|
|
12054
|
+
code: loaded.error === "sku_not_found" ? void 0 : loaded.error
|
|
12055
|
+
})
|
|
12056
|
+
});
|
|
12057
|
+
}
|
|
11595
12058
|
const showcase = "_showcase_9ibf6_14";
|
|
11596
12059
|
const panel = "_panel_9ibf6_40";
|
|
11597
12060
|
const image = "_image_9ibf6_93";
|
|
@@ -11658,15 +12121,26 @@ function useDocumentSnap(ref, enabled = true) {
|
|
|
11658
12121
|
passive: true
|
|
11659
12122
|
});
|
|
11660
12123
|
};
|
|
12124
|
+
let at = TOP;
|
|
12125
|
+
let returning = false;
|
|
12126
|
+
let holding = false;
|
|
12127
|
+
const settle = () => {
|
|
12128
|
+
returning = false;
|
|
12129
|
+
settleReturn();
|
|
12130
|
+
};
|
|
11661
12131
|
const top2 = () => {
|
|
11662
|
-
|
|
11663
|
-
if (pane)
|
|
12132
|
+
scrollToOffset(at.doc);
|
|
12133
|
+
if (pane) scrollToOffset(at.pane, pane);
|
|
11664
12134
|
};
|
|
11665
12135
|
let frame2 = null;
|
|
11666
12136
|
let release = () => {
|
|
11667
12137
|
};
|
|
11668
12138
|
const anchor2 = () => {
|
|
11669
12139
|
release();
|
|
12140
|
+
const back = returnOffset(here());
|
|
12141
|
+
returning = back !== null;
|
|
12142
|
+
at = back ?? TOP;
|
|
12143
|
+
holding = true;
|
|
11670
12144
|
if (frame2 !== null && typeof window.cancelAnimationFrame === "function") {
|
|
11671
12145
|
window.cancelAnimationFrame(frame2);
|
|
11672
12146
|
}
|
|
@@ -11682,18 +12156,42 @@ function useDocumentSnap(ref, enabled = true) {
|
|
|
11682
12156
|
snapOnAtTouch();
|
|
11683
12157
|
}
|
|
11684
12158
|
return true;
|
|
11685
|
-
},
|
|
12159
|
+
}, (end2) => {
|
|
12160
|
+
holding = false;
|
|
12161
|
+
if (returning && end2 === "moved") settle();
|
|
12162
|
+
}, pane, at);
|
|
11686
12163
|
};
|
|
12164
|
+
let screen2 = claimScreen();
|
|
11687
12165
|
anchor2();
|
|
11688
12166
|
const history = window.history;
|
|
11689
12167
|
const previousRestoration = history && "scrollRestoration" in history ? history.scrollRestoration : null;
|
|
11690
12168
|
if (previousRestoration !== null) history.scrollRestoration = "manual";
|
|
11691
12169
|
const onPageShow = (event) => {
|
|
11692
|
-
if (event.persisted)
|
|
12170
|
+
if (event.persisted) {
|
|
12171
|
+
screen2 = claimScreen();
|
|
12172
|
+
anchor2();
|
|
12173
|
+
}
|
|
11693
12174
|
};
|
|
11694
12175
|
window.addEventListener("pageshow", onPageShow);
|
|
11695
|
-
const unobserve = onReveal(el,
|
|
12176
|
+
const unobserve = onReveal(el, () => {
|
|
12177
|
+
screen2 = claimScreen();
|
|
12178
|
+
anchor2();
|
|
12179
|
+
});
|
|
12180
|
+
const note2 = () => {
|
|
12181
|
+
if (!isCurrentScreen(screen2)) return;
|
|
12182
|
+
const now = placeOf(pane);
|
|
12183
|
+
if (returning && reached(now, at)) settle();
|
|
12184
|
+
if (holding) return;
|
|
12185
|
+
remember(here(), now);
|
|
12186
|
+
};
|
|
12187
|
+
document.addEventListener("scroll", note2, {
|
|
12188
|
+
capture: true,
|
|
12189
|
+
passive: true
|
|
12190
|
+
});
|
|
11696
12191
|
return () => {
|
|
12192
|
+
document.removeEventListener("scroll", note2, {
|
|
12193
|
+
capture: true
|
|
12194
|
+
});
|
|
11697
12195
|
unobserve();
|
|
11698
12196
|
release();
|
|
11699
12197
|
if (frame2 !== null && typeof window.cancelAnimationFrame === "function") {
|
|
@@ -12517,6 +13015,8 @@ export {
|
|
|
12517
13015
|
StickyCtaBar,
|
|
12518
13016
|
ToastProvider,
|
|
12519
13017
|
VariantSelector,
|
|
13018
|
+
VipHero,
|
|
13019
|
+
VipLandingView,
|
|
12520
13020
|
WhyUs,
|
|
12521
13021
|
asApiError,
|
|
12522
13022
|
codeOf,
|