@agg-market/ui 4.0.0 → 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.
Files changed (44) hide show
  1. package/dist/{chunk-HOXTJ742.mjs → chunk-34IRJYSU.mjs} +1 -1
  2. package/dist/chunk-4343LYSH.mjs +45 -0
  3. package/dist/{chunk-LA3FBBSJ.mjs → chunk-CTYJVVHJ.mjs} +25 -2
  4. package/dist/{chunk-GNSPZ53C.mjs → chunk-DHBHKIJR.mjs} +73 -15
  5. package/dist/{chunk-OH56VUYK.mjs → chunk-GFBF2J3Y.mjs} +14 -7
  6. package/dist/{chunk-P2PJBO5C.mjs → chunk-KIYMVWL4.mjs} +1 -1
  7. package/dist/{chunk-QM7CGMFG.mjs → chunk-MKVGQ7AS.mjs} +12 -0
  8. package/dist/{chunk-JNH64AKR.mjs → chunk-Q6DGDBPV.mjs} +58 -4
  9. package/dist/{chunk-DCORNTCY.mjs → chunk-QDMHLRDY.mjs} +31 -62
  10. package/dist/{chunk-MBHTXNHX.mjs → chunk-T7TATHPD.mjs} +32 -8
  11. package/dist/chunk-XUCS575S.mjs +65 -0
  12. package/dist/event-list-item-details.js +1529 -72
  13. package/dist/event-list-item-details.mjs +7 -3
  14. package/dist/event-list-item.js +292 -71
  15. package/dist/event-list-item.mjs +5 -2
  16. package/dist/event-list.js +628 -404
  17. package/dist/event-list.mjs +6 -3
  18. package/dist/event-market-page.d.mts +1 -1
  19. package/dist/event-market-page.d.ts +1 -1
  20. package/dist/event-market-page.js +2478 -2268
  21. package/dist/event-market-page.mjs +7 -5
  22. package/dist/home-page.js +638 -414
  23. package/dist/home-page.mjs +7 -4
  24. package/dist/index.d.mts +3 -2
  25. package/dist/index.d.ts +3 -2
  26. package/dist/index.js +1062 -858
  27. package/dist/index.mjs +18 -13
  28. package/dist/market-details.js +645 -391
  29. package/dist/market-details.mjs +6 -3
  30. package/dist/place-order.d.mts +1 -1
  31. package/dist/place-order.d.ts +1 -1
  32. package/dist/search.js +3 -0
  33. package/dist/search.mjs +2 -1
  34. package/dist/settlement.d.mts +1 -1
  35. package/dist/settlement.d.ts +1 -1
  36. package/dist/state-message.d.mts +16 -0
  37. package/dist/state-message.d.ts +16 -0
  38. package/dist/state-message.js +1629 -0
  39. package/dist/state-message.mjs +14 -0
  40. package/dist/styles.css +1 -1
  41. package/dist/tailwind.css +1 -1
  42. package/package.json +14 -2
  43. package/dist/{types-DkGlbmXq.d.mts → types-BImwqY4o.d.mts} +4 -4
  44. package/dist/{types-DkGlbmXq.d.ts → types-BImwqY4o.d.ts} +4 -4
