@agg-build/ui 2.8.0 → 3.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.
- package/dist/{chunk-AKLGQ6AB.mjs → chunk-JTSLZARU.mjs} +50 -250
- package/dist/{chunk-2QCNDFNC.mjs → chunk-R362GNI2.mjs} +1120 -400
- package/dist/{chunk-R5S2QOYL.mjs → chunk-XIDQ2A6W.mjs} +152 -59
- package/dist/index.js +1764 -1155
- package/dist/index.mjs +5 -3
- package/dist/modals.js +391 -845
- package/dist/modals.mjs +1 -1
- package/dist/pages.js +1724 -916
- package/dist/pages.mjs +4 -2
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/trading.js +567 -472
- package/dist/trading.mjs +1 -1
- package/dist/types/pages/user-profile/components/available-balance-card.d.mts +5 -1
- package/dist/types/pages/user-profile/components/available-balance-card.d.ts +5 -1
- package/dist/types/pages/user-profile/components/manage-balances-modal.d.mts +8 -0
- package/dist/types/pages/user-profile/components/manage-balances-modal.d.ts +8 -0
- package/dist/types/pages/user-profile/index.d.mts +1 -0
- package/dist/types/pages/user-profile/index.d.ts +1 -0
- package/dist/types/profile/profile-modal.constants.d.mts +1 -2
- package/dist/types/profile/profile-modal.constants.d.ts +1 -2
- package/dist/types/trading/place-order/index.place-order.constants.d.mts +1 -0
- package/dist/types/trading/place-order/index.place-order.constants.d.ts +1 -0
- package/dist/types/trading/place-order/index.place-order.types.d.mts +4 -0
- package/dist/types/trading/place-order/index.place-order.types.d.ts +4 -0
- package/dist/types/trading/place-order/index.place-order.utils.d.mts +7 -3
- package/dist/types/trading/place-order/index.place-order.utils.d.ts +7 -3
- package/package.json +3 -3
- package/dist/types/profile/tabs/balance-management-tab.d.mts +0 -3
- package/dist/types/profile/tabs/balance-management-tab.d.ts +0 -3
package/dist/trading.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Ref } from "react";
|
|
1
2
|
type ChainRow = {
|
|
2
3
|
key: string;
|
|
3
4
|
label: string;
|
|
@@ -11,9 +12,12 @@ type AvailableBalanceCardProps = {
|
|
|
11
12
|
chains: ChainRow[];
|
|
12
13
|
isLoading?: boolean;
|
|
13
14
|
className?: string;
|
|
15
|
+
onManage?: () => void;
|
|
16
|
+
manageButtonRef?: Ref<HTMLButtonElement>;
|
|
14
17
|
};
|
|
18
|
+
export declare const chainIconUrl: (label: string, key?: string) => string | undefined;
|
|
15
19
|
export declare const AvailableBalanceCard: {
|
|
16
|
-
({ label, valueLabel, reservedValueLabel, chains, isLoading, className, }: AvailableBalanceCardProps): JSX.Element;
|
|
20
|
+
({ label, valueLabel, reservedValueLabel, chains, isLoading, className, onManage, manageButtonRef, }: AvailableBalanceCardProps): JSX.Element;
|
|
17
21
|
displayName: string;
|
|
18
22
|
};
|
|
19
23
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Ref } from "react";
|
|
1
2
|
type ChainRow = {
|
|
2
3
|
key: string;
|
|
3
4
|
label: string;
|
|
@@ -11,9 +12,12 @@ type AvailableBalanceCardProps = {
|
|
|
11
12
|
chains: ChainRow[];
|
|
12
13
|
isLoading?: boolean;
|
|
13
14
|
className?: string;
|
|
15
|
+
onManage?: () => void;
|
|
16
|
+
manageButtonRef?: Ref<HTMLButtonElement>;
|
|
14
17
|
};
|
|
18
|
+
export declare const chainIconUrl: (label: string, key?: string) => string | undefined;
|
|
15
19
|
export declare const AvailableBalanceCard: {
|
|
16
|
-
({ label, valueLabel, reservedValueLabel, chains, isLoading, className, }: AvailableBalanceCardProps): JSX.Element;
|
|
20
|
+
({ label, valueLabel, reservedValueLabel, chains, isLoading, className, onManage, manageButtonRef, }: AvailableBalanceCardProps): JSX.Element;
|
|
17
21
|
displayName: string;
|
|
18
22
|
};
|
|
19
23
|
export {};
|
|
@@ -3,6 +3,7 @@ export type { UserProfileActivity, UserProfileActivityStatus, UserProfileBalance
|
|
|
3
3
|
export { USER_PROFILE_TAB_ACTIVITY, USER_PROFILE_TAB_OPEN_ORDERS, USER_PROFILE_TAB_POSITIONS, } from "./user-profile.constants";
|
|
4
4
|
export type { UserProfileTabValue } from "./user-profile.constants";
|
|
5
5
|
export { buildAggTxExplorerHref } from "./transaction-explorer";
|
|
6
|
+
export { ManageBalancesModal } from "./components/manage-balances-modal";
|
|
6
7
|
export declare const UserProfilePage: {
|
|
7
8
|
({ user, balanceChainsOverride, venueBalances: _venueBalances, balance, activePositions, closedPositions, activities, executionMode, onEditProfile, onDeposit, onWithdraw, openOrders, initialPositionFilter, tab, onTabChange, onPositionClick, getPositionHref, onClaim, claimingPositionKeys, onClaimResult, onClaimSubmitError, onActivityClick, getActivityHref, onOpenOrderClick, getOpenOrderHref, onCancelOrder, cancellingOrderIds, isLoadingPositions, isLoadingActivities, isLoadingOpenOrders, positionsError, activitiesError, openOrdersError, hasMoreActivePositions, isLoadingMoreActivePositions, onLoadMoreActivePositions, hasMoreClosedPositions, isLoadingMoreClosedPositions, onLoadMoreClosedPositions, onPositionFilterChange: onPositionFilterChangeProp, hasMoreActivities, isLoadingMoreActivities, onLoadMoreActivities, hasMoreOpenOrders, isLoadingMoreOpenOrders, onLoadMoreOpenOrders, classNames, onError, }: UserProfilePageProps & {
|
|
8
9
|
onError?: (error: Error) => void;
|
|
@@ -3,6 +3,7 @@ export type { UserProfileActivity, UserProfileActivityStatus, UserProfileBalance
|
|
|
3
3
|
export { USER_PROFILE_TAB_ACTIVITY, USER_PROFILE_TAB_OPEN_ORDERS, USER_PROFILE_TAB_POSITIONS, } from "./user-profile.constants";
|
|
4
4
|
export type { UserProfileTabValue } from "./user-profile.constants";
|
|
5
5
|
export { buildAggTxExplorerHref } from "./transaction-explorer";
|
|
6
|
+
export { ManageBalancesModal } from "./components/manage-balances-modal";
|
|
6
7
|
export declare const UserProfilePage: {
|
|
7
8
|
({ user, balanceChainsOverride, venueBalances: _venueBalances, balance, activePositions, closedPositions, activities, executionMode, onEditProfile, onDeposit, onWithdraw, openOrders, initialPositionFilter, tab, onTabChange, onPositionClick, getPositionHref, onClaim, claimingPositionKeys, onClaimResult, onClaimSubmitError, onActivityClick, getActivityHref, onOpenOrderClick, getOpenOrderHref, onCancelOrder, cancellingOrderIds, isLoadingPositions, isLoadingActivities, isLoadingOpenOrders, positionsError, activitiesError, openOrdersError, hasMoreActivePositions, isLoadingMoreActivePositions, onLoadMoreActivePositions, hasMoreClosedPositions, isLoadingMoreClosedPositions, onLoadMoreClosedPositions, onPositionFilterChange: onPositionFilterChangeProp, hasMoreActivities, isLoadingMoreActivities, onLoadMoreActivities, hasMoreOpenOrders, isLoadingMoreOpenOrders, onLoadMoreOpenOrders, classNames, onError, }: UserProfilePageProps & {
|
|
8
9
|
onError?: (error: Error) => void;
|
|
@@ -2,7 +2,6 @@ import type { IconName } from "../primitives/icon/registry";
|
|
|
2
2
|
export declare const PROFILE_TAB_KEYS: {
|
|
3
3
|
readonly PROFILE_ACCOUNTS: "profile-accounts";
|
|
4
4
|
readonly TRADING_ACCESS: "trading-access";
|
|
5
|
-
readonly BALANCE_MANAGEMENT: "balance-management";
|
|
6
5
|
};
|
|
7
6
|
export type ProfileTabKey = (typeof PROFILE_TAB_KEYS)[keyof typeof PROFILE_TAB_KEYS];
|
|
8
7
|
export interface ProfileTabItem {
|
|
@@ -10,7 +9,7 @@ export interface ProfileTabItem {
|
|
|
10
9
|
label: string;
|
|
11
10
|
icon: IconName;
|
|
12
11
|
}
|
|
13
|
-
export declare const getProfileTabItems: (
|
|
12
|
+
export declare const getProfileTabItems: () => ProfileTabItem[];
|
|
14
13
|
/**
|
|
15
14
|
* Display names for venue slugs.
|
|
16
15
|
* Re-uses the venue-logo labels as the single source of truth.
|
|
@@ -2,7 +2,6 @@ import type { IconName } from "../primitives/icon/registry";
|
|
|
2
2
|
export declare const PROFILE_TAB_KEYS: {
|
|
3
3
|
readonly PROFILE_ACCOUNTS: "profile-accounts";
|
|
4
4
|
readonly TRADING_ACCESS: "trading-access";
|
|
5
|
-
readonly BALANCE_MANAGEMENT: "balance-management";
|
|
6
5
|
};
|
|
7
6
|
export type ProfileTabKey = (typeof PROFILE_TAB_KEYS)[keyof typeof PROFILE_TAB_KEYS];
|
|
8
7
|
export interface ProfileTabItem {
|
|
@@ -10,7 +9,7 @@ export interface ProfileTabItem {
|
|
|
10
9
|
label: string;
|
|
11
10
|
icon: IconName;
|
|
12
11
|
}
|
|
13
|
-
export declare const getProfileTabItems: (
|
|
12
|
+
export declare const getProfileTabItems: () => ProfileTabItem[];
|
|
14
13
|
/**
|
|
15
14
|
* Display names for venue slugs.
|
|
16
15
|
* Re-uses the venue-logo labels as the single source of truth.
|
|
@@ -16,6 +16,7 @@ export declare const DEFAULT_SLIPPAGE_VALUE = "0.5";
|
|
|
16
16
|
export declare const DEFAULT_SLIPPAGE_MINIMUM = 0.5;
|
|
17
17
|
export declare const HIGH_SLIPPAGE_THRESHOLD = 10;
|
|
18
18
|
export declare const PLACE_ORDER_ROUTE_COLLAPSED_CARD_COUNT = 3;
|
|
19
|
+
export declare const PLACE_ORDER_MAXIMIZE_PAYOUT_ROUTE_ID = "live-maximize-payout";
|
|
19
20
|
export declare const PLACE_ORDER_NUMERIC_INPUT_CLASS_NAME = "bg-transparent text-right text-agg-3xl font-agg-bold leading-agg-9 tracking-agg-normal text-agg-foreground outline-none";
|
|
20
21
|
export declare const PLACE_ORDER_CONTAINER_CLASS_NAME = "w-full overflow-hidden rounded-agg-xl border border-agg-separator bg-agg-secondary shadow-none hover:shadow-none";
|
|
21
22
|
export declare const PLACE_ORDER_OUTCOME_BUTTON_CLASS_NAMES: {
|
|
@@ -16,6 +16,7 @@ export declare const DEFAULT_SLIPPAGE_VALUE = "0.5";
|
|
|
16
16
|
export declare const DEFAULT_SLIPPAGE_MINIMUM = 0.5;
|
|
17
17
|
export declare const HIGH_SLIPPAGE_THRESHOLD = 10;
|
|
18
18
|
export declare const PLACE_ORDER_ROUTE_COLLAPSED_CARD_COUNT = 3;
|
|
19
|
+
export declare const PLACE_ORDER_MAXIMIZE_PAYOUT_ROUTE_ID = "live-maximize-payout";
|
|
19
20
|
export declare const PLACE_ORDER_NUMERIC_INPUT_CLASS_NAME = "bg-transparent text-right text-agg-3xl font-agg-bold leading-agg-9 tracking-agg-normal text-agg-foreground outline-none";
|
|
20
21
|
export declare const PLACE_ORDER_CONTAINER_CLASS_NAME = "w-full overflow-hidden rounded-agg-xl border border-agg-separator bg-agg-secondary shadow-none hover:shadow-none";
|
|
21
22
|
export declare const PLACE_ORDER_OUTCOME_BUTTON_CLASS_NAMES: {
|
|
@@ -118,8 +118,12 @@ export type PlaceOrderSlippageControlProps = {
|
|
|
118
118
|
};
|
|
119
119
|
export type PlaceOrderRouteCardKind = "split" | "venue";
|
|
120
120
|
export type PlaceOrderRouteCard = {
|
|
121
|
+
availableShares?: number;
|
|
122
|
+
description?: string;
|
|
123
|
+
executionPrice?: number;
|
|
121
124
|
id: string;
|
|
122
125
|
hint: string;
|
|
126
|
+
insufficientInventory?: boolean;
|
|
123
127
|
kind: PlaceOrderRouteCardKind;
|
|
124
128
|
label: string;
|
|
125
129
|
numericValue: number;
|
|
@@ -118,8 +118,12 @@ export type PlaceOrderSlippageControlProps = {
|
|
|
118
118
|
};
|
|
119
119
|
export type PlaceOrderRouteCardKind = "split" | "venue";
|
|
120
120
|
export type PlaceOrderRouteCard = {
|
|
121
|
+
availableShares?: number;
|
|
122
|
+
description?: string;
|
|
123
|
+
executionPrice?: number;
|
|
121
124
|
id: string;
|
|
122
125
|
hint: string;
|
|
126
|
+
insufficientInventory?: boolean;
|
|
123
127
|
kind: PlaceOrderRouteCardKind;
|
|
124
128
|
label: string;
|
|
125
129
|
numericValue: number;
|
|
@@ -2,6 +2,8 @@ import type { VenueMarket, VenueSellQuoteRequest } from "@agg-build/hooks";
|
|
|
2
2
|
import type { SmartRouteResponse, WsOrderSubmitted } from "@agg-build/sdk";
|
|
3
3
|
import { type PlaceOrderOutcome, type PlaceOrderRoutingRow, type PlaceOrderTab, type TradingVenue } from "../types";
|
|
4
4
|
import type { BuildLiveRouteCardsParams, PlaceOrderOutcomeClassNameParams, PlaceOrderExecutionStepGroup, PlaceOrderFailureStep, PlaceOrderFailureSummary, PlaceOrderOutcomeLabelValue, PlaceOrderLimitVenueOption, PlaceOrderQuoteResult, PlaceOrderQuoteStatus, PlaceOrderResultTone, PlaceOrderRouteCard, PlaceOrderTerminalOrderEvent, PlaceOrderTradingLabels, PlaceOrderVenueOutcome, ResolvePlaceOrderQuoteResultParams, ResolvePlaceOrderQuoteStatusParams, ResolvePlaceOrderTabKeyParams } from "./index.place-order.types";
|
|
5
|
+
export declare const floorToDecimals: (value: number, decimals: number) => number;
|
|
6
|
+
export declare const formatFlooredShareAmount: (value: number, decimals: number) => string;
|
|
5
7
|
export declare const buildLimitOrderVenueOptions: ({ currentPrices, livePrices, market, selectedOutcomeId, }: {
|
|
6
8
|
currentPrices: ReadonlyMap<string, number>;
|
|
7
9
|
livePrices?: ReadonlyMap<string, number>;
|
|
@@ -25,7 +27,7 @@ export declare const getResultValueClassName: (tone: PlaceOrderResultTone) => st
|
|
|
25
27
|
export declare const resolveIsPositiveOutcome: (_outcome: PlaceOrderOutcomeLabelValue, index: number) => boolean;
|
|
26
28
|
export declare const getOutcomeButtonClassName: ({ enableAnimations, isActive, isPositive, }: PlaceOrderOutcomeClassNameParams) => string;
|
|
27
29
|
export declare const mapVenueMarketOutcomesToPlaceOrderOutcomes: (venueMarketOutcomes: PlaceOrderVenueOutcome[] | null | undefined) => PlaceOrderOutcome[];
|
|
28
|
-
export declare const mapQuoteDataToRoutingRows: (quoteData: ResolvePlaceOrderQuoteResultParams["quoteData"]) => PlaceOrderRoutingRow[];
|
|
30
|
+
export declare const mapQuoteDataToRoutingRows: (quoteData: ResolvePlaceOrderQuoteResultParams["quoteData"], tradeSide?: PlaceOrderTab) => PlaceOrderRoutingRow[];
|
|
29
31
|
/**
|
|
30
32
|
* Aggregate execution outcome for a (possibly split) order.
|
|
31
33
|
* - `pending` – not all order legs have reached a terminal state yet
|
|
@@ -56,16 +58,18 @@ export declare const buildLiveRouteCards: ({ labels, quoteData, tradeSide, event
|
|
|
56
58
|
*/
|
|
57
59
|
export declare const resolveDefaultRouteCardId: (routeCards: PlaceOrderRouteCard[], primaryStatus?: SmartRouteResponse["status"]) => string | null;
|
|
58
60
|
export declare const clampSellSharesToAvailability: (requestedSellShares: number, availableShares: number) => number;
|
|
61
|
+
export declare const hasInsufficientVenueInventory: (requestedSellShares: number, availableShares: number) => boolean;
|
|
59
62
|
export declare const getRemainingVenueSellShares: (availableShares: number, filledShares: number) => number;
|
|
60
63
|
export declare const buildVenueSellQuoteRequests: ({ quoteData, requestedSellShares, }: {
|
|
61
64
|
quoteData: SmartRouteResponse | null | undefined;
|
|
62
65
|
requestedSellShares: number;
|
|
63
66
|
}) => VenueSellQuoteRequest[];
|
|
64
|
-
export declare const buildLiveSellRouteCards: ({ labels, smartQuoteData, venueQuotes, eventVenues, geoBlockedVenues, }: {
|
|
67
|
+
export declare const buildLiveSellRouteCards: ({ labels, requestedSellShares, smartQuoteData, venueQuotes, eventVenues, geoBlockedVenues, }: {
|
|
65
68
|
labels: PlaceOrderTradingLabels;
|
|
69
|
+
requestedSellShares: number;
|
|
66
70
|
smartQuoteData: SmartRouteResponse | null | undefined;
|
|
67
71
|
venueQuotes: Array<{
|
|
68
|
-
|
|
72
|
+
request: VenueSellQuoteRequest;
|
|
69
73
|
quoteData: SmartRouteResponse | null | undefined;
|
|
70
74
|
}>;
|
|
71
75
|
eventVenues?: TradingVenue[];
|
|
@@ -2,6 +2,8 @@ import type { VenueMarket, VenueSellQuoteRequest } from "@agg-build/hooks";
|
|
|
2
2
|
import type { SmartRouteResponse, WsOrderSubmitted } from "@agg-build/sdk";
|
|
3
3
|
import { type PlaceOrderOutcome, type PlaceOrderRoutingRow, type PlaceOrderTab, type TradingVenue } from "../types";
|
|
4
4
|
import type { BuildLiveRouteCardsParams, PlaceOrderOutcomeClassNameParams, PlaceOrderExecutionStepGroup, PlaceOrderFailureStep, PlaceOrderFailureSummary, PlaceOrderOutcomeLabelValue, PlaceOrderLimitVenueOption, PlaceOrderQuoteResult, PlaceOrderQuoteStatus, PlaceOrderResultTone, PlaceOrderRouteCard, PlaceOrderTerminalOrderEvent, PlaceOrderTradingLabels, PlaceOrderVenueOutcome, ResolvePlaceOrderQuoteResultParams, ResolvePlaceOrderQuoteStatusParams, ResolvePlaceOrderTabKeyParams } from "./index.place-order.types";
|
|
5
|
+
export declare const floorToDecimals: (value: number, decimals: number) => number;
|
|
6
|
+
export declare const formatFlooredShareAmount: (value: number, decimals: number) => string;
|
|
5
7
|
export declare const buildLimitOrderVenueOptions: ({ currentPrices, livePrices, market, selectedOutcomeId, }: {
|
|
6
8
|
currentPrices: ReadonlyMap<string, number>;
|
|
7
9
|
livePrices?: ReadonlyMap<string, number>;
|
|
@@ -25,7 +27,7 @@ export declare const getResultValueClassName: (tone: PlaceOrderResultTone) => st
|
|
|
25
27
|
export declare const resolveIsPositiveOutcome: (_outcome: PlaceOrderOutcomeLabelValue, index: number) => boolean;
|
|
26
28
|
export declare const getOutcomeButtonClassName: ({ enableAnimations, isActive, isPositive, }: PlaceOrderOutcomeClassNameParams) => string;
|
|
27
29
|
export declare const mapVenueMarketOutcomesToPlaceOrderOutcomes: (venueMarketOutcomes: PlaceOrderVenueOutcome[] | null | undefined) => PlaceOrderOutcome[];
|
|
28
|
-
export declare const mapQuoteDataToRoutingRows: (quoteData: ResolvePlaceOrderQuoteResultParams["quoteData"]) => PlaceOrderRoutingRow[];
|
|
30
|
+
export declare const mapQuoteDataToRoutingRows: (quoteData: ResolvePlaceOrderQuoteResultParams["quoteData"], tradeSide?: PlaceOrderTab) => PlaceOrderRoutingRow[];
|
|
29
31
|
/**
|
|
30
32
|
* Aggregate execution outcome for a (possibly split) order.
|
|
31
33
|
* - `pending` – not all order legs have reached a terminal state yet
|
|
@@ -56,16 +58,18 @@ export declare const buildLiveRouteCards: ({ labels, quoteData, tradeSide, event
|
|
|
56
58
|
*/
|
|
57
59
|
export declare const resolveDefaultRouteCardId: (routeCards: PlaceOrderRouteCard[], primaryStatus?: SmartRouteResponse["status"]) => string | null;
|
|
58
60
|
export declare const clampSellSharesToAvailability: (requestedSellShares: number, availableShares: number) => number;
|
|
61
|
+
export declare const hasInsufficientVenueInventory: (requestedSellShares: number, availableShares: number) => boolean;
|
|
59
62
|
export declare const getRemainingVenueSellShares: (availableShares: number, filledShares: number) => number;
|
|
60
63
|
export declare const buildVenueSellQuoteRequests: ({ quoteData, requestedSellShares, }: {
|
|
61
64
|
quoteData: SmartRouteResponse | null | undefined;
|
|
62
65
|
requestedSellShares: number;
|
|
63
66
|
}) => VenueSellQuoteRequest[];
|
|
64
|
-
export declare const buildLiveSellRouteCards: ({ labels, smartQuoteData, venueQuotes, eventVenues, geoBlockedVenues, }: {
|
|
67
|
+
export declare const buildLiveSellRouteCards: ({ labels, requestedSellShares, smartQuoteData, venueQuotes, eventVenues, geoBlockedVenues, }: {
|
|
65
68
|
labels: PlaceOrderTradingLabels;
|
|
69
|
+
requestedSellShares: number;
|
|
66
70
|
smartQuoteData: SmartRouteResponse | null | undefined;
|
|
67
71
|
venueQuotes: Array<{
|
|
68
|
-
|
|
72
|
+
request: VenueSellQuoteRequest;
|
|
69
73
|
quoteData: SmartRouteResponse | null | undefined;
|
|
70
74
|
}>;
|
|
71
75
|
eventVenues?: TradingVenue[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agg-build/ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
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,8 +100,8 @@
|
|
|
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": "^
|
|
104
|
-
"@agg-build/sdk": "^
|
|
103
|
+
"@agg-build/hooks": "^3.0.0",
|
|
104
|
+
"@agg-build/sdk": "^3.0.0"
|
|
105
105
|
},
|
|
106
106
|
"dependencies": {
|
|
107
107
|
"@number-flow/react": "^0.6.0",
|