@agg-build/ui 1.2.11 → 1.2.12

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 (66) hide show
  1. package/dist/{chunk-J7K2U44E.mjs → chunk-3JXBOU24.mjs} +110 -60
  2. package/dist/{chunk-3ZSNHGAB.mjs → chunk-4WBQTUPW.mjs} +314 -58
  3. package/dist/{chunk-54PCEK6G.mjs → chunk-IBOE7DRY.mjs} +1 -1
  4. package/dist/{chunk-YP75TIY6.mjs → chunk-J6WELNCX.mjs} +3 -3
  5. package/dist/{chunk-ENAGASVU.mjs → chunk-U55T5BPE.mjs} +406 -337
  6. package/dist/{chunk-SJLHOAKK.mjs → chunk-X3KCFWXN.mjs} +936 -650
  7. package/dist/{chunk-NWJHFGBZ.mjs → chunk-YSW4ULL5.mjs} +1 -1
  8. package/dist/events.js +1593 -886
  9. package/dist/events.mjs +3 -3
  10. package/dist/index.js +4211 -3198
  11. package/dist/index.mjs +480 -105
  12. package/dist/modals.js +1164 -923
  13. package/dist/modals.mjs +3 -3
  14. package/dist/pages.js +1975 -1492
  15. package/dist/pages.mjs +6 -6
  16. package/dist/primitives.js +928 -649
  17. package/dist/primitives.mjs +1 -1
  18. package/dist/styles.css +1 -1
  19. package/dist/tailwind.css +1 -1
  20. package/dist/trading.js +641 -444
  21. package/dist/trading.mjs +4 -4
  22. package/dist/types/agg-provider.d.mts +27 -0
  23. package/dist/types/agg-provider.d.ts +27 -0
  24. package/dist/types/events/list/event-list-tabs.d.mts +6 -1
  25. package/dist/types/events/list/event-list-tabs.d.ts +6 -1
  26. package/dist/types/index.d.mts +2 -0
  27. package/dist/types/index.d.ts +2 -0
  28. package/dist/types/notifications/agg-notification-events-provider.d.mts +35 -0
  29. package/dist/types/notifications/agg-notification-events-provider.d.ts +35 -0
  30. package/dist/types/notifications/agg-toast-provider.d.mts +27 -0
  31. package/dist/types/notifications/agg-toast-provider.d.ts +27 -0
  32. package/dist/types/notifications/deposit-notification-events.d.mts +10 -0
  33. package/dist/types/notifications/deposit-notification-events.d.ts +10 -0
  34. package/dist/types/notifications/index.d.mts +2 -0
  35. package/dist/types/notifications/index.d.ts +2 -0
  36. package/dist/types/primitives/button/button.types.d.mts +4 -0
  37. package/dist/types/primitives/button/button.types.d.ts +4 -0
  38. package/dist/types/primitives/button/index.d.mts +1 -1
  39. package/dist/types/primitives/button/index.d.ts +1 -1
  40. package/dist/types/primitives/icon/registry.d.mts +16 -0
  41. package/dist/types/primitives/icon/registry.d.ts +16 -0
  42. package/dist/types/primitives/icon/svg/sort-end-date.d.mts +5 -0
  43. package/dist/types/primitives/icon/svg/sort-end-date.d.ts +5 -0
  44. package/dist/types/primitives/icon/svg/sort-top-arbitrage.d.mts +5 -0
  45. package/dist/types/primitives/icon/svg/sort-top-arbitrage.d.ts +5 -0
  46. package/dist/types/primitives/icon/svg/sort-volume-24hr.d.mts +5 -0
  47. package/dist/types/primitives/icon/svg/sort-volume-24hr.d.ts +5 -0
  48. package/dist/types/primitives/icon/svg/sort-volume.d.mts +5 -0
  49. package/dist/types/primitives/icon/svg/sort-volume.d.ts +5 -0
  50. package/dist/types/primitives/select/index.d.mts +1 -1
  51. package/dist/types/primitives/select/index.d.ts +1 -1
  52. package/dist/types/primitives/select/select.types.d.mts +9 -0
  53. package/dist/types/primitives/select/select.types.d.ts +9 -0
  54. package/dist/types/primitives/toast/toast.types.d.mts +3 -0
  55. package/dist/types/primitives/toast/toast.types.d.ts +3 -0
  56. package/dist/types/profile/index.d.mts +1 -1
  57. package/dist/types/profile/index.d.ts +1 -1
  58. package/dist/types/profile/profile-modal.constants.d.mts +2 -2
  59. package/dist/types/profile/profile-modal.constants.d.ts +2 -2
  60. package/dist/types/profile/tabs/accounts-wallets-tab.d.mts +2 -17
  61. package/dist/types/profile/tabs/accounts-wallets-tab.d.ts +2 -17
  62. package/dist/types/profile/tabs/trading-access-tab.d.mts +15 -0
  63. package/dist/types/profile/tabs/trading-access-tab.d.ts +15 -0
  64. package/dist/types/trading/place-order/index.place-order.utils.d.mts +1 -1
  65. package/dist/types/trading/place-order/index.place-order.utils.d.ts +1 -1
  66. package/package.json +2 -2
