@agg-market/ui 8.0.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/{chunk-WKY3IN52.mjs → chunk-3G7C6WEC.mjs} +10 -3
  2. package/dist/{chunk-JE4MV5RL.mjs → chunk-3U4VHAP6.mjs} +1 -1
  3. package/dist/{chunk-TLFRGJ5B.mjs → chunk-6CRY27SQ.mjs} +75 -45
  4. package/dist/{chunk-KRCRD4AJ.mjs → chunk-HJ4UPYM7.mjs} +14 -12
  5. package/dist/{chunk-SBLIHCN2.mjs → chunk-N7U7QCSB.mjs} +1 -1
  6. package/dist/events.js +78 -41
  7. package/dist/events.mjs +2 -2
  8. package/dist/index.js +88 -49
  9. package/dist/index.mjs +5 -5
  10. package/dist/modals.mjs +2 -2
  11. package/dist/pages.js +88 -49
  12. package/dist/pages.mjs +4 -4
  13. package/dist/primitives.js +10 -3
  14. package/dist/primitives.mjs +1 -1
  15. package/dist/styles.css +1 -1
  16. package/dist/tailwind.css +1 -1
  17. package/dist/trading.mjs +2 -2
  18. package/dist/types/events/item/event-list-item.types.d.mts +5 -2
  19. package/dist/types/events/item/event-list-item.types.d.ts +5 -2
  20. package/dist/types/events/item/event-list-item.utils.d.mts +5 -5
  21. package/dist/types/events/item/event-list-item.utils.d.ts +5 -5
  22. package/dist/types/events/item/index.d.mts +1 -1
  23. package/dist/types/events/item/index.d.ts +1 -1
  24. package/dist/types/events/item-details/event-list-item-details.types.d.mts +4 -3
  25. package/dist/types/events/item-details/event-list-item-details.types.d.ts +4 -3
  26. package/dist/types/events/list/event-list.types.d.mts +4 -4
  27. package/dist/types/events/list/event-list.types.d.ts +4 -4
  28. package/dist/types/events/list/event-list.utils.d.mts +5 -5
  29. package/dist/types/events/list/event-list.utils.d.ts +5 -5
  30. package/dist/types/events/market-details/market-details.types.d.mts +5 -3
  31. package/dist/types/events/market-details/market-details.types.d.ts +5 -3
  32. package/dist/types/events/market-details/market-details.utils.d.mts +16 -5
  33. package/dist/types/events/market-details/market-details.utils.d.ts +16 -5
  34. package/dist/types/onramp/index.d.mts +6 -0
  35. package/dist/types/onramp/index.d.ts +6 -0
  36. package/dist/types/onramp/onramp-modal.constants.d.mts +9 -0
  37. package/dist/types/onramp/onramp-modal.constants.d.ts +9 -0
  38. package/dist/types/onramp/onramp-modal.types.d.mts +64 -0
  39. package/dist/types/onramp/onramp-modal.types.d.ts +64 -0
  40. package/dist/types/onramp/steps/quote-card.d.mts +8 -0
  41. package/dist/types/onramp/steps/quote-card.d.ts +8 -0
  42. package/dist/types/onramp/steps/quote-form.d.mts +12 -0
  43. package/dist/types/onramp/steps/quote-form.d.ts +12 -0
  44. package/dist/types/onramp/steps/quote-selection.d.mts +14 -0
  45. package/dist/types/onramp/steps/quote-selection.d.ts +14 -0
  46. package/dist/types/onramp/steps/widget.d.mts +7 -0
  47. package/dist/types/onramp/steps/widget.d.ts +7 -0
  48. package/dist/types/pages/event-market/event-market.types.d.mts +2 -2
  49. package/dist/types/pages/event-market/event-market.types.d.ts +2 -2
  50. package/dist/types/primitives/chart/index.d.mts +10 -1
  51. package/dist/types/primitives/chart/index.d.ts +10 -1
  52. package/dist/types/trading/types.d.mts +2 -2
  53. package/dist/types/trading/types.d.ts +2 -2
  54. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import type { Event as AggEvent, VenueMarketOutcome, VenueMarket, AggUiLabels } from "@agg-market/hooks";
2
- import type { EventListItemEvent, EventListItemVenueInfoMap } from "./event-list-item.types";
3
- export declare const resolveEventListItemEvent: (fetchedEvent: AggEvent | undefined) => EventListItemEvent | undefined;
1
+ import type { VenueMarketOutcome, VenueMarket, AggUiLabels } from "@agg-market/hooks";
2
+ import type { EventListItemEvent, VenueEventWithMarkets, EventListItemVenueInfoMap } from "./event-list-item.types";
3
+ export declare const resolveEventListItemEvent: (fetchedEvent: VenueEventWithMarkets | undefined) => EventListItemEvent | undefined;
4
4
  export declare const normalizeProbability: (value: number | null | undefined) => number | undefined;
5
5
  export declare const sortOutcomes: (outcomes: VenueMarketOutcome[]) => VenueMarketOutcome[];