@@ -2,7 +2,7 @@ import {
2
2
  resolveOutcomeTitle,
3
3
  selectPrimaryVenueMarket,
4
4
  sortOutcomes
5
- } from "./chunk-QM7CGMFG.mjs";
5
+ } from "./chunk-MKVGQ7AS.mjs";
6
6
  import {
7
7
  fallbackLineColors,
8
8
  lineColorByVenue
@@ -0,0 +1,45 @@
1
+ import {
2
+ getIconA11yProps
3
+ } from "./chunk-BNDFQPHF.mjs";
4
+ import {
5
+ __objRest,
6
+ __spreadProps,
7
+ __spreadValues
8
+ } from "./chunk-GJ4U5NCE.mjs";
9
+
10
+ // src/primitives/search/search-empty-icon.tsx
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ var SearchEmptyIcon = (_a) => {
13
+ var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
14
+ return /* @__PURE__ */ jsxs(
15
+ "svg",
16
+ __spreadProps(__spreadValues(__spreadValues({
17
+ viewBox: "0 0 40 40",
18
+ fill: "none",
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ className
21
+ }, getIconA11yProps(title)), props), {
22
+ children: [
23
+ title ? /* @__PURE__ */ jsx("title", { children: title }) : null,
24
+ /* @__PURE__ */ jsx("circle", { cx: "19.9987", cy: "20.0013", r: "9.2", stroke: "currentColor", strokeWidth: "1.6" }),
25
+ /* @__PURE__ */ jsx(
26
+ "ellipse",
27
+ {
28
+ cx: "19.9987",
29
+ cy: "20.0012",
30
+ rx: "17.2",
31
+ ry: "6.6",
32
+ transform: "rotate(-35 19.9987 20.0012)",
33
+ stroke: "currentColor",
34
+ strokeWidth: "1.6"
35
+ }
36
+ )
37
+ ]
38
+ })
39
+ );
40
+ };
41
+ SearchEmptyIcon.displayName = "SearchEmptyIcon";
42
+
43
+ export {
44
+ SearchEmptyIcon
45
+ };
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  formatCountLabel,
3
3
  getVenueSummary,
4
+ isErrorWithStatus,
4
5
  normalizeProbability,
5
6
  resolveEventListItemEvent,
6
7
  resolveOutcomeTitle,
@@ -9,7 +10,10 @@ import {
9
10
  resolveVenueLabel,
10
11
  resolveVisibleOutcomes,
11
12
  selectPrimaryVenueMarket
12
- } from "./chunk-QM7CGMFG.mjs";
13
+ } from "./chunk-MKVGQ7AS.mjs";
14
+ import {
15
+ StateMessage
16
+ } from "./chunk-XUCS575S.mjs";
13
17
  import {
14
18
  Badge
15
19
  } from "./chunk-K6IJ4WBM.mjs";
@@ -76,6 +80,21 @@ var EventListItemUnavailableState = ({
76
80
  }
77
81
  );
78
82
  };