package/dist/trading.mjs CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  SettlementDetails,
7
7
  parseAmount,
8
8
  parseVenue
9
- } from "./chunk-J7K2U44E.mjs";
9
+ } from "./chunk-3JXBOU24.mjs";
10
10
  import {
11
11
  SETTLEMENT_SECTION_ID,
12
12
  Settlement,
@@ -21,9 +21,9 @@ import {
21
21
  getTradingValueLabel,
22
22
  getTradingVenueLabel,
23
23
  useEventTradingContext
24
- } from "./chunk-54PCEK6G.mjs";
25
- import "./chunk-NWJHFGBZ.mjs";
26
- import "./chunk-SJLHOAKK.mjs";
24
+ } from "./chunk-IBOE7DRY.mjs";
25
+ import "./chunk-YSW4ULL5.mjs";
26
+ import "./chunk-X3KCFWXN.mjs";
27
27
  export {
28
28
  PlaceOrder,
29
29
  PlaceOrderFailureView,
@@ -0,0 +1,27 @@
1
+ import { type AggProviderProps as AggSdkProviderProps } from "@agg-build/hooks";
2
+ import type { ReactNode } from "react";
3
+ import { type AggToastProviderProps } from "./notifications/agg-toast-provider";
4
+ export interface AggProviderProps extends Omit<AggSdkProviderProps, "children"> {
5
+ children?: ReactNode;
6
+ /**
7
+ * Optional overrides forwarded to the internally-mounted `AggToastProvider`.
8
+ * Use this for toast viewport positioning, swipe behavior, etc. The
9
+ * notification bridge itself is gated by
10
+ * `config.features.enableNotifications` (default `true`), not by this prop.
11
+ */
12
+ toast?: Omit<AggToastProviderProps, "children">;
13
+ }
14
+ /**
15
+ * Batteries-included AGG provider for partner React apps. Wraps the bare
16
+ * `AggProvider` from `@agg-build/hooks` with `AggToastProvider`, so partners
17
+ * get the toast surface **and** the global order/deposit/withdrawal
18
+ * notification bridge by mounting a single component.
19
+ *
20
+ * Partners who want a leaner setup (no toast surface) can import the original
21
+ * `AggProvider` from `@agg-build/hooks` directly.
22
+ *
23
+ * The notification bridge respects `config.features.enableNotifications`
24
+ * (default `true`) — set it to `false` to keep the toast surface mounted
25
+ * for ad-hoc partner-fired toasts while suppressing all SDK-driven ones.
26
+ */
27
+ export declare function AggProvider({ children, toast, ...providerProps }: AggProviderProps): JSX.Element;
@@ -0,0 +1,27 @@
1
+ import { type AggProviderProps as AggSdkProviderProps } from "@agg-build/hooks";
2
+ import type { ReactNode } from "react";
3
+ import { type AggToastProviderProps } from "./notifications/agg-toast-provider";
4
+ export interface AggProviderProps extends Omit<AggSdkProviderProps, "children"> {
5
+ children?: ReactNode;
6
+ /**
7
+ * Optional overrides forwarded to the internally-mounted `AggToastProvider`.
8
+ * Use this for toast viewport positioning, swipe behavior, etc. The
9
+ * notification bridge itself is gated by
10
+ * `config.features.enableNotifications` (default `true`), not by this prop.
11
+ */
12
+ toast?: Omit<AggToastProviderProps, "children">;
13
+ }
14
+ /**
15
+ * Batteries-included AGG provider for partner React apps. Wraps the bare
16
+ * `AggProvider` from `@agg-build/hooks` with `AggToastProvider`, so partners
17
+ * get the toast surface **and** the global order/deposit/withdrawal
18
+ * notification bridge by mounting a single component.
19
+ *
20
+ * Partners who want a leaner setup (no toast surface) can import the original
21
+ * `AggProvider` from `@agg-build/hooks` directly.
22
+ *
23
+ * The notification bridge respects `config.features.enableNotifications`
24
+ * (default `true`) — set it to `false` to keep the toast surface mounted
25
+ * for ad-hoc partner-fired toasts while suppressing all SDK-driven ones.
26
+ */
27
+ export declare function AggProvider({ children, toast, ...providerProps }: AggProviderProps): JSX.Element;
@@ -41,4 +41,9 @@ export type EventListTabsHeaderOverflowResult<THeader extends HTMLElement, TTitl
41
41
  * element and `titleRef` to the title element. Pass `recomputeOn` (e.g.
42
42
  * the resolved tab list) to re-measure when tab content changes.
43
43
  */
44
- export declare const useEventListTabsHeaderOverflow: <THeader extends HTMLElement = HTMLElement, TTitle extends HTMLElement = HTMLElement>(recomputeOn?: unknown) => EventListTabsHeaderOverflowResult<THeader, TTitle>;
44
+ export declare const useEventListTabsHeaderOverflow: <THeader extends HTMLElement = HTMLElement, TTitle extends HTMLElement = HTMLElement>(recomputeOn?: unknown, options?: {
45
+ /** Force select fallback when available tabs inline width drops below this threshold. */
46
+ minTabsInlineWidthForSelect?: number;
47
+ /** Whether natural tab overflow should switch to select. Default true for legacy behavior. */
48
+ preferSelectOnOverflow?: boolean;
49
+ }) => EventListTabsHeaderOverflowResult<THeader, TTitle>;
@@ -41,4 +41,9 @@ export type EventListTabsHeaderOverflowResult<THeader extends HTMLElement, TTitl
41
41
  * element and `titleRef` to the title element. Pass `recomputeOn` (e.g.
42
42
  * the resolved tab list) to re-measure when tab content changes.
43
43
  */
44
- export declare const useEventListTabsHeaderOverflow: <THeader extends HTMLElement = HTMLElement, TTitle extends HTMLElement = HTMLElement>(recomputeOn?: unknown) => EventListTabsHeaderOverflowResult<THeader, TTitle>;
44
+ export declare const useEventListTabsHeaderOverflow: <THeader extends HTMLElement = HTMLElement, TTitle extends HTMLElement = HTMLElement>(recomputeOn?: unknown, options?: {
45
+ /** Force select fallback when available tabs inline width drops below this threshold. */
46
+ minTabsInlineWidthForSelect?: number;
47
+ /** Whether natural tab overflow should switch to select. Default true for legacy behavior. */
48
+ preferSelectOnOverflow?: boolean;
49
+ }) => EventListTabsHeaderOverflowResult<THeader, TTitle>;
@@ -1,4 +1,6 @@
1
1
  export * from "./primitives";
2
+ export * from "./notifications";
3
+ export { AggProvider, type AggProviderProps } from "./agg-provider";
2
4
  export * from "./auth/connect-button-view";
3
5
  export * from "./events";
4
6
  export * from "./pages";
@@ -1,4 +1,6 @@
1
1
  export * from "./primitives";
2
+ export * from "./notifications";
3
+ export { AggProvider, type AggProviderProps } from "./agg-provider";
2
4
  export * from "./auth/connect-button-view";
3
5
  export * from "./events";
4
6
  export * from "./pages";
@@ -0,0 +1,35 @@
1
+ import { type ReactNode } from "react";
2
+ import { type ToastContextValue } from "../primitives/toast";
3
+ interface AggNotificationEventsProviderProps {
4
+ children?: ReactNode;
5
+ /**
6
+ * Toggle off without unmounting (e.g. partner is rendering a marketing page
7
+ * where toasts would be noise). Defaults to `true`. The
8
+ * `features.enableNotifications` flag on `<AggProvider config>` also gates
9
+ * the bridge — if either is `false`, no toasts fire.
10
+ */
11
+ enabled?: boolean;
12
+ /**
13
+ * How many recent deposit rows the bridge keeps in its observation window.
14
+ * The bridge mounts its own lightweight `useUserActivity({ type: "deposit" })`
15
+ * query so it can catch lifecycle transitions even when no other page is
16
+ * rendering the activity feed. Defaults to 25.
17
+ */
18
+ depositActivityLimit?: number;
19
+ }
20
+ /**
21
+ * Global notification bridge. Subscribes to order WS events, withdrawal
22
+ * lifecycle WS events, and the deposit activity feed; turns terminal
23
+ * transitions into toasts via the existing `ToastProvider`. Auto-mounted by
24
+ * `<ToastProvider>` — partners don't need to wire it manually.
25
+ *
26
+ * Bails to a transparent passthrough when no `<AggProvider>` is above it, so
27
+ * a partner using `<ToastProvider>` standalone (e.g. a marketing page) keeps
28
+ * working without hooking into the SDK.
29
+ *
30
+ * Toasts dedupe per `${kind}:${id}:${status}` so reconnect storms and polling
31
+ * overlap don't double-fire, and the dedupe table is cleared on user-id change
32
+ * so signing out / in cannot leak toasts from a prior session.
33
+ */
34
+ export declare function AggNotificationEventsProvider({ children, enabled, depositActivityLimit, }: AggNotificationEventsProviderProps): JSX.Element;
35
+ export type { ToastContextValue };
@@ -0,0 +1,35 @@
1
+ import { type ReactNode } from "react";
2
+ import { type ToastContextValue } from "../primitives/toast";
3
+ interface AggNotificationEventsProviderProps {
4
+ children?: ReactNode;
5
+ /**
6
+ * Toggle off without unmounting (e.g. partner is rendering a marketing page
7
+ * where toasts would be noise). Defaults to `true`. The
8
+ * `features.enableNotifications` flag on `<AggProvider config>` also gates
9
+ * the bridge — if either is `false`, no toasts fire.
10
+ */
11
+ enabled?: boolean;
12
+ /**
13
+ * How many recent deposit rows the bridge keeps in its observation window.
14
+ * The bridge mounts its own lightweight `useUserActivity({ type: "deposit" })`
15
+ * query so it can catch lifecycle transitions even when no other page is
16
+ * rendering the activity feed. Defaults to 25.
17
+ */
18
+ depositActivityLimit?: number;
19
+ }
20
+ /**
21
+ * Global notification bridge. Subscribes to order WS events, withdrawal
22
+ * lifecycle WS events, and the deposit activity feed; turns terminal
23
+ * transitions into toasts via the existing `ToastProvider`. Auto-mounted by
24
+ * `<ToastProvider>` — partners don't need to wire it manually.
25
+ *
26
+ * Bails to a transparent passthrough when no `<AggProvider>` is above it, so
27
+ * a partner using `<ToastProvider>` standalone (e.g. a marketing page) keeps
28
+ * working without hooking into the SDK.
29
+ *
30
+ * Toasts dedupe per `${kind}:${id}:${status}` so reconnect storms and polling
31
+ * overlap don't double-fire, and the dedupe table is cleared on user-id change
32
+ * so signing out / in cannot leak toasts from a prior session.
33
+ */
34
+ export declare function AggNotificationEventsProvider({ children, enabled, depositActivityLimit, }: AggNotificationEventsProviderProps): JSX.Element;
35
+ export type { ToastContextValue };
@@ -0,0 +1,27 @@
1
+ import type { ReactNode } from "react";
2
+ import { type ToastProviderProps } from "../primitives/toast";
3
+ export interface AggToastProviderProps extends Omit<ToastProviderProps, "children"> {
4
+ children?: ReactNode;
5
+ /**
6
+ * Disable the global notification bridge mounted under the toast viewport.
7
+ * When `true`, `AggToastProvider` behaves like the bare `ToastProvider` —
8
+ * no order/deposit/withdrawal toasts are emitted automatically. Defaults
9
+ * to `false`.
10
+ */
11
+ disableAggNotifications?: boolean;
12
+ /**
13
+ * Forwarded to `AggNotificationEventsProvider`. See its prop docs.
14
+ * Defaults to 25.
15
+ */
16
+ notificationDepositActivityLimit?: number;
17
+ }
18
+ /**
19
+ * Drop-in replacement for `ToastProvider` that also mounts the global Agg
20
+ * notification bridge. Partners using `@agg-build/ui` should prefer this
21
+ * over the raw `ToastProvider` so order/deposit/withdrawal lifecycle events
22
+ * become toasts automatically with no extra wiring.
23
+ *
24
+ * The bridge gracefully no-ops when no `<AggProvider>` is mounted above it,
25
+ * so this provider remains safe to use even on routes that don't run the SDK.
26
+ */
27
+ export declare function AggToastProvider({ children, disableAggNotifications, notificationDepositActivityLimit, ...toastProps }: AggToastProviderProps): JSX.Element;
@@ -0,0 +1,27 @@
1
+ import type { ReactNode } from "react";
2
+ import { type ToastProviderProps } from "../primitives/toast";
3
+ export interface AggToastProviderProps extends Omit<ToastProviderProps, "children"> {
4
+ children?: ReactNode;
5
+ /**
6
+ * Disable the global notification bridge mounted under the toast viewport.
7
+ * When `true`, `AggToastProvider` behaves like the bare `ToastProvider` —
8
+ * no order/deposit/withdrawal toasts are emitted automatically. Defaults
9
+ * to `false`.
10
+ */
11
+ disableAggNotifications?: boolean;
12
+ /**
13
+ * Forwarded to `AggNotificationEventsProvider`. See its prop docs.
14
+ * Defaults to 25.
15
+ */
16
+ notificationDepositActivityLimit?: number;
17
+ }
18
+ /**
19
+ * Drop-in replacement for `ToastProvider` that also mounts the global Agg
20
+ * notification bridge. Partners using `@agg-build/ui` should prefer this
21
+ * over the raw `ToastProvider` so order/deposit/withdrawal lifecycle events
22
+ * become toasts automatically with no extra wiring.
23
+ *
24
+ * The bridge gracefully no-ops when no `<AggProvider>` is mounted above it,
25
+ * so this provider remains safe to use even on routes that don't run the SDK.
26
+ */
27
+ export declare function AggToastProvider({ children, disableAggNotifications, notificationDepositActivityLimit, ...toastProps }: AggToastProviderProps): JSX.Element;
@@ -0,0 +1,10 @@
1
+ export type AggDepositNotificationStatus = "completed" | "failed";
2
+ export interface AggDepositNotificationDetail {
3
+ id?: string;
4
+ status: AggDepositNotificationStatus;
5
+ amount?: string;
6
+ tokenSymbol?: string;
7
+ errorMessage?: string;
8
+ }
9
+ export declare const dispatchAggDepositNotification: (detail: AggDepositNotificationDetail) => void;
10
+ export declare const subscribeAggDepositNotification: (handler: (detail: AggDepositNotificationDetail) => void) => (() => void);
@@ -0,0 +1,10 @@
1
+ export type AggDepositNotificationStatus = "completed" | "failed";
2
+ export interface AggDepositNotificationDetail {
3
+ id?: string;
4
+ status: AggDepositNotificationStatus;
5
+ amount?: string;
6
+ tokenSymbol?: string;
7
+ errorMessage?: string;
8
+ }
9
+ export declare const dispatchAggDepositNotification: (detail: AggDepositNotificationDetail) => void;
10
+ export declare const subscribeAggDepositNotification: (handler: (detail: AggDepositNotificationDetail) => void) => (() => void);
@@ -0,0 +1,2 @@
1
+ export { AggNotificationEventsProvider } from "./agg-notification-events-provider";
2
+ export { AggToastProvider, type AggToastProviderProps } from "./agg-toast-provider";
@@ -0,0 +1,2 @@
1
+ export { AggNotificationEventsProvider } from "./agg-notification-events-provider";
2
+ export { AggToastProvider, type AggToastProviderProps } from "./agg-toast-provider";
@@ -15,4 +15,8 @@ export type ButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "childre
15
15
  prefix?: JSX.Element | FC | ReactNode;
16
16
  /** Optional content rendered after the button label. */
17
17
  suffix?: JSX.Element | FC | ReactNode;
18
+ classNames?: {
19
+ root?: string;
20
+ label?: string;
21
+ };
18
22
  };
