@agg-build/ui 4.17.3 → 4.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/{chunk-7E4UXCEX.mjs → chunk-2OBJ7DYT.mjs} +1227 -534
  2. package/dist/{chunk-RZLM3M5R.mjs → chunk-2UPO6G3S.mjs} +1251 -2578
  3. package/dist/{chunk-DSQSQ4RG.mjs → chunk-FTWJRLJQ.mjs} +726 -3825
  4. package/dist/chunk-HFL3CEWG.mjs +3482 -0
  5. package/dist/{chunk-TK62UB5F.mjs → chunk-JJ3VVCEP.mjs} +6 -13
  6. package/dist/{chunk-B5ALKYD5.mjs → chunk-NRPS2D3Q.mjs} +176 -17
  7. package/dist/{chunk-BBDFSTIA.mjs → chunk-WIGSRHUG.mjs} +1532 -741
  8. package/dist/chunk-WSZYDOZN.mjs +2040 -0
  9. package/dist/{chunk-JI5KV4QI.mjs → chunk-ZNOAKSPT.mjs} +8 -10
  10. package/dist/event-market-GX24AP2H.mjs +21 -0
  11. package/dist/events.js +2960 -1523
  12. package/dist/events.mjs +6 -4
  13. package/dist/index.js +36141 -30748
  14. package/dist/index.mjs +34 -22
  15. package/dist/modals.js +1763 -1456
  16. package/dist/modals.mjs +5 -3
  17. package/dist/pages.js +34107 -28284
  18. package/dist/pages.mjs +17 -8
  19. package/dist/primitives.js +1552 -786
  20. package/dist/primitives.mjs +1 -1
  21. package/dist/styles.css +1 -1
  22. package/dist/tailwind.css +1 -1
  23. package/dist/trading.js +2559 -1499
  24. package/dist/trading.mjs +4 -4
  25. package/dist/types/events/item-details/event-chart-window.d.mts +9 -0
  26. package/dist/types/events/item-details/event-chart-window.d.ts +9 -0
  27. package/dist/types/events/item-details/event-list-item-details.types.d.mts +7 -0
  28. package/dist/types/events/item-details/event-list-item-details.types.d.ts +7 -0
  29. package/dist/types/events/item-details/event-markets-chart.d.mts +12 -0
  30. package/dist/types/events/item-details/event-markets-chart.d.ts +12 -0
  31. package/dist/types/events/item-details/event-markets-chart.utils.d.mts +23 -0
  32. package/dist/types/events/item-details/event-markets-chart.utils.d.ts +23 -0
  33. package/dist/types/events/list/event-list.constants.d.mts +2 -0
  34. package/dist/types/events/list/event-list.constants.d.ts +2 -0
  35. package/dist/types/events/market-details/use-visible-market-streams.d.mts +7 -0
  36. package/dist/types/events/market-details/use-visible-market-streams.d.ts +7 -0
  37. package/dist/types/events/shared/chart-source-caption.d.mts +4 -0
  38. package/dist/types/events/shared/chart-source-caption.d.ts +4 -0
  39. package/dist/types/events/shared/chart-venue-selection.d.mts +11 -0
  40. package/dist/types/events/shared/chart-venue-selection.d.ts +11 -0
  41. package/dist/types/events/shared/use-chart-orderbook.d.mts +23 -0
  42. package/dist/types/events/shared/use-chart-orderbook.d.ts +23 -0
  43. package/dist/types/onboarding/index.d.mts +1 -0
  44. package/dist/types/onboarding/index.d.ts +1 -0
  45. package/dist/types/onboarding/steps/connect-prophetx-modal.d.mts +12 -0
  46. package/dist/types/onboarding/steps/connect-prophetx-modal.d.ts +12 -0
  47. package/dist/types/pages/event-market/event-market.types.d.mts +5 -0
  48. package/dist/types/pages/event-market/event-market.types.d.ts +5 -0
  49. package/dist/types/pages/event-market/event-open-orders.d.mts +50 -0
  50. package/dist/types/pages/event-market/event-open-orders.d.ts +50 -0
  51. package/dist/types/pages/event-market/index.d.mts +3 -0
  52. package/dist/types/pages/event-market/index.d.ts +3 -0
  53. package/dist/types/pages/event-market/sports-event-market-page.d.mts +1 -1
  54. package/dist/types/pages/event-market/sports-event-market-page.d.ts +1 -1
  55. package/dist/types/pages/event-market/use-event-open-orders.d.mts +27 -0
  56. package/dist/types/pages/event-market/use-event-open-orders.d.ts +27 -0
  57. package/dist/types/pages/user-profile/components/available-balance-card.d.mts +2 -0
  58. package/dist/types/pages/user-profile/components/available-balance-card.d.ts +2 -0
  59. package/dist/types/pages/user-profile/components/betdex-account-activity.d.mts +4 -0
  60. package/dist/types/pages/user-profile/components/betdex-account-activity.d.ts +4 -0
  61. package/dist/types/pages/user-profile/components/betdex-account-card.d.mts +2 -0
  62. package/dist/types/pages/user-profile/components/betdex-account-card.d.ts +2 -0
  63. package/dist/types/pages/user-profile/components/betdex-account-transfers.d.mts +7 -0
  64. package/dist/types/pages/user-profile/components/betdex-account-transfers.d.ts +7 -0
  65. package/dist/types/pages/user-profile/components/open-order-row.d.mts +8 -1
  66. package/dist/types/pages/user-profile/components/open-order-row.d.ts +8 -1
  67. package/dist/types/pages/user-profile/user-profile.types.d.mts +5 -0
  68. package/dist/types/pages/user-profile/user-profile.types.d.ts +5 -0
  69. package/dist/types/primitives/chart/chart.constants.d.mts +7 -0
  70. package/dist/types/primitives/chart/chart.constants.d.ts +7 -0
  71. package/dist/types/primitives/chart/chart.types.d.mts +24 -2
  72. package/dist/types/primitives/chart/chart.types.d.ts +24 -2
  73. package/dist/types/primitives/chart/index.d.mts +2 -2
  74. package/dist/types/primitives/chart/index.d.ts +2 -2
  75. package/dist/types/primitives/chart/probability-chart.d.mts +22 -0
  76. package/dist/types/primitives/chart/probability-chart.d.ts +22 -0
  77. package/dist/types/primitives/chart/probability-chart.utils.d.mts +12 -0
  78. package/dist/types/primitives/chart/probability-chart.utils.d.ts +12 -0
  79. package/dist/types/primitives/chart/probability-live-tail.d.mts +16 -0
  80. package/dist/types/primitives/chart/probability-live-tail.d.ts +16 -0
  81. package/dist/types/primitives/remote-image/index.d.mts +1 -1
  82. package/dist/types/primitives/remote-image/index.d.ts +1 -1
  83. package/dist/types/primitives/remote-image/remote-image.types.d.mts +6 -0
  84. package/dist/types/primitives/remote-image/remote-image.types.d.ts +6 -0
  85. package/dist/types/primitives/skeleton/views/event-list-item-skeleton-view.d.mts +6 -0
  86. package/dist/types/primitives/skeleton/views/event-list-item-skeleton-view.d.ts +6 -0
  87. package/dist/types/primitives/venue-logo/svg/logo-betdex.d.mts +12 -0
  88. package/dist/types/primitives/venue-logo/svg/logo-betdex.d.ts +12 -0
  89. package/dist/types/primitives/venue-logo/svg/logo-tiprun.d.mts +7 -0
  90. package/dist/types/primitives/venue-logo/svg/logo-tiprun.d.ts +7 -0
  91. package/dist/types/shared/open-orders.d.mts +63 -0
  92. package/dist/types/shared/open-orders.d.ts +63 -0
  93. package/dist/types/shared/use-open-order-cancellation.d.mts +18 -0
  94. package/dist/types/shared/use-open-order-cancellation.d.ts +18 -0
  95. package/dist/types/trading/manage-betdex-account-modal.d.mts +5 -0
  96. package/dist/types/trading/manage-betdex-account-modal.d.ts +5 -0
  97. package/dist/types/trading/place-order/index.place-order.execution-steps.d.mts +2 -0
  98. package/dist/types/trading/place-order/index.place-order.execution-steps.d.ts +2 -0
  99. package/dist/types/trading/place-order/index.place-order.types.d.mts +5 -0
  100. package/dist/types/trading/place-order/index.place-order.types.d.ts +5 -0
  101. package/dist/types/trading/place-order/index.place-order.utils.d.mts +6 -1
  102. package/dist/types/trading/place-order/index.place-order.utils.d.ts +6 -1
  103. package/package.json +3 -3