83
+ var EventListItemNotFoundState = ({
84
+ classNames,
85
+ ariaLabel
86
+ }) => {
87
+ const labels = useLabels();
88
+ return /* @__PURE__ */ jsx(Card, { className: cn("w-full gap-0 overflow-hidden p-0", classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsx(
89
+ StateMessage,
90
+ {
91
+ ariaLabel: ariaLabel != null ? ariaLabel : labels.eventItemDetails.notFoundAria,
92
+ title: labels.eventItemDetails.notFoundTitle,
93
+ description: labels.eventItemDetails.notFoundDescription,
94
+ className: "min-h-[280px] md:min-h-[320px]"
95
+ }
96
+ ) });
97
+ };
79
98
  var EventListItemContent = ({
80
99
  event,
81
100
  title,
@@ -272,6 +291,7 @@ var EventListItemByEventId = (_a) => {
272
291
  ]);
273
292
  const {
274
293
  event: fetchedEvent,
294
+ error,
275
295
  isError,
276
296
  isLoading
277
297
  } = useEvent(eventId, {
@@ -286,7 +306,10 @@ var EventListItemByEventId = (_a) => {
286
306
  if (isLoading) {
287
307
  return /* @__PURE__ */ jsx(EventListItemLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
288
308
  }
289
- if (!resolvedEvent && !isError) {
309
+ if (isErrorWithStatus(error, 404)) {
310
+ return /* @__PURE__ */ jsx(EventListItemNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
311
+ }
312
+ if (!fetchedEvent && !isError) {
290
313
  return /* @__PURE__ */ jsx(EventListItemLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
291
314
  }
292
315
  if (!resolvedEvent) {
@@ -1,20 +1,24 @@
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-HOXTJ742.mjs";
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-QM7CGMFG.mjs";
18
+ } from "./chunk-MKVGQ7AS.mjs";
19
+ import {
20
+ StateMessage
21
+ } from "./chunk-XUCS575S.mjs";
18
22
  import {
19
23
  MarketDetailsOderbookSkeleton,
20
24
  Skeleton,
@@ -86,12 +90,11 @@ var resolveInitialTab = (defaultTab) => {
86
90
  return "order-book";
87
91
  };
88
92
  var resolveMarket = (event, marketId) => {
89
- var _a;
90
93
  if (!event.markets.length)
91
94
  return void 0;
92
95
  if (!marketId)
93
96
  return event.markets[0];
94
- return (_a = event.markets.find((market) => market.id === marketId)) != null ? _a : event.markets[0];
97
+ return event.markets.find((market) => market.id === marketId);
95
98
  };
96
99
  var resolveDisplayOutcomeLabels = (labels) => {
97
100
  if (!hasBinaryLabels(labels))
@@ -321,6 +324,21 @@ var MarketDetailsUnavailableState = ({
321
324
  }
322
325
  );
323
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
+ };
324
342
  var OrderBookRows = ({
325
343
  rows,
326
344
  title,
@@ -424,6 +442,9 @@ var MarketDetailsContent = ({
424
442
  labels
425
443
  });
426
444
  }, [config.formatCompactCurrency, event, image, labels, marketId, title]);
445
+ const resolvedMarket = useMemo(() => {
446
+ return resolveMarket(event, marketId);
447
+ }, [event, marketId]);
427
448
  const marketDetailsTabs = useMemo(() => {
428
449
  return getMarketDetailsTabs(labels);
429
450
  }, [labels]);
@@ -511,7 +532,12 @@ var MarketDetailsContent = ({
511
532
  liveUpdate: true
512
533
  }));
513
534
  }, [selectedOutcomesByVenue]);
514
- const { data: orderBookData, isLoading: isOrderBookLoading } = useOrderBook({
535
+ const {
536
+ data: orderBookData,
537
+ isLoading: isOrderBookLoading,
538
+ error: orderBookError,
539
+ results: orderBookResults
540
+ } = useOrderBook({
515
541
  orderbooks: orderBookInputs,
516
542
  enabled: isOpened && selectedTab === "order-book" && orderBookInputs.length > 0
517
543
  });
@@ -600,6 +626,9 @@ var MarketDetailsContent = ({
600
626
  return [];
601
627
  return resolveOtherTabRows(model.market, labels);
602
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);
603
632
  const handleOutcomeKeyDown = (eventToHandle) => {
604
633
  var _a;
605
634
  if ((eventToHandle == null ? void 0 : eventToHandle.key) !== "ArrowLeft" && (eventToHandle == null ? void 0 : eventToHandle.key) !== "ArrowRight") {
@@ -633,6 +662,9 @@ var MarketDetailsContent = ({
633
662
  return venue;
634
663
  });
635
664
  };
665
+ const handleRetryOrderBook = () => {
666
+ void Promise.all(orderBookResults.map((result) => result.refetch()));
667
+ };
636
668
  useEffect(() => {
637
669
  if (!selectedGraphVenue) {
638
670
  return;
@@ -642,6 +674,9 @@ var MarketDetailsContent = ({
642
674
  }
643
675
  setSelectedGraphVenue(null);
644
676
  }, [selectedGraphVenue, selectedOutcomesByVenue]);
677
+ if (marketId && !resolvedMarket) {
678
+ return /* @__PURE__ */ jsx(MarketDetailsNotFoundState, { ariaLabel, classNames });
679
+ }
645
680
  if (!model) {
646
681
  return /* @__PURE__ */ jsx(MarketDetailsUnavailableState, { ariaLabel, classNames });
647
682
  }
@@ -783,7 +818,26 @@ var MarketDetailsContent = ({
783
818
  ) }),
784
819
  /* @__PURE__ */ jsx("div", { className: "h-px w-full bg-agg-separator" }),
785
820
  /* @__PURE__ */ jsxs("div", { className: cn("p-5", classNames == null ? void 0 : classNames.content), children: [
786
- selectedTab === "order-book" ? /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-5", classNames == null ? void 0 : classNames.orderBook), children: isOrderBookLoading ? /* @__PURE__ */ jsx(MarketDetailsOderbookSkeleton, {}) : /* @__PURE__ */ jsxs(Fragment, { children: [
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,
823
+ {
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]"
839
+ }
840
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
787
841
  /* @__PURE__ */ jsx(
788
842
  OrderBookRows,
789
843
  {
@@ -936,12 +990,13 @@ var MarketDetails = (props) => {
936
990
  (_a2 = props.onOpenChange) == null ? void 0 : _a2.call(props, nextIsOpened);
937
991
  };
938
992
  const hasEventProp = "event" in props && !!props.event;
939
- const { event: fetchedEvent, isLoading: isFetchingEvent } = useEvent(
940
- hasEventProp ? void 0 : props.eventId,
941
- {
942
- enabled: !props.isLoading && !hasEventProp && !!props.eventId
943
- }
944
- );
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
+ });
945
1000
  if (props.isLoading) {
946
1001
  return /* @__PURE__ */ jsx(
947
1002
  MarketDetailsLoadingState,
@@ -973,6 +1028,9 @@ var MarketDetails = (props) => {
973
1028
  );
974
1029
  }
975
1030
  if (!fetchedEvent) {
1031
+ if (isErrorWithStatus(eventError, 404)) {
1032
+ return /* @__PURE__ */ jsx(MarketDetailsNotFoundState, { ariaLabel: props.ariaLabel, classNames: props.classNames });
1033
+ }
976
1034
  return /* @__PURE__ */ jsx(MarketDetailsUnavailableState, { ariaLabel: props.ariaLabel, classNames: props.classNames });
977
1035
  }
978
1036
  return /* @__PURE__ */ jsx(
@@ -1,9 +1,12 @@
1
1
  import {
2
2
  EventListItem
3
- } from "./chunk-LA3FBBSJ.mjs";
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
12
  } from "./chunk-M4RJHRFT.mjs";
@@ -16,6 +19,9 @@ import {
16
19
  import {
17
20
  Typography
18
21
  } from "./chunk-ERGNR6UQ.mjs";
22
+ import {
23
+ Card
24
+ } from "./chunk-FO2QCB4Z.mjs";
19
25
  import {
20
26
  cn
21
27
  } from "./chunk-GJ4U5NCE.mjs";
@@ -294,14 +300,15 @@ var EventList = ({
294
300
  },
295
301
  `loading-${index}`
296
302
  )),
297
- !isLoading && !isError && (tileEvents == null ? void 0 : tileEvents.length) === 0 ? /* @__PURE__ */ jsx(
298
- Typography,
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,
299
305
  {
300
- variant: "body",
301
- className: "w-full col-span-full flex flex-col items-center justify-center h-32",
302
- children: labels.eventList.empty
306
+ ariaLabel: labels.eventList.emptyAria,
307
+ title: labels.eventList.emptyTitle,
308
+ description: labels.eventList.emptyDescription,
309
+ className: "min-h-[320px]"
303
310
  }
304
- ) : null,
311
+ ) }) : null,
305
312
  isError ? /* @__PURE__ */ jsx(
306
313
  Typography,
307
314
  {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EventList
3
- } from "./chunk-OH56VUYK.mjs";
3
+ } from "./chunk-GFBF2J3Y.mjs";
4
4
  import {
5
5
  Tabs
6
6
  } from "./chunk-S3H63TQ5.mjs";
@@ -2,6 +2,17 @@ import {
2
2
  toDate
3
3
  } from "./chunk-GJ4U5NCE.mjs";
4
4
 
5
+ // src/shared/query-error.ts
6
+ var getErrorStatus = (error) => {
7
+ if (!error || typeof error !== "object")
8
+ return null;
9
+ const status = error.status;
10
+ return typeof status === "number" ? status : null;
11
+ };
12
+ var isErrorWithStatus = (error, status) => {
13
+ return getErrorStatus(error) === status;
14
+ };
15
+
5
16
  // src/events/item/event-list-item.utils.ts
6
17
  var resolveEventListItemEvent = (fetchedEvent) => {
7
18
  if (!fetchedEvent)
@@ -142,6 +153,7 @@ var resolveVenueLabel = (venue, venueInfo, labels) => {
142
153
  };
143
154
 
144
155
  export {
156
+ isErrorWithStatus,
145
157
  resolveEventListItemEvent,
146
158
  normalizeProbability,
147
159
  sortOutcomes,
@@ -8,15 +8,19 @@ import {
8
8
  resolveOutcomeLabels,
9
9
  resolveOutcomesByVenue,
10
10
  resolveSeriesColor
11
- } from "./chunk-HOXTJ742.mjs";
11
+ } from "./chunk-34IRJYSU.mjs";
12
12
  import {
13
+ isErrorWithStatus,
13
14
  normalizeProbability,
14
15
  resolveEventListItemEvent,
15
16
  resolveTileImage,
16
17
  resolveTileTitle,
17
18
  resolveVenueLabel,
18
19
  selectPrimaryVenueMarket
19
- } from "./chunk-QM7CGMFG.mjs";
20
+ } from "./chunk-MKVGQ7AS.mjs";
21
+ import {
22
+ StateMessage
23
+ } from "./chunk-XUCS575S.mjs";
20
24
  import {
21
25
  Badge
22
26
  } from "./chunk-K6IJ4WBM.mjs";
@@ -86,6 +90,21 @@ var EventListItemDetailsUnavailableState = ({
86
90
  }
87
91
  );
88
92
  };
93
+ var EventListItemDetailsNotFoundState = ({
94
+ classNames,
95
+ ariaLabel
96
+ }) => {
97
+ const labels = useLabels();
98
+ return /* @__PURE__ */ jsx(Card, { className: cn(detailsBaseCardClassName, classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsx(
99
+ StateMessage,
100
+ {
101
+ ariaLabel: ariaLabel != null ? ariaLabel : labels.eventItemDetails.notFoundAria,
102
+ title: labels.eventItemDetails.notFoundTitle,
103
+ description: labels.eventItemDetails.notFoundDescription,
104
+ className: "min-h-[280px] md:min-h-[320px]"
105
+ }
106
+ ) });
107
+ };
89
108
  var probabilityModeOrder = ["yes", "no"];
90
109
  var clampProbability = (value) => {
91
110
  if (value < 0)
@@ -210,7 +229,12 @@ var EventListItemDetailsGraphSection = ({
210
229
  const timeWindow = useMemo(() => {
211
230
  return getTimeWindowByRange(selectedTimeRange);
212
231
  }, [selectedTimeRange]);
213
- const { data: priceHistoryData, isLoading: isPriceHistoryLoading } = usePriceHistory(__spreadProps(__spreadValues({
232
+ const {
233
+ data: priceHistoryData,
234
+ isLoading: isPriceHistoryLoading,
235
+ error: priceHistoryError,
236
+ results: priceHistoryResults
237
+ } = usePriceHistory(__spreadProps(__spreadValues({
214
238
  groups: priceHistoryGroups
215
239
  }, timeWindow), {
216
240
  enabled: priceHistoryGroups.length > 0
@@ -314,6 +338,32 @@ var EventListItemDetailsGraphSection = ({
314
338
  return venue;
315
339
  });
316
340
  };
341
+ const handleRetryPriceHistory = () => {
342
+ void Promise.all(priceHistoryResults.map((result) => result.refetch()));
343
+ };
344
+ if (priceHistoryError) {
345
+ return /* @__PURE__ */ jsx(
346
+ "div",
347
+ {
348
+ className: cn(
349
+ "w-full rounded-agg-xl border border-agg-separator bg-agg-secondary",
350
+ classNames == null ? void 0 : classNames.chart
351
+ ),
352
+ children: /* @__PURE__ */ jsx(
353
+ StateMessage,
354
+ {
355
+ ariaLabel: labels.eventItemDetails.chartUnavailableAria,
356
+ tone: "warning",
357
+ title: labels.eventItemDetails.chartUnavailableTitle,
358
+ description: labels.eventItemDetails.chartUnavailableDescription,
359
+ actionLabel: labels.common.retry,
360
+ onAction: handleRetryPriceHistory,
361
+ className: "min-h-[300px] px-5 py-10 md:px-10"
362
+ }
363
+ )
364
+ }
365
+ );
366
+ }
317
367
  return /* @__PURE__ */ jsx(
318
368
  LineChart,
319
369
  {
@@ -638,6 +688,7 @@ var EventListItemDetailsByEventId = (_a) => {
638
688
  ]);
639
689
  const {
640
690
  event: fetchedEvent,
691
+ error,
641
692
  isError,
642
693
  isLoading
643
694
  } = useEvent(eventId, {
@@ -658,7 +709,10 @@ var EventListItemDetailsByEventId = (_a) => {
658
709
  if (isLoading) {
659
710
  return /* @__PURE__ */ jsx(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
660
711
  }
661
- if (!resolvedEvent && !isError) {
712
+ if (isErrorWithStatus(error, 404)) {
713
+ return /* @__PURE__ */ jsx(EventListItemDetailsNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
714
+ }
715
+ if (!fetchedEvent && !isError) {
662
716
  return /* @__PURE__ */ jsx(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
663
717
  }
664
718
  if (!resolvedEvent) {