@@ -15,4 +15,8 @@ export type ButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "childre
15
15
  prefix?: JSX.Element | FC | ReactNode;
16
16
  /** Optional content rendered after the button label. */
17
17
  suffix?: JSX.Element | FC | ReactNode;
18
+ classNames?: {
19
+ root?: string;
20
+ label?: string;
21
+ };
18
22
  };
@@ -2,6 +2,6 @@ import type { ButtonProps } from "./button.types";
2
2
  export type { ButtonProps, ButtonSize, ButtonVariant } from "./button.types";
3
3
  /** Renders a themed action button with loading state, sizing variants, and optional icon slots. */
4
4
  export declare const Button: {
5
- ({ children, variant, size, isLoading, disabled, prefix, suffix, type, className, "aria-label": ariaLabel, ...other }: ButtonProps): JSX.Element;
5
+ ({ children, variant, size, isLoading, disabled, prefix, suffix, type, className, classNames, "aria-label": ariaLabel, ...other }: ButtonProps): JSX.Element;
6
6
  displayName: string;
7
7
  };
@@ -2,6 +2,6 @@ import type { ButtonProps } from "./button.types";
2
2
  export type { ButtonProps, ButtonSize, ButtonVariant } from "./button.types";
3
3
  /** Renders a themed action button with loading state, sizing variants, and optional icon slots. */
