@agg-build/ui 4.9.2 → 4.11.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-TNNLRRHC.mjs → chunk-6EHT5OFU.mjs} +1 -1
- package/dist/{chunk-MVAOWNG3.mjs → chunk-CHM6SCOY.mjs} +19 -10
- package/dist/{chunk-GVIS3YXU.mjs → chunk-EYJS45RP.mjs} +35 -12
- package/dist/{chunk-GG57TRNE.mjs → chunk-I72YHWOI.mjs} +2 -2
- package/dist/{chunk-K6F2ZYNM.mjs → chunk-NCWBKC5C.mjs} +52 -21
- package/dist/{chunk-H7L4HDXS.mjs → chunk-TXQJUVRW.mjs} +3 -2
- package/dist/{chunk-NYL6A6AD.mjs → chunk-W7HQVQ22.mjs} +257 -195
- package/dist/events.js +766 -681
- package/dist/events.mjs +3 -3
- package/dist/index.js +2725 -2599
- package/dist/index.mjs +7 -7
- package/dist/modals.js +1352 -1289
- package/dist/modals.mjs +3 -3
- package/dist/pages.js +2085 -1959
- package/dist/pages.mjs +6 -6
- package/dist/primitives.js +288 -226
- package/dist/primitives.mjs +1 -1
- package/dist/trading.js +854 -760
- package/dist/trading.mjs +4 -4
- package/dist/types/events/item-details/event-list-item-details.types.d.mts +2 -0
- package/dist/types/events/item-details/event-list-item-details.types.d.ts +2 -0
- package/dist/types/events/list/event-list.constants.d.mts +1 -1
- package/dist/types/events/list/event-list.constants.d.ts +1 -1
- package/dist/types/pages/event-market/event-market.types.d.mts +2 -0
- package/dist/types/pages/event-market/event-market.types.d.ts +2 -0
- package/dist/types/pages/event-market/sports-event-market-page.d.mts +1 -1
- package/dist/types/pages/event-market/sports-event-market-page.d.ts +1 -1
- package/dist/types/pages/user-profile/user-profile.types.d.mts +2 -0
- package/dist/types/pages/user-profile/user-profile.types.d.ts +2 -0
- package/dist/types/primitives/venue-logo/svg/logo-pred.d.mts +10 -0
- package/dist/types/primitives/venue-logo/svg/logo-pred.d.ts +10 -0
- package/dist/types/trading/place-order/index.place-order.execution-view.d.mts +2 -1
- package/dist/types/trading/place-order/index.place-order.execution-view.d.ts +2 -1
- package/dist/types/trading/place-order/index.place-order.types.d.mts +8 -0
- package/dist/types/trading/place-order/index.place-order.types.d.ts +8 -0
- package/dist/types/trading/place-order/index.place-order.utils.d.mts +1 -1
- package/dist/types/trading/place-order/index.place-order.utils.d.ts +1 -1
- package/package.json +3 -3
package/dist/events.js
CHANGED
|
@@ -83,7 +83,7 @@ __export(events_exports, {
|
|
|
83
83
|
module.exports = __toCommonJS(events_exports);
|
|
84
84
|
|
|
85
85
|
// src/events/item/index.tsx
|
|
86
|
-
var
|
|
86
|
+
var import_hooks35 = require("@agg-build/hooks");
|
|
87
87
|
var import_react11 = require("react");
|
|
88
88
|
|
|
89
89
|
// src/constants.ts
|
|
@@ -5221,7 +5221,7 @@ var Skeleton = ({
|
|
|
5221
5221
|
Skeleton.displayName = "Skeleton";
|
|
5222
5222
|
|
|
5223
5223
|
// src/primitives/venue-logo/index.tsx
|
|
5224
|
-
var
|
|
5224
|
+
var import_hooks27 = require("@agg-build/hooks");
|
|
5225
5225
|
|
|
5226
5226
|
// src/primitives/venue-logo/venue-logo.constants.ts
|
|
5227
5227
|
var import_sdk12 = require("@agg-build/sdk");
|
|
@@ -5607,11 +5607,11 @@ var LogoPolymarketIcon = (_a) => {
|
|
|
5607
5607
|
};
|
|
5608
5608
|
LogoPolymarketIcon.displayName = "LogoPolymarketIcon";
|
|
5609
5609
|
|
|
5610
|
-
// src/primitives/venue-logo/svg/logo-
|
|
5610
|
+
// src/primitives/venue-logo/svg/logo-pred.tsx
|
|
5611
5611
|
var import_hooks23 = require("@agg-build/hooks");
|
|
5612
|
-
var import_sdk9 = require("@agg-build/sdk");
|
|
5613
5612
|
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
5614
|
-
var
|
|
5613
|
+
var PRED_LOGO_COLORS = { light: "#120C06", dark: "#F4FB37" };
|
|
5614
|
+
var LogoPredIcon = (_a) => {
|
|
5615
5615
|
var _b = _a, {
|
|
5616
5616
|
title: title2,
|
|
5617
5617
|
className,
|
|
@@ -5623,26 +5623,80 @@ var LogoPredictIcon = (_a) => {
|
|
|
5623
5623
|
"isColor",
|
|
5624
5624
|
"color"
|
|
5625
5625
|
]);
|
|
5626
|
-
var _a2;
|
|
5627
5626
|
const {
|
|
5628
5627
|
general: { theme }
|
|
5629
5628
|
} = (0, import_hooks23.useAggUiConfig)();
|
|
5630
5629
|
const isDarkTheme = theme === "dark";
|
|
5631
5630
|
const primaryColor = resolveLogoPrimaryColor({
|
|
5632
|
-
brandColor:
|
|
5631
|
+
brandColor: PRED_LOGO_COLORS[isDarkTheme ? "dark" : "light"],
|
|
5633
5632
|
isColor,
|
|
5634
5633
|
color
|
|
5635
5634
|
});
|
|
5636
5635
|
return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
|
|
5637
5636
|
"svg",
|
|
5638
5637
|
__spreadProps(__spreadValues(__spreadValues({
|
|
5639
|
-
viewBox: "0 0
|
|
5638
|
+
viewBox: "0 0 48 48",
|
|
5640
5639
|
className,
|
|
5641
5640
|
fill: "none"
|
|
5642
5641
|
}, getIconA11yProps(title2)), props), {
|
|
5643
5642
|
children: [
|
|
5644
5643
|
title2 ? /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("title", { children: title2 }) : null,
|
|
5645
5644
|
/* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
5645
|
+
"path",
|
|
5646
|
+
{
|
|
5647
|
+
d: "M13.2063 24.447L30.8869 21.6235L31.7298 19.898L4 10.4414L10.9436 16.4694L5.95218 41.9708L13.2063 24.447Z",
|
|
5648
|
+
fill: primaryColor
|
|
5649
|
+
}
|
|
5650
|
+
),
|
|
5651
|
+
/* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
5652
|
+
"path",
|
|
5653
|
+
{
|
|
5654
|
+
d: "M34.3927 24.0014L16.7121 26.8473L15.8691 28.5504L43.599 38.0294L36.6554 31.979L41.6468 6.5L34.3927 24.0014Z",
|
|
5655
|
+
fill: primaryColor
|
|
5656
|
+
}
|
|
5657
|
+
)
|
|
5658
|
+
]
|
|
5659
|
+
})
|
|
5660
|
+
);
|
|
5661
|
+
};
|
|
5662
|
+
LogoPredIcon.displayName = "LogoPredIcon";
|
|
5663
|
+
|
|
5664
|
+
// src/primitives/venue-logo/svg/logo-predict.tsx
|
|
5665
|
+
var import_hooks24 = require("@agg-build/hooks");
|
|
5666
|
+
var import_sdk9 = require("@agg-build/sdk");
|
|
5667
|
+
var import_jsx_runtime120 = require("react/jsx-runtime");
|
|
5668
|
+
var LogoPredictIcon = (_a) => {
|
|
5669
|
+
var _b = _a, {
|
|
5670
|
+
title: title2,
|
|
5671
|
+
className,
|
|
5672
|
+
isColor = true,
|
|
5673
|
+
color
|
|
5674
|
+
} = _b, props = __objRest(_b, [
|
|
5675
|
+
"title",
|
|
5676
|
+
"className",
|
|
5677
|
+
"isColor",
|
|
5678
|
+
"color"
|
|
5679
|
+
]);
|
|
5680
|
+
var _a2;
|
|
5681
|
+
const {
|
|
5682
|
+
general: { theme }
|
|
5683
|
+
} = (0, import_hooks24.useAggUiConfig)();
|
|
5684
|
+
const isDarkTheme = theme === "dark";
|
|
5685
|
+
const primaryColor = resolveLogoPrimaryColor({
|
|
5686
|
+
brandColor: (_a2 = resolveVenueLineColor(import_sdk9.Venue.predict, isDarkTheme)) != null ? _a2 : "#705bf6",
|
|
5687
|
+
isColor,
|
|
5688
|
+
color
|
|
5689
|
+
});
|
|
5690
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
|
|
5691
|
+
"svg",
|
|
5692
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
5693
|
+
viewBox: "0 0 100 100",
|
|
5694
|
+
className,
|
|
5695
|
+
fill: "none"
|
|
5696
|
+
}, getIconA11yProps(title2)), props), {
|
|
5697
|
+
children: [
|
|
5698
|
+
title2 ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("title", { children: title2 }) : null,
|
|
5699
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
5646
5700
|
"path",
|
|
5647
5701
|
{
|
|
5648
5702
|
fillRule: "evenodd",
|
|
@@ -5658,9 +5712,9 @@ var LogoPredictIcon = (_a) => {
|
|
|
5658
5712
|
LogoPredictIcon.displayName = "LogoPredictIcon";
|
|
5659
5713
|
|
|
5660
5714
|
// src/primitives/venue-logo/svg/logo-probable.tsx
|
|
5661
|
-
var
|
|
5715
|
+
var import_hooks25 = require("@agg-build/hooks");
|
|
5662
5716
|
var import_sdk10 = require("@agg-build/sdk");
|
|
5663
|
-
var
|
|
5717
|
+
var import_jsx_runtime121 = require("react/jsx-runtime");
|
|
5664
5718
|
var LogoProbableIcon = (_a) => {
|
|
5665
5719
|
var _b = _a, {
|
|
5666
5720
|
title: title2,
|
|
@@ -5676,14 +5730,14 @@ var LogoProbableIcon = (_a) => {
|
|
|
5676
5730
|
var _a2;
|
|
5677
5731
|
const {
|
|
5678
5732
|
general: { theme }
|
|
5679
|
-
} = (0,
|
|
5733
|
+
} = (0, import_hooks25.useAggUiConfig)();
|
|
5680
5734
|
const isDarkTheme = theme === "dark";
|
|
5681
5735
|
const primaryColor = resolveLogoPrimaryColor({
|
|
5682
5736
|
brandColor: (_a2 = resolveVenueLineColor(import_sdk10.Venue.probable, isDarkTheme)) != null ? _a2 : "#EC4899",
|
|
5683
5737
|
isColor,
|
|
5684
5738
|
color
|
|
5685
5739
|
});
|
|
5686
|
-
return /* @__PURE__ */ (0,
|
|
5740
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
|
|
5687
5741
|
"svg",
|
|
5688
5742
|
__spreadProps(__spreadValues(__spreadValues({
|
|
5689
5743
|
viewBox: "0 0 100 100",
|
|
@@ -5691,16 +5745,16 @@ var LogoProbableIcon = (_a) => {
|
|
|
5691
5745
|
fill: "none"
|
|
5692
5746
|
}, getIconA11yProps(title2)), props), {
|
|
5693
5747
|
children: [
|
|
5694
|
-
title2 ? /* @__PURE__ */ (0,
|
|
5695
|
-
/* @__PURE__ */ (0,
|
|
5748
|
+
title2 ? /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("title", { children: title2 }) : null,
|
|
5749
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
5696
5750
|
"path",
|
|
5697
5751
|
{
|
|
5698
5752
|
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",
|
|
5699
5753
|
fill: primaryColor
|
|
5700
5754
|
}
|
|
5701
5755
|
),
|
|
5702
|
-
/* @__PURE__ */ (0,
|
|
5703
|
-
/* @__PURE__ */ (0,
|
|
5756
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)("path", { d: "M90.9329 15.4546V30.4546H8.90234V15.4546H90.9329Z", fill: primaryColor }),
|
|
5757
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
5704
5758
|
"path",
|
|
5705
5759
|
{
|
|
5706
5760
|
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",
|
|
@@ -5714,10 +5768,10 @@ var LogoProbableIcon = (_a) => {
|
|
|
5714
5768
|
LogoProbableIcon.displayName = "LogoProbableIcon";
|
|
5715
5769
|
|
|
5716
5770
|
// src/primitives/venue-logo/svg/logo-prophetx.tsx
|
|
5717
|
-
var
|
|
5771
|
+
var import_hooks26 = require("@agg-build/hooks");
|
|
5718
5772
|
var import_sdk11 = require("@agg-build/sdk");
|
|
5719
5773
|
var import_react5 = require("react");
|
|
5720
|
-
var
|
|
5774
|
+
var import_jsx_runtime122 = require("react/jsx-runtime");
|
|
5721
5775
|
var LogoProphetXIcon = (_a) => {
|
|
5722
5776
|
var _b = _a, {
|
|
5723
5777
|
title: title2,
|
|
@@ -5733,7 +5787,7 @@ var LogoProphetXIcon = (_a) => {
|
|
|
5733
5787
|
var _a2;
|
|
5734
5788
|
const {
|
|
5735
5789
|
general: { theme }
|
|
5736
|
-
} = (0,
|
|
5790
|
+
} = (0, import_hooks26.useAggUiConfig)();
|
|
5737
5791
|
const isDarkTheme = theme === "dark";
|
|
5738
5792
|
const uid = (0, import_react5.useId)();
|
|
5739
5793
|
const primaryColor = resolveLogoPrimaryColor({
|
|
@@ -5745,7 +5799,7 @@ var LogoProphetXIcon = (_a) => {
|
|
|
5745
5799
|
const isMonochrome = !isColor || Boolean(color == null ? void 0 : color.trim());
|
|
5746
5800
|
const gradientTransform = "matrix(2.750846, 0, 0, 2.750846, -1935.152964, 138.485876)";
|
|
5747
5801
|
const fillFor = (n) => isMonochrome ? primaryColor : `url(#${uid}-${n})`;
|
|
5748
|
-
return /* @__PURE__ */ (0,
|
|
5802
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
5749
5803
|
"svg",
|
|
5750
5804
|
__spreadProps(__spreadValues(__spreadValues({
|
|
5751
5805
|
viewBox: "81.867 138.419 424.492 272.214",
|
|
@@ -5753,9 +5807,9 @@ var LogoProphetXIcon = (_a) => {
|
|
|
5753
5807
|
fill: "none"
|
|
5754
5808
|
}, getIconA11yProps(title2)), props), {
|
|
5755
5809
|
children: [
|
|
5756
|
-
title2 ? /* @__PURE__ */ (0,
|
|
5757
|
-
isMonochrome ? null : /* @__PURE__ */ (0,
|
|
5758
|
-
/* @__PURE__ */ (0,
|
|
5810
|
+
title2 ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("title", { children: title2 }) : null,
|
|
5811
|
+
isMonochrome ? null : /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("defs", { children: [
|
|
5812
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
5759
5813
|
"linearGradient",
|
|
5760
5814
|
{
|
|
5761
5815
|
id: `${uid}-0`,
|
|
@@ -5766,14 +5820,14 @@ var LogoProphetXIcon = (_a) => {
|
|
|
5766
5820
|
gradientUnits: "userSpaceOnUse",
|
|
5767
5821
|
gradientTransform,
|
|
5768
5822
|
children: [
|
|
5769
|
-
/* @__PURE__ */ (0,
|
|
5770
|
-
/* @__PURE__ */ (0,
|
|
5771
|
-
/* @__PURE__ */ (0,
|
|
5772
|
-
/* @__PURE__ */ (0,
|
|
5823
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("stop", { stopColor: "#1DC29A" }),
|
|
5824
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("stop", { offset: "0.1032", stopColor: "#19BE9D" }),
|
|
5825
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("stop", { offset: "0.6255", stopColor: "#06ADAA" }),
|
|
5826
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("stop", { offset: "1", stopColor: "#00A7AF" })
|
|
5773
5827
|
]
|
|
5774
5828
|
}
|
|
5775
5829
|
),
|
|
5776
|
-
/* @__PURE__ */ (0,
|
|
5830
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
5777
5831
|
"linearGradient",
|
|
5778
5832
|
{
|
|
5779
5833
|
id: `${uid}-1`,
|
|
@@ -5784,12 +5838,12 @@ var LogoProphetXIcon = (_a) => {
|
|
|
5784
5838
|
gradientUnits: "userSpaceOnUse",
|
|
5785
5839
|
gradientTransform,
|
|
5786
5840
|
children: [
|
|
5787
|
-
/* @__PURE__ */ (0,
|
|
5788
|
-
/* @__PURE__ */ (0,
|
|
5841
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("stop", { stopColor: "#1DC29A" }),
|
|
5842
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("stop", { offset: "1", stopColor: "#00A7AF" })
|
|
5789
5843
|
]
|
|
5790
5844
|
}
|
|
5791
5845
|
),
|
|
5792
|
-
/* @__PURE__ */ (0,
|
|
5846
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
5793
5847
|
"linearGradient",
|
|
5794
5848
|
{
|
|
5795
5849
|
id: `${uid}-2`,
|
|
@@ -5800,29 +5854,29 @@ var LogoProphetXIcon = (_a) => {
|
|
|
5800
5854
|
gradientUnits: "userSpaceOnUse",
|
|
5801
5855
|
gradientTransform,
|
|
5802
5856
|
children: [
|
|
5803
|
-
/* @__PURE__ */ (0,
|
|
5804
|
-
/* @__PURE__ */ (0,
|
|
5805
|
-
/* @__PURE__ */ (0,
|
|
5806
|
-
/* @__PURE__ */ (0,
|
|
5857
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("stop", { stopColor: "#1DC29A" }),
|
|
5858
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("stop", { offset: "0.3631", stopColor: "#18BD9E" }),
|
|
5859
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("stop", { offset: "0.802", stopColor: "#09AFA8" }),
|
|
5860
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("stop", { offset: "1", stopColor: "#00A7AF" })
|
|
5807
5861
|
]
|
|
5808
5862
|
}
|
|
5809
5863
|
)
|
|
5810
5864
|
] }),
|
|
5811
|
-
/* @__PURE__ */ (0,
|
|
5865
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
5812
5866
|
"path",
|
|
5813
5867
|
{
|
|
5814
5868
|
d: "M 282.449 326.493 L 332.847 402.716 L 426.472 402.716 L 344.879 279.66 L 282.449 326.493 Z",
|
|
5815
5869
|
fill: fillFor(0)
|
|
5816
5870
|
}
|
|
5817
5871
|
),
|
|
5818
|
-
/* @__PURE__ */ (0,
|
|
5872
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
5819
5873
|
"path",
|
|
5820
5874
|
{
|
|
5821
5875
|
d: "M 379.966 146.995 L 389.569 161.125 L 313.636 218.145 L 307.055 222.927 L 244.624 269.759 L 238 274.873 L 162.069 331.56 L 152.804 317.473 L 87.353 402.71 L 209.197 402.71 L 199.888 388.287 L 275.818 331.56 L 282.443 326.488 L 344.873 279.655 L 351.456 274.832 L 427.388 218.145 L 436.694 232.232 L 502.101 146.995 L 379.966 146.995 Z",
|
|
5822
5876
|
fill: fillFor(1)
|
|
5823
5877
|
}
|
|
5824
5878
|
),
|
|
5825
|
-
/* @__PURE__ */ (0,
|
|
5879
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
5826
5880
|
"path",
|
|
5827
5881
|
{
|
|
5828
5882
|
d: "M 162.993 146.995 L 244.624 269.759 L 307.055 222.927 L 256.323 146.995 L 162.993 146.995 Z",
|
|
@@ -5841,6 +5895,7 @@ var venueLogoRegistry = {
|
|
|
5841
5895
|
[import_sdk12.Venue.limitless]: LogoLimitlessIcon,
|
|
5842
5896
|
[import_sdk12.Venue.opinion]: LogoOpinionIcon,
|
|
5843
5897
|
[import_sdk12.Venue.polymarket]: LogoPolymarketIcon,
|
|
5898
|
+
[import_sdk12.Venue.pred]: LogoPredIcon,
|
|
5844
5899
|
[import_sdk12.Venue.predict]: LogoPredictIcon,
|
|
5845
5900
|
[import_sdk12.Venue.probable]: LogoProbableIcon,
|
|
5846
5901
|
[import_sdk12.Venue.myriad]: LogoMyriadIcon,
|
|
@@ -5855,6 +5910,9 @@ var venueLogoUrlRegistry = {
|
|
|
5855
5910
|
[import_sdk12.Venue.limitless]: `${VENUE_LOGO_BASE_URL}/limitless.png`,
|
|
5856
5911
|
[import_sdk12.Venue.opinion]: `${VENUE_LOGO_BASE_URL}/opinion.png`,
|
|
5857
5912
|
[import_sdk12.Venue.polymarket]: `${VENUE_LOGO_BASE_URL}/polymarket.png`,
|
|
5913
|
+
// PRED does not yet have a mirrored Snag asset. Its official production
|
|
5914
|
+
// favicon is the same square brand mark used by the application itself.
|
|
5915
|
+
[import_sdk12.Venue.pred]: "https://mainnet-assets.pred.app/assets/vite-oruAfoK1.svg",
|
|
5858
5916
|
[import_sdk12.Venue.predict]: `${VENUE_LOGO_BASE_URL}/predict.png`,
|
|
5859
5917
|
[import_sdk12.Venue.probable]: `${VENUE_LOGO_BASE_URL}/probable.png`,
|
|
5860
5918
|
[import_sdk12.Venue.myriad]: `${VENUE_LOGO_BASE_URL}/myriad.png`,
|
|
@@ -5870,6 +5928,7 @@ var venueLogoLabels = {
|
|
|
5870
5928
|
[import_sdk12.Venue.limitless]: "Limitless",
|
|
5871
5929
|
[import_sdk12.Venue.opinion]: "Opinion",
|
|
5872
5930
|
[import_sdk12.Venue.polymarket]: "Polymarket",
|
|
5931
|
+
[import_sdk12.Venue.pred]: "PRED",
|
|
5873
5932
|
[import_sdk12.Venue.predict]: "Predict",
|
|
5874
5933
|
[import_sdk12.Venue.probable]: "Probable",
|
|
5875
5934
|
[import_sdk12.Venue.myriad]: "Myriad",
|
|
@@ -5890,6 +5949,8 @@ var lineColorByVenue = {
|
|
|
5890
5949
|
[import_sdk12.Venue.limitless]: "#C4FF00",
|
|
5891
5950
|
[import_sdk12.Venue.opinion]: "#000000",
|
|
5892
5951
|
[import_sdk12.Venue.polymarket]: "#2E5CFF",
|
|
5952
|
+
// On light surfaces use the dark half of PRED's official yellow/dark mark.
|
|
5953
|
+
[import_sdk12.Venue.pred]: PRED_LOGO_COLORS.light,
|
|
5893
5954
|
[import_sdk12.Venue.predict]: "#6D57F8",
|
|
5894
5955
|
[import_sdk12.Venue.probable]: "#F05923",
|
|
5895
5956
|
[import_sdk12.Venue.myriad]: "#000000",
|
|
@@ -5909,6 +5970,7 @@ var lineColorByVenue = {
|
|
|
5909
5970
|
[import_sdk12.Venue.limitless]: "#C4FF00",
|
|
5910
5971
|
[import_sdk12.Venue.opinion]: "#FFFFFF",
|
|
5911
5972
|
[import_sdk12.Venue.polymarket]: "#2E5CFF",
|
|
5973
|
+
[import_sdk12.Venue.pred]: PRED_LOGO_COLORS.dark,
|
|
5912
5974
|
[import_sdk12.Venue.predict]: "#6D57F8",
|
|
5913
5975
|
[import_sdk12.Venue.probable]: "#F05923",
|
|
5914
5976
|
[import_sdk12.Venue.myriad]: "#FFFFFF",
|
|
@@ -5953,7 +6015,7 @@ var resolveVenueLogoIsColor = ({
|
|
|
5953
6015
|
};
|
|
5954
6016
|
|
|
5955
6017
|
// src/primitives/venue-logo/index.tsx
|
|
5956
|
-
var
|
|
6018
|
+
var import_jsx_runtime123 = require("react/jsx-runtime");
|
|
5957
6019
|
var VenueLogo = ({
|
|
5958
6020
|
venue,
|
|
5959
6021
|
variant = "icon",
|
|
@@ -5966,7 +6028,7 @@ var VenueLogo = ({
|
|
|
5966
6028
|
title: title2
|
|
5967
6029
|
}) => {
|
|
5968
6030
|
var _a, _b;
|
|
5969
|
-
const labels = (0,
|
|
6031
|
+
const labels = (0, import_hooks27.useLabels)();
|
|
5970
6032
|
const sizeClass = sizeClasses2[size];
|
|
5971
6033
|
const resolvedLabel = resolveVenueLogoLabel({
|
|
5972
6034
|
ariaLabel,
|
|
@@ -5979,7 +6041,7 @@ var VenueLogo = ({
|
|
|
5979
6041
|
console.warn(`[AggUI] Unknown venue "${venue}" \u2014 using default logo`);
|
|
5980
6042
|
}
|
|
5981
6043
|
if (variant === "logo") {
|
|
5982
|
-
return /* @__PURE__ */ (0,
|
|
6044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
5983
6045
|
RemoteImage,
|
|
5984
6046
|
{
|
|
5985
6047
|
src: (_a = venueLogoUrlRegistry[venue]) != null ? _a : DEFAULT_VENUE_LOGO_URL,
|
|
@@ -5994,7 +6056,7 @@ var VenueLogo = ({
|
|
|
5994
6056
|
isColor,
|
|
5995
6057
|
isMonochromatic
|
|
5996
6058
|
});
|
|
5997
|
-
return /* @__PURE__ */ (0,
|
|
6059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
5998
6060
|
Component,
|
|
5999
6061
|
{
|
|
6000
6062
|
className: cn("group/agg-venue-logo", "shrink-0", sizeClass, className),
|
|
@@ -6130,7 +6192,7 @@ var resolveEventHeading = ({
|
|
|
6130
6192
|
};
|
|
6131
6193
|
|
|
6132
6194
|
// src/events/item/event-list-item.utils.ts
|
|
6133
|
-
var
|
|
6195
|
+
var import_hooks28 = require("@agg-build/hooks");
|
|
6134
6196
|
|
|
6135
6197
|
// src/events/shared/venue-market-cluster.ts
|
|
6136
6198
|
var toNonEmptyString = (value) => {
|
|
@@ -6298,11 +6360,11 @@ var formatPriceGapPercent = (value, mode = "percent") => {
|
|
|
6298
6360
|
if (value <= 0) return void 0;
|
|
6299
6361
|
if (mode === "fraction") {
|
|
6300
6362
|
const percentageValue = value * 100;
|
|
6301
|
-
if (percentageValue <
|
|
6363
|
+
if (percentageValue < import_hooks28.MIN_PRICE_GAP_PCT) return void 0;
|
|
6302
6364
|
return `${Math.round(percentageValue)}%`;
|
|
6303
6365
|
}
|
|
6304
|
-
if (value <
|
|
6305
|
-
if (value >
|
|
6366
|
+
if (value < import_hooks28.MIN_PRICE_GAP_PCT) return void 0;
|
|
6367
|
+
if (value > import_hooks28.MAX_PRICE_GAP_PCT) return void 0;
|
|
6306
6368
|
return `${Math.round(value)}%`;
|
|
6307
6369
|
};
|
|
6308
6370
|
var sortOutcomes = (outcomes) => {
|
|
@@ -6386,7 +6448,7 @@ var resolveDisplayVolume = (eventVolume, venueMarkets) => {
|
|
|
6386
6448
|
};
|
|
6387
6449
|
|
|
6388
6450
|
// src/primitives/loading-icon/index.tsx
|
|
6389
|
-
var
|
|
6451
|
+
var import_hooks29 = require("@agg-build/hooks");
|
|
6390
6452
|
|
|
6391
6453
|
// src/primitives/loading-icon/loading-icon.constants.ts
|
|
6392
6454
|
var LOADING_ICON_DEFAULT_SIZE = "medium";
|
|
@@ -6404,18 +6466,18 @@ var resolveLoadingIconAriaLabel = ({
|
|
|
6404
6466
|
};
|
|
6405
6467
|
|
|
6406
6468
|
// src/primitives/loading-icon/index.tsx
|
|
6407
|
-
var
|
|
6469
|
+
var import_jsx_runtime124 = require("react/jsx-runtime");
|
|
6408
6470
|
var LoadingIcon = ({
|
|
6409
6471
|
size = LOADING_ICON_DEFAULT_SIZE,
|
|
6410
6472
|
variant = "default",
|
|
6411
6473
|
className,
|
|
6412
6474
|
ariaLabel
|
|
6413
6475
|
}) => {
|
|
6414
|
-
const labels = (0,
|
|
6476
|
+
const labels = (0, import_hooks29.useLabels)();
|
|
6415
6477
|
const {
|
|
6416
6478
|
features: { enableAnimations }
|
|
6417
|
-
} = (0,
|
|
6418
|
-
return /* @__PURE__ */ (0,
|
|
6479
|
+
} = (0, import_hooks29.useSdkUiConfig)();
|
|
6480
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6419
6481
|
"span",
|
|
6420
6482
|
{
|
|
6421
6483
|
role: "status",
|
|
@@ -6428,7 +6490,7 @@ var LoadingIcon = ({
|
|
|
6428
6490
|
"inline-grid place-items-center text-agg-primary will-change-transform",
|
|
6429
6491
|
className
|
|
6430
6492
|
),
|
|
6431
|
-
children: /* @__PURE__ */ (0,
|
|
6493
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("span", { className: "inline-grid place-items-center", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6432
6494
|
"svg",
|
|
6433
6495
|
{
|
|
6434
6496
|
viewBox: LOADING_ICON_SVG_VIEW_BOX,
|
|
@@ -6436,8 +6498,8 @@ var LoadingIcon = ({
|
|
|
6436
6498
|
"block",
|
|
6437
6499
|
variant === "prominent" ? LOADING_ICON_PROMINENT_FRAME_CLASS : iconSizeClasses[size]
|
|
6438
6500
|
),
|
|
6439
|
-
children: variant === "prominent" ? /* @__PURE__ */ (0,
|
|
6440
|
-
enableAnimations ? /* @__PURE__ */ (0,
|
|
6501
|
+
children: variant === "prominent" ? /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("g", { children: [
|
|
6502
|
+
enableAnimations ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6441
6503
|
"animateTransform",
|
|
6442
6504
|
{
|
|
6443
6505
|
attributeName: "transform",
|
|
@@ -6449,7 +6511,7 @@ var LoadingIcon = ({
|
|
|
6449
6511
|
repeatCount: "indefinite"
|
|
6450
6512
|
}
|
|
6451
6513
|
) : null,
|
|
6452
|
-
/* @__PURE__ */ (0,
|
|
6514
|
+
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6453
6515
|
"circle",
|
|
6454
6516
|
{
|
|
6455
6517
|
cx: "22",
|
|
@@ -6463,8 +6525,8 @@ var LoadingIcon = ({
|
|
|
6463
6525
|
strokeDasharray: LOADING_ICON_PROMINENT_DASHARRAY
|
|
6464
6526
|
}
|
|
6465
6527
|
)
|
|
6466
|
-
] }) : /* @__PURE__ */ (0,
|
|
6467
|
-
enableAnimations ? /* @__PURE__ */ (0,
|
|
6528
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("g", { children: [
|
|
6529
|
+
enableAnimations ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6468
6530
|
"animateTransform",
|
|
6469
6531
|
{
|
|
6470
6532
|
attributeName: "transform",
|
|
@@ -6476,7 +6538,7 @@ var LoadingIcon = ({
|
|
|
6476
6538
|
repeatCount: "indefinite"
|
|
6477
6539
|
}
|
|
6478
6540
|
) : null,
|
|
6479
|
-
/* @__PURE__ */ (0,
|
|
6541
|
+
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6480
6542
|
"circle",
|
|
6481
6543
|
{
|
|
6482
6544
|
cx: "22",
|
|
@@ -6488,8 +6550,8 @@ var LoadingIcon = ({
|
|
|
6488
6550
|
strokeLinecap: "round",
|
|
6489
6551
|
strokeDasharray: "60 100",
|
|
6490
6552
|
strokeDashoffset: "0",
|
|
6491
|
-
children: enableAnimations ? /* @__PURE__ */ (0,
|
|
6492
|
-
/* @__PURE__ */ (0,
|
|
6553
|
+
children: enableAnimations ? /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
|
|
6554
|
+
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6493
6555
|
"animate",
|
|
6494
6556
|
{
|
|
6495
6557
|
attributeName: "stroke-dasharray",
|
|
@@ -6498,7 +6560,7 @@ var LoadingIcon = ({
|
|
|
6498
6560
|
repeatCount: "indefinite"
|
|
6499
6561
|
}
|
|
6500
6562
|
),
|
|
6501
|
-
/* @__PURE__ */ (0,
|
|
6563
|
+
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6502
6564
|
"animate",
|
|
6503
6565
|
{
|
|
6504
6566
|
attributeName: "stroke-dashoffset",
|
|
@@ -6519,7 +6581,7 @@ var LoadingIcon = ({
|
|
|
6519
6581
|
LoadingIcon.displayName = "LoadingIcon";
|
|
6520
6582
|
|
|
6521
6583
|
// src/primitives/modal/index.tsx
|
|
6522
|
-
var
|
|
6584
|
+
var import_hooks30 = require("@agg-build/hooks");
|
|
6523
6585
|
var Dialog = __toESM(require("@radix-ui/react-dialog"));
|
|
6524
6586
|
|
|
6525
6587
|
// src/primitives/modal/modal.constants.ts
|
|
@@ -6543,7 +6605,7 @@ var resolveModalCloseIcon = ({
|
|
|
6543
6605
|
};
|
|
6544
6606
|
|
|
6545
6607
|
// src/primitives/modal/index.tsx
|
|
6546
|
-
var
|
|
6608
|
+
var import_jsx_runtime125 = require("react/jsx-runtime");
|
|
6547
6609
|
var Modal = ({
|
|
6548
6610
|
open,
|
|
6549
6611
|
onOpenChange,
|
|
@@ -6551,7 +6613,7 @@ var Modal = ({
|
|
|
6551
6613
|
"aria-label": _ariaLabel,
|
|
6552
6614
|
"aria-labelledby": _ariaLabelledBy
|
|
6553
6615
|
}) => {
|
|
6554
|
-
return /* @__PURE__ */ (0,
|
|
6616
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Dialog.Root, { open, onOpenChange, children });
|
|
6555
6617
|
};
|
|
6556
6618
|
var ModalContainer = ({
|
|
6557
6619
|
children,
|
|
@@ -6563,11 +6625,11 @@ var ModalContainer = ({
|
|
|
6563
6625
|
const {
|
|
6564
6626
|
general: { rootClassName },
|
|
6565
6627
|
features: { enableAnimations }
|
|
6566
|
-
} = (0,
|
|
6628
|
+
} = (0, import_hooks30.useSdkUiConfig)();
|
|
6567
6629
|
const overlayAnimationClassName = resolveModalOverlayAnimationClassName(enableAnimations);
|
|
6568
6630
|
const panelAnimationClassName = resolveModalPanelAnimationClassName(enableAnimations);
|
|
6569
|
-
return /* @__PURE__ */ (0,
|
|
6570
|
-
/* @__PURE__ */ (0,
|
|
6631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(Dialog.Portal, { children: [
|
|
6632
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6571
6633
|
Dialog.Overlay,
|
|
6572
6634
|
{
|
|
6573
6635
|
className: cn(
|
|
@@ -6578,7 +6640,7 @@ var ModalContainer = ({
|
|
|
6578
6640
|
)
|
|
6579
6641
|
}
|
|
6580
6642
|
),
|
|
6581
|
-
/* @__PURE__ */ (0,
|
|
6643
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6582
6644
|
Dialog.Content,
|
|
6583
6645
|
{
|
|
6584
6646
|
className: cn(
|
|
@@ -6604,7 +6666,7 @@ var ModalContainer = ({
|
|
|
6604
6666
|
event.preventDefault();
|
|
6605
6667
|
}
|
|
6606
6668
|
},
|
|
6607
|
-
children: /* @__PURE__ */ (0,
|
|
6669
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6608
6670
|
"div",
|
|
6609
6671
|
{
|
|
6610
6672
|
className: cn(
|
|
@@ -6613,7 +6675,7 @@ var ModalContainer = ({
|
|
|
6613
6675
|
"flex h-full min-h-0 w-full justify-center p-0 md:p-5",
|
|
6614
6676
|
classNames == null ? void 0 : classNames.center
|
|
6615
6677
|
),
|
|
6616
|
-
children: /* @__PURE__ */ (0,
|
|
6678
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6617
6679
|
"div",
|
|
6618
6680
|
{
|
|
6619
6681
|
className: cn(
|
|
@@ -6653,14 +6715,14 @@ var ModalHeader = ({
|
|
|
6653
6715
|
}) => {
|
|
6654
6716
|
const {
|
|
6655
6717
|
features: { enableAnimations }
|
|
6656
|
-
} = (0,
|
|
6657
|
-
const labels = (0,
|
|
6658
|
-
const defaultCloseIcon = /* @__PURE__ */ (0,
|
|
6718
|
+
} = (0, import_hooks30.useSdkUiConfig)();
|
|
6719
|
+
const labels = (0, import_hooks30.useLabels)();
|
|
6720
|
+
const defaultCloseIcon = /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(CloseIcon, { className: "h-6 w-6" });
|
|
6659
6721
|
const resolvedCloseIcon = resolveModalCloseIcon({
|
|
6660
6722
|
closeIcon,
|
|
6661
6723
|
defaultCloseIcon
|
|
6662
6724
|
});
|
|
6663
|
-
return /* @__PURE__ */ (0,
|
|
6725
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
6664
6726
|
"div",
|
|
6665
6727
|
{
|
|
6666
6728
|
className: cn(
|
|
@@ -6673,7 +6735,7 @@ var ModalHeader = ({
|
|
|
6673
6735
|
classNames == null ? void 0 : classNames.root
|
|
6674
6736
|
),
|
|
6675
6737
|
children: [
|
|
6676
|
-
/* @__PURE__ */ (0,
|
|
6738
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
6677
6739
|
"div",
|
|
6678
6740
|
{
|
|
6679
6741
|
className: cn(
|
|
@@ -6686,8 +6748,8 @@ var ModalHeader = ({
|
|
|
6686
6748
|
classNames == null ? void 0 : classNames.container
|
|
6687
6749
|
),
|
|
6688
6750
|
children: [
|
|
6689
|
-
leftElement ? /* @__PURE__ */ (0,
|
|
6690
|
-
/* @__PURE__ */ (0,
|
|
6751
|
+
leftElement ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_jsx_runtime125.Fragment, { children: leftElement }) : null,
|
|
6752
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
6691
6753
|
"div",
|
|
6692
6754
|
{
|
|
6693
6755
|
className: cn(
|
|
@@ -6696,7 +6758,7 @@ var ModalHeader = ({
|
|
|
6696
6758
|
classNames == null ? void 0 : classNames.titleContainer
|
|
6697
6759
|
),
|
|
6698
6760
|
children: [
|
|
6699
|
-
/* @__PURE__ */ (0,
|
|
6761
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6700
6762
|
Dialog.Title,
|
|
6701
6763
|
{
|
|
6702
6764
|
className: cn(
|
|
@@ -6710,7 +6772,7 @@ var ModalHeader = ({
|
|
|
6710
6772
|
children: title2
|
|
6711
6773
|
}
|
|
6712
6774
|
),
|
|
6713
|
-
subtitle ? /* @__PURE__ */ (0,
|
|
6775
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6714
6776
|
"span",
|
|
6715
6777
|
{
|
|
6716
6778
|
className: cn(
|
|
@@ -6724,9 +6786,9 @@ var ModalHeader = ({
|
|
|
6724
6786
|
]
|
|
6725
6787
|
}
|
|
6726
6788
|
),
|
|
6727
|
-
/* @__PURE__ */ (0,
|
|
6728
|
-
rightElement ? /* @__PURE__ */ (0,
|
|
6729
|
-
!hideClose && /* @__PURE__ */ (0,
|
|
6789
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "agg-modal-header-actions flex flex-row items-center justify-end gap-6", children: [
|
|
6790
|
+
rightElement ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_jsx_runtime125.Fragment, { children: rightElement }) : null,
|
|
6791
|
+
!hideClose && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6730
6792
|
Dialog.Close,
|
|
6731
6793
|
{
|
|
6732
6794
|
className: cn(
|
|
@@ -6743,14 +6805,14 @@ var ModalHeader = ({
|
|
|
6743
6805
|
]
|
|
6744
6806
|
}
|
|
6745
6807
|
),
|
|
6746
|
-
children ? /* @__PURE__ */ (0,
|
|
6808
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "agg-modal-header-extra", children }) : null
|
|
6747
6809
|
]
|
|
6748
6810
|
}
|
|
6749
6811
|
);
|
|
6750
6812
|
};
|
|
6751
6813
|
Modal.Header = ModalHeader;
|
|
6752
6814
|
var ModalBody = ({ children, classNames }) => {
|
|
6753
|
-
return /* @__PURE__ */ (0,
|
|
6815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6754
6816
|
"div",
|
|
6755
6817
|
{
|
|
6756
6818
|
className: cn(
|
|
@@ -6771,7 +6833,7 @@ var ModalFooter = ({
|
|
|
6771
6833
|
classNames,
|
|
6772
6834
|
hideBorder = false
|
|
6773
6835
|
}) => {
|
|
6774
|
-
return /* @__PURE__ */ (0,
|
|
6836
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
6775
6837
|
"div",
|
|
6776
6838
|
{
|
|
6777
6839
|
className: cn(
|
|
@@ -6792,7 +6854,7 @@ Modal.Footer = ModalFooter;
|
|
|
6792
6854
|
Modal.displayName = "Modal";
|
|
6793
6855
|
|
|
6794
6856
|
// src/primitives/select/index.tsx
|
|
6795
|
-
var
|
|
6857
|
+
var import_hooks31 = require("@agg-build/hooks");
|
|
6796
6858
|
var import_react6 = require("react");
|
|
6797
6859
|
var import_react_dom = require("react-dom");
|
|
6798
6860
|
|
|
@@ -6814,7 +6876,7 @@ var resolveIsSelectDisabled = ({
|
|
|
6814
6876
|
};
|
|
6815
6877
|
|
|
6816
6878
|
// src/primitives/select/index.tsx
|
|
6817
|
-
var
|
|
6879
|
+
var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
6818
6880
|
var SELECT_DROPDOWN_Z = 1e4;
|
|
6819
6881
|
function resolveSelectPortalContainer(triggerRoot) {
|
|
6820
6882
|
var _a, _b;
|
|
@@ -6837,11 +6899,11 @@ var Select = ({
|
|
|
6837
6899
|
contentSideOffset = 8
|
|
6838
6900
|
}) => {
|
|
6839
6901
|
var _a;
|
|
6840
|
-
const labels = (0,
|
|
6902
|
+
const labels = (0, import_hooks31.useLabels)();
|
|
6841
6903
|
const {
|
|
6842
6904
|
general: { rootClassName },
|
|
6843
6905
|
features: { enableAnimations }
|
|
6844
|
-
} = (0,
|
|
6906
|
+
} = (0, import_hooks31.useSdkUiConfig)();
|
|
6845
6907
|
const isDisabled = resolveIsSelectDisabled({ disabled, items });
|
|
6846
6908
|
const selectedItem = resolveSelectedItem(items, value);
|
|
6847
6909
|
const [isOpen, setIsOpen] = (0, import_react6.useState)(false);
|
|
@@ -6933,7 +6995,7 @@ var Select = ({
|
|
|
6933
6995
|
};
|
|
6934
6996
|
const isInline = variant === "inline";
|
|
6935
6997
|
const triggerRadiusClass = triggerClassName != null ? triggerClassName : isInline ? "rounded-agg-sm" : "rounded-agg-md";
|
|
6936
|
-
const listbox = menuRect ? /* @__PURE__ */ (0,
|
|
6998
|
+
const listbox = menuRect ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
6937
6999
|
"div",
|
|
6938
7000
|
{
|
|
6939
7001
|
ref: portalRef,
|
|
@@ -6961,7 +7023,7 @@ var Select = ({
|
|
|
6961
7023
|
const isSelected = item.value === value;
|
|
6962
7024
|
const isHidden = item.hidden === true;
|
|
6963
7025
|
if (isHidden) return null;
|
|
6964
|
-
return /* @__PURE__ */ (0,
|
|
7026
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
|
|
6965
7027
|
"button",
|
|
6966
7028
|
{
|
|
6967
7029
|
type: "button",
|
|
@@ -6985,14 +7047,14 @@ var Select = ({
|
|
|
6985
7047
|
handleClose();
|
|
6986
7048
|
},
|
|
6987
7049
|
children: [
|
|
6988
|
-
isInline && isSelected ? /* @__PURE__ */ (0,
|
|
7050
|
+
isInline && isSelected ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
6989
7051
|
"span",
|
|
6990
7052
|
{
|
|
6991
7053
|
className: "agg-select-item-indicator absolute bottom-2 left-0 top-2 w-1 bg-agg-primary",
|
|
6992
7054
|
"aria-hidden": true
|
|
6993
7055
|
}
|
|
6994
7056
|
) : null,
|
|
6995
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
7057
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
6996
7058
|
"span",
|
|
6997
7059
|
{
|
|
6998
7060
|
className: cn(
|
|
@@ -7001,7 +7063,7 @@ var Select = ({
|
|
|
7001
7063
|
),
|
|
7002
7064
|
children: item.icon
|
|
7003
7065
|
}
|
|
7004
|
-
) : item.iconUrl ? /* @__PURE__ */ (0,
|
|
7066
|
+
) : item.iconUrl ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7005
7067
|
RemoteImage,
|
|
7006
7068
|
{
|
|
7007
7069
|
src: item.iconUrl,
|
|
@@ -7009,7 +7071,7 @@ var Select = ({
|
|
|
7009
7071
|
className: "agg-select-item-icon h-4 w-4 shrink-0 rounded-sm object-contain"
|
|
7010
7072
|
}
|
|
7011
7073
|
) : null,
|
|
7012
|
-
/* @__PURE__ */ (0,
|
|
7074
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)("span", { className: "agg-select-item-label truncate", children: item.label })
|
|
7013
7075
|
]
|
|
7014
7076
|
},
|
|
7015
7077
|
item.value
|
|
@@ -7017,7 +7079,7 @@ var Select = ({
|
|
|
7017
7079
|
})
|
|
7018
7080
|
}
|
|
7019
7081
|
) : null;
|
|
7020
|
-
return /* @__PURE__ */ (0,
|
|
7082
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
|
|
7021
7083
|
"div",
|
|
7022
7084
|
{
|
|
7023
7085
|
ref: containerRef,
|
|
@@ -7027,7 +7089,7 @@ var Select = ({
|
|
|
7027
7089
|
className
|
|
7028
7090
|
),
|
|
7029
7091
|
children: [
|
|
7030
|
-
/* @__PURE__ */ (0,
|
|
7092
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
|
|
7031
7093
|
"button",
|
|
7032
7094
|
{
|
|
7033
7095
|
type: "button",
|
|
@@ -7051,7 +7113,7 @@ var Select = ({
|
|
|
7051
7113
|
onPointerEnter: handlePointerEnter,
|
|
7052
7114
|
onPointerLeave: handlePointerLeave,
|
|
7053
7115
|
children: [
|
|
7054
|
-
(selectedItem == null ? void 0 : selectedItem.icon) ? /* @__PURE__ */ (0,
|
|
7116
|
+
(selectedItem == null ? void 0 : selectedItem.icon) ? /* @__PURE__ */ (0, import_jsx_runtime126.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_runtime126.jsx)(
|
|
7055
7117
|
RemoteImage,
|
|
7056
7118
|
{
|
|
7057
7119
|
src: selectedItem.iconUrl,
|
|
@@ -7059,18 +7121,18 @@ var Select = ({
|
|
|
7059
7121
|
className: "agg-select-icon h-4 w-4 shrink-0 rounded-sm object-contain"
|
|
7060
7122
|
}
|
|
7061
7123
|
) : null,
|
|
7062
|
-
/* @__PURE__ */ (0,
|
|
7124
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)("span", { className: "agg-select-value flex-1 truncate", children: (_a = selectedItem == null ? void 0 : selectedItem.label) != null ? _a : "" })
|
|
7063
7125
|
]
|
|
7064
7126
|
}
|
|
7065
7127
|
),
|
|
7066
|
-
/* @__PURE__ */ (0,
|
|
7128
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7067
7129
|
"span",
|
|
7068
7130
|
{
|
|
7069
7131
|
className: cn(
|
|
7070
7132
|
"agg-select-chevron pointer-events-none absolute inset-y-0 inline-flex items-center justify-center",
|
|
7071
7133
|
isInline ? "right-2 text-agg-foreground" : "right-3 text-agg-muted-foreground"
|
|
7072
7134
|
),
|
|
7073
|
-
children: /* @__PURE__ */ (0,
|
|
7135
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7074
7136
|
Icon,
|
|
7075
7137
|
{
|
|
7076
7138
|
name: isOpen ? "chevron-up" : "chevron-down-thin",
|
|
@@ -7089,7 +7151,7 @@ Select.displayName = "Select";
|
|
|
7089
7151
|
|
|
7090
7152
|
// src/primitives/state-message/index.tsx
|
|
7091
7153
|
var import_react7 = require("react");
|
|
7092
|
-
var
|
|
7154
|
+
var import_hooks32 = require("@agg-build/hooks");
|
|
7093
7155
|
|
|
7094
7156
|
// src/primitives/typography/typography.constants.ts
|
|
7095
7157
|
var display = cn("agg-type-display");
|
|
@@ -7154,7 +7216,7 @@ var getTypographyClassName = ({
|
|
|
7154
7216
|
};
|
|
7155
7217
|
|
|
7156
7218
|
// src/primitives/typography/index.tsx
|
|
7157
|
-
var
|
|
7219
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
7158
7220
|
var Typography = ({
|
|
7159
7221
|
as: Component = "p",
|
|
7160
7222
|
variant = "body",
|
|
@@ -7162,7 +7224,7 @@ var Typography = ({
|
|
|
7162
7224
|
children,
|
|
7163
7225
|
"aria-label": ariaLabel
|
|
7164
7226
|
}) => {
|
|
7165
|
-
return /* @__PURE__ */ (0,
|
|
7227
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Component, { className: getTypographyClassName({ className, variant }), "aria-label": ariaLabel, children });
|
|
7166
7228
|
};
|
|
7167
7229
|
Typography.displayName = "Typography";
|
|
7168
7230
|
|
|
@@ -7175,7 +7237,7 @@ var resolveStateMessageHasAction = ({ onAction }) => {
|
|
|
7175
7237
|
};
|
|
7176
7238
|
|
|
7177
7239
|
// src/primitives/state-message/index.tsx
|
|
7178
|
-
var
|
|
7240
|
+
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
7179
7241
|
var StateMessage = (_a) => {
|
|
7180
7242
|
var _b = _a, {
|
|
7181
7243
|
icon,
|
|
@@ -7190,13 +7252,13 @@ var StateMessage = (_a) => {
|
|
|
7190
7252
|
"onAction",
|
|
7191
7253
|
"classNames"
|
|
7192
7254
|
]);
|
|
7193
|
-
const labels = (0,
|
|
7255
|
+
const labels = (0, import_hooks32.useLabels)();
|
|
7194
7256
|
const hasAction = resolveStateMessageHasAction({ onAction });
|
|
7195
7257
|
const resolvedIcon = (0, import_react7.cloneElement)(icon, {
|
|
7196
7258
|
className: cn(STATE_MESSAGE_ICON_CLASS_NAME, icon.props.className, classNames == null ? void 0 : classNames.icon),
|
|
7197
7259
|
"aria-hidden": true
|
|
7198
7260
|
});
|
|
7199
|
-
return /* @__PURE__ */ (0,
|
|
7261
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
7200
7262
|
"div",
|
|
7201
7263
|
__spreadProps(__spreadValues({}, rest), {
|
|
7202
7264
|
className: cn(
|
|
@@ -7207,7 +7269,7 @@ var StateMessage = (_a) => {
|
|
|
7207
7269
|
role: "status",
|
|
7208
7270
|
"aria-live": "polite",
|
|
7209
7271
|
"aria-label": title2,
|
|
7210
|
-
children: /* @__PURE__ */ (0,
|
|
7272
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
7211
7273
|
"div",
|
|
7212
7274
|
{
|
|
7213
7275
|
className: cn(
|
|
@@ -7216,7 +7278,7 @@ var StateMessage = (_a) => {
|
|
|
7216
7278
|
),
|
|
7217
7279
|
children: [
|
|
7218
7280
|
resolvedIcon,
|
|
7219
|
-
/* @__PURE__ */ (0,
|
|
7281
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
7220
7282
|
"div",
|
|
7221
7283
|
{
|
|
7222
7284
|
className: cn(
|
|
@@ -7224,8 +7286,8 @@ var StateMessage = (_a) => {
|
|
|
7224
7286
|
classNames == null ? void 0 : classNames.text
|
|
7225
7287
|
),
|
|
7226
7288
|
children: [
|
|
7227
|
-
/* @__PURE__ */ (0,
|
|
7228
|
-
description ? /* @__PURE__ */ (0,
|
|
7289
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Typography, { variant: "body-strong", className: classNames == null ? void 0 : classNames.title, children: title2 }),
|
|
7290
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
7229
7291
|
Typography,
|
|
7230
7292
|
{
|
|
7231
7293
|
variant: "label",
|
|
@@ -7236,7 +7298,7 @@ var StateMessage = (_a) => {
|
|
|
7236
7298
|
]
|
|
7237
7299
|
}
|
|
7238
7300
|
),
|
|
7239
|
-
hasAction ? /* @__PURE__ */ (0,
|
|
7301
|
+
hasAction ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
7240
7302
|
Button,
|
|
7241
7303
|
{
|
|
7242
7304
|
variant: "tertiary",
|
|
@@ -7263,7 +7325,7 @@ var StateMessage = (_a) => {
|
|
|
7263
7325
|
StateMessage.displayName = "StateMessage";
|
|
7264
7326
|
|
|
7265
7327
|
// src/primitives/tabs/index.tsx
|
|
7266
|
-
var
|
|
7328
|
+
var import_hooks33 = require("@agg-build/hooks");
|
|
7267
7329
|
var import_react9 = require("react");
|
|
7268
7330
|
|
|
7269
7331
|
// src/shared/use-horizontal-scroll-state.ts
|
|
@@ -7338,7 +7400,7 @@ var findEdgeEnabledIndex = (items, direction) => {
|
|
|
7338
7400
|
};
|
|
7339
7401
|
|
|
7340
7402
|
// src/primitives/tabs/index.tsx
|
|
7341
|
-
var
|
|
7403
|
+
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
7342
7404
|
var getTabButtonClassName = ({
|
|
7343
7405
|
enableAnimations,
|
|
7344
7406
|
isBarVariant,
|
|
@@ -7381,10 +7443,10 @@ var Tabs = ({
|
|
|
7381
7443
|
className,
|
|
7382
7444
|
classNames
|
|
7383
7445
|
}) => {
|
|
7384
|
-
const labels = (0,
|
|
7446
|
+
const labels = (0, import_hooks33.useLabels)();
|
|
7385
7447
|
const {
|
|
7386
7448
|
features: { enableAnimations }
|
|
7387
|
-
} = (0,
|
|
7449
|
+
} = (0, import_hooks33.useSdkUiConfig)();
|
|
7388
7450
|
const buttonRefs = (0, import_react9.useRef)([]);
|
|
7389
7451
|
const dragStateRef = (0, import_react9.useRef)({
|
|
7390
7452
|
isPointerDown: false,
|
|
@@ -7666,7 +7728,7 @@ var Tabs = ({
|
|
|
7666
7728
|
value
|
|
7667
7729
|
]);
|
|
7668
7730
|
if (shouldUseOverflowSelect) {
|
|
7669
|
-
return /* @__PURE__ */ (0,
|
|
7731
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: cn("group/agg-tabs w-full", className, classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
7670
7732
|
Select,
|
|
7671
7733
|
{
|
|
7672
7734
|
ariaLabel,
|
|
@@ -7678,7 +7740,7 @@ var Tabs = ({
|
|
|
7678
7740
|
}
|
|
7679
7741
|
) });
|
|
7680
7742
|
}
|
|
7681
|
-
return /* @__PURE__ */ (0,
|
|
7743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
7682
7744
|
"div",
|
|
7683
7745
|
{
|
|
7684
7746
|
className: cn(
|
|
@@ -7689,7 +7751,7 @@ var Tabs = ({
|
|
|
7689
7751
|
classNames == null ? void 0 : classNames.root
|
|
7690
7752
|
),
|
|
7691
7753
|
children: [
|
|
7692
|
-
/* @__PURE__ */ (0,
|
|
7754
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
7693
7755
|
"div",
|
|
7694
7756
|
{
|
|
7695
7757
|
ref: tabListRef,
|
|
@@ -7703,7 +7765,7 @@ var Tabs = ({
|
|
|
7703
7765
|
onPointerUp: handleEndTabListDrag,
|
|
7704
7766
|
onWheel: handleTabListWheel,
|
|
7705
7767
|
children: [
|
|
7706
|
-
shouldUseOverflowScroll && !isBarVariant && hasOverflow ? /* @__PURE__ */ (0,
|
|
7768
|
+
shouldUseOverflowScroll && !isBarVariant && hasOverflow ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
7707
7769
|
"span",
|
|
7708
7770
|
{
|
|
7709
7771
|
"aria-hidden": true,
|
|
@@ -7714,7 +7776,7 @@ var Tabs = ({
|
|
|
7714
7776
|
var _a;
|
|
7715
7777
|
const isActive = item.value === value;
|
|
7716
7778
|
const isComingSoon = (_a = item == null ? void 0 : item.isComingSoon) != null ? _a : false;
|
|
7717
|
-
return /* @__PURE__ */ (0,
|
|
7779
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
7718
7780
|
"button",
|
|
7719
7781
|
{
|
|
7720
7782
|
ref: (buttonElement) => {
|
|
@@ -7750,7 +7812,7 @@ var Tabs = ({
|
|
|
7750
7812
|
),
|
|
7751
7813
|
children: [
|
|
7752
7814
|
item.icon ? item.icon : null,
|
|
7753
|
-
/* @__PURE__ */ (0,
|
|
7815
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
7754
7816
|
"span",
|
|
7755
7817
|
{
|
|
7756
7818
|
className: cn(
|
|
@@ -7768,7 +7830,7 @@ var Tabs = ({
|
|
|
7768
7830
|
item.value
|
|
7769
7831
|
);
|
|
7770
7832
|
}),
|
|
7771
|
-
!isBarVariant ? /* @__PURE__ */ (0,
|
|
7833
|
+
!isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
7772
7834
|
"span",
|
|
7773
7835
|
{
|
|
7774
7836
|
"aria-hidden": true,
|
|
@@ -7787,8 +7849,8 @@ var Tabs = ({
|
|
|
7787
7849
|
]
|
|
7788
7850
|
}
|
|
7789
7851
|
),
|
|
7790
|
-
shouldUseOverflowScroll && !isBarVariant ? /* @__PURE__ */ (0,
|
|
7791
|
-
/* @__PURE__ */ (0,
|
|
7852
|
+
shouldUseOverflowScroll && !isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(import_jsx_runtime129.Fragment, { children: [
|
|
7853
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
7792
7854
|
"span",
|
|
7793
7855
|
{
|
|
7794
7856
|
"aria-hidden": true,
|
|
@@ -7800,7 +7862,7 @@ var Tabs = ({
|
|
|
7800
7862
|
)
|
|
7801
7863
|
}
|
|
7802
7864
|
),
|
|
7803
|
-
/* @__PURE__ */ (0,
|
|
7865
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
7804
7866
|
"span",
|
|
7805
7867
|
{
|
|
7806
7868
|
"aria-hidden": true,
|
|
@@ -7813,8 +7875,8 @@ var Tabs = ({
|
|
|
7813
7875
|
}
|
|
7814
7876
|
)
|
|
7815
7877
|
] }) : null,
|
|
7816
|
-
shouldUseOverflowScroll && isBarVariant ? /* @__PURE__ */ (0,
|
|
7817
|
-
/* @__PURE__ */ (0,
|
|
7878
|
+
shouldUseOverflowScroll && isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(import_jsx_runtime129.Fragment, { children: [
|
|
7879
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
7818
7880
|
"button",
|
|
7819
7881
|
{
|
|
7820
7882
|
type: "button",
|
|
@@ -7836,10 +7898,10 @@ var Tabs = ({
|
|
|
7836
7898
|
behavior: getScrollBehavior(enableAnimations)
|
|
7837
7899
|
});
|
|
7838
7900
|
},
|
|
7839
|
-
children: /* @__PURE__ */ (0,
|
|
7901
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Icon, { name: "chevron-left", size: "small", color: "currentColor" })
|
|
7840
7902
|
}
|
|
7841
7903
|
),
|
|
7842
|
-
/* @__PURE__ */ (0,
|
|
7904
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
7843
7905
|
"button",
|
|
7844
7906
|
{
|
|
7845
7907
|
type: "button",
|
|
@@ -7861,7 +7923,7 @@ var Tabs = ({
|
|
|
7861
7923
|
behavior: getScrollBehavior(enableAnimations)
|
|
7862
7924
|
});
|
|
7863
7925
|
},
|
|
7864
|
-
children: /* @__PURE__ */ (0,
|
|
7926
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Icon, { name: "chevron-right", size: "small", color: "currentColor" })
|
|
7865
7927
|
}
|
|
7866
7928
|
)
|
|
7867
7929
|
] }) : null
|
|
@@ -7872,7 +7934,7 @@ var Tabs = ({
|
|
|
7872
7934
|
Tabs.displayName = "Tabs";
|
|
7873
7935
|
|
|
7874
7936
|
// src/primitives/tooltip/index.tsx
|
|
7875
|
-
var
|
|
7937
|
+
var import_hooks34 = require("@agg-build/hooks");
|
|
7876
7938
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
|
|
7877
7939
|
var import_react10 = require("react");
|
|
7878
7940
|
|
|
@@ -7906,7 +7968,7 @@ var resolveTooltipArrowDimensions = (size) => {
|
|
|
7906
7968
|
};
|
|
7907
7969
|
|
|
7908
7970
|
// src/primitives/tooltip/index.tsx
|
|
7909
|
-
var
|
|
7971
|
+
var import_jsx_runtime130 = require("react/jsx-runtime");
|
|
7910
7972
|
var Tooltip = ({
|
|
7911
7973
|
content,
|
|
7912
7974
|
children,
|
|
@@ -7921,25 +7983,25 @@ var Tooltip = ({
|
|
|
7921
7983
|
const {
|
|
7922
7984
|
general: { rootClassName },
|
|
7923
7985
|
features: { enableAnimations }
|
|
7924
|
-
} = (0,
|
|
7986
|
+
} = (0, import_hooks34.useSdkUiConfig)();
|
|
7925
7987
|
const trigger = (0, import_react10.useMemo)(() => {
|
|
7926
7988
|
if (children) return children;
|
|
7927
|
-
return /* @__PURE__ */ (0,
|
|
7989
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
7928
7990
|
"button",
|
|
7929
7991
|
{
|
|
7930
7992
|
type: "button",
|
|
7931
7993
|
className: resolveTooltipTriggerClassName(classNames == null ? void 0 : classNames.trigger),
|
|
7932
7994
|
"aria-label": ariaLabel != null ? ariaLabel : defaultTooltipTriggerAriaLabel,
|
|
7933
|
-
children: /* @__PURE__ */ (0,
|
|
7995
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Icon, { name: "info", size: "small", className: cn(classNames == null ? void 0 : classNames.icon), "aria-hidden": true })
|
|
7934
7996
|
}
|
|
7935
7997
|
);
|
|
7936
7998
|
}, [children, classNames == null ? void 0 : classNames.trigger, classNames == null ? void 0 : classNames.icon, ariaLabel]);
|
|
7937
7999
|
const { width: arrowWidth, height: arrowHeight } = resolveTooltipArrowDimensions(size);
|
|
7938
8000
|
const arrowPoints = `0,0 ${arrowWidth},0 ${arrowWidth / 2},${arrowHeight}`;
|
|
7939
8001
|
const arrowBorderPath = `M0 0 L${arrowWidth / 2} ${arrowHeight} L${arrowWidth} 0`;
|
|
7940
|
-
return /* @__PURE__ */ (0,
|
|
7941
|
-
/* @__PURE__ */ (0,
|
|
7942
|
-
/* @__PURE__ */ (0,
|
|
8002
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(TooltipPrimitive.Provider, { delayDuration, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(TooltipPrimitive.Root, { children: [
|
|
8003
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(TooltipPrimitive.Trigger, { asChild: true, children: trigger }),
|
|
8004
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
7943
8005
|
TooltipPrimitive.Content,
|
|
7944
8006
|
{
|
|
7945
8007
|
side,
|
|
@@ -7963,7 +8025,7 @@ var Tooltip = ({
|
|
|
7963
8025
|
classNames == null ? void 0 : classNames.content
|
|
7964
8026
|
),
|
|
7965
8027
|
children: [
|
|
7966
|
-
/* @__PURE__ */ (0,
|
|
8028
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(TooltipPrimitive.Arrow, { asChild: true, width: arrowWidth, height: arrowHeight, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
7967
8029
|
"svg",
|
|
7968
8030
|
{
|
|
7969
8031
|
width: arrowWidth,
|
|
@@ -7972,8 +8034,8 @@ var Tooltip = ({
|
|
|
7972
8034
|
"aria-hidden": "true",
|
|
7973
8035
|
className: cn("overflow-visible", classNames == null ? void 0 : classNames.arrow),
|
|
7974
8036
|
children: [
|
|
7975
|
-
/* @__PURE__ */ (0,
|
|
7976
|
-
/* @__PURE__ */ (0,
|
|
8037
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("polygon", { points: arrowPoints, className: "fill-agg-secondary" }),
|
|
8038
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
7977
8039
|
"path",
|
|
7978
8040
|
{
|
|
7979
8041
|
d: arrowBorderPath,
|
|
@@ -8151,13 +8213,13 @@ var normalizeEventListItemV2Comparison = ({
|
|
|
8151
8213
|
var baseCardClassName = "gap-3 overflow-hidden p-4 w-full";
|
|
8152
8214
|
|
|
8153
8215
|
// src/events/item/index.tsx
|
|
8154
|
-
var
|
|
8216
|
+
var import_jsx_runtime131 = require("react/jsx-runtime");
|
|
8155
8217
|
var EventListItemLoadingState = ({
|
|
8156
8218
|
classNames,
|
|
8157
8219
|
ariaLabel
|
|
8158
8220
|
}) => {
|
|
8159
|
-
const labels = (0,
|
|
8160
|
-
return /* @__PURE__ */ (0,
|
|
8221
|
+
const labels = (0, import_hooks35.useLabels)();
|
|
8222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8161
8223
|
Skeleton,
|
|
8162
8224
|
{
|
|
8163
8225
|
view: "event-list-item",
|
|
@@ -8170,8 +8232,8 @@ var EventListItemUnavailableState = ({
|
|
|
8170
8232
|
classNames,
|
|
8171
8233
|
ariaLabel
|
|
8172
8234
|
}) => {
|
|
8173
|
-
const labels = (0,
|
|
8174
|
-
return /* @__PURE__ */ (0,
|
|
8235
|
+
const labels = (0, import_hooks35.useLabels)();
|
|
8236
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8175
8237
|
Card,
|
|
8176
8238
|
{
|
|
8177
8239
|
className: cn(
|
|
@@ -8181,8 +8243,8 @@ var EventListItemUnavailableState = ({
|
|
|
8181
8243
|
),
|
|
8182
8244
|
role: "status",
|
|
8183
8245
|
"aria-label": ariaLabel != null ? ariaLabel : labels.eventItem.unavailableAria,
|
|
8184
|
-
children: /* @__PURE__ */ (0,
|
|
8185
|
-
/* @__PURE__ */ (0,
|
|
8246
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: cn("agg-event-card-header min-h-12 flex flex-col gap-1", classNames == null ? void 0 : classNames.header), children: [
|
|
8247
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8186
8248
|
Typography,
|
|
8187
8249
|
{
|
|
8188
8250
|
variant: "body-large-strong",
|
|
@@ -8190,7 +8252,7 @@ var EventListItemUnavailableState = ({
|
|
|
8190
8252
|
children: labels.eventItem.unavailableTitle
|
|
8191
8253
|
}
|
|
8192
8254
|
),
|
|
8193
|
-
/* @__PURE__ */ (0,
|
|
8255
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Typography, { variant: "body", className: "text-agg-muted-foreground", children: labels.eventItem.unavailableDescription })
|
|
8194
8256
|
] })
|
|
8195
8257
|
}
|
|
8196
8258
|
);
|
|
@@ -8199,13 +8261,13 @@ var EventListItemNotFoundState = ({
|
|
|
8199
8261
|
classNames: _classNames,
|
|
8200
8262
|
ariaLabel: _ariaLabel
|
|
8201
8263
|
}) => {
|
|
8202
|
-
const labels = (0,
|
|
8203
|
-
return /* @__PURE__ */ (0,
|
|
8264
|
+
const labels = (0, import_hooks35.useLabels)();
|
|
8265
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8204
8266
|
StateMessage,
|
|
8205
8267
|
{
|
|
8206
8268
|
title: labels.eventItemDetails.notFoundTitle,
|
|
8207
8269
|
description: labels.eventItemDetails.notFoundDescription,
|
|
8208
|
-
icon: /* @__PURE__ */ (0,
|
|
8270
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(SearchEmptyIcon, {}),
|
|
8209
8271
|
classNames: { root: "agg-event-card-state min-h-[280px] md:min-h-[320px]" }
|
|
8210
8272
|
}
|
|
8211
8273
|
);
|
|
@@ -8354,10 +8416,10 @@ var EventListItemContent = ({
|
|
|
8354
8416
|
marketStatus
|
|
8355
8417
|
}) => {
|
|
8356
8418
|
var _a;
|
|
8357
|
-
const config = (0,
|
|
8358
|
-
const labels = (0,
|
|
8419
|
+
const config = (0, import_hooks35.useSdkUiConfig)();
|
|
8420
|
+
const labels = (0, import_hooks35.useLabels)();
|
|
8359
8421
|
const allVenueMarkets = (0, import_react11.useMemo)(() => event.venueMarkets, [event.venueMarkets]);
|
|
8360
|
-
const recurringCryptoIdentity = (0,
|
|
8422
|
+
const recurringCryptoIdentity = (0, import_hooks35.resolveRecurringCryptoIdentity)(event);
|
|
8361
8423
|
const eventHeading = resolveEventHeading({
|
|
8362
8424
|
title: event.title,
|
|
8363
8425
|
categories: event.categories,
|
|
@@ -8373,7 +8435,7 @@ var EventListItemContent = ({
|
|
|
8373
8435
|
const resolvedImage = event.image;
|
|
8374
8436
|
const visibleVenueLogos = (0, import_react11.useMemo)(() => {
|
|
8375
8437
|
var _a2;
|
|
8376
|
-
return (0,
|
|
8438
|
+
return (0, import_hooks35.sortVenues)(Array.from(new Set(((_a2 = event.venues) != null ? _a2 : []).map((venue) => venue))));
|
|
8377
8439
|
}, [event.venues]);
|
|
8378
8440
|
const resolvedMarketCount = typeof event.marketCount === "number" && Number.isFinite(event.marketCount) ? Math.max(0, Math.floor(event.marketCount)) : allVenueMarkets.length;
|
|
8379
8441
|
const resolvedVenueCount = typeof event.venueCount === "number" && Number.isFinite(event.venueCount) ? Math.max(0, Math.floor(event.venueCount)) : visibleVenueLogos.length;
|
|
@@ -8392,7 +8454,7 @@ var EventListItemContent = ({
|
|
|
8392
8454
|
hasNextPage: hasNextLazyMarketsPage,
|
|
8393
8455
|
isLoading: isLoadingLazyMarkets,
|
|
8394
8456
|
isFetchingNextPage: isFetchingNextLazyMarketsPage
|
|
8395
|
-
} = (0,
|
|
8457
|
+
} = (0, import_hooks35.useVenueMarkets)({
|
|
8396
8458
|
venueEventId: event.id,
|
|
8397
8459
|
enabled: shouldEnableLazyMarketLoading && isLazyMarketsQueryEnabled,
|
|
8398
8460
|
// List/tile surface: axis/dates sort by volume so the scroll tail matches
|
|
@@ -8418,11 +8480,11 @@ var EventListItemContent = ({
|
|
|
8418
8480
|
}
|
|
8419
8481
|
return [...new Set(ids)];
|
|
8420
8482
|
}, [resolvedOutcomeMarkets]);
|
|
8421
|
-
const { midpointRows: fetchedMidpointRows, isLoading: isVenueMarketMidpointsLoading } = (0,
|
|
8483
|
+
const { midpointRows: fetchedMidpointRows, isLoading: isVenueMarketMidpointsLoading } = (0, import_hooks35.useVenueMarketMidpoints)({
|
|
8422
8484
|
venueMarketIds: shouldUseSharedMidpoints ? [] : midpointVenueMarketIds,
|
|
8423
8485
|
enabled: !shouldUseSharedMidpoints && midpointVenueMarketIds.length > 0
|
|
8424
8486
|
});
|
|
8425
|
-
const { prices: displayMidpointsByOutcomeId, isLoading: isOutcomeMidpointsLoading } = (0,
|
|
8487
|
+
const { prices: displayMidpointsByOutcomeId, isLoading: isOutcomeMidpointsLoading } = (0, import_hooks35.useMidpoints)(shouldUseSharedMidpoints ? [] : resolvedOutcomeMarkets);
|
|
8426
8488
|
const resolvedMidpointRows = (0, import_react11.useMemo)(
|
|
8427
8489
|
() => shouldUseSharedMidpoints ? sharedMidpointRows != null ? sharedMidpointRows : [] : fetchedMidpointRows,
|
|
8428
8490
|
[fetchedMidpointRows, sharedMidpointRows, shouldUseSharedMidpoints]
|
|
@@ -8547,9 +8609,9 @@ var EventListItemContent = ({
|
|
|
8547
8609
|
const renderArbitrage = (value) => {
|
|
8548
8610
|
if (value == null) return null;
|
|
8549
8611
|
if (Math.abs(value) < config.market.arbitrageThreshold) return null;
|
|
8550
|
-
return /* @__PURE__ */ (0,
|
|
8551
|
-
/* @__PURE__ */ (0,
|
|
8552
|
-
/* @__PURE__ */ (0,
|
|
8612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: cn("flex items-center gap-1", "text-agg-success"), children: [
|
|
8613
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Typography, { variant: "label-strong", className: "text-agg-success", children: config.formatting.formatPercent(value) }),
|
|
8614
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8553
8615
|
Icon,
|
|
8554
8616
|
{
|
|
8555
8617
|
name: "triangle-up",
|
|
@@ -8563,8 +8625,8 @@ var EventListItemContent = ({
|
|
|
8563
8625
|
const renderPriceStripSkeleton = (count) => {
|
|
8564
8626
|
const safeCount = Math.max(1, Math.min(count || 1, 3));
|
|
8565
8627
|
const collapsedCount = safeCount - 1;
|
|
8566
|
-
return /* @__PURE__ */ (0,
|
|
8567
|
-
Array.from({ length: collapsedCount }).map((_, index) => /* @__PURE__ */ (0,
|
|
8628
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(import_jsx_runtime131.Fragment, { children: [
|
|
8629
|
+
Array.from({ length: collapsedCount }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8568
8630
|
"span",
|
|
8569
8631
|
{
|
|
8570
8632
|
"aria-hidden": "true",
|
|
@@ -8576,7 +8638,7 @@ var EventListItemContent = ({
|
|
|
8576
8638
|
},
|
|
8577
8639
|
`agg-outcome-price-loading-collapsed-${index}`
|
|
8578
8640
|
)),
|
|
8579
|
-
/* @__PURE__ */ (0,
|
|
8641
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8580
8642
|
"span",
|
|
8581
8643
|
{
|
|
8582
8644
|
"aria-hidden": "true",
|
|
@@ -8593,7 +8655,7 @@ var EventListItemContent = ({
|
|
|
8593
8655
|
if (isAwaitingMidpoints) return null;
|
|
8594
8656
|
const formattedPriceGap = formatPriceGapPercent(value, source);
|
|
8595
8657
|
if (!formattedPriceGap) return null;
|
|
8596
|
-
return /* @__PURE__ */ (0,
|
|
8658
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
8597
8659
|
"span",
|
|
8598
8660
|
{
|
|
8599
8661
|
className: cn(
|
|
@@ -8606,14 +8668,14 @@ var EventListItemContent = ({
|
|
|
8606
8668
|
title: labels.eventItem.priceGap,
|
|
8607
8669
|
"aria-label": `${formattedPriceGap} ${labels.eventItem.priceGap}`,
|
|
8608
8670
|
children: [
|
|
8609
|
-
/* @__PURE__ */ (0,
|
|
8671
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8610
8672
|
"i",
|
|
8611
8673
|
{
|
|
8612
8674
|
"aria-hidden": "true",
|
|
8613
8675
|
className: "fi-rr-arrow-down inline-flex size-3! shrink-0 items-center justify-center text-agg-xs text-agg-success"
|
|
8614
8676
|
}
|
|
8615
8677
|
),
|
|
8616
|
-
/* @__PURE__ */ (0,
|
|
8678
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { children: formattedPriceGap })
|
|
8617
8679
|
]
|
|
8618
8680
|
}
|
|
8619
8681
|
);
|
|
@@ -8625,11 +8687,11 @@ var EventListItemContent = ({
|
|
|
8625
8687
|
const hasVenueCompetition = row.prices.length > 1;
|
|
8626
8688
|
const isHighlightedBestPrice = hasVenueCompetition && price.isBest;
|
|
8627
8689
|
const shouldCollapsePriceText = hasVenueCompetition && !isHighlightedBestPrice;
|
|
8628
|
-
return /* @__PURE__ */ (0,
|
|
8690
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8629
8691
|
Badge,
|
|
8630
8692
|
{
|
|
8631
8693
|
text: formatMarketProbabilityPercent(price.price, config.formatting.formatPercent),
|
|
8632
|
-
prefix: /* @__PURE__ */ (0,
|
|
8694
|
+
prefix: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8633
8695
|
VenueLogo,
|
|
8634
8696
|
{
|
|
8635
8697
|
venue: price.venue,
|
|
@@ -8672,7 +8734,7 @@ var EventListItemContent = ({
|
|
|
8672
8734
|
`${price.market.id}:${price.outcome.id}`
|
|
8673
8735
|
);
|
|
8674
8736
|
};
|
|
8675
|
-
return /* @__PURE__ */ (0,
|
|
8737
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
8676
8738
|
Card,
|
|
8677
8739
|
{
|
|
8678
8740
|
className: cn(
|
|
@@ -8689,11 +8751,11 @@ var EventListItemContent = ({
|
|
|
8689
8751
|
"aria-label": ariaLabel != null ? ariaLabel : [resolvedTitle, resolvedTimestamp].filter(Boolean).join(" "),
|
|
8690
8752
|
withGradient: true,
|
|
8691
8753
|
children: [
|
|
8692
|
-
/* @__PURE__ */ (0,
|
|
8693
|
-
/* @__PURE__ */ (0,
|
|
8754
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: cn("agg-event-card-header flex items-center gap-4", classNames == null ? void 0 : classNames.header), children: [
|
|
8755
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8694
8756
|
RemoteImage,
|
|
8695
8757
|
{
|
|
8696
|
-
src: (0,
|
|
8758
|
+
src: (0, import_hooks35.optimizedImageUrl)(resolvedImage, 40),
|
|
8697
8759
|
alt: "",
|
|
8698
8760
|
classNames: {
|
|
8699
8761
|
root: "agg-event-image h-10 w-10 shrink-0 rounded-agg-lg object-cover",
|
|
@@ -8701,8 +8763,8 @@ var EventListItemContent = ({
|
|
|
8701
8763
|
}
|
|
8702
8764
|
}
|
|
8703
8765
|
),
|
|
8704
|
-
/* @__PURE__ */ (0,
|
|
8705
|
-
/* @__PURE__ */ (0,
|
|
8766
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "min-w-0 flex-1 self-stretch", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex h-12 min-w-0 flex-col justify-center", children: [
|
|
8767
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8706
8768
|
Typography,
|
|
8707
8769
|
{
|
|
8708
8770
|
variant: "body-strong",
|
|
@@ -8715,7 +8777,7 @@ var EventListItemContent = ({
|
|
|
8715
8777
|
children: resolvedTitle
|
|
8716
8778
|
}
|
|
8717
8779
|
),
|
|
8718
|
-
resolvedTimestamp ? /* @__PURE__ */ (0,
|
|
8780
|
+
resolvedTimestamp ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "agg-event-timestamp-row mt-0.5 h-5 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8719
8781
|
Typography,
|
|
8720
8782
|
{
|
|
8721
8783
|
variant: "body",
|
|
@@ -8728,8 +8790,8 @@ var EventListItemContent = ({
|
|
|
8728
8790
|
) }) : null
|
|
8729
8791
|
] }) })
|
|
8730
8792
|
] }),
|
|
8731
|
-
/* @__PURE__ */ (0,
|
|
8732
|
-
/* @__PURE__ */ (0,
|
|
8793
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "relative w-full", children: [
|
|
8794
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
8733
8795
|
"div",
|
|
8734
8796
|
{
|
|
8735
8797
|
ref: outcomesContainerRef,
|
|
@@ -8747,7 +8809,7 @@ var EventListItemContent = ({
|
|
|
8747
8809
|
const arbReturn = arbReturnByVenueMarketId.get(row.market.id);
|
|
8748
8810
|
const priceGapPercent = arbReturn == null ? gapsByVenueMarketId.get(row.market.id) : arbReturn;
|
|
8749
8811
|
const priceGapSource = arbReturn == null ? "percent" : "fraction";
|
|
8750
|
-
return /* @__PURE__ */ (0,
|
|
8812
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
8751
8813
|
"div",
|
|
8752
8814
|
{
|
|
8753
8815
|
className: cn(
|
|
@@ -8756,7 +8818,7 @@ var EventListItemContent = ({
|
|
|
8756
8818
|
classNames == null ? void 0 : classNames.outcomeRow
|
|
8757
8819
|
),
|
|
8758
8820
|
children: [
|
|
8759
|
-
/* @__PURE__ */ (0,
|
|
8821
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.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_runtime131.jsx)(
|
|
8760
8822
|
Typography,
|
|
8761
8823
|
{
|
|
8762
8824
|
variant: "body",
|
|
@@ -8764,10 +8826,10 @@ var EventListItemContent = ({
|
|
|
8764
8826
|
children: row.label
|
|
8765
8827
|
}
|
|
8766
8828
|
) }),
|
|
8767
|
-
/* @__PURE__ */ (0,
|
|
8829
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "agg-outcome-meta flex shrink-0 flex-row items-center justify-end gap-2", children: [
|
|
8768
8830
|
renderArbitrage(arbitragePercent),
|
|
8769
8831
|
renderPriceGapPill(priceGapPercent, priceGapSource),
|
|
8770
|
-
/* @__PURE__ */ (0,
|
|
8832
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "agg-outcome-price-strip relative flex shrink-0 items-center justify-end", children: isAwaitingMidpoints ? renderPriceStripSkeleton(row.prices.length) : row.prices.map(
|
|
8771
8833
|
(price, priceIndex) => renderComparisonPriceBadge(row, price, priceIndex)
|
|
8772
8834
|
) })
|
|
8773
8835
|
] })
|
|
@@ -8776,15 +8838,15 @@ var EventListItemContent = ({
|
|
|
8776
8838
|
row.id
|
|
8777
8839
|
);
|
|
8778
8840
|
}),
|
|
8779
|
-
shouldRenderLoadingOutcomeRow ? /* @__PURE__ */ (0,
|
|
8780
|
-
/* @__PURE__ */ (0,
|
|
8841
|
+
shouldRenderLoadingOutcomeRow ? /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "agg-outcome-row-loading flex w-full items-center justify-between gap-3", children: [
|
|
8842
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8781
8843
|
"div",
|
|
8782
8844
|
{
|
|
8783
8845
|
"aria-hidden": "true",
|
|
8784
8846
|
className: "bg-agg-separator animate-pulse h-5 rounded-agg-sm w-[200px]"
|
|
8785
8847
|
}
|
|
8786
8848
|
),
|
|
8787
|
-
/* @__PURE__ */ (0,
|
|
8849
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8788
8850
|
"div",
|
|
8789
8851
|
{
|
|
8790
8852
|
"aria-hidden": "true",
|
|
@@ -8795,7 +8857,7 @@ var EventListItemContent = ({
|
|
|
8795
8857
|
]
|
|
8796
8858
|
}
|
|
8797
8859
|
),
|
|
8798
|
-
/* @__PURE__ */ (0,
|
|
8860
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8799
8861
|
"div",
|
|
8800
8862
|
{
|
|
8801
8863
|
className: cn(
|
|
@@ -8805,7 +8867,7 @@ var EventListItemContent = ({
|
|
|
8805
8867
|
style: { height: OUTCOMES_SCROLL_MASK_HEIGHT_PX }
|
|
8806
8868
|
}
|
|
8807
8869
|
),
|
|
8808
|
-
/* @__PURE__ */ (0,
|
|
8870
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8809
8871
|
"div",
|
|
8810
8872
|
{
|
|
8811
8873
|
className: cn(
|
|
@@ -8816,7 +8878,7 @@ var EventListItemContent = ({
|
|
|
8816
8878
|
}
|
|
8817
8879
|
)
|
|
8818
8880
|
] }),
|
|
8819
|
-
/* @__PURE__ */ (0,
|
|
8881
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
8820
8882
|
"div",
|
|
8821
8883
|
{
|
|
8822
8884
|
className: cn(
|
|
@@ -8826,14 +8888,14 @@ var EventListItemContent = ({
|
|
|
8826
8888
|
classNames == null ? void 0 : classNames.footer
|
|
8827
8889
|
),
|
|
8828
8890
|
children: [
|
|
8829
|
-
/* @__PURE__ */ (0,
|
|
8891
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
8830
8892
|
"div",
|
|
8831
8893
|
{
|
|
8832
8894
|
className: cn(
|
|
8833
8895
|
"agg-event-meta flex min-w-0 flex-1 items-center gap-2 text-agg-sm leading-agg-5 truncate"
|
|
8834
8896
|
),
|
|
8835
8897
|
children: [
|
|
8836
|
-
outcomesScrollState.remainingMarkets > 0 ? /* @__PURE__ */ (0,
|
|
8898
|
+
outcomesScrollState.remainingMarkets > 0 ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8837
8899
|
Typography,
|
|
8838
8900
|
{
|
|
8839
8901
|
variant: "body",
|
|
@@ -8841,9 +8903,9 @@ var EventListItemContent = ({
|
|
|
8841
8903
|
children: labels.eventItem.remainingMarkets(outcomesScrollState.remainingMarkets)
|
|
8842
8904
|
}
|
|
8843
8905
|
) : null,
|
|
8844
|
-
shouldShowMatchedVenueSummary ? /* @__PURE__ */ (0,
|
|
8845
|
-
singleFooterVenue ? /* @__PURE__ */ (0,
|
|
8846
|
-
/* @__PURE__ */ (0,
|
|
8906
|
+
shouldShowMatchedVenueSummary ? /* @__PURE__ */ (0, import_jsx_runtime131.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,
|
|
8907
|
+
singleFooterVenue ? /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("span", { className: "agg-event-single-venue flex min-w-0 items-center gap-1 overflow-hidden", children: [
|
|
8908
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8847
8909
|
VenueLogo,
|
|
8848
8910
|
{
|
|
8849
8911
|
venue: singleFooterVenue,
|
|
@@ -8852,9 +8914,9 @@ var EventListItemContent = ({
|
|
|
8852
8914
|
className: "text-agg-muted-foreground! size-[14px]!"
|
|
8853
8915
|
}
|
|
8854
8916
|
),
|
|
8855
|
-
/* @__PURE__ */ (0,
|
|
8917
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "truncate text-agg-muted-foreground", children: resolveVenueLabel(singleFooterVenue, void 0, labels) })
|
|
8856
8918
|
] }) : null,
|
|
8857
|
-
shouldShowMatchedVenueSummary && visibleFooterVenues.length > 0 ? /* @__PURE__ */ (0,
|
|
8919
|
+
shouldShowMatchedVenueSummary && visibleFooterVenues.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "agg-event-venues flex items-center gap-1 overflow-hidden", children: visibleFooterVenues.map((venue) => /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8858
8920
|
VenueLogo,
|
|
8859
8921
|
{
|
|
8860
8922
|
venue,
|
|
@@ -8867,7 +8929,7 @@ var EventListItemContent = ({
|
|
|
8867
8929
|
]
|
|
8868
8930
|
}
|
|
8869
8931
|
),
|
|
8870
|
-
/* @__PURE__ */ (0,
|
|
8932
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8871
8933
|
Typography,
|
|
8872
8934
|
{
|
|
8873
8935
|
variant: "label",
|
|
@@ -8893,7 +8955,7 @@ var EventListItemByEventId = (_a) => {
|
|
|
8893
8955
|
error,
|
|
8894
8956
|
isError,
|
|
8895
8957
|
isLoading
|
|
8896
|
-
} = (0,
|
|
8958
|
+
} = (0, import_hooks35.useVenueEvent)({
|
|
8897
8959
|
eventId: eventId != null ? eventId : "",
|
|
8898
8960
|
enabled: !!eventId
|
|
8899
8961
|
});
|
|
@@ -8901,44 +8963,44 @@ var EventListItemByEventId = (_a) => {
|
|
|
8901
8963
|
return resolveEventListItemEvent(fetchedEvent);
|
|
8902
8964
|
}, [fetchedEvent]);
|
|
8903
8965
|
if (!eventId) {
|
|
8904
|
-
return /* @__PURE__ */ (0,
|
|
8966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(EventListItemUnavailableState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
8905
8967
|
}
|
|
8906
8968
|
if (isLoading) {
|
|
8907
|
-
return /* @__PURE__ */ (0,
|
|
8969
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(EventListItemLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
8908
8970
|
}
|
|
8909
8971
|
if (isErrorWithStatus(error, 404)) {
|
|
8910
|
-
return /* @__PURE__ */ (0,
|
|
8972
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(EventListItemNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
8911
8973
|
}
|
|
8912
8974
|
if (!fetchedEvent && !isError) {
|
|
8913
|
-
return /* @__PURE__ */ (0,
|
|
8975
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(EventListItemLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
8914
8976
|
}
|
|
8915
8977
|
if (!resolvedEvent) {
|
|
8916
|
-
return /* @__PURE__ */ (0,
|
|
8978
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(EventListItemUnavailableState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
8917
8979
|
}
|
|
8918
|
-
return /* @__PURE__ */ (0,
|
|
8980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(EventListItemContent, __spreadValues({ event: resolvedEvent }, rest));
|
|
8919
8981
|
};
|
|
8920
8982
|
var EventListItem = (props) => {
|
|
8921
8983
|
if (props.isLoading) {
|
|
8922
|
-
return /* @__PURE__ */ (0,
|
|
8984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(EventListItemLoadingState, { classNames: props.classNames, ariaLabel: props.ariaLabel });
|
|
8923
8985
|
}
|
|
8924
8986
|
if ("event" in props && props.event) {
|
|
8925
8987
|
const _a = props, { event } = _a, rest = __objRest(_a, ["event"]);
|
|
8926
|
-
return /* @__PURE__ */ (0,
|
|
8988
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(EventListItemContent, __spreadValues({ event }, rest));
|
|
8927
8989
|
}
|
|
8928
|
-
return /* @__PURE__ */ (0,
|
|
8990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(EventListItemByEventId, __spreadValues({}, props));
|
|
8929
8991
|
};
|
|
8930
8992
|
EventListItem.displayName = "EventListItem";
|
|
8931
8993
|
var EventListItemV2 = (props) => {
|
|
8932
|
-
return /* @__PURE__ */ (0,
|
|
8994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(EventListItem, __spreadValues({}, props));
|
|
8933
8995
|
};
|
|
8934
8996
|
EventListItemV2.displayName = "EventListItemV2";
|
|
8935
8997
|
|
|
8936
8998
|
// src/events/item-details/index.tsx
|
|
8937
|
-
var
|
|
8999
|
+
var import_hooks45 = require("@agg-build/hooks");
|
|
8938
9000
|
var import_react18 = require("react");
|
|
8939
9001
|
|
|
8940
9002
|
// src/primitives/chart/chart-type-switch.tsx
|
|
8941
|
-
var
|
|
9003
|
+
var import_hooks36 = require("@agg-build/hooks");
|
|
8942
9004
|
var import_react12 = require("react");
|
|
8943
9005
|
|
|
8944
9006
|
// src/primitives/chart/chart-type-switch.constants.ts
|
|
@@ -8964,13 +9026,13 @@ var resolveChartTypeOptionIconName = (chartType) => {
|
|
|
8964
9026
|
};
|
|
8965
9027
|
|
|
8966
9028
|
// src/primitives/chart/chart-type-switch.tsx
|
|
8967
|
-
var
|
|
9029
|
+
var import_jsx_runtime132 = require("react/jsx-runtime");
|
|
8968
9030
|
var ChartTypeSwitch = ({
|
|
8969
9031
|
value,
|
|
8970
9032
|
onValueChange,
|
|
8971
9033
|
className
|
|
8972
9034
|
}) => {
|
|
8973
|
-
const labels = (0,
|
|
9035
|
+
const labels = (0, import_hooks36.useLabels)();
|
|
8974
9036
|
const options = (0, import_react12.useMemo)(
|
|
8975
9037
|
() => CHART_TYPE_SWITCH_OPTION_KEYS.map((chartType) => ({
|
|
8976
9038
|
value: chartType,
|
|
@@ -9000,7 +9062,7 @@ var ChartTypeSwitch = ({
|
|
|
9000
9062
|
}
|
|
9001
9063
|
onValueChange(nextOption.value);
|
|
9002
9064
|
};
|
|
9003
|
-
return /* @__PURE__ */ (0,
|
|
9065
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
9004
9066
|
"div",
|
|
9005
9067
|
{
|
|
9006
9068
|
className: cn("agg-chart-type-switch inline-flex items-center gap-2", className),
|
|
@@ -9008,7 +9070,7 @@ var ChartTypeSwitch = ({
|
|
|
9008
9070
|
"aria-label": labels.common.chartTypeSwitchAria,
|
|
9009
9071
|
children: options.map((option, index) => {
|
|
9010
9072
|
const isActive = option.value === value;
|
|
9011
|
-
return /* @__PURE__ */ (0,
|
|
9073
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
9012
9074
|
"button",
|
|
9013
9075
|
{
|
|
9014
9076
|
type: "button",
|
|
@@ -9035,7 +9097,7 @@ var ChartTypeSwitch = ({
|
|
|
9035
9097
|
onKeyDown: (event) => {
|
|
9036
9098
|
handleKeyDown(event, index);
|
|
9037
9099
|
},
|
|
9038
|
-
children: /* @__PURE__ */ (0,
|
|
9100
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Icon, { name: option.iconName, color: "currentColor", className: "h-5 w-5" })
|
|
9039
9101
|
},
|
|
9040
9102
|
option.value
|
|
9041
9103
|
);
|
|
@@ -9046,7 +9108,7 @@ var ChartTypeSwitch = ({
|
|
|
9046
9108
|
ChartTypeSwitch.displayName = "ChartTypeSwitch";
|
|
9047
9109
|
|
|
9048
9110
|
// src/trading/trading-context/index.tsx
|
|
9049
|
-
var
|
|
9111
|
+
var import_hooks37 = require("@agg-build/hooks");
|
|
9050
9112
|
|
|
9051
9113
|
// src/events/market-details/market-details.utils.ts
|
|
9052
9114
|
var import_sdk14 = require("@agg-build/sdk");
|
|
@@ -9801,7 +9863,7 @@ var buildMarketDetailsModel = ({
|
|
|
9801
9863
|
};
|
|
9802
9864
|
|
|
9803
9865
|
// src/events/market-details/orderbook-aggregation.ts
|
|
9804
|
-
var
|
|
9866
|
+
var import_hooks38 = require("@agg-build/hooks");
|
|
9805
9867
|
var PRICE_PRECISION = 1e6;
|
|
9806
9868
|
var SIZE_PRECISION = 1e8;
|
|
9807
9869
|
var POSITIVE_OUTCOME_KEYS = /* @__PURE__ */ new Set(["yes", "y", "true", "up", "buy", "long"]);
|
|
@@ -9922,7 +9984,7 @@ var buildRowsFromAccumulator = ({
|
|
|
9922
9984
|
const venueBreakdown = Object.fromEntries(
|
|
9923
9985
|
Object.entries(level.venueBreakdownScaled).filter(([, scaledSize]) => scaledSize > 0).map(([venue2, scaledSize]) => [venue2, fromScaled(scaledSize, SIZE_PRECISION)])
|
|
9924
9986
|
);
|
|
9925
|
-
const resolvedFallbackVenue = fallbackVenue != null ? fallbackVenue :
|
|
9987
|
+
const resolvedFallbackVenue = fallbackVenue != null ? fallbackVenue : import_hooks38.Venue.polymarket;
|
|
9926
9988
|
const venues = resolveVenues(venueBreakdown, resolvedFallbackVenue);
|
|
9927
9989
|
const venue = resolvePrimaryVenue(venueBreakdown, resolvedFallbackVenue);
|
|
9928
9990
|
return {
|
|
@@ -10220,7 +10282,7 @@ var shouldAutoFallbackToAllRange = ({
|
|
|
10220
10282
|
};
|
|
10221
10283
|
|
|
10222
10284
|
// src/events/shared/chart-venue-selection.ts
|
|
10223
|
-
var
|
|
10285
|
+
var import_hooks39 = require("@agg-build/hooks");
|
|
10224
10286
|
var resolveChartVenueOutcomes = ({
|
|
10225
10287
|
eligibleVenueOutcomes,
|
|
10226
10288
|
livePrices
|
|
@@ -10232,7 +10294,7 @@ var resolveChartVenueOutcomes = ({
|
|
|
10232
10294
|
const probabilityDifference = (leftProbability != null ? leftProbability : 2) - (rightProbability != null ? rightProbability : 2);
|
|
10233
10295
|
if (probabilityDifference !== 0) return probabilityDifference;
|
|
10234
10296
|
if (left.venue === right.venue) return 0;
|
|
10235
|
-
const sortedVenues = (0,
|
|
10297
|
+
const sortedVenues = (0, import_hooks39.sortVenues)([left.venue, right.venue]);
|
|
10236
10298
|
return sortedVenues[0] === left.venue ? -1 : 1;
|
|
10237
10299
|
});
|
|
10238
10300
|
const venueOutcomesByVenue = /* @__PURE__ */ new Map();
|
|
@@ -10327,9 +10389,9 @@ var getDisplayOutcomePrice = ({
|
|
|
10327
10389
|
};
|
|
10328
10390
|
|
|
10329
10391
|
// src/events/shared/sports-live-score.tsx
|
|
10330
|
-
var
|
|
10392
|
+
var import_hooks40 = require("@agg-build/hooks");
|
|
10331
10393
|
var import_react13 = require("react");
|
|
10332
|
-
var
|
|
10394
|
+
var import_jsx_runtime133 = require("react/jsx-runtime");
|
|
10333
10395
|
var SPORTS_SCORE_LAYOUTS = {
|
|
10334
10396
|
tennis: "sets"
|
|
10335
10397
|
};
|
|
@@ -10343,7 +10405,7 @@ var SportsLiveScore = ({
|
|
|
10343
10405
|
variant = "detail",
|
|
10344
10406
|
className
|
|
10345
10407
|
}) => {
|
|
10346
|
-
const labels = (0,
|
|
10408
|
+
const labels = (0, import_hooks40.useLabels)();
|
|
10347
10409
|
if (!state || state.participants.length !== 2) return null;
|
|
10348
10410
|
const [firstParticipant, secondParticipant] = state.participants;
|
|
10349
10411
|
const firstScore = firstParticipant == null ? void 0 : firstParticipant.score;
|
|
@@ -10375,7 +10437,7 @@ var SportsLiveScore = ({
|
|
|
10375
10437
|
const tennisSetScores = getSportsScoreLayout(state.sport) === "sets" ? [splitTennisSetScores(firstScore), splitTennisSetScores(secondScore)] : null;
|
|
10376
10438
|
const renderParticipant = (participant, orientation = "stacked") => {
|
|
10377
10439
|
var _a;
|
|
10378
|
-
return /* @__PURE__ */ (0,
|
|
10440
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
|
|
10379
10441
|
"div",
|
|
10380
10442
|
{
|
|
10381
10443
|
className: cn(
|
|
@@ -10385,7 +10447,7 @@ var SportsLiveScore = ({
|
|
|
10385
10447
|
),
|
|
10386
10448
|
title: participant.name,
|
|
10387
10449
|
children: [
|
|
10388
|
-
/* @__PURE__ */ (0,
|
|
10450
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
10389
10451
|
RemoteImage,
|
|
10390
10452
|
{
|
|
10391
10453
|
src: participant.imageUrl,
|
|
@@ -10402,7 +10464,7 @@ var SportsLiveScore = ({
|
|
|
10402
10464
|
}
|
|
10403
10465
|
}
|
|
10404
10466
|
),
|
|
10405
|
-
/* @__PURE__ */ (0,
|
|
10467
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
10406
10468
|
Typography,
|
|
10407
10469
|
{
|
|
10408
10470
|
variant: "body",
|
|
@@ -10418,16 +10480,16 @@ var SportsLiveScore = ({
|
|
|
10418
10480
|
}
|
|
10419
10481
|
);
|
|
10420
10482
|
};
|
|
10421
|
-
const renderStatus = () => /* @__PURE__ */ (0,
|
|
10422
|
-
isLiveIndicatorVisible ? /* @__PURE__ */ (0,
|
|
10483
|
+
const renderStatus = () => /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "flex min-w-0 items-center gap-2 text-agg-primary", children: [
|
|
10484
|
+
isLiveIndicatorVisible ? /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
10423
10485
|
"span",
|
|
10424
10486
|
{
|
|
10425
10487
|
"aria-hidden": "true",
|
|
10426
10488
|
className: "flex size-3.5 shrink-0 items-center justify-center rounded-agg-full bg-agg-primary/10",
|
|
10427
|
-
children: /* @__PURE__ */ (0,
|
|
10489
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "size-1.5 rounded-agg-full bg-agg-primary" })
|
|
10428
10490
|
}
|
|
10429
10491
|
) : null,
|
|
10430
|
-
/* @__PURE__ */ (0,
|
|
10492
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
10431
10493
|
Typography,
|
|
10432
10494
|
{
|
|
10433
10495
|
variant: "label-strong",
|
|
@@ -10440,7 +10502,7 @@ var SportsLiveScore = ({
|
|
|
10440
10502
|
)
|
|
10441
10503
|
] });
|
|
10442
10504
|
if (tennisSetScores && tennisSetScores[0].length > 0 && tennisSetScores[0].length === tennisSetScores[1].length) {
|
|
10443
|
-
const renderTennisParticipant = (participant, setScores, opponentSetScores) => /* @__PURE__ */ (0,
|
|
10505
|
+
const renderTennisParticipant = (participant, setScores, opponentSetScores) => /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: "contents", "data-testid": `tennis-score-row-${participant.position}`, children: [
|
|
10444
10506
|
renderParticipant(participant, "inline"),
|
|
10445
10507
|
setScores.map((setScore, setIndex) => {
|
|
10446
10508
|
var _a;
|
|
@@ -10448,8 +10510,8 @@ var SportsLiveScore = ({
|
|
|
10448
10510
|
const opponentSetScoreValue = Number.parseInt((_a = opponentSetScores[setIndex]) != null ? _a : "", 10);
|
|
10449
10511
|
const isCompletedSet = state.status === "finished" || setIndex < setScores.length - 1;
|
|
10450
10512
|
const isLosingCompletedSet = isCompletedSet && Number.isInteger(setScoreValue) && Number.isInteger(opponentSetScoreValue) && setScoreValue < opponentSetScoreValue;
|
|
10451
|
-
return /* @__PURE__ */ (0,
|
|
10452
|
-
setIndex > 0 ? /* @__PURE__ */ (0,
|
|
10513
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(import_react13.Fragment, { children: [
|
|
10514
|
+
setIndex > 0 ? /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
10453
10515
|
"span",
|
|
10454
10516
|
{
|
|
10455
10517
|
"aria-hidden": "true",
|
|
@@ -10460,7 +10522,7 @@ var SportsLiveScore = ({
|
|
|
10460
10522
|
children: "-"
|
|
10461
10523
|
}
|
|
10462
10524
|
) : null,
|
|
10463
|
-
/* @__PURE__ */ (0,
|
|
10525
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
10464
10526
|
Typography,
|
|
10465
10527
|
{
|
|
10466
10528
|
variant: "body-strong",
|
|
@@ -10471,7 +10533,7 @@ var SportsLiveScore = ({
|
|
|
10471
10533
|
] }, `${participant.position}-${setIndex}`);
|
|
10472
10534
|
})
|
|
10473
10535
|
] });
|
|
10474
|
-
return /* @__PURE__ */ (0,
|
|
10536
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
|
|
10475
10537
|
"div",
|
|
10476
10538
|
{
|
|
10477
10539
|
role: "status",
|
|
@@ -10482,7 +10544,7 @@ var SportsLiveScore = ({
|
|
|
10482
10544
|
className
|
|
10483
10545
|
),
|
|
10484
10546
|
children: [
|
|
10485
|
-
/* @__PURE__ */ (0,
|
|
10547
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
|
|
10486
10548
|
"div",
|
|
10487
10549
|
{
|
|
10488
10550
|
className: cn(
|
|
@@ -10503,7 +10565,7 @@ var SportsLiveScore = ({
|
|
|
10503
10565
|
}
|
|
10504
10566
|
);
|
|
10505
10567
|
}
|
|
10506
|
-
return /* @__PURE__ */ (0,
|
|
10568
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
|
|
10507
10569
|
"div",
|
|
10508
10570
|
{
|
|
10509
10571
|
role: "status",
|
|
@@ -10515,17 +10577,17 @@ var SportsLiveScore = ({
|
|
|
10515
10577
|
),
|
|
10516
10578
|
children: [
|
|
10517
10579
|
renderParticipant(firstParticipant),
|
|
10518
|
-
/* @__PURE__ */ (0,
|
|
10519
|
-
/* @__PURE__ */ (0,
|
|
10520
|
-
/* @__PURE__ */ (0,
|
|
10521
|
-
/* @__PURE__ */ (0,
|
|
10580
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: cn("flex flex-col items-center", isCard ? "gap-1" : "gap-3"), children: [
|
|
10581
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: cn("flex items-center", isCard ? "gap-2" : "gap-3"), children: [
|
|
10582
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)(Typography, { variant: "body-strong", className: scoreClassName, children: firstScore }),
|
|
10583
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
10522
10584
|
"span",
|
|
10523
10585
|
{
|
|
10524
10586
|
"aria-hidden": "true",
|
|
10525
10587
|
className: cn("shrink-0 bg-agg-separator", isCard ? "h-0.5 w-2" : "h-0.5 w-3")
|
|
10526
10588
|
}
|
|
10527
10589
|
),
|
|
10528
|
-
/* @__PURE__ */ (0,
|
|
10590
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)(Typography, { variant: "body-strong", className: scoreClassName, children: secondScore })
|
|
10529
10591
|
] }),
|
|
10530
10592
|
renderStatus()
|
|
10531
10593
|
] }),
|
|
@@ -10537,9 +10599,9 @@ var SportsLiveScore = ({
|
|
|
10537
10599
|
SportsLiveScore.displayName = "SportsLiveScore";
|
|
10538
10600
|
|
|
10539
10601
|
// src/events/item-details/event-list-item-details-market-selector.tsx
|
|
10540
|
-
var
|
|
10602
|
+
var import_hooks41 = require("@agg-build/hooks");
|
|
10541
10603
|
var import_react14 = require("react");
|
|
10542
|
-
var
|
|
10604
|
+
var import_jsx_runtime134 = require("react/jsx-runtime");
|
|
10543
10605
|
var MARKET_PILL_MAX_ROWS = 2;
|
|
10544
10606
|
var MARKET_PILL_FALLBACK_CONTAINER_WIDTH = 640;
|
|
10545
10607
|
var MARKET_PILL_FALLBACK_GAP = 8;
|
|
@@ -10636,10 +10698,10 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10636
10698
|
onChange
|
|
10637
10699
|
}) => {
|
|
10638
10700
|
var _a;
|
|
10639
|
-
const labels = (0,
|
|
10701
|
+
const labels = (0, import_hooks41.useLabels)();
|
|
10640
10702
|
const {
|
|
10641
10703
|
features: { enableAnimations }
|
|
10642
|
-
} = (0,
|
|
10704
|
+
} = (0, import_hooks41.useSdkUiConfig)();
|
|
10643
10705
|
const containerRef = (0, import_react14.useRef)(null);
|
|
10644
10706
|
const measurementContainerRef = (0, import_react14.useRef)(null);
|
|
10645
10707
|
const moreButtonRef = (0, import_react14.useRef)(null);
|
|
@@ -10855,7 +10917,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10855
10917
|
setIsDropdownOpen(false);
|
|
10856
10918
|
};
|
|
10857
10919
|
if (isMobileViewport && !alwaysShowMore) {
|
|
10858
|
-
return /* @__PURE__ */ (0,
|
|
10920
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
10859
10921
|
AutocompleteSelect,
|
|
10860
10922
|
{
|
|
10861
10923
|
options: browseOptions,
|
|
@@ -10869,12 +10931,12 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10869
10931
|
}
|
|
10870
10932
|
);
|
|
10871
10933
|
}
|
|
10872
|
-
return /* @__PURE__ */ (0,
|
|
10873
|
-
/* @__PURE__ */ (0,
|
|
10934
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { ref: containerRef, className: cn("agg-market-select relative w-full", className), children: [
|
|
10935
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "agg-market-pill-list flex flex-wrap gap-2", children: [
|
|
10874
10936
|
displayedOptions.map((option) => {
|
|
10875
10937
|
const isSelected = option.value === selectedValue;
|
|
10876
10938
|
const isLive = option.value === liveValue;
|
|
10877
|
-
return /* @__PURE__ */ (0,
|
|
10939
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
10878
10940
|
"button",
|
|
10879
10941
|
{
|
|
10880
10942
|
type: "button",
|
|
@@ -10892,7 +10954,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10892
10954
|
handleSelectMarket(option.value);
|
|
10893
10955
|
},
|
|
10894
10956
|
children: [
|
|
10895
|
-
isLive ? /* @__PURE__ */ (0,
|
|
10957
|
+
isLive ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
10896
10958
|
"span",
|
|
10897
10959
|
{
|
|
10898
10960
|
"aria-hidden": "true",
|
|
@@ -10902,8 +10964,8 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10902
10964
|
)
|
|
10903
10965
|
}
|
|
10904
10966
|
) : null,
|
|
10905
|
-
/* @__PURE__ */ (0,
|
|
10906
|
-
isLive ? /* @__PURE__ */ (0,
|
|
10967
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "truncate", children: option.label }),
|
|
10968
|
+
isLive ? /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("span", { className: "sr-only", children: [
|
|
10907
10969
|
" ",
|
|
10908
10970
|
labels.eventItemDetails.liveMarket
|
|
10909
10971
|
] }) : null
|
|
@@ -10912,7 +10974,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10912
10974
|
option.value
|
|
10913
10975
|
);
|
|
10914
10976
|
}),
|
|
10915
|
-
hasMoreButton ? /* @__PURE__ */ (0,
|
|
10977
|
+
hasMoreButton ? /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
10916
10978
|
"button",
|
|
10917
10979
|
{
|
|
10918
10980
|
ref: moreButtonRef,
|
|
@@ -10933,8 +10995,8 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10933
10995
|
setIsDropdownOpen((previousValue) => !previousValue);
|
|
10934
10996
|
},
|
|
10935
10997
|
children: [
|
|
10936
|
-
/* @__PURE__ */ (0,
|
|
10937
|
-
/* @__PURE__ */ (0,
|
|
10998
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "truncate", children: moreButtonLabel }),
|
|
10999
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
10938
11000
|
Icon,
|
|
10939
11001
|
{
|
|
10940
11002
|
name: isDropdownOpen ? "chevron-up" : "chevron-down",
|
|
@@ -10948,7 +11010,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10948
11010
|
}
|
|
10949
11011
|
) : null
|
|
10950
11012
|
] }),
|
|
10951
|
-
isDropdownOpen ? /* @__PURE__ */ (0,
|
|
11013
|
+
isDropdownOpen ? /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
10952
11014
|
"div",
|
|
10953
11015
|
{
|
|
10954
11016
|
id: "agg-event-details-market-dropdown",
|
|
@@ -10965,9 +11027,9 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10965
11027
|
eventToHandle.stopPropagation();
|
|
10966
11028
|
},
|
|
10967
11029
|
children: [
|
|
10968
|
-
/* @__PURE__ */ (0,
|
|
10969
|
-
/* @__PURE__ */ (0,
|
|
10970
|
-
/* @__PURE__ */ (0,
|
|
11030
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "border-b border-agg-separator", children: [
|
|
11031
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("label", { className: "sr-only", htmlFor: "agg-event-details-market-search", children: labels.eventItemDetails.marketSelectSearchPlaceholder }),
|
|
11032
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
10971
11033
|
"input",
|
|
10972
11034
|
{
|
|
10973
11035
|
ref: dropdownInputRef,
|
|
@@ -10989,7 +11051,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10989
11051
|
}
|
|
10990
11052
|
)
|
|
10991
11053
|
] }),
|
|
10992
|
-
/* @__PURE__ */ (0,
|
|
11054
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
10993
11055
|
"div",
|
|
10994
11056
|
{
|
|
10995
11057
|
role: "listbox",
|
|
@@ -10998,7 +11060,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
10998
11060
|
style: { maxHeight: `${MARKET_DROPDOWN_MAX_HEIGHT}px` },
|
|
10999
11061
|
children: filteredOptions.length > 0 ? filteredOptions.map((option) => {
|
|
11000
11062
|
const isSelected = option.value === selectedValue;
|
|
11001
|
-
return /* @__PURE__ */ (0,
|
|
11063
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
11002
11064
|
"button",
|
|
11003
11065
|
{
|
|
11004
11066
|
type: "button",
|
|
@@ -11017,25 +11079,25 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
11017
11079
|
handleSelectMarket(option.value);
|
|
11018
11080
|
},
|
|
11019
11081
|
children: [
|
|
11020
|
-
isSelected ? /* @__PURE__ */ (0,
|
|
11082
|
+
isSelected ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
11021
11083
|
"span",
|
|
11022
11084
|
{
|
|
11023
11085
|
"aria-hidden": "true",
|
|
11024
11086
|
className: "absolute bottom-2 left-0 top-2 w-1 bg-agg-primary"
|
|
11025
11087
|
}
|
|
11026
11088
|
) : null,
|
|
11027
|
-
/* @__PURE__ */ (0,
|
|
11089
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "truncate", children: option.label })
|
|
11028
11090
|
]
|
|
11029
11091
|
},
|
|
11030
11092
|
option.value
|
|
11031
11093
|
);
|
|
11032
|
-
}) : /* @__PURE__ */ (0,
|
|
11094
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "px-5 py-4 text-agg-sm leading-agg-5 text-agg-muted-foreground", children: labels.eventItemDetails.marketSelectEmpty })
|
|
11033
11095
|
}
|
|
11034
11096
|
)
|
|
11035
11097
|
]
|
|
11036
11098
|
}
|
|
11037
11099
|
) : null,
|
|
11038
|
-
/* @__PURE__ */ (0,
|
|
11100
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
11039
11101
|
"div",
|
|
11040
11102
|
{
|
|
11041
11103
|
ref: measurementContainerRef,
|
|
@@ -11044,7 +11106,7 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
11044
11106
|
children: [
|
|
11045
11107
|
options.map((option) => {
|
|
11046
11108
|
const isSelected = option.value === selectedValue;
|
|
11047
|
-
return /* @__PURE__ */ (0,
|
|
11109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
11048
11110
|
"button",
|
|
11049
11111
|
{
|
|
11050
11112
|
ref: (element) => {
|
|
@@ -11056,12 +11118,12 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
11056
11118
|
"inline-flex min-h-8 items-center justify-center rounded-agg-full border px-4 py-1.5 text-agg-sm leading-agg-5",
|
|
11057
11119
|
isSelected ? "border-agg-primary bg-agg-secondary font-agg-bold" : "border-transparent bg-agg-secondary-hover font-agg-normal"
|
|
11058
11120
|
),
|
|
11059
|
-
children: /* @__PURE__ */ (0,
|
|
11121
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "truncate", children: option.label })
|
|
11060
11122
|
},
|
|
11061
11123
|
option.value
|
|
11062
11124
|
);
|
|
11063
11125
|
}),
|
|
11064
|
-
/* @__PURE__ */ (0,
|
|
11126
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
11065
11127
|
"button",
|
|
11066
11128
|
{
|
|
11067
11129
|
ref: moreButtonMeasureRef,
|
|
@@ -11069,8 +11131,8 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
11069
11131
|
tabIndex: -1,
|
|
11070
11132
|
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",
|
|
11071
11133
|
children: [
|
|
11072
|
-
/* @__PURE__ */ (0,
|
|
11073
|
-
/* @__PURE__ */ (0,
|
|
11134
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { children: moreButtonLabel }),
|
|
11135
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
11074
11136
|
Icon,
|
|
11075
11137
|
{
|
|
11076
11138
|
name: "chevron-down",
|
|
@@ -11090,17 +11152,17 @@ var EventListItemDetailsMarketSelector = ({
|
|
|
11090
11152
|
};
|
|
11091
11153
|
|
|
11092
11154
|
// src/events/item-details/settlement-summary.tsx
|
|
11093
|
-
var
|
|
11155
|
+
var import_hooks44 = require("@agg-build/hooks");
|
|
11094
11156
|
var import_react17 = require("react");
|
|
11095
11157
|
|
|
11096
11158
|
// src/trading/settlement/index.tsx
|
|
11097
|
-
var
|
|
11159
|
+
var import_hooks43 = require("@agg-build/hooks");
|
|
11098
11160
|
var import_react16 = require("react");
|
|
11099
11161
|
|
|
11100
11162
|
// src/trading/utils.ts
|
|
11101
|
-
var
|
|
11163
|
+
var import_hooks42 = require("@agg-build/hooks");
|
|
11102
11164
|
var import_dayjs5 = __toESM(require("dayjs"));
|
|
11103
|
-
var defaultLabels = (0,
|
|
11165
|
+
var defaultLabels = (0, import_hooks42.resolveAggUiLabels)("en-US");
|
|
11104
11166
|
var defaultSettlementSectionLabel = defaultLabels.trading.settlementSection;
|
|
11105
11167
|
var defaultTradingDisclaimer = defaultLabels.trading.disclaimer;
|
|
11106
11168
|
|
|
@@ -11152,7 +11214,7 @@ var dedupeSettlementSources = (sources) => {
|
|
|
11152
11214
|
};
|
|
11153
11215
|
|
|
11154
11216
|
// src/trading/settlement/settlement-text-renderer.tsx
|
|
11155
|
-
var
|
|
11217
|
+
var import_jsx_runtime135 = require("react/jsx-runtime");
|
|
11156
11218
|
var inlineTokenRegex = new RegExp(
|
|
11157
11219
|
[
|
|
11158
11220
|
/\[([^\]\n]+)\]\(([^)\s]+)\)/.source,
|
|
@@ -11191,12 +11253,12 @@ var renderInlineSegment = (text, baseKey) => {
|
|
|
11191
11253
|
}
|
|
11192
11254
|
if (match.index > lastIndex) {
|
|
11193
11255
|
nodes.push(
|
|
11194
|
-
/* @__PURE__ */ (0,
|
|
11256
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_react15.Fragment, { children: text.slice(lastIndex, match.index) }, `${baseKey}-text-${segmentIndex++}`)
|
|
11195
11257
|
);
|
|
11196
11258
|
}
|
|
11197
11259
|
if (isLinkMatch(match)) {
|
|
11198
11260
|
nodes.push(
|
|
11199
|
-
/* @__PURE__ */ (0,
|
|
11261
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
11200
11262
|
"a",
|
|
11201
11263
|
{
|
|
11202
11264
|
href: match[2],
|
|
@@ -11210,7 +11272,7 @@ var renderInlineSegment = (text, baseKey) => {
|
|
|
11210
11272
|
);
|
|
11211
11273
|
} else if (match[3] !== void 0) {
|
|
11212
11274
|
nodes.push(
|
|
11213
|
-
/* @__PURE__ */ (0,
|
|
11275
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
11214
11276
|
"strong",
|
|
11215
11277
|
{
|
|
11216
11278
|
className: "agg-settlement-text-bold font-agg-bold",
|
|
@@ -11221,7 +11283,7 @@ var renderInlineSegment = (text, baseKey) => {
|
|
|
11221
11283
|
);
|
|
11222
11284
|
} else if (match[4] !== void 0) {
|
|
11223
11285
|
nodes.push(
|
|
11224
|
-
/* @__PURE__ */ (0,
|
|
11286
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
11225
11287
|
"code",
|
|
11226
11288
|
{
|
|
11227
11289
|
className: "agg-settlement-text-code rounded-agg-sm bg-agg-secondary-hover px-1 py-0.5 font-mono text-[0.875em]",
|
|
@@ -11232,7 +11294,7 @@ var renderInlineSegment = (text, baseKey) => {
|
|
|
11232
11294
|
);
|
|
11233
11295
|
} else if (bareUrl !== void 0) {
|
|
11234
11296
|
nodes.push(
|
|
11235
|
-
/* @__PURE__ */ (0,
|
|
11297
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
11236
11298
|
"a",
|
|
11237
11299
|
{
|
|
11238
11300
|
href: bareUrl,
|
|
@@ -11249,18 +11311,18 @@ var renderInlineSegment = (text, baseKey) => {
|
|
|
11249
11311
|
}
|
|
11250
11312
|
if (lastIndex < text.length) {
|
|
11251
11313
|
nodes.push(
|
|
11252
|
-
/* @__PURE__ */ (0,
|
|
11314
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_react15.Fragment, { children: text.slice(lastIndex) }, `${baseKey}-text-${segmentIndex++}`)
|
|
11253
11315
|
);
|
|
11254
11316
|
}
|
|
11255
11317
|
return nodes;
|
|
11256
11318
|
};
|
|
11257
11319
|
var renderBlock = (block, blockIndex) => {
|
|
11258
11320
|
if (block.kind === "list") {
|
|
11259
|
-
return /* @__PURE__ */ (0,
|
|
11321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
11260
11322
|
"ul",
|
|
11261
11323
|
{
|
|
11262
11324
|
className: "agg-settlement-text-list list-disc pl-5 text-agg-sm leading-agg-5 text-agg-foreground",
|
|
11263
|
-
children: block.items.map((item, itemIndex) => /* @__PURE__ */ (0,
|
|
11325
|
+
children: block.items.map((item, itemIndex) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
11264
11326
|
"li",
|
|
11265
11327
|
{
|
|
11266
11328
|
className: "agg-settlement-text-list-item",
|
|
@@ -11272,12 +11334,12 @@ var renderBlock = (block, blockIndex) => {
|
|
|
11272
11334
|
`block-${blockIndex}`
|
|
11273
11335
|
);
|
|
11274
11336
|
}
|
|
11275
|
-
return /* @__PURE__ */ (0,
|
|
11337
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
11276
11338
|
"p",
|
|
11277
11339
|
{
|
|
11278
11340
|
className: "agg-settlement-text-paragraph text-agg-sm leading-agg-5 text-agg-foreground break-words [overflow-wrap:anywhere]",
|
|
11279
|
-
children: block.lines.map((line, lineIndex) => /* @__PURE__ */ (0,
|
|
11280
|
-
lineIndex > 0 ? /* @__PURE__ */ (0,
|
|
11341
|
+
children: block.lines.map((line, lineIndex) => /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_react15.Fragment, { children: [
|
|
11342
|
+
lineIndex > 0 ? /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("br", {}) : null,
|
|
11281
11343
|
renderInlineSegment(line, `block-${blockIndex}-line-${lineIndex}`)
|
|
11282
11344
|
] }, `block-${blockIndex}-line-${lineIndex}`))
|
|
11283
11345
|
},
|
|
@@ -11290,12 +11352,12 @@ var SettlementTextRenderer = ({
|
|
|
11290
11352
|
}) => {
|
|
11291
11353
|
const blocks = parseSettlementBlocks(content);
|
|
11292
11354
|
if (blocks.length === 0) return null;
|
|
11293
|
-
return /* @__PURE__ */ (0,
|
|
11355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { className: cn("agg-settlement-text flex flex-col gap-2", className), children: blocks.map((block, blockIndex) => renderBlock(block, blockIndex)) });
|
|
11294
11356
|
};
|
|
11295
11357
|
SettlementTextRenderer.displayName = "SettlementTextRenderer";
|
|
11296
11358
|
|
|
11297
11359
|
// src/trading/settlement/index.tsx
|
|
11298
|
-
var
|
|
11360
|
+
var import_jsx_runtime136 = require("react/jsx-runtime");
|
|
11299
11361
|
var SETTLEMENT_SECTION_ID = "agg-settlement-section";
|
|
11300
11362
|
var getSettlementDifferenceId = (sectionId, canonicalKey) => {
|
|
11301
11363
|
return `${sectionId}-difference-${canonicalKey}`;
|
|
@@ -11462,13 +11524,13 @@ var SettlementVenueRules = ({
|
|
|
11462
11524
|
rules,
|
|
11463
11525
|
labels
|
|
11464
11526
|
}) => {
|
|
11465
|
-
return /* @__PURE__ */ (0,
|
|
11466
|
-
/* @__PURE__ */ (0,
|
|
11467
|
-
/* @__PURE__ */ (0,
|
|
11527
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "agg-settlement-venue-rules flex w-full flex-col items-start gap-4", children: [
|
|
11528
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.trading.settlementFullRulesTitle }),
|
|
11529
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { className: "flex w-full flex-col items-start gap-4", children: rules.map((rule) => {
|
|
11468
11530
|
const venueLabel = resolveSettlementVenueLabel(rule.venue, labels);
|
|
11469
|
-
return /* @__PURE__ */ (0,
|
|
11470
|
-
/* @__PURE__ */ (0,
|
|
11471
|
-
/* @__PURE__ */ (0,
|
|
11531
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("details", { className: "group/agg-settlement-rule w-full", children: [
|
|
11532
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.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: [
|
|
11533
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
11472
11534
|
VenueLogo,
|
|
11473
11535
|
{
|
|
11474
11536
|
venue: rule.venue,
|
|
@@ -11477,8 +11539,8 @@ var SettlementVenueRules = ({
|
|
|
11477
11539
|
ariaLabel: venueLabel
|
|
11478
11540
|
}
|
|
11479
11541
|
),
|
|
11480
|
-
/* @__PURE__ */ (0,
|
|
11481
|
-
/* @__PURE__ */ (0,
|
|
11542
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("span", { className: "text-agg-foreground group-hover/agg-settlement-rule:text-agg-muted-foreground transition-colors", children: venueLabel }),
|
|
11543
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
11482
11544
|
"i",
|
|
11483
11545
|
{
|
|
11484
11546
|
className: cn(
|
|
@@ -11491,7 +11553,7 @@ var SettlementVenueRules = ({
|
|
|
11491
11553
|
}
|
|
11492
11554
|
)
|
|
11493
11555
|
] }),
|
|
11494
|
-
/* @__PURE__ */ (0,
|
|
11556
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { className: "mt-3 pl-6", children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(SettlementTextRenderer, { content: rule.content }) })
|
|
11495
11557
|
] }, rule.venue);
|
|
11496
11558
|
}) })
|
|
11497
11559
|
] });
|
|
@@ -11510,7 +11572,7 @@ var Settlement = ({
|
|
|
11510
11572
|
isLoading = false
|
|
11511
11573
|
}) => {
|
|
11512
11574
|
var _a, _b, _c, _d, _e;
|
|
11513
|
-
const labels = (0,
|
|
11575
|
+
const labels = (0, import_hooks43.useLabels)();
|
|
11514
11576
|
const blocks = (0, import_react16.useMemo)(
|
|
11515
11577
|
() => dedupeSettlementSources({
|
|
11516
11578
|
eventDescription,
|
|
@@ -11555,7 +11617,7 @@ var Settlement = ({
|
|
|
11555
11617
|
);
|
|
11556
11618
|
};
|
|
11557
11619
|
if (isLoading) {
|
|
11558
|
-
return /* @__PURE__ */ (0,
|
|
11620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
11559
11621
|
Skeleton,
|
|
11560
11622
|
{
|
|
11561
11623
|
ariaLabel: labels.trading.settlementLoading,
|
|
@@ -11566,7 +11628,7 @@ var Settlement = ({
|
|
|
11566
11628
|
}
|
|
11567
11629
|
if (!hasSettlementContent) return null;
|
|
11568
11630
|
const resolvedSectionLabel = sectionLabel === defaultSettlementSectionLabel ? labels.trading.settlementSection : sectionLabel;
|
|
11569
|
-
return /* @__PURE__ */ (0,
|
|
11631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
|
|
11570
11632
|
Card,
|
|
11571
11633
|
{
|
|
11572
11634
|
id,
|
|
@@ -11576,51 +11638,51 @@ var Settlement = ({
|
|
|
11576
11638
|
className
|
|
11577
11639
|
),
|
|
11578
11640
|
children: [
|
|
11579
|
-
/* @__PURE__ */ (0,
|
|
11580
|
-
/* @__PURE__ */ (0,
|
|
11581
|
-
question ? /* @__PURE__ */ (0,
|
|
11641
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.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: [
|
|
11642
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("p", { className: "shrink-0 text-agg-xs font-agg-bold leading-agg-4 uppercase", children: resolvedSectionLabel }),
|
|
11643
|
+
question ? /* @__PURE__ */ (0, import_jsx_runtime136.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
|
|
11582
11644
|
] }),
|
|
11583
|
-
/* @__PURE__ */ (0,
|
|
11584
|
-
hasStandaloneSettlementText ? /* @__PURE__ */ (0,
|
|
11585
|
-
standaloneEventBlock || standaloneMarketBlock ? /* @__PURE__ */ (0,
|
|
11645
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "agg-settlement-sections flex w-full flex-col items-start gap-5", children: [
|
|
11646
|
+
hasStandaloneSettlementText ? /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "w-full", children: [
|
|
11647
|
+
standaloneEventBlock || standaloneMarketBlock ? /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
|
|
11586
11648
|
"div",
|
|
11587
11649
|
{
|
|
11588
11650
|
className: "agg-settlement-section agg-settlement-section-description",
|
|
11589
11651
|
"data-source": "description",
|
|
11590
11652
|
children: [
|
|
11591
|
-
standaloneEventBlock ? /* @__PURE__ */ (0,
|
|
11592
|
-
standaloneEventBlock && standaloneMarketBlock ? /* @__PURE__ */ (0,
|
|
11593
|
-
standaloneMarketBlock ? /* @__PURE__ */ (0,
|
|
11653
|
+
standaloneEventBlock ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { "data-source": "eventDescription", children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(SettlementTextRenderer, { content: standaloneEventBlock.content }) }) : null,
|
|
11654
|
+
standaloneEventBlock && standaloneMarketBlock ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("hr", { className: "agg-settlement-divider my-4 border-0 border-t border-agg-separator" }) : null,
|
|
11655
|
+
standaloneMarketBlock ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { "data-source": "marketDescription", children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(SettlementTextRenderer, { content: standaloneMarketBlock.content }) }) : null
|
|
11594
11656
|
]
|
|
11595
11657
|
}
|
|
11596
11658
|
) : null,
|
|
11597
|
-
standalonePrimaryRulesBlock ? /* @__PURE__ */ (0,
|
|
11659
|
+
standalonePrimaryRulesBlock ? /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
|
|
11598
11660
|
"div",
|
|
11599
11661
|
{
|
|
11600
11662
|
className: "agg-settlement-section agg-settlement-section-primaryRules",
|
|
11601
11663
|
"data-source": "primaryRules",
|
|
11602
11664
|
children: [
|
|
11603
|
-
/* @__PURE__ */ (0,
|
|
11604
|
-
/* @__PURE__ */ (0,
|
|
11665
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.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 }),
|
|
11666
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(SettlementTextRenderer, { content: standalonePrimaryRulesBlock.content })
|
|
11605
11667
|
]
|
|
11606
11668
|
}
|
|
11607
11669
|
) : null
|
|
11608
11670
|
] }) : null,
|
|
11609
|
-
hasSettlementDifferences ? /* @__PURE__ */ (0,
|
|
11610
|
-
/* @__PURE__ */ (0,
|
|
11611
|
-
/* @__PURE__ */ (0,
|
|
11612
|
-
/* @__PURE__ */ (0,
|
|
11671
|
+
hasSettlementDifferences ? /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "agg-settlement-differences flex w-full flex-col items-start gap-5", children: [
|
|
11672
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
11673
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.trading.settlementDifferencesTitle }),
|
|
11674
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.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 })
|
|
11613
11675
|
] }),
|
|
11614
|
-
/* @__PURE__ */ (0,
|
|
11676
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { className: "flex w-full flex-col items-start gap-5", children: settlementDifferences.map((difference) => {
|
|
11615
11677
|
const venueKeys = resolveDifferenceVenueKeys(difference, settlementVenues);
|
|
11616
11678
|
const isExpanded = openDifferenceKeys.includes(difference.canonicalKey) && venueKeys.length > 0;
|
|
11617
|
-
return /* @__PURE__ */ (0,
|
|
11679
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
|
|
11618
11680
|
"div",
|
|
11619
11681
|
{
|
|
11620
11682
|
id: getSettlementDifferenceId(id, difference.canonicalKey),
|
|
11621
11683
|
className: "agg-settlement-difference flex w-full flex-col items-start gap-2 rounded-agg-lg",
|
|
11622
11684
|
children: [
|
|
11623
|
-
/* @__PURE__ */ (0,
|
|
11685
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
|
|
11624
11686
|
"button",
|
|
11625
11687
|
{
|
|
11626
11688
|
type: "button",
|
|
@@ -11628,7 +11690,7 @@ var Settlement = ({
|
|
|
11628
11690
|
"aria-expanded": isExpanded,
|
|
11629
11691
|
onClick: () => handleToggleDifference(difference.canonicalKey),
|
|
11630
11692
|
children: [
|
|
11631
|
-
/* @__PURE__ */ (0,
|
|
11693
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
11632
11694
|
"i",
|
|
11633
11695
|
{
|
|
11634
11696
|
className: cn(
|
|
@@ -11639,8 +11701,8 @@ var Settlement = ({
|
|
|
11639
11701
|
"aria-hidden": "true"
|
|
11640
11702
|
}
|
|
11641
11703
|
),
|
|
11642
|
-
/* @__PURE__ */ (0,
|
|
11643
|
-
/* @__PURE__ */ (0,
|
|
11704
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.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 }),
|
|
11705
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
11644
11706
|
"i",
|
|
11645
11707
|
{
|
|
11646
11708
|
className: cn(
|
|
@@ -11655,12 +11717,12 @@ var Settlement = ({
|
|
|
11655
11717
|
]
|
|
11656
11718
|
}
|
|
11657
11719
|
),
|
|
11658
|
-
isExpanded ? /* @__PURE__ */ (0,
|
|
11720
|
+
isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("dl", { className: "flex w-full flex-col items-start gap-1 px-6", children: venueKeys.map((venue) => {
|
|
11659
11721
|
var _a2;
|
|
11660
11722
|
const venueValue = (_a2 = difference.perVenue[venue]) != null ? _a2 : labels.trading.settlementValueUnavailable;
|
|
11661
11723
|
const venueLabel = resolveSettlementVenueLabel(venue, labels);
|
|
11662
|
-
return /* @__PURE__ */ (0,
|
|
11663
|
-
/* @__PURE__ */ (0,
|
|
11724
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { className: "flex w-full items-start gap-2", children: [
|
|
11725
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
11664
11726
|
VenueLogo,
|
|
11665
11727
|
{
|
|
11666
11728
|
venue,
|
|
@@ -11669,8 +11731,8 @@ var Settlement = ({
|
|
|
11669
11731
|
ariaLabel: venueLabel
|
|
11670
11732
|
}
|
|
11671
11733
|
),
|
|
11672
|
-
/* @__PURE__ */ (0,
|
|
11673
|
-
/* @__PURE__ */ (0,
|
|
11734
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("dt", { className: "w-[88px] shrink-0 text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground", children: venueLabel }),
|
|
11735
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.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 })
|
|
11674
11736
|
] }, venue);
|
|
11675
11737
|
}) }) : null
|
|
11676
11738
|
]
|
|
@@ -11679,9 +11741,9 @@ var Settlement = ({
|
|
|
11679
11741
|
);
|
|
11680
11742
|
}) })
|
|
11681
11743
|
] }) : null,
|
|
11682
|
-
hasVenueSettlementRules ? /* @__PURE__ */ (0,
|
|
11683
|
-
hasSettlementDifferences || hasStandaloneSettlementText ? /* @__PURE__ */ (0,
|
|
11684
|
-
/* @__PURE__ */ (0,
|
|
11744
|
+
hasVenueSettlementRules ? /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_jsx_runtime136.Fragment, { children: [
|
|
11745
|
+
hasSettlementDifferences || hasStandaloneSettlementText ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { className: "h-px w-full bg-agg-separator" }) : null,
|
|
11746
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(SettlementVenueRules, { rules: venueRuleBlocks, labels })
|
|
11685
11747
|
] }) : null
|
|
11686
11748
|
] })
|
|
11687
11749
|
]
|
|
@@ -11691,13 +11753,13 @@ var Settlement = ({
|
|
|
11691
11753
|
Settlement.displayName = "Settlement";
|
|
11692
11754
|
|
|
11693
11755
|
// src/events/item-details/settlement-summary.tsx
|
|
11694
|
-
var
|
|
11756
|
+
var import_jsx_runtime137 = require("react/jsx-runtime");
|
|
11695
11757
|
var SettlementSummary = ({
|
|
11696
11758
|
settlementDiff,
|
|
11697
11759
|
settlementSectionId = SETTLEMENT_SECTION_ID,
|
|
11698
11760
|
className
|
|
11699
11761
|
}) => {
|
|
11700
|
-
const labels = (0,
|
|
11762
|
+
const labels = (0, import_hooks44.useLabels)();
|
|
11701
11763
|
const settlementDifferences = (0, import_react17.useMemo)(
|
|
11702
11764
|
() => prepareSettlementDifferences(settlementDiff == null ? void 0 : settlementDiff.differences),
|
|
11703
11765
|
[settlementDiff == null ? void 0 : settlementDiff.differences]
|
|
@@ -11711,7 +11773,7 @@ var SettlementSummary = ({
|
|
|
11711
11773
|
if (!target) return;
|
|
11712
11774
|
target.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
11713
11775
|
};
|
|
11714
|
-
const actionButton = /* @__PURE__ */ (0,
|
|
11776
|
+
const actionButton = /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(
|
|
11715
11777
|
"button",
|
|
11716
11778
|
{
|
|
11717
11779
|
type: "button",
|
|
@@ -11724,8 +11786,8 @@ var SettlementSummary = ({
|
|
|
11724
11786
|
"aria-controls": settlementSectionId,
|
|
11725
11787
|
onClick: handleReadFullDetails,
|
|
11726
11788
|
children: [
|
|
11727
|
-
/* @__PURE__ */ (0,
|
|
11728
|
-
/* @__PURE__ */ (0,
|
|
11789
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { children: labels.settlementSummary.readFullDetails }),
|
|
11790
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
11729
11791
|
"i",
|
|
11730
11792
|
{
|
|
11731
11793
|
className: "fi fi-rr-arrow-small-down size-3.5!",
|
|
@@ -11738,7 +11800,7 @@ var SettlementSummary = ({
|
|
|
11738
11800
|
);
|
|
11739
11801
|
const visibleDifferences = settlementDifferences.slice(0, 2);
|
|
11740
11802
|
const hiddenDifferenceCount = settlementDifferences.length - visibleDifferences.length;
|
|
11741
|
-
return /* @__PURE__ */ (0,
|
|
11803
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(
|
|
11742
11804
|
"div",
|
|
11743
11805
|
{
|
|
11744
11806
|
className: cn(
|
|
@@ -11746,18 +11808,18 @@ var SettlementSummary = ({
|
|
|
11746
11808
|
className
|
|
11747
11809
|
),
|
|
11748
11810
|
children: [
|
|
11749
|
-
/* @__PURE__ */ (0,
|
|
11750
|
-
/* @__PURE__ */ (0,
|
|
11751
|
-
/* @__PURE__ */ (0,
|
|
11752
|
-
/* @__PURE__ */ (0,
|
|
11811
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex min-w-[240px] flex-1 flex-wrap items-center gap-x-5 gap-y-3", children: [
|
|
11812
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "agg-settlement-summary-heading flex shrink-0 items-center gap-2", children: [
|
|
11813
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("p", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground", children: labels.settlementSummary.title }),
|
|
11814
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.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 })
|
|
11753
11815
|
] }),
|
|
11754
|
-
/* @__PURE__ */ (0,
|
|
11755
|
-
visibleDifferences.map((difference) => /* @__PURE__ */ (0,
|
|
11816
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "agg-settlement-summary-pills flex min-w-[240px] flex-1 flex-wrap items-center gap-2", children: [
|
|
11817
|
+
visibleDifferences.map((difference) => /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(
|
|
11756
11818
|
"span",
|
|
11757
11819
|
{
|
|
11758
11820
|
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]",
|
|
11759
11821
|
children: [
|
|
11760
|
-
/* @__PURE__ */ (0,
|
|
11822
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
11761
11823
|
"i",
|
|
11762
11824
|
{
|
|
11763
11825
|
className: cn(
|
|
@@ -11768,12 +11830,12 @@ var SettlementSummary = ({
|
|
|
11768
11830
|
"aria-hidden": "true"
|
|
11769
11831
|
}
|
|
11770
11832
|
),
|
|
11771
|
-
/* @__PURE__ */ (0,
|
|
11833
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "min-w-0 truncate", children: difference.title })
|
|
11772
11834
|
]
|
|
11773
11835
|
},
|
|
11774
11836
|
difference.canonicalKey
|
|
11775
11837
|
)),
|
|
11776
|
-
hiddenDifferenceCount > 0 ? /* @__PURE__ */ (0,
|
|
11838
|
+
hiddenDifferenceCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime137.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: [
|
|
11777
11839
|
"+",
|
|
11778
11840
|
hiddenDifferenceCount
|
|
11779
11841
|
] }) : null
|
|
@@ -11787,7 +11849,7 @@ var SettlementSummary = ({
|
|
|
11787
11849
|
SettlementSummary.displayName = "SettlementSummary";
|
|
11788
11850
|
|
|
11789
11851
|
// src/events/item-details/index.tsx
|
|
11790
|
-
var
|
|
11852
|
+
var import_jsx_runtime138 = require("react/jsx-runtime");
|
|
11791
11853
|
var resolveEventDetailsSyncKey = (event) => {
|
|
11792
11854
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
11793
11855
|
const parts = [
|
|
@@ -11832,8 +11894,8 @@ var EventListItemDetailsLoadingState = ({
|
|
|
11832
11894
|
classNames,
|
|
11833
11895
|
ariaLabel
|
|
11834
11896
|
}) => {
|
|
11835
|
-
const labels = (0,
|
|
11836
|
-
return /* @__PURE__ */ (0,
|
|
11897
|
+
const labels = (0, import_hooks45.useLabels)();
|
|
11898
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
11837
11899
|
Skeleton,
|
|
11838
11900
|
{
|
|
11839
11901
|
view: "event-list-item-details",
|
|
@@ -11846,16 +11908,16 @@ var EventListItemDetailsUnavailableState = ({
|
|
|
11846
11908
|
classNames,
|
|
11847
11909
|
ariaLabel
|
|
11848
11910
|
}) => {
|
|
11849
|
-
const labels = (0,
|
|
11850
|
-
return /* @__PURE__ */ (0,
|
|
11911
|
+
const labels = (0, import_hooks45.useLabels)();
|
|
11912
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
11851
11913
|
Card,
|
|
11852
11914
|
{
|
|
11853
11915
|
className: cn(detailsBaseCardClassName, classNames == null ? void 0 : classNames.root),
|
|
11854
11916
|
role: "status",
|
|
11855
11917
|
"aria-label": ariaLabel != null ? ariaLabel : labels.eventItemDetails.unavailableAria,
|
|
11856
|
-
children: /* @__PURE__ */ (0,
|
|
11857
|
-
/* @__PURE__ */ (0,
|
|
11858
|
-
/* @__PURE__ */ (0,
|
|
11918
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { className: cn("flex flex-col gap-1", classNames == null ? void 0 : classNames.header), children: [
|
|
11919
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Typography, { variant: "body-large-strong", className: cn("truncate", classNames == null ? void 0 : classNames.title), children: labels.eventItemDetails.unavailableTitle }),
|
|
11920
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Typography, { variant: "body", className: "text-agg-muted-foreground", children: labels.eventItemDetails.unavailableDescription })
|
|
11859
11921
|
] })
|
|
11860
11922
|
}
|
|
11861
11923
|
);
|
|
@@ -11864,13 +11926,13 @@ var EventListItemDetailsNotFoundState = ({
|
|
|
11864
11926
|
classNames: _classNames,
|
|
11865
11927
|
ariaLabel: _ariaLabel
|
|
11866
11928
|
}) => {
|
|
11867
|
-
const labels = (0,
|
|
11868
|
-
return /* @__PURE__ */ (0,
|
|
11929
|
+
const labels = (0, import_hooks45.useLabels)();
|
|
11930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
11869
11931
|
StateMessage,
|
|
11870
11932
|
{
|
|
11871
11933
|
title: labels.eventItemDetails.notFoundTitle,
|
|
11872
11934
|
description: labels.eventItemDetails.notFoundDescription,
|
|
11873
|
-
icon: /* @__PURE__ */ (0,
|
|
11935
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SearchEmptyIcon, {}),
|
|
11874
11936
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
11875
11937
|
}
|
|
11876
11938
|
);
|
|
@@ -11895,8 +11957,8 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11895
11957
|
onRangeOverrideChange
|
|
11896
11958
|
}) => {
|
|
11897
11959
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
11898
|
-
const labels = (0,
|
|
11899
|
-
const tradingContext = (0,
|
|
11960
|
+
const labels = (0, import_hooks45.useLabels)();
|
|
11961
|
+
const tradingContext = (0, import_hooks37.useEventTradingContext)();
|
|
11900
11962
|
const [selectedGraphVenue, setSelectedGraphVenue] = (0, import_react18.useState)(null);
|
|
11901
11963
|
const [chartOutcomeLabel, setChartOutcomeLabel] = (0, import_react18.useState)(
|
|
11902
11964
|
(_c = (_b = (_a = tradingContext == null ? void 0 : tradingContext.selectedOutcome) == null ? void 0 : _a.label) == null ? void 0 : _b.trim()) != null ? _c : null
|
|
@@ -11913,10 +11975,10 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11913
11975
|
chart: { selectedChartTimeRange },
|
|
11914
11976
|
formatting: { formatPercent, formatPrice },
|
|
11915
11977
|
general: { theme }
|
|
11916
|
-
} = (0,
|
|
11978
|
+
} = (0, import_hooks45.useSdkUiConfig)();
|
|
11917
11979
|
const isDarkTheme = theme === "dark";
|
|
11918
11980
|
const effectiveChartTimeRange = rangeOverride != null ? rangeOverride : selectedChartTimeRange;
|
|
11919
|
-
const rollingWindow = (0,
|
|
11981
|
+
const rollingWindow = (0, import_hooks45.useRollingChartWindow)({ range: effectiveChartTimeRange });
|
|
11920
11982
|
const availableMarkets = (0, import_react18.useMemo)(() => {
|
|
11921
11983
|
var _a2, _b2, _c2, _d2;
|
|
11922
11984
|
if (venueMarkets.length === 0) return [];
|
|
@@ -11947,7 +12009,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
11947
12009
|
isLoading: isScopedMarketChartLoading,
|
|
11948
12010
|
error: scopedMarketChartError,
|
|
11949
12011
|
refetch: refetchScopedMarketChart
|
|
11950
|
-
} = (0,
|
|
12012
|
+
} = (0, import_hooks45.useMarketChart)({
|
|
11951
12013
|
marketId: chartPrimaryOutcomeId,
|
|
11952
12014
|
venueMarketIds: availableVenueOutcomes.map((item) => item.outcome.id),
|
|
11953
12015
|
interval: rollingWindow.interval,
|
|
@@ -12004,7 +12066,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
12004
12066
|
const resolvedOutcomePriceByMarketId = (0, import_react18.useMemo)(() => {
|
|
12005
12067
|
const map = /* @__PURE__ */ new Map();
|
|
12006
12068
|
for (const market of availableMarkets) {
|
|
12007
|
-
const marketTradingState = (0,
|
|
12069
|
+
const marketTradingState = (0, import_hooks45.resolveMarketTradingState)(market);
|
|
12008
12070
|
if (marketTradingState.kind !== "resolved") continue;
|
|
12009
12071
|
const outcomePriceMap = resolveResolvedOutcomePriceMap(market.venueMarketOutcomes);
|
|
12010
12072
|
if (outcomePriceMap) {
|
|
@@ -12064,18 +12126,18 @@ var EventListItemDetailsGraphSection = ({
|
|
|
12064
12126
|
void refetchScopedMarketChart();
|
|
12065
12127
|
};
|
|
12066
12128
|
if (scopedMarketChartError) {
|
|
12067
|
-
return /* @__PURE__ */ (0,
|
|
12129
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("div", { className: cn("agg-chart-region w-full", classNames == null ? void 0 : classNames.chart), children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12068
12130
|
StateMessage,
|
|
12069
12131
|
{
|
|
12070
12132
|
title: labels.eventItemDetails.chartUnavailableTitle,
|
|
12071
12133
|
description: labels.eventItemDetails.chartUnavailableDescription,
|
|
12072
|
-
icon: /* @__PURE__ */ (0,
|
|
12134
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(WarningIcon, {}),
|
|
12073
12135
|
onAction: handleRetryMarketChart,
|
|
12074
12136
|
classNames: { root: "min-h-[300px] px-5 py-10 md:px-10" }
|
|
12075
12137
|
}
|
|
12076
12138
|
) });
|
|
12077
12139
|
}
|
|
12078
|
-
return /* @__PURE__ */ (0,
|
|
12140
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12079
12141
|
LineChart,
|
|
12080
12142
|
{
|
|
12081
12143
|
classNames: { root: cn("agg-chart-region", classNames == null ? void 0 : classNames.chart) },
|
|
@@ -12088,7 +12150,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
12088
12150
|
showSeriesControls: selectedMarketOutcomes.length > 0,
|
|
12089
12151
|
renderSeriesControls: ({ handleSeriesChange }) => {
|
|
12090
12152
|
var _a2, _b2, _c2, _d2;
|
|
12091
|
-
return /* @__PURE__ */ (0,
|
|
12153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
12092
12154
|
"div",
|
|
12093
12155
|
{
|
|
12094
12156
|
className: cn(
|
|
@@ -12099,7 +12161,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
12099
12161
|
classNames == null ? void 0 : classNames.summary
|
|
12100
12162
|
),
|
|
12101
12163
|
children: [
|
|
12102
|
-
/* @__PURE__ */ (0,
|
|
12164
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12103
12165
|
"div",
|
|
12104
12166
|
{
|
|
12105
12167
|
className: cn(
|
|
@@ -12113,7 +12175,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
12113
12175
|
const text = formatMarketProbabilityPercent(percentage, formatPercent);
|
|
12114
12176
|
const seriesId = `${item.venue}-chart`;
|
|
12115
12177
|
const isActiveVenue = activeGraphVenue === item.venue;
|
|
12116
|
-
return /* @__PURE__ */ (0,
|
|
12178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12117
12179
|
"button",
|
|
12118
12180
|
{
|
|
12119
12181
|
type: "button",
|
|
@@ -12132,12 +12194,12 @@ var EventListItemDetailsGraphSection = ({
|
|
|
12132
12194
|
setSelectedGraphVenue(nextSelectedGraphVenue);
|
|
12133
12195
|
handleSeriesChange(seriesId);
|
|
12134
12196
|
},
|
|
12135
|
-
children: /* @__PURE__ */ (0,
|
|
12197
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12136
12198
|
Badge,
|
|
12137
12199
|
{
|
|
12138
12200
|
text,
|
|
12139
12201
|
size: "large",
|
|
12140
|
-
prefix: /* @__PURE__ */ (0,
|
|
12202
|
+
prefix: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12141
12203
|
VenueLogo,
|
|
12142
12204
|
{
|
|
12143
12205
|
venue: item.market.venue,
|
|
@@ -12159,7 +12221,7 @@ var EventListItemDetailsGraphSection = ({
|
|
|
12159
12221
|
})
|
|
12160
12222
|
}
|
|
12161
12223
|
),
|
|
12162
|
-
/* @__PURE__ */ (0,
|
|
12224
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12163
12225
|
SwitchButton,
|
|
12164
12226
|
{
|
|
12165
12227
|
ariaLabel: labels.eventItemDetails.outcomeSelectorAria,
|
|
@@ -12203,6 +12265,7 @@ var EventListItemDetailsContent = ({
|
|
|
12203
12265
|
event,
|
|
12204
12266
|
defaultMarketId,
|
|
12205
12267
|
defaultOutcomeId,
|
|
12268
|
+
defaultTradeSide,
|
|
12206
12269
|
classNames,
|
|
12207
12270
|
venueInfo,
|
|
12208
12271
|
detailsStats,
|
|
@@ -12219,12 +12282,12 @@ var EventListItemDetailsContent = ({
|
|
|
12219
12282
|
const lastAppliedEventSyncKeyRef = (0, import_react18.useRef)(null);
|
|
12220
12283
|
const lastAppliedDefaultRef = (0, import_react18.useRef)(null);
|
|
12221
12284
|
const [chartRangeOverride, setChartRangeOverride] = (0, import_react18.useState)(null);
|
|
12222
|
-
const config = (0,
|
|
12223
|
-
const labels = (0,
|
|
12224
|
-
const tradingContext = (0,
|
|
12285
|
+
const config = (0, import_hooks45.useSdkUiConfig)();
|
|
12286
|
+
const labels = (0, import_hooks45.useLabels)();
|
|
12287
|
+
const tradingContext = (0, import_hooks37.useEventTradingContext)();
|
|
12225
12288
|
const eventSyncKey = (0, import_react18.useMemo)(() => resolveEventDetailsSyncKey(event), [event]);
|
|
12226
12289
|
const resolvedEventTradingState = (0, import_react18.useMemo)(() => {
|
|
12227
|
-
return eventTradingState != null ? eventTradingState : (0,
|
|
12290
|
+
return eventTradingState != null ? eventTradingState : (0, import_hooks45.resolveEventTradingState)(event);
|
|
12228
12291
|
}, [event, eventTradingState]);
|
|
12229
12292
|
const scopedSelectedMarket = (tradingContext == null ? void 0 : tradingContext.selectedEventId) === event.id ? (_a = tradingContext.selectedMarket) != null ? _a : resolvedEventTradingState.primaryMarket : resolvedEventTradingState.primaryMarket;
|
|
12230
12293
|
const venueMarkets = (0, import_react18.useMemo)(
|
|
@@ -12235,12 +12298,12 @@ var EventListItemDetailsContent = ({
|
|
|
12235
12298
|
return normalizeVenueMarketCluster(venueMarkets);
|
|
12236
12299
|
}, [venueMarkets]);
|
|
12237
12300
|
const scopedSelectedMarketId = (tradingContext == null ? void 0 : tradingContext.selectedEventId) === event.id ? tradingContext.selectedMarketId : null;
|
|
12238
|
-
(0,
|
|
12301
|
+
(0, import_hooks45.useEventOrderbookData)(
|
|
12239
12302
|
resolvedEventTradingState.isTradingDisabled ? [] : resolvedEventTradingState.displayMarkets,
|
|
12240
12303
|
scopedSelectedMarketId
|
|
12241
12304
|
);
|
|
12242
|
-
const wsLivePrices = (0,
|
|
12243
|
-
const wsBestPrices = (0,
|
|
12305
|
+
const wsLivePrices = (0, import_hooks45.useLiveOutcomePrices)(eventDetailVenueMarkets);
|
|
12306
|
+
const wsBestPrices = (0, import_hooks45.useLiveBestPrices)(eventDetailVenueMarkets);
|
|
12244
12307
|
const resolvedMidpointsResult = midpointsResult != null ? midpointsResult : {
|
|
12245
12308
|
prices: /* @__PURE__ */ new Map(),
|
|
12246
12309
|
bestMidpointsByOutcomeId: /* @__PURE__ */ new Map(),
|
|
@@ -12255,7 +12318,7 @@ var EventListItemDetailsContent = ({
|
|
|
12255
12318
|
const bestMidpoint = resolvedMidpointsResult.bestMidpoint;
|
|
12256
12319
|
const restBestPrices = resolvedMidpointsResult.bestPrices;
|
|
12257
12320
|
const bestPrices = (0, import_react18.useMemo)(
|
|
12258
|
-
() => (0,
|
|
12321
|
+
() => (0, import_hooks45.mergeBestPricesPreferringLive)(restBestPrices, wsBestPrices),
|
|
12259
12322
|
[restBestPrices, wsBestPrices]
|
|
12260
12323
|
);
|
|
12261
12324
|
const livePrices = (0, import_react18.useMemo)(() => {
|
|
@@ -12289,7 +12352,7 @@ var EventListItemDetailsContent = ({
|
|
|
12289
12352
|
if (!tradingContext) return;
|
|
12290
12353
|
if (!defaultMarketId) return;
|
|
12291
12354
|
if (tradingContext.selectedEventId !== event.id) return;
|
|
12292
|
-
const applyKey = `${event.id}::${defaultMarketId}::${defaultOutcomeId != null ? defaultOutcomeId : ""}`;
|
|
12355
|
+
const applyKey = `${event.id}::${defaultMarketId}::${defaultOutcomeId != null ? defaultOutcomeId : ""}::${defaultTradeSide != null ? defaultTradeSide : ""}`;
|
|
12293
12356
|
if (lastAppliedDefaultRef.current === applyKey) return;
|
|
12294
12357
|
const nextMarket = event.venueMarkets.find((market) => market.id === defaultMarketId);
|
|
12295
12358
|
if (!nextMarket) return;
|
|
@@ -12299,14 +12362,17 @@ var EventListItemDetailsContent = ({
|
|
|
12299
12362
|
);
|
|
12300
12363
|
if (!nextOutcome) return;
|
|
12301
12364
|
tradingContext.selectMarketAndOutcome(defaultMarketId, defaultOutcomeId);
|
|
12302
|
-
|
|
12303
|
-
|
|
12365
|
+
} else {
|
|
12366
|
+
tradingContext.selectMarket(defaultMarketId, nextMarket);
|
|
12367
|
+
}
|
|
12368
|
+
if (defaultTradeSide === "sell" || defaultTradeSide === "buy") {
|
|
12369
|
+
tradingContext.setTradeSide(defaultTradeSide);
|
|
12304
12370
|
}
|
|
12305
|
-
tradingContext.selectMarket(defaultMarketId, nextMarket);
|
|
12306
12371
|
lastAppliedDefaultRef.current = applyKey;
|
|
12307
12372
|
}, [
|
|
12308
12373
|
defaultMarketId,
|
|
12309
12374
|
defaultOutcomeId,
|
|
12375
|
+
defaultTradeSide,
|
|
12310
12376
|
event.id,
|
|
12311
12377
|
event.venueMarkets,
|
|
12312
12378
|
tradingContext,
|
|
@@ -12348,7 +12414,7 @@ var EventListItemDetailsContent = ({
|
|
|
12348
12414
|
event.venueMarkets,
|
|
12349
12415
|
recurringMarkets
|
|
12350
12416
|
]);
|
|
12351
|
-
return /* @__PURE__ */ (0,
|
|
12417
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
12352
12418
|
Card,
|
|
12353
12419
|
{
|
|
12354
12420
|
className: cn("group/agg-event-details", detailsBaseCardClassName, classNames == null ? void 0 : classNames.root),
|
|
@@ -12357,7 +12423,7 @@ var EventListItemDetailsContent = ({
|
|
|
12357
12423
|
onClick == null ? void 0 : onClick(event);
|
|
12358
12424
|
},
|
|
12359
12425
|
children: [
|
|
12360
|
-
/* @__PURE__ */ (0,
|
|
12426
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
12361
12427
|
"div",
|
|
12362
12428
|
{
|
|
12363
12429
|
className: cn(
|
|
@@ -12368,16 +12434,16 @@ var EventListItemDetailsContent = ({
|
|
|
12368
12434
|
classNames == null ? void 0 : classNames.header
|
|
12369
12435
|
),
|
|
12370
12436
|
children: [
|
|
12371
|
-
/* @__PURE__ */ (0,
|
|
12437
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12372
12438
|
RemoteImage,
|
|
12373
12439
|
{
|
|
12374
|
-
src: (0,
|
|
12440
|
+
src: (0, import_hooks45.optimizedImageUrl)(event.image, 60),
|
|
12375
12441
|
alt: "",
|
|
12376
12442
|
className: "agg-event-image size-10 rounded-agg-lg object-cover md:size-[60px]"
|
|
12377
12443
|
}
|
|
12378
12444
|
),
|
|
12379
|
-
/* @__PURE__ */ (0,
|
|
12380
|
-
/* @__PURE__ */ (0,
|
|
12445
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { className: cn("flex min-w-0 flex-1 flex-col", recurringMarkets ? "gap-3" : "gap-2"), children: [
|
|
12446
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
12381
12447
|
"div",
|
|
12382
12448
|
{
|
|
12383
12449
|
className: cn(
|
|
@@ -12385,7 +12451,7 @@ var EventListItemDetailsContent = ({
|
|
|
12385
12451
|
recurringMarkets ? "flex flex-col gap-1 md:flex-row md:items-baseline md:justify-between" : null
|
|
12386
12452
|
),
|
|
12387
12453
|
children: [
|
|
12388
|
-
/* @__PURE__ */ (0,
|
|
12454
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12389
12455
|
Typography,
|
|
12390
12456
|
{
|
|
12391
12457
|
variant: "body-strong",
|
|
@@ -12398,14 +12464,14 @@ var EventListItemDetailsContent = ({
|
|
|
12398
12464
|
children: resolvedTitle.title
|
|
12399
12465
|
}
|
|
12400
12466
|
),
|
|
12401
|
-
(recurringMarkets == null ? void 0 : recurringMarkets.windowLabel) ? /* @__PURE__ */ (0,
|
|
12467
|
+
(recurringMarkets == null ? void 0 : recurringMarkets.windowLabel) ? /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12402
12468
|
Typography,
|
|
12403
12469
|
{
|
|
12404
12470
|
variant: "body",
|
|
12405
12471
|
className: "agg-event-timestamp min-w-0 shrink-0 truncate text-agg-sm leading-agg-5 text-agg-muted-foreground md:text-agg-base md:leading-agg-6",
|
|
12406
12472
|
children: recurringMarkets.windowLabel
|
|
12407
12473
|
}
|
|
12408
|
-
) : resolvedTitle.timestampLabel ? /* @__PURE__ */ (0,
|
|
12474
|
+
) : resolvedTitle.timestampLabel ? /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12409
12475
|
Typography,
|
|
12410
12476
|
{
|
|
12411
12477
|
variant: "body",
|
|
@@ -12416,8 +12482,8 @@ var EventListItemDetailsContent = ({
|
|
|
12416
12482
|
]
|
|
12417
12483
|
}
|
|
12418
12484
|
),
|
|
12419
|
-
recurringMarkets ? /* @__PURE__ */ (0,
|
|
12420
|
-
/* @__PURE__ */ (0,
|
|
12485
|
+
recurringMarkets ? /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { className: "flex min-w-0 flex-col gap-3 md:flex-row md:items-center md:justify-between", children: [
|
|
12486
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12421
12487
|
EventListItemDetailsMarketSelector,
|
|
12422
12488
|
{
|
|
12423
12489
|
className: cn("min-w-0 flex-1", classNames == null ? void 0 : classNames.headerPills),
|
|
@@ -12429,7 +12495,7 @@ var EventListItemDetailsContent = ({
|
|
|
12429
12495
|
onChange: recurringMarkets.onSelect
|
|
12430
12496
|
}
|
|
12431
12497
|
),
|
|
12432
|
-
recurringMarkets.isResolving ? /* @__PURE__ */ (0,
|
|
12498
|
+
recurringMarkets.isResolving ? /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12433
12499
|
Button,
|
|
12434
12500
|
{
|
|
12435
12501
|
variant: "secondary",
|
|
@@ -12444,7 +12510,7 @@ var EventListItemDetailsContent = ({
|
|
|
12444
12510
|
},
|
|
12445
12511
|
children: labels.eventMarketPage.goToLive
|
|
12446
12512
|
}
|
|
12447
|
-
) : recurringMarkets.countdownLabel ? /* @__PURE__ */ (0,
|
|
12513
|
+
) : recurringMarkets.countdownLabel ? /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
12448
12514
|
"div",
|
|
12449
12515
|
{
|
|
12450
12516
|
role: "timer",
|
|
@@ -12452,7 +12518,7 @@ var EventListItemDetailsContent = ({
|
|
|
12452
12518
|
"aria-label": (_d = recurringMarkets.countdownAriaLabel) != null ? _d : void 0,
|
|
12453
12519
|
className: "flex shrink-0 items-center gap-1.5 text-agg-foreground",
|
|
12454
12520
|
children: [
|
|
12455
|
-
/* @__PURE__ */ (0,
|
|
12521
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12456
12522
|
Icon,
|
|
12457
12523
|
{
|
|
12458
12524
|
name: "hourglass-start",
|
|
@@ -12461,11 +12527,11 @@ var EventListItemDetailsContent = ({
|
|
|
12461
12527
|
"aria-hidden": "true"
|
|
12462
12528
|
}
|
|
12463
12529
|
),
|
|
12464
|
-
/* @__PURE__ */ (0,
|
|
12530
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Typography, { variant: "body-strong", className: "text-agg-base leading-agg-6", children: recurringMarkets.countdownLabel })
|
|
12465
12531
|
]
|
|
12466
12532
|
}
|
|
12467
12533
|
) : null
|
|
12468
|
-
] }) : venueMarkets.length > 1 ? /* @__PURE__ */ (0,
|
|
12534
|
+
] }) : venueMarkets.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12469
12535
|
EventListItemDetailsMarketSelector,
|
|
12470
12536
|
{
|
|
12471
12537
|
className: classNames == null ? void 0 : classNames.headerPills,
|
|
@@ -12480,8 +12546,8 @@ var EventListItemDetailsContent = ({
|
|
|
12480
12546
|
]
|
|
12481
12547
|
}
|
|
12482
12548
|
),
|
|
12483
|
-
/* @__PURE__ */ (0,
|
|
12484
|
-
detailsStats && detailsStats.length > 0 ? /* @__PURE__ */ (0,
|
|
12549
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SportsLiveScore, { state: sportsLiveState, className: classNames == null ? void 0 : classNames.sportsLive }),
|
|
12550
|
+
detailsStats && detailsStats.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12485
12551
|
"div",
|
|
12486
12552
|
{
|
|
12487
12553
|
className: cn(
|
|
@@ -12490,14 +12556,14 @@ var EventListItemDetailsContent = ({
|
|
|
12490
12556
|
),
|
|
12491
12557
|
children: detailsStats.map((statItem) => {
|
|
12492
12558
|
const deltaClassName = statItem.deltaTone === "positive" ? "text-agg-success!" : statItem.deltaTone === "negative" ? "text-agg-error!" : "text-agg-muted-foreground";
|
|
12493
|
-
return /* @__PURE__ */ (0,
|
|
12559
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
12494
12560
|
"div",
|
|
12495
12561
|
{
|
|
12496
12562
|
className: "agg-event-stat flex flex-col gap-1",
|
|
12497
12563
|
children: [
|
|
12498
|
-
/* @__PURE__ */ (0,
|
|
12499
|
-
/* @__PURE__ */ (0,
|
|
12500
|
-
/* @__PURE__ */ (0,
|
|
12564
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Typography, { variant: "caption-caps", className: "text-agg-muted-foreground", children: statItem.label }),
|
|
12565
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { className: "flex items-baseline gap-1", children: [
|
|
12566
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12501
12567
|
Typography,
|
|
12502
12568
|
{
|
|
12503
12569
|
variant: "body",
|
|
@@ -12505,7 +12571,7 @@ var EventListItemDetailsContent = ({
|
|
|
12505
12571
|
children: statItem.value
|
|
12506
12572
|
}
|
|
12507
12573
|
),
|
|
12508
|
-
statItem.delta ? /* @__PURE__ */ (0,
|
|
12574
|
+
statItem.delta ? /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Typography, { variant: "label", className: cn(deltaClassName), children: statItem.delta }) : null
|
|
12509
12575
|
] })
|
|
12510
12576
|
]
|
|
12511
12577
|
},
|
|
@@ -12514,8 +12580,8 @@ var EventListItemDetailsContent = ({
|
|
|
12514
12580
|
})
|
|
12515
12581
|
}
|
|
12516
12582
|
) : null,
|
|
12517
|
-
/* @__PURE__ */ (0,
|
|
12518
|
-
/* @__PURE__ */ (0,
|
|
12583
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)("div", { className: cn("agg-event-details-chart", "flex flex-col gap-2"), children: [
|
|
12584
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12519
12585
|
EventListItemDetailsGraphSection,
|
|
12520
12586
|
{
|
|
12521
12587
|
classNames,
|
|
@@ -12532,7 +12598,7 @@ var EventListItemDetailsContent = ({
|
|
|
12532
12598
|
onRangeOverrideChange: setChartRangeOverride
|
|
12533
12599
|
}
|
|
12534
12600
|
),
|
|
12535
|
-
/* @__PURE__ */ (0,
|
|
12601
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
12536
12602
|
"div",
|
|
12537
12603
|
{
|
|
12538
12604
|
className: cn(
|
|
@@ -12540,8 +12606,8 @@ var EventListItemDetailsContent = ({
|
|
|
12540
12606
|
classNames == null ? void 0 : classNames.footer
|
|
12541
12607
|
),
|
|
12542
12608
|
children: [
|
|
12543
|
-
/* @__PURE__ */ (0,
|
|
12544
|
-
/* @__PURE__ */ (0,
|
|
12609
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Typography, { variant: "label", className: "agg-chart-volume text-agg-muted-foreground", children: volumeLabel || "-" }),
|
|
12610
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
12545
12611
|
"div",
|
|
12546
12612
|
{
|
|
12547
12613
|
className: cn(
|
|
@@ -12549,7 +12615,7 @@ var EventListItemDetailsContent = ({
|
|
|
12549
12615
|
classNames == null ? void 0 : classNames.timeRange
|
|
12550
12616
|
),
|
|
12551
12617
|
children: [
|
|
12552
|
-
/* @__PURE__ */ (0,
|
|
12618
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12553
12619
|
ChartTypeSwitch,
|
|
12554
12620
|
{
|
|
12555
12621
|
className: "agg-chart-type-switch",
|
|
@@ -12557,11 +12623,11 @@ var EventListItemDetailsContent = ({
|
|
|
12557
12623
|
onValueChange: setSelectedChartType
|
|
12558
12624
|
}
|
|
12559
12625
|
),
|
|
12560
|
-
/* @__PURE__ */ (0,
|
|
12561
|
-
|
|
12626
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { "aria-hidden": "true", className: "hidden h-4 w-px bg-agg-separator md:block" }),
|
|
12627
|
+
import_hooks45.CHART_TIME_RANGES.map((timeRange) => {
|
|
12562
12628
|
const effectiveRange = chartRangeOverride != null ? chartRangeOverride : config.chart.selectedChartTimeRange;
|
|
12563
12629
|
const isActive = timeRange === effectiveRange;
|
|
12564
|
-
return /* @__PURE__ */ (0,
|
|
12630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12565
12631
|
Button,
|
|
12566
12632
|
{
|
|
12567
12633
|
size: "small",
|
|
@@ -12592,7 +12658,7 @@ var EventListItemDetailsContent = ({
|
|
|
12592
12658
|
}
|
|
12593
12659
|
)
|
|
12594
12660
|
] }),
|
|
12595
|
-
event.description || event.settlementDiff ? /* @__PURE__ */ (0,
|
|
12661
|
+
event.description || event.settlementDiff ? /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SettlementSummary, { content: event.description, settlementDiff: event.settlementDiff }) : null
|
|
12596
12662
|
]
|
|
12597
12663
|
}
|
|
12598
12664
|
);
|
|
@@ -12609,12 +12675,12 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
12609
12675
|
error,
|
|
12610
12676
|
isError,
|
|
12611
12677
|
isLoading
|
|
12612
|
-
} = (0,
|
|
12678
|
+
} = (0, import_hooks45.useVenueEvent)({
|
|
12613
12679
|
eventId: resolvedEventId,
|
|
12614
12680
|
enabled: !!resolvedEventId
|
|
12615
12681
|
});
|
|
12616
12682
|
if (!resolvedEventId) {
|
|
12617
|
-
return /* @__PURE__ */ (0,
|
|
12683
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12618
12684
|
EventListItemDetailsUnavailableState,
|
|
12619
12685
|
{
|
|
12620
12686
|
classNames: rest.classNames,
|
|
@@ -12623,16 +12689,16 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
12623
12689
|
);
|
|
12624
12690
|
}
|
|
12625
12691
|
if (isLoading) {
|
|
12626
|
-
return /* @__PURE__ */ (0,
|
|
12692
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
12627
12693
|
}
|
|
12628
12694
|
if (isErrorWithStatus(error, 404)) {
|
|
12629
|
-
return /* @__PURE__ */ (0,
|
|
12695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(EventListItemDetailsNotFoundState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
12630
12696
|
}
|
|
12631
12697
|
if (!fetchedEvent && !isError) {
|
|
12632
|
-
return /* @__PURE__ */ (0,
|
|
12698
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(EventListItemDetailsLoadingState, { classNames: rest.classNames, ariaLabel: rest.ariaLabel });
|
|
12633
12699
|
}
|
|
12634
12700
|
if (!fetchedEvent) {
|
|
12635
|
-
return /* @__PURE__ */ (0,
|
|
12701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12636
12702
|
EventListItemDetailsUnavailableState,
|
|
12637
12703
|
{
|
|
12638
12704
|
classNames: rest.classNames,
|
|
@@ -12640,21 +12706,22 @@ var EventListItemDetailsByEventId = (_a) => {
|
|
|
12640
12706
|
}
|
|
12641
12707
|
);
|
|
12642
12708
|
}
|
|
12643
|
-
return /* @__PURE__ */ (0,
|
|
12709
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(EventListItemDetailsContent, __spreadValues({ event: fetchedEvent }, rest));
|
|
12644
12710
|
};
|
|
12645
12711
|
var EventListItemDetails = (props) => {
|
|
12646
12712
|
if (props.isLoading) {
|
|
12647
|
-
return /* @__PURE__ */ (0,
|
|
12713
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(EventListItemDetailsLoadingState, { classNames: props.classNames, ariaLabel: props.ariaLabel });
|
|
12648
12714
|
}
|
|
12649
12715
|
if ("event" in props && props.event) {
|
|
12650
12716
|
const _a = props, { event } = _a, rest = __objRest(_a, ["event"]);
|
|
12651
|
-
return /* @__PURE__ */ (0,
|
|
12717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(EventListItemDetailsContent, __spreadValues({ event }, rest));
|
|
12652
12718
|
}
|
|
12653
12719
|
if ("eventId" in props && typeof props.eventId === "string") {
|
|
12654
12720
|
const {
|
|
12655
12721
|
classNames,
|
|
12656
12722
|
defaultMarketId,
|
|
12657
12723
|
defaultOutcomeId,
|
|
12724
|
+
defaultTradeSide,
|
|
12658
12725
|
venueInfo,
|
|
12659
12726
|
detailsStats,
|
|
12660
12727
|
ariaLabel: ariaLabelOverride,
|
|
@@ -12666,14 +12733,15 @@ var EventListItemDetails = (props) => {
|
|
|
12666
12733
|
classNames,
|
|
12667
12734
|
defaultMarketId,
|
|
12668
12735
|
defaultOutcomeId,
|
|
12736
|
+
defaultTradeSide,
|
|
12669
12737
|
venueInfo,
|
|
12670
12738
|
detailsStats,
|
|
12671
12739
|
ariaLabel: ariaLabelOverride,
|
|
12672
12740
|
onClick
|
|
12673
12741
|
};
|
|
12674
|
-
return /* @__PURE__ */ (0,
|
|
12742
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(EventListItemDetailsByEventId, __spreadValues({}, byEventIdProps));
|
|
12675
12743
|
}
|
|
12676
|
-
return /* @__PURE__ */ (0,
|
|
12744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
12677
12745
|
EventListItemDetailsUnavailableState,
|
|
12678
12746
|
{
|
|
12679
12747
|
classNames: props.classNames,
|
|
@@ -12684,11 +12752,11 @@ var EventListItemDetails = (props) => {
|
|
|
12684
12752
|
EventListItemDetails.displayName = "EventListItemDetails";
|
|
12685
12753
|
|
|
12686
12754
|
// src/events/market-details/index.tsx
|
|
12687
|
-
var
|
|
12755
|
+
var import_hooks49 = require("@agg-build/hooks");
|
|
12688
12756
|
var import_react22 = require("react");
|
|
12689
12757
|
|
|
12690
12758
|
// src/events/orderbook/index.tsx
|
|
12691
|
-
var
|
|
12759
|
+
var import_hooks46 = require("@agg-build/hooks");
|
|
12692
12760
|
var import_react20 = require("react");
|
|
12693
12761
|
|
|
12694
12762
|
// src/events/orderbook/orderbook.constants.ts
|
|
@@ -12852,7 +12920,7 @@ var useCenterOrderbookSpread = ({
|
|
|
12852
12920
|
};
|
|
12853
12921
|
|
|
12854
12922
|
// src/events/orderbook/orderbook-with-states.tsx
|
|
12855
|
-
var
|
|
12923
|
+
var import_jsx_runtime139 = require("react/jsx-runtime");
|
|
12856
12924
|
var stateMessageMinHeight = "min-h-[248px] px-5 py-10 md:min-h-[272px]";
|
|
12857
12925
|
var OrderbookWithStates = (_a) => {
|
|
12858
12926
|
var _b = _a, {
|
|
@@ -12864,65 +12932,65 @@ var OrderbookWithStates = (_a) => {
|
|
|
12864
12932
|
]);
|
|
12865
12933
|
var _a2;
|
|
12866
12934
|
if (state.kind === "loading") {
|
|
12867
|
-
return /* @__PURE__ */ (0,
|
|
12935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(MarketDetailsOderbookSkeleton, {}) });
|
|
12868
12936
|
}
|
|
12869
12937
|
if (state.kind === "disabled") {
|
|
12870
|
-
return /* @__PURE__ */ (0,
|
|
12938
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
12871
12939
|
StateMessage,
|
|
12872
12940
|
{
|
|
12873
12941
|
title: state.title,
|
|
12874
12942
|
description: state.description,
|
|
12875
|
-
icon: (_a2 = state.icon) != null ? _a2 : /* @__PURE__ */ (0,
|
|
12943
|
+
icon: (_a2 = state.icon) != null ? _a2 : /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(WarningIcon, {}),
|
|
12876
12944
|
classNames: { root: stateMessageMinHeight }
|
|
12877
12945
|
}
|
|
12878
12946
|
) });
|
|
12879
12947
|
}
|
|
12880
12948
|
if (state.kind === "error") {
|
|
12881
|
-
return /* @__PURE__ */ (0,
|
|
12949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
12882
12950
|
StateMessage,
|
|
12883
12951
|
{
|
|
12884
12952
|
title: state.title,
|
|
12885
12953
|
description: state.description,
|
|
12886
|
-
icon: /* @__PURE__ */ (0,
|
|
12954
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(WarningIcon, {}),
|
|
12887
12955
|
onAction: state.onRetry,
|
|
12888
12956
|
classNames: { root: stateMessageMinHeight }
|
|
12889
12957
|
}
|
|
12890
12958
|
) });
|
|
12891
12959
|
}
|
|
12892
12960
|
if (state.kind === "resolved") {
|
|
12893
|
-
return /* @__PURE__ */ (0,
|
|
12961
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
12894
12962
|
StateMessage,
|
|
12895
12963
|
{
|
|
12896
12964
|
title: state.title,
|
|
12897
12965
|
description: state.description,
|
|
12898
|
-
icon: /* @__PURE__ */ (0,
|
|
12966
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(WarningIcon, {}),
|
|
12899
12967
|
classNames: { root: stateMessageMinHeight }
|
|
12900
12968
|
}
|
|
12901
12969
|
) });
|
|
12902
12970
|
}
|
|
12903
12971
|
if (state.kind === "empty") {
|
|
12904
|
-
return /* @__PURE__ */ (0,
|
|
12972
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
12905
12973
|
StateMessage,
|
|
12906
12974
|
{
|
|
12907
12975
|
title: state.title,
|
|
12908
12976
|
description: state.description,
|
|
12909
|
-
icon: /* @__PURE__ */ (0,
|
|
12977
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(SearchEmptyIcon, {}),
|
|
12910
12978
|
classNames: { root: stateMessageMinHeight }
|
|
12911
12979
|
}
|
|
12912
12980
|
) });
|
|
12913
12981
|
}
|
|
12914
|
-
return /* @__PURE__ */ (0,
|
|
12982
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { className: cn("agg-orderbook flex flex-col gap-5", wrapperClassName), children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Orderbook, __spreadValues({}, orderbookProps)) });
|
|
12915
12983
|
};
|
|
12916
12984
|
OrderbookWithStates.displayName = "OrderbookWithStates";
|
|
12917
12985
|
|
|
12918
12986
|
// src/events/orderbook/index.tsx
|
|
12919
|
-
var
|
|
12987
|
+
var import_jsx_runtime140 = require("react/jsx-runtime");
|
|
12920
12988
|
var OrderbookVenueLogos = ({ venues }) => {
|
|
12921
|
-
const visible = (0,
|
|
12989
|
+
const visible = (0, import_hooks46.sortVenues)(venues).slice(0, orderbookMaxVisibleVenues);
|
|
12922
12990
|
const overflow = venues.length - visible.length;
|
|
12923
|
-
return /* @__PURE__ */ (0,
|
|
12924
|
-
visible.map((venue) => /* @__PURE__ */ (0,
|
|
12925
|
-
overflow > 0 ? /* @__PURE__ */ (0,
|
|
12991
|
+
return /* @__PURE__ */ (0, import_jsx_runtime140.jsxs)("div", { className: "flex flex-row items-center justify-start gap-0.5 md:gap-1", children: [
|
|
12992
|
+
visible.map((venue) => /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(VenueLogo, { venue, size: "small" }, venue)),
|
|
12993
|
+
overflow > 0 ? /* @__PURE__ */ (0, import_jsx_runtime140.jsxs)("span", { className: "text-agg-xs font-agg-bold leading-agg-4 text-agg-muted-foreground", children: [
|
|
12926
12994
|
"+",
|
|
12927
12995
|
overflow
|
|
12928
12996
|
] }) : null
|
|
@@ -12949,8 +13017,8 @@ var OrderbookRow = ({
|
|
|
12949
13017
|
}).map(([venue]) => venue);
|
|
12950
13018
|
const venues = entry.row.venues && entry.row.venues.length > 0 ? entry.row.venues : venuesFromBreakdown.length > 0 ? venuesFromBreakdown : [entry.row.venue];
|
|
12951
13019
|
const barPercent = Math.max(2, Number((entry.unifiedBarScale * 100).toFixed(2)));
|
|
12952
|
-
return /* @__PURE__ */ (0,
|
|
12953
|
-
/* @__PURE__ */ (0,
|
|
13020
|
+
return /* @__PURE__ */ (0, import_jsx_runtime140.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: [
|
|
13021
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
12954
13022
|
"div",
|
|
12955
13023
|
{
|
|
12956
13024
|
"aria-hidden": "true",
|
|
@@ -12962,8 +13030,8 @@ var OrderbookRow = ({
|
|
|
12962
13030
|
style: { width: `${barPercent}%` }
|
|
12963
13031
|
}
|
|
12964
13032
|
),
|
|
12965
|
-
/* @__PURE__ */ (0,
|
|
12966
|
-
/* @__PURE__ */ (0,
|
|
13033
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)("div", { className: "hidden md:block md:relative min-w-0 flex-1 self-stretch", children: [
|
|
13034
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
12967
13035
|
"div",
|
|
12968
13036
|
{
|
|
12969
13037
|
"aria-hidden": "true",
|
|
@@ -12975,14 +13043,14 @@ var OrderbookRow = ({
|
|
|
12975
13043
|
style: { width: `${barPercent}%` }
|
|
12976
13044
|
}
|
|
12977
13045
|
),
|
|
12978
|
-
showBadge && badgeLabel ? /* @__PURE__ */ (0,
|
|
13046
|
+
showBadge && badgeLabel ? /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
12979
13047
|
"div",
|
|
12980
13048
|
{
|
|
12981
13049
|
className: cn(
|
|
12982
13050
|
"absolute flex left-5 top-1/2 -translate-y-1/2 rounded-[4px] border px-2 py-0.5",
|
|
12983
13051
|
badgeBorderClassName
|
|
12984
13052
|
),
|
|
12985
|
-
children: /* @__PURE__ */ (0,
|
|
13053
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
12986
13054
|
"span",
|
|
12987
13055
|
{
|
|
12988
13056
|
className: cn("text-[10px] font-bold uppercase leading-[14px]", badgeTextClassName),
|
|
@@ -12992,8 +13060,8 @@ var OrderbookRow = ({
|
|
|
12992
13060
|
}
|
|
12993
13061
|
) : null
|
|
12994
13062
|
] }),
|
|
12995
|
-
/* @__PURE__ */ (0,
|
|
12996
|
-
/* @__PURE__ */ (0,
|
|
13063
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)("div", { className: "flex w-20 shrink-0 items-center justify-start gap-2 md:w-[120px]", children: [
|
|
13064
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
12997
13065
|
"span",
|
|
12998
13066
|
{
|
|
12999
13067
|
className: cn(
|
|
@@ -13004,10 +13072,10 @@ var OrderbookRow = ({
|
|
|
13004
13072
|
children: formatProbabilityCents(entry.row.price, formatPrice)
|
|
13005
13073
|
}
|
|
13006
13074
|
),
|
|
13007
|
-
/* @__PURE__ */ (0,
|
|
13075
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)(OrderbookVenueLogos, { venues })
|
|
13008
13076
|
] }),
|
|
13009
|
-
/* @__PURE__ */ (0,
|
|
13010
|
-
/* @__PURE__ */ (0,
|
|
13077
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.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) }),
|
|
13078
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.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) })
|
|
13011
13079
|
] });
|
|
13012
13080
|
};
|
|
13013
13081
|
var Orderbook = ({
|
|
@@ -13026,7 +13094,7 @@ var Orderbook = ({
|
|
|
13026
13094
|
const {
|
|
13027
13095
|
enableWebsocketsLogs,
|
|
13028
13096
|
formatting: { formatPrice }
|
|
13029
|
-
} = (0,
|
|
13097
|
+
} = (0, import_hooks46.useAggUiConfig)();
|
|
13030
13098
|
const labels = __spreadValues(__spreadValues({}, orderbookDefaultLabels), labelsProp);
|
|
13031
13099
|
const scrollContainerRef = (0, import_react20.useRef)(null);
|
|
13032
13100
|
const spreadRowRef = (0, import_react20.useRef)(null);
|
|
@@ -13067,15 +13135,15 @@ var Orderbook = ({
|
|
|
13067
13135
|
snapshotKey,
|
|
13068
13136
|
spreadEntry
|
|
13069
13137
|
]);
|
|
13070
|
-
return /* @__PURE__ */ (0,
|
|
13071
|
-
/* @__PURE__ */ (0,
|
|
13072
|
-
/* @__PURE__ */ (0,
|
|
13073
|
-
/* @__PURE__ */ (0,
|
|
13074
|
-
/* @__PURE__ */ (0,
|
|
13075
|
-
/* @__PURE__ */ (0,
|
|
13138
|
+
return /* @__PURE__ */ (0, import_jsx_runtime140.jsxs)("div", { className: cn("agg-orderbook-unified flex flex-col", className), children: [
|
|
13139
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.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: [
|
|
13140
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)("span", { className: "hidden md:flex min-w-0 flex-1 items-center gap-2 pl-5", children: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)("span", { className: "text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground", children: labels.tradeOutcome }) }),
|
|
13141
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.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 }),
|
|
13142
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.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 }),
|
|
13143
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.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 })
|
|
13076
13144
|
] }),
|
|
13077
|
-
/* @__PURE__ */ (0,
|
|
13078
|
-
/* @__PURE__ */ (0,
|
|
13145
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)("div", { className: "relative", children: [
|
|
13146
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)(
|
|
13079
13147
|
"div",
|
|
13080
13148
|
{
|
|
13081
13149
|
ref: scrollContainerRef,
|
|
@@ -13085,7 +13153,7 @@ var Orderbook = ({
|
|
|
13085
13153
|
"aria-label": "Order book",
|
|
13086
13154
|
tabIndex: 0,
|
|
13087
13155
|
children: [
|
|
13088
|
-
askEntries.length > 0 ? /* @__PURE__ */ (0,
|
|
13156
|
+
askEntries.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime140.jsx)("div", { className: "agg-orderbook-asks flex flex-col", children: askEntries.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
13089
13157
|
OrderbookRow,
|
|
13090
13158
|
{
|
|
13091
13159
|
entry,
|
|
@@ -13098,7 +13166,7 @@ var Orderbook = ({
|
|
|
13098
13166
|
},
|
|
13099
13167
|
entry.row.id
|
|
13100
13168
|
)) }) : null,
|
|
13101
|
-
/* @__PURE__ */ (0,
|
|
13169
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)(
|
|
13102
13170
|
"div",
|
|
13103
13171
|
{
|
|
13104
13172
|
ref: spreadRowRef,
|
|
@@ -13106,7 +13174,7 @@ var Orderbook = ({
|
|
|
13106
13174
|
role: "separator",
|
|
13107
13175
|
"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)}`,
|
|
13108
13176
|
children: [
|
|
13109
|
-
/* @__PURE__ */ (0,
|
|
13177
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)(
|
|
13110
13178
|
Typography,
|
|
13111
13179
|
{
|
|
13112
13180
|
variant: "label",
|
|
@@ -13118,7 +13186,7 @@ var Orderbook = ({
|
|
|
13118
13186
|
]
|
|
13119
13187
|
}
|
|
13120
13188
|
),
|
|
13121
|
-
/* @__PURE__ */ (0,
|
|
13189
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)(
|
|
13122
13190
|
Typography,
|
|
13123
13191
|
{
|
|
13124
13192
|
variant: "label",
|
|
@@ -13130,12 +13198,12 @@ var Orderbook = ({
|
|
|
13130
13198
|
]
|
|
13131
13199
|
}
|
|
13132
13200
|
),
|
|
13133
|
-
/* @__PURE__ */ (0,
|
|
13134
|
-
/* @__PURE__ */ (0,
|
|
13201
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)("div", { className: "hidden md:inline-flex w-20 shrink-0 md:w-[120px]" }),
|
|
13202
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)("div", { className: "hidden md:inline-flex w-20 shrink-0 md:w-[120px]" })
|
|
13135
13203
|
]
|
|
13136
13204
|
}
|
|
13137
13205
|
),
|
|
13138
|
-
bidEntries.length > 0 ? /* @__PURE__ */ (0,
|
|
13206
|
+
bidEntries.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime140.jsx)("div", { className: "agg-orderbook-bids flex flex-col", children: bidEntries.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
13139
13207
|
OrderbookRow,
|
|
13140
13208
|
{
|
|
13141
13209
|
entry,
|
|
@@ -13151,14 +13219,14 @@ var Orderbook = ({
|
|
|
13151
13219
|
]
|
|
13152
13220
|
}
|
|
13153
13221
|
),
|
|
13154
|
-
/* @__PURE__ */ (0,
|
|
13222
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
13155
13223
|
"button",
|
|
13156
13224
|
{
|
|
13157
13225
|
type: "button",
|
|
13158
13226
|
onClick: recenter,
|
|
13159
13227
|
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",
|
|
13160
13228
|
"aria-label": "Re-center orderbook",
|
|
13161
|
-
children: /* @__PURE__ */ (0,
|
|
13229
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(Icon, { name: "recenter", size: "small", className: "!size-4 text-current" })
|
|
13162
13230
|
}
|
|
13163
13231
|
)
|
|
13164
13232
|
] })
|
|
@@ -13318,8 +13386,8 @@ var resolveTradingStateBadgeClassName = (kind) => {
|
|
|
13318
13386
|
};
|
|
13319
13387
|
|
|
13320
13388
|
// src/events/market-details/market-details-outcome-button.tsx
|
|
13321
|
-
var
|
|
13322
|
-
var
|
|
13389
|
+
var import_hooks47 = require("@agg-build/hooks");
|
|
13390
|
+
var import_jsx_runtime141 = require("react/jsx-runtime");
|
|
13323
13391
|
var marketDetailsOutcomeButtonToneClasses = {
|
|
13324
13392
|
positive: {
|
|
13325
13393
|
activeSurface: "bg-agg-success/15",
|
|
@@ -13369,9 +13437,9 @@ var OutcomePriceContent = ({
|
|
|
13369
13437
|
value,
|
|
13370
13438
|
textClassName
|
|
13371
13439
|
}) => {
|
|
13372
|
-
const { formatPrice } = (0,
|
|
13440
|
+
const { formatPrice } = (0, import_hooks47.useAggUiConfig)().formatting;
|
|
13373
13441
|
if (isLoading) {
|
|
13374
|
-
return /* @__PURE__ */ (0,
|
|
13442
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
13375
13443
|
"span",
|
|
13376
13444
|
{
|
|
13377
13445
|
"aria-hidden": "true",
|
|
@@ -13382,7 +13450,7 @@ var OutcomePriceContent = ({
|
|
|
13382
13450
|
}
|
|
13383
13451
|
);
|
|
13384
13452
|
}
|
|
13385
|
-
return /* @__PURE__ */ (0,
|
|
13453
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
13386
13454
|
Typography,
|
|
13387
13455
|
{
|
|
13388
13456
|
as: "span",
|
|
@@ -13410,7 +13478,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
13410
13478
|
});
|
|
13411
13479
|
const itemLabel = (_a = item.title) != null ? _a : item.label;
|
|
13412
13480
|
const isLineVariant = item.variant === "line";
|
|
13413
|
-
return /* @__PURE__ */ (0,
|
|
13481
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
13414
13482
|
"button",
|
|
13415
13483
|
{
|
|
13416
13484
|
type: "button",
|
|
@@ -13426,9 +13494,9 @@ var MarketDetailsOutcomeButton = ({
|
|
|
13426
13494
|
enforceFixedWidth ? "flex-none" : "flex-1 md:flex-auto"
|
|
13427
13495
|
),
|
|
13428
13496
|
onClick: () => onSelect(item.label),
|
|
13429
|
-
children: isLineVariant ? /* @__PURE__ */ (0,
|
|
13430
|
-
/* @__PURE__ */ (0,
|
|
13431
|
-
/* @__PURE__ */ (0,
|
|
13497
|
+
children: isLineVariant ? /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "flex min-w-0 max-w-full items-center justify-center gap-1.5 overflow-hidden", children: [
|
|
13498
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(VenueLogo, { venue: item.venue, size: "small" }),
|
|
13499
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
13432
13500
|
Typography,
|
|
13433
13501
|
{
|
|
13434
13502
|
as: "span",
|
|
@@ -13437,7 +13505,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
13437
13505
|
children: itemLabel
|
|
13438
13506
|
}
|
|
13439
13507
|
),
|
|
13440
|
-
item.lineLabel ? /* @__PURE__ */ (0,
|
|
13508
|
+
item.lineLabel ? /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
13441
13509
|
Typography,
|
|
13442
13510
|
{
|
|
13443
13511
|
as: "span",
|
|
@@ -13446,7 +13514,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
13446
13514
|
children: item.lineLabel
|
|
13447
13515
|
}
|
|
13448
13516
|
) : null,
|
|
13449
|
-
/* @__PURE__ */ (0,
|
|
13517
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
13450
13518
|
OutcomePriceContent,
|
|
13451
13519
|
{
|
|
13452
13520
|
isLoading: item.isPriceLoading,
|
|
@@ -13455,9 +13523,9 @@ var MarketDetailsOutcomeButton = ({
|
|
|
13455
13523
|
textClassName: classNames.text
|
|
13456
13524
|
}
|
|
13457
13525
|
)
|
|
13458
|
-
] }) : /* @__PURE__ */ (0,
|
|
13459
|
-
/* @__PURE__ */ (0,
|
|
13460
|
-
/* @__PURE__ */ (0,
|
|
13526
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "inline-flex max-w-full items-center justify-center gap-1.5", children: [
|
|
13527
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(VenueLogo, { venue: item.venue, size: "small" }),
|
|
13528
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
13461
13529
|
Typography,
|
|
13462
13530
|
{
|
|
13463
13531
|
as: "span",
|
|
@@ -13466,7 +13534,7 @@ var MarketDetailsOutcomeButton = ({
|
|
|
13466
13534
|
children: itemLabel
|
|
13467
13535
|
}
|
|
13468
13536
|
),
|
|
13469
|
-
/* @__PURE__ */ (0,
|
|
13537
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
13470
13538
|
OutcomePriceContent,
|
|
13471
13539
|
{
|
|
13472
13540
|
isLoading: item.isPriceLoading,
|
|
@@ -13482,9 +13550,9 @@ var MarketDetailsOutcomeButton = ({
|
|
|
13482
13550
|
MarketDetailsOutcomeButton.displayName = "MarketDetailsOutcomeButton";
|
|
13483
13551
|
|
|
13484
13552
|
// src/events/market-details/market-details-graph-panel.tsx
|
|
13485
|
-
var
|
|
13553
|
+
var import_hooks48 = require("@agg-build/hooks");
|
|
13486
13554
|
var import_react21 = require("react");
|
|
13487
|
-
var
|
|
13555
|
+
var import_jsx_runtime142 = require("react/jsx-runtime");
|
|
13488
13556
|
var MarketDetailsGraphPanel = ({
|
|
13489
13557
|
venueMarkets,
|
|
13490
13558
|
selectedOutcomeLabel,
|
|
@@ -13499,13 +13567,13 @@ var MarketDetailsGraphPanel = ({
|
|
|
13499
13567
|
classNames
|
|
13500
13568
|
}) => {
|
|
13501
13569
|
var _a, _b, _c;
|
|
13502
|
-
const config = (0,
|
|
13570
|
+
const config = (0, import_hooks48.useSdkUiConfig)();
|
|
13503
13571
|
const {
|
|
13504
13572
|
formatting: { formatPercent, formatCompactCurrency, formatPrice },
|
|
13505
13573
|
general: { theme }
|
|
13506
13574
|
} = config;
|
|
13507
13575
|
const isDarkTheme = theme === "dark";
|
|
13508
|
-
const labels = (0,
|
|
13576
|
+
const labels = (0, import_hooks48.useLabels)();
|
|
13509
13577
|
const selectedTimeRange = config.chart.selectedChartTimeRange;
|
|
13510
13578
|
const setSelectedTimeRange = config.chart.setSelectedChartTimeRange;
|
|
13511
13579
|
const [chartRangeOverride, setChartRangeOverride] = (0, import_react21.useState)(null);
|
|
@@ -13525,7 +13593,7 @@ var MarketDetailsGraphPanel = ({
|
|
|
13525
13593
|
livePrices
|
|
13526
13594
|
});
|
|
13527
13595
|
}, [livePrices, venueMarkets, resolvedChartOutcomeLabel, chartSelectedOutcomeId]);
|
|
13528
|
-
const rollingWindow = (0,
|
|
13596
|
+
const rollingWindow = (0, import_hooks48.useRollingChartWindow)({ range: effectiveChartTimeRange });
|
|
13529
13597
|
const chartPrimaryOutcomeId = (_b = (_a = chartOutcomesByVenue[0]) == null ? void 0 : _a.outcome.id) != null ? _b : null;
|
|
13530
13598
|
const chartVenueOutcomeIds = (0, import_react21.useMemo)(() => {
|
|
13531
13599
|
return chartOutcomesByVenue.map((item) => item.outcome.id);
|
|
@@ -13535,7 +13603,7 @@ var MarketDetailsGraphPanel = ({
|
|
|
13535
13603
|
isLoading: isMarketChartLoading,
|
|
13536
13604
|
error: marketChartError,
|
|
13537
13605
|
refetch: refetchMarketChart
|
|
13538
|
-
} = (0,
|
|
13606
|
+
} = (0, import_hooks48.useMarketChart)({
|
|
13539
13607
|
marketId: chartPrimaryOutcomeId,
|
|
13540
13608
|
venueMarketIds: chartVenueOutcomeIds,
|
|
13541
13609
|
interval: rollingWindow.interval,
|
|
@@ -13639,17 +13707,17 @@ var MarketDetailsGraphPanel = ({
|
|
|
13639
13707
|
const handleRetryMarketChart = () => {
|
|
13640
13708
|
void refetchMarketChart();
|
|
13641
13709
|
};
|
|
13642
|
-
return /* @__PURE__ */ (0,
|
|
13643
|
-
hasChartError ? /* @__PURE__ */ (0,
|
|
13710
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsxs)("div", { className: cn("agg-price-chart flex flex-col gap-5 p-5", classNames == null ? void 0 : classNames.graph), children: [
|
|
13711
|
+
hasChartError ? /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
|
|
13644
13712
|
StateMessage,
|
|
13645
13713
|
{
|
|
13646
13714
|
title: labels.marketDetails.chartUnavailableTitle,
|
|
13647
13715
|
description: labels.marketDetails.chartUnavailableDescription,
|
|
13648
|
-
icon: /* @__PURE__ */ (0,
|
|
13716
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(WarningIcon, {}),
|
|
13649
13717
|
onAction: handleRetryMarketChart,
|
|
13650
13718
|
classNames: { root: "min-h-[248px] px-5 py-10 md:min-h-[272px]" }
|
|
13651
13719
|
}
|
|
13652
|
-
) : /* @__PURE__ */ (0,
|
|
13720
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
|
|
13653
13721
|
LineChart,
|
|
13654
13722
|
{
|
|
13655
13723
|
series: graphSeries,
|
|
@@ -13662,14 +13730,14 @@ var MarketDetailsGraphPanel = ({
|
|
|
13662
13730
|
showSeriesControls: chartAvailableOutcomesByVenue.length > 0 || headerOutcomeItems.length > 0,
|
|
13663
13731
|
renderSeriesControls: () => {
|
|
13664
13732
|
var _a2, _b2, _c2, _d;
|
|
13665
|
-
return /* @__PURE__ */ (0,
|
|
13666
|
-
/* @__PURE__ */ (0,
|
|
13733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsxs)("div", { className: "agg-chart-toolbar w-full flex flex-col gap-4 md:flex-row md:items-center md:justify-between", children: [
|
|
13734
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("div", { className: "agg-market-venues flex flex-wrap gap-2", children: chartAvailableOutcomesByVenue.map((item) => {
|
|
13667
13735
|
const probability = formatProbabilityPercent(
|
|
13668
13736
|
wsLivePrices.get(item.outcome.id),
|
|
13669
13737
|
formatPercent
|
|
13670
13738
|
);
|
|
13671
13739
|
const isActiveVenue = selectedGraphVenue === item.venue;
|
|
13672
|
-
return /* @__PURE__ */ (0,
|
|
13740
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsxs)(
|
|
13673
13741
|
"button",
|
|
13674
13742
|
{
|
|
13675
13743
|
type: "button",
|
|
@@ -13688,14 +13756,14 @@ var MarketDetailsGraphPanel = ({
|
|
|
13688
13756
|
handleGraphVenueToggle(item.venue);
|
|
13689
13757
|
},
|
|
13690
13758
|
children: [
|
|
13691
|
-
/* @__PURE__ */ (0,
|
|
13692
|
-
/* @__PURE__ */ (0,
|
|
13759
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)(VenueLogo, { venue: item.venue, size: "small" }),
|
|
13760
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("span", { className: "text-agg-base leading-agg-6 text-agg-foreground", children: probability })
|
|
13693
13761
|
]
|
|
13694
13762
|
},
|
|
13695
13763
|
`${item.market.id}-${item.outcome.id}`
|
|
13696
13764
|
);
|
|
13697
13765
|
}) }),
|
|
13698
|
-
!isOutcomeSelectionLocked ? /* @__PURE__ */ (0,
|
|
13766
|
+
!isOutcomeSelectionLocked ? /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
|
|
13699
13767
|
SwitchButton,
|
|
13700
13768
|
{
|
|
13701
13769
|
ariaLabel: labels.marketDetails.outcomeSelectorAria,
|
|
@@ -13725,7 +13793,7 @@ var MarketDetailsGraphPanel = ({
|
|
|
13725
13793
|
}
|
|
13726
13794
|
}
|
|
13727
13795
|
),
|
|
13728
|
-
/* @__PURE__ */ (0,
|
|
13796
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsxs)(
|
|
13729
13797
|
"div",
|
|
13730
13798
|
{
|
|
13731
13799
|
className: cn(
|
|
@@ -13734,9 +13802,9 @@ var MarketDetailsGraphPanel = ({
|
|
|
13734
13802
|
classNames == null ? void 0 : classNames.footer
|
|
13735
13803
|
),
|
|
13736
13804
|
children: [
|
|
13737
|
-
/* @__PURE__ */ (0,
|
|
13738
|
-
/* @__PURE__ */ (0,
|
|
13739
|
-
/* @__PURE__ */ (0,
|
|
13805
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("span", { children: typeof volume !== "number" ? labels.marketDetails.volumeUnavailable : volume > 0 ? `${formatCompactCurrency(volume)} ${labels.marketDetails.meta.volumeSuffix}` : "" }),
|
|
13806
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsxs)("div", { className: "flex flex-wrap items-center gap-3 md:gap-4", children: [
|
|
13807
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
|
|
13740
13808
|
ChartTypeSwitch,
|
|
13741
13809
|
{
|
|
13742
13810
|
className: "agg-chart-type-switch shrink-0",
|
|
@@ -13744,11 +13812,11 @@ var MarketDetailsGraphPanel = ({
|
|
|
13744
13812
|
onValueChange: setSelectedChartType
|
|
13745
13813
|
}
|
|
13746
13814
|
),
|
|
13747
|
-
/* @__PURE__ */ (0,
|
|
13748
|
-
|
|
13815
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)("span", { "aria-hidden": "true", className: "hidden h-4 w-px bg-agg-separator md:block" }),
|
|
13816
|
+
import_hooks48.CHART_TIME_RANGES.map((timeRange) => {
|
|
13749
13817
|
const isActive = effectiveChartTimeRange === timeRange;
|
|
13750
13818
|
const isDisabled = isResolvedMarket && timeRange !== "ALL";
|
|
13751
|
-
return /* @__PURE__ */ (0,
|
|
13819
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
|
|
13752
13820
|
"button",
|
|
13753
13821
|
{
|
|
13754
13822
|
type: "button",
|
|
@@ -13782,14 +13850,14 @@ var MarketDetailsGraphPanel = ({
|
|
|
13782
13850
|
MarketDetailsGraphPanel.displayName = "MarketDetailsGraphPanel";
|
|
13783
13851
|
|
|
13784
13852
|
// src/events/market-details/index.tsx
|
|
13785
|
-
var
|
|
13853
|
+
var import_jsx_runtime143 = require("react/jsx-runtime");
|
|
13786
13854
|
var MarketDetailsUnavailableState = ({
|
|
13787
13855
|
marketId,
|
|
13788
13856
|
ariaLabel,
|
|
13789
13857
|
classNames
|
|
13790
13858
|
}) => {
|
|
13791
|
-
const labels = (0,
|
|
13792
|
-
return /* @__PURE__ */ (0,
|
|
13859
|
+
const labels = (0, import_hooks49.useLabels)();
|
|
13860
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
13793
13861
|
Card,
|
|
13794
13862
|
{
|
|
13795
13863
|
"data-market-id": marketId || void 0,
|
|
@@ -13800,9 +13868,9 @@ var MarketDetailsUnavailableState = ({
|
|
|
13800
13868
|
),
|
|
13801
13869
|
role: "status",
|
|
13802
13870
|
"aria-label": ariaLabel != null ? ariaLabel : labels.marketDetails.unavailableAria,
|
|
13803
|
-
children: /* @__PURE__ */ (0,
|
|
13804
|
-
/* @__PURE__ */ (0,
|
|
13805
|
-
/* @__PURE__ */ (0,
|
|
13871
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("div", { className: "flex flex-col gap-1 p-5", children: [
|
|
13872
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Typography, { variant: "body-large-strong", children: labels.marketDetails.unavailableTitle }),
|
|
13873
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Typography, { variant: "label", className: "text-agg-muted-foreground", children: labels.marketDetails.unavailableDescription })
|
|
13806
13874
|
] })
|
|
13807
13875
|
}
|
|
13808
13876
|
);
|
|
@@ -13812,14 +13880,14 @@ var MarketDetailsNotFoundState = ({
|
|
|
13812
13880
|
ariaLabel: _ariaLabel,
|
|
13813
13881
|
classNames: _classNames
|
|
13814
13882
|
}) => {
|
|
13815
|
-
const labels = (0,
|
|
13816
|
-
return /* @__PURE__ */ (0,
|
|
13883
|
+
const labels = (0, import_hooks49.useLabels)();
|
|
13884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
13817
13885
|
StateMessage,
|
|
13818
13886
|
{
|
|
13819
13887
|
"data-market-id": marketId || void 0,
|
|
13820
13888
|
title: labels.marketDetails.notFoundTitle,
|
|
13821
13889
|
description: labels.marketDetails.notFoundDescription,
|
|
13822
|
-
icon: /* @__PURE__ */ (0,
|
|
13890
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(SearchEmptyIcon, {}),
|
|
13823
13891
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
13824
13892
|
}
|
|
13825
13893
|
);
|
|
@@ -13850,34 +13918,34 @@ var MarketDetailsContent = ({
|
|
|
13850
13918
|
suppressOutcomeFallbackSelection,
|
|
13851
13919
|
midpointsResult
|
|
13852
13920
|
}) => {
|
|
13853
|
-
var _a, _b, _c, _d, _e, _f, _g
|
|
13854
|
-
const config = (0,
|
|
13921
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
13922
|
+
const config = (0, import_hooks49.useSdkUiConfig)();
|
|
13855
13923
|
const {
|
|
13856
13924
|
features: { enableAnimations },
|
|
13857
13925
|
formatting: { formatPercent }
|
|
13858
13926
|
} = config;
|
|
13859
|
-
const labels = (0,
|
|
13860
|
-
const tradingContext = (0,
|
|
13927
|
+
const labels = (0, import_hooks49.useLabels)();
|
|
13928
|
+
const tradingContext = (0, import_hooks49.useEventTradingContext)();
|
|
13861
13929
|
const detailsContentId = (0, import_react22.useId)();
|
|
13862
13930
|
const tradeSide = (_a = tradingContext == null ? void 0 : tradingContext.tradeSide) != null ? _a : "buy";
|
|
13863
13931
|
const resolvedMarket = (0, import_react22.useMemo)(() => {
|
|
13864
13932
|
return resolveMarketFromVenueMarkets(venueMarkets, marketId);
|
|
13865
13933
|
}, [venueMarkets, marketId]);
|
|
13866
13934
|
const clusterVenueMarkets = resolvedMarket == null ? void 0 : resolvedMarket.venueMarkets;
|
|
13867
|
-
const wsLivePrices = (0,
|
|
13868
|
-
const wsBestPrices = (0,
|
|
13869
|
-
const wsBestCandidates = (0,
|
|
13935
|
+
const wsLivePrices = (0, import_hooks49.useLiveOutcomePrices)(clusterVenueMarkets);
|
|
13936
|
+
const wsBestPrices = (0, import_hooks49.useLiveBestPrices)(clusterVenueMarkets);
|
|
13937
|
+
const wsBestCandidates = (0, import_hooks49.useLiveBestPriceCandidates)(clusterVenueMarkets);
|
|
13870
13938
|
const scopedResolvedMarket = (0, import_react22.useMemo)(() => {
|
|
13871
13939
|
var _a2, _b2;
|
|
13872
13940
|
if (!resolvedMarket) return null;
|
|
13873
13941
|
return (_b2 = (_a2 = resolvedMarket.venueMarkets.find((venueMarket) => venueMarket.id === resolvedMarket.id)) != null ? _a2 : resolvedMarket.venueMarkets[0]) != null ? _b2 : null;
|
|
13874
13942
|
}, [resolvedMarket]);
|
|
13875
|
-
const isResolvedMarket = (0,
|
|
13876
|
-
(0,
|
|
13943
|
+
const isResolvedMarket = (0, import_hooks49.resolveMarketTradingState)(scopedResolvedMarket).kind === "resolved";
|
|
13944
|
+
(0, import_hooks49.useEventOrderbookData)(
|
|
13877
13945
|
isResolvedMarket ? [] : resolvedMarket == null ? void 0 : resolvedMarket.venueMarkets,
|
|
13878
13946
|
(_b = scopedResolvedMarket == null ? void 0 : scopedResolvedMarket.id) != null ? _b : null
|
|
13879
13947
|
);
|
|
13880
|
-
const fetchedClusterMidpointResult = (0,
|
|
13948
|
+
const fetchedClusterMidpointResult = (0, import_hooks49.useMidpoints)(midpointsResult ? [] : clusterVenueMarkets);
|
|
13881
13949
|
const clusterMidpointResult = midpointsResult != null ? midpointsResult : fetchedClusterMidpointResult;
|
|
13882
13950
|
const clusterMidpoints = (_c = clusterMidpointResult.bestMidpointsByOutcomeId) != null ? _c : clusterMidpointResult.prices;
|
|
13883
13951
|
const clusterBestMidpointsByOutcomeId = clusterMidpoints;
|
|
@@ -13886,7 +13954,7 @@ var MarketDetailsContent = ({
|
|
|
13886
13954
|
const clusterBestMidpointVenue = clusterMidpointResult.bestMidpointVenue;
|
|
13887
13955
|
const clusterBestPricesRest = clusterMidpointResult.bestPrices;
|
|
13888
13956
|
const clusterBestPrices = (0, import_react22.useMemo)(
|
|
13889
|
-
() => (0,
|
|
13957
|
+
() => (0, import_hooks49.mergeBestPricesPreferringLive)(clusterBestPricesRest, wsBestPrices),
|
|
13890
13958
|
[clusterBestPricesRest, wsBestPrices]
|
|
13891
13959
|
);
|
|
13892
13960
|
const clusterBestPriceVenuesByOutcomeId = clusterMidpointResult.bestPriceVenuesByOutcomeId;
|
|
@@ -13921,7 +13989,7 @@ var MarketDetailsContent = ({
|
|
|
13921
13989
|
return (_a2 = model.market.venueMarkets.find((venueMarket) => venueMarket.id === model.market.id)) != null ? _a2 : model.primaryVenueMarket;
|
|
13922
13990
|
}, [model]);
|
|
13923
13991
|
const marketTradingState = (0, import_react22.useMemo)(() => {
|
|
13924
|
-
return (0,
|
|
13992
|
+
return (0, import_hooks49.resolveMarketTradingState)(scopedMarketForCard);
|
|
13925
13993
|
}, [scopedMarketForCard]);
|
|
13926
13994
|
const isOutcomeSelectionLocked = showResolvingState || marketTradingState.isTradingDisabled;
|
|
13927
13995
|
const isUpcomingMarket = marketTradingState.kind === "unopened";
|
|
@@ -14083,7 +14151,7 @@ var MarketDetailsContent = ({
|
|
|
14083
14151
|
fallbackPrice: midpointsFallback == null ? void 0 : midpointsFallback.get(displayOutcome.id)
|
|
14084
14152
|
});
|
|
14085
14153
|
if (referencePrice != null) return referencePrice;
|
|
14086
|
-
return (0,
|
|
14154
|
+
return (0, import_hooks49.findLivePriceById)(wsLivePrices, displayOutcome.id);
|
|
14087
14155
|
}, [
|
|
14088
14156
|
clusterBestMidpoint,
|
|
14089
14157
|
clusterBestMidpointsByOutcomeId,
|
|
@@ -14107,11 +14175,10 @@ var MarketDetailsContent = ({
|
|
|
14107
14175
|
});
|
|
14108
14176
|
}, [model, selectedOutcomeLabel, selectedOutcomeId]);
|
|
14109
14177
|
const orderBookEnabled = isOpened && effectiveSelectedTab === "order-book" && !marketTradingState.isTradingDisabled;
|
|
14110
|
-
const
|
|
14111
|
-
const
|
|
14112
|
-
|
|
14113
|
-
|
|
14114
|
-
enabled: orderBookEnabled && !!primaryVenueMarketId,
|
|
14178
|
+
const primaryOutcomeId = (_g = (_f = selectedOutcomesByVenue[0]) == null ? void 0 : _f.outcome.id) != null ? _g : null;
|
|
14179
|
+
const marketOrderbookResult = (0, import_hooks49.useMarketOrderbook)({
|
|
14180
|
+
venueMarketOutcomeId: primaryOutcomeId,
|
|
14181
|
+
enabled: orderBookEnabled && !!primaryOutcomeId,
|
|
14115
14182
|
venueOutcomes: selectedOutcomesByVenue.map((item) => ({
|
|
14116
14183
|
venue: item.venue,
|
|
14117
14184
|
venueMarketOutcomeId: item.outcomeId
|
|
@@ -14215,12 +14282,12 @@ var MarketDetailsContent = ({
|
|
|
14215
14282
|
kind: "disabled",
|
|
14216
14283
|
title: labels.marketDetails.resolvingTitle,
|
|
14217
14284
|
description: labels.marketDetails.resolvingDescription,
|
|
14218
|
-
icon: /* @__PURE__ */ (0,
|
|
14285
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(LoadingIcon, { size: "small" })
|
|
14219
14286
|
} : marketTradingState.isTradingDisabled ? {
|
|
14220
14287
|
kind: "disabled",
|
|
14221
14288
|
title: marketStatePresentation.title,
|
|
14222
14289
|
description: marketStatePresentation.description,
|
|
14223
|
-
icon: /* @__PURE__ */ (0,
|
|
14290
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Icon, { name: marketStatePresentation.iconName, className: "h-5 w-5", "aria-hidden": "true" })
|
|
14224
14291
|
} : isOrderBookLoading ? { kind: "loading" } : hasOrderBookError ? {
|
|
14225
14292
|
kind: "error",
|
|
14226
14293
|
title: labels.marketDetails.orderBookUnavailableTitle,
|
|
@@ -14236,7 +14303,7 @@ var MarketDetailsContent = ({
|
|
|
14236
14303
|
description: labels.marketDetails.orderBookEmptyDescription
|
|
14237
14304
|
} : { kind: "data" };
|
|
14238
14305
|
if (marketId && !resolvedMarket) {
|
|
14239
|
-
return /* @__PURE__ */ (0,
|
|
14306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14240
14307
|
MarketDetailsNotFoundState,
|
|
14241
14308
|
{
|
|
14242
14309
|
marketId,
|
|
@@ -14246,7 +14313,7 @@ var MarketDetailsContent = ({
|
|
|
14246
14313
|
);
|
|
14247
14314
|
}
|
|
14248
14315
|
if (!model) {
|
|
14249
|
-
return /* @__PURE__ */ (0,
|
|
14316
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14250
14317
|
MarketDetailsUnavailableState,
|
|
14251
14318
|
{
|
|
14252
14319
|
marketId,
|
|
@@ -14255,7 +14322,7 @@ var MarketDetailsContent = ({
|
|
|
14255
14322
|
}
|
|
14256
14323
|
);
|
|
14257
14324
|
}
|
|
14258
|
-
return /* @__PURE__ */ (0,
|
|
14325
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
14259
14326
|
Card,
|
|
14260
14327
|
{
|
|
14261
14328
|
className: cn(
|
|
@@ -14266,7 +14333,7 @@ var MarketDetailsContent = ({
|
|
|
14266
14333
|
classNames == null ? void 0 : classNames.root
|
|
14267
14334
|
),
|
|
14268
14335
|
children: [
|
|
14269
|
-
/* @__PURE__ */ (0,
|
|
14336
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
14270
14337
|
"div",
|
|
14271
14338
|
{
|
|
14272
14339
|
"data-market-id": marketId || void 0,
|
|
@@ -14277,7 +14344,7 @@ var MarketDetailsContent = ({
|
|
|
14277
14344
|
classNames == null ? void 0 : classNames.header
|
|
14278
14345
|
),
|
|
14279
14346
|
children: [
|
|
14280
|
-
/* @__PURE__ */ (0,
|
|
14347
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
14281
14348
|
"button",
|
|
14282
14349
|
{
|
|
14283
14350
|
className: cn(
|
|
@@ -14291,17 +14358,17 @@ var MarketDetailsContent = ({
|
|
|
14291
14358
|
"aria-controls": detailsContentId,
|
|
14292
14359
|
"aria-label": isOpened ? labels.marketDetails.toggleCloseDetailsAria(model.title) : labels.marketDetails.toggleOpenDetailsAria(model.title),
|
|
14293
14360
|
children: [
|
|
14294
|
-
/* @__PURE__ */ (0,
|
|
14295
|
-
!compactHeader ? /* @__PURE__ */ (0,
|
|
14361
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("div", { className: "agg-market-summary flex min-w-24 flex-1 items-center gap-3 md:gap-4", children: [
|
|
14362
|
+
!compactHeader ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14296
14363
|
RemoteImage,
|
|
14297
14364
|
{
|
|
14298
|
-
src: (0,
|
|
14365
|
+
src: (0, import_hooks49.optimizedImageUrl)(model.image, 60),
|
|
14299
14366
|
alt: "",
|
|
14300
14367
|
className: "agg-market-image size-12 rounded-agg-lg object-cover md:size-[60px]"
|
|
14301
14368
|
}
|
|
14302
14369
|
) : null,
|
|
14303
|
-
/* @__PURE__ */ (0,
|
|
14304
|
-
/* @__PURE__ */ (0,
|
|
14370
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("div", { className: "flex min-w-24 flex-col", children: [
|
|
14371
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Tooltip, { content: model.title, side: "top", children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14305
14372
|
Typography,
|
|
14306
14373
|
{
|
|
14307
14374
|
as: "h3",
|
|
@@ -14310,7 +14377,7 @@ var MarketDetailsContent = ({
|
|
|
14310
14377
|
children: model.title
|
|
14311
14378
|
}
|
|
14312
14379
|
) }) }),
|
|
14313
|
-
/* @__PURE__ */ (0,
|
|
14380
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "flex items-center gap-3", children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14314
14381
|
Typography,
|
|
14315
14382
|
{
|
|
14316
14383
|
variant: "label",
|
|
@@ -14318,8 +14385,8 @@ var MarketDetailsContent = ({
|
|
|
14318
14385
|
children: subtitleOverride != null ? subtitleOverride : model.subtitle
|
|
14319
14386
|
}
|
|
14320
14387
|
) }),
|
|
14321
|
-
!showResolvingState && marketTradingState.isTradingDisabled && marketTradingState.kind !== "resolved" && !isUpcomingMarket ? /* @__PURE__ */ (0,
|
|
14322
|
-
/* @__PURE__ */ (0,
|
|
14388
|
+
!showResolvingState && marketTradingState.isTradingDisabled && marketTradingState.kind !== "resolved" && !isUpcomingMarket ? /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("div", { className: "mt-2 flex flex-wrap items-center gap-2 justify-center md:justify-start", children: [
|
|
14389
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
14323
14390
|
"span",
|
|
14324
14391
|
{
|
|
14325
14392
|
className: cn(
|
|
@@ -14327,7 +14394,7 @@ var MarketDetailsContent = ({
|
|
|
14327
14394
|
resolveTradingStateBadgeClassName(marketTradingState.kind)
|
|
14328
14395
|
),
|
|
14329
14396
|
children: [
|
|
14330
|
-
/* @__PURE__ */ (0,
|
|
14397
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14331
14398
|
Icon,
|
|
14332
14399
|
{
|
|
14333
14400
|
name: marketStatePresentation.iconName,
|
|
@@ -14335,23 +14402,23 @@ var MarketDetailsContent = ({
|
|
|
14335
14402
|
className: "h-3.5 w-3.5"
|
|
14336
14403
|
}
|
|
14337
14404
|
),
|
|
14338
|
-
/* @__PURE__ */ (0,
|
|
14405
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)("span", { children: marketStatePresentation.badgeLabel })
|
|
14339
14406
|
]
|
|
14340
14407
|
}
|
|
14341
14408
|
),
|
|
14342
|
-
marketStatePresentation.timestampLabel ? /* @__PURE__ */ (0,
|
|
14343
|
-
marketStatePresentation.winningOutcomeLabel ? /* @__PURE__ */ (0,
|
|
14409
|
+
marketStatePresentation.timestampLabel ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Typography, { variant: "label", className: "text-agg-muted-foreground", children: marketStatePresentation.timestampLabel }) : null,
|
|
14410
|
+
marketStatePresentation.winningOutcomeLabel ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Typography, { variant: "label", className: "text-agg-muted-foreground", children: marketStatePresentation.winningOutcomeLabel }) : null
|
|
14344
14411
|
] }) : null
|
|
14345
14412
|
] })
|
|
14346
14413
|
] }),
|
|
14347
|
-
!compactHeader ? /* @__PURE__ */ (0,
|
|
14414
|
+
!compactHeader ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Typography, { as: "div", variant: "heading", className: "agg-market-headline shrink-0", children: formatProbabilityPercent(headlineProbability, formatPercent) }) : null
|
|
14348
14415
|
]
|
|
14349
14416
|
}
|
|
14350
14417
|
),
|
|
14351
|
-
showResolvingState ? /* @__PURE__ */ (0,
|
|
14352
|
-
/* @__PURE__ */ (0,
|
|
14353
|
-
/* @__PURE__ */ (0,
|
|
14354
|
-
] }) }) : marketTradingState.kind === "resolved" && marketTradingState.winningOutcome ? /* @__PURE__ */ (0,
|
|
14418
|
+
showResolvingState ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "agg-outcomes flex w-full items-center justify-end md:w-auto md:shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("span", { className: "inline-flex h-9 min-w-35 items-center justify-center gap-2 rounded-agg-full bg-agg-secondary-hover px-5 py-1.5 text-agg-sm", children: [
|
|
14419
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(LoadingIcon, { size: "small" }),
|
|
14420
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Typography, { variant: "body", children: labels.marketDetails.resolvingBadge })
|
|
14421
|
+
] }) }) : marketTradingState.kind === "resolved" && marketTradingState.winningOutcome ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "agg-outcomes flex w-full items-center justify-end md:w-auto md:shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
14355
14422
|
"span",
|
|
14356
14423
|
{
|
|
14357
14424
|
className: cn(
|
|
@@ -14364,7 +14431,7 @@ var MarketDetailsContent = ({
|
|
|
14364
14431
|
"border-transparent bg-agg-secondary-hover"
|
|
14365
14432
|
),
|
|
14366
14433
|
children: [
|
|
14367
|
-
/* @__PURE__ */ (0,
|
|
14434
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14368
14435
|
Icon,
|
|
14369
14436
|
{
|
|
14370
14437
|
name: marketTradingState.winningOutcome.label.trim().toLowerCase() === "yes" ? "check-circle" : "cross-circle",
|
|
@@ -14375,12 +14442,12 @@ var MarketDetailsContent = ({
|
|
|
14375
14442
|
)
|
|
14376
14443
|
}
|
|
14377
14444
|
),
|
|
14378
|
-
/* @__PURE__ */ (0,
|
|
14445
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Typography, { variant: "body", children: labels.eventMarketPage.resolvedOutcome(
|
|
14379
14446
|
resolvedWinningOutcomeLabel != null ? resolvedWinningOutcomeLabel : marketTradingState.winningOutcome.label
|
|
14380
14447
|
) })
|
|
14381
14448
|
]
|
|
14382
14449
|
}
|
|
14383
|
-
) }) : isUpcomingMarket ? /* @__PURE__ */ (0,
|
|
14450
|
+
) }) : isUpcomingMarket ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "agg-outcomes flex w-full items-center justify-end md:w-auto md:shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
14384
14451
|
"span",
|
|
14385
14452
|
{
|
|
14386
14453
|
className: cn(
|
|
@@ -14389,7 +14456,7 @@ var MarketDetailsContent = ({
|
|
|
14389
14456
|
resolveTradingStateBadgeClassName(marketTradingState.kind)
|
|
14390
14457
|
),
|
|
14391
14458
|
children: [
|
|
14392
|
-
/* @__PURE__ */ (0,
|
|
14459
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14393
14460
|
Icon,
|
|
14394
14461
|
{
|
|
14395
14462
|
name: marketStatePresentation.iconName,
|
|
@@ -14398,10 +14465,10 @@ var MarketDetailsContent = ({
|
|
|
14398
14465
|
"aria-hidden": "true"
|
|
14399
14466
|
}
|
|
14400
14467
|
),
|
|
14401
|
-
/* @__PURE__ */ (0,
|
|
14468
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)("span", { children: marketStatePresentation.badgeLabel })
|
|
14402
14469
|
]
|
|
14403
14470
|
}
|
|
14404
|
-
) }) : /* @__PURE__ */ (0,
|
|
14471
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14405
14472
|
"div",
|
|
14406
14473
|
{
|
|
14407
14474
|
className: "agg-outcomes flex w-full flex-wrap gap-2 md:w-auto md:shrink-0 md:flex-nowrap",
|
|
@@ -14410,7 +14477,7 @@ var MarketDetailsContent = ({
|
|
|
14410
14477
|
onKeyDown: (eventToHandle) => handleOutcomeKeyDown(eventToHandle),
|
|
14411
14478
|
children: headerOutcomeItems.map((item) => {
|
|
14412
14479
|
const isActiveOutcome = item.id === selectedOutcomeId;
|
|
14413
|
-
return /* @__PURE__ */ (0,
|
|
14480
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14414
14481
|
MarketDetailsOutcomeButton,
|
|
14415
14482
|
{
|
|
14416
14483
|
enforceFixedWidth: headerOutcomeVariant != null,
|
|
@@ -14437,8 +14504,8 @@ var MarketDetailsContent = ({
|
|
|
14437
14504
|
]
|
|
14438
14505
|
}
|
|
14439
14506
|
),
|
|
14440
|
-
headerAccessory ? /* @__PURE__ */ (0,
|
|
14441
|
-
/* @__PURE__ */ (0,
|
|
14507
|
+
headerAccessory ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "agg-market-card-accessory border-t border-agg-separator", children: headerAccessory }) : null,
|
|
14508
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14442
14509
|
"div",
|
|
14443
14510
|
{
|
|
14444
14511
|
id: detailsContentId,
|
|
@@ -14452,9 +14519,9 @@ var MarketDetailsContent = ({
|
|
|
14452
14519
|
isOpened ? "grid-rows-[1fr] opacity-100" : "pointer-events-none grid-rows-[0fr] opacity-0"
|
|
14453
14520
|
),
|
|
14454
14521
|
"aria-hidden": !isOpened,
|
|
14455
|
-
children: /* @__PURE__ */ (0,
|
|
14456
|
-
/* @__PURE__ */ (0,
|
|
14457
|
-
/* @__PURE__ */ (0,
|
|
14522
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("div", { className: "min-h-0", children: [
|
|
14523
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "h-px w-full bg-agg-separator" }),
|
|
14524
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
14458
14525
|
"div",
|
|
14459
14526
|
{
|
|
14460
14527
|
className: cn(
|
|
@@ -14468,8 +14535,8 @@ var MarketDetailsContent = ({
|
|
|
14468
14535
|
) : "translate-y-5 opacity-0"
|
|
14469
14536
|
),
|
|
14470
14537
|
children: [
|
|
14471
|
-
!isResolvedMarket ? /* @__PURE__ */ (0,
|
|
14472
|
-
/* @__PURE__ */ (0,
|
|
14538
|
+
!isResolvedMarket ? /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(import_jsx_runtime143.Fragment, { children: [
|
|
14539
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: cn("block", classNames == null ? void 0 : classNames.tabs), children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14473
14540
|
Tabs,
|
|
14474
14541
|
{
|
|
14475
14542
|
ariaLabel: labels.marketDetails.tabsAria,
|
|
@@ -14480,10 +14547,10 @@ var MarketDetailsContent = ({
|
|
|
14480
14547
|
className: "agg-market-tabs flex! w-full px-5"
|
|
14481
14548
|
}
|
|
14482
14549
|
) }),
|
|
14483
|
-
/* @__PURE__ */ (0,
|
|
14550
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "h-px w-full bg-agg-separator" })
|
|
14484
14551
|
] }) : null,
|
|
14485
|
-
/* @__PURE__ */ (0,
|
|
14486
|
-
effectiveSelectedTab === "order-book" ? /* @__PURE__ */ (0,
|
|
14552
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("div", { className: cn("agg-market-card-body p-0", classNames == null ? void 0 : classNames.content), children: [
|
|
14553
|
+
effectiveSelectedTab === "order-book" ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14487
14554
|
OrderbookWithStates,
|
|
14488
14555
|
{
|
|
14489
14556
|
state: orderbookState,
|
|
@@ -14509,7 +14576,7 @@ var MarketDetailsContent = ({
|
|
|
14509
14576
|
wrapperClassName: classNames == null ? void 0 : classNames.orderBook
|
|
14510
14577
|
}
|
|
14511
14578
|
) : null,
|
|
14512
|
-
isOpened && effectiveSelectedTab === "graph" ? /* @__PURE__ */ (0,
|
|
14579
|
+
isOpened && effectiveSelectedTab === "graph" ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14513
14580
|
MarketDetailsGraphPanel,
|
|
14514
14581
|
{
|
|
14515
14582
|
venueMarkets: model.market.venueMarkets,
|
|
@@ -14525,13 +14592,13 @@ var MarketDetailsContent = ({
|
|
|
14525
14592
|
classNames: { graph: classNames == null ? void 0 : classNames.graph, footer: classNames == null ? void 0 : classNames.footer }
|
|
14526
14593
|
}
|
|
14527
14594
|
) : null,
|
|
14528
|
-
effectiveSelectedTab === "other" ? /* @__PURE__ */ (0,
|
|
14595
|
+
effectiveSelectedTab === "other" ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "agg-market-meta flex flex-col gap-4", children: otherContent != null ? otherContent : /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { className: "agg-market-meta-list grid grid-cols-1 gap-3", children: otherRows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
14529
14596
|
"div",
|
|
14530
14597
|
{
|
|
14531
14598
|
className: "agg-market-meta-row flex items-center justify-between rounded-agg-xl bg-agg-secondary-hover px-4 py-3",
|
|
14532
14599
|
children: [
|
|
14533
|
-
/* @__PURE__ */ (0,
|
|
14534
|
-
/* @__PURE__ */ (0,
|
|
14600
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Typography, { variant: "label", className: "text-agg-muted-foreground", children: row.label }),
|
|
14601
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(Typography, { variant: "body", className: "text-right", children: row.value })
|
|
14535
14602
|
]
|
|
14536
14603
|
},
|
|
14537
14604
|
row.label
|
|
@@ -14549,9 +14616,9 @@ var MarketDetailsContent = ({
|
|
|
14549
14616
|
};
|
|
14550
14617
|
var MarketDetails = (_a) => {
|
|
14551
14618
|
var _b = _a, { isOpened } = _b, props = __objRest(_b, ["isOpened"]);
|
|
14552
|
-
const labels = (0,
|
|
14619
|
+
const labels = (0, import_hooks49.useLabels)();
|
|
14553
14620
|
if (props.isLoading) {
|
|
14554
|
-
return /* @__PURE__ */ (0,
|
|
14621
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14555
14622
|
Skeleton,
|
|
14556
14623
|
{
|
|
14557
14624
|
view: "market-details-minified",
|
|
@@ -14561,7 +14628,7 @@ var MarketDetails = (_a) => {
|
|
|
14561
14628
|
);
|
|
14562
14629
|
}
|
|
14563
14630
|
if ("venueMarkets" in props && props.venueMarkets) {
|
|
14564
|
-
return /* @__PURE__ */ (0,
|
|
14631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14565
14632
|
MarketDetailsContent,
|
|
14566
14633
|
__spreadProps(__spreadValues({}, props), {
|
|
14567
14634
|
isOpened,
|
|
@@ -14573,7 +14640,7 @@ var MarketDetails = (_a) => {
|
|
|
14573
14640
|
);
|
|
14574
14641
|
}
|
|
14575
14642
|
const { classNames: fallbackClassNames } = props;
|
|
14576
|
-
return /* @__PURE__ */ (0,
|
|
14643
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(MarketDetailsUnavailableState, { classNames: fallbackClassNames });
|
|
14577
14644
|
};
|
|
14578
14645
|
MarketDetails.displayName = "MarketDetails";
|
|
14579
14646
|
var AFFIRMATIVE_WINNER_LABELS = /* @__PURE__ */ new Set(["yes", "up", "buy", "long", "true"]);
|
|
@@ -14604,13 +14671,13 @@ var resolveIsResolvedEvent = (sourceMarkets, eventTradingState) => {
|
|
|
14604
14671
|
return eventTradingState.kind === "resolved";
|
|
14605
14672
|
}
|
|
14606
14673
|
if (sourceMarkets.length === 0) return false;
|
|
14607
|
-
return sourceMarkets.every((market) => (0,
|
|
14674
|
+
return sourceMarkets.every((market) => (0, import_hooks49.resolveMarketTradingState)(market).kind === "resolved");
|
|
14608
14675
|
};
|
|
14609
14676
|
var resolveResolvedWinnerMarketId = (sourceMarkets, eventTradingState) => {
|
|
14610
14677
|
var _a, _b, _c, _d, _e;
|
|
14611
14678
|
const preferredMarket = (_a = eventTradingState == null ? void 0 : eventTradingState.primaryMarket) != null ? _a : null;
|
|
14612
14679
|
if (preferredMarket && sourceMarkets.some((market) => market.id === preferredMarket.id)) {
|
|
14613
|
-
if ((0,
|
|
14680
|
+
if ((0, import_hooks49.resolveMarketTradingState)(preferredMarket).kind === "resolved") {
|
|
14614
14681
|
return preferredMarket.id;
|
|
14615
14682
|
}
|
|
14616
14683
|
}
|
|
@@ -14631,8 +14698,8 @@ var MarketDetailsList = ({
|
|
|
14631
14698
|
midpointsResult
|
|
14632
14699
|
}) => {
|
|
14633
14700
|
var _a, _b;
|
|
14634
|
-
const labels = (0,
|
|
14635
|
-
const tradingContext = (0,
|
|
14701
|
+
const labels = (0, import_hooks49.useLabels)();
|
|
14702
|
+
const tradingContext = (0, import_hooks49.useEventTradingContext)();
|
|
14636
14703
|
const selectedMarketId = (_a = tradingContext == null ? void 0 : tradingContext.selectedMarketId) != null ? _a : null;
|
|
14637
14704
|
const [expandedMarketId, setExpandedMarketId] = (0, import_react22.useState)(null);
|
|
14638
14705
|
const [areResolvedMarketsVisible, setAreResolvedMarketsVisible] = (0, import_react22.useState)(false);
|
|
@@ -14641,10 +14708,10 @@ var MarketDetailsList = ({
|
|
|
14641
14708
|
markets: rawMarkets,
|
|
14642
14709
|
isLoading,
|
|
14643
14710
|
error
|
|
14644
|
-
} = (0,
|
|
14711
|
+
} = (0, import_hooks49.useVenueMarkets)({
|
|
14645
14712
|
venueEventId: resolvedEventId,
|
|
14646
14713
|
enabled: !providedMarkets && !!resolvedEventId,
|
|
14647
|
-
status:
|
|
14714
|
+
status: import_hooks49.MarketStatus.open,
|
|
14648
14715
|
// Keep in lockstep with useEnrichedVenueEvent: limit is part of the React
|
|
14649
14716
|
// Query key, so a mismatch would fork the shared cache into two requests.
|
|
14650
14717
|
// fetchAll drains every page — events can exceed any single-page limit
|
|
@@ -14689,7 +14756,7 @@ var MarketDetailsList = ({
|
|
|
14689
14756
|
const resolved = [];
|
|
14690
14757
|
const closed = [];
|
|
14691
14758
|
sourceMarkets.forEach((market) => {
|
|
14692
|
-
const marketStateKind = (0,
|
|
14759
|
+
const marketStateKind = (0, import_hooks49.resolveMarketTradingState)(market).kind;
|
|
14693
14760
|
if (marketStateKind === "resolved") {
|
|
14694
14761
|
resolved.push(market);
|
|
14695
14762
|
return;
|
|
@@ -14721,10 +14788,10 @@ var MarketDetailsList = ({
|
|
|
14721
14788
|
const hasPrefetchedMarkets = !!providedMarkets || !!((_b = eventTradingState == null ? void 0 : eventTradingState.marketStates) == null ? void 0 : _b.length);
|
|
14722
14789
|
const midpointEligibleMarkets = (0, import_react22.useMemo)(() => {
|
|
14723
14790
|
return displayedMarkets.filter(
|
|
14724
|
-
(market) => (0,
|
|
14791
|
+
(market) => (0, import_hooks49.resolveMarketTradingState)(market).kind !== "resolved"
|
|
14725
14792
|
);
|
|
14726
14793
|
}, [displayedMarkets]);
|
|
14727
|
-
const { prices: midpointsFallback, venueByOutcomeId: midpointsFallbackVenues } = (0,
|
|
14794
|
+
const { prices: midpointsFallback, venueByOutcomeId: midpointsFallbackVenues } = (0, import_hooks49.useViewportMidpoints)(midpointEligibleMarkets);
|
|
14728
14795
|
(0, import_react22.useEffect)(() => {
|
|
14729
14796
|
if (isResolvedEvent) {
|
|
14730
14797
|
setAreResolvedMarketsVisible(false);
|
|
@@ -14743,7 +14810,7 @@ var MarketDetailsList = ({
|
|
|
14743
14810
|
return;
|
|
14744
14811
|
}
|
|
14745
14812
|
const fallbackSelectableMarket = displayedMarkets.find(
|
|
14746
|
-
(market) => !(0,
|
|
14813
|
+
(market) => !(0, import_hooks49.resolveMarketTradingState)(market).isTradingDisabled
|
|
14747
14814
|
);
|
|
14748
14815
|
if (!fallbackSelectableMarket) {
|
|
14749
14816
|
return;
|
|
@@ -14765,11 +14832,11 @@ var MarketDetailsList = ({
|
|
|
14765
14832
|
setExpandedMarketId(marketId);
|
|
14766
14833
|
onExpandedMarketChange == null ? void 0 : onExpandedMarketChange(marketId);
|
|
14767
14834
|
if (marketId === selectedMarketId) return;
|
|
14768
|
-
if ((0,
|
|
14835
|
+
if ((0, import_hooks49.resolveMarketTradingState)(market).isTradingDisabled) return;
|
|
14769
14836
|
tradingContext == null ? void 0 : tradingContext.selectMarket(market.id, market);
|
|
14770
14837
|
};
|
|
14771
14838
|
if (!hasPrefetchedMarkets && isLoading) {
|
|
14772
|
-
return /* @__PURE__ */ (0,
|
|
14839
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14773
14840
|
Skeleton,
|
|
14774
14841
|
{
|
|
14775
14842
|
view: "market-details-minified",
|
|
@@ -14779,29 +14846,29 @@ var MarketDetailsList = ({
|
|
|
14779
14846
|
);
|
|
14780
14847
|
}
|
|
14781
14848
|
if (!hasPrefetchedMarkets && error) {
|
|
14782
|
-
return /* @__PURE__ */ (0,
|
|
14849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14783
14850
|
StateMessage,
|
|
14784
14851
|
{
|
|
14785
14852
|
title: labels.marketDetails.unavailableTitle,
|
|
14786
14853
|
description: labels.marketDetails.unavailableDescription,
|
|
14787
|
-
icon: /* @__PURE__ */ (0,
|
|
14854
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(SearchEmptyIcon, {}),
|
|
14788
14855
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
14789
14856
|
}
|
|
14790
14857
|
);
|
|
14791
14858
|
}
|
|
14792
14859
|
if (displayedMarkets.length === 0 && !shouldShowResolvedToggle) {
|
|
14793
14860
|
const hasSourceMarkets = sourceMarkets.length > 0;
|
|
14794
|
-
return /* @__PURE__ */ (0,
|
|
14861
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14795
14862
|
StateMessage,
|
|
14796
14863
|
{
|
|
14797
14864
|
title: hasSourceMarkets ? isResolvedEvent ? labels.markets.emptyResolved : labels.markets.emptyNoOpen : labels.marketDetails.notFoundTitle,
|
|
14798
14865
|
description: hasSourceMarkets ? void 0 : labels.marketDetails.notFoundDescription,
|
|
14799
|
-
icon: /* @__PURE__ */ (0,
|
|
14866
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(SearchEmptyIcon, {}),
|
|
14800
14867
|
classNames: { root: "min-h-[280px] md:min-h-[320px]" }
|
|
14801
14868
|
}
|
|
14802
14869
|
);
|
|
14803
14870
|
}
|
|
14804
|
-
const renderMarketCard = (market) => /* @__PURE__ */ (0,
|
|
14871
|
+
const renderMarketCard = (market) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14805
14872
|
MarketDetails,
|
|
14806
14873
|
{
|
|
14807
14874
|
marketId: market.id,
|
|
@@ -14829,10 +14896,10 @@ var MarketDetailsList = ({
|
|
|
14829
14896
|
midpointsResult
|
|
14830
14897
|
}
|
|
14831
14898
|
) }, market.id);
|
|
14832
|
-
return /* @__PURE__ */ (0,
|
|
14899
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)("div", { className: cn("agg-market-list flex flex-col gap-3", classNames == null ? void 0 : classNames.root), children: [
|
|
14833
14900
|
groupedMarkets.primary.map((market) => renderMarketCard(market)),
|
|
14834
14901
|
showResolvingState ? groupedMarkets.closed.map((market) => renderMarketCard(market)) : null,
|
|
14835
|
-
shouldShowResolvedToggle ? /* @__PURE__ */ (0,
|
|
14902
|
+
shouldShowResolvedToggle ? /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14836
14903
|
Button,
|
|
14837
14904
|
{
|
|
14838
14905
|
variant: "tertiary",
|
|
@@ -14842,7 +14909,7 @@ var MarketDetailsList = ({
|
|
|
14842
14909
|
setAreResolvedMarketsVisible((isVisible) => !isVisible);
|
|
14843
14910
|
},
|
|
14844
14911
|
"aria-expanded": areResolvedMarketsVisible,
|
|
14845
|
-
suffix: /* @__PURE__ */ (0,
|
|
14912
|
+
suffix: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
14846
14913
|
Icon,
|
|
14847
14914
|
{
|
|
14848
14915
|
name: areResolvedMarketsVisible ? "chevron-up" : "chevron-down",
|
|
@@ -14860,14 +14927,14 @@ var MarketDetailsList = ({
|
|
|
14860
14927
|
MarketDetailsList.displayName = "MarketDetailsList";
|
|
14861
14928
|
|
|
14862
14929
|
// src/events/list/index.tsx
|
|
14863
|
-
var
|
|
14930
|
+
var import_hooks52 = require("@agg-build/hooks");
|
|
14864
14931
|
var import_sdk17 = require("@agg-build/sdk");
|
|
14865
14932
|
var Dialog2 = __toESM(require("@radix-ui/react-dialog"));
|
|
14866
14933
|
var import_react25 = require("react");
|
|
14867
14934
|
|
|
14868
14935
|
// src/events/list/category-sidebar.tsx
|
|
14869
14936
|
var import_react23 = require("react");
|
|
14870
|
-
var
|
|
14937
|
+
var import_jsx_runtime144 = require("react/jsx-runtime");
|
|
14871
14938
|
var rowBase = cn(
|
|
14872
14939
|
"flex min-h-11 w-full items-center gap-3 rounded-[6px] px-3 py-3",
|
|
14873
14940
|
"text-left text-agg-sm font-agg-normal leading-agg-5",
|
|
@@ -14909,7 +14976,7 @@ var CategorySidebar = ({
|
|
|
14909
14976
|
}) => {
|
|
14910
14977
|
var _a, _b;
|
|
14911
14978
|
const hasKnownChildren = ((_b = (_a = childrenByParentId.get(entry.id)) == null ? void 0 : _a.length) != null ? _b : 0) > 0;
|
|
14912
|
-
return /* @__PURE__ */ (0,
|
|
14979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime144.jsxs)(
|
|
14913
14980
|
"button",
|
|
14914
14981
|
{
|
|
14915
14982
|
type: "button",
|
|
@@ -14917,8 +14984,8 @@ var CategorySidebar = ({
|
|
|
14917
14984
|
className: isSelected ? selectedRowClassName : idleRowClassName,
|
|
14918
14985
|
onClick,
|
|
14919
14986
|
children: [
|
|
14920
|
-
/* @__PURE__ */ (0,
|
|
14921
|
-
hasKnownChildren ? /* @__PURE__ */ (0,
|
|
14987
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)("span", { className: "min-w-0 flex-1 truncate first-letter:uppercase", children: entry.label }),
|
|
14988
|
+
hasKnownChildren ? /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
|
|
14922
14989
|
Icon,
|
|
14923
14990
|
{
|
|
14924
14991
|
name: isExpanded ? "chevron-up" : "chevron-down",
|
|
@@ -14926,7 +14993,7 @@ var CategorySidebar = ({
|
|
|
14926
14993
|
color: "currentColor",
|
|
14927
14994
|
className: "shrink-0 text-agg-muted-foreground"
|
|
14928
14995
|
}
|
|
14929
|
-
) : /* @__PURE__ */ (0,
|
|
14996
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("span", { className: "shrink-0 text-agg-muted-foreground", children: entry.eventCount })
|
|
14930
14997
|
]
|
|
14931
14998
|
},
|
|
14932
14999
|
entry.id
|
|
@@ -14944,27 +15011,27 @@ var CategorySidebar = ({
|
|
|
14944
15011
|
const hasKnownChildren = childCategories.length > 0;
|
|
14945
15012
|
const isExpanded = ((_d = categoryPath[depth]) == null ? void 0 : _d.id) === category.id && !collapsedCategoryIds.has(category.id);
|
|
14946
15013
|
const isSelected = ((_e = categoryPath[depth]) == null ? void 0 : _e.id) === category.id && categoryPath.length === depth + 1;
|
|
14947
|
-
return /* @__PURE__ */ (0,
|
|
15014
|
+
return /* @__PURE__ */ (0, import_jsx_runtime144.jsxs)("div", { className: "flex w-full flex-col", children: [
|
|
14948
15015
|
renderRow({
|
|
14949
15016
|
entry,
|
|
14950
15017
|
isExpanded,
|
|
14951
15018
|
isSelected,
|
|
14952
15019
|
onClick: () => onToggleCategory({ entry, depth, hasKnownChildren, isExpanded, isSelected })
|
|
14953
15020
|
}),
|
|
14954
|
-
/* @__PURE__ */ (0,
|
|
15021
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
|
|
14955
15022
|
"div",
|
|
14956
15023
|
{
|
|
14957
15024
|
className: cn(
|
|
14958
15025
|
"grid transition-[grid-template-rows] duration-150 ease-in-out motion-reduce:transition-none",
|
|
14959
15026
|
isExpanded ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
|
|
14960
15027
|
),
|
|
14961
|
-
children: /* @__PURE__ */ (0,
|
|
15028
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("div", { className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("div", { className: "flex w-full flex-col gap-1 pl-4 pt-1", children: childCategories.map((child) => renderBranch(child, depth + 1)) }) })
|
|
14962
15029
|
}
|
|
14963
15030
|
)
|
|
14964
15031
|
] }, category.id);
|
|
14965
15032
|
};
|
|
14966
|
-
return /* @__PURE__ */ (0,
|
|
14967
|
-
/* @__PURE__ */ (0,
|
|
15033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime144.jsxs)("div", { className: "flex w-full flex-col gap-1", children: [
|
|
15034
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsxs)(
|
|
14968
15035
|
"button",
|
|
14969
15036
|
{
|
|
14970
15037
|
type: "button",
|
|
@@ -14972,8 +15039,8 @@ var CategorySidebar = ({
|
|
|
14972
15039
|
className: !isDrilledIn ? selectedRowClassName : idleRowClassName,
|
|
14973
15040
|
onClick: onSelectAll,
|
|
14974
15041
|
children: [
|
|
14975
|
-
/* @__PURE__ */ (0,
|
|
14976
|
-
/* @__PURE__ */ (0,
|
|
15042
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)("span", { className: "min-w-0 flex-1 truncate", children: labels.subcategoriesAll }),
|
|
15043
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)("span", { className: "shrink-0 text-agg-muted-foreground", children: totalEventCount })
|
|
14977
15044
|
]
|
|
14978
15045
|
}
|
|
14979
15046
|
),
|
|
@@ -14983,16 +15050,17 @@ var CategorySidebar = ({
|
|
|
14983
15050
|
CategorySidebar.displayName = "CategorySidebar";
|
|
14984
15051
|
|
|
14985
15052
|
// src/events/list/event-list-tabs.tsx
|
|
14986
|
-
var
|
|
15053
|
+
var import_hooks51 = require("@agg-build/hooks");
|
|
14987
15054
|
var import_sdk16 = require("@agg-build/sdk");
|
|
14988
15055
|
var import_react24 = require("react");
|
|
14989
15056
|
|
|
14990
15057
|
// src/events/list/event-list.constants.ts
|
|
15058
|
+
var import_hooks50 = require("@agg-build/hooks");
|
|
14991
15059
|
var import_sdk15 = require("@agg-build/sdk");
|
|
14992
15060
|
var DEFAULT_EVENTS_LIMIT = 50;
|
|
14993
15061
|
var DEFAULT_EVENT_LIST_SORT = "volume24hr";
|
|
14994
15062
|
var getDefaultEventListTabs = (labels) => {
|
|
14995
|
-
|
|
15063
|
+
const tabs = [
|
|
14996
15064
|
{
|
|
14997
15065
|
value: "matched",
|
|
14998
15066
|
label: labels.eventList.matchedTab,
|
|
@@ -15028,6 +15096,12 @@ var getDefaultEventListTabs = (labels) => {
|
|
|
15028
15096
|
venueLogo: import_sdk15.Venue.predict,
|
|
15029
15097
|
venues: [import_sdk15.Venue.predict]
|
|
15030
15098
|
},
|
|
15099
|
+
{
|
|
15100
|
+
value: import_sdk15.Venue.pred,
|
|
15101
|
+
label: labels.venues.pred,
|
|
15102
|
+
venueLogo: import_sdk15.Venue.pred,
|
|
15103
|
+
venues: [import_sdk15.Venue.pred]
|
|
15104
|
+
},
|
|
15031
15105
|
{
|
|
15032
15106
|
value: import_sdk15.Venue.hyperliquid,
|
|
15033
15107
|
label: labels.venues.hyperliquid,
|
|
@@ -15062,20 +15136,31 @@ var getDefaultEventListTabs = (labels) => {
|
|
|
15062
15136
|
isComingSoon: true
|
|
15063
15137
|
}
|
|
15064
15138
|
];
|
|
15139
|
+
const venueRank = new Map(
|
|
15140
|
+
(0, import_hooks50.sortVenues)(tabs.flatMap((tab) => tab.venueLogo ? [tab.venueLogo] : [])).map((venue, i) => [
|
|
15141
|
+
venue,
|
|
15142
|
+
i
|
|
15143
|
+
])
|
|
15144
|
+
);
|
|
15145
|
+
const rank = (tab) => {
|
|
15146
|
+
var _a;
|
|
15147
|
+
return tab.venueLogo ? 1 + ((_a = venueRank.get(tab.venueLogo)) != null ? _a : venueRank.size) : 0;
|
|
15148
|
+
};
|
|
15149
|
+
return [...tabs].sort((a, b) => rank(a) - rank(b));
|
|
15065
15150
|
};
|
|
15066
15151
|
|
|
15067
15152
|
// src/events/list/event-list-tabs.tsx
|
|
15068
|
-
var
|
|
15153
|
+
var import_jsx_runtime145 = require("react/jsx-runtime");
|
|
15069
15154
|
var DEFAULT_HIDDEN_VENUES = new Set((0, import_sdk16.getEffectiveDisabledVenues)(void 0));
|
|
15070
15155
|
var renderTabIcon = (tab, isActive) => {
|
|
15071
15156
|
if (tab.iconName === "warning-filled") {
|
|
15072
|
-
return /* @__PURE__ */ (0,
|
|
15157
|
+
return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(Icon, { name: "warning-filled", size: "small", color: "currentColor" });
|
|
15073
15158
|
}
|
|
15074
15159
|
if (tab.venueLogo) {
|
|
15075
|
-
return /* @__PURE__ */ (0,
|
|
15160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(VenueLogo, { venue: tab.venueLogo, size: "small" });
|
|
15076
15161
|
}
|
|
15077
15162
|
if (!tab.iconName) return null;
|
|
15078
|
-
return /* @__PURE__ */ (0,
|
|
15163
|
+
return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
15079
15164
|
Icon,
|
|
15080
15165
|
{
|
|
15081
15166
|
name: tab.iconName,
|
|
@@ -15085,14 +15170,14 @@ var renderTabIcon = (tab, isActive) => {
|
|
|
15085
15170
|
);
|
|
15086
15171
|
};
|
|
15087
15172
|
var useEventListTabs = (tabs) => {
|
|
15088
|
-
const labels = (0,
|
|
15089
|
-
const { disabledVenues, isLoading: isAppConfigLoading } = (0,
|
|
15090
|
-
const { isLocationBlocked } = (0,
|
|
15173
|
+
const labels = (0, import_hooks51.useLabels)();
|
|
15174
|
+
const { disabledVenues, isLoading: isAppConfigLoading } = (0, import_hooks51.useAppConfig)();
|
|
15175
|
+
const { isLocationBlocked } = (0, import_hooks51.useGeoBlock)();
|
|
15091
15176
|
return (0, import_react24.useMemo)(() => {
|
|
15092
15177
|
const baseTabs = tabs != null ? tabs : getDefaultEventListTabs(labels);
|
|
15093
15178
|
return baseTabs.flatMap((tab) => {
|
|
15094
15179
|
if (!tab.venueLogo) return [tab];
|
|
15095
|
-
const availabilityState = (0,
|
|
15180
|
+
const availabilityState = (0, import_hooks51.getVenueAvailabilityState)({
|
|
15096
15181
|
venueId: tab.venueLogo,
|
|
15097
15182
|
disabledVenues,
|
|
15098
15183
|
// A globally inactive or default-disabled venue is hidden until
|
|
@@ -15140,7 +15225,7 @@ var EventListTabs = ({
|
|
|
15140
15225
|
};
|
|
15141
15226
|
});
|
|
15142
15227
|
}, [activeTab, resolvedTabs]);
|
|
15143
|
-
return /* @__PURE__ */ (0,
|
|
15228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
15144
15229
|
Tabs,
|
|
15145
15230
|
{
|
|
15146
15231
|
ariaLabel,
|
|
@@ -15155,7 +15240,7 @@ var EventListTabs = ({
|
|
|
15155
15240
|
EventListTabs.displayName = "EventListTabs";
|
|
15156
15241
|
|
|
15157
15242
|
// src/events/list/index.tsx
|
|
15158
|
-
var
|
|
15243
|
+
var import_jsx_runtime146 = require("react/jsx-runtime");
|
|
15159
15244
|
var SORT_ICON_BY_VALUE = {
|
|
15160
15245
|
volume24hr: "sort-volume-24hr",
|
|
15161
15246
|
topArbitrage: "sort-top-arbitrage",
|
|
@@ -15216,15 +15301,15 @@ var EventList = ({
|
|
|
15216
15301
|
stateRef
|
|
15217
15302
|
}) => {
|
|
15218
15303
|
var _a, _b, _c, _d, _e, _f;
|
|
15219
|
-
const labels = (0,
|
|
15220
|
-
const { disabledVenues } = (0,
|
|
15304
|
+
const labels = (0, import_hooks52.useLabels)();
|
|
15305
|
+
const { disabledVenues } = (0, import_hooks52.useAppConfig)();
|
|
15221
15306
|
const {
|
|
15222
15307
|
features: { enableVenueEventDiscoveryFilters, showSportsMarkets }
|
|
15223
|
-
} = (0,
|
|
15308
|
+
} = (0, import_hooks52.useSdkUiConfig)();
|
|
15224
15309
|
const isDiscoveryFiltersEnabled = enableVenueEventDiscoveryFilters && !search;
|
|
15225
15310
|
const resolvedTabs = useEventListTabs();
|
|
15226
15311
|
const visibleVenues = (0, import_react25.useMemo)(
|
|
15227
|
-
() => disabledVenues.length === 0 ? void 0 : (0,
|
|
15312
|
+
() => disabledVenues.length === 0 ? void 0 : (0, import_hooks52.getVisibleVenueIdsByConfig)(import_sdk17.VENUES, disabledVenues),
|
|
15228
15313
|
[disabledVenues]
|
|
15229
15314
|
);
|
|
15230
15315
|
const [internalActiveTabValue, setInternalActiveTabValue] = (0, import_react25.useState)(
|
|
@@ -15263,22 +15348,22 @@ var EventList = ({
|
|
|
15263
15348
|
{
|
|
15264
15349
|
value: "volume24hr",
|
|
15265
15350
|
label: labels.eventList.sortBy24hVolume,
|
|
15266
|
-
icon: /* @__PURE__ */ (0,
|
|
15351
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Icon, { name: SORT_ICON_BY_VALUE.volume24hr, size: "small", color: "currentColor" })
|
|
15267
15352
|
},
|
|
15268
15353
|
{
|
|
15269
15354
|
value: "topArbitrage",
|
|
15270
15355
|
label: labels.eventList.sortByTopArbitrage,
|
|
15271
|
-
icon: /* @__PURE__ */ (0,
|
|
15356
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Icon, { name: SORT_ICON_BY_VALUE.topArbitrage, size: "small", color: "currentColor" })
|
|
15272
15357
|
},
|
|
15273
15358
|
{
|
|
15274
15359
|
value: "volume",
|
|
15275
15360
|
label: labels.eventList.sortByTotalVolume,
|
|
15276
|
-
icon: /* @__PURE__ */ (0,
|
|
15361
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Icon, { name: SORT_ICON_BY_VALUE.volume, size: "small", color: "currentColor" })
|
|
15277
15362
|
},
|
|
15278
15363
|
{
|
|
15279
15364
|
value: "endDate",
|
|
15280
15365
|
label: labels.eventList.sortByEndingSoon,
|
|
15281
|
-
icon: /* @__PURE__ */ (0,
|
|
15366
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Icon, { name: SORT_ICON_BY_VALUE.endDate, size: "small", color: "currentColor" })
|
|
15282
15367
|
}
|
|
15283
15368
|
];
|
|
15284
15369
|
}, [
|
|
@@ -15293,7 +15378,7 @@ var EventList = ({
|
|
|
15293
15378
|
if (controlledCategoryPath == null) setInternalCategoryPath([]);
|
|
15294
15379
|
setCollapsedCategoryIds(/* @__PURE__ */ new Set());
|
|
15295
15380
|
}, [baseCategoryId, controlledCategoryPath, isDiscoveryFiltersEnabled]);
|
|
15296
|
-
const { categories: topLevelCategories } = (0,
|
|
15381
|
+
const { categories: topLevelCategories } = (0, import_hooks52.useCategories)({
|
|
15297
15382
|
queryKeyScope: "event-list-top-categories",
|
|
15298
15383
|
enabled: isDiscoveryFiltersEnabled,
|
|
15299
15384
|
limit: 100
|
|
@@ -15310,7 +15395,7 @@ var EventList = ({
|
|
|
15310
15395
|
])
|
|
15311
15396
|
);
|
|
15312
15397
|
}, [baseCategoryId, categoryPath, sortedTopLevelCategories]);
|
|
15313
|
-
const { childrenByParentId: baseChildrenByParentId, isLoading: isBaseCategoryChildrenLoading } = (0,
|
|
15398
|
+
const { childrenByParentId: baseChildrenByParentId, isLoading: isBaseCategoryChildrenLoading } = (0, import_hooks52.useCategoryChildren)({
|
|
15314
15399
|
queryKeyScope: "event-list-category-children",
|
|
15315
15400
|
enabled: isDiscoveryFiltersEnabled,
|
|
15316
15401
|
parentIds: baseCategoryChildPrefetchIds,
|
|
@@ -15331,7 +15416,7 @@ var EventList = ({
|
|
|
15331
15416
|
}
|
|
15332
15417
|
return Array.from(ids);
|
|
15333
15418
|
}, [baseCategoryId, baseChildrenByParentId, categoryPath]);
|
|
15334
|
-
const { childrenByParentId: visibleChildrenByParentId } = (0,
|
|
15419
|
+
const { childrenByParentId: visibleChildrenByParentId } = (0, import_hooks52.useCategoryChildren)({
|
|
15335
15420
|
queryKeyScope: "event-list-category-children",
|
|
15336
15421
|
enabled: isDiscoveryFiltersEnabled,
|
|
15337
15422
|
parentIds: visibleChildPrefetchIds,
|
|
@@ -15347,7 +15432,7 @@ var EventList = ({
|
|
|
15347
15432
|
}
|
|
15348
15433
|
return Array.from(ids);
|
|
15349
15434
|
}, [categoryPath, visibleChildrenByParentId]);
|
|
15350
|
-
const { childrenByParentId: visibleGrandchildrenByParentId } = (0,
|
|
15435
|
+
const { childrenByParentId: visibleGrandchildrenByParentId } = (0, import_hooks52.useCategoryChildren)({
|
|
15351
15436
|
queryKeyScope: "event-list-category-children",
|
|
15352
15437
|
enabled: isDiscoveryFiltersEnabled,
|
|
15353
15438
|
parentIds: visibleGrandchildPrefetchIds,
|
|
@@ -15432,14 +15517,14 @@ var EventList = ({
|
|
|
15432
15517
|
isFetchingNextPage,
|
|
15433
15518
|
isPlaceholderData,
|
|
15434
15519
|
loadedPageCount
|
|
15435
|
-
} = (0,
|
|
15520
|
+
} = (0, import_hooks52.useVenueEvents)({
|
|
15436
15521
|
queryKeyScope: "event-list",
|
|
15437
15522
|
venues,
|
|
15438
15523
|
search,
|
|
15439
15524
|
categoryIds: resolvedCategoryIds,
|
|
15440
15525
|
matchStatus,
|
|
15441
15526
|
limit: requestLimit,
|
|
15442
|
-
status: [
|
|
15527
|
+
status: [import_hooks52.MarketStatus.open],
|
|
15443
15528
|
sortBy: sortQueryParams.sortBy,
|
|
15444
15529
|
sortDir: sortQueryParams.sortDir,
|
|
15445
15530
|
endDateFrom,
|
|
@@ -15475,7 +15560,7 @@ var EventList = ({
|
|
|
15475
15560
|
const visibleMidpointVenueMarketIds = (0, import_react25.useMemo)(() => {
|
|
15476
15561
|
return collectMidpointVenueMarketIds(visibleVenueMarkets);
|
|
15477
15562
|
}, [visibleVenueMarkets]);
|
|
15478
|
-
const { midpointRows: sharedMidpointRows, isLoading: isSharedMidpointsLoading } = (0,
|
|
15563
|
+
const { midpointRows: sharedMidpointRows, isLoading: isSharedMidpointsLoading } = (0, import_hooks52.useVenueMarketMidpoints)({
|
|
15479
15564
|
venueMarketIds: visibleMidpointVenueMarketIds,
|
|
15480
15565
|
enabled: visibleMidpointVenueMarketIds.length > 0
|
|
15481
15566
|
});
|
|
@@ -15534,7 +15619,7 @@ var EventList = ({
|
|
|
15534
15619
|
onCategoryRootChange == null ? void 0 : onCategoryRootChange(baseCategoryId != null ? baseCategoryId : void 0);
|
|
15535
15620
|
};
|
|
15536
15621
|
if (shouldRenderLoadingState) {
|
|
15537
|
-
return /* @__PURE__ */ (0,
|
|
15622
|
+
return /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15538
15623
|
Skeleton,
|
|
15539
15624
|
{
|
|
15540
15625
|
view: "event-list",
|
|
@@ -15543,8 +15628,8 @@ var EventList = ({
|
|
|
15543
15628
|
}
|
|
15544
15629
|
);
|
|
15545
15630
|
}
|
|
15546
|
-
return /* @__PURE__ */ (0,
|
|
15547
|
-
/* @__PURE__ */ (0,
|
|
15631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("section", { className: "agg-event-list flex w-full flex-col gap-2 md:gap-5 t", children: [
|
|
15632
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(
|
|
15548
15633
|
"header",
|
|
15549
15634
|
{
|
|
15550
15635
|
className: cn(
|
|
@@ -15553,9 +15638,9 @@ var EventList = ({
|
|
|
15553
15638
|
"gap-2 sm:flex-row sm:items-center sm:gap-4"
|
|
15554
15639
|
),
|
|
15555
15640
|
children: [
|
|
15556
|
-
/* @__PURE__ */ (0,
|
|
15557
|
-
/* @__PURE__ */ (0,
|
|
15558
|
-
/* @__PURE__ */ (0,
|
|
15641
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { className: "agg-event-list-title min-w-32", children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Typography, { as: "h2", variant: "title", className: "truncate first-letter:uppercase", children: title2 }) }),
|
|
15642
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { className: "hidden min-w-0 max-w-full items-center gap-3 md:flex", children: [
|
|
15643
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15559
15644
|
EventListTabs,
|
|
15560
15645
|
{
|
|
15561
15646
|
ariaLabel: labels.eventList.tabsAria(title2),
|
|
@@ -15565,7 +15650,7 @@ var EventList = ({
|
|
|
15565
15650
|
overflowBehavior: "scroll"
|
|
15566
15651
|
}
|
|
15567
15652
|
),
|
|
15568
|
-
/* @__PURE__ */ (0,
|
|
15653
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15569
15654
|
Select,
|
|
15570
15655
|
{
|
|
15571
15656
|
ariaLabel: labels.eventList.sortByLabel,
|
|
@@ -15581,8 +15666,8 @@ var EventList = ({
|
|
|
15581
15666
|
]
|
|
15582
15667
|
}
|
|
15583
15668
|
),
|
|
15584
|
-
/* @__PURE__ */ (0,
|
|
15585
|
-
/* @__PURE__ */ (0,
|
|
15669
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { className: "flex w-full gap-2 md:hidden mb-3", children: [
|
|
15670
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15586
15671
|
EventListTabs,
|
|
15587
15672
|
{
|
|
15588
15673
|
ariaLabel: labels.eventList.tabsAria(title2),
|
|
@@ -15592,7 +15677,7 @@ var EventList = ({
|
|
|
15592
15677
|
overflowBehavior: "select"
|
|
15593
15678
|
}
|
|
15594
15679
|
),
|
|
15595
|
-
/* @__PURE__ */ (0,
|
|
15680
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15596
15681
|
Select,
|
|
15597
15682
|
{
|
|
15598
15683
|
ariaLabel: labels.eventList.sortByLabel,
|
|
@@ -15603,23 +15688,23 @@ var EventList = ({
|
|
|
15603
15688
|
contentClassName: "rounded-[12px] py-2 shadow-[0_8px_16px_rgba(0,0,0,0.1)]"
|
|
15604
15689
|
}
|
|
15605
15690
|
),
|
|
15606
|
-
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0,
|
|
15691
|
+
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15607
15692
|
"button",
|
|
15608
15693
|
{
|
|
15609
15694
|
type: "button",
|
|
15610
15695
|
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",
|
|
15611
15696
|
"aria-label": labels.eventList.subcategoriesOpenAria,
|
|
15612
15697
|
onClick: () => setIsSubcategoriesModalOpen(true),
|
|
15613
|
-
children: /* @__PURE__ */ (0,
|
|
15698
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Icon, { name: "apps", size: "small", color: "currentColor" })
|
|
15614
15699
|
}
|
|
15615
15700
|
) : null
|
|
15616
15701
|
] }),
|
|
15617
|
-
/* @__PURE__ */ (0,
|
|
15702
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(
|
|
15618
15703
|
"div",
|
|
15619
15704
|
{
|
|
15620
15705
|
className: cn("flex w-full gap-6", shouldRenderSubcategoryFilters ? "md:items-start" : ""),
|
|
15621
15706
|
children: [
|
|
15622
|
-
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0,
|
|
15707
|
+
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("aside", { className: "hidden w-[200px] shrink-0 md:block self-start sticky top-4", children: /* @__PURE__ */ (0, import_jsx_runtime146.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_runtime146.jsx)(
|
|
15623
15708
|
CategorySidebar,
|
|
15624
15709
|
{
|
|
15625
15710
|
baseCategoryId,
|
|
@@ -15632,7 +15717,7 @@ var EventList = ({
|
|
|
15632
15717
|
onToggleCategory: handleToggleSubcategory
|
|
15633
15718
|
}
|
|
15634
15719
|
) }) }) : null,
|
|
15635
|
-
/* @__PURE__ */ (0,
|
|
15720
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(
|
|
15636
15721
|
"div",
|
|
15637
15722
|
{
|
|
15638
15723
|
className: cn(
|
|
@@ -15643,7 +15728,7 @@ var EventList = ({
|
|
|
15643
15728
|
gridClassName
|
|
15644
15729
|
),
|
|
15645
15730
|
children: [
|
|
15646
|
-
tileEvents.map((event) => /* @__PURE__ */ (0,
|
|
15731
|
+
tileEvents.map((event) => /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15647
15732
|
EventListItem,
|
|
15648
15733
|
{
|
|
15649
15734
|
event,
|
|
@@ -15656,11 +15741,11 @@ var EventList = ({
|
|
|
15656
15741
|
onMarketClick,
|
|
15657
15742
|
getMarketHref,
|
|
15658
15743
|
href: getEventHref == null ? void 0 : getEventHref(event),
|
|
15659
|
-
marketStatus:
|
|
15744
|
+
marketStatus: import_hooks52.MarketStatus.open
|
|
15660
15745
|
},
|
|
15661
15746
|
event.id
|
|
15662
15747
|
)),
|
|
15663
|
-
shouldRenderPaginationLoadingItems ? Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ (0,
|
|
15748
|
+
shouldRenderPaginationLoadingItems ? Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15664
15749
|
EventListItem,
|
|
15665
15750
|
{
|
|
15666
15751
|
isLoading: true,
|
|
@@ -15670,20 +15755,20 @@ var EventList = ({
|
|
|
15670
15755
|
},
|
|
15671
15756
|
`loading-${index}`
|
|
15672
15757
|
)) : null,
|
|
15673
|
-
shouldRenderEmptyState ? /* @__PURE__ */ (0,
|
|
15758
|
+
shouldRenderEmptyState ? /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { className: "col-span-full w-full", children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15674
15759
|
StateMessage,
|
|
15675
15760
|
{
|
|
15676
15761
|
title: labels.eventList.emptyTitle,
|
|
15677
15762
|
description: labels.eventList.emptyDescription,
|
|
15678
|
-
icon: /* @__PURE__ */ (0,
|
|
15763
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Icon, { name: "search-empty" })
|
|
15679
15764
|
}
|
|
15680
15765
|
) }) : null,
|
|
15681
|
-
isError ? /* @__PURE__ */ (0,
|
|
15766
|
+
isError ? /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { className: "col-span-full w-full", children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15682
15767
|
StateMessage,
|
|
15683
15768
|
{
|
|
15684
15769
|
title: labels.eventList.errorTitle,
|
|
15685
15770
|
description: labels.eventList.errorDescription,
|
|
15686
|
-
icon: /* @__PURE__ */ (0,
|
|
15771
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Icon, { name: "warning" })
|
|
15687
15772
|
}
|
|
15688
15773
|
) }) : null
|
|
15689
15774
|
]
|
|
@@ -15692,7 +15777,7 @@ var EventList = ({
|
|
|
15692
15777
|
]
|
|
15693
15778
|
}
|
|
15694
15779
|
),
|
|
15695
|
-
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0,
|
|
15780
|
+
shouldRenderSubcategoryFilters ? /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Modal, { open: isSubcategoriesModalOpen, onOpenChange: setIsSubcategoriesModalOpen, children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15696
15781
|
Modal.Container,
|
|
15697
15782
|
{
|
|
15698
15783
|
classNames: {
|
|
@@ -15701,20 +15786,20 @@ var EventList = ({
|
|
|
15701
15786
|
content: "items-end p-0 pointer-events-none",
|
|
15702
15787
|
container: "w-full max-w-none border-0 bg-transparent shadow-none"
|
|
15703
15788
|
},
|
|
15704
|
-
children: /* @__PURE__ */ (0,
|
|
15705
|
-
/* @__PURE__ */ (0,
|
|
15706
|
-
/* @__PURE__ */ (0,
|
|
15707
|
-
/* @__PURE__ */ (0,
|
|
15708
|
-
/* @__PURE__ */ (0,
|
|
15789
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { className: "pointer-events-auto w-full rounded-t-[12px] border border-agg-separator bg-agg-secondary", children: [
|
|
15790
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { className: "flex justify-center pb-1 pt-3", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { className: "h-1 w-10 rounded-full bg-agg-muted-foreground/30" }) }),
|
|
15791
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { className: "flex items-center justify-between px-4 pb-2 pt-1", children: [
|
|
15792
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Dialog2.Title, { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.eventList.subcategoriesLabel }),
|
|
15793
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15709
15794
|
Dialog2.Close,
|
|
15710
15795
|
{
|
|
15711
15796
|
className: "flex cursor-pointer items-center justify-center rounded-full p-1 text-agg-muted-foreground hover:bg-agg-secondary-hover",
|
|
15712
15797
|
"aria-label": labels.common.close,
|
|
15713
|
-
children: /* @__PURE__ */ (0,
|
|
15798
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(CloseIcon, { className: "h-5 w-5" })
|
|
15714
15799
|
}
|
|
15715
15800
|
)
|
|
15716
15801
|
] }),
|
|
15717
|
-
/* @__PURE__ */ (0,
|
|
15802
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { className: "flex flex-col gap-1 px-4 pb-4", children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
15718
15803
|
CategorySidebar,
|
|
15719
15804
|
{
|
|
15720
15805
|
baseCategoryId,
|
|
@@ -15730,7 +15815,7 @@ var EventList = ({
|
|
|
15730
15815
|
] })
|
|
15731
15816
|
}
|
|
15732
15817
|
) }) : null,
|
|
15733
|
-
shouldPaginate && hasNextPage ? /* @__PURE__ */ (0,
|
|
15818
|
+
shouldPaginate && hasNextPage ? /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { ref: loadMoreRef, className: "agg-event-list-sentinel h-px w-full", "aria-hidden": true }) : null
|
|
15734
15819
|
] });
|
|
15735
15820
|
};
|
|
15736
15821
|
EventList.displayName = "EventList";
|