@@ -19,7 +19,7 @@ import {
19
19
  selectPrimaryVenueMarket,
20
20
  skeletonViews,
21
21
  sortOutcomes
22
- } from "./chunk-BBDFSTIA.mjs";
22
+ } from "./chunk-WIGSRHUG.mjs";
23
23
 
24
24
  // src/trading/trading-context/index.tsx
25
25
  import { useEventTradingContext } from "@agg-build/hooks";
@@ -940,9 +940,13 @@ var marketChartCandleToLineChartPoint = (candle, transformProbability) => {
940
940
  const high = (_b = toChartDisplayValue(candle.high, transformProbability)) != null ? _b : open;
941
941
  const low = (_c = toChartDisplayValue(candle.low, transformProbability)) != null ? _c : open;
942
942
  const close = (_d = toChartDisplayValue(candle.close, transformProbability)) != null ? _d : open;
943
+ const average = toChartDisplayValue(
944
+ candle.source === "rest" ? candle.mean : void 0,
945
+ transformProbability
946
+ );
943
947
  return {
944
948
  time: candle.time,
945
- value: close,
949
+ value: average != null ? average : close,
946
950
  open,
947
951
  high,
948
952
  low,
@@ -973,16 +977,6 @@ var venueCandlesToLinePoints = (venueData, transformProbability) => {
973
977
  ) : venueData.candles;
974
978
  return candles.map((candle) => marketChartCandleToLineChartPoint(candle, transformProbability));
975
979
  };
976
- var resolveMarketChartVenueSeries = ({
977
- chartData,
978
- transformProbability
979
- }) => {
980
- if (!chartData) return [];
981
- return Object.entries(chartData.venues).map(([venue, venueData]) => ({
982
- venue,
983
- points: venueCandlesToLinePoints(venueData, transformProbability)
984
- })).filter((item) => item.points.length > 0);
985
- };
986
980
  var resolveAggregatedCandleSource = (candles) => {
987
981
  if (candles.some((candle) => candle.source === "trade")) return "trade";
988
982
  if (candles.some((candle) => candle.source === "ws")) return "ws";
@@ -1612,7 +1606,6 @@ export {
1612
1606
  resolveInitialEventDetailsChartRange,
1613
1607
  resolveOutcomesByVenue,
1614
1608
  resolveSeriesColor,
1615
- resolveMarketChartVenueSeries,
1616
1609
  resolveMarketChartDisplaySeries,
1617
1610
  resolveMarketChartLiveState,
1618
1611
  formatProbabilityCents,
@@ -20,7 +20,7 @@ import {
20
20
  __spreadProps,
21
21
  __spreadValues,
22
22
  cn
23
- } from "./chunk-BBDFSTIA.mjs";
23
+ } from "./chunk-WIGSRHUG.mjs";
24
24
 
25
25
  // src/geo-block-banner/index.tsx
26
26
  import { useLabels } from "@agg-build/hooks";
@@ -958,11 +958,169 @@ var ConnectKalshiModal = ({
958
958
  };
959
959
  ConnectKalshiModal.displayName = "ConnectKalshiModal";
960
960
 
961
- // src/onboarding/index.tsx
962
- import { useCallback as useCallback5, useEffect as useEffect2, useState as useState5 } from "react";
963
- import { useLabels as useLabels8 } from "@agg-build/hooks";
961
+ // src/onboarding/steps/connect-prophetx-modal.tsx
962
+ import { useAppConfig as useAppConfig2, useLabels as useLabels8 } from "@agg-build/hooks";
963
+ import { Venue as Venue3 } from "@agg-build/sdk";
964
964
  import * as Dialog4 from "@radix-ui/react-dialog";
965
+ import { useEffect as useEffect2, useId as useId2, useState as useState5 } from "react";
965
966
  import { Fragment, jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
967
+ function ConnectProphetxModal({
968
+ open,
969
+ onOpenChange,
970
+ onVerify,
971
+ onDisconnect,
972
+ allowExistingConnection = false
973
+ }) {
974
+ const copy = useLabels8().onboarding.connectProphetxModal;
975
+ const common = useLabels8().common;
976
+ const { prophetxExecutionMode, disabledVenues, isLoading } = useAppConfig2();
977
+ const id = useId2();
978
+ const [accessKey, setAccessKey] = useState5("");
979
+ const [secretKey, setSecretKey] = useState5("");
980
+ const [pending, setPending] = useState5(false);
981
+ const [disconnecting, setDisconnecting] = useState5(false);
982
+ const [disconnectError, setDisconnectError] = useState5(false);
983
+ const busy = pending || disconnecting;
984
+ const [connected, setConnected] = useState5(false);
985
+ const [error, setError] = useState5(false);
986
+ useEffect2(() => {
987
+ if (!open) {
988
+ setAccessKey("");
989
+ setSecretKey("");
990
+ setError(false);
991
+ setDisconnectError(false);
992
+ setConnected(false);
993
+ }
994
+ }, [open]);
995
+ if (isLoading || !allowExistingConnection && (prophetxExecutionMode !== "direct" || disabledVenues.includes(Venue3.prophetx)))
996
+ return null;
997
+ return /* @__PURE__ */ jsx8(
998
+ Modal,
999
+ {
1000
+ open,
1001
+ onOpenChange: (value) => {
1002
+ if (!busy) onOpenChange(value);
1003
+ },
1004
+ children: /* @__PURE__ */ jsx8(Modal.Container, { maxWidth: "480px", "aria-label": copy.title, children: /* @__PURE__ */ jsxs8(Modal.Body, { classNames: { root: "relative !p-6" }, children: [
1005
+ /* @__PURE__ */ jsx8(
1006
+ Dialog4.Close,
1007
+ {
1008
+ "aria-label": common.close,
1009
+ disabled: busy,
1010
+ className: "absolute right-4 top-4 cursor-pointer disabled:cursor-not-allowed",
1011
+ children: /* @__PURE__ */ jsx8(Icon, { name: "close", size: "medium" })
1012
+ }
1013
+ ),
1014
+ /* @__PURE__ */ jsxs8(
1015
+ "form",
1016
+ {
1017
+ className: "flex flex-col gap-4",
1018
+ onSubmit: (event) => __async(null, null, function* () {
1019
+ event.preventDefault();
1020
+ if (busy || !accessKey.trim() || !secretKey.trim()) return;
1021
+ setPending(true);
1022
+ setError(false);
1023
+ try {
1024
+ yield onVerify({ accessKey: accessKey.trim(), secretKey: secretKey.trim() });
1025
+ setAccessKey("");
1026
+ setSecretKey("");
1027
+ setConnected(true);
1028
+ } catch (e) {
1029
+ setError(true);
1030
+ } finally {
1031
+ setPending(false);
1032
+ }
1033
+ }),
1034
+ children: [
1035
+ /* @__PURE__ */ jsx8(VenueLogo, { venue: Venue3.prophetx, size: "large" }),
1036
+ /* @__PURE__ */ jsx8(Dialog4.Title, { className: "text-agg-xl font-agg-bold text-agg-foreground", children: copy.title }),
1037
+ /* @__PURE__ */ jsx8(Dialog4.Description, { className: "text-agg-sm text-agg-muted-foreground", children: copy.description }),
1038
+ /* @__PURE__ */ jsx8("p", { className: "text-agg-sm text-agg-muted-foreground", children: copy.fundingNotice }),
1039
+ connected ? /* @__PURE__ */ jsxs8(Fragment, { children: [
1040
+ /* @__PURE__ */ jsx8("p", { role: "status", children: copy.connected }),
1041
+ /* @__PURE__ */ jsx8(Button, { type: "button", onClick: () => onOpenChange(false), children: copy.done })
1042
+ ] }) : /* @__PURE__ */ jsxs8(Fragment, { children: [
1043
+ /* @__PURE__ */ jsx8(
1044
+ "a",
1045
+ {
1046
+ className: "text-agg-sm text-agg-primary underline",
1047
+ href: "https://www.prophetx.co",
1048
+ target: "_blank",
1049
+ rel: "noopener noreferrer",
1050
+ children: copy.instructions
1051
+ }
1052
+ ),
1053
+ /* @__PURE__ */ jsx8("label", { htmlFor: `${id}-access`, className: "text-agg-sm text-agg-foreground", children: copy.accessKey }),
1054
+ /* @__PURE__ */ jsx8(
1055
+ "input",
1056
+ {
1057
+ id: `${id}-access`,
1058
+ type: "password",
1059
+ autoComplete: "off",
1060
+ spellCheck: false,
1061
+ className: "rounded-agg-md border border-agg-border bg-agg-secondary p-3 text-agg-foreground",
1062
+ value: accessKey,
1063
+ onChange: (e) => setAccessKey(e.target.value),
1064
+ disabled: busy,
1065
+ required: true
1066
+ }
1067
+ ),
1068
+ /* @__PURE__ */ jsx8("label", { htmlFor: `${id}-secret`, className: "text-agg-sm text-agg-foreground", children: copy.secretKey }),
1069
+ /* @__PURE__ */ jsx8(
1070
+ "input",
1071
+ {
1072
+ id: `${id}-secret`,
1073
+ type: "password",
1074
+ autoComplete: "new-password",
1075
+ spellCheck: false,
1076
+ className: "rounded-agg-md border border-agg-border bg-agg-secondary p-3 text-agg-foreground",
1077
+ value: secretKey,
1078
+ onChange: (e) => setSecretKey(e.target.value),
1079
+ disabled: busy,
1080
+ required: true
1081
+ }
1082
+ ),
1083
+ error ? /* @__PURE__ */ jsx8("p", { role: "alert", className: "text-agg-sm text-agg-error", children: copy.error }) : null,
1084
+ /* @__PURE__ */ jsx8(Button, { type: "submit", disabled: busy || !accessKey.trim() || !secretKey.trim(), children: pending ? copy.verifying : copy.verify })
1085
+ ] }),
1086
+ allowExistingConnection && onDisconnect ? /* @__PURE__ */ jsx8(
1087
+ Button,
1088
+ {
1089
+ type: "button",
1090
+ variant: "secondary",
1091
+ disabled: busy,
1092
+ onClick: () => __async(null, null, function* () {
1093
+ setDisconnecting(true);
1094
+ setDisconnectError(false);
1095
+ setError(false);
1096
+ try {
1097
+ yield onDisconnect();
1098
+ setAccessKey("");
1099
+ setSecretKey("");
1100
+ onOpenChange(false);
1101
+ } catch (e) {
1102
+ setDisconnectError(true);
1103
+ } finally {
1104
+ setDisconnecting(false);
1105
+ }
1106
+ }),
1107
+ children: disconnecting ? copy.disconnecting : copy.disconnect
1108
+ }
1109
+ ) : null,
1110
+ disconnectError ? /* @__PURE__ */ jsx8("p", { role: "alert", className: "text-agg-sm text-agg-error", children: copy.disconnectError }) : null
1111
+ ]
1112
+ }
1113
+ )
1114
+ ] }) })
1115
+ }
1116
+ );
1117
+ }
1118
+
1119
+ // src/onboarding/index.tsx
1120
+ import { useCallback as useCallback5, useEffect as useEffect3, useState as useState6 } from "react";
1121
+ import { useLabels as useLabels9 } from "@agg-build/hooks";
1122
+ import * as Dialog5 from "@radix-ui/react-dialog";
1123
+ import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
966
1124
  var OnboardingModal = ({
967
1125
  open,
968
1126
  onOpenChange,
@@ -973,17 +1131,17 @@ var OnboardingModal = ({
973
1131
  connectedOnchain = false
974
1132
  }) => {
975
1133
  var _a;
976
- const labels = useLabels8();
977
- const [step, setStep] = useState5(ONBOARDING_STEPS.HOW_IT_WORKS);
1134
+ const labels = useLabels9();
1135
+ const [step, setStep] = useState6(ONBOARDING_STEPS.HOW_IT_WORKS);
978
1136
  const stepLabels = {
979
1137
  [ONBOARDING_STEPS.HOW_IT_WORKS]: labels.onboarding.modal.stepHowItWorks,
980
1138
  [ONBOARDING_STEPS.PROFILE_SETUP]: labels.onboarding.modal.stepProfileSetup,
981
1139
  [ONBOARDING_STEPS.CONNECT_ACCOUNTS]: labels.onboarding.modal.stepConnectAccounts
982
1140
  };
983
1141
  const resolvedTitle = (_a = stepLabels[step]) != null ? _a : labels.onboarding.modal.title;
984
- const [onchainModalOpen, setOnchainModalOpen] = useState5(false);
985
- const [onchainConnected, setOnchainConnected] = useState5(false);
986
- useEffect2(() => {
1142
+ const [onchainModalOpen, setOnchainModalOpen] = useState6(false);
1143
+ const [onchainConnected, setOnchainConnected] = useState6(false);
1144
+ useEffect3(() => {
987
1145
  if (open) {
988
1146
  setStep(ONBOARDING_STEPS.HOW_IT_WORKS);
989
1147
  setOnchainConnected(false);
@@ -1009,19 +1167,19 @@ var OnboardingModal = ({
1009
1167
  yield onConnectOnchain == null ? void 0 : onConnectOnchain();
1010
1168
  setOnchainConnected(true);
1011
1169
  }), [onConnectOnchain]);
1012
- return /* @__PURE__ */ jsxs8(Fragment, { children: [
1013
- /* @__PURE__ */ jsx8(Modal, { open, onOpenChange, children: /* @__PURE__ */ jsxs8(
1170
+ return /* @__PURE__ */ jsxs9(Fragment2, { children: [
1171
+ /* @__PURE__ */ jsx9(Modal, { open, onOpenChange, children: /* @__PURE__ */ jsxs9(
1014
1172
  Modal.Container,
1015
1173
  {
1016
1174
  maxWidth: "600px",
1017
1175
  "aria-label": resolvedTitle,
1018
1176
  classNames: { container: "!rounded-agg-lg" },
1019
1177
  children: [
1020
- /* @__PURE__ */ jsx8(Dialog4.Title, { className: "sr-only", children: resolvedTitle }),
1021
- /* @__PURE__ */ jsxs8(Modal.Body, { classNames: { root: "px-5 py-6 sm:px-10 sm:py-8" }, children: [
1022
- step === ONBOARDING_STEPS.HOW_IT_WORKS && /* @__PURE__ */ jsx8(HowItWorksStep, { onContinue: handleHowItWorksContinue, icons: howItWorksIcons }),
1023
- step === ONBOARDING_STEPS.PROFILE_SETUP && /* @__PURE__ */ jsx8(ProfileSetupStep, { onContinue: handleProfileContinue }),
1024
- step === ONBOARDING_STEPS.CONNECT_ACCOUNTS && /* @__PURE__ */ jsx8(
1178
+ /* @__PURE__ */ jsx9(Dialog5.Title, { className: "sr-only", children: resolvedTitle }),
1179
+ /* @__PURE__ */ jsxs9(Modal.Body, { classNames: { root: "px-5 py-6 sm:px-10 sm:py-8" }, children: [
1180
+ step === ONBOARDING_STEPS.HOW_IT_WORKS && /* @__PURE__ */ jsx9(HowItWorksStep, { onContinue: handleHowItWorksContinue, icons: howItWorksIcons }),
1181
+ step === ONBOARDING_STEPS.PROFILE_SETUP && /* @__PURE__ */ jsx9(ProfileSetupStep, { onContinue: handleProfileContinue }),
1182
+ step === ONBOARDING_STEPS.CONNECT_ACCOUNTS && /* @__PURE__ */ jsx9(
1025
1183
  ConnectAccountsStep,
1026
1184
  {
1027
1185
  onConnectOnchain: handleOpenOnchainModal,
@@ -1033,7 +1191,7 @@ var OnboardingModal = ({
1033
1191
  ]
1034
1192
  }
1035
1193
  ) }),
1036
- /* @__PURE__ */ jsx8(
1194
+ /* @__PURE__ */ jsx9(
1037
1195
  ConnectOnchainModal,
1038
1196
  {
1039
1197
  open: onchainModalOpen,
@@ -1074,5 +1232,6 @@ export {
1074
1232
  ConnectAccountsStep,
1075
1233
  ConnectOnchainModal,
1076
1234
  ConnectKalshiModal,
1235
+ ConnectProphetxModal,
1077
1236
  OnboardingModal
1078
1237
  };