4
4
  export declare const Button: {
5
- ({ children, variant, size, isLoading, disabled, prefix, suffix, type, className, "aria-label": ariaLabel, ...other }: ButtonProps): JSX.Element;
5
+ ({ children, variant, size, isLoading, disabled, prefix, suffix, type, className, classNames, "aria-label": ariaLabel, ...other }: ButtonProps): JSX.Element;
6
6
  displayName: string;
7
7
  };
@@ -232,6 +232,22 @@ export declare const iconRegistry: {
232
232
  ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
233
233
  displayName: string;
234
234
  };
235
+ readonly "sort-end-date": {
236
+ ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
237
+ displayName: string;
238
+ };
239
+ readonly "sort-top-arbitrage": {
240
+ ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
241
+ displayName: string;
242
+ };
243
+ readonly "sort-volume": {
244
+ ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
245
+ displayName: string;
246
+ };
247
+ readonly "sort-volume-24hr": {
248
+ ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
249
+ displayName: string;
250
+ };
235
251
  readonly "sparkles-filled": {
236
252
  ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
237
253
  displayName: string;
@@ -232,6 +232,22 @@ export declare const iconRegistry: {
232
232
  ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
233
233
  displayName: string;
234
234
  };
235
+ readonly "sort-end-date": {
236
+ ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
237
+ displayName: string;
238
+ };
239
+ readonly "sort-top-arbitrage": {
240
+ ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
241
+ displayName: string;
242
+ };
243
+ readonly "sort-volume": {
244
+ ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
245
+ displayName: string;
246
+ };
247
+ readonly "sort-volume-24hr": {
248
+ ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
249
+ displayName: string;
250
+ };
235
251
  readonly "sparkles-filled": {
236
252
  ({ title, className, ...props }: import("./types").IconSvgProps): JSX.Element;
237
253
  displayName: string;
@@ -0,0 +1,5 @@
1
+ import type { IconSvgProps } from "../types";
2
+ export declare const SortEndDateIcon: {
3
+ ({ title, className, ...props }: IconSvgProps): JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { IconSvgProps } from "../types";
2
+ export declare const SortEndDateIcon: {
3
+ ({ title, className, ...props }: IconSvgProps): JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { IconSvgProps } from "../types";
2
+ export declare const SortTopArbitrageIcon: {
3
+ ({ title, className, ...props }: IconSvgProps): JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { IconSvgProps } from "../types";
2
+ export declare const SortTopArbitrageIcon: {
3
+ ({ title, className, ...props }: IconSvgProps): JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { IconSvgProps } from "../types";
2
+ export declare const SortVolume24hrIcon: {
3
+ ({ title, className, ...props }: IconSvgProps): JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { IconSvgProps } from "../types";
2
+ export declare const SortVolume24hrIcon: {
3
+ ({ title, className, ...props }: IconSvgProps): JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { IconSvgProps } from "../types";
2
+ export declare const SortVolumeIcon: {
3
+ ({ title, className, ...props }: IconSvgProps): JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,5 @@
1
+ import type { IconSvgProps } from "../types";
2
+ export declare const SortVolumeIcon: {
3
+ ({ title, className, ...props }: IconSvgProps): JSX.Element;
4
+ displayName: string;
5
+ };
@@ -2,6 +2,6 @@ import type { SelectProps } from "./select.types";
2
2
  export type { SelectItem, SelectProps } from "./select.types";
3
3
  /** Renders a custom select trigger and portaled listbox. */
4
4
  export declare const Select: {
5
- <TValue extends string = string>({ items, value, onChange, ariaLabel, className, triggerClassName, disabled, }: SelectProps<TValue>): JSX.Element;
5
+ <TValue extends string = string>({ items, value, onChange, ariaLabel, className, triggerClassName, contentClassName, itemClassName, disabled, }: SelectProps<TValue>): JSX.Element;
6
6
  displayName: string;
7
7
  };
@@ -2,6 +2,6 @@ import type { SelectProps } from "./select.types";
2
2
  export type { SelectItem, SelectProps } from "./select.types";
3
3
  /** Renders a custom select trigger and portaled listbox. */
4
4
  export declare const Select: {
5
- <TValue extends string = string>({ items, value, onChange, ariaLabel, className, triggerClassName, disabled, }: SelectProps<TValue>): JSX.Element;
5
+ <TValue extends string = string>({ items, value, onChange, ariaLabel, className, triggerClassName, contentClassName, itemClassName, disabled, }: SelectProps<TValue>): JSX.Element;
6
6
  displayName: string;
7
7
  };
@@ -1,7 +1,12 @@
1
1
  export type SelectItem<TValue extends string = string> = {
2
+ /** The value of the option */
2
3
  value: TValue;
4
+ /** The display label for the option */
3
5
  label: string;
6
+ /** If true, the option will be disabled and not clickable */
4
7
  disabled?: boolean;
8
+ /** If true, the option will be hidden and not displayed in the dropdown */
9
+ hidden?: boolean;
5
10
  /** Optional icon URL rendered beside the label in trigger and dropdown. */
6
11
  iconUrl?: string;
7
12
  /** Optional React node rendered as an icon beside the label (takes precedence over iconUrl). */
@@ -20,6 +25,10 @@ export type SelectProps<TValue extends string = string> = {
20
25
  className?: string;
21
26
  /** Extra classes for the trigger button, e.g. corner radius. */
22
27
  triggerClassName?: string;
28
+ /** Extra classes for the dropdown content container. */
29
+ contentClassName?: string;
30
+ /** Extra classes for each option row. */
31
+ itemClassName?: string;
23
32
  /** Whether the select should block user interaction. */
24
33
  disabled?: boolean;
25
34
  };
@@ -1,7 +1,12 @@
1
1
  export type SelectItem<TValue extends string = string> = {
2
+ /** The value of the option */
2
3
  value: TValue;
4
+ /** The display label for the option */
3
5
  label: string;
6
+ /** If true, the option will be disabled and not clickable */
4
7
  disabled?: boolean;
8
+ /** If true, the option will be hidden and not displayed in the dropdown */
9
+ hidden?: boolean;
5
10
  /** Optional icon URL rendered beside the label in trigger and dropdown. */
6
11
  iconUrl?: string;
7
12
  /** Optional React node rendered as an icon beside the label (takes precedence over iconUrl). */
@@ -20,6 +25,10 @@ export type SelectProps<TValue extends string = string> = {
20
25
  className?: string;
21
26
  /** Extra classes for the trigger button, e.g. corner radius. */
22
27
  triggerClassName?: string;
28
+ /** Extra classes for the dropdown content container. */
29
+ contentClassName?: string;
30
+ /** Extra classes for each option row. */
31
+ itemClassName?: string;
23
32
  /** Whether the select should block user interaction. */
24
33
  disabled?: boolean;
25
34
  };
@@ -3,6 +3,8 @@ export type ToastTone = "info" | "success" | "warning" | "error";
3
3
  export interface ToastOptions {
4
4
  tone?: ToastTone;
5
5
  title?: string;
6
+ /** Optional muted supporting line shown below the main message. */
7
+ detail?: string;
6
8
  /** Auto-dismiss duration in ms. Pass `Infinity` (or `0`) to require manual dismissal. Defaults to 5000. */
7
9
  durationMs?: number;
8
10
  }
@@ -11,6 +13,7 @@ export interface ToastEntry {
11
13
  message: string;
12
14
  tone: ToastTone;
13
15
  title?: string;
16
+ detail?: string;
14
17
  durationMs: number;
15
18
  }
16
19
  export interface ToastContextValue {
@@ -3,6 +3,8 @@ export type ToastTone = "info" | "success" | "warning" | "error";
3
3
  export interface ToastOptions {
4
4
  tone?: ToastTone;
5
5
  title?: string;
6
+ /** Optional muted supporting line shown below the main message. */
7
+ detail?: string;
6
8
  /** Auto-dismiss duration in ms. Pass `Infinity` (or `0`) to require manual dismissal. Defaults to 5000. */
7
9
  durationMs?: number;
8
10
  }
@@ -11,6 +13,7 @@ export interface ToastEntry {
11
13
  message: string;
12
14
  tone: ToastTone;
13
15
  title?: string;
16
+ detail?: string;
14
17
  durationMs: number;
15
18
  }
16
19
  export interface ToastContextValue {
@@ -1,6 +1,6 @@
1
1
  import type { ProfileModalProps } from "./profile-modal.types";
2
2
  export type { ProfileModalProps, ExchangeAccount, SocialAccountInfo, SocialAccountState, WalletAccountInfo, } from "./profile-modal.types";
3
3
  export declare const ProfileModal: {
4
- ({ open, onOpenChange, username, avatarPreview, onSave, onDeleteProfile, exchanges, socialAccounts, wallets, email, onDisconnectExchange: onDisconnectExchangeProp, onConnectTwitter, onDisconnectTwitter, onConnectGoogle, onDisconnectGoogle, onConnectApple, onDisconnectApple, onConnectDiscord, onDisconnectDiscord, onConnectTelegram, onDisconnectTelegram, onDisconnectWallet, onConnectEmail, onKycError, }: ProfileModalProps): JSX.Element;
4
+ ({ open, onOpenChange, username, avatarPreview, onSave, onDeleteProfile, socialAccounts, wallets, email, onConnectTwitter, onDisconnectTwitter, onConnectGoogle, onDisconnectGoogle, onConnectApple, onDisconnectApple, onDisconnectWallet, onConnectEmail, onKycError, }: ProfileModalProps): JSX.Element;
5
5
  displayName: string;
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import type { ProfileModalProps } from "./profile-modal.types";
2
2
  export type { ProfileModalProps, ExchangeAccount, SocialAccountInfo, SocialAccountState, WalletAccountInfo, } from "./profile-modal.types";
3
3
  export declare const ProfileModal: {
4
- ({ open, onOpenChange, username, avatarPreview, onSave, onDeleteProfile, exchanges, socialAccounts, wallets, email, onDisconnectExchange: onDisconnectExchangeProp, onConnectTwitter, onDisconnectTwitter, onConnectGoogle, onDisconnectGoogle, onConnectApple, onDisconnectApple, onConnectDiscord, onDisconnectDiscord, onConnectTelegram, onDisconnectTelegram, onDisconnectWallet, onConnectEmail, onKycError, }: ProfileModalProps): JSX.Element;
4
+ ({ open, onOpenChange, username, avatarPreview, onSave, onDeleteProfile, socialAccounts, wallets, email, onConnectTwitter, onDisconnectTwitter, onConnectGoogle, onDisconnectGoogle, onConnectApple, onDisconnectApple, onDisconnectWallet, onConnectEmail, onKycError, }: ProfileModalProps): JSX.Element;
5
5
  displayName: string;
6
6
  };
@@ -1,7 +1,7 @@
1
1
  import type { IconName } from "../primitives/icon/registry";
2
2
  export declare const PROFILE_TAB_KEYS: {
3
- readonly ABOUT: "about";
4
- readonly ACCOUNTS_WALLETS: "accounts-wallets";
3
+ readonly PROFILE_ACCOUNTS: "profile-accounts";
4
+ readonly TRADING_ACCESS: "trading-access";
5
5
  };
6
6
  export type ProfileTabKey = (typeof PROFILE_TAB_KEYS)[keyof typeof PROFILE_TAB_KEYS];
7
7
  export interface ProfileTabItem {
@@ -1,7 +1,7 @@
1
1
  import type { IconName } from "../primitives/icon/registry";
2
2
  export declare const PROFILE_TAB_KEYS: {
3
- readonly ABOUT: "about";
4
- readonly ACCOUNTS_WALLETS: "accounts-wallets";
3
+ readonly PROFILE_ACCOUNTS: "profile-accounts";
4
+ readonly TRADING_ACCESS: "trading-access";
5
5
  };
6
6
  export type ProfileTabKey = (typeof PROFILE_TAB_KEYS)[keyof typeof PROFILE_TAB_KEYS];
7
7
  export interface ProfileTabItem {
@@ -1,33 +1,18 @@
1
- import type { ExchangeAccount, SocialAccountState, WalletAccountInfo } from "../profile-modal.types";
2
- interface VenueAccountInfo {
3
- id: string;
4
- venue: string;
5
- status: string;
6
- kycStatus: string;
7
- }
1
+ import type { SocialAccountState, WalletAccountInfo } from "../profile-modal.types";
8
2
  export interface AccountsWalletsTabProps {
9
- exchanges: ExchangeAccount[];
10
3
  wallets?: WalletAccountInfo[];
11
4
  socialAccounts?: SocialAccountState;
12
5
  email?: string | null;
13
- venueAccounts?: VenueAccountInfo[] | null;
14
- onKycError?: (error: Error) => void;
15
- onDisconnectExchange?: (venue: string) => void;
16
6
  onConnectTwitter?: () => void;
17
7
  onDisconnectTwitter?: () => void;
18
8
  onConnectGoogle?: () => void;
19
9
  onDisconnectGoogle?: () => void;
20
10
  onConnectApple?: () => void;
21
11
  onDisconnectApple?: () => void;
22
- onConnectDiscord?: () => void;
23
- onDisconnectDiscord?: () => void;
24
- onConnectTelegram?: () => void;
25
- onDisconnectTelegram?: () => void;
26
12
  onDisconnectWallet?: (wallet: WalletAccountInfo) => void;
27
13
  onConnectEmail?: () => void;
28
14
  }
29
15
  export declare const AccountsWalletsTab: {
30
- ({ exchanges: _exchanges, socialAccounts, email, venueAccounts, onKycError, onDisconnectExchange: _onDisconnectExchange, onConnectTwitter, onDisconnectTwitter, onConnectGoogle, onDisconnectGoogle, onConnectApple, onDisconnectApple, onConnectDiscord: _onConnectDiscord, onDisconnectDiscord: _onDisconnectDiscord, onConnectTelegram: _onConnectTelegram, onDisconnectTelegram: _onDisconnectTelegram, onConnectEmail, }: AccountsWalletsTabProps): JSX.Element;
16
+ ({ socialAccounts, email, wallets, onConnectTwitter, onDisconnectTwitter, onConnectGoogle, onDisconnectGoogle, onConnectApple, onDisconnectApple, onDisconnectWallet, onConnectEmail, }: AccountsWalletsTabProps): JSX.Element;
31
17
  displayName: string;
32
18
  };
33
- export {};