6
6
  export type EventListItemVisibleOutcome = {
@@ -12,8 +12,8 @@ export type EventListItemVisibleOutcome = {
12
12
  export declare const resolveVisibleOutcomes: (venueMarkets: VenueMarket[], maxOutcomes: number) => EventListItemVisibleOutcome[];
13
13
  export declare const resolveOutcomeTitle: (outcome: VenueMarketOutcome) => string;
14
14
  export declare const selectPrimaryVenueMarket: (venueMarkets: VenueMarket[]) => VenueMarket | undefined;
15
- export declare const resolveTileTitle: (event: AggEvent, primaryVenueMarket: VenueMarket | undefined, titleOverride: string | undefined) => string;
16
- export declare const resolveTileImage: (event: AggEvent, primaryVenueMarket: VenueMarket | undefined, imageOverride: string | null | undefined) => string | undefined;
15
+ export declare const resolveTileTitle: (event: VenueEventWithMarkets, primaryVenueMarket: VenueMarket | undefined, titleOverride: string | undefined) => string;
16
+ export declare const resolveTileImage: (event: VenueEventWithMarkets, primaryVenueMarket: VenueMarket | undefined, imageOverride: string | null | undefined) => string | undefined;
17
17
  export declare const formatCountLabel: (count: number, singular: string, plural: string) => string;
18
18
  export declare const getVenueSummary: (venueMarkets: VenueMarket[]) => {
19
19
  marketCount: number;
@@ -1,5 +1,5 @@
1
1
  import type { EventListItemProps } from "./event-list-item.types";
2
- export type { EventListItemClassNames, EventListItemEvent, EventListItemProps, EventListItemVenueInfo, EventListItemVenueInfoMap, } from "./event-list-item.types";
2
+ export type { EventListItemClassNames, EventListItemEvent, EventListItemProps, EventListItemVenueInfo, EventListItemVenueInfoMap, VenueEventWithMarkets, } from "./event-list-item.types";
3
3
  export declare const EventListItem: {
4
4
  (props: EventListItemProps): JSX.Element;
5
5
  displayName: string;
@@ -1,5 +1,5 @@
1
1
  import type { EventListItemProps } from "./event-list-item.types";
2
- export type { EventListItemClassNames, EventListItemEvent, EventListItemProps, EventListItemVenueInfo, EventListItemVenueInfoMap, } from "./event-list-item.types";
2
+ export type { EventListItemClassNames, EventListItemEvent, EventListItemProps, EventListItemVenueInfo, EventListItemVenueInfoMap, VenueEventWithMarkets, } from "./event-list-item.types";
3
3
  export declare const EventListItem: {
4
4
  (props: EventListItemProps): JSX.Element;
5
5
  displayName: string;
@@ -1,6 +1,5 @@
1
- import type { Event } from "@agg-market/hooks";
2
- import type { EventListItemVenueInfoMap } from "../item/event-list-item.types";
3
- export type EventListItemDetailsEvent = Event;
1
+ import type { VenueEventWithMarkets, EventListItemVenueInfoMap } from "../item/event-list-item.types";
2
+ export type EventListItemDetailsEvent = VenueEventWithMarkets;
4
3
  export type EventListItemDetailsTimeRange = "1H" | "6H" | "1D" | "1W" | "1M" | "ALL";
5
4
  export type EventListItemDetailsStat = {
6
5
  label: string;
@@ -31,6 +30,8 @@ export type EventListItemDetailsBaseProps = {
31
30
  isLoading?: boolean;
32
31
  ariaLabel?: string;
33
32
  defaultTimeRange?: EventListItemDetailsTimeRange;
33
+ /** Enable real-time WS updates for price data. Default false. */
34
+ liveUpdate?: boolean;
34
35
  };
35
36
  export type EventListItemDetailsLoadingProps = EventListItemDetailsBaseProps & {
36
37
  isLoading: true;
@@ -1,6 +1,5 @@
1
- import type { Event } from "@agg-market/hooks";
2
- import type { EventListItemVenueInfoMap } from "../item/event-list-item.types";
3
- export type EventListItemDetailsEvent = Event;
1
+ import type { VenueEventWithMarkets, EventListItemVenueInfoMap } from "../item/event-list-item.types";
2
+ export type EventListItemDetailsEvent = VenueEventWithMarkets;
4
3
  export type EventListItemDetailsTimeRange = "1H" | "6H" | "1D" | "1W" | "1M" | "ALL";
5
4
  export type EventListItemDetailsStat = {
6
5
  label: string;
@@ -31,6 +30,8 @@ export type EventListItemDetailsBaseProps = {
31
30
  isLoading?: boolean;
32
31
  ariaLabel?: string;
33
32
  defaultTimeRange?: EventListItemDetailsTimeRange;
33
+ /** Enable real-time WS updates for price data. Default false. */
34
+ liveUpdate?: boolean;
34
35
  };
35
36
  export type EventListItemDetailsLoadingProps = EventListItemDetailsBaseProps & {
36
37
  isLoading: true;
@@ -1,4 +1,4 @@
1
- import type { UseEventsOptions } from "@agg-market/hooks";
1
+ import type { UseVenueEventsOptions } from "@agg-market/hooks";
2
2
  import type { IconName } from "../../primitives/icon";
3
3
  import type { VenueLogoName } from "../../primitives/venue-logo";
4
4
  export type EventListTabValue = "matched" | "polymarket" | "kalshi" | (string & {});
@@ -7,7 +7,7 @@ export type EventListTab = {
7
7
  label: string;
8
8
  iconName?: IconName;
9
9
  venueLogo?: VenueLogoName;
10
- venues?: UseEventsOptions["venues"];
10
+ venues?: UseVenueEventsOptions["venues"];
11
11
  disabled?: boolean;
12
12
  };
13
13
  export type EventListProps = {
@@ -16,6 +16,6 @@ export type EventListProps = {
16
16
  limit?: number;
17
17
  maxVisibleItems?: number;
18
18
  showVenueLogo?: boolean;
19
- search?: UseEventsOptions["search"];
20
- categoryIds?: UseEventsOptions["categoryIds"];
19
+ search?: UseVenueEventsOptions["search"];
20
+ categoryIds?: UseVenueEventsOptions["categoryIds"];
21
21
  };
@@ -1,4 +1,4 @@
1
- import type { UseEventsOptions } from "@agg-market/hooks";
1
+ import type { UseVenueEventsOptions } from "@agg-market/hooks";
2
2
  import type { IconName } from "../../primitives/icon";
3
3
  import type { VenueLogoName } from "../../primitives/venue-logo";
4
4
  export type EventListTabValue = "matched" | "polymarket" | "kalshi" | (string & {});
@@ -7,7 +7,7 @@ export type EventListTab = {
7
7
  label: string;
8
8
  iconName?: IconName;
9
9
  venueLogo?: VenueLogoName;
10
- venues?: UseEventsOptions["venues"];
10
+ venues?: UseVenueEventsOptions["venues"];
11
11
  disabled?: boolean;
12
12
  };
13
13
  export type EventListProps = {
@@ -16,6 +16,6 @@ export type EventListProps = {
16
16
  limit?: number;
17
17
  maxVisibleItems?: number;
18
18
  showVenueLogo?: boolean;
19
- search?: UseEventsOptions["search"];
20
- categoryIds?: UseEventsOptions["categoryIds"];
19
+ search?: UseVenueEventsOptions["search"];
20
+ categoryIds?: UseVenueEventsOptions["categoryIds"];
21
21
  };
@@ -1,6 +1,6 @@
1
- import type { Event, UseEventsOptions } from "@agg-market/hooks";
2
- import type { EventListItemEvent } from "../item";
1
+ import type { UseVenueEventsOptions } from "@agg-market/hooks";
2
+ import type { EventListItemEvent, VenueEventWithMarkets } from "../item/event-list-item.types";
3
3
  import type { EventListTab, EventListTabValue } from "./event-list.types";
4
- export declare const mapEventToEventListItemEvent: (event: Event) => EventListItemEvent | null;
5
- export declare const filterEventsByTabValue: (events: Event[], _tabValue: EventListTabValue) => Event[];
6
- export declare const resolveTabVenus: (tab: EventListTab | undefined) => UseEventsOptions["venues"] | undefined;
4
+ export declare const mapEventToEventListItemEvent: (event: VenueEventWithMarkets) => EventListItemEvent | null;
5
+ export declare const filterEventsByTabValue: (events: VenueEventWithMarkets[], _tabValue: EventListTabValue) => VenueEventWithMarkets[];
6
+ export declare const resolveTabVenus: (tab: EventListTab | undefined) => UseVenueEventsOptions["venues"] | undefined;
@@ -1,6 +1,6 @@
1
- import type { Event, UseEventsOptions } from "@agg-market/hooks";
2
- import type { EventListItemEvent } from "../item";
1
+ import type { UseVenueEventsOptions } from "@agg-market/hooks";
2
+ import type { EventListItemEvent, VenueEventWithMarkets } from "../item/event-list-item.types";
3
3
  import type { EventListTab, EventListTabValue } from "./event-list.types";
4
- export declare const mapEventToEventListItemEvent: (event: Event) => EventListItemEvent | null;
5
- export declare const filterEventsByTabValue: (events: Event[], _tabValue: EventListTabValue) => Event[];
6
- export declare const resolveTabVenus: (tab: EventListTab | undefined) => UseEventsOptions["venues"] | undefined;
4
+ export declare const mapEventToEventListItemEvent: (event: VenueEventWithMarkets) => EventListItemEvent | null;
5
+ export declare const filterEventsByTabValue: (events: VenueEventWithMarkets[], _tabValue: EventListTabValue) => VenueEventWithMarkets[];
6
+ export declare const resolveTabVenus: (tab: EventListTab | undefined) => UseVenueEventsOptions["venues"] | undefined;
@@ -1,5 +1,5 @@
1
- import type { Event } from "@agg-market/hooks";
2
1
  import type React from "react";
2
+ import type { VenueEventWithMarkets } from "../item/event-list-item.types";
3
3
  import type { VenueLogoName } from "../../primitives/venue-logo/venue-logo.types";
4
4
  import type { EventListItemDetailsTimeRange } from "../item-details/event-list-item-details.types";
5
5
  export type MarketDetailsTab = "order-book" | "graph" | "other";
@@ -27,6 +27,8 @@ export type MarketDetailsBaseProps = {
27
27
  classNames?: MarketDetailsClassNames;
28
28
  otherContent?: React.ReactNode;
29
29
  isLoading?: boolean;
30
+ /** Enable real-time WS updates for orderbook and price data. Default false. */
31
+ liveUpdate?: boolean;
30
32
  };
31
33
  export type MarketDetailsLoadingProps = MarketDetailsBaseProps & {
32
34
  isLoading: true;
@@ -34,7 +36,7 @@ export type MarketDetailsLoadingProps = MarketDetailsBaseProps & {
34
36
  eventId?: string;
35
37
  };
36
38
  export type MarketDetailsWithEventProps = MarketDetailsBaseProps & {
37
- event: Event;
39
+ event: VenueEventWithMarkets;
38
40
  eventId?: string;
39
41
  isLoading?: false;
40
42
  };
@@ -45,7 +47,7 @@ export type MarketDetailsWithEventIdProps = MarketDetailsBaseProps & {
45
47
  };
46
48
  export type MarketDetailsProps = MarketDetailsLoadingProps | MarketDetailsWithEventProps | MarketDetailsWithEventIdProps;
47
49
  export type MarketDetailsContentProps = MarketDetailsBaseProps & {
48
- event: Event;
50
+ event: VenueEventWithMarkets;
49
51
  };
50
52
  export type MarketDetailsOrderBookTone = "positive" | "negative";
51
53
  export type MarketDetailsOrderBookRow = {
@@ -1,5 +1,5 @@
1
- import type { Event } from "@agg-market/hooks";
2
1
  import type React from "react";
2
+ import type { VenueEventWithMarkets } from "../item/event-list-item.types";
3
3
  import type { VenueLogoName } from "../../primitives/venue-logo/venue-logo.types";
4
4
  import type { EventListItemDetailsTimeRange } from "../item-details/event-list-item-details.types";
5
5
  export type MarketDetailsTab = "order-book" | "graph" | "other";
@@ -27,6 +27,8 @@ export type MarketDetailsBaseProps = {
27
27
  classNames?: MarketDetailsClassNames;
28
28
  otherContent?: React.ReactNode;
29
29
  isLoading?: boolean;
30
+ /** Enable real-time WS updates for orderbook and price data. Default false. */
31
+ liveUpdate?: boolean;
30
32
  };
31
33
  export type MarketDetailsLoadingProps = MarketDetailsBaseProps & {
32
34
  isLoading: true;
@@ -34,7 +36,7 @@ export type MarketDetailsLoadingProps = MarketDetailsBaseProps & {
34
36
  eventId?: string;
35
37
  };
36
38
  export type MarketDetailsWithEventProps = MarketDetailsBaseProps & {
37
- event: Event;
39
+ event: VenueEventWithMarkets;
38
40
  eventId?: string;
39
41
  isLoading?: false;
40
42
  };
@@ -45,7 +47,7 @@ export type MarketDetailsWithEventIdProps = MarketDetailsBaseProps & {
45
47
  };
46
48
  export type MarketDetailsProps = MarketDetailsLoadingProps | MarketDetailsWithEventProps | MarketDetailsWithEventIdProps;
47
49
  export type MarketDetailsContentProps = MarketDetailsBaseProps & {
48
- event: Event;
50
+ event: VenueEventWithMarkets;
49
51
  };
50
52
  export type MarketDetailsOrderBookTone = "positive" | "negative";
51
53
  export type MarketDetailsOrderBookRow = {
@@ -1,9 +1,20 @@
1
- import type { AggUiLabels, OrderbookResult, Event, VenueMarket } from "@agg-market/hooks";
1
+ import type { AggUiLabels, OrderbookResult, VenueMarket } from "@agg-market/hooks";
2
+ import type { VenueEventWithMarkets } from "../item/event-list-item.types";
2
3
  import { buildPriceHistoryGroups, formatXAxisDateLabel, getTimeWindowByRange, resolveOutcomesByVenue, resolveSeriesColor } from "../item-details/event-list-item-details.utils";
3
4
  import { resolveOutcomeTitle } from "../item/event-list-item.utils";
4
5
  import type { MarketDetailsMetaRow, MarketDetailsOrderBookRow, MarketDetailsOrderBookTone, MarketDetailsTab } from "./market-details.types";
5
6
  export declare const resolveInitialTab: (defaultTab: MarketDetailsTab | undefined) => MarketDetailsTab;
6
- export declare const resolveMarket: (event: Event, marketId: string | undefined) => Event["markets"][number] | undefined;
7
+ export type ResolvedMarket = {
8
+ id: string;
9
+ venueMarkets: VenueMarket[];
10
+ volume: number | null | undefined;
11
+ status?: string;
12
+ startDate?: string | null;
13
+ endDate?: string | null;
14
+ creationDate?: string | null;
15
+ question: string;
16
+ };
17
+ export declare const resolveMarket: (event: VenueEventWithMarkets, marketId: string | undefined) => ResolvedMarket | undefined;
7
18
  export declare const resolveDisplayOutcomeLabels: (labels: string[]) => string[];
8
19
  export declare const resolveInitialOutcomeLabel: (labels: string[], defaultOutcomeLabel: string | undefined) => string | undefined;
9
20
  export declare const resolveAverageProbabilityByLabel: (venueMarkets: VenueMarket[], labels: string[]) => Map<string, number | undefined>;
@@ -26,16 +37,16 @@ export declare const resolveOrderBookRows: ({ data, side, }: {
26
37
  data: OrderbookResult[] | undefined;
27
38
  side: "asks" | "bids";
28
39
  }) => MarketDetailsOrderBookRow[];
29
- export declare const resolveOtherTabRows: (market: Event["markets"][number], labels: AggUiLabels) => MarketDetailsMetaRow[];
40
+ export declare const resolveOtherTabRows: (market: ResolvedMarket, labels: AggUiLabels) => MarketDetailsMetaRow[];
30
41
  export declare const buildMarketDetailsModel: ({ event, marketId, title, image, formatCompactCurrency, labels, }: {
31
- event: Event;
42
+ event: VenueEventWithMarkets;
32
43
  marketId: string | undefined;
33
44
  title: string | undefined;
34
45
  image: string | null | undefined;
35
46
  formatCompactCurrency: (value: number) => string;
36
47
  labels: AggUiLabels;
37
48
  }) => {
38
- market: any;
49
+ market: ResolvedMarket;
39
50
  primaryVenueMarket: any;
40
51
  title: string;
41
52
  image: string | undefined;
@@ -1,9 +1,20 @@
1
- import type { AggUiLabels, OrderbookResult, Event, VenueMarket } from "@agg-market/hooks";
1
+ import type { AggUiLabels, OrderbookResult, VenueMarket } from "@agg-market/hooks";
2
+ import type { VenueEventWithMarkets } from "../item/event-list-item.types";
2
3
  import { buildPriceHistoryGroups, formatXAxisDateLabel, getTimeWindowByRange, resolveOutcomesByVenue, resolveSeriesColor } from "../item-details/event-list-item-details.utils";
3
4
  import { resolveOutcomeTitle } from "../item/event-list-item.utils";
4
5
  import type { MarketDetailsMetaRow, MarketDetailsOrderBookRow, MarketDetailsOrderBookTone, MarketDetailsTab } from "./market-details.types";
5
6
  export declare const resolveInitialTab: (defaultTab: MarketDetailsTab | undefined) => MarketDetailsTab;
6
- export declare const resolveMarket: (event: Event, marketId: string | undefined) => Event["markets"][number] | undefined;
7
+ export type ResolvedMarket = {
8
+ id: string;
9
+ venueMarkets: VenueMarket[];
10
+ volume: number | null | undefined;
11
+ status?: string;
12
+ startDate?: string | null;
13
+ endDate?: string | null;
14
+ creationDate?: string | null;
15
+ question: string;
16
+ };
17
+ export declare const resolveMarket: (event: VenueEventWithMarkets, marketId: string | undefined) => ResolvedMarket | undefined;
7
18
  export declare const resolveDisplayOutcomeLabels: (labels: string[]) => string[];
8
19
  export declare const resolveInitialOutcomeLabel: (labels: string[], defaultOutcomeLabel: string | undefined) => string | undefined;
9
20
  export declare const resolveAverageProbabilityByLabel: (venueMarkets: VenueMarket[], labels: string[]) => Map<string, number | undefined>;
@@ -26,16 +37,16 @@ export declare const resolveOrderBookRows: ({ data, side, }: {
26
37
  data: OrderbookResult[] | undefined;
27
38
  side: "asks" | "bids";
28
39
  }) => MarketDetailsOrderBookRow[];
29
- export declare const resolveOtherTabRows: (market: Event["markets"][number], labels: AggUiLabels) => MarketDetailsMetaRow[];
40
+ export declare const resolveOtherTabRows: (market: ResolvedMarket, labels: AggUiLabels) => MarketDetailsMetaRow[];
30
41
  export declare const buildMarketDetailsModel: ({ event, marketId, title, image, formatCompactCurrency, labels, }: {
31
- event: Event;
42
+ event: VenueEventWithMarkets;
32
43
  marketId: string | undefined;
33
44
  title: string | undefined;
34
45
  image: string | null | undefined;
35
46
  formatCompactCurrency: (value: number) => string;
36
47
  labels: AggUiLabels;
37
48
  }) => {
38
- market: any;
49
+ market: ResolvedMarket;
39
50
  primaryVenueMarket: any;
40
51
  title: string;
41
52
  image: string | undefined;
@@ -0,0 +1,6 @@
1
+ import type { OnrampModalProps } from "./onramp-modal.types";
2
+ export type { OnrampModalProps, OnrampQuoteFormValues, OnrampQuote, OnrampWidgetSession, OnrampTransactionType, } from "./onramp-modal.types";
3
+ export declare const OnrampModal: {
4
+ ({ open, onOpenChange, transactionType, walletAddress: initialWalletAddress, defaultFiatCurrency, defaultCryptoCurrency, onGetQuotes, onSelectQuote, }: OnrampModalProps): JSX.Element;
5
+ displayName: string;
6
+ };
@@ -0,0 +1,6 @@
1
+ import type { OnrampModalProps } from "./onramp-modal.types";
2
+ export type { OnrampModalProps, OnrampQuoteFormValues, OnrampQuote, OnrampWidgetSession, OnrampTransactionType, } from "./onramp-modal.types";
3
+ export declare const OnrampModal: {
4
+ ({ open, onOpenChange, transactionType, walletAddress: initialWalletAddress, defaultFiatCurrency, defaultCryptoCurrency, onGetQuotes, onSelectQuote, }: OnrampModalProps): JSX.Element;
5
+ displayName: string;
6
+ };
@@ -0,0 +1,9 @@
1
+ export declare const FIAT_OPTIONS: {
2
+ value: string;
3
+ label: string;
4
+ }[];
5
+ export declare const FIAT_SYMBOLS: Record<string, string>;
6
+ export declare const CRYPTO_OPTIONS: {
7
+ value: string;
8
+ label: string;
9
+ }[];
@@ -0,0 +1,9 @@
1
+ export declare const FIAT_OPTIONS: {
2
+ value: string;
3
+ label: string;
4
+ }[];
5
+ export declare const FIAT_SYMBOLS: Record<string, string>;
6
+ export declare const CRYPTO_OPTIONS: {
7
+ value: string;
8
+ label: string;
9
+ }[];
@@ -0,0 +1,64 @@
1
+ export type OnrampTransactionType = "BUY" | "SELL";
2
+ export interface OnrampQuote {
3
+ countryCode: string;
4
+ destinationAmount: number;
5
+ destinationCurrencyCode: string;
6
+ exchangeRate: number;
7
+ fiatAmountWithoutFees: number;
8
+ networkFee: number;
9
+ partnerFee: number;
10
+ paymentMethodType: string;
11
+ serviceProvider: string;
12
+ sourceAmount: number;
13
+ sourceCurrencyCode: string;
14
+ totalFee: number;
15
+ transactionFee: number;
16
+ transactionType: string;
17
+ rampScore: number;
18
+ lowKyc: boolean;
19
+ }
20
+ export interface OnrampWidgetSession {
21
+ id: string;
22
+ token: string;
23
+ widgetUrl: string;
24
+ serviceProviderWidgetUrl: string;
25
+ customerId: string;
26
+ externalCustomerId: string;
27
+ externalSessionId: string;
28
+ }
29
+ export interface OnrampModalProps {
30
+ open: boolean;
31
+ onOpenChange: (open: boolean) => void;
32
+ /** "BUY" for onramp (fiat→crypto), "SELL" for offramp (crypto→fiat). */
33
+ transactionType: OnrampTransactionType;
34
+ /** Pre-filled wallet address for the destination (onramp) or source (offramp). */
35
+ walletAddress?: string;
36
+ /** Default fiat currency code. Defaults to "USD". */
37
+ defaultFiatCurrency?: string;
38
+ /** Default crypto currency code. Defaults to "USDC". */
39
+ defaultCryptoCurrency?: string;
40
+ /** Called when user submits the form. Should return quotes sorted by rampScore. */
41
+ onGetQuotes: (params: {
42
+ transactionType: OnrampTransactionType;
43
+ sourceAmount: number;
44
+ sourceCurrencyCode: string;
45
+ destinationCurrencyCode: string;
46
+ countryCode: string;
47
+ }) => Promise<OnrampQuote[]>;
48
+ /** Called when user selects a quote. Should return a widget session. */
49
+ onSelectQuote: (params: {
50
+ transactionType: OnrampTransactionType;
51
+ serviceProvider: string;
52
+ sourceAmount: number;
53
+ sourceCurrencyCode: string;
54
+ destinationCurrencyCode: string;
55
+ countryCode: string;
56
+ walletAddress: string;
57
+ }) => Promise<OnrampWidgetSession>;
58
+ }
59
+ export interface OnrampQuoteFormValues {
60
+ amount: string;
61
+ fiatCurrency: string;
62
+ cryptoCurrency: string;
63
+ walletAddress: string;
64
+ }
@@ -0,0 +1,64 @@
1
+ export type OnrampTransactionType = "BUY" | "SELL";
2
+ export interface OnrampQuote {
3
+ countryCode: string;
4
+ destinationAmount: number;
5
+ destinationCurrencyCode: string;
6
+ exchangeRate: number;
7
+ fiatAmountWithoutFees: number;
8
+ networkFee: number;
9
+ partnerFee: number;
10
+ paymentMethodType: string;
11
+ serviceProvider: string;
12
+ sourceAmount: number;
13
+ sourceCurrencyCode: string;
14
+ totalFee: number;
15
+ transactionFee: number;
16
+ transactionType: string;
17
+ rampScore: number;
18
+ lowKyc: boolean;
19
+ }
20
+ export interface OnrampWidgetSession {
21
+ id: string;
22
+ token: string;
23
+ widgetUrl: string;
24
+ serviceProviderWidgetUrl: string;
25
+ customerId: string;
26
+ externalCustomerId: string;
27
+ externalSessionId: string;
28
+ }
29
+ export interface OnrampModalProps {
30
+ open: boolean;
31
+ onOpenChange: (open: boolean) => void;
32
+ /** "BUY" for onramp (fiat→crypto), "SELL" for offramp (crypto→fiat). */
33
+ transactionType: OnrampTransactionType;
34
+ /** Pre-filled wallet address for the destination (onramp) or source (offramp). */
35
+ walletAddress?: string;
36
+ /** Default fiat currency code. Defaults to "USD". */
37
+ defaultFiatCurrency?: string;
38
+ /** Default crypto currency code. Defaults to "USDC". */
39
+ defaultCryptoCurrency?: string;
40
+ /** Called when user submits the form. Should return quotes sorted by rampScore. */
41
+ onGetQuotes: (params: {
42
+ transactionType: OnrampTransactionType;
43
+ sourceAmount: number;
44
+ sourceCurrencyCode: string;
45
+ destinationCurrencyCode: string;
46
+ countryCode: string;
47
+ }) => Promise<OnrampQuote[]>;
48
+ /** Called when user selects a quote. Should return a widget session. */
49
+ onSelectQuote: (params: {
50
+ transactionType: OnrampTransactionType;
51
+ serviceProvider: string;
52
+ sourceAmount: number;
53
+ sourceCurrencyCode: string;
54
+ destinationCurrencyCode: string;
55
+ countryCode: string;
56
+ walletAddress: string;
57
+ }) => Promise<OnrampWidgetSession>;
58
+ }
59
+ export interface OnrampQuoteFormValues {
60
+ amount: string;
61
+ fiatCurrency: string;
62
+ cryptoCurrency: string;
63
+ walletAddress: string;
64
+ }
@@ -0,0 +1,8 @@
1
+ import type { OnrampQuote } from "../onramp-modal.types";
2
+ interface QuoteCardProps {
3
+ quote: OnrampQuote;
4
+ rank: number;
5
+ onSelect: () => void;
6
+ }
7
+ export declare const QuoteCard: ({ quote, rank, onSelect }: QuoteCardProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { OnrampQuote } from "../onramp-modal.types";
2
+ interface QuoteCardProps {
3
+ quote: OnrampQuote;
4
+ rank: number;
5
+ onSelect: () => void;
6
+ }
7
+ export declare const QuoteCard: ({ quote, rank, onSelect }: QuoteCardProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { OnrampQuoteFormValues } from "../onramp-modal.types";
2
+ interface QuoteFormStepProps {
3
+ title: string;
4
+ values: OnrampQuoteFormValues;
5
+ onAmountChange: (amount: string) => void;
6
+ onFiatChange: (fiat: string) => void;
7
+ onCryptoChange: (crypto: string) => void;
8
+ onWalletAddressChange: (address: string) => void;
9
+ onSubmit: () => void;
10
+ }
11
+ export declare const QuoteFormStep: ({ title, values, onAmountChange, onFiatChange, onCryptoChange, onWalletAddressChange, onSubmit, }: QuoteFormStepProps) => JSX.Element;
12
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { OnrampQuoteFormValues } from "../onramp-modal.types";
2
+ interface QuoteFormStepProps {
3
+ title: string;
4
+ values: OnrampQuoteFormValues;
5
+ onAmountChange: (amount: string) => void;
6
+ onFiatChange: (fiat: string) => void;
7
+ onCryptoChange: (crypto: string) => void;
8
+ onWalletAddressChange: (address: string) => void;
9
+ onSubmit: () => void;
10
+ }
11
+ export declare const QuoteFormStep: ({ title, values, onAmountChange, onFiatChange, onCryptoChange, onWalletAddressChange, onSubmit, }: QuoteFormStepProps) => JSX.Element;
12
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { OnrampQuote } from "../onramp-modal.types";
2
+ interface QuoteSelectionStepProps {
3
+ quotes: OnrampQuote[];
4
+ isLoading: boolean;
5
+ error: string | null;
6
+ fiatCurrency: string;
7
+ cryptoCurrency: string;
8
+ amount: number;
9
+ onBack: () => void;
10
+ onSelectQuote: (quote: OnrampQuote) => void;
11
+ onRetry: () => void;
12
+ }
13
+ export declare const QuoteSelectionStep: ({ quotes, isLoading, error, fiatCurrency, cryptoCurrency, amount, onBack, onSelectQuote, onRetry, }: QuoteSelectionStepProps) => JSX.Element;
14
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { OnrampQuote } from "../onramp-modal.types";
2
+ interface QuoteSelectionStepProps {
3
+ quotes: OnrampQuote[];
4
+ isLoading: boolean;
5
+ error: string | null;
6
+ fiatCurrency: string;
7
+ cryptoCurrency: string;
8
+ amount: number;
9
+ onBack: () => void;
10
+ onSelectQuote: (quote: OnrampQuote) => void;
11
+ onRetry: () => void;
12
+ }
13
+ export declare const QuoteSelectionStep: ({ quotes, isLoading, error, fiatCurrency, cryptoCurrency, amount, onBack, onSelectQuote, onRetry, }: QuoteSelectionStepProps) => JSX.Element;
14
+ export {};
@@ -0,0 +1,7 @@
1
+ interface WidgetStepProps {
2
+ widgetUrl: string | null;
3
+ isLoading: boolean;
4
+ onBack: () => void;
5
+ }
6
+ export declare const WidgetStep: ({ widgetUrl, isLoading, onBack }: WidgetStepProps) => JSX.Element;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ interface WidgetStepProps {
2
+ widgetUrl: string | null;
3
+ isLoading: boolean;
4
+ onBack: () => void;
5
+ }
6
+ export declare const WidgetStep: ({ widgetUrl, isLoading, onBack }: WidgetStepProps) => JSX.Element;
7
+ export {};
@@ -1,4 +1,4 @@
1
- import type { Event } from "@agg-market/hooks";
1
+ import type { VenueEventWithMarkets } from "../../events/item/event-list-item.types";
2
2
  import type { PlaceOrderViewModel, SettlementViewModel } from "../../trading/types";
3
3
  import type { EventListItemDetailsTimeRange } from "../../events/item-details/event-list-item-details.types";
4
4
  export type EventMarketPageClassNames = Partial<{
@@ -30,7 +30,7 @@ export type EventMarketPageLoadingProps = EventMarketPageBaseProps & {
30
30
  eventId?: string;
31
31
  };
32
32
  export type EventMarketPageWithEventProps = EventMarketPageBaseProps & {
33
- event: Event;
33
+ event: VenueEventWithMarkets;
34
34
  eventId?: string;
35
35
  isLoading?: false;
36
36
  };
@@ -1,4 +1,4 @@
1
- import type { Event } from "@agg-market/hooks";
1
+ import type { VenueEventWithMarkets } from "../../events/item/event-list-item.types";
2
2
  import type { PlaceOrderViewModel, SettlementViewModel } from "../../trading/types";
3
3
  import type { EventListItemDetailsTimeRange } from "../../events/item-details/event-list-item-details.types";
4
4
  export type EventMarketPageClassNames = Partial<{
@@ -30,7 +30,7 @@ export type EventMarketPageLoadingProps = EventMarketPageBaseProps & {
30
30
  eventId?: string;
31
31
  };
32
32
  export type EventMarketPageWithEventProps = EventMarketPageBaseProps & {
33
- event: Event;
33
+ event: VenueEventWithMarkets;
34
34
  eventId?: string;
35
35
  isLoading?: false;
36
36
  };
@@ -1,4 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
+ import { type CandlePoint, type LivelinePoint } from "liveline";
2
3
  export type LineChartPoint = {
3
4
  time: number;
4
5
  value: number;
@@ -29,6 +30,14 @@ export type LineChartProps = {
29
30
  chartType?: LineChartType;
30
31
  showSeriesControls?: boolean;
31
32
  renderSeriesControls?: (props: LineChartSeriesControlsRenderProps) => ReactNode;
33
+ /** Live forming candle (updates in real-time, not yet closed). */
34
+ liveCandle?: CandlePoint;
35
+ /** Live line overlay data (e.g., real-time price series). */
36
+ lineData?: LivelinePoint[];
37
+ /** Live line overlay current value. */
38
+ lineValue?: number;
39
+ /** Enable live visual effects (momentum particles + pulse animation). */
40
+ live?: boolean;
32
41
  };
33
42
  export type LineChartClassNames = {
34
43
  root?: string;
@@ -38,6 +47,6 @@ export type LineChartClassNames = {
38
47
  liveline?: string;
39
48
  };
40
49
  export declare const LineChart: {
41
- ({ series, height, width, classNames, isLoading, chartType, showSeriesControls, renderSeriesControls, }: LineChartProps): JSX.Element;
50
+ ({ series, height, width, classNames, isLoading, chartType, showSeriesControls, renderSeriesControls, liveCandle: liveForming, lineData, lineValue, live, }: LineChartProps): JSX.Element;
42
51
  displayName: string;
43
52
  };