@agg-build/ui 2.4.1 → 2.4.3

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/trading.mjs CHANGED
@@ -8,12 +8,13 @@ import {
8
8
  parseVenue,
9
9
  useClaimWinnings,
10
10
  useResolvedMarketClaim
11
- } from "./chunk-3FLLEJFM.mjs";
11
+ } from "./chunk-PHAEFHBM.mjs";
12
12
  import {
13
13
  SETTLEMENT_SECTION_ID,
14
14
  Settlement,
15
15
  defaultSettlementSectionLabel,
16
16
  defaultTradingDisclaimer,
17
+ getSettlementDifferenceId,
17
18
  getTradingAveragePriceLabel,
18
19
  getTradingBalanceLabel,
19
20
  getTradingDateLabel,
@@ -22,10 +23,12 @@ import {
22
23
  getTradingSlippageLabel,
23
24
  getTradingValueLabel,
24
25
  getTradingVenueLabel,
26
+ prepareSettlementDifferences,
27
+ resolveDifferenceIconClassName,
25
28
  useEventTradingContext
26
- } from "./chunk-G5Y45GIA.mjs";
27
- import "./chunk-G5BXCT5Y.mjs";
28
- import "./chunk-2ET5CXOU.mjs";
29
+ } from "./chunk-STL4ZHLP.mjs";
30
+ import "./chunk-3PSIO77N.mjs";
31
+ import "./chunk-WZ55ERDO.mjs";
29
32
  export {
30
33
  PlaceOrder,
31
34
  PlaceOrderFailureView,
@@ -35,6 +38,7 @@ export {
35
38
  SettlementDetails,
36
39
  defaultSettlementSectionLabel,
37
40
  defaultTradingDisclaimer,
41
+ getSettlementDifferenceId,
38
42
  getTradingAveragePriceLabel,
39
43
  getTradingBalanceLabel,
40
44
  getTradingDateLabel,
@@ -45,6 +49,8 @@ export {
45
49
  getTradingVenueLabel,
46
50
  parseAmount,
47
51
  parseVenue,
52
+ prepareSettlementDifferences,
53
+ resolveDifferenceIconClassName,
48
54
  useClaimWinnings,
49
55
  useEventTradingContext,
50
56
  useResolvedMarketClaim
@@ -1,5 +1,7 @@
1
+ import { type SettlementDiff } from "@agg-build/hooks";
1
2
  export type SettlementSummaryProps = {
2
3
  content: string | null | undefined;
4
+ settlementDiff?: SettlementDiff | null;
3
5
  /**
4
6
  * DOM id of the full Settlement section that "Read full details" should
5
7
  * smooth-scroll to. Defaults to the shared SETTLEMENT_SECTION_ID.
@@ -8,6 +10,6 @@ export type SettlementSummaryProps = {
8
10
  className?: string;
9
11
  };
10
12
  export declare const SettlementSummary: {
11
- ({ content, settlementSectionId, className, }: SettlementSummaryProps): JSX.Element | null;
13
+ ({ content, settlementDiff, settlementSectionId, className, }: SettlementSummaryProps): JSX.Element | null;
12
14
  displayName: string;
13
15
  };
@@ -1,5 +1,7 @@
1
+ import { type SettlementDiff } from "@agg-build/hooks";
1
2
  export type SettlementSummaryProps = {
2
3
  content: string | null | undefined;
4
+ settlementDiff?: SettlementDiff | null;
3
5
  /**
4
6
  * DOM id of the full Settlement section that "Read full details" should
5
7
  * smooth-scroll to. Defaults to the shared SETTLEMENT_SECTION_ID.
@@ -8,6 +10,6 @@ export type SettlementSummaryProps = {
8
10
  className?: string;
9
11
  };
10
12
  export declare const SettlementSummary: {
11
- ({ content, settlementSectionId, className, }: SettlementSummaryProps): JSX.Element | null;
13
+ ({ content, settlementDiff, settlementSectionId, className, }: SettlementSummaryProps): JSX.Element | null;
12
14
  displayName: string;
13
15
  };
@@ -132,6 +132,17 @@ export declare const resolveSpreadOutcomeTeamNames: (activeMarket: VenueMarket,
132
132
  favored: string | null;
133
133
  dog: string | null;
134
134
  };
135
+ /** The per-leg pill label for a combined (decomposed) moneyline group. */
136
+ export declare const resolveCombinedMoneylineLegLabel: (market: VenueMarket) => string;
137
+ /**
138
+ * Combined per-leg moneyline pills are only meaningful when every leg carries a
139
+ * DISTINCT label. Cross-venue duplicates of the SAME 2-way single that never
140
+ * merged (e.g. poly + predict "… (BO5) - Match Winner") collapse to identical
141
+ * labels — rendering them as separate pills shows the same Yes price twice as
142
+ * if it were two different options. Non-distinct → the card falls back to the
143
+ * standard single-market rendering (team-title pills).
144
+ */
145
+ export declare const areCombinedMoneylineLegsDistinct: (markets: VenueMarket[]) => boolean;
135
146
  export declare const buildSportsMarketDisplayGroups: (markets: VenueMarket[]) => SportsMarketDisplayGroup[];
136
147
  export declare const groupSportsMarketsByPeriod: (markets: VenueMarket[]) => SportsPeriodGroup[];
137
148
  export type SportsGameLineSlideKind = "to_advance" | "moneyline" | "spread" | "total" | "other";
@@ -132,6 +132,17 @@ export declare const resolveSpreadOutcomeTeamNames: (activeMarket: VenueMarket,
132
132
  favored: string | null;
133
133
  dog: string | null;
134
134
  };
135
+ /** The per-leg pill label for a combined (decomposed) moneyline group. */
136
+ export declare const resolveCombinedMoneylineLegLabel: (market: VenueMarket) => string;
137
+ /**
138
+ * Combined per-leg moneyline pills are only meaningful when every leg carries a
139
+ * DISTINCT label. Cross-venue duplicates of the SAME 2-way single that never
140
+ * merged (e.g. poly + predict "… (BO5) - Match Winner") collapse to identical
141
+ * labels — rendering them as separate pills shows the same Yes price twice as
142
+ * if it were two different options. Non-distinct → the card falls back to the
143
+ * standard single-market rendering (team-title pills).
144
+ */
145
+ export declare const areCombinedMoneylineLegsDistinct: (markets: VenueMarket[]) => boolean;
135
146
  export declare const buildSportsMarketDisplayGroups: (markets: VenueMarket[]) => SportsMarketDisplayGroup[];
136
147
  export declare const groupSportsMarketsByPeriod: (markets: VenueMarket[]) => SportsPeriodGroup[];
137
148
  export type SportsGameLineSlideKind = "to_advance" | "moneyline" | "spread" | "total" | "other";
@@ -1,4 +1,6 @@
1
+ import { type SettlementDiff, type SettlementDifference } from "@agg-build/hooks";
1
2
  export declare const SETTLEMENT_SECTION_ID = "agg-settlement-section";
3
+ export declare const getSettlementDifferenceId: (sectionId: string, canonicalKey: string) => string;
2
4
  export type SettlementProps = {
3
5
  className?: string;
4
6
  id?: string;
@@ -7,9 +9,25 @@ export type SettlementProps = {
7
9
  eventDescription?: string | null;
8
10
  marketDescription?: string | null;
9
11
  primaryRules?: string | null;
12
+ settlementDiff?: SettlementDiff | null;
13
+ settlementVenues?: string[];
14
+ settlementVenueRules?: SettlementVenueRule[];
10
15
  isLoading?: boolean;
11
16
  };
17
+ export type SettlementVenueRule = {
18
+ venue: string;
19
+ content: string;
20
+ };
21
+ type SettlementDifferenceSeverity = "critical" | "informational";
22
+ export type DisplaySettlementDifference = SettlementDifference & {
23
+ canonicalKey: string;
24
+ severity: SettlementDifferenceSeverity;
25
+ originalIndex: number;
26
+ };
27
+ export declare const prepareSettlementDifferences: (differences: SettlementDifference[] | undefined) => DisplaySettlementDifference[];
28
+ export declare const resolveDifferenceIconClassName: (canonicalKey: string) => string;
12
29
  export declare const Settlement: {
13
- ({ className, id, sectionLabel, question, eventDescription, marketDescription, primaryRules, isLoading, }: SettlementProps): JSX.Element;
30
+ ({ className, id, sectionLabel, question, eventDescription, marketDescription, primaryRules, settlementDiff, settlementVenues, settlementVenueRules, isLoading, }: SettlementProps): JSX.Element;
14
31
  displayName: string;
15
32
  };
33
+ export {};
@@ -1,4 +1,6 @@
1
+ import { type SettlementDiff, type SettlementDifference } from "@agg-build/hooks";
1
2
  export declare const SETTLEMENT_SECTION_ID = "agg-settlement-section";
3
+ export declare const getSettlementDifferenceId: (sectionId: string, canonicalKey: string) => string;
2
4
  export type SettlementProps = {
3
5
  className?: string;
4
6
  id?: string;
@@ -7,9 +9,25 @@ export type SettlementProps = {
7
9
  eventDescription?: string | null;
8
10
  marketDescription?: string | null;
9
11
  primaryRules?: string | null;
12
+ settlementDiff?: SettlementDiff | null;
13
+ settlementVenues?: string[];
14
+ settlementVenueRules?: SettlementVenueRule[];
10
15
  isLoading?: boolean;
11
16
  };
17
+ export type SettlementVenueRule = {
18
+ venue: string;
19
+ content: string;
20
+ };
21
+ type SettlementDifferenceSeverity = "critical" | "informational";
22
+ export type DisplaySettlementDifference = SettlementDifference & {
23
+ canonicalKey: string;
24
+ severity: SettlementDifferenceSeverity;
25
+ originalIndex: number;
26
+ };
27
+ export declare const prepareSettlementDifferences: (differences: SettlementDifference[] | undefined) => DisplaySettlementDifference[];
28
+ export declare const resolveDifferenceIconClassName: (canonicalKey: string) => string;
12
29
  export declare const Settlement: {
13
- ({ className, id, sectionLabel, question, eventDescription, marketDescription, primaryRules, isLoading, }: SettlementProps): JSX.Element;
30
+ ({ className, id, sectionLabel, question, eventDescription, marketDescription, primaryRules, settlementDiff, settlementVenues, settlementVenueRules, isLoading, }: SettlementProps): JSX.Element;
14
31
  displayName: string;
15
32
  };
33
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agg-build/ui",
3
- "version": "2.4.1",
3
+ "version": "2.4.3",
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",