@agg-market/ui 3.0.1 → 5.0.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/chart.js +18 -5
- package/dist/chart.mjs +2 -2
- package/dist/{chunk-422MCIXV.mjs → chunk-34IRJYSU.mjs} +15 -11
- package/dist/{chunk-KUWTY4EM.mjs → chunk-3W7NBJLU.mjs} +1 -1
- package/dist/chunk-4343LYSH.mjs +45 -0
- package/dist/{chunk-RKCVOKE3.mjs → chunk-CTYJVVHJ.mjs} +26 -3
- package/dist/{chunk-MVJNQN7P.mjs → chunk-DHBHKIJR.mjs} +153 -94
- package/dist/{chunk-KRQFVMJE.mjs → chunk-GFBF2J3Y.mjs} +18 -25
- package/dist/{chunk-ZJJA4I3I.mjs → chunk-KIYMVWL4.mjs} +1 -1
- package/dist/{chunk-CTVMT3VL.mjs → chunk-LCZKSITC.mjs} +2 -2
- package/dist/chunk-M4RJHRFT.mjs +445 -0
- package/dist/{chunk-KSCSYCEF.mjs → chunk-MJHKBCXQ.mjs} +1 -1
- package/dist/{chunk-GHB3GOCW.mjs → chunk-MKVGQ7AS.mjs} +17 -21
- package/dist/{chunk-BN5VVHNV.mjs → chunk-OJVTGNIF.mjs} +17 -4
- package/dist/{chunk-FF3QYU26.mjs → chunk-Q6DGDBPV.mjs} +87 -26
- package/dist/{chunk-DCORNTCY.mjs → chunk-QDMHLRDY.mjs} +31 -62
- package/dist/{chunk-RGHA4PZH.mjs → chunk-T7TATHPD.mjs} +34 -10
- package/dist/chunk-XUCS575S.mjs +65 -0
- package/dist/event-list-item-details.js +1836 -407
- package/dist/event-list-item-details.mjs +10 -6
- package/dist/event-list-item.js +448 -279
- package/dist/event-list-item.mjs +6 -3
- package/dist/event-list.js +787 -627
- package/dist/event-list.mjs +7 -4
- package/dist/event-market-page.d.mts +1 -1
- package/dist/event-market-page.d.ts +1 -1
- package/dist/event-market-page.js +2684 -2572
- package/dist/event-market-page.mjs +12 -11
- package/dist/home-page.js +804 -644
- package/dist/home-page.mjs +8 -5
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +1344 -1177
- package/dist/index.mjs +23 -18
- package/dist/market-details.js +919 -757
- package/dist/market-details.mjs +9 -7
- package/dist/place-order.d.mts +1 -1
- package/dist/place-order.d.ts +1 -1
- package/dist/place-order.js +151 -189
- package/dist/place-order.mjs +2 -2
- package/dist/search.js +3 -0
- package/dist/search.mjs +2 -1
- package/dist/settlement.d.mts +1 -1
- package/dist/settlement.d.ts +1 -1
- package/dist/settlement.js +151 -189
- package/dist/settlement.mjs +2 -2
- package/dist/skeleton.js +151 -189
- package/dist/skeleton.mjs +1 -1
- package/dist/state-message.d.mts +16 -0
- package/dist/state-message.d.ts +16 -0
- package/dist/state-message.js +1629 -0
- package/dist/state-message.mjs +14 -0
- package/dist/styles.css +1 -1
- package/dist/switch-button.js +2 -2
- package/dist/switch-button.mjs +1 -1
- package/dist/tailwind.css +1 -1
- package/package.json +14 -2
- package/dist/chunk-V52WSZHQ.mjs +0 -482
- package/dist/{types-DkGlbmXq.d.mts → types-BImwqY4o.d.mts} +4 -4
- package/dist/{types-DkGlbmXq.d.ts → types-BImwqY4o.d.ts} +4 -4
|
@@ -1,31 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Tabs
|
|
3
|
+
} from "./chunk-S3H63TQ5.mjs";
|
|
1
4
|
import {
|
|
2
5
|
buildPriceHistoryGroups,
|
|
3
6
|
getTimeWindowByRange,
|
|
4
7
|
resolveOutcomeLabels,
|
|
5
8
|
resolveOutcomesByVenue,
|
|
6
9
|
resolveSeriesColor
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import {
|
|
9
|
-
Tabs
|
|
10
|
-
} from "./chunk-S3H63TQ5.mjs";
|
|
10
|
+
} from "./chunk-34IRJYSU.mjs";
|
|
11
11
|
import {
|
|
12
12
|
getVenueSummary,
|
|
13
|
+
isErrorWithStatus,
|
|
13
14
|
normalizeProbability,
|
|
14
15
|
resolveTileImage,
|
|
15
16
|
resolveTileTitle,
|
|
16
17
|
selectPrimaryVenueMarket
|
|
17
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-MKVGQ7AS.mjs";
|
|
18
19
|
import {
|
|
20
|
+
StateMessage
|
|
21
|
+
} from "./chunk-XUCS575S.mjs";
|
|
22
|
+
import {
|
|
23
|
+
MarketDetailsOderbookSkeleton,
|
|
19
24
|
Skeleton,
|
|
20
25
|
eventListItemDetailsTimeRanges,
|
|
21
26
|
getMarketDetailsTabs,
|
|
22
27
|
marketDetailsBaseCardClassName,
|
|
23
28
|
marketDetailsDefaultIsOpened,
|
|
24
29
|
orderBookRowLimitDefault
|
|
25
|
-
} from "./chunk-
|
|
26
|
-
import {
|
|
27
|
-
LoadingIcon
|
|
28
|
-
} from "./chunk-IGPNIM2B.mjs";
|
|
30
|
+
} from "./chunk-M4RJHRFT.mjs";
|
|
29
31
|
import {
|
|
30
32
|
VenueLogo
|
|
31
33
|
} from "./chunk-PORVP72S.mjs";
|
|
@@ -37,10 +39,10 @@ import {
|
|
|
37
39
|
} from "./chunk-FO2QCB4Z.mjs";
|
|
38
40
|
import {
|
|
39
41
|
LineChart
|
|
40
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-OJVTGNIF.mjs";
|
|
41
43
|
import {
|
|
42
44
|
SwitchButton
|
|
43
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-LCZKSITC.mjs";
|
|
44
46
|
import {
|
|
45
47
|
__spreadProps,
|
|
46
48
|
__spreadValues,
|
|
@@ -88,12 +90,11 @@ var resolveInitialTab = (defaultTab) => {
|
|
|
88
90
|
return "order-book";
|
|
89
91
|
};
|
|
90
92
|
var resolveMarket = (event, marketId) => {
|
|
91
|
-
var _a;
|
|
92
93
|
if (!event.markets.length)
|
|
93
94
|
return void 0;
|
|
94
95
|
if (!marketId)
|
|
95
96
|
return event.markets[0];
|
|
96
|
-
return
|
|
97
|
+
return event.markets.find((market) => market.id === marketId);
|
|
97
98
|
};
|
|
98
99
|
var resolveDisplayOutcomeLabels = (labels) => {
|
|
99
100
|
if (!hasBinaryLabels(labels))
|
|
@@ -182,8 +183,7 @@ var resolveSubtitle = ({
|
|
|
182
183
|
};
|
|
183
184
|
var resolveOrderBookRows = ({
|
|
184
185
|
data,
|
|
185
|
-
side
|
|
186
|
-
depth
|
|
186
|
+
side
|
|
187
187
|
}) => {
|
|
188
188
|
if (!(data == null ? void 0 : data.length))
|
|
189
189
|
return [];
|
|
@@ -214,9 +214,8 @@ var resolveOrderBookRows = ({
|
|
|
214
214
|
return left.price - right.price;
|
|
215
215
|
return right.price - left.price;
|
|
216
216
|
});
|
|
217
|
-
const
|
|
218
|
-
|
|
219
|
-
return limitedRows.map((row) => __spreadProps(__spreadValues({}, row), {
|
|
217
|
+
const maxTotal = sortedRows.reduce((currentMax, row) => Math.max(currentMax, row.total), 0) || 1;
|
|
218
|
+
return sortedRows.map((row) => __spreadProps(__spreadValues({}, row), {
|
|
220
219
|
barScale: row.total / maxTotal
|
|
221
220
|
}));
|
|
222
221
|
};
|
|
@@ -325,48 +324,78 @@ var MarketDetailsUnavailableState = ({
|
|
|
325
324
|
}
|
|
326
325
|
);
|
|
327
326
|
};
|
|
327
|
+
var MarketDetailsNotFoundState = ({
|
|
328
|
+
ariaLabel,
|
|
329
|
+
classNames
|
|
330
|
+
}) => {
|
|
331
|
+
const labels = useLabels();
|
|
332
|
+
return /* @__PURE__ */ jsx(Card, { className: cn(marketDetailsBaseCardClassName, "p-0", classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsx(
|
|
333
|
+
StateMessage,
|
|
334
|
+
{
|
|
335
|
+
ariaLabel: ariaLabel != null ? ariaLabel : labels.marketDetails.notFoundAria,
|
|
336
|
+
title: labels.marketDetails.notFoundTitle,
|
|
337
|
+
description: labels.marketDetails.notFoundDescription,
|
|
338
|
+
className: "min-h-[280px] md:min-h-[320px]"
|
|
339
|
+
}
|
|
340
|
+
) });
|
|
341
|
+
};
|
|
328
342
|
var OrderBookRows = ({
|
|
329
343
|
rows,
|
|
330
344
|
title,
|
|
331
345
|
formatNumber,
|
|
332
|
-
formatCurrency
|
|
346
|
+
formatCurrency,
|
|
347
|
+
visibleRows
|
|
333
348
|
}) => {
|
|
334
349
|
const labels = useLabels();
|
|
335
350
|
const isAsks = title === labels.marketDetails.asks;
|
|
336
351
|
const priceClassName = isAsks ? "text-agg-orderbook-ask" : "text-agg-orderbook-bid";
|
|
337
352
|
const barClassName = isAsks ? "bg-agg-orderbook-ask/10" : "bg-agg-orderbook-bid/10";
|
|
353
|
+
const maxVisibleRows = Math.max(1, visibleRows);
|
|
354
|
+
const orderBookRowHeightPx = 28;
|
|
355
|
+
const orderBookDividerHeightPx = 1;
|
|
356
|
+
const orderBookRowGapPx = 8;
|
|
357
|
+
const orderBookVisibleHeightPx = maxVisibleRows * orderBookRowHeightPx + Math.max(0, maxVisibleRows - 1) * (orderBookDividerHeightPx + orderBookRowGapPx);
|
|
338
358
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
339
359
|
/* @__PURE__ */ jsx(Typography, { variant: "caption-caps", children: title }),
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
),
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
360
|
+
/* @__PURE__ */ jsx(
|
|
361
|
+
"div",
|
|
362
|
+
{
|
|
363
|
+
className: "overflow-y-auto pr-1 flex flex-col gap-2",
|
|
364
|
+
style: { maxHeight: `${orderBookVisibleHeightPx}px` },
|
|
365
|
+
role: "region",
|
|
366
|
+
"aria-label": `${title} order book levels`,
|
|
367
|
+
children: rows.map((row, index) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
368
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[52px_1fr_1fr_52px] items-center gap-2 md:grid-cols-[88px_1fr_1fr_minmax(120px,220px)] md:gap-6", children: [
|
|
369
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 md:gap-3", children: [
|
|
370
|
+
/* @__PURE__ */ jsx(VenueLogo, { venue: row.venue, size: "small" }),
|
|
371
|
+
/* @__PURE__ */ jsx(
|
|
372
|
+
"span",
|
|
373
|
+
{
|
|
374
|
+
className: cn(
|
|
375
|
+
"text-agg-xs font-agg-bold leading-agg-4 md:text-agg-sm md:leading-agg-5",
|
|
376
|
+
priceClassName
|
|
377
|
+
),
|
|
378
|
+
children: formatProbabilityCents(row.price)
|
|
379
|
+
}
|
|
380
|
+
)
|
|
381
|
+
] }),
|
|
382
|
+
/* @__PURE__ */ jsx("span", { className: "truncate text-agg-xs leading-agg-4 text-center text-agg-foreground md:text-agg-sm md:leading-agg-5", children: formatNumber(row.size) }),
|
|
383
|
+
/* @__PURE__ */ jsx("span", { className: "truncate text-agg-xs leading-agg-4 text-center text-agg-foreground md:text-agg-sm md:leading-agg-5", children: formatCurrency(row.total) }),
|
|
384
|
+
/* @__PURE__ */ jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx(
|
|
385
|
+
"div",
|
|
386
|
+
{
|
|
387
|
+
"aria-hidden": "true",
|
|
388
|
+
className: cn("h-2 rounded-agg-full", barClassName),
|
|
389
|
+
style: {
|
|
390
|
+
width: `${Math.max(20, Math.round(row.barScale * 100))}%`
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
) })
|
|
394
|
+
] }),
|
|
395
|
+
index < rows.length - 1 ? /* @__PURE__ */ jsx("div", { className: "h-px w-full bg-agg-separator" }) : null
|
|
396
|
+
] }, row.id))
|
|
397
|
+
}
|
|
398
|
+
)
|
|
370
399
|
] });
|
|
371
400
|
};
|
|
372
401
|
var getOutcomeButtonClassName = ({
|
|
@@ -413,6 +442,9 @@ var MarketDetailsContent = ({
|
|
|
413
442
|
labels
|
|
414
443
|
});
|
|
415
444
|
}, [config.formatCompactCurrency, event, image, labels, marketId, title]);
|
|
445
|
+
const resolvedMarket = useMemo(() => {
|
|
446
|
+
return resolveMarket(event, marketId);
|
|
447
|
+
}, [event, marketId]);
|
|
416
448
|
const marketDetailsTabs = useMemo(() => {
|
|
417
449
|
return getMarketDetailsTabs(labels);
|
|
418
450
|
}, [labels]);
|
|
@@ -484,9 +516,10 @@ var MarketDetailsContent = ({
|
|
|
484
516
|
});
|
|
485
517
|
return [...uniqueOutcomesByVenueAndId.values()];
|
|
486
518
|
}, [outcomesByLabel]);
|
|
519
|
+
const canonicalMarketIdForHistory = model == null ? void 0 : model.market.id;
|
|
487
520
|
const priceHistoryGroups = useMemo(() => {
|
|
488
|
-
return buildPriceHistoryGroups(graphOutcomes);
|
|
489
|
-
}, [graphOutcomes]);
|
|
521
|
+
return buildPriceHistoryGroups(graphOutcomes, canonicalMarketIdForHistory);
|
|
522
|
+
}, [canonicalMarketIdForHistory, graphOutcomes]);
|
|
490
523
|
const { data: priceHistoryData, isLoading: isPriceHistoryLoading } = usePriceHistory(__spreadProps(__spreadValues({
|
|
491
524
|
groups: priceHistoryGroups
|
|
492
525
|
}, timeWindow), {
|
|
@@ -499,24 +532,27 @@ var MarketDetailsContent = ({
|
|
|
499
532
|
liveUpdate: true
|
|
500
533
|
}));
|
|
501
534
|
}, [selectedOutcomesByVenue]);
|
|
502
|
-
const {
|
|
535
|
+
const {
|
|
536
|
+
data: orderBookData,
|
|
537
|
+
isLoading: isOrderBookLoading,
|
|
538
|
+
error: orderBookError,
|
|
539
|
+
results: orderBookResults
|
|
540
|
+
} = useOrderBook({
|
|
503
541
|
orderbooks: orderBookInputs,
|
|
504
542
|
enabled: isOpened && selectedTab === "order-book" && orderBookInputs.length > 0
|
|
505
543
|
});
|
|
506
544
|
const askRows = useMemo(() => {
|
|
507
545
|
return resolveOrderBookRows({
|
|
508
546
|
data: orderBookData,
|
|
509
|
-
side: "asks"
|
|
510
|
-
depth: orderBookDepth
|
|
547
|
+
side: "asks"
|
|
511
548
|
});
|
|
512
|
-
}, [orderBookData
|
|
549
|
+
}, [orderBookData]);
|
|
513
550
|
const bidRows = useMemo(() => {
|
|
514
551
|
return resolveOrderBookRows({
|
|
515
552
|
data: orderBookData,
|
|
516
|
-
side: "bids"
|
|
517
|
-
depth: orderBookDepth
|
|
553
|
+
side: "bids"
|
|
518
554
|
});
|
|
519
|
-
}, [orderBookData
|
|
555
|
+
}, [orderBookData]);
|
|
520
556
|
const priceHistoryByVenue = useMemo(() => {
|
|
521
557
|
const historyByVenue = /* @__PURE__ */ new Map();
|
|
522
558
|
if (!(priceHistoryData == null ? void 0 : priceHistoryData.length)) {
|
|
@@ -536,11 +572,14 @@ var MarketDetailsContent = ({
|
|
|
536
572
|
const graphSeriesByOutcomeLabel = useMemo(() => {
|
|
537
573
|
const seriesByOutcomeLabel = /* @__PURE__ */ new Map();
|
|
538
574
|
const resolveOutcomeCandidateIds = (outcomeByVenue) => {
|
|
539
|
-
var _a;
|
|
575
|
+
var _a, _b;
|
|
576
|
+
const marketWithCanonicalId = outcomeByVenue.market;
|
|
540
577
|
return [
|
|
541
578
|
outcomeByVenue.outcome.id,
|
|
542
579
|
(_a = outcomeByVenue.outcome.externalIdentifier) != null ? _a : void 0,
|
|
543
|
-
outcomeByVenue.market.externalIdentifier
|
|
580
|
+
outcomeByVenue.market.externalIdentifier,
|
|
581
|
+
(_b = marketWithCanonicalId.marketId) != null ? _b : void 0,
|
|
582
|
+
canonicalMarketIdForHistory
|
|
544
583
|
].filter((value) => typeof value === "string" && value.trim().length > 0);
|
|
545
584
|
};
|
|
546
585
|
headerOutcomeItems.forEach((headerOutcomeItem) => {
|
|
@@ -572,7 +611,7 @@ var MarketDetailsContent = ({
|
|
|
572
611
|
seriesByOutcomeLabel.set(headerOutcomeItem.label, graphSeries2);
|
|
573
612
|
});
|
|
574
613
|
return seriesByOutcomeLabel;
|
|
575
|
-
}, [headerOutcomeItems, outcomesByLabel, priceHistoryByVenue]);
|
|
614
|
+
}, [canonicalMarketIdForHistory, headerOutcomeItems, outcomesByLabel, priceHistoryByVenue]);
|
|
576
615
|
const graphSeries = useMemo(() => {
|
|
577
616
|
var _a;
|
|
578
617
|
if (!selectedOutcomeLabel)
|
|
@@ -587,6 +626,9 @@ var MarketDetailsContent = ({
|
|
|
587
626
|
return [];
|
|
588
627
|
return resolveOtherTabRows(model.market, labels);
|
|
589
628
|
}, [labels, model]);
|
|
629
|
+
const isOrderBookNotFound = isErrorWithStatus(orderBookError, 404);
|
|
630
|
+
const hasOrderBookError = !!orderBookError && !isOrderBookNotFound;
|
|
631
|
+
const hasNoOrderBook = isOrderBookNotFound || !isOrderBookLoading && !hasOrderBookError && (orderBookInputs.length === 0 || askRows.length === 0 && bidRows.length === 0);
|
|
590
632
|
const handleOutcomeKeyDown = (eventToHandle) => {
|
|
591
633
|
var _a;
|
|
592
634
|
if ((eventToHandle == null ? void 0 : eventToHandle.key) !== "ArrowLeft" && (eventToHandle == null ? void 0 : eventToHandle.key) !== "ArrowRight") {
|
|
@@ -620,6 +662,9 @@ var MarketDetailsContent = ({
|
|
|
620
662
|
return venue;
|
|
621
663
|
});
|
|
622
664
|
};
|
|
665
|
+
const handleRetryOrderBook = () => {
|
|
666
|
+
void Promise.all(orderBookResults.map((result) => result.refetch()));
|
|
667
|
+
};
|
|
623
668
|
useEffect(() => {
|
|
624
669
|
if (!selectedGraphVenue) {
|
|
625
670
|
return;
|
|
@@ -629,6 +674,9 @@ var MarketDetailsContent = ({
|
|
|
629
674
|
}
|
|
630
675
|
setSelectedGraphVenue(null);
|
|
631
676
|
}, [selectedGraphVenue, selectedOutcomesByVenue]);
|
|
677
|
+
if (marketId && !resolvedMarket) {
|
|
678
|
+
return /* @__PURE__ */ jsx(MarketDetailsNotFoundState, { ariaLabel, classNames });
|
|
679
|
+
}
|
|
632
680
|
if (!model) {
|
|
633
681
|
return /* @__PURE__ */ jsx(MarketDetailsUnavailableState, { ariaLabel, classNames });
|
|
634
682
|
}
|
|
@@ -636,28 +684,29 @@ var MarketDetailsContent = ({
|
|
|
636
684
|
Card,
|
|
637
685
|
{
|
|
638
686
|
className: cn(
|
|
639
|
-
"w-full
|
|
687
|
+
"w-full rounded-agg-2xl text-left outline-none",
|
|
640
688
|
marketDetailsBaseCardClassName,
|
|
641
689
|
classNames == null ? void 0 : classNames.root
|
|
642
690
|
),
|
|
643
|
-
"aria-expanded": isOpened,
|
|
644
|
-
"aria-controls": detailsContentId,
|
|
645
|
-
role: "button",
|
|
646
|
-
tabIndex: 0,
|
|
647
|
-
"aria-label": isOpened ? labels.marketDetails.toggleCloseDetailsAria(model.title) : labels.marketDetails.toggleOpenDetailsAria(model.title),
|
|
648
|
-
onClick: handleToggleExpanded,
|
|
649
|
-
onKeyDown: handleToggleExpanded,
|
|
650
691
|
children: [
|
|
651
692
|
/* @__PURE__ */ jsxs(
|
|
652
693
|
"div",
|
|
653
694
|
{
|
|
654
695
|
className: cn(
|
|
655
|
-
"
|
|
696
|
+
"cursor-pointer disabled:cursor-default",
|
|
697
|
+
"flex flex-wrap flex-row items-center justify-between gap-3 px-5 py-4",
|
|
656
698
|
isOpened && "pb-3",
|
|
657
699
|
classNames == null ? void 0 : classNames.header
|
|
658
700
|
),
|
|
701
|
+
"aria-expanded": isOpened,
|
|
702
|
+
"aria-controls": detailsContentId,
|
|
703
|
+
role: "button",
|
|
704
|
+
tabIndex: 0,
|
|
705
|
+
"aria-label": isOpened ? labels.marketDetails.toggleCloseDetailsAria(model.title) : labels.marketDetails.toggleOpenDetailsAria(model.title),
|
|
706
|
+
onClick: handleToggleExpanded,
|
|
707
|
+
onKeyDown: handleToggleExpanded,
|
|
659
708
|
children: [
|
|
660
|
-
/* @__PURE__ */ jsxs("div", { className: "flex min-w-
|
|
709
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-52 items-center gap-3 md:gap-4", children: [
|
|
661
710
|
model.image ? /* @__PURE__ */ jsx(
|
|
662
711
|
"img",
|
|
663
712
|
{
|
|
@@ -736,10 +785,7 @@ var MarketDetailsContent = ({
|
|
|
736
785
|
id: detailsContentId,
|
|
737
786
|
className: cn(
|
|
738
787
|
"grid overflow-hidden",
|
|
739
|
-
getMotionClassName(
|
|
740
|
-
config.enableAnimations,
|
|
741
|
-
"transition-all duration-500 ease-[cubic-bezier(0.4,0,0.2,1)]"
|
|
742
|
-
),
|
|
788
|
+
getMotionClassName(config.enableAnimations, "transition-all duration-500 ease-in-out"),
|
|
743
789
|
isOpened ? "grid-rows-[1fr] opacity-100" : "pointer-events-none grid-rows-[0fr] opacity-0"
|
|
744
790
|
),
|
|
745
791
|
"aria-hidden": !isOpened,
|
|
@@ -751,7 +797,7 @@ var MarketDetailsContent = ({
|
|
|
751
797
|
className: cn(
|
|
752
798
|
getMotionClassName(
|
|
753
799
|
config.enableAnimations,
|
|
754
|
-
"transition-all duration-500 ease-
|
|
800
|
+
"transition-all duration-500 ease-in-out"
|
|
755
801
|
),
|
|
756
802
|
isOpened ? cn(
|
|
757
803
|
"translate-y-0 opacity-100",
|
|
@@ -772,17 +818,24 @@ var MarketDetailsContent = ({
|
|
|
772
818
|
) }),
|
|
773
819
|
/* @__PURE__ */ jsx("div", { className: "h-px w-full bg-agg-separator" }),
|
|
774
820
|
/* @__PURE__ */ jsxs("div", { className: cn("p-5", classNames == null ? void 0 : classNames.content), children: [
|
|
775
|
-
selectedTab === "order-book" ? /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-5", classNames == null ? void 0 : classNames.orderBook), children: isOrderBookLoading ? /* @__PURE__ */
|
|
776
|
-
|
|
821
|
+
selectedTab === "order-book" ? /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-5", classNames == null ? void 0 : classNames.orderBook), children: isOrderBookLoading ? /* @__PURE__ */ jsx(MarketDetailsOderbookSkeleton, {}) : hasOrderBookError ? /* @__PURE__ */ jsx(
|
|
822
|
+
StateMessage,
|
|
777
823
|
{
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
824
|
+
ariaLabel: labels.marketDetails.orderBookUnavailableAria,
|
|
825
|
+
tone: "warning",
|
|
826
|
+
title: labels.marketDetails.orderBookUnavailableTitle,
|
|
827
|
+
description: labels.marketDetails.orderBookUnavailableDescription,
|
|
828
|
+
actionLabel: labels.common.retry,
|
|
829
|
+
onAction: handleRetryOrderBook,
|
|
830
|
+
className: "min-h-[248px] px-5 py-10 md:min-h-[272px]"
|
|
831
|
+
}
|
|
832
|
+
) : hasNoOrderBook ? /* @__PURE__ */ jsx(
|
|
833
|
+
StateMessage,
|
|
834
|
+
{
|
|
835
|
+
ariaLabel: labels.marketDetails.orderBookEmptyAria,
|
|
836
|
+
title: labels.marketDetails.orderBookEmptyTitle,
|
|
837
|
+
description: labels.marketDetails.orderBookEmptyDescription,
|
|
838
|
+
className: "min-h-[248px] px-5 py-10 md:min-h-[272px]"
|
|
786
839
|
}
|
|
787
840
|
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
788
841
|
/* @__PURE__ */ jsx(
|
|
@@ -791,7 +844,8 @@ var MarketDetailsContent = ({
|
|
|
791
844
|
rows: askRows,
|
|
792
845
|
title: labels.marketDetails.asks,
|
|
793
846
|
formatNumber: config.formatNumber,
|
|
794
|
-
formatCurrency: config.formatCurrency
|
|
847
|
+
formatCurrency: config.formatCurrency,
|
|
848
|
+
visibleRows: orderBookDepth
|
|
795
849
|
}
|
|
796
850
|
),
|
|
797
851
|
/* @__PURE__ */ jsx(
|
|
@@ -800,7 +854,8 @@ var MarketDetailsContent = ({
|
|
|
800
854
|
rows: bidRows,
|
|
801
855
|
title: labels.marketDetails.bids,
|
|
802
856
|
formatNumber: config.formatNumber,
|
|
803
|
-
formatCurrency: config.formatCurrency
|
|
857
|
+
formatCurrency: config.formatCurrency,
|
|
858
|
+
visibleRows: orderBookDepth
|
|
804
859
|
}
|
|
805
860
|
)
|
|
806
861
|
] }) }) : null,
|
|
@@ -935,12 +990,13 @@ var MarketDetails = (props) => {
|
|
|
935
990
|
(_a2 = props.onOpenChange) == null ? void 0 : _a2.call(props, nextIsOpened);
|
|
936
991
|
};
|
|
937
992
|
const hasEventProp = "event" in props && !!props.event;
|
|
938
|
-
const {
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
993
|
+
const {
|
|
994
|
+
event: fetchedEvent,
|
|
995
|
+
error: eventError,
|
|
996
|
+
isLoading: isFetchingEvent
|
|
997
|
+
} = useEvent(hasEventProp ? void 0 : props.eventId, {
|
|
998
|
+
enabled: !props.isLoading && !hasEventProp && !!props.eventId
|
|
999
|
+
});
|
|
944
1000
|
if (props.isLoading) {
|
|
945
1001
|
return /* @__PURE__ */ jsx(
|
|
946
1002
|
MarketDetailsLoadingState,
|
|
@@ -972,6 +1028,9 @@ var MarketDetails = (props) => {
|
|
|
972
1028
|
);
|
|
973
1029
|
}
|
|
974
1030
|
if (!fetchedEvent) {
|
|
1031
|
+
if (isErrorWithStatus(eventError, 404)) {
|
|
1032
|
+
return /* @__PURE__ */ jsx(MarketDetailsNotFoundState, { ariaLabel: props.ariaLabel, classNames: props.classNames });
|
|
1033
|
+
}
|
|
975
1034
|
return /* @__PURE__ */ jsx(MarketDetailsUnavailableState, { ariaLabel: props.ariaLabel, classNames: props.classNames });
|
|
976
1035
|
}
|
|
977
1036
|
return /* @__PURE__ */ jsx(
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EventListItem
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CTYJVVHJ.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Tabs
|
|
6
6
|
} from "./chunk-S3H63TQ5.mjs";
|
|
7
|
+
import {
|
|
8
|
+
StateMessage
|
|
9
|
+
} from "./chunk-XUCS575S.mjs";
|
|
7
10
|
import {
|
|
8
11
|
Skeleton
|
|
9
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-M4RJHRFT.mjs";
|
|
10
13
|
import {
|
|
11
14
|
VenueLogo
|
|
12
15
|
} from "./chunk-PORVP72S.mjs";
|
|
@@ -17,8 +20,9 @@ import {
|
|
|
17
20
|
Typography
|
|
18
21
|
} from "./chunk-ERGNR6UQ.mjs";
|
|
19
22
|
import {
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
Card
|
|
24
|
+
} from "./chunk-FO2QCB4Z.mjs";
|
|
25
|
+
import {
|
|
22
26
|
cn
|
|
23
27
|
} from "./chunk-GJ4U5NCE.mjs";
|
|
24
28
|
|
|
@@ -55,22 +59,10 @@ var getDefaultEventListTabs = (labels) => {
|
|
|
55
59
|
|
|
56
60
|
// src/events/list/event-list.utils.ts
|
|
57
61
|
var mapEventToEventListItemEvent = (event) => {
|
|
58
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
59
|
-
const fallbackVenueEvent = event.venueEvents[0];
|
|
60
|
-
if (!fallbackVenueEvent)
|
|
61
|
-
return null;
|
|
62
62
|
const mergedVenueMarkets = event.markets.flatMap((m) => m.venueMarkets);
|
|
63
|
-
if (
|
|
63
|
+
if (mergedVenueMarkets.length === 0)
|
|
64
64
|
return null;
|
|
65
|
-
return
|
|
66
|
-
id: event.id,
|
|
67
|
-
title: event.title || fallbackVenueEvent.title,
|
|
68
|
-
description: (_b = (_a = event.description) != null ? _a : fallbackVenueEvent.description) != null ? _b : null,
|
|
69
|
-
volume: (_d = (_c = event.volume) != null ? _c : fallbackVenueEvent.volume) != null ? _d : null,
|
|
70
|
-
startDate: (_f = (_e = event.startDate) != null ? _e : fallbackVenueEvent.startDate) != null ? _f : null,
|
|
71
|
-
endDate: (_h = (_g = event.endDate) != null ? _g : fallbackVenueEvent.endDate) != null ? _h : null,
|
|
72
|
-
creationDate: (_j = (_i = event.creationDate) != null ? _i : fallbackVenueEvent.creationDate) != null ? _j : null
|
|
73
|
-
});
|
|
65
|
+
return event;
|
|
74
66
|
};
|
|
75
67
|
var filterEventsByTabValue = (events, _tabValue) => {
|
|
76
68
|
return events;
|
|
@@ -146,7 +138,7 @@ var EventList = ({
|
|
|
146
138
|
const [activeTabValue, setActiveTabValue] = useState(
|
|
147
139
|
(_b = (_a = defaultEventListTabs[0]) == null ? void 0 : _a.value) != null ? _b : "matched"
|
|
148
140
|
);
|
|
149
|
-
const [
|
|
141
|
+
const [_shouldUseSelectOverflow, setShouldUseSelectOverflow] = useState(false);
|
|
150
142
|
const activeTab = useMemo(() => {
|
|
151
143
|
return defaultEventListTabs.find((tab) => tab.value === activeTabValue);
|
|
152
144
|
}, [activeTabValue]);
|
|
@@ -308,14 +300,15 @@ var EventList = ({
|
|
|
308
300
|
},
|
|
309
301
|
`loading-${index}`
|
|
310
302
|
)),
|
|
311
|
-
!isLoading && !isError && (tileEvents == null ? void 0 : tileEvents.length) === 0 ? /* @__PURE__ */ jsx(
|
|
312
|
-
|
|
303
|
+
!isLoading && !isError && (tileEvents == null ? void 0 : tileEvents.length) === 0 ? /* @__PURE__ */ jsx(Card, { className: "col-span-full overflow-hidden shadow-none hover:shadow-none", children: /* @__PURE__ */ jsx(
|
|
304
|
+
StateMessage,
|
|
313
305
|
{
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
306
|
+
ariaLabel: labels.eventList.emptyAria,
|
|
307
|
+
title: labels.eventList.emptyTitle,
|
|
308
|
+
description: labels.eventList.emptyDescription,
|
|
309
|
+
className: "min-h-[320px]"
|
|
317
310
|
}
|
|
318
|
-
) : null,
|
|
311
|
+
) }) : null,
|
|
319
312
|
isError ? /* @__PURE__ */ jsx(
|
|
320
313
|
Typography,
|
|
321
314
|
{
|
|
@@ -60,10 +60,10 @@ var SwitchButton = ({
|
|
|
60
60
|
return null;
|
|
61
61
|
}
|
|
62
62
|
const handleKeyDown = (event, optionIndex) => {
|
|
63
|
-
if (event.key !== "ArrowLeft" && event.key !== "ArrowRight") {
|
|
63
|
+
if ((event == null ? void 0 : event.key) !== "ArrowLeft" && (event == null ? void 0 : event.key) !== "ArrowRight") {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
-
event.preventDefault();
|
|
66
|
+
event == null ? void 0 : event.preventDefault();
|
|
67
67
|
const nextOptionIndex = resolveNextEnabledIndex(
|
|
68
68
|
options,
|
|
69
69
|
optionIndex,
|