@agg-build/ui 2.4.9 → 2.5.2
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-AHQA3B7D.mjs +947 -0
- package/dist/{chunk-CXSIXL7M.mjs → chunk-AJJ73RM4.mjs} +698 -257
- package/dist/{chunk-TEBAR55W.mjs → chunk-EDQ64EKO.mjs} +339 -1084
- package/dist/{chunk-GWRFSQQK.mjs → chunk-FAU2VOL6.mjs} +1594 -700
- package/dist/{chunk-PTNFXXOV.mjs → chunk-FMYYPNZZ.mjs} +904 -788
- package/dist/{chunk-UH3DUTMG.mjs → chunk-JQKJDSTW.mjs} +1 -1
- package/dist/{chunk-I4X5UNCT.mjs → chunk-XAG432PJ.mjs} +12 -6
- package/dist/events.js +1077 -999
- package/dist/events.mjs +3 -3
- package/dist/index.js +16499 -14884
- package/dist/index.mjs +56 -18
- package/dist/modals.js +1292 -1084
- package/dist/modals.mjs +10 -10
- package/dist/pages.js +4954 -2639
- package/dist/pages.mjs +6 -6
- package/dist/primitives.js +905 -788
- package/dist/primitives.mjs +3 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/trading.js +3383 -1508
- package/dist/trading.mjs +6 -4
- package/dist/types/auth/connect-button-view/connect-button-view.types.d.mts +2 -0
- package/dist/types/auth/connect-button-view/connect-button-view.types.d.ts +2 -0
- package/dist/types/auth/connect-button-view/index.d.mts +1 -1
- package/dist/types/auth/connect-button-view/index.d.ts +1 -1
- package/dist/types/onboarding/steps/connect-kalshi-modal.d.mts +1 -1
- package/dist/types/onboarding/steps/connect-kalshi-modal.d.ts +1 -1
- package/dist/types/pages/user-profile/components/available-balance-card.d.mts +2 -1
- package/dist/types/pages/user-profile/components/available-balance-card.d.ts +2 -1
- package/dist/types/pages/user-profile/components/open-order-row.d.mts +10 -1
- package/dist/types/pages/user-profile/components/open-order-row.d.ts +10 -1
- package/dist/types/pages/user-profile/components/positions-activity.d.mts +4 -1
- package/dist/types/pages/user-profile/components/positions-activity.d.ts +4 -1
- package/dist/types/pages/user-profile/components/positions-value-card.d.mts +4 -2
- package/dist/types/pages/user-profile/components/positions-value-card.d.ts +4 -2
- package/dist/types/pages/user-profile/index.d.mts +2 -2
- package/dist/types/pages/user-profile/index.d.ts +2 -2
- package/dist/types/pages/user-profile/user-profile.types.d.mts +12 -0
- package/dist/types/pages/user-profile/user-profile.types.d.ts +12 -0
- package/dist/types/primitives/calendar/index.d.mts +8 -0
- package/dist/types/primitives/calendar/index.d.ts +8 -0
- package/dist/types/primitives/icon/registry.d.mts +3 -0
- package/dist/types/primitives/icon/registry.d.ts +3 -0
- package/dist/types/primitives/icon/svg/calendar.d.mts +2 -0
- package/dist/types/primitives/icon/svg/calendar.d.ts +2 -0
- package/dist/types/primitives/icon/svg/minus.d.mts +2 -0
- package/dist/types/primitives/icon/svg/minus.d.ts +2 -0
- package/dist/types/primitives/icon/svg/plus.d.mts +2 -0
- package/dist/types/primitives/icon/svg/plus.d.ts +2 -0
- package/dist/types/primitives/index.d.mts +1 -0
- package/dist/types/primitives/index.d.ts +1 -0
- package/dist/types/profile/index.d.mts +1 -1
- package/dist/types/profile/index.d.ts +1 -1
- package/dist/types/profile/profile-modal.types.d.mts +6 -0
- package/dist/types/profile/profile-modal.types.d.ts +6 -0
- package/dist/types/profile/tabs/trading-access-tab.d.mts +3 -1
- package/dist/types/profile/tabs/trading-access-tab.d.ts +3 -1
- package/dist/types/trading/fund-kalshi-modal.d.mts +8 -0
- package/dist/types/trading/fund-kalshi-modal.d.ts +8 -0
- package/dist/types/trading/index.d.mts +1 -0
- package/dist/types/trading/index.d.ts +1 -0
- package/dist/types/trading/place-order/index.d.mts +1 -1
- package/dist/types/trading/place-order/index.d.ts +1 -1
- package/dist/types/trading/place-order/index.place-order.types.d.mts +13 -1
- package/dist/types/trading/place-order/index.place-order.types.d.ts +13 -1
- package/dist/types/trading/place-order/index.place-order.utils.d.mts +18 -1
- package/dist/types/trading/place-order/index.place-order.utils.d.ts +18 -1
- package/package.json +7 -4
- package/dist/chunk-JVRTJQPZ.mjs +0 -59
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AggUiLabels, DagStepProgress, EventTradingState, UseMidpointsResult, VenueMarket, VenueMarketOutcome } from "@agg-build/hooks";
|
|
2
|
-
import type { ExecutionMode, SmartRouteResponse } from "@agg-build/sdk";
|
|
2
|
+
import type { ExecutionMode, PlaceLimitOrderParams, SmartRouteResponse } from "@agg-build/sdk";
|
|
3
|
+
import type { KalshiCredentials } from "../../onboarding/onboarding-modal.types";
|
|
3
4
|
import type { PlaceOrderRoutingRow, PlaceOrderStatus, PlaceOrderTab, TradingVenue } from "../types";
|
|
4
5
|
export type PlaceOrderProps = {
|
|
5
6
|
/** Custom class name applied to the place-order root. */
|
|
@@ -28,6 +29,12 @@ export type PlaceOrderProps = {
|
|
|
28
29
|
onClose?: () => void;
|
|
29
30
|
/** Called when the selected outcome changes. */
|
|
30
31
|
onOutcomeChange?: (outcomeId: string) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Validates and stores Kalshi credentials when the selected quote route
|
|
34
|
+
* requires an active Kalshi venue account.
|
|
35
|
+
* When omitted, PlaceOrder stores credentials through AggClient.
|
|
36
|
+
*/
|
|
37
|
+
onConnectKalshi?: (credentials: KalshiCredentials) => Promise<void>;
|
|
31
38
|
/**
|
|
32
39
|
* Called when the primary action is triggered, in place of the internal
|
|
33
40
|
* quote execution. When provided, the component delegates the fill entirely
|
|
@@ -38,6 +45,8 @@ export type PlaceOrderProps = {
|
|
|
38
45
|
onPrimaryAction?: (context?: {
|
|
39
46
|
quoteId?: string;
|
|
40
47
|
mode?: ExecutionMode;
|
|
48
|
+
orderType?: "market" | "limit";
|
|
49
|
+
limitOrder?: PlaceLimitOrderParams;
|
|
41
50
|
}) => void;
|
|
42
51
|
/**
|
|
43
52
|
* Called when the primary action is triggered, BEFORE the internal quote
|
|
@@ -54,6 +63,8 @@ export type PlaceOrderProps = {
|
|
|
54
63
|
onBeforePrimaryAction?: (context?: {
|
|
55
64
|
quoteId?: string;
|
|
56
65
|
mode?: ExecutionMode;
|
|
66
|
+
orderType?: "market" | "limit";
|
|
67
|
+
limitOrder?: PlaceLimitOrderParams;
|
|
57
68
|
}) => void | boolean | Promise<void | boolean>;
|
|
58
69
|
/** Called when the slippage control value changes. */
|
|
59
70
|
onSlippageChange?: (value: string) => void;
|
|
@@ -200,6 +211,7 @@ export type BuildLiveRouteCardsParams = {
|
|
|
200
211
|
quoteData: SmartRouteResponse;
|
|
201
212
|
tradeSide: PlaceOrderTab;
|
|
202
213
|
eventVenues?: TradingVenue[];
|
|
214
|
+
geoBlockedVenues?: ReadonlySet<string>;
|
|
203
215
|
};
|
|
204
216
|
export type ResolvePlaceOrderQuoteStatusParams = {
|
|
205
217
|
amount: number;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AggUiLabels, DagStepProgress, EventTradingState, UseMidpointsResult, VenueMarket, VenueMarketOutcome } from "@agg-build/hooks";
|
|
2
|
-
import type { ExecutionMode, SmartRouteResponse } from "@agg-build/sdk";
|
|
2
|
+
import type { ExecutionMode, PlaceLimitOrderParams, SmartRouteResponse } from "@agg-build/sdk";
|
|
3
|
+
import type { KalshiCredentials } from "../../onboarding/onboarding-modal.types";
|
|
3
4
|
import type { PlaceOrderRoutingRow, PlaceOrderStatus, PlaceOrderTab, TradingVenue } from "../types";
|
|
4
5
|
export type PlaceOrderProps = {
|
|
5
6
|
/** Custom class name applied to the place-order root. */
|
|
@@ -28,6 +29,12 @@ export type PlaceOrderProps = {
|
|
|
28
29
|
onClose?: () => void;
|
|
29
30
|
/** Called when the selected outcome changes. */
|
|
30
31
|
onOutcomeChange?: (outcomeId: string) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Validates and stores Kalshi credentials when the selected quote route
|
|
34
|
+
* requires an active Kalshi venue account.
|
|
35
|
+
* When omitted, PlaceOrder stores credentials through AggClient.
|
|
36
|
+
*/
|
|
37
|
+
onConnectKalshi?: (credentials: KalshiCredentials) => Promise<void>;
|
|
31
38
|
/**
|
|
32
39
|
* Called when the primary action is triggered, in place of the internal
|
|
33
40
|
* quote execution. When provided, the component delegates the fill entirely
|
|
@@ -38,6 +45,8 @@ export type PlaceOrderProps = {
|
|
|
38
45
|
onPrimaryAction?: (context?: {
|
|
39
46
|
quoteId?: string;
|
|
40
47
|
mode?: ExecutionMode;
|
|
48
|
+
orderType?: "market" | "limit";
|
|
49
|
+
limitOrder?: PlaceLimitOrderParams;
|
|
41
50
|
}) => void;
|
|
42
51
|
/**
|
|
43
52
|
* Called when the primary action is triggered, BEFORE the internal quote
|
|
@@ -54,6 +63,8 @@ export type PlaceOrderProps = {
|
|
|
54
63
|
onBeforePrimaryAction?: (context?: {
|
|
55
64
|
quoteId?: string;
|
|
56
65
|
mode?: ExecutionMode;
|
|
66
|
+
orderType?: "market" | "limit";
|
|
67
|
+
limitOrder?: PlaceLimitOrderParams;
|
|
57
68
|
}) => void | boolean | Promise<void | boolean>;
|
|
58
69
|
/** Called when the slippage control value changes. */
|
|
59
70
|
onSlippageChange?: (value: string) => void;
|
|
@@ -200,6 +211,7 @@ export type BuildLiveRouteCardsParams = {
|
|
|
200
211
|
quoteData: SmartRouteResponse;
|
|
201
212
|
tradeSide: PlaceOrderTab;
|
|
202
213
|
eventVenues?: TradingVenue[];
|
|
214
|
+
geoBlockedVenues?: ReadonlySet<string>;
|
|
203
215
|
};
|
|
204
216
|
export type ResolvePlaceOrderQuoteStatusParams = {
|
|
205
217
|
amount: number;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { VenueSellQuoteRequest } from "@agg-build/hooks";
|
|
1
2
|
import type { SmartRouteResponse, WsOrderSubmitted } from "@agg-build/sdk";
|
|
2
3
|
import { type PlaceOrderOutcome, type PlaceOrderRoutingRow, type PlaceOrderTab, type TradingVenue } from "../types";
|
|
3
4
|
import type { BuildLiveRouteCardsParams, PlaceOrderOutcomeClassNameParams, PlaceOrderExecutionStepGroup, PlaceOrderFailureStep, PlaceOrderFailureSummary, PlaceOrderOutcomeLabelValue, PlaceOrderQuoteResult, PlaceOrderQuoteStatus, PlaceOrderResultTone, PlaceOrderRouteCard, PlaceOrderTerminalOrderEvent, PlaceOrderTradingLabels, PlaceOrderVenueOutcome, ResolvePlaceOrderQuoteResultParams, ResolvePlaceOrderQuoteStatusParams, ResolvePlaceOrderTabKeyParams } from "./index.place-order.types";
|
|
@@ -36,7 +37,23 @@ export declare const sanitizePlaceOrderAmount: (value: number) => number;
|
|
|
36
37
|
export declare const getTradingRoutePriceLabel: (value: number) => string;
|
|
37
38
|
export declare const isQuoteBelowVenueMinimum: (quoteData: SmartRouteResponse | null | undefined) => boolean;
|
|
38
39
|
export declare const resolvePlaceOrderQuoteStatus: ({ amount, labels, quoteData, selectedMarket, }: ResolvePlaceOrderQuoteStatusParams) => PlaceOrderQuoteStatus;
|
|
39
|
-
export declare const buildLiveRouteCards: ({ labels, quoteData, tradeSide, eventVenues, }: BuildLiveRouteCardsParams) => PlaceOrderRouteCard[];
|
|
40
|
+
export declare const buildLiveRouteCards: ({ labels, quoteData, tradeSide, eventVenues, geoBlockedVenues: inheritedGeoBlockedVenues, }: BuildLiveRouteCardsParams) => PlaceOrderRouteCard[];
|
|
41
|
+
export declare const clampSellSharesToAvailability: (requestedSellShares: number, availableShares: number) => number;
|
|
42
|
+
export declare const getRemainingVenueSellShares: (availableShares: number, filledShares: number) => number;
|
|
43
|
+
export declare const buildVenueSellQuoteRequests: ({ quoteData, requestedSellShares, }: {
|
|
44
|
+
quoteData: SmartRouteResponse | null | undefined;
|
|
45
|
+
requestedSellShares: number;
|
|
46
|
+
}) => VenueSellQuoteRequest[];
|
|
47
|
+
export declare const buildLiveSellRouteCards: ({ labels, smartQuoteData, venueQuotes, eventVenues, geoBlockedVenues, }: {
|
|
48
|
+
labels: PlaceOrderTradingLabels;
|
|
49
|
+
smartQuoteData: SmartRouteResponse | null | undefined;
|
|
50
|
+
venueQuotes: Array<{
|
|
51
|
+
venue: TradingVenue;
|
|
52
|
+
quoteData: SmartRouteResponse | null | undefined;
|
|
53
|
+
}>;
|
|
54
|
+
eventVenues?: TradingVenue[];
|
|
55
|
+
geoBlockedVenues?: ReadonlySet<string>;
|
|
56
|
+
}) => PlaceOrderRouteCard[];
|
|
40
57
|
export declare const resolveExecutionVenueFromQuote: (quoteData: SmartRouteResponse | null) => TradingVenue | undefined;
|
|
41
58
|
export declare const routeCardsHaveSameVenueIdentity: (a: PlaceOrderRouteCard, b: PlaceOrderRouteCard) => boolean;
|
|
42
59
|
export declare const getPlaceOrderPotentialReturn: (quoteData: SmartRouteResponse | null | undefined) => number;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { VenueSellQuoteRequest } from "@agg-build/hooks";
|
|
1
2
|
import type { SmartRouteResponse, WsOrderSubmitted } from "@agg-build/sdk";
|
|
2
3
|
import { type PlaceOrderOutcome, type PlaceOrderRoutingRow, type PlaceOrderTab, type TradingVenue } from "../types";
|
|
3
4
|
import type { BuildLiveRouteCardsParams, PlaceOrderOutcomeClassNameParams, PlaceOrderExecutionStepGroup, PlaceOrderFailureStep, PlaceOrderFailureSummary, PlaceOrderOutcomeLabelValue, PlaceOrderQuoteResult, PlaceOrderQuoteStatus, PlaceOrderResultTone, PlaceOrderRouteCard, PlaceOrderTerminalOrderEvent, PlaceOrderTradingLabels, PlaceOrderVenueOutcome, ResolvePlaceOrderQuoteResultParams, ResolvePlaceOrderQuoteStatusParams, ResolvePlaceOrderTabKeyParams } from "./index.place-order.types";
|
|
@@ -36,7 +37,23 @@ export declare const sanitizePlaceOrderAmount: (value: number) => number;
|
|
|
36
37
|
export declare const getTradingRoutePriceLabel: (value: number) => string;
|
|
37
38
|
export declare const isQuoteBelowVenueMinimum: (quoteData: SmartRouteResponse | null | undefined) => boolean;
|
|
38
39
|
export declare const resolvePlaceOrderQuoteStatus: ({ amount, labels, quoteData, selectedMarket, }: ResolvePlaceOrderQuoteStatusParams) => PlaceOrderQuoteStatus;
|
|
39
|
-
export declare const buildLiveRouteCards: ({ labels, quoteData, tradeSide, eventVenues, }: BuildLiveRouteCardsParams) => PlaceOrderRouteCard[];
|
|
40
|
+
export declare const buildLiveRouteCards: ({ labels, quoteData, tradeSide, eventVenues, geoBlockedVenues: inheritedGeoBlockedVenues, }: BuildLiveRouteCardsParams) => PlaceOrderRouteCard[];
|
|
41
|
+
export declare const clampSellSharesToAvailability: (requestedSellShares: number, availableShares: number) => number;
|
|
42
|
+
export declare const getRemainingVenueSellShares: (availableShares: number, filledShares: number) => number;
|
|
43
|
+
export declare const buildVenueSellQuoteRequests: ({ quoteData, requestedSellShares, }: {
|
|
44
|
+
quoteData: SmartRouteResponse | null | undefined;
|
|
45
|
+
requestedSellShares: number;
|
|
46
|
+
}) => VenueSellQuoteRequest[];
|
|
47
|
+
export declare const buildLiveSellRouteCards: ({ labels, smartQuoteData, venueQuotes, eventVenues, geoBlockedVenues, }: {
|
|
48
|
+
labels: PlaceOrderTradingLabels;
|
|
49
|
+
smartQuoteData: SmartRouteResponse | null | undefined;
|
|
50
|
+
venueQuotes: Array<{
|
|
51
|
+
venue: TradingVenue;
|
|
52
|
+
quoteData: SmartRouteResponse | null | undefined;
|
|
53
|
+
}>;
|
|
54
|
+
eventVenues?: TradingVenue[];
|
|
55
|
+
geoBlockedVenues?: ReadonlySet<string>;
|
|
56
|
+
}) => PlaceOrderRouteCard[];
|
|
40
57
|
export declare const resolveExecutionVenueFromQuote: (quoteData: SmartRouteResponse | null) => TradingVenue | undefined;
|
|
41
58
|
export declare const routeCardsHaveSameVenueIdentity: (a: PlaceOrderRouteCard, b: PlaceOrderRouteCard) => boolean;
|
|
42
59
|
export declare const getPlaceOrderPotentialReturn: (quoteData: SmartRouteResponse | null | undefined) => number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agg-build/ui",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.2",
|
|
4
4
|
"description": "Pre-built React component library for the AGG prediction market aggregator. Tailwind-based, themeable, with primitives, event surfaces, trading flows, full pages, and modals.",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -100,18 +100,21 @@
|
|
|
100
100
|
"liveline": "^0.0.7",
|
|
101
101
|
"react": "^18.0.0 || ^19.0.0",
|
|
102
102
|
"react-dom": "^18.0.0 || ^19.0.0",
|
|
103
|
-
"@agg-build/hooks": "^2.
|
|
104
|
-
"@agg-build/sdk": "^2.
|
|
103
|
+
"@agg-build/hooks": "^2.5.1",
|
|
104
|
+
"@agg-build/sdk": "^2.5.1"
|
|
105
105
|
},
|
|
106
106
|
"dependencies": {
|
|
107
107
|
"@number-flow/react": "^0.6.0",
|
|
108
108
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
109
109
|
"@radix-ui/react-dropdown-menu": "^2.1.4",
|
|
110
|
+
"@radix-ui/react-popover": "^1.1.15",
|
|
110
111
|
"@radix-ui/react-toast": "^1.2.15",
|
|
111
112
|
"@radix-ui/react-tooltip": "^1.0.7",
|
|
112
113
|
"dayjs": "^1.11.19",
|
|
113
114
|
"liveline": "^0.0.7",
|
|
114
|
-
"qrcode.react": "^3.1.0"
|
|
115
|
+
"qrcode.react": "^3.1.0",
|
|
116
|
+
"react-day-picker": "^10.0.1",
|
|
117
|
+
"zod": "^3.25.76"
|
|
115
118
|
},
|
|
116
119
|
"publishConfig": {
|
|
117
120
|
"access": "public"
|
package/dist/chunk-JVRTJQPZ.mjs
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
AGG_TERMS_OF_SERVICE_URL,
|
|
4
|
-
Icon,
|
|
5
|
-
cn
|
|
6
|
-
} from "./chunk-PTNFXXOV.mjs";
|
|
7
|
-
|
|
8
|
-
// src/geo-block-banner/index.tsx
|
|
9
|
-
import { useLabels } from "@agg-build/hooks";
|
|
10
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
-
var GeoBlockBanner = ({
|
|
12
|
-
venue,
|
|
13
|
-
termsUrl = AGG_TERMS_OF_SERVICE_URL,
|
|
14
|
-
className
|
|
15
|
-
}) => {
|
|
16
|
-
const labels = useLabels();
|
|
17
|
-
const message = venue ? labels.trading.geoBlockVenueMessage(venue) : labels.trading.geoBlockGenericMessage;
|
|
18
|
-
return /* @__PURE__ */ jsxs(
|
|
19
|
-
"div",
|
|
20
|
-
{
|
|
21
|
-
className: cn("flex items-center gap-5 rounded-agg-lg bg-agg-secondary-hover p-3", className),
|
|
22
|
-
role: "status",
|
|
23
|
-
children: [
|
|
24
|
-
/* @__PURE__ */ jsxs("p", { className: "min-w-0 flex-1 text-agg-xs leading-agg-4 text-agg-foreground", children: [
|
|
25
|
-
message,
|
|
26
|
-
/* @__PURE__ */ jsx("a", { href: termsUrl, className: "underline", target: "_blank", rel: "noreferrer noopener", children: labels.trading.geoBlockTermsLink }),
|
|
27
|
-
labels.trading.geoBlockMessageSuffix
|
|
28
|
-
] }),
|
|
29
|
-
/* @__PURE__ */ jsx(Icon, { name: "internet-security", className: "h-6 w-6 shrink-0 text-agg-muted-foreground" })
|
|
30
|
-
]
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
};
|
|
34
|
-
GeoBlockBanner.displayName = "GeoBlockBanner";
|
|
35
|
-
|
|
36
|
-
// src/notifications/deposit-notification-events.ts
|
|
37
|
-
var AGG_DEPOSIT_NOTIFICATION_EVENT = "agg:deposit-notification";
|
|
38
|
-
var dispatchAggDepositNotification = (detail) => {
|
|
39
|
-
if (typeof window === "undefined") return;
|
|
40
|
-
window.dispatchEvent(new CustomEvent(AGG_DEPOSIT_NOTIFICATION_EVENT, { detail }));
|
|
41
|
-
};
|
|
42
|
-
var subscribeAggDepositNotification = (handler) => {
|
|
43
|
-
if (typeof window === "undefined") return () => {
|
|
44
|
-
};
|
|
45
|
-
const handleDepositNotification = (event) => {
|
|
46
|
-
if (!(event instanceof CustomEvent)) return;
|
|
47
|
-
handler(event.detail);
|
|
48
|
-
};
|
|
49
|
-
window.addEventListener(AGG_DEPOSIT_NOTIFICATION_EVENT, handleDepositNotification);
|
|
50
|
-
return () => {
|
|
51
|
-
window.removeEventListener(AGG_DEPOSIT_NOTIFICATION_EVENT, handleDepositNotification);
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
export {
|
|
56
|
-
dispatchAggDepositNotification,
|
|
57
|
-
subscribeAggDepositNotification,
|
|
58
|
-
GeoBlockBanner
|
|
59
|
-
};
|