@agg-build/ui 4.0.0 → 4.2.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/{chunk-JTSLZARU.mjs → chunk-6X6Y4INU.mjs} +2 -2
- package/dist/{chunk-XIDQ2A6W.mjs → chunk-DNPDXL2D.mjs} +1357 -858
- package/dist/{chunk-KX3TQ7WC.mjs → chunk-FTL25XKE.mjs} +1 -1
- package/dist/{chunk-MKU5Q6PN.mjs → chunk-GNEFI4SO.mjs} +25 -8
- package/dist/{chunk-KO6VTRV6.mjs → chunk-QW7VFURU.mjs} +283 -229
- package/dist/{chunk-R362GNI2.mjs → chunk-UDBHAZJJ.mjs} +12 -27
- package/dist/{chunk-VR5ZRDQT.mjs → chunk-WDCH4RRS.mjs} +1 -1
- package/dist/events.js +760 -689
- package/dist/events.mjs +3 -3
- package/dist/index.js +4032 -3479
- package/dist/index.mjs +15 -7
- package/dist/modals.js +1312 -1258
- package/dist/modals.mjs +3 -3
- package/dist/pages.js +3364 -2817
- package/dist/pages.mjs +8 -6
- package/dist/primitives.js +316 -262
- package/dist/primitives.mjs +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/trading.js +1996 -1445
- package/dist/trading.mjs +10 -4
- package/dist/types/pages/user-profile/index.d.mts +1 -0
- package/dist/types/pages/user-profile/index.d.ts +1 -0
- package/dist/types/primitives/venue-logo/svg/logo-novig.d.mts +24 -0
- package/dist/types/primitives/venue-logo/svg/logo-novig.d.ts +24 -0
- package/dist/types/primitives/venue-logo/venue-logo.constants.d.mts +1 -1
- package/dist/types/primitives/venue-logo/venue-logo.constants.d.ts +1 -1
- package/dist/types/trading/place-order/index.d.mts +3 -0
- package/dist/types/trading/place-order/index.d.ts +3 -0
- package/dist/types/trading/place-order/index.place-order.execution-steps.d.mts +28 -75
- package/dist/types/trading/place-order/index.place-order.execution-steps.d.ts +28 -75
- package/dist/types/trading/place-order/index.place-order.execution-view.d.mts +25 -0
- package/dist/types/trading/place-order/index.place-order.execution-view.d.ts +25 -0
- package/dist/types/trading/place-order/index.place-order.types.d.mts +6 -0
- package/dist/types/trading/place-order/index.place-order.types.d.ts +6 -0
- package/dist/types/trading/place-order/index.place-order.utils.d.mts +8 -1
- package/dist/types/trading/place-order/index.place-order.utils.d.ts +8 -1
- package/package.json +3 -3
package/dist/events.js
CHANGED
|
@@ -82,7 +82,7 @@ __export(events_exports, {
|
|
|
82
82
|
module.exports = __toCommonJS(events_exports);
|
|
83
83
|
|
|
84
84
|
// src/events/item/index.tsx
|
|
85
|
-
var
|
|
85
|
+
var import_hooks32 = require("@agg-build/hooks");
|
|
86
86
|
var import_react10 = require("react");
|
|
87
87
|
|
|
88
88
|
// src/constants.ts
|
|
@@ -5054,10 +5054,10 @@ var Skeleton = ({
|
|
|
5054
5054
|
Skeleton.displayName = "Skeleton";
|
|
5055
5055
|
|
|
5056
5056
|
// src/primitives/venue-logo/index.tsx
|
|
5057
|
-
var
|
|
5057
|
+
var import_hooks25 = require("@agg-build/hooks");
|
|
5058
5058
|
|
|
5059
5059
|
// src/primitives/venue-logo/venue-logo.constants.ts
|
|
5060
|
-
var
|
|
5060
|
+
var import_sdk11 = require("@agg-build/sdk");
|
|
5061
5061
|
|
|
5062
5062
|
// src/primitives/venue-logo/logo-props.ts
|
|
5063
5063
|
var DEFAULT_MONOCHROME_COLOR = "currentColor";
|
|
@@ -5298,11 +5298,11 @@ var LogoMyriadIcon = (_a) => {
|
|
|
5298
5298
|
};
|
|
5299
5299
|
LogoMyriadIcon.displayName = "LogoMyriadIcon";
|
|
5300
5300
|
|
|
5301
|
-
// src/primitives/venue-logo/svg/logo-
|
|
5301
|
+
// src/primitives/venue-logo/svg/logo-novig.tsx
|
|
5302
5302
|
var import_hooks20 = require("@agg-build/hooks");
|
|
5303
5303
|
var import_sdk6 = require("@agg-build/sdk");
|
|
5304
5304
|
var import_jsx_runtime111 = require("react/jsx-runtime");
|
|
5305
|
-
var
|
|
5305
|
+
var LogoNovigIcon = (_a) => {
|
|
5306
5306
|
var _b = _a, {
|
|
5307
5307
|
title: title2,
|
|
5308
5308
|
className,
|
|
@@ -5320,7 +5320,7 @@ var LogoOpinionIcon = (_a) => {
|
|
|
5320
5320
|
} = (0, import_hooks20.useAggUiConfig)();
|
|
5321
5321
|
const isDarkTheme = theme === "dark";
|
|
5322
5322
|
const primaryColor = resolveLogoPrimaryColor({
|
|
5323
|
-
brandColor: (_a2 = resolveVenueLineColor(import_sdk6.Venue.
|
|
5323
|
+
brandColor: (_a2 = resolveVenueLineColor(import_sdk6.Venue.novig, isDarkTheme)) != null ? _a2 : "#179BE7",
|
|
5324
5324
|
isColor,
|
|
5325
5325
|
color
|
|
5326
5326
|
});
|
|
@@ -5333,24 +5333,22 @@ var LogoOpinionIcon = (_a) => {
|
|
|
5333
5333
|
}, getIconA11yProps(title2)), props), {
|
|
5334
5334
|
children: [
|
|
5335
5335
|
title2 ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("title", { children: title2 }) : null,
|
|
5336
|
-
/* @__PURE__ */ (0, import_jsx_runtime111.
|
|
5337
|
-
"path",
|
|
5338
|
-
{
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
}
|
|
5342
|
-
)
|
|
5336
|
+
/* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("g", { stroke: primaryColor, strokeWidth: 19.3, strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
5337
|
+
/* @__PURE__ */ (0, import_jsx_runtime111.jsx)("path", { d: "M33.6 34.7L64.2 65.4" }),
|
|
5338
|
+
/* @__PURE__ */ (0, import_jsx_runtime111.jsx)("path", { d: "M64.2 34.7V65.4" })
|
|
5339
|
+
] }),
|
|
5340
|
+
/* @__PURE__ */ (0, import_jsx_runtime111.jsx)("circle", { cx: 32.2, cy: 65.5, r: 9.65, fill: primaryColor })
|
|
5343
5341
|
]
|
|
5344
5342
|
})
|
|
5345
5343
|
);
|
|
5346
5344
|
};
|
|
5347
|
-
|
|
5345
|
+
LogoNovigIcon.displayName = "LogoNovigIcon";
|
|
5348
5346
|
|
|
5349
|
-
// src/primitives/venue-logo/svg/logo-
|
|
5347
|
+
// src/primitives/venue-logo/svg/logo-opinion.tsx
|
|
5350
5348
|
var import_hooks21 = require("@agg-build/hooks");
|
|
5351
5349
|
var import_sdk7 = require("@agg-build/sdk");
|
|
5352
5350
|
var import_jsx_runtime112 = require("react/jsx-runtime");
|
|
5353
|
-
var
|
|
5351
|
+
var LogoOpinionIcon = (_a) => {
|
|
5354
5352
|
var _b = _a, {
|
|
5355
5353
|
title: title2,
|
|
5356
5354
|
className,
|
|
@@ -5368,7 +5366,7 @@ var LogoPolymarketIcon = (_a) => {
|
|
|
5368
5366
|
} = (0, import_hooks21.useAggUiConfig)();
|
|
5369
5367
|
const isDarkTheme = theme === "dark";
|
|
5370
5368
|
const primaryColor = resolveLogoPrimaryColor({
|
|
5371
|
-
brandColor: (_a2 = resolveVenueLineColor(import_sdk7.Venue.
|
|
5369
|
+
brandColor: (_a2 = resolveVenueLineColor(import_sdk7.Venue.opinion, isDarkTheme)) != null ? _a2 : "#ec5e26",
|
|
5372
5370
|
isColor,
|
|
5373
5371
|
color
|
|
5374
5372
|
});
|
|
@@ -5384,7 +5382,7 @@ var LogoPolymarketIcon = (_a) => {
|
|
|
5384
5382
|
/* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
|
|
5385
5383
|
"path",
|
|
5386
5384
|
{
|
|
5387
|
-
d: "
|
|
5385
|
+
d: "M51.8239 68.4603L56.9659 68.0094L58.8049 89.0576C61.1459 88.5314 63.4349 87.7952 65.6437 86.8578V68.1879H71.9955V83.4385C74.6496 81.6828 77.0863 79.619 79.2548 77.2898L80.0716 67.958L85.516 68.433C88.6185 62.4381 90.156 55.7558 89.9858 49.0072C89.8154 42.2584 87.9429 35.6623 84.542 29.8316L84.3394 32.1494L77.9876 31.5927L78.8042 22.2668C76.7468 20.1288 74.4594 18.225 71.9835 16.5902V31.9164H65.6317V13.1739C62.9224 12.0205 60.0929 11.173 57.1957 10.6473L59.0317 31.6441L53.8897 32.0949L51.9599 10.0482C51.3128 10.0179 50.6593 9.99976 50.006 9.99976C47.4581 9.99976 44.9161 10.2419 42.414 10.723L46.0438 31.3899L42.1297 32.0798L38.5304 11.6701C35.1755 12.6725 31.9677 14.1143 28.9905 15.9578L33.0435 31.0873L29.9705 31.9134L26.2018 17.8369C23.2938 19.9923 20.6902 22.5308 18.4615 25.3835L20.4246 30.7787L18.1833 31.5956L16.7707 27.7134C14.5111 31.0771 12.7772 34.7657 11.6287 38.652L12.2639 38.4221L20.4306 60.8471L18.1893 61.6641L10.8877 41.5963C9.21542 49.4012 9.91256 57.528 12.8896 64.9338C15.8667 72.3395 20.9879 78.6865 27.5961 83.1601L23.8031 68.9989L26.8762 68.1728L31.5162 85.4991C34.6952 87.1593 38.0844 88.3808 41.5914 89.1303L38.0132 68.7296L41.9301 68.0397L45.7684 89.8262C47.1811 89.9757 48.6007 90.0505 50.0212 90.0502C51.2583 90.0502 52.4863 89.9926 53.6963 89.8807L51.8239 68.4603ZM80.1017 37.8985L86.4385 38.4524L84.3605 62.2299L78.0087 61.6761L80.1017 37.8985ZM65.6528 38.1315H72.0046V61.9969H65.6528V38.1315ZM56.975 37.9501L59.053 61.7277L53.911 62.1785L51.8299 38.4009L56.975 37.9501ZM29.9976 62.003L23.8243 38.9486L26.8974 38.1255L33.0707 61.1649L29.9976 62.003ZM42.157 62.1603L38.0132 38.658L41.9301 37.9683L46.0709 61.4674L42.157 62.1603Z",
|
|
5388
5386
|
fill: primaryColor
|
|
5389
5387
|
}
|
|
5390
5388
|
)
|
|
@@ -5392,13 +5390,13 @@ var LogoPolymarketIcon = (_a) => {
|
|
|
5392
5390
|
})
|
|
5393
5391
|
);
|
|
5394
5392
|
};
|
|
5395
|
-
|
|
5393
|
+
LogoOpinionIcon.displayName = "LogoOpinionIcon";
|
|
5396
5394
|
|
|
5397
|
-
// src/primitives/venue-logo/svg/logo-
|
|
5395
|
+
// src/primitives/venue-logo/svg/logo-polymarket.tsx
|
|
5398
5396
|
var import_hooks22 = require("@agg-build/hooks");
|
|
5399
5397
|
var import_sdk8 = require("@agg-build/sdk");
|
|
5400
5398
|
var import_jsx_runtime113 = require("react/jsx-runtime");
|
|
5401
|
-
var
|
|
5399
|
+
var LogoPolymarketIcon = (_a) => {
|
|
5402
5400
|
var _b = _a, {
|
|
5403
5401
|
title: title2,
|
|
5404
5402
|
className,
|
|
@@ -5416,7 +5414,7 @@ var LogoPredictIcon = (_a) => {
|
|
|
5416
5414
|
} = (0, import_hooks22.useAggUiConfig)();
|
|
5417
5415
|
const isDarkTheme = theme === "dark";
|
|
5418
5416
|
const primaryColor = resolveLogoPrimaryColor({
|
|
5419
|
-
brandColor: (_a2 = resolveVenueLineColor(import_sdk8.Venue.
|
|
5417
|
+
brandColor: (_a2 = resolveVenueLineColor(import_sdk8.Venue.polymarket, isDarkTheme)) != null ? _a2 : "#2E5CFF",
|
|
5420
5418
|
isColor,
|
|
5421
5419
|
color
|
|
5422
5420
|
});
|
|
@@ -5432,9 +5430,7 @@ var LogoPredictIcon = (_a) => {
|
|
|
5432
5430
|
/* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
|
|
5433
5431
|
"path",
|
|
5434
5432
|
{
|
|
5435
|
-
|
|
5436
|
-
clipRule: "evenodd",
|
|
5437
|
-
d: "M75.2979 28.7579C76.4297 31.8263 77.0757 35.3709 77.0757 39.3906C77.0757 55.8415 65.8789 66.072 51.536 66.072C50.6567 66.072 49.836 65.9154 49.1715 65.7591C46.0451 65.485 45.0681 66.2871 45.0681 67.9695V69.3583C45.0681 71.4905 45.3809 72.3708 47.9602 73.5443C53.7443 76.322 51.8488 85.0855 44.6187 85.6919C39.6945 86.1027 33.7346 86.1027 28.6345 85.6919C21.893 85.144 19.6458 77.3979 24.9218 74.0138C27.4621 72.5077 28.4 70.4537 28.4195 66.0329C28.4977 53.5527 28.4977 50.6969 28.4782 39.9186C28.4586 33.9134 27.677 32.5246 24.2183 29.121C21.0527 25.9716 22.0884 21.2377 26.4069 18.7926C29.1621 17.2278 31.6633 16.054 34.6725 14.8608C37.5255 13.6871 39.8117 13.8437 41.414 14.9196C43.4267 16.1909 45.5177 16.3669 47.9992 15.4085C50.1486 14.5088 52.3569 14 54.7407 14C62.1263 14 69.7167 17.8763 73.871 25.5865C74.1788 26.1427 74.8952 27.5557 75.2979 28.7579ZM45.0681 45.9632C45.0681 50.599 47.667 53.4158 52.0246 53.4158C57.1639 53.4158 59.4696 49.6602 59.4696 41.7967C59.4696 32.7984 56.5971 28.006 51.536 28.006C47.5106 28.006 45.0681 31.077 45.0681 36.1825V45.9632Z",
|
|
5433
|
+
d: "M81.0904 84.2882C81.0904 87.9246 81.0904 89.7428 79.901 90.644C78.7119 91.5456 76.9613 91.0542 73.4603 90.0717L17.1975 74.2838C15.0881 73.6919 14.0332 73.3959 13.4233 72.5913C12.8135 71.7866 12.8135 70.6911 12.8135 68.5002V31.4998C12.8135 29.309 12.8135 28.2134 13.4233 27.4088C14.0332 26.6042 15.0881 26.3081 17.1975 25.7163L73.4603 9.92806C76.9613 8.94572 78.7119 8.45448 79.901 9.35587C81.0904 10.2573 81.0904 12.0755 81.0904 15.7119V84.2882ZM26.8451 69.1363L73.4308 82.2104V56.0637L26.8451 69.1363ZM20.4723 63.0711L67.0487 50L20.4723 36.929V63.0711ZM26.8446 30.8638L73.4308 43.9366V17.7896L26.8446 30.8638Z",
|
|
5438
5434
|
fill: primaryColor
|
|
5439
5435
|
}
|
|
5440
5436
|
)
|
|
@@ -5442,13 +5438,13 @@ var LogoPredictIcon = (_a) => {
|
|
|
5442
5438
|
})
|
|
5443
5439
|
);
|
|
5444
5440
|
};
|
|
5445
|
-
|
|
5441
|
+
LogoPolymarketIcon.displayName = "LogoPolymarketIcon";
|
|
5446
5442
|
|
|
5447
|
-
// src/primitives/venue-logo/svg/logo-
|
|
5443
|
+
// src/primitives/venue-logo/svg/logo-predict.tsx
|
|
5448
5444
|
var import_hooks23 = require("@agg-build/hooks");
|
|
5449
5445
|
var import_sdk9 = require("@agg-build/sdk");
|
|
5450
5446
|
var import_jsx_runtime114 = require("react/jsx-runtime");
|
|
5451
|
-
var
|
|
5447
|
+
var LogoPredictIcon = (_a) => {
|
|
5452
5448
|
var _b = _a, {
|
|
5453
5449
|
title: title2,
|
|
5454
5450
|
className,
|
|
@@ -5466,7 +5462,7 @@ var LogoProbableIcon = (_a) => {
|
|
|
5466
5462
|
} = (0, import_hooks23.useAggUiConfig)();
|
|
5467
5463
|
const isDarkTheme = theme === "dark";
|
|
5468
5464
|
const primaryColor = resolveLogoPrimaryColor({
|
|
5469
|
-
brandColor: (_a2 = resolveVenueLineColor(import_sdk9.Venue.
|
|
5465
|
+
brandColor: (_a2 = resolveVenueLineColor(import_sdk9.Venue.predict, isDarkTheme)) != null ? _a2 : "#705bf6",
|
|
5470
5466
|
isColor,
|
|
5471
5467
|
color
|
|
5472
5468
|
});
|
|
@@ -5480,14 +5476,64 @@ var LogoProbableIcon = (_a) => {
|
|
|
5480
5476
|
children: [
|
|
5481
5477
|
title2 ? /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("title", { children: title2 }) : null,
|
|
5482
5478
|
/* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
|
|
5479
|
+
"path",
|
|
5480
|
+
{
|
|
5481
|
+
fillRule: "evenodd",
|
|
5482
|
+
clipRule: "evenodd",
|
|
5483
|
+
d: "M75.2979 28.7579C76.4297 31.8263 77.0757 35.3709 77.0757 39.3906C77.0757 55.8415 65.8789 66.072 51.536 66.072C50.6567 66.072 49.836 65.9154 49.1715 65.7591C46.0451 65.485 45.0681 66.2871 45.0681 67.9695V69.3583C45.0681 71.4905 45.3809 72.3708 47.9602 73.5443C53.7443 76.322 51.8488 85.0855 44.6187 85.6919C39.6945 86.1027 33.7346 86.1027 28.6345 85.6919C21.893 85.144 19.6458 77.3979 24.9218 74.0138C27.4621 72.5077 28.4 70.4537 28.4195 66.0329C28.4977 53.5527 28.4977 50.6969 28.4782 39.9186C28.4586 33.9134 27.677 32.5246 24.2183 29.121C21.0527 25.9716 22.0884 21.2377 26.4069 18.7926C29.1621 17.2278 31.6633 16.054 34.6725 14.8608C37.5255 13.6871 39.8117 13.8437 41.414 14.9196C43.4267 16.1909 45.5177 16.3669 47.9992 15.4085C50.1486 14.5088 52.3569 14 54.7407 14C62.1263 14 69.7167 17.8763 73.871 25.5865C74.1788 26.1427 74.8952 27.5557 75.2979 28.7579ZM45.0681 45.9632C45.0681 50.599 47.667 53.4158 52.0246 53.4158C57.1639 53.4158 59.4696 49.6602 59.4696 41.7967C59.4696 32.7984 56.5971 28.006 51.536 28.006C47.5106 28.006 45.0681 31.077 45.0681 36.1825V45.9632Z",
|
|
5484
|
+
fill: primaryColor
|
|
5485
|
+
}
|
|
5486
|
+
)
|
|
5487
|
+
]
|
|
5488
|
+
})
|
|
5489
|
+
);
|
|
5490
|
+
};
|
|
5491
|
+
LogoPredictIcon.displayName = "LogoPredictIcon";
|
|
5492
|
+
|
|
5493
|
+
// src/primitives/venue-logo/svg/logo-probable.tsx
|
|
5494
|
+
var import_hooks24 = require("@agg-build/hooks");
|
|
5495
|
+
var import_sdk10 = require("@agg-build/sdk");
|
|
5496
|
+
var import_jsx_runtime115 = require("react/jsx-runtime");
|
|
5497
|
+
var LogoProbableIcon = (_a) => {
|
|
5498
|
+
var _b = _a, {
|
|
5499
|
+
title: title2,
|
|
5500
|
+
className,
|
|
5501
|
+
isColor = true,
|
|
5502
|
+
color
|
|
5503
|
+
} = _b, props = __objRest(_b, [
|
|
5504
|
+
"title",
|
|
5505
|
+
"className",
|
|
5506
|
+
"isColor",
|
|
5507
|
+
"color"
|
|
5508
|
+
]);
|
|
5509
|
+
var _a2;
|
|
5510
|
+
const {
|
|
5511
|
+
general: { theme }
|
|
5512
|
+
} = (0, import_hooks24.useAggUiConfig)();
|
|
5513
|
+
const isDarkTheme = theme === "dark";
|
|
5514
|
+
const primaryColor = resolveLogoPrimaryColor({
|
|
5515
|
+
brandColor: (_a2 = resolveVenueLineColor(import_sdk10.Venue.probable, isDarkTheme)) != null ? _a2 : "#EC4899",
|
|
5516
|
+
isColor,
|
|
5517
|
+
color
|
|
5518
|
+
});
|
|
5519
|
+
return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
|
|
5520
|
+
"svg",
|
|
5521
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
5522
|
+
viewBox: "0 0 100 100",
|
|
5523
|
+
className,
|
|
5524
|
+
fill: "none"
|
|
5525
|
+
}, getIconA11yProps(title2)), props), {
|
|
5526
|
+
children: [
|
|
5527
|
+
title2 ? /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("title", { children: title2 }) : null,
|
|
5528
|
+
/* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
|
|
5483
5529
|
"path",
|
|
5484
5530
|
{
|
|
5485
5531
|
d: "M75.625 59.3489C75.6247 53.7323 71.0719 49.1792 65.4551 49.179H33.9209C28.3039 49.179 23.7503 53.7321 23.75 59.3489C23.75 64.9659 28.3038 69.5198 33.9209 69.5198H65.4551C71.0719 69.5195 75.625 64.9658 75.625 59.3489ZM90.625 59.3489C90.625 73.2501 79.3562 84.5195 65.4551 84.5198H33.9209C20.0196 84.5198 8.75 73.2502 8.75 59.3489C8.75026 45.4477 20.0198 34.179 33.9209 34.179H65.4551C79.3559 34.1792 90.6247 45.4478 90.625 59.3489Z",
|
|
5486
5532
|
fill: primaryColor
|
|
5487
5533
|
}
|
|
5488
5534
|
),
|
|
5489
|
-
/* @__PURE__ */ (0,
|
|
5490
|
-
/* @__PURE__ */ (0,
|
|
5535
|
+
/* @__PURE__ */ (0, import_jsx_runtime115.jsx)("path", { d: "M90.9329 15.4546V30.4546H8.90234V15.4546H90.9329Z", fill: primaryColor }),
|
|
5536
|
+
/* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
|
|
5491
5537
|
"path",
|
|
5492
5538
|
{
|
|
5493
5539
|
d: "M64.5742 51.3496C68.9894 51.3496 72.5742 54.9344 72.5742 59.3496C72.5742 63.7648 68.9894 67.3496 64.5742 67.3496C60.159 67.3496 56.5742 63.7648 56.5742 59.3496C56.5742 54.9344 60.159 51.3496 64.5742 51.3496Z",
|
|
@@ -5502,38 +5548,41 @@ LogoProbableIcon.displayName = "LogoProbableIcon";
|
|
|
5502
5548
|
|
|
5503
5549
|
// src/primitives/venue-logo/venue-logo.constants.ts
|
|
5504
5550
|
var venueLogoRegistry = {
|
|
5505
|
-
[
|
|
5506
|
-
[
|
|
5507
|
-
[
|
|
5508
|
-
[
|
|
5509
|
-
[
|
|
5510
|
-
[
|
|
5511
|
-
[
|
|
5512
|
-
[
|
|
5551
|
+
[import_sdk11.Venue.kalshi]: LogoKalshiIcon,
|
|
5552
|
+
[import_sdk11.Venue.limitless]: LogoLimitlessIcon,
|
|
5553
|
+
[import_sdk11.Venue.opinion]: LogoOpinionIcon,
|
|
5554
|
+
[import_sdk11.Venue.polymarket]: LogoPolymarketIcon,
|
|
5555
|
+
[import_sdk11.Venue.predict]: LogoPredictIcon,
|
|
5556
|
+
[import_sdk11.Venue.probable]: LogoProbableIcon,
|
|
5557
|
+
[import_sdk11.Venue.myriad]: LogoMyriadIcon,
|
|
5558
|
+
[import_sdk11.Venue.hyperliquid]: LogoHyperliquidIcon,
|
|
5559
|
+
[import_sdk11.Venue.novig]: LogoNovigIcon
|
|
5513
5560
|
};
|
|
5514
5561
|
var VENUE_LOGO_BASE_URL = "https://assets.snagsolutions.io/public/prediction-markets/logos";
|
|
5562
|
+
var DEFAULT_VENUE_LOGO_URL = `${VENUE_LOGO_BASE_URL}/default.png`;
|
|
5515
5563
|
var venueLogoUrlRegistry = {
|
|
5516
|
-
[
|
|
5517
|
-
[
|
|
5518
|
-
[
|
|
5519
|
-
[
|
|
5520
|
-
[
|
|
5521
|
-
[
|
|
5522
|
-
[
|
|
5523
|
-
[
|
|
5564
|
+
[import_sdk11.Venue.kalshi]: `${VENUE_LOGO_BASE_URL}/kalshi.png`,
|
|
5565
|
+
[import_sdk11.Venue.limitless]: `${VENUE_LOGO_BASE_URL}/limitless.png`,
|
|
5566
|
+
[import_sdk11.Venue.opinion]: `${VENUE_LOGO_BASE_URL}/opinion.png`,
|
|
5567
|
+
[import_sdk11.Venue.polymarket]: `${VENUE_LOGO_BASE_URL}/polymarket.png`,
|
|
5568
|
+
[import_sdk11.Venue.predict]: `${VENUE_LOGO_BASE_URL}/predict.png`,
|
|
5569
|
+
[import_sdk11.Venue.probable]: `${VENUE_LOGO_BASE_URL}/probable.png`,
|
|
5570
|
+
[import_sdk11.Venue.myriad]: `${VENUE_LOGO_BASE_URL}/myriad.png`,
|
|
5571
|
+
[import_sdk11.Venue.hyperliquid]: `${VENUE_LOGO_BASE_URL}/hyperliquid.png`,
|
|
5572
|
+
[import_sdk11.Venue.novig]: `${VENUE_LOGO_BASE_URL}/novig.png`
|
|
5524
5573
|
};
|
|
5525
5574
|
var venueLogoLabels = {
|
|
5526
|
-
[
|
|
5527
|
-
[
|
|
5528
|
-
[
|
|
5529
|
-
[
|
|
5530
|
-
[
|
|
5531
|
-
[
|
|
5532
|
-
[
|
|
5533
|
-
[
|
|
5575
|
+
[import_sdk11.Venue.kalshi]: "Kalshi",
|
|
5576
|
+
[import_sdk11.Venue.limitless]: "Limitless",
|
|
5577
|
+
[import_sdk11.Venue.opinion]: "Opinion",
|
|
5578
|
+
[import_sdk11.Venue.polymarket]: "Polymarket",
|
|
5579
|
+
[import_sdk11.Venue.predict]: "Predict",
|
|
5580
|
+
[import_sdk11.Venue.probable]: "Probable",
|
|
5581
|
+
[import_sdk11.Venue.myriad]: "Myriad",
|
|
5582
|
+
[import_sdk11.Venue.hyperliquid]: "Hyperliquid",
|
|
5583
|
+
[import_sdk11.Venue.novig]: "Novig"
|
|
5534
5584
|
};
|
|
5535
5585
|
var DEFAULT_VENUE_LABEL = "Market";
|
|
5536
|
-
var DEFAULT_VENUE_LOGO_URL = `${VENUE_LOGO_BASE_URL}/default.png`;
|
|
5537
5586
|
var venueLogoNames = Object.keys(venueLogoRegistry);
|
|
5538
5587
|
var sizeClasses2 = {
|
|
5539
5588
|
small: "h-4 w-4",
|
|
@@ -5542,24 +5591,29 @@ var sizeClasses2 = {
|
|
|
5542
5591
|
};
|
|
5543
5592
|
var lineColorByVenue = {
|
|
5544
5593
|
light: {
|
|
5545
|
-
[
|
|
5546
|
-
[
|
|
5547
|
-
[
|
|
5548
|
-
[
|
|
5549
|
-
[
|
|
5550
|
-
[
|
|
5551
|
-
[
|
|
5552
|
-
[
|
|
5594
|
+
[import_sdk11.Venue.kalshi]: "#00D295",
|
|
5595
|
+
[import_sdk11.Venue.limitless]: "#C4FF00",
|
|
5596
|
+
[import_sdk11.Venue.opinion]: "#000000",
|
|
5597
|
+
[import_sdk11.Venue.polymarket]: "#2E5CFF",
|
|
5598
|
+
[import_sdk11.Venue.predict]: "#6D57F8",
|
|
5599
|
+
[import_sdk11.Venue.probable]: "#F05923",
|
|
5600
|
+
[import_sdk11.Venue.myriad]: "#000000",
|
|
5601
|
+
[import_sdk11.Venue.hyperliquid]: "#97FCE4",
|
|
5602
|
+
// Novig's own `<meta name="theme-color">`. Their logomark is monochrome
|
|
5603
|
+
// (cream on #050505, like Opinion/Myriad), but unlike those two this blue
|
|
5604
|
+
// reads on both themes, so it does not need the light/dark flip they use.
|
|
5605
|
+
[import_sdk11.Venue.novig]: "#179BE7"
|
|
5553
5606
|
},
|
|
5554
5607
|
dark: {
|
|
5555
|
-
[
|
|
5556
|
-
[
|
|
5557
|
-
[
|
|
5558
|
-
[
|
|
5559
|
-
[
|
|
5560
|
-
[
|
|
5561
|
-
[
|
|
5562
|
-
[
|
|
5608
|
+
[import_sdk11.Venue.kalshi]: "#00D295",
|
|
5609
|
+
[import_sdk11.Venue.limitless]: "#C4FF00",
|
|
5610
|
+
[import_sdk11.Venue.opinion]: "#FFFFFF",
|
|
5611
|
+
[import_sdk11.Venue.polymarket]: "#2E5CFF",
|
|
5612
|
+
[import_sdk11.Venue.predict]: "#6D57F8",
|
|
5613
|
+
[import_sdk11.Venue.probable]: "#F05923",
|
|
5614
|
+
[import_sdk11.Venue.myriad]: "#FFFFFF",
|
|
5615
|
+
[import_sdk11.Venue.hyperliquid]: "#97FCE4",
|
|
5616
|
+
[import_sdk11.Venue.novig]: "#179BE7"
|
|
5563
5617
|
}
|
|
5564
5618
|
};
|
|
5565
5619
|
var resolveVenueLineColor = (venue, isDarkTheme) => {
|
|
@@ -5598,7 +5652,7 @@ var resolveVenueLogoIsColor = ({
|
|
|
5598
5652
|
};
|
|
5599
5653
|
|
|
5600
5654
|
// src/primitives/venue-logo/index.tsx
|
|
5601
|
-
var
|
|
5655
|
+
var import_jsx_runtime116 = require("react/jsx-runtime");
|
|
5602
5656
|
var VenueLogo = ({
|
|
5603
5657
|
venue,
|
|
5604
5658
|
variant = "icon",
|
|
@@ -5611,7 +5665,7 @@ var VenueLogo = ({
|
|
|
5611
5665
|
title: title2
|
|
5612
5666
|
}) => {
|
|
5613
5667
|
var _a, _b;
|
|
5614
|
-
const labels = (0,
|
|
5668
|
+
const labels = (0, import_hooks25.useLabels)();
|
|
5615
5669
|
const sizeClass = sizeClasses2[size];
|
|
5616
5670
|
const resolvedLabel = resolveVenueLogoLabel({
|
|
5617
5671
|
ariaLabel,
|
|
@@ -5624,7 +5678,7 @@ var VenueLogo = ({
|
|
|
5624
5678
|
console.warn(`[AggUI] Unknown venue "${venue}" \u2014 using default logo`);
|
|
5625
5679
|
}
|
|
5626
5680
|
if (variant === "logo") {
|
|
5627
|
-
return /* @__PURE__ */ (0,
|
|
5681
|
+
return /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
5628
5682
|
RemoteImage,
|
|
5629
5683
|
{
|
|
5630
5684
|
src: (_a = venueLogoUrlRegistry[venue]) != null ? _a : DEFAULT_VENUE_LOGO_URL,
|
|
@@ -5639,7 +5693,7 @@ var VenueLogo = ({
|
|
|
5639
5693
|
isColor,
|
|
5640
5694
|
isMonochromatic
|
|
5641
5695
|
});
|
|
5642
|
-
return /* @__PURE__ */ (0,
|
|
5696
|
+
return /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
|
|
5643
5697
|
Component,
|
|
5644
5698
|
{
|
|
5645
5699
|
className: cn("group/agg-venue-logo", "shrink-0", sizeClass, className),
|
|
@@ -5755,7 +5809,7 @@ var resolveEventHeading = ({
|
|
|
5755
5809
|
};
|
|
5756
5810
|
|
|
5757
5811
|
// src/events/item/event-list-item.utils.ts
|
|
5758
|
-
var
|
|
5812
|
+
var import_hooks26 = require("@agg-build/hooks");
|
|
5759
5813
|
|
|
5760
5814
|
// src/events/shared/venue-market-cluster.ts
|
|
5761
5815
|
var toNonEmptyString = (value) => {
|
|
@@ -5923,11 +5977,11 @@ var formatPriceGapPercent = (value, mode = "percent") => {
|
|
|
5923
5977
|
if (value <= 0) return void 0;
|
|
5924
5978
|
if (mode === "fraction") {
|
|
5925
5979
|
const percentageValue = value * 100;
|
|
5926
|
-
if (percentageValue <
|
|
5980
|
+
if (percentageValue < import_hooks26.MIN_PRICE_GAP_PCT) return void 0;
|
|
5927
5981
|
return `${Math.round(percentageValue)}%`;
|
|
5928
5982
|
}
|
|
5929
|
-
if (value <
|
|
5930
|
-
if (value >
|
|
5983
|
+
if (value < import_hooks26.MIN_PRICE_GAP_PCT) return void 0;
|
|
5984
|
+
if (value > import_hooks26.MAX_PRICE_GAP_PCT) return void 0;
|
|
5931
5985
|
return `${Math.round(value)}%`;
|
|
5932
5986
|
};
|
|
5933
5987
|
var sortOutcomes = (outcomes) => {
|
|
@@ -6011,7 +6065,7 @@ var resolveDisplayVolume = (eventVolume, venueMarkets) => {
|
|
|
6011
6065
|
};
|
|
6012
6066
|
|
|
6013
6067
|
// src/primitives/modal/index.tsx
|
|
6014
|
-
var
|
|
6068
|
+
var import_hooks27 = require("@agg-build/hooks");
|
|
6015
6069
|
var Dialog = __toESM(require("@radix-ui/react-dialog"));
|
|
6016
6070
|
|
|
6017
6071
|
// src/primitives/modal/modal.constants.ts
|
|
@@ -6035,7 +6089,7 @@ var resolveModalCloseIcon = ({
|
|
|
6035
6089
|
};
|
|
6036
6090
|
|
|
6037
6091
|
// src/primitives/modal/index.tsx
|
|
6038
|
-
var
|
|
6092
|
+
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
6039
6093
|
var Modal = ({
|
|
6040
6094
|
open,
|
|
6041
6095
|
onOpenChange,
|
|
@@ -6043,7 +6097,7 @@ var Modal = ({
|
|
|
6043
6097
|
"aria-label": _ariaLabel,
|
|
6044
6098
|
"aria-labelledby": _ariaLabelledBy
|
|
6045
6099
|
}) => {
|
|
6046
|
-
return /* @__PURE__ */ (0,
|
|
6100
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Dialog.Root, { open, onOpenChange, children });
|
|
6047
6101
|
};
|
|
6048
6102
|
var ModalContainer = ({
|
|
6049
6103
|
children,
|
|
@@ -6055,11 +6109,11 @@ var ModalContainer = ({
|
|
|
6055
6109
|
const {
|
|
6056
6110
|
general: { rootClassName },
|
|
6057
6111
|
features: { enableAnimations }
|
|
6058
|
-
} = (0,
|
|
6112
|
+
} = (0, import_hooks27.useSdkUiConfig)();
|
|
6059
6113
|
const overlayAnimationClassName = resolveModalOverlayAnimationClassName(enableAnimations);
|
|
6060
6114
|
const panelAnimationClassName = resolveModalPanelAnimationClassName(enableAnimations);
|
|
6061
|
-
return /* @__PURE__ */ (0,
|
|
6062
|
-
/* @__PURE__ */ (0,
|
|
6115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(Dialog.Portal, { children: [
|
|
6116
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6063
6117
|
Dialog.Overlay,
|
|
6064
6118
|
{
|
|
6065
6119
|
className: cn(
|
|
@@ -6070,7 +6124,7 @@ var ModalContainer = ({
|
|
|
6070
6124
|
)
|
|
6071
6125
|
}
|
|
6072
6126
|
),
|
|
6073
|
-
/* @__PURE__ */ (0,
|
|
6127
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6074
6128
|
Dialog.Content,
|
|
6075
6129
|
{
|
|
6076
6130
|
className: cn(
|
|
@@ -6096,7 +6150,7 @@ var ModalContainer = ({
|
|
|
6096
6150
|
event.preventDefault();
|
|
6097
6151
|
}
|
|
6098
6152
|
},
|
|
6099
|
-
children: /* @__PURE__ */ (0,
|
|
6153
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6100
6154
|
"div",
|
|
6101
6155
|
{
|
|
6102
6156
|
className: cn(
|
|
@@ -6104,7 +6158,7 @@ var ModalContainer = ({
|
|
|
6104
6158
|
"items-end md:items-center",
|
|
6105
6159
|
"flex h-full min-h-0 w-full justify-center p-0 md:p-5"
|
|
6106
6160
|
),
|
|
6107
|
-
children: /* @__PURE__ */ (0,
|
|
6161
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6108
6162
|
"div",
|
|
6109
6163
|
{
|
|
6110
6164
|
className: cn(
|
|
@@ -6144,14 +6198,14 @@ var ModalHeader = ({
|
|
|
6144
6198
|
}) => {
|
|
6145
6199
|
const {
|
|
6146
6200
|
features: { enableAnimations }
|
|
6147
|
-
} = (0,
|
|
6148
|
-
const labels = (0,
|
|
6149
|
-
const defaultCloseIcon = /* @__PURE__ */ (0,
|
|
6201
|
+
} = (0, import_hooks27.useSdkUiConfig)();
|
|
6202
|
+
const labels = (0, import_hooks27.useLabels)();
|
|
6203
|
+
const defaultCloseIcon = /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(CloseIcon, { className: "h-6 w-6" });
|
|
6150
6204
|
const resolvedCloseIcon = resolveModalCloseIcon({
|
|
6151
6205
|
closeIcon,
|
|
6152
6206
|
defaultCloseIcon
|
|
6153
6207
|
});
|
|
6154
|
-
return /* @__PURE__ */ (0,
|
|
6208
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(
|
|
6155
6209
|
"div",
|
|
6156
6210
|
{
|
|
6157
6211
|
className: cn(
|
|
@@ -6164,7 +6218,7 @@ var ModalHeader = ({
|
|
|
6164
6218
|
classNames == null ? void 0 : classNames.root
|
|
6165
6219
|
),
|
|
6166
6220
|
children: [
|
|
6167
|
-
/* @__PURE__ */ (0,
|
|
6221
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(
|
|
6168
6222
|
"div",
|
|
6169
6223
|
{
|
|
6170
6224
|
className: cn(
|
|
@@ -6177,8 +6231,8 @@ var ModalHeader = ({
|
|
|
6177
6231
|
classNames == null ? void 0 : classNames.container
|
|
6178
6232
|
),
|
|
6179
6233
|
children: [
|
|
6180
|
-
leftElement ? /* @__PURE__ */ (0,
|
|
6181
|
-
/* @__PURE__ */ (0,
|
|
6234
|
+
leftElement ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_jsx_runtime117.Fragment, { children: leftElement }) : null,
|
|
6235
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(
|
|
6182
6236
|
"div",
|
|
6183
6237
|
{
|
|
6184
6238
|
className: cn(
|
|
@@ -6187,7 +6241,7 @@ var ModalHeader = ({
|
|
|
6187
6241
|
classNames == null ? void 0 : classNames.titleContainer
|
|
6188
6242
|
),
|
|
6189
6243
|
children: [
|
|
6190
|
-
/* @__PURE__ */ (0,
|
|
6244
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6191
6245
|
Dialog.Title,
|
|
6192
6246
|
{
|
|
6193
6247
|
className: cn(
|
|
@@ -6201,7 +6255,7 @@ var ModalHeader = ({
|
|
|
6201
6255
|
children: title2
|
|
6202
6256
|
}
|
|
6203
6257
|
),
|
|
6204
|
-
subtitle ? /* @__PURE__ */ (0,
|
|
6258
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6205
6259
|
"span",
|
|
6206
6260
|
{
|
|
6207
6261
|
className: cn(
|
|
@@ -6215,9 +6269,9 @@ var ModalHeader = ({
|
|
|
6215
6269
|
]
|
|
6216
6270
|
}
|
|
6217
6271
|
),
|
|
6218
|
-
/* @__PURE__ */ (0,
|
|
6219
|
-
rightElement ? /* @__PURE__ */ (0,
|
|
6220
|
-
!hideClose && /* @__PURE__ */ (0,
|
|
6272
|
+
/* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { className: "agg-modal-header-actions flex flex-row items-center justify-end gap-6", children: [
|
|
6273
|
+
rightElement ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_jsx_runtime117.Fragment, { children: rightElement }) : null,
|
|
6274
|
+
!hideClose && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6221
6275
|
Dialog.Close,
|
|
6222
6276
|
{
|
|
6223
6277
|
className: cn(
|
|
@@ -6234,14 +6288,14 @@ var ModalHeader = ({
|
|
|
6234
6288
|
]
|
|
6235
6289
|
}
|
|
6236
6290
|
),
|
|
6237
|
-
children ? /* @__PURE__ */ (0,
|
|
6291
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "agg-modal-header-extra", children }) : null
|
|
6238
6292
|
]
|
|
6239
6293
|
}
|
|
6240
6294
|
);
|
|
6241
6295
|
};
|
|
6242
6296
|
Modal.Header = ModalHeader;
|
|
6243
6297
|
var ModalBody = ({ children, classNames }) => {
|
|
6244
|
-
return /* @__PURE__ */ (0,
|
|
6298
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6245
6299
|
"div",
|
|
6246
6300
|
{
|
|
6247
6301
|
className: cn(
|
|
@@ -6262,7 +6316,7 @@ var ModalFooter = ({
|
|
|
6262
6316
|
classNames,
|
|
6263
6317
|
hideBorder = false
|
|
6264
6318
|
}) => {
|
|
6265
|
-
return /* @__PURE__ */ (0,
|
|
6319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6266
6320
|
"div",
|
|
6267
6321
|
{
|
|
6268
6322
|
className: cn(
|
|
@@ -6283,7 +6337,7 @@ Modal.Footer = ModalFooter;
|
|
|
6283
6337
|
Modal.displayName = "Modal";
|
|
6284
6338
|
|
|
6285
6339
|
// src/primitives/select/index.tsx
|
|
6286
|
-
var
|
|
6340
|
+
var import_hooks28 = require("@agg-build/hooks");
|
|
6287
6341
|
var import_react5 = require("react");
|
|
6288
6342
|
var import_react_dom = require("react-dom");
|
|
6289
6343
|
|
|
@@ -6305,7 +6359,7 @@ var resolveIsSelectDisabled = ({
|
|
|
6305
6359
|
};
|
|
6306
6360
|
|
|
6307
6361
|
// src/primitives/select/index.tsx
|
|
6308
|
-
var
|
|
6362
|
+
var import_jsx_runtime118 = require("react/jsx-runtime");
|
|
6309
6363
|
var SELECT_DROPDOWN_Z = 1e4;
|
|
6310
6364
|
function resolveSelectPortalContainer(triggerRoot) {
|
|
6311
6365
|
var _a, _b;
|
|
@@ -6328,11 +6382,11 @@ var Select = ({
|
|
|
6328
6382
|
contentSideOffset = 8
|
|
6329
6383
|
}) => {
|
|
6330
6384
|
var _a;
|
|
6331
|
-
const labels = (0,
|
|
6385
|
+
const labels = (0, import_hooks28.useLabels)();
|
|
6332
6386
|
const {
|
|
6333
6387
|
general: { rootClassName },
|
|
6334
6388
|
features: { enableAnimations }
|
|
6335
|
-
} = (0,
|
|
6389
|
+
} = (0, import_hooks28.useSdkUiConfig)();
|
|
6336
6390
|
const isDisabled = resolveIsSelectDisabled({ disabled, items });
|
|
6337
6391
|
const selectedItem = resolveSelectedItem(items, value);
|
|
6338
6392
|
const [isOpen, setIsOpen] = (0, import_react5.useState)(false);
|
|
@@ -6424,7 +6478,7 @@ var Select = ({
|
|
|
6424
6478
|
};
|
|
6425
6479
|
const isInline = variant === "inline";
|
|
6426
6480
|
const triggerRadiusClass = triggerClassName != null ? triggerClassName : isInline ? "rounded-agg-sm" : "rounded-agg-md";
|
|
6427
|
-
const listbox = menuRect ? /* @__PURE__ */ (0,
|
|
6481
|
+
const listbox = menuRect ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6428
6482
|
"div",
|
|
6429
6483
|
{
|
|
6430
6484
|
ref: portalRef,
|
|
@@ -6452,7 +6506,7 @@ var Select = ({
|
|
|
6452
6506
|
const isSelected = item.value === value;
|
|
6453
6507
|
const isHidden = item.hidden === true;
|
|
6454
6508
|
if (isHidden) return null;
|
|
6455
|
-
return /* @__PURE__ */ (0,
|
|
6509
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
|
|
6456
6510
|
"button",
|
|
6457
6511
|
{
|
|
6458
6512
|
type: "button",
|
|
@@ -6476,14 +6530,14 @@ var Select = ({
|
|
|
6476
6530
|
handleClose();
|
|
6477
6531
|
},
|
|
6478
6532
|
children: [
|
|
6479
|
-
isInline && isSelected ? /* @__PURE__ */ (0,
|
|
6533
|
+
isInline && isSelected ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6480
6534
|
"span",
|
|
6481
6535
|
{
|
|
6482
6536
|
className: "agg-select-item-indicator absolute bottom-2 left-0 top-2 w-1 bg-agg-primary",
|
|
6483
6537
|
"aria-hidden": true
|
|
6484
6538
|
}
|
|
6485
6539
|
) : null,
|
|
6486
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
6540
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6487
6541
|
"span",
|
|
6488
6542
|
{
|
|
6489
6543
|
className: cn(
|
|
@@ -6492,7 +6546,7 @@ var Select = ({
|
|
|
6492
6546
|
),
|
|
6493
6547
|
children: item.icon
|
|
6494
6548
|
}
|
|
6495
|
-
) : item.iconUrl ? /* @__PURE__ */ (0,
|
|
6549
|
+
) : item.iconUrl ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6496
6550
|
RemoteImage,
|
|
6497
6551
|
{
|
|
6498
6552
|
src: item.iconUrl,
|
|
@@ -6500,7 +6554,7 @@ var Select = ({
|
|
|
6500
6554
|
className: "agg-select-item-icon h-4 w-4 shrink-0 rounded-sm object-contain"
|
|
6501
6555
|
}
|
|
6502
6556
|
) : null,
|
|
6503
|
-
/* @__PURE__ */ (0,
|
|
6557
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "agg-select-item-label truncate", children: item.label })
|
|
6504
6558
|
]
|
|
6505
6559
|
},
|
|
6506
6560
|
item.value
|
|
@@ -6508,7 +6562,7 @@ var Select = ({
|
|
|
6508
6562
|
})
|
|
6509
6563
|
}
|
|
6510
6564
|
) : null;
|
|
6511
|
-
return /* @__PURE__ */ (0,
|
|
6565
|
+
return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
|
|
6512
6566
|
"div",
|
|
6513
6567
|
{
|
|
6514
6568
|
ref: containerRef,
|
|
@@ -6518,7 +6572,7 @@ var Select = ({
|
|
|
6518
6572
|
className
|
|
6519
6573
|
),
|
|
6520
6574
|
children: [
|
|
6521
|
-
/* @__PURE__ */ (0,
|
|
6575
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
|
|
6522
6576
|
"button",
|
|
6523
6577
|
{
|
|
6524
6578
|
type: "button",
|
|
@@ -6542,7 +6596,7 @@ var Select = ({
|
|
|
6542
6596
|
onPointerEnter: handlePointerEnter,
|
|
6543
6597
|
onPointerLeave: handlePointerLeave,
|
|
6544
6598
|
children: [
|
|
6545
|
-
(selectedItem == null ? void 0 : selectedItem.icon) ? /* @__PURE__ */ (0,
|
|
6599
|
+
(selectedItem == null ? void 0 : selectedItem.icon) ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "h-4 w-4 shrink-0 [&_svg]:h-full [&_svg]:w-full", children: selectedItem.icon }) : (selectedItem == null ? void 0 : selectedItem.iconUrl) ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6546
6600
|
RemoteImage,
|
|
6547
6601
|
{
|
|
6548
6602
|
src: selectedItem.iconUrl,
|
|
@@ -6550,18 +6604,18 @@ var Select = ({
|
|
|
6550
6604
|
className: "agg-select-icon h-4 w-4 shrink-0 rounded-sm object-contain"
|
|
6551
6605
|
}
|
|
6552
6606
|
) : null,
|
|
6553
|
-
/* @__PURE__ */ (0,
|
|
6607
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)("span", { className: "agg-select-value flex-1 truncate", children: (_a = selectedItem == null ? void 0 : selectedItem.label) != null ? _a : "" })
|
|
6554
6608
|
]
|
|
6555
6609
|
}
|
|
6556
6610
|
),
|
|
6557
|
-
/* @__PURE__ */ (0,
|
|
6611
|
+
/* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6558
6612
|
"span",
|
|
6559
6613
|
{
|
|
6560
6614
|
className: cn(
|
|
6561
6615
|
"agg-select-chevron pointer-events-none absolute inset-y-0 inline-flex items-center justify-center",
|
|
6562
6616
|
isInline ? "right-2 text-agg-foreground" : "right-3 text-agg-muted-foreground"
|
|
6563
6617
|
),
|
|
6564
|
-
children: /* @__PURE__ */ (0,
|
|
6618
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
|
|
6565
6619
|
Icon,
|
|
6566
6620
|
{
|
|
6567
6621
|
name: isOpen ? "chevron-up" : "chevron-down-thin",
|
|
@@ -6580,7 +6634,7 @@ Select.displayName = "Select";
|
|
|
6580
6634
|
|
|
6581
6635
|
// src/primitives/state-message/index.tsx
|
|
6582
6636
|
var import_react6 = require("react");
|
|
6583
|
-
var
|
|
6637
|
+
var import_hooks29 = require("@agg-build/hooks");
|
|
6584
6638
|
|
|
6585
6639
|
// src/primitives/typography/typography.constants.ts
|
|
6586
6640
|
var display = cn("agg-type-display");
|
|
@@ -6645,7 +6699,7 @@ var getTypographyClassName = ({
|
|
|
6645
6699
|
};
|
|
6646
6700
|
|
|
6647
6701
|
// src/primitives/typography/index.tsx
|
|
6648
|
-
var
|
|
6702
|
+
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
6649
6703
|
var Typography = ({
|
|
6650
6704
|
as: Component = "p",
|
|
6651
6705
|
variant = "body",
|
|
@@ -6653,7 +6707,7 @@ var Typography = ({
|
|
|
6653
6707
|
children,
|
|
6654
6708
|
"aria-label": ariaLabel
|
|
6655
6709
|
}) => {
|
|
6656
|
-
return /* @__PURE__ */ (0,
|
|
6710
|
+
return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(Component, { className: getTypographyClassName({ className, variant }), "aria-label": ariaLabel, children });
|
|
6657
6711
|
};
|
|
6658
6712
|
Typography.displayName = "Typography";
|
|
6659
6713
|
|
|
@@ -6666,7 +6720,7 @@ var resolveStateMessageHasAction = ({ onAction }) => {
|
|
|
6666
6720
|
};
|
|
6667
6721
|
|
|
6668
6722
|
// src/primitives/state-message/index.tsx
|
|
6669
|
-
var
|
|
6723
|
+
var import_jsx_runtime120 = require("react/jsx-runtime");
|
|
6670
6724
|
var StateMessage = (_a) => {
|
|
6671
6725
|
var _b = _a, {
|
|
6672
6726
|
icon,
|
|
@@ -6681,13 +6735,13 @@ var StateMessage = (_a) => {
|
|
|
6681
6735
|
"onAction",
|
|
6682
6736
|
"classNames"
|
|
6683
6737
|
]);
|
|
6684
|
-
const labels = (0,
|
|
6738
|
+
const labels = (0, import_hooks29.useLabels)();
|
|
6685
6739
|
const hasAction = resolveStateMessageHasAction({ onAction });
|
|
6686
6740
|
const resolvedIcon = (0, import_react6.cloneElement)(icon, {
|
|
6687
6741
|
className: cn(STATE_MESSAGE_ICON_CLASS_NAME, icon.props.className, classNames == null ? void 0 : classNames.icon),
|
|
6688
6742
|
"aria-hidden": true
|
|
6689
6743
|
});
|
|
6690
|
-
return /* @__PURE__ */ (0,
|
|
6744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
6691
6745
|
"div",
|
|
6692
6746
|
__spreadProps(__spreadValues({}, rest), {
|
|
6693
6747
|
className: cn(
|
|
@@ -6698,7 +6752,7 @@ var StateMessage = (_a) => {
|
|
|
6698
6752
|
role: "status",
|
|
6699
6753
|
"aria-live": "polite",
|
|
6700
6754
|
"aria-label": title2,
|
|
6701
|
-
children: /* @__PURE__ */ (0,
|
|
6755
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
|
|
6702
6756
|
"div",
|
|
6703
6757
|
{
|
|
6704
6758
|
className: cn(
|
|
@@ -6707,7 +6761,7 @@ var StateMessage = (_a) => {
|
|
|
6707
6761
|
),
|
|
6708
6762
|
children: [
|
|
6709
6763
|
resolvedIcon,
|
|
6710
|
-
/* @__PURE__ */ (0,
|
|
6764
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
|
|
6711
6765
|
"div",
|
|
6712
6766
|
{
|
|
6713
6767
|
className: cn(
|
|
@@ -6715,8 +6769,8 @@ var StateMessage = (_a) => {
|
|
|
6715
6769
|
classNames == null ? void 0 : classNames.text
|
|
6716
6770
|
),
|
|
6717
6771
|
children: [
|
|
6718
|
-
/* @__PURE__ */ (0,
|
|
6719
|
-
description ? /* @__PURE__ */ (0,
|
|
6772
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Typography, { variant: "body-strong", className: classNames == null ? void 0 : classNames.title, children: title2 }),
|
|
6773
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
6720
6774
|
Typography,
|
|
6721
6775
|
{
|
|
6722
6776
|
variant: "label",
|
|
@@ -6727,7 +6781,7 @@ var StateMessage = (_a) => {
|
|
|
6727
6781
|
]
|
|
6728
6782
|
}
|
|
6729
6783
|
),
|
|
6730
|
-
hasAction ? /* @__PURE__ */ (0,
|
|
6784
|
+
hasAction ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
6731
6785
|
Button,
|
|
6732
6786
|
{
|
|
6733
6787
|
variant: "tertiary",
|
|
@@ -6754,7 +6808,7 @@ var StateMessage = (_a) => {
|
|
|
6754
6808
|
StateMessage.displayName = "StateMessage";
|
|
6755
6809
|
|
|
6756
6810
|
// src/primitives/tabs/index.tsx
|
|
6757
|
-
var
|
|
6811
|
+
var import_hooks30 = require("@agg-build/hooks");
|
|
6758
6812
|
var import_react8 = require("react");
|
|
6759
6813
|
|
|
6760
6814
|
// src/shared/use-horizontal-scroll-state.ts
|
|
@@ -6829,7 +6883,7 @@ var findEdgeEnabledIndex = (items, direction) => {
|
|
|
6829
6883
|
};
|
|
6830
6884
|
|
|
6831
6885
|
// src/primitives/tabs/index.tsx
|
|
6832
|
-
var
|
|
6886
|
+
var import_jsx_runtime121 = require("react/jsx-runtime");
|
|
6833
6887
|
var getTabButtonClassName = ({
|
|
6834
6888
|
enableAnimations,
|
|
6835
6889
|
isBarVariant,
|
|
@@ -6872,10 +6926,10 @@ var Tabs = ({
|
|
|
6872
6926
|
className,
|
|
6873
6927
|
classNames
|
|
6874
6928
|
}) => {
|
|
6875
|
-
const labels = (0,
|
|
6929
|
+
const labels = (0, import_hooks30.useLabels)();
|
|
6876
6930
|
const {
|
|
6877
6931
|
features: { enableAnimations }
|
|
6878
|
-
} = (0,
|
|
6932
|
+
} = (0, import_hooks30.useSdkUiConfig)();
|
|
6879
6933
|
const buttonRefs = (0, import_react8.useRef)([]);
|
|
6880
6934
|
const dragStateRef = (0, import_react8.useRef)({
|
|
6881
6935
|
isPointerDown: false,
|
|
@@ -7150,7 +7204,7 @@ var Tabs = ({
|
|
|
7150
7204
|
});
|
|
7151
7205
|
}, [enableAnimations, renderedItems, shouldUseOverflowScroll, updateScrollState, value]);
|
|
7152
7206
|
if (shouldUseOverflowSelect) {
|
|
7153
|
-
return /* @__PURE__ */ (0,
|
|
7207
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: cn("group/agg-tabs w-full", className, classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
7154
7208
|
Select,
|
|
7155
7209
|
{
|
|
7156
7210
|
ariaLabel,
|
|
@@ -7162,7 +7216,7 @@ var Tabs = ({
|
|
|
7162
7216
|
}
|
|
7163
7217
|
) });
|
|
7164
7218
|
}
|
|
7165
|
-
return /* @__PURE__ */ (0,
|
|
7219
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
|
|
7166
7220
|
"div",
|
|
7167
7221
|
{
|
|
7168
7222
|
className: cn(
|
|
@@ -7173,7 +7227,7 @@ var Tabs = ({
|
|
|
7173
7227
|
classNames == null ? void 0 : classNames.root
|
|
7174
7228
|
),
|
|
7175
7229
|
children: [
|
|
7176
|
-
/* @__PURE__ */ (0,
|
|
7230
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
|
|
7177
7231
|
"div",
|
|
7178
7232
|
{
|
|
7179
7233
|
ref: tabListRef,
|
|
@@ -7187,7 +7241,7 @@ var Tabs = ({
|
|
|
7187
7241
|
onPointerUp: handleEndTabListDrag,
|
|
7188
7242
|
onWheel: handleTabListWheel,
|
|
7189
7243
|
children: [
|
|
7190
|
-
shouldUseOverflowScroll && !isBarVariant && hasOverflow ? /* @__PURE__ */ (0,
|
|
7244
|
+
shouldUseOverflowScroll && !isBarVariant && hasOverflow ? /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
7191
7245
|
"span",
|
|
7192
7246
|
{
|
|
7193
7247
|
"aria-hidden": true,
|
|
@@ -7198,7 +7252,7 @@ var Tabs = ({
|
|
|
7198
7252
|
var _a;
|
|
7199
7253
|
const isActive = item.value === value;
|
|
7200
7254
|
const isComingSoon = (_a = item == null ? void 0 : item.isComingSoon) != null ? _a : false;
|
|
7201
|
-
return /* @__PURE__ */ (0,
|
|
7255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
|
|
7202
7256
|
"button",
|
|
7203
7257
|
{
|
|
7204
7258
|
ref: (buttonElement) => {
|
|
@@ -7234,7 +7288,7 @@ var Tabs = ({
|
|
|
7234
7288
|
),
|
|
7235
7289
|
children: [
|
|
7236
7290
|
item.icon ? item.icon : null,
|
|
7237
|
-
/* @__PURE__ */ (0,
|
|
7291
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
|
|
7238
7292
|
"span",
|
|
7239
7293
|
{
|
|
7240
7294
|
className: cn(
|
|
@@ -7252,7 +7306,7 @@ var Tabs = ({
|
|
|
7252
7306
|
item.value
|
|
7253
7307
|
);
|
|
7254
7308
|
}),
|
|
7255
|
-
!isBarVariant ? /* @__PURE__ */ (0,
|
|
7309
|
+
!isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
7256
7310
|
"span",
|
|
7257
7311
|
{
|
|
7258
7312
|
"aria-hidden": true,
|
|
@@ -7271,8 +7325,8 @@ var Tabs = ({
|
|
|
7271
7325
|
]
|
|
7272
7326
|
}
|
|
7273
7327
|
),
|
|
7274
|
-
shouldUseOverflowScroll && !isBarVariant ? /* @__PURE__ */ (0,
|
|
7275
|
-
/* @__PURE__ */ (0,
|
|
7328
|
+
shouldUseOverflowScroll && !isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_jsx_runtime121.Fragment, { children: [
|
|
7329
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
7276
7330
|
"span",
|
|
7277
7331
|
{
|
|
7278
7332
|
"aria-hidden": true,
|
|
@@ -7284,7 +7338,7 @@ var Tabs = ({
|
|
|
7284
7338
|
)
|
|
7285
7339
|
}
|
|
7286
7340
|
),
|
|
7287
|
-
/* @__PURE__ */ (0,
|
|
7341
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
7288
7342
|
"span",
|
|
7289
7343
|
{
|
|
7290
7344
|
"aria-hidden": true,
|
|
@@ -7297,8 +7351,8 @@ var Tabs = ({
|
|
|
7297
7351
|
}
|
|
7298
7352
|
)
|
|
7299
7353
|
] }) : null,
|
|
7300
|
-
shouldUseOverflowScroll && isBarVariant ? /* @__PURE__ */ (0,
|
|
7301
|
-
/* @__PURE__ */ (0,
|
|
7354
|
+
shouldUseOverflowScroll && isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_jsx_runtime121.Fragment, { children: [
|
|
7355
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
7302
7356
|
"button",
|
|
7303
7357
|
{
|
|
7304
7358
|
type: "button",
|
|
@@ -7320,10 +7374,10 @@ var Tabs = ({
|
|
|
7320
7374
|
behavior: getScrollBehavior(enableAnimations)
|
|
7321
7375
|
});
|
|
7322
7376
|
},
|
|
7323
|
-
children: /* @__PURE__ */ (0,
|
|
7377
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Icon, { name: "chevron-left", size: "small", color: "currentColor" })
|
|
7324
7378
|
}
|
|
7325
7379
|
),
|
|
7326
|
-
/* @__PURE__ */ (0,
|
|
7380
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
7327
7381
|
"button",
|
|
7328
7382
|
{
|
|
7329
7383
|
type: "button",
|
|
@@ -7345,7 +7399,7 @@ var Tabs = ({
|
|
|
7345
7399
|
behavior: getScrollBehavior(enableAnimations)
|
|
7346
7400
|
});
|
|
7347
7401
|
},
|
|
7348
|
-
children: /* @__PURE__ */ (0,
|
|
7402
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Icon, { name: "chevron-right", size: "small", color: "currentColor" })
|
|
7349
7403
|
}
|
|
7350
7404
|
)
|
|
7351
7405
|
] }) : null
|
|
@@ -7356,7 +7410,7 @@ var Tabs = ({
|
|
|
7356
7410
|
Tabs.displayName = "Tabs";
|
|
7357
7411
|
|
|
7358
7412
|
// src/primitives/tooltip/index.tsx
|
|
7359
|
-
var
|
|
7413
|
+
var import_hooks31 = require("@agg-build/hooks");
|
|
7360
7414
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
|
|
7361
7415
|
var import_react9 = require("react");
|
|
7362
7416
|
|
|
@@ -7390,7 +7444,7 @@ var resolveTooltipArrowDimensions = (size) => {
|
|
|
7390
7444
|
};
|
|
7391
7445
|
|
|
7392
7446
|
// src/primitives/tooltip/index.tsx
|
|
7393
|
-
var
|
|
7447
|
+
var import_jsx_runtime122 = require("react/jsx-runtime");
|
|
7394
7448
|
var Tooltip = ({
|
|
7395
7449
|
content,
|
|
7396
7450
|
children,
|
|
@@ -7405,25 +7459,25 @@ var Tooltip = ({
|
|
|
7405
7459
|
const {
|
|
7406
7460
|
general: { rootClassName },
|
|
7407
7461
|
features: { enableAnimations }
|
|
7408
|
-
} = (0,
|
|
7462
|
+
} = (0, import_hooks31.useSdkUiConfig)();
|
|
7409
7463
|
const trigger = (0, import_react9.useMemo)(() => {
|
|
7410
7464
|
if (children) return children;
|
|
7411
|
-
return /* @__PURE__ */ (0,
|
|
7465
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
7412
7466
|
"button",
|
|
7413
7467
|
{
|
|
7414
7468
|
type: "button",
|
|
7415
7469
|
className: resolveTooltipTriggerClassName(classNames == null ? void 0 : classNames.trigger),
|
|
7416
7470
|
"aria-label": ariaLabel != null ? ariaLabel : defaultTooltipTriggerAriaLabel,
|
|
7417
|
-
children: /* @__PURE__ */ (0,
|
|
7471
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Icon, { name: "info", size: "small", className: cn(classNames == null ? void 0 : classNames.icon), "aria-hidden": true })
|
|
7418
7472
|
}
|
|
7419
7473
|
);
|
|
7420
7474
|
}, [children, classNames == null ? void 0 : classNames.trigger, classNames == null ? void 0 : classNames.icon, ariaLabel]);
|
|
7421
7475
|
const { width: arrowWidth, height: arrowHeight } = resolveTooltipArrowDimensions(size);
|
|
7422
7476
|
const arrowPoints = `0,0 ${arrowWidth},0 ${arrowWidth / 2},${arrowHeight}`;
|
|
7423
7477
|
const arrowBorderPath = `M0 0 L${arrowWidth / 2} ${arrowHeight} L${arrowWidth} 0`;
|
|
7424
|
-
return /* @__PURE__ */ (0,
|
|
7425
|
-
/* @__PURE__ */ (0,
|
|
7426
|
-
/* @__PURE__ */ (0,
|
|
7478
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(TooltipPrimitive.Provider, { delayDuration, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(TooltipPrimitive.Root, { children: [
|
|
7479
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(TooltipPrimitive.Trigger, { asChild: true, children: trigger }),
|
|
7480
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
7427
7481
|
TooltipPrimitive.Content,
|
|
7428
7482
|
{
|
|
7429
7483
|
side,
|
|
@@ -7447,7 +7501,7 @@ var Tooltip = ({
|
|
|
7447
7501
|
classNames == null ? void 0 : classNames.content
|
|
7448
7502
|
),
|
|
7449
7503
|
children: [
|
|
7450
|
-
/* @__PURE__ */ (0,
|
|
7504
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(TooltipPrimitive.Arrow, { asChild: true, width: arrowWidth, height: arrowHeight, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
7451
7505
|
"svg",
|
|
7452
7506
|
{
|
|
7453
7507
|
width: arrowWidth,
|
|
@@ -7456,8 +7510,8 @@ var Tooltip = ({
|
|
|
7456
7510
|
"aria-hidden": "true",
|
|
7457
7511
|
className: cn("overflow-visible", classNames == null ? void 0 : classNames.arrow),
|
|
7458
7512
|
children: [
|
|
7459
|
-
/* @__PURE__ */ (0,
|
|
7460
|
-
/* @__PURE__ */ (0,
|
|
7513
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("polygon", { points: arrowPoints, className: "fill-agg-secondary" }),
|
|
7514
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
7461
7515
|
"path",
|
|
7462
7516
|
{
|
|
7463
7517
|
d: arrowBorderPath,
|
|
@@ -7635,13 +7689,13 @@ var normalizeEventListItemV2Comparison = ({
|
|
|
7635
7689
|
var baseCardClassName = "gap-3 overflow-hidden p-4 w-full";
|
|
7636
7690
|
|
|
7637
7691
|
// src/events/item/index.tsx
|
|
7638
|
-
var
|
|
7692
|
+
var import_jsx_runtime123 = require("react/jsx-runtime");
|
|
7639
7693
|
var EventListItemLoadingState = ({
|
|
7640
7694
|
classNames,
|
|
7641
7695
|
ariaLabel
|
|
7642
7696
|
}) => {
|
|
7643
|
-
const labels = (0,
|
|
7644
|
-
return /* @__PURE__ */ (0,
|
|
7697
|
+
const labels = (0, import_hooks32.useLabels)();
|
|
7698
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
7645
7699
|
Skeleton,
|
|
7646
7700
|
{
|
|
7647
7701
|
view: "event-list-item",
|
|
@@ -7654,8 +7708,8 @@ var EventListItemUnavailableState = ({
|
|
|
7654
7708
|
classNames,
|
|
7655
7709
|
ariaLabel
|
|
7656
7710
|
}) => {
|
|
7657
|
-
const labels = (0,
|
|
7658
|
-
return /* @__PURE__ */ (0,
|
|
7711
|
+
const labels = (0, import_hooks32.useLabels)();
|
|
7712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
7659
7713
|
Card,
|
|
7660
7714
|
{
|
|
7661
7715
|
className: cn(
|
|
@@ -7665,8 +7719,8 @@ var EventListItemUnavailableState = ({
|
|
|
7665
7719
|
),
|
|
7666
7720
|
role: "status",
|
|
7667
7721
|
"aria-label": ariaLabel != null ? ariaLabel : labels.eventItem.unavailableAria,
|
|
7668
|
-
children: /* @__PURE__ */ (0,
|
|
7669
|
-
/* @__PURE__ */ (0,
|
|
7722
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: cn("agg-event-card-header min-h-12 flex flex-col gap-1", classNames == null ? void 0 : classNames.header), children: [
|
|
7723
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
7670
7724
|
Typography,
|
|
7671
7725
|
{
|
|
7672
7726
|
variant: "body-large-strong",
|
|
@@ -7674,7 +7728,7 @@ var EventListItemUnavailableState = ({
|
|
|
7674
7728
|
children: labels.eventItem.unavailableTitle
|
|
7675
7729
|
}
|
|
7676
7730
|
),
|
|
7677
|
-
/* @__PURE__ */ (0,
|
|
7731
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typography, { variant: "body", className: "text-agg-muted-foreground", children: labels.eventItem.unavailableDescription })
|
|
7678
7732
|
] })
|
|
7679
7733
|
}
|
|
7680
7734
|
);
|
|
@@ -7683,13 +7737,13 @@ var EventListItemNotFoundState = ({
|
|
|
7683
7737
|
classNames: _classNames,
|
|
7684
7738
|
ariaLabel: _ariaLabel
|
|
7685
7739
|
}) => {
|
|
7686
|
-
const labels = (0,
|
|
7687
|
-
return /* @__PURE__ */ (0,
|
|
7740
|
+
const labels = (0, import_hooks32.useLabels)();
|
|
7741
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
7688
7742
|
StateMessage,
|
|
7689
7743
|
{
|
|
7690
7744
|
title: labels.eventItemDetails.notFoundTitle,
|
|
7691
7745
|
description: labels.eventItemDetails.notFoundDescription,
|
|
7692
|
-
icon: /* @__PURE__ */ (0,
|
|
7746
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(SearchEmptyIcon, {}),
|
|
7693
7747
|
classNames: { root: "agg-event-card-state min-h-[280px] md:min-h-[320px]" }
|
|
7694
7748
|
}
|
|
7695
7749
|
);
|
|
@@ -7838,8 +7892,8 @@ var EventListItemContent = ({
|
|
|
7838
7892
|
marketStatus
|
|
7839
7893
|
}) => {
|
|
7840
7894
|
var _a;
|
|
7841
|
-
const config = (0,
|
|
7842
|
-
const labels = (0,
|
|
7895
|
+
const config = (0, import_hooks32.useSdkUiConfig)();
|
|
7896
|
+
const labels = (0, import_hooks32.useLabels)();
|
|
7843
7897
|
const allVenueMarkets = (0, import_react10.useMemo)(() => event.venueMarkets, [event.venueMarkets]);
|
|
7844
7898
|
const eventHeading = resolveEventHeading({
|
|
7845
7899
|
title: event.title,
|
|
@@ -7854,7 +7908,7 @@ var EventListItemContent = ({
|
|
|
7854
7908
|
const resolvedImage = event.image;
|
|
7855
7909
|
const visibleVenueLogos = (0, import_react10.useMemo)(() => {
|
|
7856
7910
|
var _a2;
|
|
7857
|
-
return (0,
|
|
7911
|
+
return (0, import_hooks32.sortVenues)(Array.from(new Set(((_a2 = event.venues) != null ? _a2 : []).map((venue) => venue))));
|
|
7858
7912
|
}, [event.venues]);
|
|
7859
7913
|
const resolvedMarketCount = typeof event.marketCount === "number" && Number.isFinite(event.marketCount) ? Math.max(0, Math.floor(event.marketCount)) : allVenueMarkets.length;
|
|
7860
7914
|
const resolvedVenueCount = typeof event.venueCount === "number" && Number.isFinite(event.venueCount) ? Math.max(0, Math.floor(event.venueCount)) : visibleVenueLogos.length;
|
|
@@ -7873,7 +7927,7 @@ var EventListItemContent = ({
|
|
|
7873
7927
|
hasNextPage: hasNextLazyMarketsPage,
|
|
7874
7928
|
isLoading: isLoadingLazyMarkets,
|
|
7875
7929
|
isFetchingNextPage: isFetchingNextLazyMarketsPage
|
|
7876
|
-
} = (0,
|
|
7930
|
+
} = (0, import_hooks32.useVenueMarkets)({
|
|
7877
7931
|
venueEventId: event.id,
|
|
7878
7932
|
enabled: shouldEnableLazyMarketLoading && isLazyMarketsQueryEnabled,
|
|
7879
7933
|
// List/tile surface: axis/dates sort by volume so the scroll tail matches
|
|
@@ -7899,11 +7953,11 @@ var EventListItemContent = ({
|
|
|
7899
7953
|
}
|
|
7900
7954
|
return [...new Set(ids)];
|
|
7901
7955
|
}, [resolvedOutcomeMarkets]);
|
|
7902
|
-
const { midpointRows: fetchedMidpointRows, isLoading: isVenueMarketMidpointsLoading } = (0,
|
|
7956
|
+
const { midpointRows: fetchedMidpointRows, isLoading: isVenueMarketMidpointsLoading } = (0, import_hooks32.useVenueMarketMidpoints)({
|
|
7903
7957
|
venueMarketIds: shouldUseSharedMidpoints ? [] : midpointVenueMarketIds,
|
|
7904
7958
|
enabled: !shouldUseSharedMidpoints && midpointVenueMarketIds.length > 0
|
|
7905
7959
|
});
|
|
7906
|
-
const { prices: displayMidpointsByOutcomeId, isLoading: isOutcomeMidpointsLoading } = (0,
|
|
7960
|
+
const { prices: displayMidpointsByOutcomeId, isLoading: isOutcomeMidpointsLoading } = (0, import_hooks32.useMidpoints)(shouldUseSharedMidpoints ? [] : resolvedOutcomeMarkets);
|
|
7907
7961
|
const resolvedMidpointRows = shouldUseSharedMidpoints ? sharedMidpointRows != null ? sharedMidpointRows : [] : fetchedMidpointRows;
|
|
7908
7962
|
const resolvedDisplayMidpointsByOutcomeId = shouldUseSharedMidpoints ? midpointPrices != null ? midpointPrices : /* @__PURE__ */ new Map() : displayMidpointsByOutcomeId;
|
|
7909
7963
|
const isAwaitingMidpoints = midpointsLoading != null ? midpointsLoading : isOutcomeMidpointsLoading || midpointVenueMarketIds.length > 0 && isVenueMarketMidpointsLoading;
|
|
@@ -8022,9 +8076,9 @@ var EventListItemContent = ({
|
|
|
8022
8076
|
const renderArbitrage = (value) => {
|
|
8023
8077
|
if (value == null) return null;
|
|
8024
8078
|
if (Math.abs(value) < config.market.arbitrageThreshold) return null;
|
|
8025
|
-
return /* @__PURE__ */ (0,
|
|
8026
|
-
/* @__PURE__ */ (0,
|
|
8027
|
-
/* @__PURE__ */ (0,
|
|
8079
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: cn("flex items-center gap-1", "text-agg-success"), children: [
|
|
8080
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typography, { variant: "label-strong", className: "text-agg-success", children: config.formatting.formatPercent(value) }),
|
|
8081
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8028
8082
|
Icon,
|
|
8029
8083
|
{
|
|
8030
8084
|
name: "triangle-up",
|
|
@@ -8038,8 +8092,8 @@ var EventListItemContent = ({
|
|
|
8038
8092
|
const renderPriceStripSkeleton = (count) => {
|
|
8039
8093
|
const safeCount = Math.max(1, Math.min(count || 1, 3));
|
|
8040
8094
|
const collapsedCount = safeCount - 1;
|
|
8041
|
-
return /* @__PURE__ */ (0,
|
|
8042
|
-
Array.from({ length: collapsedCount }).map((_, index) => /* @__PURE__ */ (0,
|
|
8095
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_jsx_runtime123.Fragment, { children: [
|
|
8096
|
+
Array.from({ length: collapsedCount }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8043
8097
|
"span",
|
|
8044
8098
|
{
|
|
8045
8099
|
"aria-hidden": "true",
|
|
@@ -8051,7 +8105,7 @@ var EventListItemContent = ({
|
|
|
8051
8105
|
},
|
|
8052
8106
|
`agg-outcome-price-loading-collapsed-${index}`
|
|
8053
8107
|
)),
|
|
8054
|
-
/* @__PURE__ */ (0,
|
|
8108
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8055
8109
|
"span",
|
|
8056
8110
|
{
|
|
8057
8111
|
"aria-hidden": "true",
|
|
@@ -8068,7 +8122,7 @@ var EventListItemContent = ({
|
|
|
8068
8122
|
if (isAwaitingMidpoints) return null;
|
|
8069
8123
|
const formattedPriceGap = formatPriceGapPercent(value, source);
|
|
8070
8124
|
if (!formattedPriceGap) return null;
|
|
8071
|
-
return /* @__PURE__ */ (0,
|
|
8125
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
8072
8126
|
"span",
|
|
8073
8127
|
{
|
|
8074
8128
|
className: cn(
|
|
@@ -8081,14 +8135,14 @@ var EventListItemContent = ({
|
|
|
8081
8135
|
title: labels.eventItem.priceGap,
|
|
8082
8136
|
"aria-label": `${formattedPriceGap} ${labels.eventItem.priceGap}`,
|
|
8083
8137
|
children: [
|
|
8084
|
-
/* @__PURE__ */ (0,
|
|
8138
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8085
8139
|
"i",
|
|
8086
8140
|
{
|
|
8087
8141
|
"aria-hidden": "true",
|
|
8088
8142
|
className: "fi-rr-arrow-down inline-flex size-3! shrink-0 items-center justify-center text-agg-xs text-agg-success"
|
|
8089
8143
|
}
|
|
8090
8144
|
),
|
|
8091
|
-
/* @__PURE__ */ (0,
|
|
8145
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { children: formattedPriceGap })
|
|
8092
8146
|
]
|
|
8093
8147
|
}
|
|
8094
8148
|
);
|
|
@@ -8100,11 +8154,11 @@ var EventListItemContent = ({
|
|
|
8100
8154
|
const hasVenueCompetition = row.prices.length > 1;
|
|
8101
8155
|
const isHighlightedBestPrice = hasVenueCompetition && price.isBest;
|
|
8102
8156
|
const shouldCollapsePriceText = hasVenueCompetition && !isHighlightedBestPrice;
|
|
8103
|
-
return /* @__PURE__ */ (0,
|
|
8157
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8104
8158
|
Badge,
|
|
8105
8159
|
{
|
|
8106
8160
|
text: formatMarketProbabilityPercent(price.price, config.formatting.formatPercent),
|
|
8107
|
-
prefix: /* @__PURE__ */ (0,
|
|
8161
|
+
prefix: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8108
8162
|
VenueLogo,
|
|
8109
8163
|
{
|
|
8110
8164
|
venue: price.venue,
|
|
@@ -8147,7 +8201,7 @@ var EventListItemContent = ({
|
|
|
8147
8201
|
`${price.market.id}:${price.outcome.id}`
|
|
8148
8202
|
);
|
|
8149
8203
|
};
|
|
8150
|
-
return /* @__PURE__ */ (0,
|
|
8204
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
8151
8205
|
Card,
|
|
8152
8206
|
{
|
|
8153
8207
|
className: cn(
|
|
@@ -8164,11 +8218,11 @@ var EventListItemContent = ({
|
|
|
8164
8218
|
"aria-label": ariaLabel != null ? ariaLabel : [resolvedTitle, resolvedTimestamp].filter(Boolean).join(" "),
|
|
8165
8219
|
withGradient: true,
|
|
8166
8220
|
children: [
|
|
8167
|
-
/* @__PURE__ */ (0,
|
|
8168
|
-
/* @__PURE__ */ (0,
|
|
8221
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: cn("agg-event-card-header flex items-center gap-4", classNames == null ? void 0 : classNames.header), children: [
|
|
8222
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8169
8223
|
RemoteImage,
|
|
8170
8224
|
{
|
|
8171
|
-
src: (0,
|
|
8225
|
+
src: (0, import_hooks32.optimizedImageUrl)(resolvedImage, 40),
|
|
8172
8226
|
alt: "",
|
|
8173
8227
|
classNames: {
|
|
8174
8228
|
root: "agg-event-image h-10 w-10 shrink-0 rounded-agg-lg object-cover",
|
|
@@ -8176,8 +8230,8 @@ var EventListItemContent = ({
|
|
|
8176
8230
|
}
|
|
8177
8231
|
}
|
|
8178
8232
|
),
|
|
8179
|
-
/* @__PURE__ */ (0,
|
|
8180
|
-
/* @__PURE__ */ (0,
|
|
8233
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "min-w-0 flex-1 self-stretch", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex h-12 min-w-0 flex-col justify-center", children: [
|
|
8234
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8181
8235
|
Typography,
|
|
8182
8236
|
{
|
|
8183
8237
|
variant: "body-strong",
|
|
@@ -8190,7 +8244,7 @@ var EventListItemContent = ({
|
|
|
8190
8244
|
children: resolvedTitle
|
|
8191
8245
|
}
|
|
8192
8246
|
),
|
|
8193
|
-
resolvedTimestamp ? /* @__PURE__ */ (0,
|
|
8247
|
+
resolvedTimestamp ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "agg-event-timestamp-row mt-0.5 h-5 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8194
8248
|
Typography,
|
|
8195
8249
|
{
|
|
8196
8250
|
variant: "body",
|
|
@@ -8203,8 +8257,8 @@ var EventListItemContent = ({
|
|
|
8203
8257
|
) }) : null
|
|
8204
8258
|
] }) })
|
|
8205
8259
|
] }),
|
|
8206
|
-
/* @__PURE__ */ (0,
|
|
8207
|
-
/* @__PURE__ */ (0,
|
|
8260
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "relative w-full", children: [
|
|
8261
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
8208
8262
|
"div",
|
|
8209
8263
|
{
|
|
8210
8264
|
ref: outcomesContainerRef,
|
|
@@ -8222,7 +8276,7 @@ var EventListItemContent = ({
|
|
|
8222
8276
|
const arbReturn = arbReturnByVenueMarketId.get(row.market.id);
|
|
8223
8277
|
const priceGapPercent = arbReturn == null ? gapsByVenueMarketId.get(row.market.id) : arbReturn;
|
|
8224
8278
|
const priceGapSource = arbReturn == null ? "percent" : "fraction";
|
|
8225
|
-
return /* @__PURE__ */ (0,
|
|
8279
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
8226
8280
|
"div",
|
|
8227
8281
|
{
|
|
8228
8282
|
className: cn(
|
|
@@ -8231,7 +8285,7 @@ var EventListItemContent = ({
|
|
|
8231
8285
|
classNames == null ? void 0 : classNames.outcomeRow
|
|
8232
8286
|
),
|
|
8233
8287
|
children: [
|
|
8234
|
-
/* @__PURE__ */ (0,
|
|
8288
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "agg-outcome-label-row flex min-w-0 flex-1 flex-row items-center justify-start gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8235
8289
|
Typography,
|
|
8236
8290
|
{
|
|
8237
8291
|
variant: "body",
|
|
@@ -8239,10 +8293,10 @@ var EventListItemContent = ({
|
|
|
8239
8293
|
children: row.label
|
|
8240
8294
|
}
|
|
8241
8295
|
) }),
|
|
8242
|
-
/* @__PURE__ */ (0,
|
|
8296
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "agg-outcome-meta flex shrink-0 flex-row items-center justify-end gap-2", children: [
|
|
8243
8297
|
renderArbitrage(arbitragePercent),
|
|
8244
8298
|
renderPriceGapPill(priceGapPercent, priceGapSource),
|
|
8245
|
-
/* @__PURE__ */ (0,
|
|
8299
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "agg-outcome-price-strip relative flex shrink-0 items-center justify-end", children: isAwaitingMidpoints ? renderPriceStripSkeleton(row.prices.length) : row.prices.map(
|
|
8246
8300
|
(price, priceIndex) => renderComparisonPriceBadge(row, price, priceIndex)
|
|
8247
8301
|
) })
|
|
8248
8302
|
] })
|
|
@@ -8251,15 +8305,15 @@ var EventListItemContent = ({
|
|
|
8251
8305
|
row.id
|
|
8252
8306
|
);
|
|
8253
8307
|
}),
|
|
8254
|
-
shouldRenderLoadingOutcomeRow ? /* @__PURE__ */ (0,
|
|
8255
|
-
/* @__PURE__ */ (0,
|
|
8308
|
+
shouldRenderLoadingOutcomeRow ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "agg-outcome-row-loading flex w-full items-center justify-between gap-3", children: [
|
|
8309
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8256
8310
|
"div",
|
|
8257
8311
|
{
|
|
8258
8312
|
"aria-hidden": "true",
|
|
8259
8313
|
className: "bg-agg-separator animate-pulse h-5 rounded-agg-sm w-[200px]"
|
|
8260
8314
|
}
|
|
8261
8315
|
),
|
|
8262
|
-
/* @__PURE__ */ (0,
|
|
8316
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8263
8317
|
"div",
|
|
8264
8318
|
{
|
|
8265
8319
|
"aria-hidden": "true",
|
|
@@ -8270,7 +8324,7 @@ var EventListItemContent = ({
|
|
|
8270
8324
|
]
|
|
8271
8325
|
}
|
|
8272
8326
|
),
|
|
8273
|
-
/* @__PURE__ */ (0,
|
|
8327
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8274
8328
|
"div",
|
|
8275
8329
|
{
|
|
8276
8330
|
className: cn(
|
|
@@ -8280,7 +8334,7 @@ var EventListItemContent = ({
|
|
|
8280
8334
|
style: { height: OUTCOMES_SCROLL_MASK_HEIGHT_PX }
|
|
8281
8335
|
}
|
|
8282
8336
|
),
|
|
8283
|
-
/* @__PURE__ */ (0,
|
|
8337
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8284
8338
|
"div",
|
|
8285
8339
|
{
|
|
8286
8340
|
className: cn(
|
|
@@ -8291,7 +8345,7 @@ var EventListItemContent = ({
|
|
|
8291
8345
|
}
|
|
8292
8346
|
)
|
|
8293
8347
|
] }),
|
|
8294
|
-
/* @__PURE__ */ (0,
|
|
8348
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
8295
8349
|
"div",
|
|
8296
8350
|
{
|
|
8297
8351
|
className: cn(
|
|
@@ -8301,14 +8355,14 @@ var EventListItemContent = ({
|
|
|
8301
8355
|
classNames == null ? void 0 : classNames.footer
|
|
8302
8356
|
),
|
|
8303
8357
|
children: [
|
|
8304
|
-
/* @__PURE__ */ (0,
|
|
8358
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
8305
8359
|
"div",
|
|
8306
8360
|
{
|
|
8307
8361
|
className: cn(
|
|
8308
8362
|
"agg-event-meta flex min-w-0 flex-1 items-center gap-2 text-agg-sm leading-agg-5 truncate"
|
|
8309
8363
|
),
|
|
8310
8364
|
children: [
|
|
8311
|
-
outcomesScrollState.remainingMarkets > 0 ? /* @__PURE__ */ (0,
|
|
8365
|
+
outcomesScrollState.remainingMarkets > 0 ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8312
8366
|
Typography,
|
|
8313
8367
|
{
|
|
8314
8368
|
variant: "body",
|
|
@@ -8316,9 +8370,9 @@ var EventListItemContent = ({
|
|
|
8316
8370
|
children: labels.eventItem.remainingMarkets(outcomesScrollState.remainingMarkets)
|
|
8317
8371
|
}
|
|
8318
8372
|
) : null,
|
|
8319
|
-
shouldShowMatchedVenueSummary ? /* @__PURE__ */ (0,
|
|
8320
|
-
singleFooterVenue ? /* @__PURE__ */ (0,
|
|
8321
|
-
/* @__PURE__ */ (0,
|
|
8373
|
+
shouldShowMatchedVenueSummary ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "agg-event-matched-badge rounded-agg-full bg-agg-primary/10 px-2 py-[3px] text-agg-2xs font-agg-bold uppercase leading-agg-14 text-agg-primary", children: matchedCountLabel }) : null,
|
|
8374
|
+
singleFooterVenue ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("span", { className: "agg-event-single-venue flex min-w-0 items-center gap-1 overflow-hidden", children: [
|
|
8375
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8322
8376
|
VenueLogo,
|
|
8323
8377
|
{
|
|
8324
8378
|
venue: singleFooterVenue,
|
|
@@ -8327,9 +8381,9 @@ var EventListItemContent = ({
|
|
|
8327
8381
|
className: "text-agg-muted-foreground! size-[14px]!"
|
|
8328
8382
|
}
|
|
8329
8383
|
),
|
|
8330
|
-
/* @__PURE__ */ (0,
|
|
8384
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "truncate text-agg-muted-foreground", children: resolveVenueLabel(singleFooterVenue, void 0, labels) })
|
|
8331
8385
|
] }) : null,
|
|
8332
|
-
shouldShowMatchedVenueSummary && visibleFooterVenues.length > 0 ? /* @__PURE__ */ (0,
|
|
8386
|
+
shouldShowMatchedVenueSummary && visibleFooterVenues.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "agg-event-venues flex items-center gap-1 overflow-hidden", children: visibleFooterVenues.map((venue) => /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8333
8387
|
VenueLogo,
|
|
8334
8388
|
{
|
|
8335
8389
|
venue,
|
|
@@ -8342,7 +8396,7 @@ var EventListItemContent = ({
|
|
|
8342
8396
|
]
|
|
8343
8397
|
}
|
|
8344
8398
|
),
|
|
8345
|
-
/* @__PURE__ */ (0,
|
|
8399
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
8346
8400
|
Typography,
|
|
8347
8401
|
{
|
|
8348
8402
|
variant: "label",
|
|
@@ -8368,7 +8422,7 @@ var EventListItemByEventId = (_a) => {
|
|
|
8368
8422
|
error,
|
|
8369
8423
|
isError,
|
|
8370
8424
|
isLoading
|
|
8371
|
-
} = (0,
|
|
8425
|
+
} = (0, import_hooks32.useVenueEvent)({
|
|
8372
8426
|
eventId: eventId != null ? eventId : "",
|
|
8373
8427
|
enabled: !!eventId
|
|
8374
8428
|
});
|
|
@@ -8376,44 +8430,44 @@ var EventListItemByEventId = (_a) => {
|
|
|
8376
8430
|
return resolveEventListItemEvent(fetchedEvent);
|
|
8377
8431
|
}, [fetchedEvent]);
|
|
8378
8432
|
if (!eventId) {
|
|
8379
|
-
return /* @__PURE__ */ (0,
|
|
8433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(EventListItemUnavailableState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
8380
8434
|
}
|
|
8381
8435
|
if (isLoading) {
|
|
8382
|
-
return /* @__PURE__ */ (0,
|
|
8436
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(EventListItemLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
8383
8437
|
}
|
|
8384
8438
|
if (isErrorWithStatus(error, 404)) {
|
|
8385
|
-
return /* @__PURE__ */ (0,
|
|
8439
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(EventListItemNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
8386
8440
|
}
|
|
8387
8441
|
if (!fetchedEvent && !isError) {
|
|
8388
|
-
return /* @__PURE__ */ (0,
|
|
8442
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(EventListItemLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
8389
8443
|
}
|
|
8390
8444
|
if (!resolvedEvent) {
|
|
8391
|
-
return /* @__PURE__ */ (0,
|
|
8445
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(EventListItemUnavailableState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
8392
8446
|
}
|
|
8393
|
-
return /* @__PURE__ */ (0,
|
|
8447
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(EventListItemContent, __spreadValues({ event: resolvedEvent }, rest));
|
|
8394
8448
|
};
|
|
8395
8449
|
var EventListItem = (props) => {
|
|
8396
8450
|
if (props.isLoading) {
|
|
8397
|
-
return /* @__PURE__ */ (0,
|
|
8451
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(EventListItemLoadingState, { classNames: props.classNames, ariaLabel: props.ariaLabel });
|
|
8398
8452
|
}
|
|
8399
8453
|
if ("event" in props && props.event) {
|
|
8400
8454
|
const _a = props, { event } = _a, rest = __objRest(_a, ["event"]);
|
|
8401
|
-
return /* @__PURE__ */ (0,
|
|
8455
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(EventListItemContent, __spreadValues({ event }, rest));
|
|
8402
8456
|
}
|
|
8403
|
-
return /* @__PURE__ */ (0,
|
|
8457
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(EventListItemByEventId, __spreadValues({}, props));
|
|
8404
8458
|
};
|
|
8405
8459
|
EventListItem.displayName = "EventListItem";
|
|
8406
8460
|
var EventListItemV2 = (props) => {
|
|
8407
|
-
return /* @__PURE__ */ (0,
|
|
8461
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(EventListItem, __spreadValues({}, props));
|
|
8408
8462
|
};
|
|
8409
8463
|
EventListItemV2.displayName = "EventListItemV2";
|
|
8410
8464
|
|
|
8411
8465
|
// src/events/item-details/index.tsx
|
|
8412
|
-
var
|
|
8466
|
+
var import_hooks41 = require("@agg-build/hooks");
|
|
8413
8467
|
var import_react16 = require("react");
|
|
8414
8468
|
|
|
8415
8469
|
// src/primitives/chart/chart-type-switch.tsx
|
|
8416
|
-
var
|
|
8470
|
+
var import_hooks33 = require("@agg-build/hooks");
|
|
8417
8471
|
var import_react11 = require("react");
|
|
8418
8472
|
|
|
8419
8473
|
// src/primitives/chart/chart-type-switch.constants.ts
|
|
@@ -8439,13 +8493,13 @@ var resolveChartTypeOptionIconName = (chartType) => {
|
|
|
8439
8493
|
};
|
|
8440
8494
|
|
|
8441
8495
|
// src/primitives/chart/chart-type-switch.tsx
|
|
8442
|
-
var
|
|
8496
|
+
var import_jsx_runtime124 = require("react/jsx-runtime");
|
|
8443
8497
|
var ChartTypeSwitch = ({
|
|
8444
8498
|
value,
|
|
8445
8499
|
onValueChange,
|
|
8446
8500
|
className
|
|
8447
8501
|
}) => {
|
|
8448
|
-
const labels = (0,
|
|
8502
|
+
const labels = (0, import_hooks33.useLabels)();
|
|
8449
8503
|
const options = (0, import_react11.useMemo)(
|
|
8450
8504
|
() => CHART_TYPE_SWITCH_OPTION_KEYS.map((chartType) => ({
|
|
8451
8505
|
value: chartType,
|
|
@@ -8475,7 +8529,7 @@ var ChartTypeSwitch = ({
|
|
|
8475
8529
|
}
|
|
8476
8530
|
onValueChange(nextOption.value);
|
|
8477
8531
|
};
|
|
8478
|
-
return /* @__PURE__ */ (0,
|
|
8532
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
8479
8533
|
"div",
|
|
8480
8534
|
{
|
|
8481
8535
|
className: cn("agg-chart-type-switch inline-flex items-center gap-2", className),
|
|
@@ -8483,7 +8537,7 @@ var ChartTypeSwitch = ({
|
|
|
8483
8537
|
"aria-label": labels.common.chartTypeSwitchAria,
|
|
8484
8538
|
children: options.map((option, index) => {
|
|
8485
8539
|
const isActive = option.value === value;
|
|
8486
|
-
return /* @__PURE__ */ (0,
|
|
8540
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
8487
8541
|
"button",
|
|
8488
8542
|
{
|
|
8489
8543
|
type: "button",
|
|
@@ -8510,7 +8564,7 @@ var ChartTypeSwitch = ({
|
|
|
8510
8564
|
onKeyDown: (event) => {
|
|
8511
8565
|
handleKeyDown(event, index);
|
|
8512
8566
|
},
|
|
8513
|
-
children: /* @__PURE__ */ (0,
|
|
8567
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Icon, { name: option.iconName, color: "currentColor", className: "h-5 w-5" })
|
|
8514
8568
|
},
|
|
8515
8569
|
option.value
|
|
8516
8570
|
);
|
|
@@ -8521,10 +8575,10 @@ var ChartTypeSwitch = ({
|
|
|
8521
8575
|
ChartTypeSwitch.displayName = "ChartTypeSwitch";
|
|
8522
8576
|
|
|
8523
8577
|
// src/trading/trading-context/index.tsx
|
|
8524
|
-
var
|
|
8578
|
+
var import_hooks34 = require("@agg-build/hooks");
|
|
8525
8579
|
|
|
8526
8580
|
// src/events/market-details/market-details.utils.ts
|
|
8527
|
-
var
|
|
8581
|
+
var import_sdk13 = require("@agg-build/sdk");
|
|
8528
8582
|
var import_dayjs4 = __toESM(require("dayjs"));
|
|
8529
8583
|
|
|
8530
8584
|
// src/events/item-details/event-list-item-details.utils.ts
|
|
@@ -8870,12 +8924,12 @@ var resolveMarketChartLiveState = ({
|
|
|
8870
8924
|
};
|
|
8871
8925
|
|
|
8872
8926
|
// src/events/orderbook/orderbook.utils.ts
|
|
8873
|
-
var
|
|
8874
|
-
var isOrderBookLevel = (v) => (0,
|
|
8927
|
+
var import_sdk12 = require("@agg-build/sdk");
|
|
8928
|
+
var isOrderBookLevel = (v) => (0, import_sdk12.hasShape)(v, {
|
|
8875
8929
|
price: (p) => typeof p === "number" && p >= 0 && p <= 1,
|
|
8876
8930
|
size: (s) => typeof s === "number" && s >= 0
|
|
8877
8931
|
});
|
|
8878
|
-
var isOrderBookRow = (v) => (0,
|
|
8932
|
+
var isOrderBookRow = (v) => (0, import_sdk12.hasShape)(v, {
|
|
8879
8933
|
id: (x) => typeof x === "string",
|
|
8880
8934
|
venue: (x) => typeof x === "string" && x.length > 0,
|
|
8881
8935
|
price: (p) => typeof p === "number" && p >= 0 && p <= 1,
|
|
@@ -8899,9 +8953,9 @@ var resolveOrderBookRows = ({
|
|
|
8899
8953
|
var _a;
|
|
8900
8954
|
return ((_a = result.orderbook[side]) != null ? _a : []).flatMap(
|
|
8901
8955
|
(level, index) => {
|
|
8902
|
-
const parsedLevel = (0,
|
|
8956
|
+
const parsedLevel = (0, import_sdk12.safeParse)(level, isOrderBookLevel);
|
|
8903
8957
|
if (!parsedLevel.success) return [];
|
|
8904
|
-
const parsedRow = (0,
|
|
8958
|
+
const parsedRow = (0, import_sdk12.safeParse)(
|
|
8905
8959
|
{
|
|
8906
8960
|
id: `${result.market.id}-${side}-${index}-${parsedLevel.data.price}`,
|
|
8907
8961
|
venue: result.market.venue,
|
|
@@ -8976,7 +9030,7 @@ var hasBinaryLabels = (labels) => {
|
|
|
8976
9030
|
return normalizedLabels.includes("yes") && normalizedLabels.includes("no");
|
|
8977
9031
|
};
|
|
8978
9032
|
var resolveInitialTab = (defaultTab) => {
|
|
8979
|
-
const parsedTab = (0,
|
|
9033
|
+
const parsedTab = (0, import_sdk13.safeParse)(defaultTab, isMarketDetailsTab);
|
|
8980
9034
|
if (parsedTab.success) return parsedTab.data;
|
|
8981
9035
|
return "order-book";
|
|
8982
9036
|
};
|
|
@@ -9276,7 +9330,7 @@ var buildMarketDetailsModel = ({
|
|
|
9276
9330
|
};
|
|
9277
9331
|
|
|
9278
9332
|
// src/events/market-details/orderbook-aggregation.ts
|
|
9279
|
-
var
|
|
9333
|
+
var import_hooks35 = require("@agg-build/hooks");
|
|
9280
9334
|
var PRICE_PRECISION = 1e6;
|
|
9281
9335
|
var SIZE_PRECISION = 1e8;
|
|
9282
9336
|
var POSITIVE_OUTCOME_KEYS = /* @__PURE__ */ new Set(["yes", "y", "true", "up", "buy", "long"]);
|
|
@@ -9397,7 +9451,7 @@ var buildRowsFromAccumulator = ({
|
|
|
9397
9451
|
const venueBreakdown = Object.fromEntries(
|
|
9398
9452
|
Object.entries(level.venueBreakdownScaled).filter(([, scaledSize]) => scaledSize > 0).map(([venue2, scaledSize]) => [venue2, fromScaled(scaledSize, SIZE_PRECISION)])
|
|
9399
9453
|
);
|
|
9400
|
-
const resolvedFallbackVenue = fallbackVenue != null ? fallbackVenue :
|
|
9454
|
+
const resolvedFallbackVenue = fallbackVenue != null ? fallbackVenue : import_hooks35.Venue.polymarket;
|
|
9401
9455
|
const venues = resolveVenues(venueBreakdown, resolvedFallbackVenue);
|
|
9402
9456
|
const venue = resolvePrimaryVenue(venueBreakdown, resolvedFallbackVenue);
|
|
9403
9457
|
return {
|
|
@@ -9695,7 +9749,7 @@ var shouldAutoFallbackToAllRange = ({
|
|
|
9695
9749
|
};
|
|
9696
9750
|
|
|
9697
9751
|
// src/events/shared/chart-venue-selection.ts
|
|
9698
|
-
var
|
|
9752
|
+
var import_hooks36 = require("@agg-build/hooks");
|
|
9699
9753
|
var resolveChartVenueOutcomes = ({
|
|
9700
9754
|
eligibleVenueOutcomes,
|
|
9701
9755
|
livePrices
|
|
@@ -9707,7 +9761,7 @@ var resolveChartVenueOutcomes = ({
|
|
|
9707
9761
|
const probabilityDifference = (leftProbability != null ? leftProbability : 2) - (rightProbability != null ? rightProbability : 2);
|
|
9708
9762
|
if (probabilityDifference !== 0) return probabilityDifference;
|
|
9709
9763
|
if (left.venue === right.venue) return 0;
|
|
9710
|
-
const sortedVenues = (0,
|
|
9764
|
+
const sortedVenues = (0, import_hooks36.sortVenues)([left.venue, right.venue]);
|
|
9711
9765
|
return sortedVenues[0] === left.venue ? -1 : 1;
|
|
9712
9766
|
});
|
|
9713
9767
|
const venueOutcomesByVenue = /* @__PURE__ */ new Map();
|
|
@@ -9802,9 +9856,9 @@ var getDisplayOutcomePrice = ({
|
|
|
9802
9856
|
};
|
|
9803
9857
|
|
|
9804
9858
|
// src/events/item-details/event-list-item-details-market-selector.tsx
|
|
9805
|
-
var
|
|
9859
|
+
var import_hooks37 = require("@agg-build/hooks");
|
|
9806
9860
|
var import_react12 = require("react");
|
|
9807
|
-
var
|
|
9861
|
+
var import_jsx_runtime125 = require("react/jsx-runtime");
|
|
9808
9862
|
var MARKET_PILL_MAX_ROWS = 2;
|
|
9809
9863
|
var MARKET_PILL_FALLBACK_CONTAINER_WIDTH = 640;
|
|
9810
9864
|
var MARKET_PILL_FALLBACK_GAP = 8;
|
|
@@ -9899,7 +9953,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
9899
9953
|
onChange
|
|
9900
9954
|
}) => {
|
|
9901
9955
|
var _a;
|
|
9902
|
-
const labels = (0,
|
|
9956
|
+
const labels = (0, import_hooks37.useLabels)();
|
|
9903
9957
|
const containerRef = (0, import_react12.useRef)(null);
|
|
9904
9958
|
const measurementContainerRef = (0, import_react12.useRef)(null);
|
|
9905
9959
|
const moreButtonRef = (0, import_react12.useRef)(null);
|
|
@@ -10108,7 +10162,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10108
10162
|
setIsDropdownOpen(false);
|
|
10109
10163
|
};
|
|
10110
10164
|
if (isMobileViewport) {
|
|
10111
|
-
return /* @__PURE__ */ (0,
|
|
10165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
10112
10166
|
AutocompleteSelect,
|
|
10113
10167
|
{
|
|
10114
10168
|
options,
|
|
@@ -10122,11 +10176,11 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10122
10176
|
}
|
|
10123
10177
|
);
|
|
10124
10178
|
}
|
|
10125
|
-
return /* @__PURE__ */ (0,
|
|
10126
|
-
/* @__PURE__ */ (0,
|
|
10179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { ref: containerRef, className: cn("agg-market-select relative w-full", className), children: [
|
|
10180
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "agg-market-pill-list flex flex-wrap gap-2", children: [
|
|
10127
10181
|
layout.visibleItems.map((option) => {
|
|
10128
10182
|
const isSelected = option.value === selectedValue;
|
|
10129
|
-
return /* @__PURE__ */ (0,
|
|
10183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
10130
10184
|
"button",
|
|
10131
10185
|
{
|
|
10132
10186
|
type: "button",
|
|
@@ -10142,12 +10196,12 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10142
10196
|
eventToHandle.stopPropagation();
|
|
10143
10197
|
handleSelectMarket(option.value);
|
|
10144
10198
|
},
|
|
10145
|
-
children: /* @__PURE__ */ (0,
|
|
10199
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "truncate", children: option.label })
|
|
10146
10200
|
},
|
|
10147
10201
|
option.value
|
|
10148
10202
|
);
|
|
10149
10203
|
}),
|
|
10150
|
-
layout.hiddenItems.length > 0 ? /* @__PURE__ */ (0,
|
|
10204
|
+
layout.hiddenItems.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
10151
10205
|
"button",
|
|
10152
10206
|
{
|
|
10153
10207
|
ref: moreButtonRef,
|
|
@@ -10168,8 +10222,8 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10168
10222
|
setIsDropdownOpen((previousValue) => !previousValue);
|
|
10169
10223
|
},
|
|
10170
10224
|
children: [
|
|
10171
|
-
/* @__PURE__ */ (0,
|
|
10172
|
-
/* @__PURE__ */ (0,
|
|
10225
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "truncate", children: moreButtonLabel }),
|
|
10226
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
10173
10227
|
Icon,
|
|
10174
10228
|
{
|
|
10175
10229
|
name: isDropdownOpen ? "chevron-up" : "chevron-down",
|
|
@@ -10183,7 +10237,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10183
10237
|
}
|
|
10184
10238
|
) : null
|
|
10185
10239
|
] }),
|
|
10186
|
-
isDropdownOpen ? /* @__PURE__ */ (0,
|
|
10240
|
+
isDropdownOpen ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
10187
10241
|
"div",
|
|
10188
10242
|
{
|
|
10189
10243
|
id: "agg-event-details-market-dropdown",
|
|
@@ -10200,9 +10254,9 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10200
10254
|
eventToHandle.stopPropagation();
|
|
10201
10255
|
},
|
|
10202
10256
|
children: [
|
|
10203
|
-
/* @__PURE__ */ (0,
|
|
10204
|
-
/* @__PURE__ */ (0,
|
|
10205
|
-
/* @__PURE__ */ (0,
|
|
10257
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "border-b border-agg-separator", children: [
|
|
10258
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("label", { className: "sr-only", htmlFor: "agg-event-details-market-search", children: labels.eventItemDetails.marketSelectSearchPlaceholder }),
|
|
10259
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
10206
10260
|
"input",
|
|
10207
10261
|
{
|
|
10208
10262
|
ref: dropdownInputRef,
|
|
@@ -10224,7 +10278,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10224
10278
|
}
|
|
10225
10279
|
)
|
|
10226
10280
|
] }),
|
|
10227
|
-
/* @__PURE__ */ (0,
|
|
10281
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
10228
10282
|
"div",
|
|
10229
10283
|
{
|
|
10230
10284
|
role: "listbox",
|
|
@@ -10233,7 +10287,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10233
10287
|
style: { maxHeight: `${MARKET_DROPDOWN_MAX_HEIGHT}px` },
|
|
10234
10288
|
children: filteredOptions.length > 0 ? filteredOptions.map((option) => {
|
|
10235
10289
|
const isSelected = option.value === selectedValue;
|
|
10236
|
-
return /* @__PURE__ */ (0,
|
|
10290
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
10237
10291
|
"button",
|
|
10238
10292
|
{
|
|
10239
10293
|
type: "button",
|
|
@@ -10252,25 +10306,25 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10252
10306
|
handleSelectMarket(option.value);
|
|
10253
10307
|
},
|
|
10254
10308
|
children: [
|
|
10255
|
-
isSelected ? /* @__PURE__ */ (0,
|
|
10309
|
+
isSelected ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
10256
10310
|
"span",
|
|
10257
10311
|
{
|
|
10258
10312
|
"aria-hidden": "true",
|
|
10259
10313
|
className: "absolute bottom-2 left-0 top-2 w-1 bg-agg-primary"
|
|
10260
10314
|
}
|
|
10261
10315
|
) : null,
|
|
10262
|
-
/* @__PURE__ */ (0,
|
|
10316
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "truncate", children: option.label })
|
|
10263
10317
|
]
|
|
10264
10318
|
},
|
|
10265
10319
|
option.value
|
|
10266
10320
|
);
|
|
10267
|
-
}) : /* @__PURE__ */ (0,
|
|
10321
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "px-5 py-4 text-agg-sm leading-agg-5 text-agg-muted-foreground", children: labels.eventItemDetails.marketSelectEmpty })
|
|
10268
10322
|
}
|
|
10269
10323
|
)
|
|
10270
10324
|
]
|
|
10271
10325
|
}
|
|
10272
10326
|
) : null,
|
|
10273
|
-
/* @__PURE__ */ (0,
|
|
10327
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
10274
10328
|
"div",
|
|
10275
10329
|
{
|
|
10276
10330
|
ref: measurementContainerRef,
|
|
@@ -10279,7 +10333,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10279
10333
|
children: [
|
|
10280
10334
|
options.map((option) => {
|
|
10281
10335
|
const isSelected = option.value === selectedValue;
|
|
10282
|
-
return /* @__PURE__ */ (0,
|
|
10336
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
10283
10337
|
"button",
|
|
10284
10338
|
{
|
|
10285
10339
|
ref: (element) => {
|
|
@@ -10291,12 +10345,12 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10291
10345
|
"inline-flex min-h-8 items-center justify-center rounded-agg-full border px-4 py-1.5 text-agg-sm leading-agg-5",
|
|
10292
10346
|
isSelected ? "border-agg-primary bg-agg-secondary font-agg-bold" : "border-transparent bg-agg-secondary-hover font-agg-normal"
|
|
10293
10347
|
),
|
|
10294
|
-
children: /* @__PURE__ */ (0,
|
|
10348
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "truncate", children: option.label })
|
|
10295
10349
|
},
|
|
10296
10350
|
option.value
|
|
10297
10351
|
);
|
|
10298
10352
|
}),
|
|
10299
|
-
/* @__PURE__ */ (0,
|
|
10353
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
10300
10354
|
"button",
|
|
10301
10355
|
{
|
|
10302
10356
|
ref: moreButtonMeasureRef,
|
|
@@ -10304,8 +10358,8 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10304
10358
|
tabIndex: -1,
|
|
10305
10359
|
className: "inline-flex min-h-8 items-center justify-center gap-1.5 rounded-agg-full border border-agg-primary bg-agg-secondary px-4 py-1.5 text-agg-sm leading-agg-5 text-agg-foreground",
|
|
10306
10360
|
children: [
|
|
10307
|
-
/* @__PURE__ */ (0,
|
|
10308
|
-
/* @__PURE__ */ (0,
|
|
10361
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { children: moreButtonLabel }),
|
|
10362
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
10309
10363
|
Icon,
|
|
10310
10364
|
{
|
|
10311
10365
|
name: "chevron-down",
|
|
@@ -10325,17 +10379,17 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10325
10379
|
};
|
|
10326
10380
|
|
|
10327
10381
|
// src/events/item-details/settlement-summary.tsx
|
|
10328
|
-
var
|
|
10382
|
+
var import_hooks40 = require("@agg-build/hooks");
|
|
10329
10383
|
var import_react15 = require("react");
|
|
10330
10384
|
|
|
10331
10385
|
// src/trading/settlement/index.tsx
|
|
10332
|
-
var
|
|
10386
|
+
var import_hooks39 = require("@agg-build/hooks");
|
|
10333
10387
|
var import_react14 = require("react");
|
|
10334
10388
|
|
|
10335
10389
|
// src/trading/utils.ts
|
|
10336
|
-
var
|
|
10390
|
+
var import_hooks38 = require("@agg-build/hooks");
|
|
10337
10391
|
var import_dayjs5 = __toESM(require("dayjs"));
|
|
10338
|
-
var defaultLabels = (0,
|
|
10392
|
+
var defaultLabels = (0, import_hooks38.resolveAggUiLabels)("en-US");
|
|
10339
10393
|
var defaultSettlementSectionLabel = defaultLabels.trading.settlementSection;
|
|
10340
10394
|
var defaultTradingDisclaimer = defaultLabels.trading.disclaimer;
|
|
10341
10395
|
|
|
@@ -10387,7 +10441,7 @@ var dedupeSettlementSources = (sources) => {
|
|
|
10387
10441
|
};
|
|
10388
10442
|
|
|
10389
10443
|
// src/trading/settlement/settlement-text-renderer.tsx
|
|
10390
|
-
var
|
|
10444
|
+
var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
10391
10445
|
var inlineTokenRegex = new RegExp(
|
|
10392
10446
|
[
|
|
10393
10447
|
/\[([^\]\n]+)\]\(([^)\s]+)\)/.source,
|
|
@@ -10426,12 +10480,12 @@ var renderInlineSegment = (text, baseKey) => {
|
|
|
10426
10480
|
}
|
|
10427
10481
|
if (match.index > lastIndex) {
|
|
10428
10482
|
nodes.push(
|
|
10429
|
-
/* @__PURE__ */ (0,
|
|
10483
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_react13.Fragment, { children: text.slice(lastIndex, match.index) }, `${baseKey}-text-${segmentIndex++}`)
|
|
10430
10484
|
);
|
|
10431
10485
|
}
|
|
10432
10486
|
if (isLinkMatch(match)) {
|
|
10433
10487
|
nodes.push(
|
|
10434
|
-
/* @__PURE__ */ (0,
|
|
10488
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
10435
10489
|
"a",
|
|
10436
10490
|
{
|
|
10437
10491
|
href: match[2],
|
|
@@ -10445,7 +10499,7 @@ var renderInlineSegment = (text, baseKey) => {
|
|
|
10445
10499
|
);
|
|
10446
10500
|
} else if (match[3] !== void 0) {
|
|
10447
10501
|
nodes.push(
|
|
10448
|
-
/* @__PURE__ */ (0,
|
|
10502
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
10449
10503
|
"strong",
|
|
10450
10504
|
{
|
|
10451
10505
|
className: "agg-settlement-text-bold font-agg-bold",
|
|
@@ -10456,7 +10510,7 @@ var renderInlineSegment = (text, baseKey) => {
|
|
|
10456
10510
|
);
|
|
10457
10511
|
} else if (match[4] !== void 0) {
|
|
10458
10512
|
nodes.push(
|
|
10459
|
-
/* @__PURE__ */ (0,
|
|
10513
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
10460
10514
|
"code",
|
|
10461
10515
|
{
|
|
10462
10516
|
className: "agg-settlement-text-code rounded-agg-sm bg-agg-secondary-hover px-1 py-0.5 font-mono text-[0.875em]",
|
|
@@ -10467,7 +10521,7 @@ var renderInlineSegment = (text, baseKey) => {
|
|
|
10467
10521
|
);
|
|
10468
10522
|
} else if (bareUrl !== void 0) {
|
|
10469
10523
|
nodes.push(
|
|
10470
|
-
/* @__PURE__ */ (0,
|
|
10524
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
10471
10525
|
"a",
|
|
10472
10526
|
{
|
|
10473
10527
|
href: bareUrl,
|
|
@@ -10484,18 +10538,18 @@ var renderInlineSegment = (text, baseKey) => {
|
|
|
10484
10538
|
}
|
|
10485
10539
|
if (lastIndex < text.length) {
|
|
10486
10540
|
nodes.push(
|
|
10487
|
-
/* @__PURE__ */ (0,
|
|
10541
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_react13.Fragment, { children: text.slice(lastIndex) }, `${baseKey}-text-${segmentIndex++}`)
|
|
10488
10542
|
);
|
|
10489
10543
|
}
|
|
10490
10544
|
return nodes;
|
|
10491
10545
|
};
|
|
10492
10546
|
var renderBlock = (block, blockIndex) => {
|
|
10493
10547
|
if (block.kind === "list") {
|
|
10494
|
-
return /* @__PURE__ */ (0,
|
|
10548
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
10495
10549
|
"ul",
|
|
10496
10550
|
{
|
|
10497
10551
|
className: "agg-settlement-text-list list-disc pl-5 text-agg-sm leading-agg-5 text-agg-foreground",
|
|
10498
|
-
children: block.items.map((item, itemIndex) => /* @__PURE__ */ (0,
|
|
10552
|
+
children: block.items.map((item, itemIndex) => /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
10499
10553
|
"li",
|
|
10500
10554
|
{
|
|
10501
10555
|
className: "agg-settlement-text-list-item",
|
|
@@ -10507,12 +10561,12 @@ var renderBlock = (block, blockIndex) => {
|
|
|
10507
10561
|
`block-${blockIndex}`
|
|
10508
10562
|
);
|
|
10509
10563
|
}
|
|
10510
|
-
return /* @__PURE__ */ (0,
|
|
10564
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
10511
10565
|
"p",
|
|
10512
10566
|
{
|
|
10513
10567
|
className: "agg-settlement-text-paragraph text-agg-sm leading-agg-5 text-agg-foreground break-words [overflow-wrap:anywhere]",
|
|
10514
|
-
children: block.lines.map((line, lineIndex) => /* @__PURE__ */ (0,
|
|
10515
|
-
lineIndex > 0 ? /* @__PURE__ */ (0,
|
|
10568
|
+
children: block.lines.map((line, lineIndex) => /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_react13.Fragment, { children: [
|
|
10569
|
+
lineIndex > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("br", {}) : null,
|
|
10516
10570
|
renderInlineSegment(line, `block-${blockIndex}-line-${lineIndex}`)
|
|
10517
10571
|
] }, `block-${blockIndex}-line-${lineIndex}`))
|
|
10518
10572
|
},
|
|
@@ -10525,12 +10579,12 @@ var SettlementTextRenderer = ({
|
|
|
10525
10579
|
}) => {
|
|
10526
10580
|
const blocks = parseSettlementBlocks(content);
|
|
10527
10581
|
if (blocks.length === 0) return null;
|
|
10528
|
-
return /* @__PURE__ */ (0,
|
|
10582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: cn("agg-settlement-text flex flex-col gap-2", className), children: blocks.map((block, blockIndex) => renderBlock(block, blockIndex)) });
|
|
10529
10583
|
};
|
|
10530
10584
|
SettlementTextRenderer.displayName = "SettlementTextRenderer";
|
|
10531
10585
|
|
|
10532
10586
|
// src/trading/settlement/index.tsx
|
|
10533
|
-
var
|
|
10587
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
10534
10588
|
var SETTLEMENT_SECTION_ID = "agg-settlement-section";
|
|
10535
10589
|
var getSettlementDifferenceId = (sectionId, canonicalKey) => {
|
|
10536
10590
|
return `${sectionId}-difference-${canonicalKey}`;
|
|
@@ -10697,13 +10751,13 @@ var SettlementVenueRules = ({
|
|
|
10697
10751
|
rules,
|
|
10698
10752
|
labels
|
|
10699
10753
|
}) => {
|
|
10700
|
-
return /* @__PURE__ */ (0,
|
|
10701
|
-
/* @__PURE__ */ (0,
|
|
10702
|
-
/* @__PURE__ */ (0,
|
|
10754
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "agg-settlement-venue-rules flex w-full flex-col items-start gap-4", children: [
|
|
10755
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.trading.settlementFullRulesTitle }),
|
|
10756
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "flex w-full flex-col items-start gap-4", children: rules.map((rule) => {
|
|
10703
10757
|
const venueLabel = resolveSettlementVenueLabel(rule.venue, labels);
|
|
10704
|
-
return /* @__PURE__ */ (0,
|
|
10705
|
-
/* @__PURE__ */ (0,
|
|
10706
|
-
/* @__PURE__ */ (0,
|
|
10758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("details", { className: "group/agg-settlement-rule w-full", children: [
|
|
10759
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("summary", { className: "flex cursor-pointer list-none items-center gap-2 text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground group-hover/agg-settlement-rule:text-agg-muted-foreground transition-colors marker:hidden", children: [
|
|
10760
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
10707
10761
|
VenueLogo,
|
|
10708
10762
|
{
|
|
10709
10763
|
venue: rule.venue,
|
|
@@ -10712,8 +10766,8 @@ var SettlementVenueRules = ({
|
|
|
10712
10766
|
ariaLabel: venueLabel
|
|
10713
10767
|
}
|
|
10714
10768
|
),
|
|
10715
|
-
/* @__PURE__ */ (0,
|
|
10716
|
-
/* @__PURE__ */ (0,
|
|
10769
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "text-agg-foreground group-hover/agg-settlement-rule:text-agg-muted-foreground transition-colors", children: venueLabel }),
|
|
10770
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
10717
10771
|
"i",
|
|
10718
10772
|
{
|
|
10719
10773
|
className: cn(
|
|
@@ -10726,7 +10780,7 @@ var SettlementVenueRules = ({
|
|
|
10726
10780
|
}
|
|
10727
10781
|
)
|
|
10728
10782
|
] }),
|
|
10729
|
-
/* @__PURE__ */ (0,
|
|
10783
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "mt-3 pl-6", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SettlementTextRenderer, { content: rule.content }) })
|
|
10730
10784
|
] }, rule.venue);
|
|
10731
10785
|
}) })
|
|
10732
10786
|
] });
|
|
@@ -10745,7 +10799,7 @@ var Settlement = ({
|
|
|
10745
10799
|
isLoading = false
|
|
10746
10800
|
}) => {
|
|
10747
10801
|
var _a, _b, _c, _d, _e;
|
|
10748
|
-
const labels = (0,
|
|
10802
|
+
const labels = (0, import_hooks39.useLabels)();
|
|
10749
10803
|
const blocks = (0, import_react14.useMemo)(
|
|
10750
10804
|
() => dedupeSettlementSources({
|
|
10751
10805
|
eventDescription,
|
|
@@ -10790,7 +10844,7 @@ var Settlement = ({
|
|
|
10790
10844
|
);
|
|
10791
10845
|
};
|
|
10792
10846
|
if (isLoading) {
|
|
10793
|
-
return /* @__PURE__ */ (0,
|
|
10847
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
10794
10848
|
Skeleton,
|
|
10795
10849
|
{
|
|
10796
10850
|
ariaLabel: labels.trading.settlementLoading,
|
|
@@ -10801,7 +10855,7 @@ var Settlement = ({
|
|
|
10801
10855
|
}
|
|
10802
10856
|
if (!hasSettlementContent) return null;
|
|
10803
10857
|
const resolvedSectionLabel = sectionLabel === defaultSettlementSectionLabel ? labels.trading.settlementSection : sectionLabel;
|
|
10804
|
-
return /* @__PURE__ */ (0,
|
|
10858
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
10805
10859
|
Card,
|
|
10806
10860
|
{
|
|
10807
10861
|
id,
|
|
@@ -10811,51 +10865,51 @@ var Settlement = ({
|
|
|
10811
10865
|
className
|
|
10812
10866
|
),
|
|
10813
10867
|
children: [
|
|
10814
|
-
/* @__PURE__ */ (0,
|
|
10815
|
-
/* @__PURE__ */ (0,
|
|
10816
|
-
question ? /* @__PURE__ */ (0,
|
|
10868
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "agg-settlement-header flex w-full flex-col items-start gap-1 text-agg-muted-foreground sm:flex-row sm:items-center sm:justify-between sm:gap-4", children: [
|
|
10869
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "shrink-0 text-agg-xs font-agg-bold leading-agg-4 uppercase", children: resolvedSectionLabel }),
|
|
10870
|
+
question ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "agg-settlement-question min-w-0 text-agg-sm font-agg-normal leading-agg-5 sm:max-w-[314px] sm:truncate", children: question }) : null
|
|
10817
10871
|
] }),
|
|
10818
|
-
/* @__PURE__ */ (0,
|
|
10819
|
-
hasStandaloneSettlementText ? /* @__PURE__ */ (0,
|
|
10820
|
-
standaloneEventBlock || standaloneMarketBlock ? /* @__PURE__ */ (0,
|
|
10872
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "agg-settlement-sections flex w-full flex-col items-start gap-5", children: [
|
|
10873
|
+
hasStandaloneSettlementText ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "w-full", children: [
|
|
10874
|
+
standaloneEventBlock || standaloneMarketBlock ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
10821
10875
|
"div",
|
|
10822
10876
|
{
|
|
10823
10877
|
className: "agg-settlement-section agg-settlement-section-description",
|
|
10824
10878
|
"data-source": "description",
|
|
10825
10879
|
children: [
|
|
10826
|
-
standaloneEventBlock ? /* @__PURE__ */ (0,
|
|
10827
|
-
standaloneEventBlock && standaloneMarketBlock ? /* @__PURE__ */ (0,
|
|
10828
|
-
standaloneMarketBlock ? /* @__PURE__ */ (0,
|
|
10880
|
+
standaloneEventBlock ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { "data-source": "eventDescription", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SettlementTextRenderer, { content: standaloneEventBlock.content }) }) : null,
|
|
10881
|
+
standaloneEventBlock && standaloneMarketBlock ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("hr", { className: "agg-settlement-divider my-4 border-0 border-t border-agg-separator" }) : null,
|
|
10882
|
+
standaloneMarketBlock ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { "data-source": "marketDescription", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SettlementTextRenderer, { content: standaloneMarketBlock.content }) }) : null
|
|
10829
10883
|
]
|
|
10830
10884
|
}
|
|
10831
10885
|
) : null,
|
|
10832
|
-
standalonePrimaryRulesBlock ? /* @__PURE__ */ (0,
|
|
10886
|
+
standalonePrimaryRulesBlock ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
10833
10887
|
"div",
|
|
10834
10888
|
{
|
|
10835
10889
|
className: "agg-settlement-section agg-settlement-section-primaryRules",
|
|
10836
10890
|
"data-source": "primaryRules",
|
|
10837
10891
|
children: [
|
|
10838
|
-
/* @__PURE__ */ (0,
|
|
10839
|
-
/* @__PURE__ */ (0,
|
|
10892
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "agg-settlement-section-label text-agg-xs font-agg-bold leading-agg-4 uppercase text-agg-muted-foreground mb-2", children: labels.trading.settlementPrimaryRulesLabel }),
|
|
10893
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SettlementTextRenderer, { content: standalonePrimaryRulesBlock.content })
|
|
10840
10894
|
]
|
|
10841
10895
|
}
|
|
10842
10896
|
) : null
|
|
10843
10897
|
] }) : null,
|
|
10844
|
-
hasSettlementDifferences ? /* @__PURE__ */ (0,
|
|
10845
|
-
/* @__PURE__ */ (0,
|
|
10846
|
-
/* @__PURE__ */ (0,
|
|
10847
|
-
/* @__PURE__ */ (0,
|
|
10898
|
+
hasSettlementDifferences ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "agg-settlement-differences flex w-full flex-col items-start gap-5", children: [
|
|
10899
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
10900
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.trading.settlementDifferencesTitle }),
|
|
10901
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "flex size-4 shrink-0 items-center justify-center rounded-agg-full bg-agg-primary text-[10px] font-agg-bold leading-[14px] text-agg-on-primary", children: settlementDifferences.length })
|
|
10848
10902
|
] }),
|
|
10849
|
-
/* @__PURE__ */ (0,
|
|
10903
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "flex w-full flex-col items-start gap-5", children: settlementDifferences.map((difference) => {
|
|
10850
10904
|
const venueKeys = resolveDifferenceVenueKeys(difference, settlementVenues);
|
|
10851
10905
|
const isExpanded = openDifferenceKeys.includes(difference.canonicalKey) && venueKeys.length > 0;
|
|
10852
|
-
return /* @__PURE__ */ (0,
|
|
10906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
10853
10907
|
"div",
|
|
10854
10908
|
{
|
|
10855
10909
|
id: getSettlementDifferenceId(id, difference.canonicalKey),
|
|
10856
10910
|
className: "agg-settlement-difference flex w-full flex-col items-start gap-2 rounded-agg-lg",
|
|
10857
10911
|
children: [
|
|
10858
|
-
/* @__PURE__ */ (0,
|
|
10912
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
10859
10913
|
"button",
|
|
10860
10914
|
{
|
|
10861
10915
|
type: "button",
|
|
@@ -10863,7 +10917,7 @@ var Settlement = ({
|
|
|
10863
10917
|
"aria-expanded": isExpanded,
|
|
10864
10918
|
onClick: () => handleToggleDifference(difference.canonicalKey),
|
|
10865
10919
|
children: [
|
|
10866
|
-
/* @__PURE__ */ (0,
|
|
10920
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
10867
10921
|
"i",
|
|
10868
10922
|
{
|
|
10869
10923
|
className: cn(
|
|
@@ -10874,8 +10928,8 @@ var Settlement = ({
|
|
|
10874
10928
|
"aria-hidden": "true"
|
|
10875
10929
|
}
|
|
10876
10930
|
),
|
|
10877
|
-
/* @__PURE__ */ (0,
|
|
10878
|
-
/* @__PURE__ */ (0,
|
|
10931
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "min-w-0 text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground group-hover/agg-settlement-difference:text-agg-muted-foreground transition-colors break-words [overflow-wrap:anywhere]", children: difference.title }),
|
|
10932
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
10879
10933
|
"i",
|
|
10880
10934
|
{
|
|
10881
10935
|
className: cn(
|
|
@@ -10890,12 +10944,12 @@ var Settlement = ({
|
|
|
10890
10944
|
]
|
|
10891
10945
|
}
|
|
10892
10946
|
),
|
|
10893
|
-
isExpanded ? /* @__PURE__ */ (0,
|
|
10947
|
+
isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("dl", { className: "flex w-full flex-col items-start gap-1 px-6", children: venueKeys.map((venue) => {
|
|
10894
10948
|
var _a2;
|
|
10895
10949
|
const venueValue = (_a2 = difference.perVenue[venue]) != null ? _a2 : labels.trading.settlementValueUnavailable;
|
|
10896
10950
|
const venueLabel = resolveSettlementVenueLabel(venue, labels);
|
|
10897
|
-
return /* @__PURE__ */ (0,
|
|
10898
|
-
/* @__PURE__ */ (0,
|
|
10951
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex w-full items-start gap-2", children: [
|
|
10952
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
10899
10953
|
VenueLogo,
|
|
10900
10954
|
{
|
|
10901
10955
|
venue,
|
|
@@ -10904,8 +10958,8 @@ var Settlement = ({
|
|
|
10904
10958
|
ariaLabel: venueLabel
|
|
10905
10959
|
}
|
|
10906
10960
|
),
|
|
10907
|
-
/* @__PURE__ */ (0,
|
|
10908
|
-
/* @__PURE__ */ (0,
|
|
10961
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("dt", { className: "w-[88px] shrink-0 text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground", children: venueLabel }),
|
|
10962
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("dd", { className: "min-w-0 flex-1 text-agg-sm font-agg-normal leading-agg-5 text-agg-muted-foreground break-words [overflow-wrap:anywhere]", children: venueValue })
|
|
10909
10963
|
] }, venue);
|
|
10910
10964
|
}) }) : null
|
|
10911
10965
|
]
|
|
@@ -10914,9 +10968,9 @@ var Settlement = ({
|
|
|
10914
10968
|
);
|
|
10915
10969
|
}) })
|
|
10916
10970
|
] }) : null,
|
|
10917
|
-
hasVenueSettlementRules ? /* @__PURE__ */ (0,
|
|
10918
|
-
hasSettlementDifferences || hasStandaloneSettlementText ? /* @__PURE__ */ (0,
|
|
10919
|
-
/* @__PURE__ */ (0,
|
|
10971
|
+
hasVenueSettlementRules ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
|
|
10972
|
+
hasSettlementDifferences || hasStandaloneSettlementText ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "h-px w-full bg-agg-separator" }) : null,
|
|
10973
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SettlementVenueRules, { rules: venueRuleBlocks, labels })
|
|
10920
10974
|
] }) : null
|
|
10921
10975
|
] })
|
|
10922
10976
|
]
|
|
@@ -10926,13 +10980,13 @@ var Settlement = ({
|
|
|
10926
10980
|
Settlement.displayName = "Settlement";
|
|
10927
10981
|
|
|
10928
10982
|
// src/events/item-details/settlement-summary.tsx
|
|
10929
|
-
var
|
|
10983
|
+
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
10930
10984
|
var SettlementSummary = ({
|
|
10931
10985
|
settlementDiff,
|
|
10932
10986
|
settlementSectionId = SETTLEMENT_SECTION_ID,
|
|
10933
10987
|
className
|
|
10934
10988
|
}) => {
|
|
10935
|
-
const labels = (0,
|
|
10989
|
+
const labels = (0, import_hooks40.useLabels)();
|
|
10936
10990
|
const settlementDifferences = (0, import_react15.useMemo)(
|
|
10937
10991
|
() => prepareSettlementDifferences(settlementDiff == null ? void 0 : settlementDiff.differences),
|
|
10938
10992
|
[settlementDiff == null ? void 0 : settlementDiff.differences]
|
|
@@ -10946,7 +11000,7 @@ var SettlementSummary = ({
|
|
|
10946
11000
|
if (!target) return;
|
|
10947
11001
|
target.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
10948
11002
|
};
|
|
10949
|
-
const actionButton = /* @__PURE__ */ (0,
|
|
11003
|
+
const actionButton = /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
10950
11004
|
"button",
|
|
10951
11005
|
{
|
|
10952
11006
|
type: "button",
|
|
@@ -10959,8 +11013,8 @@ var SettlementSummary = ({
|
|
|
10959
11013
|
"aria-controls": settlementSectionId,
|
|
10960
11014
|
onClick: handleReadFullDetails,
|
|
10961
11015
|
children: [
|
|
10962
|
-
/* @__PURE__ */ (0,
|
|
10963
|
-
/* @__PURE__ */ (0,
|
|
11016
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { children: labels.settlementSummary.readFullDetails }),
|
|
11017
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
10964
11018
|
"i",
|
|
10965
11019
|
{
|
|
10966
11020
|
className: "fi fi-rr-arrow-small-down size-3.5!",
|
|
@@ -10973,7 +11027,7 @@ var SettlementSummary = ({
|
|
|
10973
11027
|
);
|
|
10974
11028
|
const visibleDifferences = settlementDifferences.slice(0, 2);
|
|
10975
11029
|
const hiddenDifferenceCount = settlementDifferences.length - visibleDifferences.length;
|
|
10976
|
-
return /* @__PURE__ */ (0,
|
|
11030
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
10977
11031
|
"div",
|
|
10978
11032
|
{
|
|
10979
11033
|
className: cn(
|
|
@@ -10981,18 +11035,18 @@ var SettlementSummary = ({
|
|
|
10981
11035
|
className
|
|
10982
11036
|
),
|
|
10983
11037
|
children: [
|
|
10984
|
-
/* @__PURE__ */ (0,
|
|
10985
|
-
/* @__PURE__ */ (0,
|
|
10986
|
-
/* @__PURE__ */ (0,
|
|
10987
|
-
/* @__PURE__ */ (0,
|
|
11038
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex min-w-[240px] flex-1 flex-wrap items-center gap-x-5 gap-y-3", children: [
|
|
11039
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "agg-settlement-summary-heading flex shrink-0 items-center gap-2", children: [
|
|
11040
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("p", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground", children: labels.settlementSummary.title }),
|
|
11041
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "flex size-4 shrink-0 items-center justify-center rounded-agg-full bg-agg-primary text-[10px] font-agg-bold leading-[14px] text-agg-on-primary", children: settlementDifferences.length })
|
|
10988
11042
|
] }),
|
|
10989
|
-
/* @__PURE__ */ (0,
|
|
10990
|
-
visibleDifferences.map((difference) => /* @__PURE__ */ (0,
|
|
11043
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "agg-settlement-summary-pills flex min-w-[240px] flex-1 flex-wrap items-center gap-2", children: [
|
|
11044
|
+
visibleDifferences.map((difference) => /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
10991
11045
|
"span",
|
|
10992
11046
|
{
|
|
10993
11047
|
className: "flex h-6 max-w-full shrink-0 items-center gap-2 rounded-agg-full bg-agg-secondary-hover px-3 py-1 text-agg-xs font-agg-normal leading-agg-4 text-agg-foreground sm:max-w-[220px]",
|
|
10994
11048
|
children: [
|
|
10995
|
-
/* @__PURE__ */ (0,
|
|
11049
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
10996
11050
|
"i",
|
|
10997
11051
|
{
|
|
10998
11052
|
className: cn(
|
|
@@ -11003,12 +11057,12 @@ var SettlementSummary = ({
|
|
|
11003
11057
|
"aria-hidden": "true"
|
|
11004
11058
|
}
|
|
11005
11059
|
),
|
|
11006
|
-
/* @__PURE__ */ (0,
|
|
11060
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "min-w-0 truncate", children: difference.title })
|
|
11007
11061
|
]
|
|
11008
11062
|
},
|
|
11009
11063
|
difference.canonicalKey
|
|
11010
11064
|
)),
|
|
11011
|
-
hiddenDifferenceCount > 0 ? /* @__PURE__ */ (0,
|
|
11065
|
+
hiddenDifferenceCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("span", { className: "flex h-6 shrink-0 items-center rounded-agg-full bg-agg-secondary-hover px-3 py-1 text-agg-xs font-agg-normal leading-agg-4 text-agg-foreground", children: [
|
|
11012
11066
|
"+",
|
|
11013
11067
|
hiddenDifferenceCount
|
|
11014
11068
|
] }) : null
|
|
@@ -11022,7 +11076,7 @@ var SettlementSummary = ({
|
|
|
11022
11076
|
SettlementSummary.displayName = "SettlementSummary";
|
|
11023
11077
|
|
|
11024
11078
|
// src/events/item-details/index.tsx
|
|
11025
|
-
var
|
|
11079
|
+
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
11026
11080
|
var resolveEventDetailsSyncKey = (event) => {
|
|
11027
11081
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
11028
11082
|
const parts = [
|
|
@@ -11067,8 +11121,8 @@ var EventListItemDetailsLoadingState = ({
|
|
|
11067
11121
|
classNames,
|
|
11068
11122
|
ariaLabel
|
|
11069
11123
|
}) => {
|
|
11070
|
-
const labels = (0,
|
|
11071
|
-
return /* @__PURE__ */ (0,
|
|
11124
|
+
const labels = (0, import_hooks41.useLabels)();
|
|
11125
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11072
11126
|
Skeleton,
|
|
11073
11127
|
{
|
|
11074
11128
|
view: "event-list-item-details",
|
|
@@ -11081,16 +11135,16 @@ var EventListItemDetailsUnavailableState = ({
|
|
|
11081
11135
|
classNames,
|
|
11082
11136
|
ariaLabel
|
|
11083
11137
|
}) => {
|
|
11084
|
-
const labels = (0,
|
|
11085
|
-
return /* @__PURE__ */ (0,
|
|
11138
|
+
const labels = (0, import_hooks41.useLabels)();
|
|
11139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11086
11140
|
Card,
|
|
11087
11141
|
{
|
|
11088
11142
|
className: cn(detailsBaseCardClassName, classNames == null ? void 0 : classNames.root),
|
|
11089
11143
|
role: "status",
|
|
11090
11144
|
"aria-label": ariaLabel != null ? ariaLabel : labels.eventItemDetails.unavailableAria,
|
|
11091
|
-
children: /* @__PURE__ */ (0,
|
|
11092
|
-
/* @__PURE__ */ (0,
|
|
11093
|
-
/* @__PURE__ */ (0,
|
|
11145
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: cn("flex flex-col gap-1", classNames == null ? void 0 : classNames.header), children: [
|
|
11146
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Typography, { variant: "body-large-strong", className: cn("truncate", classNames == null ? void 0 : classNames.title), children: labels.eventItemDetails.unavailableTitle }),
|
|
11147
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Typography, { variant: "body", className: "text-agg-muted-foreground", children: labels.eventItemDetails.unavailableDescription })
|
|
11094
11148
|
] })
|
|
11095
11149
|
}
|
|
11096
11150
|
);
|
|
@@ -11099,13 +11153,13 @@ var EventListItemDetailsNotFoundState = ({
|
|
|
11099
11153
|
classNames: _classNames,
|
|
11100
11154
|
ariaLabel: _ariaLabel
|
|
11101
11155
|
}) => {
|
|
11102
|
-
const labels = (0,
|
|
11103
|
-
return /* @__PURE__ */ (0,
|
|
11156
|
+
const labels = (0, import_hooks41.useLabels)();
|
|
11157
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11104
11158
|
StateMessage,
|
|
11105
11159
|
{
|
|
11106
11160
|
title: labels.eventItemDetails.notFoundTitle,
|
|
11107
11161
|
description: labels.eventItemDetails.notFoundDescription,
|
|
11108
|
-
icon: /* @__PURE__ */ (0,
|
|
11162
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(SearchEmptyIcon, {}),
|
|
11109
11163
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
11110
11164
|
}
|
|
11111
11165
|
);
|
|
@@ -11130,8 +11184,8 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11130
11184
|
onRangeOverrideChange
|
|
11131
11185
|
}) => {
|
|
11132
11186
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
11133
|
-
const labels = (0,
|
|
11134
|
-
const tradingContext = (0,
|
|
11187
|
+
const labels = (0, import_hooks41.useLabels)();
|
|
11188
|
+
const tradingContext = (0, import_hooks34.useEventTradingContext)();
|
|
11135
11189
|
const [selectedGraphVenue, setSelectedGraphVenue] = (0, import_react16.useState)(null);
|
|
11136
11190
|
const [chartOutcomeLabel, setChartOutcomeLabel] = (0, import_react16.useState)(
|
|
11137
11191
|
(_c = (_b = (_a = tradingContext == null ? void 0 : tradingContext.selectedOutcome) == null ? void 0 : _a.label) == null ? void 0 : _b.trim()) != null ? _c : null
|
|
@@ -11148,10 +11202,10 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11148
11202
|
chart: { selectedChartTimeRange },
|
|
11149
11203
|
formatting: { formatPercent, formatPrice },
|
|
11150
11204
|
general: { theme }
|
|
11151
|
-
} = (0,
|
|
11205
|
+
} = (0, import_hooks41.useSdkUiConfig)();
|
|
11152
11206
|
const isDarkTheme = theme === "dark";
|
|
11153
11207
|
const effectiveChartTimeRange = rangeOverride != null ? rangeOverride : selectedChartTimeRange;
|
|
11154
|
-
const rollingWindow = (0,
|
|
11208
|
+
const rollingWindow = (0, import_hooks41.useRollingChartWindow)({ range: effectiveChartTimeRange });
|
|
11155
11209
|
const availableMarkets = (0, import_react16.useMemo)(() => {
|
|
11156
11210
|
var _a2, _b2, _c2, _d2;
|
|
11157
11211
|
if (venueMarkets.length === 0) return [];
|
|
@@ -11182,7 +11236,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11182
11236
|
isLoading: isScopedMarketChartLoading,
|
|
11183
11237
|
error: scopedMarketChartError,
|
|
11184
11238
|
refetch: refetchScopedMarketChart
|
|
11185
|
-
} = (0,
|
|
11239
|
+
} = (0, import_hooks41.useMarketChart)({
|
|
11186
11240
|
marketId: chartPrimaryOutcomeId,
|
|
11187
11241
|
venueMarketIds: availableVenueOutcomes.map((item) => item.outcome.id),
|
|
11188
11242
|
interval: rollingWindow.interval,
|
|
@@ -11239,7 +11293,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11239
11293
|
const resolvedOutcomePriceByMarketId = (0, import_react16.useMemo)(() => {
|
|
11240
11294
|
const map = /* @__PURE__ */ new Map();
|
|
11241
11295
|
for (const market of availableMarkets) {
|
|
11242
|
-
const marketTradingState = (0,
|
|
11296
|
+
const marketTradingState = (0, import_hooks41.resolveMarketTradingState)(market);
|
|
11243
11297
|
if (marketTradingState.kind !== "resolved") continue;
|
|
11244
11298
|
const outcomePriceMap = resolveResolvedOutcomePriceMap(market.venueMarketOutcomes);
|
|
11245
11299
|
if (outcomePriceMap) {
|
|
@@ -11299,18 +11353,18 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11299
11353
|
void refetchScopedMarketChart();
|
|
11300
11354
|
};
|
|
11301
11355
|
if (scopedMarketChartError) {
|
|
11302
|
-
return /* @__PURE__ */ (0,
|
|
11356
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: cn("agg-chart-region w-full", classNames == null ? void 0 : classNames.chart), children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11303
11357
|
StateMessage,
|
|
11304
11358
|
{
|
|
11305
11359
|
title: labels.eventItemDetails.chartUnavailableTitle,
|
|
11306
11360
|
description: labels.eventItemDetails.chartUnavailableDescription,
|
|
11307
|
-
icon: /* @__PURE__ */ (0,
|
|
11361
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(WarningIcon, {}),
|
|
11308
11362
|
onAction: handleRetryMarketChart,
|
|
11309
11363
|
classNames: { root: "min-h-[300px] px-5 py-10 md:px-10" }
|
|
11310
11364
|
}
|
|
11311
11365
|
) });
|
|
11312
11366
|
}
|
|
11313
|
-
return /* @__PURE__ */ (0,
|
|
11367
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11314
11368
|
LineChart,
|
|
11315
11369
|
{
|
|
11316
11370
|
classNames: { root: cn("agg-chart-region", classNames == null ? void 0 : classNames.chart) },
|
|
@@ -11323,7 +11377,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11323
11377
|
showSeriesControls: selectedMarketOutcomes.length > 0,
|
|
11324
11378
|
renderSeriesControls: ({ handleSeriesChange }) => {
|
|
11325
11379
|
var _a2, _b2, _c2, _d2;
|
|
11326
|
-
return /* @__PURE__ */ (0,
|
|
11380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
11327
11381
|
"div",
|
|
11328
11382
|
{
|
|
11329
11383
|
className: cn(
|
|
@@ -11334,7 +11388,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11334
11388
|
classNames == null ? void 0 : classNames.summary
|
|
11335
11389
|
),
|
|
11336
11390
|
children: [
|
|
11337
|
-
/* @__PURE__ */ (0,
|
|
11391
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11338
11392
|
"div",
|
|
11339
11393
|
{
|
|
11340
11394
|
className: cn(
|
|
@@ -11348,7 +11402,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11348
11402
|
const text = formatMarketProbabilityPercent(percentage, formatPercent);
|
|
11349
11403
|
const seriesId = `${item.venue}-chart`;
|
|
11350
11404
|
const isActiveVenue = activeGraphVenue === item.venue;
|
|
11351
|
-
return /* @__PURE__ */ (0,
|
|
11405
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11352
11406
|
"button",
|
|
11353
11407
|
{
|
|
11354
11408
|
type: "button",
|
|
@@ -11367,12 +11421,12 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11367
11421
|
setSelectedGraphVenue(nextSelectedGraphVenue);
|
|
11368
11422
|
handleSeriesChange(seriesId);
|
|
11369
11423
|
},
|
|
11370
|
-
children: /* @__PURE__ */ (0,
|
|
11424
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11371
11425
|
Badge,
|
|
11372
11426
|
{
|
|
11373
11427
|
text,
|
|
11374
11428
|
size: "large",
|
|
11375
|
-
prefix: /* @__PURE__ */ (0,
|
|
11429
|
+
prefix: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11376
11430
|
VenueLogo,
|
|
11377
11431
|
{
|
|
11378
11432
|
venue: item.market.venue,
|
|
@@ -11394,7 +11448,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11394
11448
|
})
|
|
11395
11449
|
}
|
|
11396
11450
|
),
|
|
11397
|
-
/* @__PURE__ */ (0,
|
|
11451
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11398
11452
|
SwitchButton,
|
|
11399
11453
|
{
|
|
11400
11454
|
ariaLabel: labels.eventItemDetails.outcomeSelectorAria,
|
|
@@ -11452,12 +11506,12 @@ var EventListItemDetailsContent = ({
|
|
|
11452
11506
|
const lastAppliedEventSyncKeyRef = (0, import_react16.useRef)(null);
|
|
11453
11507
|
const lastAppliedDefaultRef = (0, import_react16.useRef)(null);
|
|
11454
11508
|
const [chartRangeOverride, setChartRangeOverride] = (0, import_react16.useState)(null);
|
|
11455
|
-
const config = (0,
|
|
11456
|
-
const labels = (0,
|
|
11457
|
-
const tradingContext = (0,
|
|
11509
|
+
const config = (0, import_hooks41.useSdkUiConfig)();
|
|
11510
|
+
const labels = (0, import_hooks41.useLabels)();
|
|
11511
|
+
const tradingContext = (0, import_hooks34.useEventTradingContext)();
|
|
11458
11512
|
const eventSyncKey = (0, import_react16.useMemo)(() => resolveEventDetailsSyncKey(event), [event]);
|
|
11459
11513
|
const resolvedEventTradingState = (0, import_react16.useMemo)(() => {
|
|
11460
|
-
return eventTradingState != null ? eventTradingState : (0,
|
|
11514
|
+
return eventTradingState != null ? eventTradingState : (0, import_hooks41.resolveEventTradingState)(event);
|
|
11461
11515
|
}, [event, eventTradingState]);
|
|
11462
11516
|
const scopedSelectedMarket = (tradingContext == null ? void 0 : tradingContext.selectedEventId) === event.id ? (_a = tradingContext.selectedMarket) != null ? _a : resolvedEventTradingState.primaryMarket : resolvedEventTradingState.primaryMarket;
|
|
11463
11517
|
const venueMarkets = (0, import_react16.useMemo)(
|
|
@@ -11468,12 +11522,12 @@ var EventListItemDetailsContent = ({
|
|
|
11468
11522
|
return normalizeVenueMarketCluster(venueMarkets);
|
|
11469
11523
|
}, [venueMarkets]);
|
|
11470
11524
|
const scopedSelectedMarketId = (tradingContext == null ? void 0 : tradingContext.selectedEventId) === event.id ? tradingContext.selectedMarketId : null;
|
|
11471
|
-
(0,
|
|
11525
|
+
(0, import_hooks41.useEventOrderbookData)(
|
|
11472
11526
|
resolvedEventTradingState.isTradingDisabled ? [] : resolvedEventTradingState.displayMarkets,
|
|
11473
11527
|
scopedSelectedMarketId
|
|
11474
11528
|
);
|
|
11475
|
-
const wsLivePrices = (0,
|
|
11476
|
-
const wsBestPrices = (0,
|
|
11529
|
+
const wsLivePrices = (0, import_hooks41.useLiveOutcomePrices)(eventDetailVenueMarkets);
|
|
11530
|
+
const wsBestPrices = (0, import_hooks41.useLiveBestPrices)(eventDetailVenueMarkets);
|
|
11477
11531
|
const resolvedMidpointsResult = midpointsResult != null ? midpointsResult : {
|
|
11478
11532
|
prices: /* @__PURE__ */ new Map(),
|
|
11479
11533
|
bestMidpointsByOutcomeId: /* @__PURE__ */ new Map(),
|
|
@@ -11488,7 +11542,7 @@ var EventListItemDetailsContent = ({
|
|
|
11488
11542
|
const bestMidpoint = resolvedMidpointsResult.bestMidpoint;
|
|
11489
11543
|
const restBestPrices = resolvedMidpointsResult.bestPrices;
|
|
11490
11544
|
const bestPrices = (0, import_react16.useMemo)(
|
|
11491
|
-
() => (0,
|
|
11545
|
+
() => (0, import_hooks41.mergeBestPricesPreferringLive)(restBestPrices, wsBestPrices),
|
|
11492
11546
|
[restBestPrices, wsBestPrices]
|
|
11493
11547
|
);
|
|
11494
11548
|
const livePrices = (0, import_react16.useMemo)(() => {
|
|
@@ -11553,10 +11607,14 @@ var EventListItemDetailsContent = ({
|
|
|
11553
11607
|
[venueMarkets]
|
|
11554
11608
|
);
|
|
11555
11609
|
const volumeLabel = (0, import_react16.useMemo)(() => {
|
|
11556
|
-
|
|
11557
|
-
|
|
11558
|
-
|
|
11559
|
-
|
|
11610
|
+
var _a2;
|
|
11611
|
+
const selectedMarketVolume = (_a2 = resolveMarketFromVenueMarkets(
|
|
11612
|
+
venueMarkets,
|
|
11613
|
+
scopedSelectedMarket == null ? void 0 : scopedSelectedMarket.id
|
|
11614
|
+
)) == null ? void 0 : _a2.volume;
|
|
11615
|
+
if (typeof selectedMarketVolume !== "number" || selectedMarketVolume <= 0) return "";
|
|
11616
|
+
return `${config.formatting.formatCompactCurrency(selectedMarketVolume)} ${labels.eventItemDetails.volumeSuffix}`;
|
|
11617
|
+
}, [config, labels.eventItemDetails.volumeSuffix, scopedSelectedMarket == null ? void 0 : scopedSelectedMarket.id, venueMarkets]);
|
|
11560
11618
|
const resolvedTitle = (0, import_react16.useMemo)(() => {
|
|
11561
11619
|
return resolveEventHeading({
|
|
11562
11620
|
title: event.title,
|
|
@@ -11574,7 +11632,7 @@ var EventListItemDetailsContent = ({
|
|
|
11574
11632
|
event.title,
|
|
11575
11633
|
event.venueMarkets
|
|
11576
11634
|
]);
|
|
11577
|
-
return /* @__PURE__ */ (0,
|
|
11635
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
11578
11636
|
Card,
|
|
11579
11637
|
{
|
|
11580
11638
|
className: cn("group/agg-event-details", detailsBaseCardClassName, classNames == null ? void 0 : classNames.root),
|
|
@@ -11583,7 +11641,7 @@ var EventListItemDetailsContent = ({
|
|
|
11583
11641
|
onClick == null ? void 0 : onClick(event);
|
|
11584
11642
|
},
|
|
11585
11643
|
children: [
|
|
11586
|
-
/* @__PURE__ */ (0,
|
|
11644
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
11587
11645
|
"div",
|
|
11588
11646
|
{
|
|
11589
11647
|
className: cn(
|
|
@@ -11594,17 +11652,17 @@ var EventListItemDetailsContent = ({
|
|
|
11594
11652
|
classNames == null ? void 0 : classNames.header
|
|
11595
11653
|
),
|
|
11596
11654
|
children: [
|
|
11597
|
-
/* @__PURE__ */ (0,
|
|
11655
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11598
11656
|
RemoteImage,
|
|
11599
11657
|
{
|
|
11600
|
-
src: (0,
|
|
11658
|
+
src: (0, import_hooks41.optimizedImageUrl)(event.image, 60),
|
|
11601
11659
|
alt: "",
|
|
11602
11660
|
className: "agg-event-image size-10 rounded-agg-lg object-cover md:size-[60px]"
|
|
11603
11661
|
}
|
|
11604
11662
|
),
|
|
11605
|
-
/* @__PURE__ */ (0,
|
|
11606
|
-
/* @__PURE__ */ (0,
|
|
11607
|
-
/* @__PURE__ */ (0,
|
|
11663
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
|
|
11664
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "min-w-0", children: [
|
|
11665
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11608
11666
|
Typography,
|
|
11609
11667
|
{
|
|
11610
11668
|
variant: "body-strong",
|
|
@@ -11617,7 +11675,7 @@ var EventListItemDetailsContent = ({
|
|
|
11617
11675
|
children: resolvedTitle.title
|
|
11618
11676
|
}
|
|
11619
11677
|
),
|
|
11620
|
-
resolvedTitle.timestampLabel ? /* @__PURE__ */ (0,
|
|
11678
|
+
resolvedTitle.timestampLabel ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11621
11679
|
Typography,
|
|
11622
11680
|
{
|
|
11623
11681
|
variant: "body",
|
|
@@ -11626,7 +11684,7 @@ var EventListItemDetailsContent = ({
|
|
|
11626
11684
|
}
|
|
11627
11685
|
) : null
|
|
11628
11686
|
] }),
|
|
11629
|
-
venueMarkets.length > 1 ? /* @__PURE__ */ (0,
|
|
11687
|
+
venueMarkets.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11630
11688
|
EventListItemDetailsMarketSelector,
|
|
11631
11689
|
{
|
|
11632
11690
|
className: classNames == null ? void 0 : classNames.headerPills,
|
|
@@ -11641,7 +11699,7 @@ var EventListItemDetailsContent = ({
|
|
|
11641
11699
|
]
|
|
11642
11700
|
}
|
|
11643
11701
|
),
|
|
11644
|
-
detailsStats && detailsStats.length > 0 ? /* @__PURE__ */ (0,
|
|
11702
|
+
detailsStats && detailsStats.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11645
11703
|
"div",
|
|
11646
11704
|
{
|
|
11647
11705
|
className: cn(
|
|
@@ -11650,14 +11708,14 @@ var EventListItemDetailsContent = ({
|
|
|
11650
11708
|
),
|
|
11651
11709
|
children: detailsStats.map((statItem) => {
|
|
11652
11710
|
const deltaClassName = statItem.deltaTone === "positive" ? "text-agg-success!" : statItem.deltaTone === "negative" ? "text-agg-error!" : "text-agg-muted-foreground";
|
|
11653
|
-
return /* @__PURE__ */ (0,
|
|
11711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
11654
11712
|
"div",
|
|
11655
11713
|
{
|
|
11656
11714
|
className: "agg-event-stat flex flex-col gap-1",
|
|
11657
11715
|
children: [
|
|
11658
|
-
/* @__PURE__ */ (0,
|
|
11659
|
-
/* @__PURE__ */ (0,
|
|
11660
|
-
/* @__PURE__ */ (0,
|
|
11716
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Typography, { variant: "caption-caps", className: "text-agg-muted-foreground", children: statItem.label }),
|
|
11717
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex items-baseline gap-1", children: [
|
|
11718
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11661
11719
|
Typography,
|
|
11662
11720
|
{
|
|
11663
11721
|
variant: "body",
|
|
@@ -11665,7 +11723,7 @@ var EventListItemDetailsContent = ({
|
|
|
11665
11723
|
children: statItem.value
|
|
11666
11724
|
}
|
|
11667
11725
|
),
|
|
11668
|
-
statItem.delta ? /* @__PURE__ */ (0,
|
|
11726
|
+
statItem.delta ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Typography, { variant: "label", className: cn(deltaClassName), children: statItem.delta }) : null
|
|
11669
11727
|
] })
|
|
11670
11728
|
]
|
|
11671
11729
|
},
|
|
@@ -11674,8 +11732,8 @@ var EventListItemDetailsContent = ({
|
|
|
11674
11732
|
})
|
|
11675
11733
|
}
|
|
11676
11734
|
) : null,
|
|
11677
|
-
/* @__PURE__ */ (0,
|
|
11678
|
-
/* @__PURE__ */ (0,
|
|
11735
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: cn("agg-event-details-chart", "flex flex-col gap-2"), children: [
|
|
11736
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11679
11737
|
EventListItemDetailsGraphSection,
|
|
11680
11738
|
{
|
|
11681
11739
|
classNames,
|
|
@@ -11692,7 +11750,7 @@ var EventListItemDetailsContent = ({
|
|
|
11692
11750
|
onRangeOverrideChange: setChartRangeOverride
|
|
11693
11751
|
}
|
|
11694
11752
|
),
|
|
11695
|
-
/* @__PURE__ */ (0,
|
|
11753
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
11696
11754
|
"div",
|
|
11697
11755
|
{
|
|
11698
11756
|
className: cn(
|
|
@@ -11700,8 +11758,8 @@ var EventListItemDetailsContent = ({
|
|
|
11700
11758
|
classNames == null ? void 0 : classNames.footer
|
|
11701
11759
|
),
|
|
11702
11760
|
children: [
|
|
11703
|
-
/* @__PURE__ */ (0,
|
|
11704
|
-
/* @__PURE__ */ (0,
|
|
11761
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Typography, { variant: "label", className: "agg-chart-volume text-agg-muted-foreground", children: volumeLabel || "-" }),
|
|
11762
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
11705
11763
|
"div",
|
|
11706
11764
|
{
|
|
11707
11765
|
className: cn(
|
|
@@ -11709,7 +11767,7 @@ var EventListItemDetailsContent = ({
|
|
|
11709
11767
|
classNames == null ? void 0 : classNames.timeRange
|
|
11710
11768
|
),
|
|
11711
11769
|
children: [
|
|
11712
|
-
/* @__PURE__ */ (0,
|
|
11770
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11713
11771
|
ChartTypeSwitch,
|
|
11714
11772
|
{
|
|
11715
11773
|
className: "agg-chart-type-switch",
|
|
@@ -11717,11 +11775,11 @@ var EventListItemDetailsContent = ({
|
|
|
11717
11775
|
onValueChange: setSelectedChartType
|
|
11718
11776
|
}
|
|
11719
11777
|
),
|
|
11720
|
-
/* @__PURE__ */ (0,
|
|
11721
|
-
|
|
11778
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { "aria-hidden": "true", className: "hidden h-4 w-px bg-agg-separator md:block" }),
|
|
11779
|
+
import_hooks41.CHART_TIME_RANGES.map((timeRange) => {
|
|
11722
11780
|
const effectiveRange = chartRangeOverride != null ? chartRangeOverride : config.chart.selectedChartTimeRange;
|
|
11723
11781
|
const isActive = timeRange === effectiveRange;
|
|
11724
|
-
return /* @__PURE__ */ (0,
|
|
11782
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11725
11783
|
Button,
|
|
11726
11784
|
{
|
|
11727
11785
|
size: "small",
|
|
@@ -11752,7 +11810,7 @@ var EventListItemDetailsContent = ({
|
|
|
11752
11810
|
}
|
|
11753
11811
|
)
|
|
11754
11812
|
] }),
|
|
11755
|
-
event.description || event.settlementDiff ? /* @__PURE__ */ (0,
|
|
11813
|
+
event.description || event.settlementDiff ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(SettlementSummary, { content: event.description, settlementDiff: event.settlementDiff }) : null
|
|
11756
11814
|
]
|
|
11757
11815
|
}
|
|
11758
11816
|
);
|
|
@@ -11769,12 +11827,12 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
11769
11827
|
error,
|
|
11770
11828
|
isError,
|
|
11771
11829
|
isLoading
|
|
11772
|
-
} = (0,
|
|
11830
|
+
} = (0, import_hooks41.useVenueEvent)({
|
|
11773
11831
|
eventId: resolvedEventId,
|
|
11774
11832
|
enabled: !!resolvedEventId
|
|
11775
11833
|
});
|
|
11776
11834
|
if (!resolvedEventId) {
|
|
11777
|
-
return /* @__PURE__ */ (0,
|
|
11835
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11778
11836
|
EventListItemDetailsUnavailableState,
|
|
11779
11837
|
{
|
|
11780
11838
|
classNames: rest.classNames,
|
|
@@ -11783,16 +11841,16 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
11783
11841
|
);
|
|
11784
11842
|
}
|
|
11785
11843
|
if (isLoading) {
|
|
11786
|
-
return /* @__PURE__ */ (0,
|
|
11844
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
11787
11845
|
}
|
|
11788
11846
|
if (isErrorWithStatus(error, 404)) {
|
|
11789
|
-
return /* @__PURE__ */ (0,
|
|
11847
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(EventListItemDetailsNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
11790
11848
|
}
|
|
11791
11849
|
if (!fetchedEvent && !isError) {
|
|
11792
|
-
return /* @__PURE__ */ (0,
|
|
11850
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
11793
11851
|
}
|
|
11794
11852
|
if (!fetchedEvent) {
|
|
11795
|
-
return /* @__PURE__ */ (0,
|
|
11853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11796
11854
|
EventListItemDetailsUnavailableState,
|
|
11797
11855
|
{
|
|
11798
11856
|
classNames: rest.classNames,
|
|
@@ -11800,15 +11858,15 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
11800
11858
|
}
|
|
11801
11859
|
);
|
|
11802
11860
|
}
|
|
11803
|
-
return /* @__PURE__ */ (0,
|
|
11861
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(EventListItemDetailsContent, __spreadValues({ event: fetchedEvent }, rest));
|
|
11804
11862
|
};
|
|
11805
11863
|
var EventListItemDetails = (props) => {
|
|
11806
11864
|
if (props.isLoading) {
|
|
11807
|
-
return /* @__PURE__ */ (0,
|
|
11865
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(EventListItemDetailsLoadingState, { classNames: props.classNames, ariaLabel: props.ariaLabel });
|
|
11808
11866
|
}
|
|
11809
11867
|
if ("event" in props && props.event) {
|
|
11810
11868
|
const _a = props, { event } = _a, rest = __objRest(_a, ["event"]);
|
|
11811
|
-
return /* @__PURE__ */ (0,
|
|
11869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(EventListItemDetailsContent, __spreadValues({ event }, rest));
|
|
11812
11870
|
}
|
|
11813
11871
|
if ("eventId" in props && typeof props.eventId === "string") {
|
|
11814
11872
|
const {
|
|
@@ -11831,9 +11889,9 @@ var EventListItemDetails = (props) => {
|
|
|
11831
11889
|
ariaLabel: ariaLabelOverride,
|
|
11832
11890
|
onClick
|
|
11833
11891
|
};
|
|
11834
|
-
return /* @__PURE__ */ (0,
|
|
11892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(EventListItemDetailsByEventId, __spreadValues({}, byEventIdProps));
|
|
11835
11893
|
}
|
|
11836
|
-
return /* @__PURE__ */ (0,
|
|
11894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
11837
11895
|
EventListItemDetailsUnavailableState,
|
|
11838
11896
|
{
|
|
11839
11897
|
classNames: props.classNames,
|
|
@@ -11844,11 +11902,11 @@ var EventListItemDetails = (props) => {
|
|
|
11844
11902
|
EventListItemDetails.displayName = "EventListItemDetails";
|
|
11845
11903
|
|
|
11846
11904
|
// src/events/market-details/index.tsx
|
|
11847
|
-
var
|
|
11905
|
+
var import_hooks45 = require("@agg-build/hooks");
|
|
11848
11906
|
var import_react20 = require("react");
|
|
11849
11907
|
|
|
11850
11908
|
// src/events/orderbook/index.tsx
|
|
11851
|
-
var
|
|
11909
|
+
var import_hooks42 = require("@agg-build/hooks");
|
|
11852
11910
|
var import_react18 = require("react");
|
|
11853
11911
|
|
|
11854
11912
|
// src/events/orderbook/orderbook.constants.ts
|
|
@@ -12012,7 +12070,7 @@ var useCenterOrderbookSpread = ({
|
|
|
12012
12070
|
};
|
|
12013
12071
|
|
|
12014
12072
|
// src/events/orderbook/orderbook-with-states.tsx
|
|
12015
|
-
var
|
|
12073
|
+
var import_jsx_runtime130 = require("react/jsx-runtime");
|
|
12016
12074
|
var stateMessageMinHeight = "min-h-[248px] px-5 py-10 md:min-h-[272px]";
|
|
12017
12075
|
var OrderbookWithStates = (_a) => {
|
|
12018
12076
|
var _b = _a, {
|
|
@@ -12024,65 +12082,65 @@ var OrderbookWithStates = (_a) => {
|
|
|
12024
12082
|
]);
|
|
12025
12083
|
var _a2;
|
|
12026
12084
|
if (state.kind === "loading") {
|
|
12027
|
-
return /* @__PURE__ */ (0,
|
|
12085
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(MarketDetailsOderbookSkeleton, {}) });
|
|
12028
12086
|
}
|
|
12029
12087
|
if (state.kind === "disabled") {
|
|
12030
|
-
return /* @__PURE__ */ (0,
|
|
12088
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
12031
12089
|
StateMessage,
|
|
12032
12090
|
{
|
|
12033
12091
|
title: state.title,
|
|
12034
12092
|
description: state.description,
|
|
12035
|
-
icon: (_a2 = state.icon) != null ? _a2 : /* @__PURE__ */ (0,
|
|
12093
|
+
icon: (_a2 = state.icon) != null ? _a2 : /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(WarningIcon, {}),
|
|
12036
12094
|
classNames: { root: stateMessageMinHeight }
|
|
12037
12095
|
}
|
|
12038
12096
|
) });
|
|
12039
12097
|
}
|
|
12040
12098
|
if (state.kind === "error") {
|
|
12041
|
-
return /* @__PURE__ */ (0,
|
|
12099
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
12042
12100
|
StateMessage,
|
|
12043
12101
|
{
|
|
12044
12102
|
title: state.title,
|
|
12045
12103
|
description: state.description,
|
|
12046
|
-
icon: /* @__PURE__ */ (0,
|
|
12104
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(WarningIcon, {}),
|
|
12047
12105
|
onAction: state.onRetry,
|
|
12048
12106
|
classNames: { root: stateMessageMinHeight }
|
|
12049
12107
|
}
|
|
12050
12108
|
) });
|
|
12051
12109
|
}
|
|
12052
12110
|
if (state.kind === "resolved") {
|
|
12053
|
-
return /* @__PURE__ */ (0,
|
|
12111
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
12054
12112
|
StateMessage,
|
|
12055
12113
|
{
|
|
12056
12114
|
title: state.title,
|
|
12057
12115
|
description: state.description,
|
|
12058
|
-
icon: /* @__PURE__ */ (0,
|
|
12116
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(WarningIcon, {}),
|
|
12059
12117
|
classNames: { root: stateMessageMinHeight }
|
|
12060
12118
|
}
|
|
12061
12119
|
) });
|
|
12062
12120
|
}
|
|
12063
12121
|
if (state.kind === "empty") {
|
|
12064
|
-
return /* @__PURE__ */ (0,
|
|
12122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
12065
12123
|
StateMessage,
|
|
12066
12124
|
{
|
|
12067
12125
|
title: state.title,
|
|
12068
12126
|
description: state.description,
|
|
12069
|
-
icon: /* @__PURE__ */ (0,
|
|
12127
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(SearchEmptyIcon, {}),
|
|
12070
12128
|
classNames: { root: stateMessageMinHeight }
|
|
12071
12129
|
}
|
|
12072
12130
|
) });
|
|
12073
12131
|
}
|
|
12074
|
-
return /* @__PURE__ */ (0,
|
|
12132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Orderbook, __spreadValues({}, orderbookProps)) });
|
|
12075
12133
|
};
|
|
12076
12134
|
OrderbookWithStates.displayName = "OrderbookWithStates";
|
|
12077
12135
|
|
|
12078
12136
|
// src/events/orderbook/index.tsx
|
|
12079
|
-
var
|
|
12137
|
+
var import_jsx_runtime131 = require("react/jsx-runtime");
|
|
12080
12138
|
var OrderbookVenueLogos = ({ venues }) => {
|
|
12081
|
-
const visible = (0,
|
|
12139
|
+
const visible = (0, import_hooks42.sortVenues)(venues).slice(0, orderbookMaxVisibleVenues);
|
|
12082
12140
|
const overflow = venues.length - visible.length;
|
|
12083
|
-
return /* @__PURE__ */ (0,
|
|
12084
|
-
visible.map((venue) => /* @__PURE__ */ (0,
|
|
12085
|
-
overflow > 0 ? /* @__PURE__ */ (0,
|
|
12141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex flex-row items-center justify-start gap-0.5 md:gap-1", children: [
|
|
12142
|
+
visible.map((venue) => /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(VenueLogo, { venue, size: "small" }, venue)),
|
|
12143
|
+
overflow > 0 ? /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("span", { className: "text-agg-xs font-agg-bold leading-agg-4 text-agg-muted-foreground", children: [
|
|
12086
12144
|
"+",
|
|
12087
12145
|
overflow
|
|
12088
12146
|
] }) : null
|
|
@@ -12109,8 +12167,8 @@ var OrderbookRow = ({
|
|
|
12109
12167
|
}).map(([venue]) => venue);
|
|
12110
12168
|
const venues = entry.row.venues && entry.row.venues.length > 0 ? entry.row.venues : venuesFromBreakdown.length > 0 ? venuesFromBreakdown : [entry.row.venue];
|
|
12111
12169
|
const barPercent = Math.max(2, Number((entry.unifiedBarScale * 100).toFixed(2)));
|
|
12112
|
-
return /* @__PURE__ */ (0,
|
|
12113
|
-
/* @__PURE__ */ (0,
|
|
12170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "agg-orderbook-row relative flex h-9 items-center gap-2.5 overflow-clip pl-5 pr-2.5 md:gap-10 md:pl-0 md:pr-5", children: [
|
|
12171
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
12114
12172
|
"div",
|
|
12115
12173
|
{
|
|
12116
12174
|
"aria-hidden": "true",
|
|
@@ -12122,8 +12180,8 @@ var OrderbookRow = ({
|
|
|
12122
12180
|
style: { width: `${barPercent}%` }
|
|
12123
12181
|
}
|
|
12124
12182
|
),
|
|
12125
|
-
/* @__PURE__ */ (0,
|
|
12126
|
-
/* @__PURE__ */ (0,
|
|
12183
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "hidden md:block md:relative min-w-0 flex-1 self-stretch", children: [
|
|
12184
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
12127
12185
|
"div",
|
|
12128
12186
|
{
|
|
12129
12187
|
"aria-hidden": "true",
|
|
@@ -12135,14 +12193,14 @@ var OrderbookRow = ({
|
|
|
12135
12193
|
style: { width: `${barPercent}%` }
|
|
12136
12194
|
}
|
|
12137
12195
|
),
|
|
12138
|
-
showBadge && badgeLabel ? /* @__PURE__ */ (0,
|
|
12196
|
+
showBadge && badgeLabel ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
12139
12197
|
"div",
|
|
12140
12198
|
{
|
|
12141
12199
|
className: cn(
|
|
12142
12200
|
"absolute flex left-5 top-1/2 -translate-y-1/2 rounded-[4px] border px-2 py-0.5",
|
|
12143
12201
|
badgeBorderClassName
|
|
12144
12202
|
),
|
|
12145
|
-
children: /* @__PURE__ */ (0,
|
|
12203
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
12146
12204
|
"span",
|
|
12147
12205
|
{
|
|
12148
12206
|
className: cn("text-[10px] font-bold uppercase leading-[14px]", badgeTextClassName),
|
|
@@ -12152,8 +12210,8 @@ var OrderbookRow = ({
|
|
|
12152
12210
|
}
|
|
12153
12211
|
) : null
|
|
12154
12212
|
] }),
|
|
12155
|
-
/* @__PURE__ */ (0,
|
|
12156
|
-
/* @__PURE__ */ (0,
|
|
12213
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex w-20 shrink-0 items-center justify-start gap-2 md:w-[120px]", children: [
|
|
12214
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
12157
12215
|
"span",
|
|
12158
12216
|
{
|
|
12159
12217
|
className: cn(
|
|
@@ -12164,10 +12222,10 @@ var OrderbookRow = ({
|
|
|
12164
12222
|
children: formatProbabilityCents(entry.row.price, formatPrice)
|
|
12165
12223
|
}
|
|
12166
12224
|
),
|
|
12167
|
-
/* @__PURE__ */ (0,
|
|
12225
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(OrderbookVenueLogos, { venues })
|
|
12168
12226
|
] }),
|
|
12169
|
-
/* @__PURE__ */ (0,
|
|
12170
|
-
/* @__PURE__ */ (0,
|
|
12227
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "agg-orderbook-size w-20 shrink-0 truncate text-center text-agg-sm leading-agg-5 text-agg-foreground md:w-[120px]", children: formatNumber(entry.row.size) }),
|
|
12228
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "agg-orderbook-total w-20 shrink-0 truncate text-center text-agg-sm leading-agg-5 text-agg-foreground md:w-[120px]", children: formatCurrency(entry.row.total) })
|
|
12171
12229
|
] });
|
|
12172
12230
|
};
|
|
12173
12231
|
var Orderbook = ({
|
|
@@ -12186,7 +12244,7 @@ var Orderbook = ({
|
|
|
12186
12244
|
const {
|
|
12187
12245
|
enableWebsocketsLogs,
|
|
12188
12246
|
formatting: { formatPrice }
|
|
12189
|
-
} = (0,
|
|
12247
|
+
} = (0, import_hooks42.useAggUiConfig)();
|
|
12190
12248
|
const labels = __spreadValues(__spreadValues({}, orderbookDefaultLabels), labelsProp);
|
|
12191
12249
|
const scrollContainerRef = (0, import_react18.useRef)(null);
|
|
12192
12250
|
const spreadRowRef = (0, import_react18.useRef)(null);
|
|
@@ -12227,15 +12285,15 @@ var Orderbook = ({
|
|
|
12227
12285
|
snapshotKey,
|
|
12228
12286
|
spreadEntry
|
|
12229
12287
|
]);
|
|
12230
|
-
return /* @__PURE__ */ (0,
|
|
12231
|
-
/* @__PURE__ */ (0,
|
|
12232
|
-
/* @__PURE__ */ (0,
|
|
12233
|
-
/* @__PURE__ */ (0,
|
|
12234
|
-
/* @__PURE__ */ (0,
|
|
12235
|
-
/* @__PURE__ */ (0,
|
|
12288
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: cn("agg-orderbook-unified flex flex-col", className), children: [
|
|
12289
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex h-9 items-center gap-2.5 overflow-clip border-b border-agg-separator pl-5 pr-5 md:pl-0 md:gap-10", children: [
|
|
12290
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "hidden md:flex min-w-0 flex-1 items-center gap-2 pl-5", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground", children: labels.tradeOutcome }) }),
|
|
12291
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "w-20 shrink-0 text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground md:w-[120px]", children: labels.price }),
|
|
12292
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "w-20 shrink-0 text-center text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground md:w-[120px]", children: labels.shares }),
|
|
12293
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "w-20 shrink-0 text-center text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground md:w-[120px]", children: labels.total })
|
|
12236
12294
|
] }),
|
|
12237
|
-
/* @__PURE__ */ (0,
|
|
12238
|
-
/* @__PURE__ */ (0,
|
|
12295
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "relative", children: [
|
|
12296
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
12239
12297
|
"div",
|
|
12240
12298
|
{
|
|
12241
12299
|
ref: scrollContainerRef,
|
|
@@ -12245,7 +12303,7 @@ var Orderbook = ({
|
|
|
12245
12303
|
"aria-label": "Order book",
|
|
12246
12304
|
tabIndex: 0,
|
|
12247
12305
|
children: [
|
|
12248
|
-
askEntries.length > 0 ? /* @__PURE__ */ (0,
|
|
12306
|
+
askEntries.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "agg-orderbook-asks flex flex-col", children: askEntries.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
12249
12307
|
OrderbookRow,
|
|
12250
12308
|
{
|
|
12251
12309
|
entry,
|
|
@@ -12258,7 +12316,7 @@ var Orderbook = ({
|
|
|
12258
12316
|
},
|
|
12259
12317
|
entry.row.id
|
|
12260
12318
|
)) }) : null,
|
|
12261
|
-
/* @__PURE__ */ (0,
|
|
12319
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
12262
12320
|
"div",
|
|
12263
12321
|
{
|
|
12264
12322
|
ref: spreadRowRef,
|
|
@@ -12266,7 +12324,7 @@ var Orderbook = ({
|
|
|
12266
12324
|
role: "separator",
|
|
12267
12325
|
"aria-label": `${labels.midPrice}: ${formatProbabilityCents((_b = spreadEntry == null ? void 0 : spreadEntry.midPrice) != null ? _b : null, formatPrice)}, ${labels.spread}: ${formatProbabilityCents((_c = spreadEntry == null ? void 0 : spreadEntry.spread) != null ? _c : null)}`,
|
|
12268
12326
|
children: [
|
|
12269
|
-
/* @__PURE__ */ (0,
|
|
12327
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
12270
12328
|
Typography,
|
|
12271
12329
|
{
|
|
12272
12330
|
variant: "label",
|
|
@@ -12278,7 +12336,7 @@ var Orderbook = ({
|
|
|
12278
12336
|
]
|
|
12279
12337
|
}
|
|
12280
12338
|
),
|
|
12281
|
-
/* @__PURE__ */ (0,
|
|
12339
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
12282
12340
|
Typography,
|
|
12283
12341
|
{
|
|
12284
12342
|
variant: "label",
|
|
@@ -12290,12 +12348,12 @@ var Orderbook = ({
|
|
|
12290
12348
|
]
|
|
12291
12349
|
}
|
|
12292
12350
|
),
|
|
12293
|
-
/* @__PURE__ */ (0,
|
|
12294
|
-
/* @__PURE__ */ (0,
|
|
12351
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "hidden md:inline-flex w-20 shrink-0 md:w-[120px]" }),
|
|
12352
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "hidden md:inline-flex w-20 shrink-0 md:w-[120px]" })
|
|
12295
12353
|
]
|
|
12296
12354
|
}
|
|
12297
12355
|
),
|
|
12298
|
-
bidEntries.length > 0 ? /* @__PURE__ */ (0,
|
|
12356
|
+
bidEntries.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "agg-orderbook-bids flex flex-col", children: bidEntries.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
12299
12357
|
OrderbookRow,
|
|
12300
12358
|
{
|
|
12301
12359
|
entry,
|
|
@@ -12311,14 +12369,14 @@ var Orderbook = ({
|
|
|
12311
12369
|
]
|
|
12312
12370
|
}
|
|
12313
12371
|
),
|
|
12314
|
-
/* @__PURE__ */ (0,
|
|
12372
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
12315
12373
|
"button",
|
|
12316
12374
|
{
|
|
12317
12375
|
type: "button",
|
|
12318
12376
|
onClick: recenter,
|
|
12319
12377
|
className: "absolute bottom-3 left-5 z-10 flex size-8 cursor-pointer items-center justify-center rounded-lg border border-agg-separator bg-agg-secondary text-agg-muted-foreground transition-colors hover:text-agg-foreground",
|
|
12320
12378
|
"aria-label": "Re-center orderbook",
|
|
12321
|
-
children: /* @__PURE__ */ (0,
|
|
12379
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Icon, { name: "recenter", size: "small", className: "!size-4 text-current" })
|
|
12322
12380
|
}
|
|
12323
12381
|
)
|
|
12324
12382
|
] })
|
|
@@ -12478,8 +12536,8 @@ var resolveTradingStateBadgeClassName = (kind) => {
|
|
|
12478
12536
|
};
|
|
12479
12537
|
|
|
12480
12538
|
// src/events/market-details/market-details-outcome-button.tsx
|
|
12481
|
-
var
|
|
12482
|
-
var
|
|
12539
|
+
var import_hooks43 = require("@agg-build/hooks");
|
|
12540
|
+
var import_jsx_runtime132 = require("react/jsx-runtime");
|
|
12483
12541
|
var marketDetailsOutcomeButtonToneClasses = {
|
|
12484
12542
|
positive: {
|
|
12485
12543
|
activeSurface: "bg-agg-success/15",
|
|
@@ -12529,9 +12587,9 @@ var OutcomePriceContent = ({
|
|
|
12529
12587
|
value,
|
|
12530
12588
|
textClassName
|
|
12531
12589
|
}) => {
|
|
12532
|
-
const { formatPrice } = (0,
|
|
12590
|
+
const { formatPrice } = (0, import_hooks43.useAggUiConfig)().formatting;
|
|
12533
12591
|
if (isLoading) {
|
|
12534
|
-
return /* @__PURE__ */ (0,
|
|
12592
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
12535
12593
|
"span",
|
|
12536
12594
|
{
|
|
12537
12595
|
"aria-hidden": "true",
|
|
@@ -12542,7 +12600,7 @@ var OutcomePriceContent = ({
|
|
|
12542
12600
|
}
|
|
12543
12601
|
);
|
|
12544
12602
|
}
|
|
12545
|
-
return /* @__PURE__ */ (0,
|
|
12603
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
12546
12604
|
Typography,
|
|
12547
12605
|
{
|
|
12548
12606
|
as: "span",
|
|
@@ -12570,7 +12628,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
12570
12628
|
});
|
|
12571
12629
|
const itemLabel = (_a = item.title) != null ? _a : item.label;
|
|
12572
12630
|
const isLineVariant = item.variant === "line";
|
|
12573
|
-
return /* @__PURE__ */ (0,
|
|
12631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
12574
12632
|
"button",
|
|
12575
12633
|
{
|
|
12576
12634
|
type: "button",
|
|
@@ -12586,9 +12644,9 @@ var MarketDetailsOutcomeButton = ({
|
|
|
12586
12644
|
enforceFixedWidth ? "flex-none" : "flex-1 md:flex-auto"
|
|
12587
12645
|
),
|
|
12588
12646
|
onClick: () => onSelect(item.label),
|
|
12589
|
-
children: isLineVariant ? /* @__PURE__ */ (0,
|
|
12590
|
-
/* @__PURE__ */ (0,
|
|
12591
|
-
/* @__PURE__ */ (0,
|
|
12647
|
+
children: isLineVariant ? /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "flex min-w-0 max-w-full items-center justify-center gap-1.5 overflow-hidden", children: [
|
|
12648
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(VenueLogo, { venue: item.venue, size: "small" }),
|
|
12649
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
12592
12650
|
Typography,
|
|
12593
12651
|
{
|
|
12594
12652
|
as: "span",
|
|
@@ -12597,7 +12655,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
12597
12655
|
children: itemLabel
|
|
12598
12656
|
}
|
|
12599
12657
|
),
|
|
12600
|
-
item.lineLabel ? /* @__PURE__ */ (0,
|
|
12658
|
+
item.lineLabel ? /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
12601
12659
|
Typography,
|
|
12602
12660
|
{
|
|
12603
12661
|
as: "span",
|
|
@@ -12606,7 +12664,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
12606
12664
|
children: item.lineLabel
|
|
12607
12665
|
}
|
|
12608
12666
|
) : null,
|
|
12609
|
-
/* @__PURE__ */ (0,
|
|
12667
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
12610
12668
|
OutcomePriceContent,
|
|
12611
12669
|
{
|
|
12612
12670
|
isLoading: item.isPriceLoading,
|
|
@@ -12615,9 +12673,9 @@ var MarketDetailsOutcomeButton = ({
|
|
|
12615
12673
|
textClassName: classNames.text
|
|
12616
12674
|
}
|
|
12617
12675
|
)
|
|
12618
|
-
] }) : /* @__PURE__ */ (0,
|
|
12619
|
-
/* @__PURE__ */ (0,
|
|
12620
|
-
/* @__PURE__ */ (0,
|
|
12676
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "inline-flex max-w-full items-center justify-center gap-1.5", children: [
|
|
12677
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(VenueLogo, { venue: item.venue, size: "small" }),
|
|
12678
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
12621
12679
|
Typography,
|
|
12622
12680
|
{
|
|
12623
12681
|
as: "span",
|
|
@@ -12626,7 +12684,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
12626
12684
|
children: itemLabel
|
|
12627
12685
|
}
|
|
12628
12686
|
),
|
|
12629
|
-
/* @__PURE__ */ (0,
|
|
12687
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
12630
12688
|
OutcomePriceContent,
|
|
12631
12689
|
{
|
|
12632
12690
|
isLoading: item.isPriceLoading,
|
|
@@ -12642,9 +12700,9 @@ var MarketDetailsOutcomeButton = ({
|
|
|
12642
12700
|
MarketDetailsOutcomeButton.displayName = "MarketDetailsOutcomeButton";
|
|
12643
12701
|
|
|
12644
12702
|
// src/events/market-details/market-details-graph-panel.tsx
|
|
12645
|
-
var
|
|
12703
|
+
var import_hooks44 = require("@agg-build/hooks");
|
|
12646
12704
|
var import_react19 = require("react");
|
|
12647
|
-
var
|
|
12705
|
+
var import_jsx_runtime133 = require("react/jsx-runtime");
|
|
12648
12706
|
var MarketDetailsGraphPanel = ({
|
|
12649
12707
|
venueMarkets,
|
|
12650
12708
|
selectedOutcomeLabel,
|
|
@@ -12659,13 +12717,13 @@ var MarketDetailsGraphPanel = ({
|
|
|
12659
12717
|
classNames
|
|
12660
12718
|
}) => {
|
|
12661
12719
|
var _a, _b, _c;
|
|
12662
|
-
const config = (0,
|
|
12720
|
+
const config = (0, import_hooks44.useSdkUiConfig)();
|
|
12663
12721
|
const {
|
|
12664
12722
|
formatting: { formatPercent, formatCompactCurrency, formatPrice },
|
|
12665
12723
|
general: { theme }
|
|
12666
12724
|
} = config;
|
|
12667
12725
|
const isDarkTheme = theme === "dark";
|
|
12668
|
-
const labels = (0,
|
|
12726
|
+
const labels = (0, import_hooks44.useLabels)();
|
|
12669
12727
|
const selectedTimeRange = config.chart.selectedChartTimeRange;
|
|
12670
12728
|
const setSelectedTimeRange = config.chart.setSelectedChartTimeRange;
|
|
12671
12729
|
const [chartRangeOverride, setChartRangeOverride] = (0, import_react19.useState)(null);
|
|
@@ -12685,7 +12743,7 @@ var MarketDetailsGraphPanel = ({
|
|
|
12685
12743
|
livePrices
|
|
12686
12744
|
});
|
|
12687
12745
|
}, [livePrices, venueMarkets, resolvedChartOutcomeLabel, chartSelectedOutcomeId]);
|
|
12688
|
-
const rollingWindow = (0,
|
|
12746
|
+
const rollingWindow = (0, import_hooks44.useRollingChartWindow)({ range: effectiveChartTimeRange });
|
|
12689
12747
|
const chartPrimaryOutcomeId = (_b = (_a = chartOutcomesByVenue[0]) == null ? void 0 : _a.outcome.id) != null ? _b : null;
|
|
12690
12748
|
const chartVenueOutcomeIds = (0, import_react19.useMemo)(() => {
|
|
12691
12749
|
return chartOutcomesByVenue.map((item) => item.outcome.id);
|
|
@@ -12695,7 +12753,7 @@ var MarketDetailsGraphPanel = ({
|
|
|
12695
12753
|
isLoading: isMarketChartLoading,
|
|
12696
12754
|
error: marketChartError,
|
|
12697
12755
|
refetch: refetchMarketChart
|
|
12698
|
-
} = (0,
|
|
12756
|
+
} = (0, import_hooks44.useMarketChart)({
|
|
12699
12757
|
marketId: chartPrimaryOutcomeId,
|
|
12700
12758
|
venueMarketIds: chartVenueOutcomeIds,
|
|
12701
12759
|
interval: rollingWindow.interval,
|
|
@@ -12799,17 +12857,17 @@ var MarketDetailsGraphPanel = ({
|
|
|
12799
12857
|
const handleRetryMarketChart = () => {
|
|
12800
12858
|
void refetchMarketChart();
|
|
12801
12859
|
};
|
|
12802
|
-
return /* @__PURE__ */ (0,
|
|
12803
|
-
hasChartError ? /* @__PURE__ */ (0,
|
|
12860
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: cn("agg-price-chart flex flex-col gap-5 p-5", classNames == null ? void 0 : classNames.graph), children: [
|
|
12861
|
+
hasChartError ? /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
12804
12862
|
StateMessage,
|
|
12805
12863
|
{
|
|
12806
12864
|
title: labels.marketDetails.chartUnavailableTitle,
|
|
12807
12865
|
description: labels.marketDetails.chartUnavailableDescription,
|
|
12808
|
-
icon: /* @__PURE__ */ (0,
|
|
12866
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(WarningIcon, {}),
|
|
12809
12867
|
onAction: handleRetryMarketChart,
|
|
12810
12868
|
classNames: { root: "min-h-[248px] px-5 py-10 md:min-h-[272px]" }
|
|
12811
12869
|
}
|
|
12812
|
-
) : /* @__PURE__ */ (0,
|
|
12870
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
12813
12871
|
LineChart,
|
|
12814
12872
|
{
|
|
12815
12873
|
series: graphSeries,
|
|
@@ -12822,14 +12880,14 @@ var MarketDetailsGraphPanel = ({
|
|
|
12822
12880
|
showSeriesControls: chartAvailableOutcomesByVenue.length > 0 || headerOutcomeItems.length > 0,
|
|
12823
12881
|
renderSeriesControls: () => {
|
|
12824
12882
|
var _a2, _b2, _c2, _d;
|
|
12825
|
-
return /* @__PURE__ */ (0,
|
|
12826
|
-
/* @__PURE__ */ (0,
|
|
12883
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "agg-chart-toolbar w-full flex flex-col gap-4 md:flex-row md:items-center md:justify-between", children: [
|
|
12884
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("div", { className: "agg-market-venues flex flex-wrap gap-2", children: chartAvailableOutcomesByVenue.map((item) => {
|
|
12827
12885
|
const probability = formatProbabilityPercent(
|
|
12828
12886
|
wsLivePrices.get(item.outcome.id),
|
|
12829
12887
|
formatPercent
|
|
12830
12888
|
);
|
|
12831
12889
|
const isActiveVenue = selectedGraphVenue === item.venue;
|
|
12832
|
-
return /* @__PURE__ */ (0,
|
|
12890
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
|
|
12833
12891
|
"button",
|
|
12834
12892
|
{
|
|
12835
12893
|
type: "button",
|
|
@@ -12848,14 +12906,14 @@ var MarketDetailsGraphPanel = ({
|
|
|
12848
12906
|
handleGraphVenueToggle(item.venue);
|
|
12849
12907
|
},
|
|
12850
12908
|
children: [
|
|
12851
|
-
/* @__PURE__ */ (0,
|
|
12852
|
-
/* @__PURE__ */ (0,
|
|
12909
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)(VenueLogo, { venue: item.venue, size: "small" }),
|
|
12910
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-agg-base leading-agg-6 text-agg-foreground", children: probability })
|
|
12853
12911
|
]
|
|
12854
12912
|
},
|
|
12855
12913
|
`${item.market.id}-${item.outcome.id}`
|
|
12856
12914
|
);
|
|
12857
12915
|
}) }),
|
|
12858
|
-
!isOutcomeSelectionLocked ? /* @__PURE__ */ (0,
|
|
12916
|
+
!isOutcomeSelectionLocked ? /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
12859
12917
|
SwitchButton,
|
|
12860
12918
|
{
|
|
12861
12919
|
ariaLabel: labels.marketDetails.outcomeSelectorAria,
|
|
@@ -12885,7 +12943,7 @@ var MarketDetailsGraphPanel = ({
|
|
|
12885
12943
|
}
|
|
12886
12944
|
}
|
|
12887
12945
|
),
|
|
12888
|
-
/* @__PURE__ */ (0,
|
|
12946
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
|
|
12889
12947
|
"div",
|
|
12890
12948
|
{
|
|
12891
12949
|
className: cn(
|
|
@@ -12894,9 +12952,9 @@ var MarketDetailsGraphPanel = ({
|
|
|
12894
12952
|
classNames == null ? void 0 : classNames.footer
|
|
12895
12953
|
),
|
|
12896
12954
|
children: [
|
|
12897
|
-
/* @__PURE__ */ (0,
|
|
12898
|
-
/* @__PURE__ */ (0,
|
|
12899
|
-
/* @__PURE__ */ (0,
|
|
12955
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { children: typeof volume !== "number" ? labels.marketDetails.volumeUnavailable : volume > 0 ? `${formatCompactCurrency(volume)} ${labels.marketDetails.meta.volumeSuffix}` : "" }),
|
|
12956
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex flex-wrap items-center gap-3 md:gap-4", children: [
|
|
12957
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
12900
12958
|
ChartTypeSwitch,
|
|
12901
12959
|
{
|
|
12902
12960
|
className: "agg-chart-type-switch shrink-0",
|
|
@@ -12904,11 +12962,11 @@ var MarketDetailsGraphPanel = ({
|
|
|
12904
12962
|
onValueChange: setSelectedChartType
|
|
12905
12963
|
}
|
|
12906
12964
|
),
|
|
12907
|
-
/* @__PURE__ */ (0,
|
|
12908
|
-
|
|
12965
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { "aria-hidden": "true", className: "hidden h-4 w-px bg-agg-separator md:block" }),
|
|
12966
|
+
import_hooks44.CHART_TIME_RANGES.map((timeRange) => {
|
|
12909
12967
|
const isActive = effectiveChartTimeRange === timeRange;
|
|
12910
12968
|
const isDisabled = isResolvedMarket && timeRange !== "ALL";
|
|
12911
|
-
return /* @__PURE__ */ (0,
|
|
12969
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
12912
12970
|
"button",
|
|
12913
12971
|
{
|
|
12914
12972
|
type: "button",
|
|
@@ -12942,14 +13000,14 @@ var MarketDetailsGraphPanel = ({
|
|
|
12942
13000
|
MarketDetailsGraphPanel.displayName = "MarketDetailsGraphPanel";
|
|
12943
13001
|
|
|
12944
13002
|
// src/events/market-details/index.tsx
|
|
12945
|
-
var
|
|
13003
|
+
var import_jsx_runtime134 = require("react/jsx-runtime");
|
|
12946
13004
|
var MarketDetailsUnavailableState = ({
|
|
12947
13005
|
marketId,
|
|
12948
13006
|
ariaLabel,
|
|
12949
13007
|
classNames
|
|
12950
13008
|
}) => {
|
|
12951
|
-
const labels = (0,
|
|
12952
|
-
return /* @__PURE__ */ (0,
|
|
13009
|
+
const labels = (0, import_hooks45.useLabels)();
|
|
13010
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
12953
13011
|
Card,
|
|
12954
13012
|
{
|
|
12955
13013
|
"data-market-id": marketId || void 0,
|
|
@@ -12960,9 +13018,9 @@ var MarketDetailsUnavailableState = ({
|
|
|
12960
13018
|
),
|
|
12961
13019
|
role: "status",
|
|
12962
13020
|
"aria-label": ariaLabel != null ? ariaLabel : labels.marketDetails.unavailableAria,
|
|
12963
|
-
children: /* @__PURE__ */ (0,
|
|
12964
|
-
/* @__PURE__ */ (0,
|
|
12965
|
-
/* @__PURE__ */ (0,
|
|
13021
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex flex-col gap-1 p-5", children: [
|
|
13022
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Typography, { variant: "body-large-strong", children: labels.marketDetails.unavailableTitle }),
|
|
13023
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Typography, { variant: "label", className: "text-agg-muted-foreground", children: labels.marketDetails.unavailableDescription })
|
|
12966
13024
|
] })
|
|
12967
13025
|
}
|
|
12968
13026
|
);
|
|
@@ -12972,14 +13030,14 @@ var MarketDetailsNotFoundState = ({
|
|
|
12972
13030
|
ariaLabel: _ariaLabel,
|
|
12973
13031
|
classNames: _classNames
|
|
12974
13032
|
}) => {
|
|
12975
|
-
const labels = (0,
|
|
12976
|
-
return /* @__PURE__ */ (0,
|
|
13033
|
+
const labels = (0, import_hooks45.useLabels)();
|
|
13034
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
12977
13035
|
StateMessage,
|
|
12978
13036
|
{
|
|
12979
13037
|
"data-market-id": marketId || void 0,
|
|
12980
13038
|
title: labels.marketDetails.notFoundTitle,
|
|
12981
13039
|
description: labels.marketDetails.notFoundDescription,
|
|
12982
|
-
icon: /* @__PURE__ */ (0,
|
|
13040
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(SearchEmptyIcon, {}),
|
|
12983
13041
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
12984
13042
|
}
|
|
12985
13043
|
);
|
|
@@ -13010,33 +13068,33 @@ var MarketDetailsContent = ({
|
|
|
13010
13068
|
midpointsResult
|
|
13011
13069
|
}) => {
|
|
13012
13070
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
13013
|
-
const config = (0,
|
|
13071
|
+
const config = (0, import_hooks45.useSdkUiConfig)();
|
|
13014
13072
|
const {
|
|
13015
13073
|
features: { enableAnimations },
|
|
13016
13074
|
formatting: { formatPercent }
|
|
13017
13075
|
} = config;
|
|
13018
|
-
const labels = (0,
|
|
13019
|
-
const tradingContext = (0,
|
|
13076
|
+
const labels = (0, import_hooks45.useLabels)();
|
|
13077
|
+
const tradingContext = (0, import_hooks45.useEventTradingContext)();
|
|
13020
13078
|
const detailsContentId = (0, import_react20.useId)();
|
|
13021
13079
|
const tradeSide = (_a = tradingContext == null ? void 0 : tradingContext.tradeSide) != null ? _a : "buy";
|
|
13022
13080
|
const resolvedMarket = (0, import_react20.useMemo)(() => {
|
|
13023
13081
|
return resolveMarketFromVenueMarkets(venueMarkets, marketId);
|
|
13024
13082
|
}, [venueMarkets, marketId]);
|
|
13025
13083
|
const clusterVenueMarkets = resolvedMarket == null ? void 0 : resolvedMarket.venueMarkets;
|
|
13026
|
-
const wsLivePrices = (0,
|
|
13027
|
-
const wsBestPrices = (0,
|
|
13028
|
-
const wsBestCandidates = (0,
|
|
13084
|
+
const wsLivePrices = (0, import_hooks45.useLiveOutcomePrices)(clusterVenueMarkets);
|
|
13085
|
+
const wsBestPrices = (0, import_hooks45.useLiveBestPrices)(clusterVenueMarkets);
|
|
13086
|
+
const wsBestCandidates = (0, import_hooks45.useLiveBestPriceCandidates)(clusterVenueMarkets);
|
|
13029
13087
|
const scopedResolvedMarket = (0, import_react20.useMemo)(() => {
|
|
13030
13088
|
var _a2, _b2;
|
|
13031
13089
|
if (!resolvedMarket) return null;
|
|
13032
13090
|
return (_b2 = (_a2 = resolvedMarket.venueMarkets.find((venueMarket) => venueMarket.id === resolvedMarket.id)) != null ? _a2 : resolvedMarket.venueMarkets[0]) != null ? _b2 : null;
|
|
13033
13091
|
}, [resolvedMarket]);
|
|
13034
|
-
const isResolvedMarket = (0,
|
|
13035
|
-
(0,
|
|
13092
|
+
const isResolvedMarket = (0, import_hooks45.resolveMarketTradingState)(scopedResolvedMarket).kind === "resolved";
|
|
13093
|
+
(0, import_hooks45.useEventOrderbookData)(
|
|
13036
13094
|
isResolvedMarket ? [] : resolvedMarket == null ? void 0 : resolvedMarket.venueMarkets,
|
|
13037
13095
|
(_b = scopedResolvedMarket == null ? void 0 : scopedResolvedMarket.id) != null ? _b : null
|
|
13038
13096
|
);
|
|
13039
|
-
const fetchedClusterMidpointResult = (0,
|
|
13097
|
+
const fetchedClusterMidpointResult = (0, import_hooks45.useMidpoints)(midpointsResult ? [] : clusterVenueMarkets);
|
|
13040
13098
|
const clusterMidpointResult = midpointsResult != null ? midpointsResult : fetchedClusterMidpointResult;
|
|
13041
13099
|
const clusterMidpoints = (_c = clusterMidpointResult.bestMidpointsByOutcomeId) != null ? _c : clusterMidpointResult.prices;
|
|
13042
13100
|
const clusterBestMidpointsByOutcomeId = clusterMidpoints;
|
|
@@ -13045,7 +13103,7 @@ var MarketDetailsContent = ({
|
|
|
13045
13103
|
const clusterBestMidpointVenue = clusterMidpointResult.bestMidpointVenue;
|
|
13046
13104
|
const clusterBestPricesRest = clusterMidpointResult.bestPrices;
|
|
13047
13105
|
const clusterBestPrices = (0, import_react20.useMemo)(
|
|
13048
|
-
() => (0,
|
|
13106
|
+
() => (0, import_hooks45.mergeBestPricesPreferringLive)(clusterBestPricesRest, wsBestPrices),
|
|
13049
13107
|
[clusterBestPricesRest, wsBestPrices]
|
|
13050
13108
|
);
|
|
13051
13109
|
const clusterBestPriceVenuesByOutcomeId = clusterMidpointResult.bestPriceVenuesByOutcomeId;
|
|
@@ -13100,7 +13158,7 @@ var MarketDetailsContent = ({
|
|
|
13100
13158
|
return (_a2 = model.market.venueMarkets.find((venueMarket) => venueMarket.id === model.market.id)) != null ? _a2 : model.primaryVenueMarket;
|
|
13101
13159
|
}, [model]);
|
|
13102
13160
|
const marketTradingState = (0, import_react20.useMemo)(() => {
|
|
13103
|
-
return (0,
|
|
13161
|
+
return (0, import_hooks45.resolveMarketTradingState)(scopedMarketForCard);
|
|
13104
13162
|
}, [scopedMarketForCard]);
|
|
13105
13163
|
const isOutcomeSelectionLocked = marketTradingState.isTradingDisabled;
|
|
13106
13164
|
const isUpcomingMarket = marketTradingState.kind === "unopened";
|
|
@@ -13261,7 +13319,7 @@ var MarketDetailsContent = ({
|
|
|
13261
13319
|
fallbackPrice: midpointsFallback == null ? void 0 : midpointsFallback.get(displayOutcome.id)
|
|
13262
13320
|
});
|
|
13263
13321
|
if (referencePrice != null) return referencePrice;
|
|
13264
|
-
return (0,
|
|
13322
|
+
return (0, import_hooks45.findLivePriceById)(wsLivePrices, displayOutcome.id);
|
|
13265
13323
|
}, [
|
|
13266
13324
|
clusterBestMidpoint,
|
|
13267
13325
|
clusterBestMidpointsByOutcomeId,
|
|
@@ -13287,7 +13345,7 @@ var MarketDetailsContent = ({
|
|
|
13287
13345
|
const orderBookEnabled = isOpened && effectiveSelectedTab === "order-book" && !marketTradingState.isTradingDisabled;
|
|
13288
13346
|
const primaryVenueMarketId = (_g = (_f = selectedOutcomesByVenue[0]) == null ? void 0 : _f.market.id) != null ? _g : null;
|
|
13289
13347
|
const primaryOutcomeId = (_i = (_h = selectedOutcomesByVenue[0]) == null ? void 0 : _h.outcome.id) != null ? _i : null;
|
|
13290
|
-
const marketOrderbookResult = (0,
|
|
13348
|
+
const marketOrderbookResult = (0, import_hooks45.useMarketOrderbook)({
|
|
13291
13349
|
marketId: primaryVenueMarketId,
|
|
13292
13350
|
enabled: orderBookEnabled && !!primaryVenueMarketId,
|
|
13293
13351
|
venueOutcomes: selectedOutcomesByVenue.map((item) => ({
|
|
@@ -13393,7 +13451,7 @@ var MarketDetailsContent = ({
|
|
|
13393
13451
|
kind: "disabled",
|
|
13394
13452
|
title: marketStatePresentation.title,
|
|
13395
13453
|
description: marketStatePresentation.description,
|
|
13396
|
-
icon: /* @__PURE__ */ (0,
|
|
13454
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Icon, { name: marketStatePresentation.iconName, className: "h-5 w-5", "aria-hidden": "true" })
|
|
13397
13455
|
} : isOrderBookLoading ? { kind: "loading" } : hasOrderBookError ? {
|
|
13398
13456
|
kind: "error",
|
|
13399
13457
|
title: labels.marketDetails.orderBookUnavailableTitle,
|
|
@@ -13409,7 +13467,7 @@ var MarketDetailsContent = ({
|
|
|
13409
13467
|
description: labels.marketDetails.orderBookEmptyDescription
|
|
13410
13468
|
} : { kind: "data" };
|
|
13411
13469
|
if (marketId && !resolvedMarket) {
|
|
13412
|
-
return /* @__PURE__ */ (0,
|
|
13470
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13413
13471
|
MarketDetailsNotFoundState,
|
|
13414
13472
|
{
|
|
13415
13473
|
marketId,
|
|
@@ -13419,7 +13477,7 @@ var MarketDetailsContent = ({
|
|
|
13419
13477
|
);
|
|
13420
13478
|
}
|
|
13421
13479
|
if (!model) {
|
|
13422
|
-
return /* @__PURE__ */ (0,
|
|
13480
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13423
13481
|
MarketDetailsUnavailableState,
|
|
13424
13482
|
{
|
|
13425
13483
|
marketId,
|
|
@@ -13428,7 +13486,7 @@ var MarketDetailsContent = ({
|
|
|
13428
13486
|
}
|
|
13429
13487
|
);
|
|
13430
13488
|
}
|
|
13431
|
-
return /* @__PURE__ */ (0,
|
|
13489
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
13432
13490
|
Card,
|
|
13433
13491
|
{
|
|
13434
13492
|
className: cn(
|
|
@@ -13439,7 +13497,7 @@ var MarketDetailsContent = ({
|
|
|
13439
13497
|
classNames == null ? void 0 : classNames.root
|
|
13440
13498
|
),
|
|
13441
13499
|
children: [
|
|
13442
|
-
/* @__PURE__ */ (0,
|
|
13500
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
13443
13501
|
"div",
|
|
13444
13502
|
{
|
|
13445
13503
|
"data-market-id": marketId || void 0,
|
|
@@ -13450,7 +13508,7 @@ var MarketDetailsContent = ({
|
|
|
13450
13508
|
classNames == null ? void 0 : classNames.header
|
|
13451
13509
|
),
|
|
13452
13510
|
children: [
|
|
13453
|
-
/* @__PURE__ */ (0,
|
|
13511
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
13454
13512
|
"button",
|
|
13455
13513
|
{
|
|
13456
13514
|
className: cn(
|
|
@@ -13464,17 +13522,17 @@ var MarketDetailsContent = ({
|
|
|
13464
13522
|
"aria-controls": detailsContentId,
|
|
13465
13523
|
"aria-label": isOpened ? labels.marketDetails.toggleCloseDetailsAria(model.title) : labels.marketDetails.toggleOpenDetailsAria(model.title),
|
|
13466
13524
|
children: [
|
|
13467
|
-
/* @__PURE__ */ (0,
|
|
13468
|
-
!compactHeader ? /* @__PURE__ */ (0,
|
|
13525
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "agg-market-summary flex min-w-24 flex-1 items-center gap-3 md:gap-4", children: [
|
|
13526
|
+
!compactHeader ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13469
13527
|
RemoteImage,
|
|
13470
13528
|
{
|
|
13471
|
-
src: (0,
|
|
13529
|
+
src: (0, import_hooks45.optimizedImageUrl)(model.image, 60),
|
|
13472
13530
|
alt: "",
|
|
13473
13531
|
className: "agg-market-image size-12 rounded-agg-lg object-cover md:size-[60px]"
|
|
13474
13532
|
}
|
|
13475
13533
|
) : null,
|
|
13476
|
-
/* @__PURE__ */ (0,
|
|
13477
|
-
/* @__PURE__ */ (0,
|
|
13534
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex min-w-24 flex-col", children: [
|
|
13535
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Tooltip, { content: model.title, side: "top", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13478
13536
|
Typography,
|
|
13479
13537
|
{
|
|
13480
13538
|
as: "h3",
|
|
@@ -13483,7 +13541,7 @@ var MarketDetailsContent = ({
|
|
|
13483
13541
|
children: model.title
|
|
13484
13542
|
}
|
|
13485
13543
|
) }) }),
|
|
13486
|
-
/* @__PURE__ */ (0,
|
|
13544
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "flex items-center gap-3", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13487
13545
|
Typography,
|
|
13488
13546
|
{
|
|
13489
13547
|
variant: "label",
|
|
@@ -13491,8 +13549,8 @@ var MarketDetailsContent = ({
|
|
|
13491
13549
|
children: subtitleOverride != null ? subtitleOverride : model.subtitle
|
|
13492
13550
|
}
|
|
13493
13551
|
) }),
|
|
13494
|
-
marketTradingState.isTradingDisabled && marketTradingState.kind !== "resolved" && !isUpcomingMarket ? /* @__PURE__ */ (0,
|
|
13495
|
-
/* @__PURE__ */ (0,
|
|
13552
|
+
marketTradingState.isTradingDisabled && marketTradingState.kind !== "resolved" && !isUpcomingMarket ? /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "mt-2 flex flex-wrap items-center gap-2 justify-center md:justify-start", children: [
|
|
13553
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
13496
13554
|
"span",
|
|
13497
13555
|
{
|
|
13498
13556
|
className: cn(
|
|
@@ -13500,7 +13558,7 @@ var MarketDetailsContent = ({
|
|
|
13500
13558
|
resolveTradingStateBadgeClassName(marketTradingState.kind)
|
|
13501
13559
|
),
|
|
13502
13560
|
children: [
|
|
13503
|
-
/* @__PURE__ */ (0,
|
|
13561
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13504
13562
|
Icon,
|
|
13505
13563
|
{
|
|
13506
13564
|
name: marketStatePresentation.iconName,
|
|
@@ -13508,20 +13566,20 @@ var MarketDetailsContent = ({
|
|
|
13508
13566
|
className: "h-3.5 w-3.5"
|
|
13509
13567
|
}
|
|
13510
13568
|
),
|
|
13511
|
-
/* @__PURE__ */ (0,
|
|
13569
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { children: marketStatePresentation.badgeLabel })
|
|
13512
13570
|
]
|
|
13513
13571
|
}
|
|
13514
13572
|
),
|
|
13515
|
-
marketStatePresentation.timestampLabel ? /* @__PURE__ */ (0,
|
|
13516
|
-
marketStatePresentation.winningOutcomeLabel ? /* @__PURE__ */ (0,
|
|
13573
|
+
marketStatePresentation.timestampLabel ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Typography, { variant: "label", className: "text-agg-muted-foreground", children: marketStatePresentation.timestampLabel }) : null,
|
|
13574
|
+
marketStatePresentation.winningOutcomeLabel ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Typography, { variant: "label", className: "text-agg-muted-foreground", children: marketStatePresentation.winningOutcomeLabel }) : null
|
|
13517
13575
|
] }) : null
|
|
13518
13576
|
] })
|
|
13519
13577
|
] }),
|
|
13520
|
-
!compactHeader ? /* @__PURE__ */ (0,
|
|
13578
|
+
!compactHeader ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Typography, { as: "div", variant: "heading", className: "agg-market-headline shrink-0", children: formatProbabilityPercent(headlineProbability, formatPercent) }) : null
|
|
13521
13579
|
]
|
|
13522
13580
|
}
|
|
13523
13581
|
),
|
|
13524
|
-
marketTradingState.kind === "resolved" && marketTradingState.winningOutcome ? /* @__PURE__ */ (0,
|
|
13582
|
+
marketTradingState.kind === "resolved" && marketTradingState.winningOutcome ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "agg-outcomes flex w-full items-center justify-end md:w-auto md:shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
13525
13583
|
"span",
|
|
13526
13584
|
{
|
|
13527
13585
|
className: cn(
|
|
@@ -13534,7 +13592,7 @@ var MarketDetailsContent = ({
|
|
|
13534
13592
|
"border-transparent bg-agg-secondary-hover"
|
|
13535
13593
|
),
|
|
13536
13594
|
children: [
|
|
13537
|
-
/* @__PURE__ */ (0,
|
|
13595
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13538
13596
|
Icon,
|
|
13539
13597
|
{
|
|
13540
13598
|
name: marketTradingState.winningOutcome.label.trim().toLowerCase() === "yes" ? "check-circle" : "cross-circle",
|
|
@@ -13545,12 +13603,12 @@ var MarketDetailsContent = ({
|
|
|
13545
13603
|
)
|
|
13546
13604
|
}
|
|
13547
13605
|
),
|
|
13548
|
-
/* @__PURE__ */ (0,
|
|
13606
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Typography, { variant: "body", children: labels.eventMarketPage.resolvedOutcome(
|
|
13549
13607
|
resolvedWinningOutcomeLabel != null ? resolvedWinningOutcomeLabel : marketTradingState.winningOutcome.label
|
|
13550
13608
|
) })
|
|
13551
13609
|
]
|
|
13552
13610
|
}
|
|
13553
|
-
) }) : isUpcomingMarket ? /* @__PURE__ */ (0,
|
|
13611
|
+
) }) : isUpcomingMarket ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "agg-outcomes flex w-full items-center justify-end md:w-auto md:shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
13554
13612
|
"span",
|
|
13555
13613
|
{
|
|
13556
13614
|
className: cn(
|
|
@@ -13559,7 +13617,7 @@ var MarketDetailsContent = ({
|
|
|
13559
13617
|
resolveTradingStateBadgeClassName(marketTradingState.kind)
|
|
13560
13618
|
),
|
|
13561
13619
|
children: [
|
|
13562
|
-
/* @__PURE__ */ (0,
|
|
13620
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13563
13621
|
Icon,
|
|
13564
13622
|
{
|
|
13565
13623
|
name: marketStatePresentation.iconName,
|
|
@@ -13568,10 +13626,10 @@ var MarketDetailsContent = ({
|
|
|
13568
13626
|
"aria-hidden": "true"
|
|
13569
13627
|
}
|
|
13570
13628
|
),
|
|
13571
|
-
/* @__PURE__ */ (0,
|
|
13629
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { children: marketStatePresentation.badgeLabel })
|
|
13572
13630
|
]
|
|
13573
13631
|
}
|
|
13574
|
-
) }) : /* @__PURE__ */ (0,
|
|
13632
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13575
13633
|
"div",
|
|
13576
13634
|
{
|
|
13577
13635
|
className: "agg-outcomes flex w-full flex-wrap gap-2 md:w-auto md:shrink-0 md:flex-nowrap",
|
|
@@ -13580,7 +13638,7 @@ var MarketDetailsContent = ({
|
|
|
13580
13638
|
onKeyDown: (eventToHandle) => handleOutcomeKeyDown(eventToHandle),
|
|
13581
13639
|
children: headerOutcomeItems.map((item) => {
|
|
13582
13640
|
const isActiveOutcome = item.id === selectedOutcomeId;
|
|
13583
|
-
return /* @__PURE__ */ (0,
|
|
13641
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13584
13642
|
MarketDetailsOutcomeButton,
|
|
13585
13643
|
{
|
|
13586
13644
|
enforceFixedWidth: headerOutcomeVariant != null,
|
|
@@ -13607,8 +13665,8 @@ var MarketDetailsContent = ({
|
|
|
13607
13665
|
]
|
|
13608
13666
|
}
|
|
13609
13667
|
),
|
|
13610
|
-
headerAccessory ? /* @__PURE__ */ (0,
|
|
13611
|
-
/* @__PURE__ */ (0,
|
|
13668
|
+
headerAccessory ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "agg-market-card-accessory border-t border-agg-separator", children: headerAccessory }) : null,
|
|
13669
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13612
13670
|
"div",
|
|
13613
13671
|
{
|
|
13614
13672
|
id: detailsContentId,
|
|
@@ -13622,9 +13680,9 @@ var MarketDetailsContent = ({
|
|
|
13622
13680
|
isOpened ? "grid-rows-[1fr] opacity-100" : "pointer-events-none grid-rows-[0fr] opacity-0"
|
|
13623
13681
|
),
|
|
13624
13682
|
"aria-hidden": !isOpened,
|
|
13625
|
-
children: /* @__PURE__ */ (0,
|
|
13626
|
-
/* @__PURE__ */ (0,
|
|
13627
|
-
/* @__PURE__ */ (0,
|
|
13683
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "min-h-0", children: [
|
|
13684
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "h-px w-full bg-agg-separator" }),
|
|
13685
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
13628
13686
|
"div",
|
|
13629
13687
|
{
|
|
13630
13688
|
className: cn(
|
|
@@ -13638,8 +13696,8 @@ var MarketDetailsContent = ({
|
|
|
13638
13696
|
) : "translate-y-5 opacity-0"
|
|
13639
13697
|
),
|
|
13640
13698
|
children: [
|
|
13641
|
-
!isResolvedMarket ? /* @__PURE__ */ (0,
|
|
13642
|
-
/* @__PURE__ */ (0,
|
|
13699
|
+
!isResolvedMarket ? /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_jsx_runtime134.Fragment, { children: [
|
|
13700
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: cn("block", classNames == null ? void 0 : classNames.tabs), children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13643
13701
|
Tabs,
|
|
13644
13702
|
{
|
|
13645
13703
|
ariaLabel: labels.marketDetails.tabsAria,
|
|
@@ -13650,10 +13708,10 @@ var MarketDetailsContent = ({
|
|
|
13650
13708
|
className: "agg-market-tabs flex! w-full px-5"
|
|
13651
13709
|
}
|
|
13652
13710
|
) }),
|
|
13653
|
-
/* @__PURE__ */ (0,
|
|
13711
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "h-px w-full bg-agg-separator" })
|
|
13654
13712
|
] }) : null,
|
|
13655
|
-
/* @__PURE__ */ (0,
|
|
13656
|
-
effectiveSelectedTab === "order-book" ? /* @__PURE__ */ (0,
|
|
13713
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: cn("agg-market-card-body p-0", classNames == null ? void 0 : classNames.content), children: [
|
|
13714
|
+
effectiveSelectedTab === "order-book" ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13657
13715
|
OrderbookWithStates,
|
|
13658
13716
|
{
|
|
13659
13717
|
state: orderbookState,
|
|
@@ -13679,7 +13737,7 @@ var MarketDetailsContent = ({
|
|
|
13679
13737
|
wrapperClassName: classNames == null ? void 0 : classNames.orderBook
|
|
13680
13738
|
}
|
|
13681
13739
|
) : null,
|
|
13682
|
-
isOpened && effectiveSelectedTab === "graph" ? /* @__PURE__ */ (0,
|
|
13740
|
+
isOpened && effectiveSelectedTab === "graph" ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13683
13741
|
MarketDetailsGraphPanel,
|
|
13684
13742
|
{
|
|
13685
13743
|
venueMarkets: model.market.venueMarkets,
|
|
@@ -13695,13 +13753,13 @@ var MarketDetailsContent = ({
|
|
|
13695
13753
|
classNames: { graph: classNames == null ? void 0 : classNames.graph, footer: classNames == null ? void 0 : classNames.footer }
|
|
13696
13754
|
}
|
|
13697
13755
|
) : null,
|
|
13698
|
-
effectiveSelectedTab === "other" ? /* @__PURE__ */ (0,
|
|
13756
|
+
effectiveSelectedTab === "other" ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "agg-market-meta flex flex-col gap-4", children: otherContent != null ? otherContent : /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "agg-market-meta-list grid grid-cols-1 gap-3", children: otherRows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
13699
13757
|
"div",
|
|
13700
13758
|
{
|
|
13701
13759
|
className: "agg-market-meta-row flex items-center justify-between rounded-agg-xl bg-agg-secondary-hover px-4 py-3",
|
|
13702
13760
|
children: [
|
|
13703
|
-
/* @__PURE__ */ (0,
|
|
13704
|
-
/* @__PURE__ */ (0,
|
|
13761
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Typography, { variant: "label", className: "text-agg-muted-foreground", children: row.label }),
|
|
13762
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Typography, { variant: "body", className: "text-right", children: row.value })
|
|
13705
13763
|
]
|
|
13706
13764
|
},
|
|
13707
13765
|
row.label
|
|
@@ -13719,9 +13777,9 @@ var MarketDetailsContent = ({
|
|
|
13719
13777
|
};
|
|
13720
13778
|
var MarketDetails = (_a) => {
|
|
13721
13779
|
var _b = _a, { isOpened } = _b, props = __objRest(_b, ["isOpened"]);
|
|
13722
|
-
const labels = (0,
|
|
13780
|
+
const labels = (0, import_hooks45.useLabels)();
|
|
13723
13781
|
if (props.isLoading) {
|
|
13724
|
-
return /* @__PURE__ */ (0,
|
|
13782
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13725
13783
|
Skeleton,
|
|
13726
13784
|
{
|
|
13727
13785
|
view: "market-details-minified",
|
|
@@ -13731,7 +13789,7 @@ var MarketDetails = (_a) => {
|
|
|
13731
13789
|
);
|
|
13732
13790
|
}
|
|
13733
13791
|
if ("venueMarkets" in props && props.venueMarkets) {
|
|
13734
|
-
return /* @__PURE__ */ (0,
|
|
13792
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13735
13793
|
MarketDetailsContent,
|
|
13736
13794
|
__spreadProps(__spreadValues({}, props), {
|
|
13737
13795
|
isOpened,
|
|
@@ -13743,7 +13801,7 @@ var MarketDetails = (_a) => {
|
|
|
13743
13801
|
);
|
|
13744
13802
|
}
|
|
13745
13803
|
const { classNames: fallbackClassNames } = props;
|
|
13746
|
-
return /* @__PURE__ */ (0,
|
|
13804
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(MarketDetailsUnavailableState, { classNames: fallbackClassNames });
|
|
13747
13805
|
};
|
|
13748
13806
|
MarketDetails.displayName = "MarketDetails";
|
|
13749
13807
|
var AFFIRMATIVE_WINNER_LABELS = /* @__PURE__ */ new Set(["yes", "up", "buy", "long", "true"]);
|
|
@@ -13774,13 +13832,13 @@ var resolveIsResolvedEvent = (sourceMarkets, eventTradingState) => {
|
|
|
13774
13832
|
return eventTradingState.kind === "resolved";
|
|
13775
13833
|
}
|
|
13776
13834
|
if (sourceMarkets.length === 0) return false;
|
|
13777
|
-
return sourceMarkets.every((market) => (0,
|
|
13835
|
+
return sourceMarkets.every((market) => (0, import_hooks45.resolveMarketTradingState)(market).kind === "resolved");
|
|
13778
13836
|
};
|
|
13779
13837
|
var resolveResolvedWinnerMarketId = (sourceMarkets, eventTradingState) => {
|
|
13780
13838
|
var _a, _b, _c, _d, _e;
|
|
13781
13839
|
const preferredMarket = (_a = eventTradingState == null ? void 0 : eventTradingState.primaryMarket) != null ? _a : null;
|
|
13782
13840
|
if (preferredMarket && sourceMarkets.some((market) => market.id === preferredMarket.id)) {
|
|
13783
|
-
if ((0,
|
|
13841
|
+
if ((0, import_hooks45.resolveMarketTradingState)(preferredMarket).kind === "resolved") {
|
|
13784
13842
|
return preferredMarket.id;
|
|
13785
13843
|
}
|
|
13786
13844
|
}
|
|
@@ -13800,8 +13858,8 @@ var MarketDetailsList = ({
|
|
|
13800
13858
|
midpointsResult
|
|
13801
13859
|
}) => {
|
|
13802
13860
|
var _a, _b;
|
|
13803
|
-
const labels = (0,
|
|
13804
|
-
const tradingContext = (0,
|
|
13861
|
+
const labels = (0, import_hooks45.useLabels)();
|
|
13862
|
+
const tradingContext = (0, import_hooks45.useEventTradingContext)();
|
|
13805
13863
|
const selectedMarketId = (_a = tradingContext == null ? void 0 : tradingContext.selectedMarketId) != null ? _a : null;
|
|
13806
13864
|
const [expandedMarketId, setExpandedMarketId] = (0, import_react20.useState)(null);
|
|
13807
13865
|
const [areResolvedMarketsVisible, setAreResolvedMarketsVisible] = (0, import_react20.useState)(false);
|
|
@@ -13810,10 +13868,10 @@ var MarketDetailsList = ({
|
|
|
13810
13868
|
markets: rawMarkets,
|
|
13811
13869
|
isLoading,
|
|
13812
13870
|
error
|
|
13813
|
-
} = (0,
|
|
13871
|
+
} = (0, import_hooks45.useVenueMarkets)({
|
|
13814
13872
|
venueEventId: resolvedEventId,
|
|
13815
13873
|
enabled: !providedMarkets && !!resolvedEventId,
|
|
13816
|
-
status:
|
|
13874
|
+
status: import_hooks45.MarketStatus.open,
|
|
13817
13875
|
// Keep in lockstep with useEnrichedVenueEvent: limit is part of the React
|
|
13818
13876
|
// Query key, so a mismatch would fork the shared cache into two requests.
|
|
13819
13877
|
// fetchAll drains every page — events can exceed any single-page limit
|
|
@@ -13857,7 +13915,7 @@ var MarketDetailsList = ({
|
|
|
13857
13915
|
const resolved = [];
|
|
13858
13916
|
const closed = [];
|
|
13859
13917
|
sourceMarkets.forEach((market) => {
|
|
13860
|
-
const marketStateKind = (0,
|
|
13918
|
+
const marketStateKind = (0, import_hooks45.resolveMarketTradingState)(market).kind;
|
|
13861
13919
|
if (marketStateKind === "resolved") {
|
|
13862
13920
|
resolved.push(market);
|
|
13863
13921
|
return;
|
|
@@ -13885,10 +13943,10 @@ var MarketDetailsList = ({
|
|
|
13885
13943
|
const hasPrefetchedMarkets = !!providedMarkets || !!((_b = eventTradingState == null ? void 0 : eventTradingState.marketStates) == null ? void 0 : _b.length);
|
|
13886
13944
|
const midpointEligibleMarkets = (0, import_react20.useMemo)(() => {
|
|
13887
13945
|
return displayedMarkets.filter(
|
|
13888
|
-
(market) => (0,
|
|
13946
|
+
(market) => (0, import_hooks45.resolveMarketTradingState)(market).kind !== "resolved"
|
|
13889
13947
|
);
|
|
13890
13948
|
}, [displayedMarkets]);
|
|
13891
|
-
const { prices: midpointsFallback, venueByOutcomeId: midpointsFallbackVenues } = (0,
|
|
13949
|
+
const { prices: midpointsFallback, venueByOutcomeId: midpointsFallbackVenues } = (0, import_hooks45.useViewportMidpoints)(midpointEligibleMarkets);
|
|
13892
13950
|
(0, import_react20.useEffect)(() => {
|
|
13893
13951
|
if (isResolvedEvent) {
|
|
13894
13952
|
setAreResolvedMarketsVisible(false);
|
|
@@ -13907,7 +13965,7 @@ var MarketDetailsList = ({
|
|
|
13907
13965
|
return;
|
|
13908
13966
|
}
|
|
13909
13967
|
const fallbackSelectableMarket = displayedMarkets.find(
|
|
13910
|
-
(market) => !(0,
|
|
13968
|
+
(market) => !(0, import_hooks45.resolveMarketTradingState)(market).isTradingDisabled
|
|
13911
13969
|
);
|
|
13912
13970
|
if (!fallbackSelectableMarket) {
|
|
13913
13971
|
return;
|
|
@@ -13929,11 +13987,11 @@ var MarketDetailsList = ({
|
|
|
13929
13987
|
setExpandedMarketId(marketId);
|
|
13930
13988
|
onExpandedMarketChange == null ? void 0 : onExpandedMarketChange(marketId);
|
|
13931
13989
|
if (marketId === selectedMarketId) return;
|
|
13932
|
-
if ((0,
|
|
13990
|
+
if ((0, import_hooks45.resolveMarketTradingState)(market).isTradingDisabled) return;
|
|
13933
13991
|
tradingContext == null ? void 0 : tradingContext.selectMarket(market.id, market);
|
|
13934
13992
|
};
|
|
13935
13993
|
if (!hasPrefetchedMarkets && isLoading) {
|
|
13936
|
-
return /* @__PURE__ */ (0,
|
|
13994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13937
13995
|
Skeleton,
|
|
13938
13996
|
{
|
|
13939
13997
|
view: "market-details-minified",
|
|
@@ -13943,29 +14001,29 @@ var MarketDetailsList = ({
|
|
|
13943
14001
|
);
|
|
13944
14002
|
}
|
|
13945
14003
|
if (!hasPrefetchedMarkets && error) {
|
|
13946
|
-
return /* @__PURE__ */ (0,
|
|
14004
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13947
14005
|
StateMessage,
|
|
13948
14006
|
{
|
|
13949
14007
|
title: labels.marketDetails.unavailableTitle,
|
|
13950
14008
|
description: labels.marketDetails.unavailableDescription,
|
|
13951
|
-
icon: /* @__PURE__ */ (0,
|
|
14009
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(SearchEmptyIcon, {}),
|
|
13952
14010
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
13953
14011
|
}
|
|
13954
14012
|
);
|
|
13955
14013
|
}
|
|
13956
14014
|
if (displayedMarkets.length === 0 && !shouldShowResolvedToggle) {
|
|
13957
14015
|
const hasSourceMarkets = sourceMarkets.length > 0;
|
|
13958
|
-
return /* @__PURE__ */ (0,
|
|
14016
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13959
14017
|
StateMessage,
|
|
13960
14018
|
{
|
|
13961
14019
|
title: hasSourceMarkets ? isResolvedEvent ? labels.markets.emptyResolved : labels.markets.emptyNoOpen : labels.marketDetails.notFoundTitle,
|
|
13962
14020
|
description: hasSourceMarkets ? void 0 : labels.marketDetails.notFoundDescription,
|
|
13963
|
-
icon: /* @__PURE__ */ (0,
|
|
14021
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(SearchEmptyIcon, {}),
|
|
13964
14022
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
13965
14023
|
}
|
|
13966
14024
|
);
|
|
13967
14025
|
}
|
|
13968
|
-
const renderMarketCard = (market) => /* @__PURE__ */ (0,
|
|
14026
|
+
const renderMarketCard = (market) => /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13969
14027
|
MarketDetails,
|
|
13970
14028
|
{
|
|
13971
14029
|
marketId: market.id,
|
|
@@ -13992,9 +14050,9 @@ var MarketDetailsList = ({
|
|
|
13992
14050
|
midpointsResult
|
|
13993
14051
|
}
|
|
13994
14052
|
) }, market.id);
|
|
13995
|
-
return /* @__PURE__ */ (0,
|
|
14053
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: cn("agg-market-list flex flex-col gap-3", classNames == null ? void 0 : classNames.root), children: [
|
|
13996
14054
|
groupedMarkets.primary.map((market) => renderMarketCard(market)),
|
|
13997
|
-
shouldShowResolvedToggle ? /* @__PURE__ */ (0,
|
|
14055
|
+
shouldShowResolvedToggle ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
13998
14056
|
Button,
|
|
13999
14057
|
{
|
|
14000
14058
|
variant: "tertiary",
|
|
@@ -14004,7 +14062,7 @@ var MarketDetailsList = ({
|
|
|
14004
14062
|
setAreResolvedMarketsVisible((isVisible) => !isVisible);
|
|
14005
14063
|
},
|
|
14006
14064
|
"aria-expanded": areResolvedMarketsVisible,
|
|
14007
|
-
suffix: /* @__PURE__ */ (0,
|
|
14065
|
+
suffix: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
14008
14066
|
Icon,
|
|
14009
14067
|
{
|
|
14010
14068
|
name: areResolvedMarketsVisible ? "chevron-up" : "chevron-down",
|
|
@@ -14022,14 +14080,14 @@ var MarketDetailsList = ({
|
|
|
14022
14080
|
MarketDetailsList.displayName = "MarketDetailsList";
|
|
14023
14081
|
|
|
14024
14082
|
// src/events/list/index.tsx
|
|
14025
|
-
var
|
|
14026
|
-
var
|
|
14083
|
+
var import_hooks47 = require("@agg-build/hooks");
|
|
14084
|
+
var import_sdk16 = require("@agg-build/sdk");
|
|
14027
14085
|
var Dialog2 = __toESM(require("@radix-ui/react-dialog"));
|
|
14028
14086
|
var import_react23 = require("react");
|
|
14029
14087
|
|
|
14030
14088
|
// src/events/list/category-sidebar.tsx
|
|
14031
14089
|
var import_react21 = require("react");
|
|
14032
|
-
var
|
|
14090
|
+
var import_jsx_runtime135 = require("react/jsx-runtime");
|
|
14033
14091
|
var rowBase = cn(
|
|
14034
14092
|
"flex min-h-11 w-full items-center gap-3 rounded-[6px] px-3 py-3",
|
|
14035
14093
|
"text-left text-agg-sm font-agg-normal leading-agg-5",
|
|
@@ -14071,7 +14129,7 @@ var CategorySidebar = ({
|
|
|
14071
14129
|
}) => {
|
|
14072
14130
|
var _a, _b;
|
|
14073
14131
|
const hasKnownChildren = ((_b = (_a = childrenByParentId.get(entry.id)) == null ? void 0 : _a.length) != null ? _b : 0) > 0;
|
|
14074
|
-
return /* @__PURE__ */ (0,
|
|
14132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(
|
|
14075
14133
|
"button",
|
|
14076
14134
|
{
|
|
14077
14135
|
type: "button",
|
|
@@ -14079,8 +14137,8 @@ var CategorySidebar = ({
|
|
|
14079
14137
|
className: isSelected ? selectedRowClassName : idleRowClassName,
|
|
14080
14138
|
onClick,
|
|
14081
14139
|
children: [
|
|
14082
|
-
/* @__PURE__ */ (0,
|
|
14083
|
-
hasKnownChildren ? /* @__PURE__ */ (0,
|
|
14140
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("span", { className: "min-w-0 flex-1 truncate first-letter:uppercase", children: entry.label }),
|
|
14141
|
+
hasKnownChildren ? /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
14084
14142
|
Icon,
|
|
14085
14143
|
{
|
|
14086
14144
|
name: isExpanded ? "chevron-up" : "chevron-down",
|
|
@@ -14088,7 +14146,7 @@ var CategorySidebar = ({
|
|
|
14088
14146
|
color: "currentColor",
|
|
14089
14147
|
className: "shrink-0 text-agg-muted-foreground"
|
|
14090
14148
|
}
|
|
14091
|
-
) : /* @__PURE__ */ (0,
|
|
14149
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("span", { className: "shrink-0 text-agg-muted-foreground", children: entry.eventCount })
|
|
14092
14150
|
]
|
|
14093
14151
|
},
|
|
14094
14152
|
entry.id
|
|
@@ -14106,27 +14164,27 @@ var CategorySidebar = ({
|
|
|
14106
14164
|
const hasKnownChildren = childCategories.length > 0;
|
|
14107
14165
|
const isExpanded = ((_d = categoryPath[depth]) == null ? void 0 : _d.id) === category.id && !collapsedCategoryIds.has(category.id);
|
|
14108
14166
|
const isSelected = ((_e = categoryPath[depth]) == null ? void 0 : _e.id) === category.id && categoryPath.length === depth + 1;
|
|
14109
|
-
return /* @__PURE__ */ (0,
|
|
14167
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "flex w-full flex-col", children: [
|
|
14110
14168
|
renderRow({
|
|
14111
14169
|
entry,
|
|
14112
14170
|
isExpanded,
|
|
14113
14171
|
isSelected,
|
|
14114
14172
|
onClick: () => onToggleCategory({ entry, depth, hasKnownChildren, isExpanded, isSelected })
|
|
14115
14173
|
}),
|
|
14116
|
-
/* @__PURE__ */ (0,
|
|
14174
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
14117
14175
|
"div",
|
|
14118
14176
|
{
|
|
14119
14177
|
className: cn(
|
|
14120
14178
|
"grid transition-[grid-template-rows] duration-150 ease-in-out motion-reduce:transition-none",
|
|
14121
14179
|
isExpanded ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
|
|
14122
14180
|
),
|
|
14123
|
-
children: /* @__PURE__ */ (0,
|
|
14181
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: "flex w-full flex-col gap-1 pl-4 pt-1", children: childCategories.map((child) => renderBranch(child, depth + 1)) }) })
|
|
14124
14182
|
}
|
|
14125
14183
|
)
|
|
14126
14184
|
] }, category.id);
|
|
14127
14185
|
};
|
|
14128
|
-
return /* @__PURE__ */ (0,
|
|
14129
|
-
/* @__PURE__ */ (0,
|
|
14186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "flex w-full flex-col gap-1", children: [
|
|
14187
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(
|
|
14130
14188
|
"button",
|
|
14131
14189
|
{
|
|
14132
14190
|
type: "button",
|
|
@@ -14134,8 +14192,8 @@ var CategorySidebar = ({
|
|
|
14134
14192
|
className: !isDrilledIn ? selectedRowClassName : idleRowClassName,
|
|
14135
14193
|
onClick: onSelectAll,
|
|
14136
14194
|
children: [
|
|
14137
|
-
/* @__PURE__ */ (0,
|
|
14138
|
-
/* @__PURE__ */ (0,
|
|
14195
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("span", { className: "min-w-0 flex-1 truncate", children: labels.subcategoriesAll }),
|
|
14196
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)("span", { className: "shrink-0 text-agg-muted-foreground", children: totalEventCount })
|
|
14139
14197
|
]
|
|
14140
14198
|
}
|
|
14141
14199
|
),
|
|
@@ -14145,12 +14203,12 @@ var CategorySidebar = ({
|
|
|
14145
14203
|
CategorySidebar.displayName = "CategorySidebar";
|
|
14146
14204
|
|
|
14147
14205
|
// src/events/list/event-list-tabs.tsx
|
|
14148
|
-
var
|
|
14149
|
-
var
|
|
14206
|
+
var import_hooks46 = require("@agg-build/hooks");
|
|
14207
|
+
var import_sdk15 = require("@agg-build/sdk");
|
|
14150
14208
|
var import_react22 = require("react");
|
|
14151
14209
|
|
|
14152
14210
|
// src/events/list/event-list.constants.ts
|
|
14153
|
-
var
|
|
14211
|
+
var import_sdk14 = require("@agg-build/sdk");
|
|
14154
14212
|
var DEFAULT_EVENTS_LIMIT = 50;
|
|
14155
14213
|
var getDefaultEventListTabs = (labels) => {
|
|
14156
14214
|
return [
|
|
@@ -14158,7 +14216,7 @@ var getDefaultEventListTabs = (labels) => {
|
|
|
14158
14216
|
value: "matched",
|
|
14159
14217
|
label: labels.eventList.matchedTab,
|
|
14160
14218
|
iconName: "circle-overlap",
|
|
14161
|
-
matchStatus: [
|
|
14219
|
+
matchStatus: [import_sdk14.MatchStatus.matched, import_sdk14.MatchStatus.verified]
|
|
14162
14220
|
},
|
|
14163
14221
|
{
|
|
14164
14222
|
value: "all",
|
|
@@ -14166,64 +14224,70 @@ var getDefaultEventListTabs = (labels) => {
|
|
|
14166
14224
|
iconName: "apps"
|
|
14167
14225
|
},
|
|
14168
14226
|
{
|
|
14169
|
-
value:
|
|
14227
|
+
value: import_sdk14.Venue.polymarket,
|
|
14170
14228
|
label: labels.venues.polymarket,
|
|
14171
|
-
venueLogo:
|
|
14172
|
-
venues: [
|
|
14229
|
+
venueLogo: import_sdk14.Venue.polymarket,
|
|
14230
|
+
venues: [import_sdk14.Venue.polymarket]
|
|
14173
14231
|
},
|
|
14174
14232
|
{
|
|
14175
|
-
value:
|
|
14233
|
+
value: import_sdk14.Venue.kalshi,
|
|
14176
14234
|
label: labels.venues.kalshi,
|
|
14177
|
-
venueLogo:
|
|
14178
|
-
venues: [
|
|
14235
|
+
venueLogo: import_sdk14.Venue.kalshi,
|
|
14236
|
+
venues: [import_sdk14.Venue.kalshi]
|
|
14179
14237
|
},
|
|
14180
14238
|
{
|
|
14181
|
-
value:
|
|
14239
|
+
value: import_sdk14.Venue.limitless,
|
|
14182
14240
|
label: labels.venues.limitless,
|
|
14183
|
-
venueLogo:
|
|
14184
|
-
venues: [
|
|
14241
|
+
venueLogo: import_sdk14.Venue.limitless,
|
|
14242
|
+
venues: [import_sdk14.Venue.limitless]
|
|
14185
14243
|
},
|
|
14186
14244
|
{
|
|
14187
|
-
value:
|
|
14245
|
+
value: import_sdk14.Venue.predict,
|
|
14188
14246
|
label: labels.venues.predict,
|
|
14189
|
-
venueLogo:
|
|
14190
|
-
venues: [
|
|
14247
|
+
venueLogo: import_sdk14.Venue.predict,
|
|
14248
|
+
venues: [import_sdk14.Venue.predict]
|
|
14191
14249
|
},
|
|
14192
14250
|
{
|
|
14193
|
-
value:
|
|
14251
|
+
value: import_sdk14.Venue.hyperliquid,
|
|
14194
14252
|
label: labels.venues.hyperliquid,
|
|
14195
|
-
venueLogo:
|
|
14196
|
-
venues: [
|
|
14253
|
+
venueLogo: import_sdk14.Venue.hyperliquid,
|
|
14254
|
+
venues: [import_sdk14.Venue.hyperliquid]
|
|
14197
14255
|
// isComingSoon: true,
|
|
14198
14256
|
},
|
|
14199
14257
|
{
|
|
14200
|
-
value:
|
|
14258
|
+
value: import_sdk14.Venue.myriad,
|
|
14201
14259
|
label: labels.venues.myriad,
|
|
14202
|
-
venueLogo:
|
|
14203
|
-
venues: [
|
|
14260
|
+
venueLogo: import_sdk14.Venue.myriad,
|
|
14261
|
+
venues: [import_sdk14.Venue.myriad]
|
|
14204
14262
|
// isComingSoon: true,
|
|
14205
14263
|
},
|
|
14206
14264
|
{
|
|
14207
|
-
value:
|
|
14265
|
+
value: import_sdk14.Venue.novig,
|
|
14266
|
+
label: labels.venues.novig,
|
|
14267
|
+
venueLogo: import_sdk14.Venue.novig,
|
|
14268
|
+
venues: [import_sdk14.Venue.novig]
|
|
14269
|
+
},
|
|
14270
|
+
{
|
|
14271
|
+
value: import_sdk14.Venue.opinion,
|
|
14208
14272
|
label: labels.venues.opinion,
|
|
14209
|
-
venueLogo:
|
|
14210
|
-
venues: [
|
|
14273
|
+
venueLogo: import_sdk14.Venue.opinion,
|
|
14274
|
+
venues: [import_sdk14.Venue.opinion],
|
|
14211
14275
|
isComingSoon: true
|
|
14212
14276
|
}
|
|
14213
14277
|
];
|
|
14214
14278
|
};
|
|
14215
14279
|
|
|
14216
14280
|
// src/events/list/event-list-tabs.tsx
|
|
14217
|
-
var
|
|
14281
|
+
var import_jsx_runtime136 = require("react/jsx-runtime");
|
|
14218
14282
|
var renderTabIcon = (tab, isActive) => {
|
|
14219
14283
|
if (tab.iconName === "warning-filled") {
|
|
14220
|
-
return /* @__PURE__ */ (0,
|
|
14284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(Icon, { name: "warning-filled", size: "small", color: "currentColor" });
|
|
14221
14285
|
}
|
|
14222
14286
|
if (tab.venueLogo) {
|
|
14223
|
-
return /* @__PURE__ */ (0,
|
|
14287
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(VenueLogo, { venue: tab.venueLogo, size: "small" });
|
|
14224
14288
|
}
|
|
14225
14289
|
if (!tab.iconName) return null;
|
|
14226
|
-
return /* @__PURE__ */ (0,
|
|
14290
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
14227
14291
|
Icon,
|
|
14228
14292
|
{
|
|
14229
14293
|
name: tab.iconName,
|
|
@@ -14233,17 +14297,24 @@ var renderTabIcon = (tab, isActive) => {
|
|
|
14233
14297
|
);
|
|
14234
14298
|
};
|
|
14235
14299
|
var useEventListTabs = (tabs) => {
|
|
14236
|
-
const labels = (0,
|
|
14237
|
-
const { disabledVenues, isLoading: isAppConfigLoading } = (0,
|
|
14238
|
-
const { isLocationBlocked } = (0,
|
|
14300
|
+
const labels = (0, import_hooks46.useLabels)();
|
|
14301
|
+
const { disabledVenues, isLoading: isAppConfigLoading } = (0, import_hooks46.useAppConfig)();
|
|
14302
|
+
const { isLocationBlocked } = (0, import_hooks46.useGeoBlock)();
|
|
14239
14303
|
return (0, import_react22.useMemo)(() => {
|
|
14240
14304
|
const baseTabs = tabs != null ? tabs : getDefaultEventListTabs(labels);
|
|
14241
14305
|
return baseTabs.flatMap((tab) => {
|
|
14242
14306
|
if (!tab.venueLogo) return [tab];
|
|
14243
|
-
const availabilityState = (0,
|
|
14307
|
+
const availabilityState = (0, import_hooks46.getVenueAvailabilityState)({
|
|
14244
14308
|
venueId: tab.venueLogo,
|
|
14245
14309
|
disabledVenues,
|
|
14246
|
-
|
|
14310
|
+
// Compile-time-inactive venues (kalshi, novig) are hidden by default
|
|
14311
|
+
// and un-hidden per-environment by a *_DATA_VISIBLE flag, so their
|
|
14312
|
+
// disabled-ness is only known once `/app/config` resolves. Treating
|
|
14313
|
+
// them as hidden while it loads stops a tab flashing in and out where
|
|
14314
|
+
// the flag is unset. Keyed off the shared inactive-venue helper
|
|
14315
|
+
// rather than a venue name, so adding or retiring one needs no
|
|
14316
|
+
// change here.
|
|
14317
|
+
isConfigLoading: isAppConfigLoading && (0, import_sdk15.isVenueInactive)(tab.venueLogo),
|
|
14247
14318
|
isLocationBlocked
|
|
14248
14319
|
});
|
|
14249
14320
|
if (availabilityState === "hidden") return [];
|
|
@@ -14284,7 +14355,7 @@ var EventListTabs = ({
|
|
|
14284
14355
|
};
|
|
14285
14356
|
});
|
|
14286
14357
|
}, [activeTab, resolvedTabs]);
|
|
14287
|
-
return /* @__PURE__ */ (0,
|
|
14358
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
14288
14359
|
Tabs,
|
|
14289
14360
|
{
|
|
14290
14361
|
ariaLabel,
|
|
@@ -14299,7 +14370,7 @@ var EventListTabs = ({
|
|
|
14299
14370
|
EventListTabs.displayName = "EventListTabs";
|
|
14300
14371
|
|
|
14301
14372
|
// src/events/list/index.tsx
|
|
14302
|
-
var
|
|
14373
|
+
var import_jsx_runtime137 = require("react/jsx-runtime");
|
|
14303
14374
|
var SORT_ICON_BY_VALUE = {
|
|
14304
14375
|
volume24hr: "sort-volume-24hr",
|
|
14305
14376
|
topArbitrage: "sort-top-arbitrage",
|
|
@@ -14354,15 +14425,15 @@ var EventList = ({
|
|
|
14354
14425
|
stateRef
|
|
14355
14426
|
}) => {
|
|
14356
14427
|
var _a, _b, _c, _d, _e;
|
|
14357
|
-
const labels = (0,
|
|
14358
|
-
const { disabledVenues } = (0,
|
|
14428
|
+
const labels = (0, import_hooks47.useLabels)();
|
|
14429
|
+
const { disabledVenues } = (0, import_hooks47.useAppConfig)();
|
|
14359
14430
|
const {
|
|
14360
14431
|
features: { enableVenueEventDiscoveryFilters, showSportsMarkets }
|
|
14361
|
-
} = (0,
|
|
14432
|
+
} = (0, import_hooks47.useSdkUiConfig)();
|
|
14362
14433
|
const isDiscoveryFiltersEnabled = enableVenueEventDiscoveryFilters && !search;
|
|
14363
14434
|
const resolvedTabs = useEventListTabs();
|
|
14364
14435
|
const visibleVenues = (0, import_react23.useMemo)(
|
|
14365
|
-
() => disabledVenues.length === 0 ? void 0 : (0,
|
|
14436
|
+
() => disabledVenues.length === 0 ? void 0 : (0, import_hooks47.getVisibleVenueIdsByConfig)(import_sdk16.VENUES, disabledVenues),
|
|
14366
14437
|
[disabledVenues]
|
|
14367
14438
|
);
|
|
14368
14439
|
const [activeTabValue, setActiveTabValue] = (0, import_react23.useState)(
|
|
@@ -14377,22 +14448,22 @@ var EventList = ({
|
|
|
14377
14448
|
{
|
|
14378
14449
|
value: "volume24hr",
|
|
14379
14450
|
label: labels.eventList.sortBy24hVolume,
|
|
14380
|
-
icon: /* @__PURE__ */ (0,
|
|
14451
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Icon, { name: SORT_ICON_BY_VALUE.volume24hr, size: "small", color: "currentColor" })
|
|
14381
14452
|
},
|
|
14382
14453
|
{
|
|
14383
14454
|
value: "topArbitrage",
|
|
14384
14455
|
label: labels.eventList.sortByTopArbitrage,
|
|
14385
|
-
icon: /* @__PURE__ */ (0,
|
|
14456
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Icon, { name: SORT_ICON_BY_VALUE.topArbitrage, size: "small", color: "currentColor" })
|
|
14386
14457
|
},
|
|
14387
14458
|
{
|
|
14388
14459
|
value: "volume",
|
|
14389
14460
|
label: labels.eventList.sortByTotalVolume,
|
|
14390
|
-
icon: /* @__PURE__ */ (0,
|
|
14461
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Icon, { name: SORT_ICON_BY_VALUE.volume, size: "small", color: "currentColor" })
|
|
14391
14462
|
},
|
|
14392
14463
|
{
|
|
14393
14464
|
value: "endDate",
|
|
14394
14465
|
label: labels.eventList.sortByEndingSoon,
|
|
14395
|
-
icon: /* @__PURE__ */ (0,
|
|
14466
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Icon, { name: SORT_ICON_BY_VALUE.endDate, size: "small", color: "currentColor" })
|
|
14396
14467
|
}
|
|
14397
14468
|
];
|
|
14398
14469
|
}, [
|
|
@@ -14407,7 +14478,7 @@ var EventList = ({
|
|
|
14407
14478
|
setCategoryPath([]);
|
|
14408
14479
|
setCollapsedCategoryIds(/* @__PURE__ */ new Set());
|
|
14409
14480
|
}, [baseCategoryId, isDiscoveryFiltersEnabled]);
|
|
14410
|
-
const { categories: topLevelCategories } = (0,
|
|
14481
|
+
const { categories: topLevelCategories } = (0, import_hooks47.useCategories)({
|
|
14411
14482
|
queryKeyScope: "event-list-top-categories",
|
|
14412
14483
|
enabled: isDiscoveryFiltersEnabled,
|
|
14413
14484
|
limit: 100
|
|
@@ -14423,7 +14494,7 @@ var EventList = ({
|
|
|
14423
14494
|
])
|
|
14424
14495
|
);
|
|
14425
14496
|
}, [categoryPath, sortedTopLevelCategories]);
|
|
14426
|
-
const { childrenByParentId: baseChildrenByParentId } = (0,
|
|
14497
|
+
const { childrenByParentId: baseChildrenByParentId } = (0, import_hooks47.useCategoryChildren)({
|
|
14427
14498
|
queryKeyScope: "event-list-category-children",
|
|
14428
14499
|
enabled: isDiscoveryFiltersEnabled,
|
|
14429
14500
|
parentIds: baseCategoryChildPrefetchIds,
|
|
@@ -14444,7 +14515,7 @@ var EventList = ({
|
|
|
14444
14515
|
}
|
|
14445
14516
|
return Array.from(ids);
|
|
14446
14517
|
}, [baseCategoryId, baseChildrenByParentId, categoryPath]);
|
|
14447
|
-
const { childrenByParentId: visibleChildrenByParentId } = (0,
|
|
14518
|
+
const { childrenByParentId: visibleChildrenByParentId } = (0, import_hooks47.useCategoryChildren)({
|
|
14448
14519
|
queryKeyScope: "event-list-category-children",
|
|
14449
14520
|
enabled: isDiscoveryFiltersEnabled,
|
|
14450
14521
|
parentIds: visibleChildPrefetchIds,
|
|
@@ -14460,7 +14531,7 @@ var EventList = ({
|
|
|
14460
14531
|
}
|
|
14461
14532
|
return Array.from(ids);
|
|
14462
14533
|
}, [categoryPath, visibleChildrenByParentId]);
|
|
14463
|
-
const { childrenByParentId: visibleGrandchildrenByParentId } = (0,
|
|
14534
|
+
const { childrenByParentId: visibleGrandchildrenByParentId } = (0, import_hooks47.useCategoryChildren)({
|
|
14464
14535
|
queryKeyScope: "event-list-category-children",
|
|
14465
14536
|
enabled: isDiscoveryFiltersEnabled,
|
|
14466
14537
|
parentIds: visibleGrandchildPrefetchIds,
|
|
@@ -14516,14 +14587,14 @@ var EventList = ({
|
|
|
14516
14587
|
isFetchingNextPage,
|
|
14517
14588
|
isPlaceholderData,
|
|
14518
14589
|
loadedPageCount
|
|
14519
|
-
} = (0,
|
|
14590
|
+
} = (0, import_hooks47.useVenueEvents)({
|
|
14520
14591
|
queryKeyScope: "event-list",
|
|
14521
14592
|
venues,
|
|
14522
14593
|
search,
|
|
14523
14594
|
categoryIds: resolvedCategoryIds,
|
|
14524
14595
|
matchStatus,
|
|
14525
14596
|
limit: requestLimit,
|
|
14526
|
-
status: [
|
|
14597
|
+
status: [import_hooks47.MarketStatus.open],
|
|
14527
14598
|
sortBy: sortQueryParams.sortBy,
|
|
14528
14599
|
sortDir: sortQueryParams.sortDir,
|
|
14529
14600
|
endDateFrom,
|
|
@@ -14558,7 +14629,7 @@ var EventList = ({
|
|
|
14558
14629
|
const visibleMidpointVenueMarketIds = (0, import_react23.useMemo)(() => {
|
|
14559
14630
|
return collectMidpointVenueMarketIds(visibleVenueMarkets);
|
|
14560
14631
|
}, [visibleVenueMarkets]);
|
|
14561
|
-
const { midpointRows: sharedMidpointRows, isLoading: isSharedMidpointsLoading } = (0,
|
|
14632
|
+
const { midpointRows: sharedMidpointRows, isLoading: isSharedMidpointsLoading } = (0, import_hooks47.useVenueMarketMidpoints)({
|
|
14562
14633
|
venueMarketIds: visibleMidpointVenueMarketIds,
|
|
14563
14634
|
enabled: visibleMidpointVenueMarketIds.length > 0
|
|
14564
14635
|
});
|
|
@@ -14617,7 +14688,7 @@ var EventList = ({
|
|
|
14617
14688
|
onCategoryRootChange == null ? void 0 : onCategoryRootChange(baseCategoryId != null ? baseCategoryId : void 0);
|
|
14618
14689
|
};
|
|
14619
14690
|
if (shouldRenderLoadingState) {
|
|
14620
|
-
return /* @__PURE__ */ (0,
|
|
14691
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14621
14692
|
Skeleton,
|
|
14622
14693
|
{
|
|
14623
14694
|
view: "event-list",
|
|
@@ -14626,8 +14697,8 @@ var EventList = ({
|
|
|
14626
14697
|
}
|
|
14627
14698
|
);
|
|
14628
14699
|
}
|
|
14629
|
-
return /* @__PURE__ */ (0,
|
|
14630
|
-
/* @__PURE__ */ (0,
|
|
14700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("section", { className: "agg-event-list flex w-full flex-col gap-2 md:gap-5 t", children: [
|
|
14701
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(
|
|
14631
14702
|
"header",
|
|
14632
14703
|
{
|
|
14633
14704
|
className: cn(
|
|
@@ -14636,9 +14707,9 @@ var EventList = ({
|
|
|
14636
14707
|
"gap-2 sm:flex-row sm:items-center sm:gap-4"
|
|
14637
14708
|
),
|
|
14638
14709
|
children: [
|
|
14639
|
-
/* @__PURE__ */ (0,
|
|
14640
|
-
/* @__PURE__ */ (0,
|
|
14641
|
-
/* @__PURE__ */ (0,
|
|
14710
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { className: "agg-event-list-title min-w-32", children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Typography, { as: "h2", variant: "title", className: "truncate first-letter:uppercase", children: title2 }) }),
|
|
14711
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "hidden min-w-0 max-w-full items-center gap-3 md:flex", children: [
|
|
14712
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14642
14713
|
EventListTabs,
|
|
14643
14714
|
{
|
|
14644
14715
|
ariaLabel: labels.eventList.tabsAria(title2),
|
|
@@ -14648,7 +14719,7 @@ var EventList = ({
|
|
|
14648
14719
|
overflowBehavior: "scroll"
|
|
14649
14720
|
}
|
|
14650
14721
|
),
|
|
14651
|
-
/* @__PURE__ */ (0,
|
|
14722
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14652
14723
|
Select,
|
|
14653
14724
|
{
|
|
14654
14725
|
ariaLabel: labels.eventList.sortByLabel,
|
|
@@ -14664,8 +14735,8 @@ var EventList = ({
|
|
|
14664
14735
|
]
|
|
14665
14736
|
}
|
|
14666
14737
|
),
|
|
14667
|
-
/* @__PURE__ */ (0,
|
|
14668
|
-
/* @__PURE__ */ (0,
|
|
14738
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex w-full gap-2 md:hidden mb-3", children: [
|
|
14739
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14669
14740
|
EventListTabs,
|
|
14670
14741
|
{
|
|
14671
14742
|
ariaLabel: labels.eventList.tabsAria(title2),
|
|
@@ -14675,7 +14746,7 @@ var EventList = ({
|
|
|
14675
14746
|
overflowBehavior: "select"
|
|
14676
14747
|
}
|
|
14677
14748
|
),
|
|
14678
|
-
/* @__PURE__ */ (0,
|
|
14749
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14679
14750
|
Select,
|
|
14680
14751
|
{
|
|
14681
14752
|
ariaLabel: labels.eventList.sortByLabel,
|
|
@@ -14686,23 +14757,23 @@ var EventList = ({
|
|
|
14686
14757
|
contentClassName: "rounded-[12px] py-2 shadow-[0_8px_16px_rgba(0,0,0,0.1)]"
|
|
14687
14758
|
}
|
|
14688
14759
|
),
|
|
14689
|
-
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0,
|
|
14760
|
+
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14690
14761
|
"button",
|
|
14691
14762
|
{
|
|
14692
14763
|
type: "button",
|
|
14693
14764
|
className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-[8px] border-2 border-agg-primary bg-agg-secondary text-agg-foreground cursor-pointer",
|
|
14694
14765
|
"aria-label": labels.eventList.subcategoriesOpenAria,
|
|
14695
14766
|
onClick: () => setIsSubcategoriesModalOpen(true),
|
|
14696
|
-
children: /* @__PURE__ */ (0,
|
|
14767
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Icon, { name: "apps", size: "small", color: "currentColor" })
|
|
14697
14768
|
}
|
|
14698
14769
|
) : null
|
|
14699
14770
|
] }),
|
|
14700
|
-
/* @__PURE__ */ (0,
|
|
14771
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(
|
|
14701
14772
|
"div",
|
|
14702
14773
|
{
|
|
14703
14774
|
className: cn("flex w-full gap-6", shouldRenderSubcategoryFilters ? "md:items-start" : ""),
|
|
14704
14775
|
children: [
|
|
14705
|
-
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0,
|
|
14776
|
+
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("aside", { className: "hidden w-[200px] shrink-0 md:block self-start sticky top-4", children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { className: "agg-sidebar max-h-[calc(100vh-19rem)] overflow-y-auto rounded-[8px] border border-agg-separator bg-agg-secondary p-2", children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14706
14777
|
CategorySidebar,
|
|
14707
14778
|
{
|
|
14708
14779
|
baseCategoryId,
|
|
@@ -14715,7 +14786,7 @@ var EventList = ({
|
|
|
14715
14786
|
onToggleCategory: handleToggleSubcategory
|
|
14716
14787
|
}
|
|
14717
14788
|
) }) }) : null,
|
|
14718
|
-
/* @__PURE__ */ (0,
|
|
14789
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(
|
|
14719
14790
|
"div",
|
|
14720
14791
|
{
|
|
14721
14792
|
className: cn(
|
|
@@ -14726,7 +14797,7 @@ var EventList = ({
|
|
|
14726
14797
|
gridClassName
|
|
14727
14798
|
),
|
|
14728
14799
|
children: [
|
|
14729
|
-
tileEvents.map((event) => /* @__PURE__ */ (0,
|
|
14800
|
+
tileEvents.map((event) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14730
14801
|
EventListItem,
|
|
14731
14802
|
{
|
|
14732
14803
|
event,
|
|
@@ -14739,11 +14810,11 @@ var EventList = ({
|
|
|
14739
14810
|
onMarketClick,
|
|
14740
14811
|
getMarketHref,
|
|
14741
14812
|
href: getEventHref == null ? void 0 : getEventHref(event),
|
|
14742
|
-
marketStatus:
|
|
14813
|
+
marketStatus: import_hooks47.MarketStatus.open
|
|
14743
14814
|
},
|
|
14744
14815
|
event.id
|
|
14745
14816
|
)),
|
|
14746
|
-
shouldRenderPaginationLoadingItems ? Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ (0,
|
|
14817
|
+
shouldRenderPaginationLoadingItems ? Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14747
14818
|
EventListItem,
|
|
14748
14819
|
{
|
|
14749
14820
|
isLoading: true,
|
|
@@ -14753,20 +14824,20 @@ var EventList = ({
|
|
|
14753
14824
|
},
|
|
14754
14825
|
`loading-${index}`
|
|
14755
14826
|
)) : null,
|
|
14756
|
-
shouldRenderEmptyState ? /* @__PURE__ */ (0,
|
|
14827
|
+
shouldRenderEmptyState ? /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { className: "col-span-full w-full", children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14757
14828
|
StateMessage,
|
|
14758
14829
|
{
|
|
14759
14830
|
title: labels.eventList.emptyTitle,
|
|
14760
14831
|
description: labels.eventList.emptyDescription,
|
|
14761
|
-
icon: /* @__PURE__ */ (0,
|
|
14832
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Icon, { name: "search-empty" })
|
|
14762
14833
|
}
|
|
14763
14834
|
) }) : null,
|
|
14764
|
-
isError ? /* @__PURE__ */ (0,
|
|
14835
|
+
isError ? /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { className: "col-span-full w-full", children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14765
14836
|
StateMessage,
|
|
14766
14837
|
{
|
|
14767
14838
|
title: labels.eventList.errorTitle,
|
|
14768
14839
|
description: labels.eventList.errorDescription,
|
|
14769
|
-
icon: /* @__PURE__ */ (0,
|
|
14840
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Icon, { name: "warning" })
|
|
14770
14841
|
}
|
|
14771
14842
|
) }) : null
|
|
14772
14843
|
]
|
|
@@ -14775,7 +14846,7 @@ var EventList = ({
|
|
|
14775
14846
|
]
|
|
14776
14847
|
}
|
|
14777
14848
|
),
|
|
14778
|
-
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0,
|
|
14849
|
+
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Modal, { open: isSubcategoriesModalOpen, onOpenChange: setIsSubcategoriesModalOpen, children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14779
14850
|
Modal.Container,
|
|
14780
14851
|
{
|
|
14781
14852
|
classNames: {
|
|
@@ -14784,20 +14855,20 @@ var EventList = ({
|
|
|
14784
14855
|
content: "items-end p-0 pointer-events-none",
|
|
14785
14856
|
container: "w-full max-w-none border-0 bg-transparent shadow-none"
|
|
14786
14857
|
},
|
|
14787
|
-
children: /* @__PURE__ */ (0,
|
|
14788
|
-
/* @__PURE__ */ (0,
|
|
14789
|
-
/* @__PURE__ */ (0,
|
|
14790
|
-
/* @__PURE__ */ (0,
|
|
14791
|
-
/* @__PURE__ */ (0,
|
|
14858
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "pointer-events-auto w-full rounded-t-[12px] border border-agg-separator bg-agg-secondary", children: [
|
|
14859
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { className: "flex justify-center pb-1 pt-3", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { className: "h-1 w-10 rounded-full bg-agg-muted-foreground/30" }) }),
|
|
14860
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex items-center justify-between px-4 pb-2 pt-1", children: [
|
|
14861
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Dialog2.Title, { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.eventList.subcategoriesLabel }),
|
|
14862
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14792
14863
|
Dialog2.Close,
|
|
14793
14864
|
{
|
|
14794
14865
|
className: "flex cursor-pointer items-center justify-center rounded-full p-1 text-agg-muted-foreground hover:bg-agg-secondary-hover",
|
|
14795
14866
|
"aria-label": labels.common.close,
|
|
14796
|
-
children: /* @__PURE__ */ (0,
|
|
14867
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(CloseIcon, { className: "h-5 w-5" })
|
|
14797
14868
|
}
|
|
14798
14869
|
)
|
|
14799
14870
|
] }),
|
|
14800
|
-
/* @__PURE__ */ (0,
|
|
14871
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { className: "flex flex-col gap-1 px-4 pb-4", children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
14801
14872
|
CategorySidebar,
|
|
14802
14873
|
{
|
|
14803
14874
|
baseCategoryId,
|
|
@@ -14813,7 +14884,7 @@ var EventList = ({
|
|
|
14813
14884
|
] })
|
|
14814
14885
|
}
|
|
14815
14886
|
) }) : null,
|
|
14816
|
-
shouldPaginate && hasNextPage ? /* @__PURE__ */ (0,
|
|
14887
|
+
shouldPaginate && hasNextPage ? /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { ref: loadMoreRef, className: "agg-event-list-sentinel h-px w-full", "aria-hidden": true }) : null
|
|
14817
14888
|
] });
|
|
14818
14889
|
};
|
|
14819
14890
|
EventList.displayName = "EventList";
|