@agg-market/ui 0.0.1

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 (192) hide show
  1. package/dist/badge.d.mts +26 -0
  2. package/dist/badge.d.ts +26 -0
  3. package/dist/badge.js +70 -0
  4. package/dist/badge.mjs +9 -0
  5. package/dist/button.d.mts +20 -0
  6. package/dist/button.d.ts +20 -0
  7. package/dist/button.js +197 -0
  8. package/dist/button.mjs +8 -0
  9. package/dist/card.d.mts +8 -0
  10. package/dist/card.d.ts +8 -0
  11. package/dist/card.js +84 -0
  12. package/dist/card.mjs +7 -0
  13. package/dist/chart.d.mts +40 -0
  14. package/dist/chart.d.ts +40 -0
  15. package/dist/chart.js +418 -0
  16. package/dist/chart.mjs +8 -0
  17. package/dist/chunk-2PGUPOXY.mjs +285 -0
  18. package/dist/chunk-3DV3D2LH.mjs +155 -0
  19. package/dist/chunk-44UEI6KD.mjs +280 -0
  20. package/dist/chunk-4ADCXJE6.mjs +297 -0
  21. package/dist/chunk-4GSXVVSA.mjs +64 -0
  22. package/dist/chunk-4NK2FNAG.mjs +581 -0
  23. package/dist/chunk-4XWCYUV3.mjs +355 -0
  24. package/dist/chunk-5MN6ZNFA.mjs +355 -0
  25. package/dist/chunk-6RRBINER.mjs +50 -0
  26. package/dist/chunk-765JPQDG.mjs +280 -0
  27. package/dist/chunk-7CD7GIZC.mjs +850 -0
  28. package/dist/chunk-7XRKA6XF.mjs +462 -0
  29. package/dist/chunk-AOFP74IB.mjs +850 -0
  30. package/dist/chunk-BNDFQPHF.mjs +9 -0
  31. package/dist/chunk-C4OI72SM.mjs +14 -0
  32. package/dist/chunk-CB2MLGCJ.mjs +279 -0
  33. package/dist/chunk-CKTAVEW2.mjs +212 -0
  34. package/dist/chunk-DA6KZWSK.mjs +807 -0
  35. package/dist/chunk-DBD5GHHD.mjs +147 -0
  36. package/dist/chunk-DQ6XFBYJ.mjs +37 -0
  37. package/dist/chunk-FACIYUNK.mjs +217 -0
  38. package/dist/chunk-FUJQIYOF.mjs +37 -0
  39. package/dist/chunk-FZTAHWOS.mjs +82 -0
  40. package/dist/chunk-GC3QIIH7.mjs +112 -0
  41. package/dist/chunk-GPBLZGJ2.mjs +136 -0
  42. package/dist/chunk-H4LELROL.mjs +262 -0
  43. package/dist/chunk-H7P6DIX4.mjs +262 -0
  44. package/dist/chunk-H7YEBGYY.mjs +42 -0
  45. package/dist/chunk-HJOBAMDU.mjs +142 -0
  46. package/dist/chunk-IJG5I642.mjs +462 -0
  47. package/dist/chunk-IY2AA3OL.mjs +50 -0
  48. package/dist/chunk-J6L5BLKX.mjs +136 -0
  49. package/dist/chunk-J7OETCZ7.mjs +147 -0
  50. package/dist/chunk-JLLMIPIX.mjs +42 -0
  51. package/dist/chunk-KBRLFTJT.mjs +741 -0
  52. package/dist/chunk-KDBYDMYV.mjs +64 -0
  53. package/dist/chunk-L6E6Q4C4.mjs +217 -0
  54. package/dist/chunk-LY6474C4.mjs +297 -0
  55. package/dist/chunk-M23S2DVV.mjs +581 -0
  56. package/dist/chunk-MG243DSX.mjs +44 -0
  57. package/dist/chunk-MRHSN2B7.mjs +279 -0
  58. package/dist/chunk-MXWRCVRJ.mjs +285 -0
  59. package/dist/chunk-NFYS557L.mjs +481 -0
  60. package/dist/chunk-NNSY462N.mjs +212 -0
  61. package/dist/chunk-OUOIDPGX.mjs +25 -0
  62. package/dist/chunk-P5PFQX75.mjs +31 -0
  63. package/dist/chunk-P674XRDY.mjs +481 -0
  64. package/dist/chunk-PAQ542ER.mjs +170 -0
  65. package/dist/chunk-QE46DVJG.mjs +323 -0
  66. package/dist/chunk-QXFDXXDB.mjs +792 -0
  67. package/dist/chunk-R3DRVI4J.mjs +741 -0
  68. package/dist/chunk-TTOR7JCT.mjs +155 -0
  69. package/dist/chunk-V5WIYMKS.mjs +25 -0
  70. package/dist/chunk-VAZE267Q.mjs +82 -0
  71. package/dist/chunk-VLIJ7PQK.mjs +792 -0
  72. package/dist/chunk-VYNVBJK6.mjs +44 -0
  73. package/dist/chunk-WIWJ6DIE.mjs +323 -0
  74. package/dist/chunk-XDAEEJYR.mjs +142 -0
  75. package/dist/chunk-YUIZZ6XE.mjs +31 -0
  76. package/dist/connect-button.d.mts +40 -0
  77. package/dist/connect-button.d.ts +40 -0
  78. package/dist/connect-button.js +1815 -0
  79. package/dist/connect-button.mjs +14 -0
  80. package/dist/event-list-item-details.d.mts +11 -0
  81. package/dist/event-list-item-details.d.ts +11 -0
  82. package/dist/event-list-item-details.js +2140 -0
  83. package/dist/event-list-item-details.mjs +19 -0
  84. package/dist/event-list-item-details.types-CMbXOrT-.d.ts +53 -0
  85. package/dist/event-list-item-details.types-CxWr4Qn1.d.ts +53 -0
  86. package/dist/event-list-item-details.types-DRi99PZq.d.mts +53 -0
  87. package/dist/event-list-item-details.types-DekJKeMD.d.mts +53 -0
  88. package/dist/event-list-item.d.mts +10 -0
  89. package/dist/event-list-item.d.ts +10 -0
  90. package/dist/event-list-item.js +2097 -0
  91. package/dist/event-list-item.mjs +17 -0
  92. package/dist/event-list-item.types-B1490EQm.d.mts +46 -0
  93. package/dist/event-list-item.types-B1490EQm.d.ts +46 -0
  94. package/dist/event-list-item.types-Y6IeJ4e4.d.mts +46 -0
  95. package/dist/event-list-item.types-Y6IeJ4e4.d.ts +46 -0
  96. package/dist/event-list.d.mts +9 -0
  97. package/dist/event-list.d.ts +9 -0
  98. package/dist/event-list.js +3151 -0
  99. package/dist/event-list.mjs +20 -0
  100. package/dist/event-list.types-Bpp6Vn-t.d.mts +13 -0
  101. package/dist/event-list.types-Bpp6Vn-t.d.ts +13 -0
  102. package/dist/event-list.types-CkAAUqwW.d.mts +13 -0
  103. package/dist/event-list.types-CkAAUqwW.d.ts +13 -0
  104. package/dist/event-market-page.d.mts +52 -0
  105. package/dist/event-market-page.d.ts +52 -0
  106. package/dist/event-market-page.js +5369 -0
  107. package/dist/event-market-page.mjs +29 -0
  108. package/dist/hello-world.d.mts +8 -0
  109. package/dist/hello-world.d.ts +8 -0
  110. package/dist/hello-world.js +80 -0
  111. package/dist/hello-world.mjs +8 -0
  112. package/dist/home-page.d.mts +51 -0
  113. package/dist/home-page.d.ts +51 -0
  114. package/dist/home-page.js +3415 -0
  115. package/dist/home-page.mjs +21 -0
  116. package/dist/icon.d.mts +123 -0
  117. package/dist/icon.d.ts +123 -0
  118. package/dist/icon.js +922 -0
  119. package/dist/icon.mjs +57 -0
  120. package/dist/index.d.mts +70 -0
  121. package/dist/index.d.ts +70 -0
  122. package/dist/index.js +8184 -0
  123. package/dist/index.mjs +307 -0
  124. package/dist/loading-icon.d.mts +14 -0
  125. package/dist/loading-icon.d.ts +14 -0
  126. package/dist/loading-icon.js +115 -0
  127. package/dist/loading-icon.mjs +8 -0
  128. package/dist/market-details.d.mts +73 -0
  129. package/dist/market-details.d.ts +73 -0
  130. package/dist/market-details.js +3923 -0
  131. package/dist/market-details.mjs +22 -0
  132. package/dist/modal.d.mts +66 -0
  133. package/dist/modal.d.ts +66 -0
  134. package/dist/modal.js +317 -0
  135. package/dist/modal.mjs +9 -0
  136. package/dist/number-value.d.mts +14 -0
  137. package/dist/number-value.d.ts +14 -0
  138. package/dist/number-value.js +67 -0
  139. package/dist/number-value.mjs +7 -0
  140. package/dist/onboarding-modal.d.mts +88 -0
  141. package/dist/onboarding-modal.d.ts +88 -0
  142. package/dist/onboarding-modal.js +2242 -0
  143. package/dist/onboarding-modal.mjs +24 -0
  144. package/dist/place-order.d.mts +20 -0
  145. package/dist/place-order.d.ts +20 -0
  146. package/dist/place-order.js +2916 -0
  147. package/dist/place-order.mjs +18 -0
  148. package/dist/registry-CVn79H3I.d.mts +106 -0
  149. package/dist/registry-CVn79H3I.d.ts +106 -0
  150. package/dist/search.d.mts +69 -0
  151. package/dist/search.d.ts +69 -0
  152. package/dist/search.js +1465 -0
  153. package/dist/search.mjs +12 -0
  154. package/dist/select.d.mts +19 -0
  155. package/dist/select.d.ts +19 -0
  156. package/dist/select.js +920 -0
  157. package/dist/select.mjs +11 -0
  158. package/dist/settlement.d.mts +16 -0
  159. package/dist/settlement.d.ts +16 -0
  160. package/dist/settlement.js +1769 -0
  161. package/dist/settlement.mjs +15 -0
  162. package/dist/skeleton.d.mts +22 -0
  163. package/dist/skeleton.d.ts +22 -0
  164. package/dist/skeleton.js +523 -0
  165. package/dist/skeleton.mjs +10 -0
  166. package/dist/styles.css +2 -0
  167. package/dist/switch-button.d.mts +21 -0
  168. package/dist/switch-button.d.ts +21 -0
  169. package/dist/switch-button.js +184 -0
  170. package/dist/switch-button.mjs +7 -0
  171. package/dist/tabs.d.mts +27 -0
  172. package/dist/tabs.d.ts +27 -0
  173. package/dist/tabs.js +1708 -0
  174. package/dist/tabs.mjs +12 -0
  175. package/dist/tailwind.css +2 -0
  176. package/dist/types-8VUuQVZq.d.mts +387 -0
  177. package/dist/types-8VUuQVZq.d.ts +387 -0
  178. package/dist/types-CayJ8tWA.d.mts +3 -0
  179. package/dist/types-CayJ8tWA.d.ts +3 -0
  180. package/dist/typography.d.mts +16 -0
  181. package/dist/typography.d.ts +16 -0
  182. package/dist/typography.js +62 -0
  183. package/dist/typography.mjs +7 -0
  184. package/dist/venue-logo.d.mts +12 -0
  185. package/dist/venue-logo.d.ts +12 -0
  186. package/dist/venue-logo.js +350 -0
  187. package/dist/venue-logo.mjs +10 -0
  188. package/dist/venue-logo.types-4hmCg3D3.d.ts +17 -0
  189. package/dist/venue-logo.types-B1iPJgiD.d.mts +17 -0
  190. package/dist/venue-logo.types-Bg8eXtGp.d.ts +17 -0
  191. package/dist/venue-logo.types-QNDwiQ77.d.mts +17 -0
  192. package/package.json +195 -0
@@ -0,0 +1,136 @@
1
+ import {
2
+ iconSizeClasses
3
+ } from "./chunk-C4OI72SM.mjs";
4
+ import {
5
+ __objRest,
6
+ __spreadProps,
7
+ __spreadValues,
8
+ cn,
9
+ getMotionClassName
10
+ } from "./chunk-GC3QIIH7.mjs";
11
+
12
+ // src/primitives/button/index.tsx
13
+ import { useSdkUiConfig } from "@agg-market/hooks";
14
+
15
+ // src/primitives/button/button.constants.ts
16
+ var sizeClasses = {
17
+ xxs: cn("h-6 px-2.5 gap-1", "text-agg-xs leading-agg-4"),
18
+ xs: cn("h-7 px-3 gap-1", "text-agg-xs leading-agg-4"),
19
+ s: cn("h-8 px-4 gap-1.5", "text-agg-sm leading-agg-5"),
20
+ m: cn("h-9 px-5 gap-1.5", "text-agg-sm leading-agg-5"),
21
+ l: cn("h-10 px-6 gap-2", "text-agg-base leading-agg-6"),
22
+ xl: cn("h-11 px-7 gap-2", "text-agg-base leading-agg-6"),
23
+ xxl: cn("h-12 px-8 gap-2", "text-agg-base leading-agg-6")
24
+ };
25
+ var iconSizeClasses2 = {
26
+ xxs: iconSizeClasses.xs,
27
+ xs: iconSizeClasses.xs,
28
+ s: iconSizeClasses.s,
29
+ m: iconSizeClasses.s,
30
+ l: iconSizeClasses.s,
31
+ xl: iconSizeClasses.s,
32
+ xxl: iconSizeClasses.s
33
+ };
34
+ var iconSlotClasses = {
35
+ xxs: "[&_svg]:h-3 [&_svg]:w-3",
36
+ xs: "[&_svg]:h-3 [&_svg]:w-3",
37
+ s: "[&_svg]:h-4 [&_svg]:w-4",
38
+ m: "[&_svg]:h-4 [&_svg]:w-4",
39
+ l: "[&_svg]:h-4 [&_svg]:w-4",
40
+ xl: "[&_svg]:h-4 [&_svg]:w-4",
41
+ xxl: "[&_svg]:h-4 [&_svg]:w-4"
42
+ };
43
+ var variantClasses = {
44
+ primary: cn(
45
+ "bg-agg-primary text-agg-on-primary",
46
+ "hover:bg-agg-primary-hover",
47
+ "disabled:bg-agg-separator disabled:text-agg-on-primary",
48
+ "focus-visible:ring-agg-primary-hover"
49
+ ),
50
+ secondary: cn(
51
+ "border border-agg-separator bg-agg-secondary text-agg-foreground",
52
+ "hover:bg-agg-secondary-hover",
53
+ "disabled:bg-agg-secondary disabled:text-agg-muted-foreground disabled:border-agg-separator",
54
+ "focus-visible:ring-agg-separator"
55
+ ),
56
+ tertiary: cn(
57
+ "bg-transparent text-agg-foreground",
58
+ "hover:bg-agg-secondary-hover",
59
+ "disabled:bg-transparent disabled:text-agg-muted-foreground",
60
+ "focus-visible:ring-agg-separator"
61
+ )
62
+ };
63
+ var baseButtonClasses = cn(
64
+ "cursor-pointer disabled:cursor-not-allowed",
65
+ "inline-flex items-center justify-center rounded-agg-full font-agg-sans font-agg-bold text-center",
66
+ "whitespace-nowrap",
67
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-agg-secondary"
68
+ );
69
+
70
+ // src/primitives/button/index.tsx
71
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
72
+ var Button = (_a) => {
73
+ var _b = _a, {
74
+ children,
75
+ variant = "primary",
76
+ size = "m",
77
+ isLoading = false,
78
+ disabled,
79
+ prefix,
80
+ suffix,
81
+ type = "button",
82
+ className,
83
+ "aria-label": ariaLabel
84
+ } = _b, other = __objRest(_b, [
85
+ "children",
86
+ "variant",
87
+ "size",
88
+ "isLoading",
89
+ "disabled",
90
+ "prefix",
91
+ "suffix",
92
+ "type",
93
+ "className",
94
+ "aria-label"
95
+ ]);
96
+ const { enableAnimations } = useSdkUiConfig();
97
+ const isDisabled = disabled || isLoading;
98
+ return /* @__PURE__ */ jsx(
99
+ "button",
100
+ __spreadProps(__spreadValues({
101
+ type,
102
+ className: cn(
103
+ baseButtonClasses,
104
+ getMotionClassName(enableAnimations, "transition-colors"),
105
+ sizeClasses[size],
106
+ iconSlotClasses[size],
107
+ variantClasses[variant],
108
+ className
109
+ ),
110
+ disabled: isDisabled,
111
+ "aria-busy": isLoading,
112
+ "aria-label": ariaLabel
113
+ }, other), {
114
+ children: isLoading ? /* @__PURE__ */ jsx(
115
+ "span",
116
+ {
117
+ className: cn(
118
+ "inline-block rounded-agg-full border-2 border-current border-r-transparent",
119
+ getMotionClassName(enableAnimations, "animate-spin"),
120
+ iconSizeClasses2[size]
121
+ ),
122
+ "aria-hidden": "true"
123
+ }
124
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
125
+ prefix != null ? prefix : null,
126
+ /* @__PURE__ */ jsx("span", { children }),
127
+ suffix != null ? suffix : null
128
+ ] })
129
+ })
130
+ );
131
+ };
132
+ Button.displayName = "Button";
133
+
134
+ export {
135
+ Button
136
+ };
@@ -0,0 +1,147 @@
1
+ import {
2
+ defaultSettlementDifferencesTitle,
3
+ defaultSettlementSectionLabel,
4
+ getTradingVenueLabel
5
+ } from "./chunk-KDBYDMYV.mjs";
6
+ import {
7
+ Skeleton,
8
+ skeletonViews
9
+ } from "./chunk-NFYS557L.mjs";
10
+ import {
11
+ VenueLogo
12
+ } from "./chunk-LY6474C4.mjs";
13
+ import {
14
+ Icon
15
+ } from "./chunk-DA6KZWSK.mjs";
16
+ import {
17
+ Card
18
+ } from "./chunk-YUIZZ6XE.mjs";
19
+ import {
20
+ cn
21
+ } from "./chunk-GC3QIIH7.mjs";
22
+
23
+ // src/trading/settlement/index.tsx
24
+ import { useEffect, useState } from "react";
25
+ import { useLabels } from "@agg-market/hooks";
26
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
27
+ var getSettlementHeaderClassName = () => {
28
+ return "flex items-center justify-between gap-4";
29
+ };
30
+ var Settlement = ({
31
+ sectionLabel = defaultSettlementSectionLabel,
32
+ question,
33
+ differencesTitle = defaultSettlementDifferencesTitle,
34
+ differences,
35
+ venues,
36
+ defaultExpandedVenue,
37
+ expandedVenue,
38
+ isLoading = false,
39
+ onExpandedVenueChange,
40
+ onShowMore,
41
+ className
42
+ }) => {
43
+ var _a, _b;
44
+ const labels = useLabels();
45
+ const resolvedSectionLabel = sectionLabel === defaultSettlementSectionLabel ? labels.trading.settlementSection : sectionLabel;
46
+ const resolvedDifferencesTitle = differencesTitle === defaultSettlementDifferencesTitle ? labels.trading.settlementDifferencesTitle : differencesTitle;
47
+ if (isLoading) {
48
+ return /* @__PURE__ */ jsx(
49
+ Skeleton,
50
+ {
51
+ ariaLabel: labels.trading.settlementLoading,
52
+ className,
53
+ view: skeletonViews.settlement
54
+ }
55
+ );
56
+ }
57
+ const [internalExpandedVenue, setInternalExpandedVenue] = (
58
+ // eslint-disable-next-line react-hooks/rules-of-hooks
59
+ useState((_b = defaultExpandedVenue != null ? defaultExpandedVenue : (_a = venues[0]) == null ? void 0 : _a.venue) != null ? _b : null)
60
+ );
61
+ useEffect(() => {
62
+ if (expandedVenue === void 0)
63
+ return;
64
+ setInternalExpandedVenue(expandedVenue);
65
+ }, [expandedVenue]);
66
+ const resolvedExpandedVenue = expandedVenue === void 0 ? internalExpandedVenue : expandedVenue;
67
+ const handleVenueClick = (venue) => {
68
+ const nextVenue = resolvedExpandedVenue === venue ? null : venue;
69
+ if (expandedVenue === void 0) {
70
+ setInternalExpandedVenue(nextVenue);
71
+ }
72
+ onExpandedVenueChange == null ? void 0 : onExpandedVenueChange(nextVenue);
73
+ };
74
+ return /* @__PURE__ */ jsxs(
75
+ Card,
76
+ {
77
+ className: cn(
78
+ "gap-5 rounded-agg-xl border border-agg-separator bg-agg-secondary p-5 shadow-none hover:shadow-none",
79
+ className
80
+ ),
81
+ children: [
82
+ /* @__PURE__ */ jsxs("div", { className: getSettlementHeaderClassName(), children: [
83
+ /* @__PURE__ */ jsx("p", { className: "text-agg-xs font-agg-bold leading-agg-4 uppercase text-agg-muted-foreground", children: resolvedSectionLabel }),
84
+ /* @__PURE__ */ jsx("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: question })
85
+ ] }),
86
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
87
+ /* @__PURE__ */ jsx("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: resolvedDifferencesTitle }),
88
+ /* @__PURE__ */ jsx("ul", { className: "list-disc pl-5 text-agg-sm leading-agg-5 text-agg-foreground", children: differences.map((difference) => /* @__PURE__ */ jsx("li", { children: difference }, difference)) })
89
+ ] }),
90
+ /* @__PURE__ */ jsx("div", { className: "h-px w-full bg-agg-separator" }),
91
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3", children: venues.map((venue) => {
92
+ const venueLabel = getTradingVenueLabel(venue.venue, venue.label);
93
+ const isExpanded = resolvedExpandedVenue === venue.venue;
94
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col", isExpanded ? "gap-2" : "gap-0"), children: [
95
+ /* @__PURE__ */ jsxs(
96
+ "button",
97
+ {
98
+ type: "button",
99
+ className: "flex items-center gap-2 text-left",
100
+ "aria-expanded": isExpanded,
101
+ "aria-label": labels.trading.settlementDetailsAria(venueLabel),
102
+ onClick: () => handleVenueClick(venue.venue),
103
+ children: [
104
+ /* @__PURE__ */ jsx(VenueLogo, { venue: venue.venue, size: "s", ariaLabel: venueLabel }),
105
+ /* @__PURE__ */ jsx("span", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: venueLabel }),
106
+ /* @__PURE__ */ jsx(
107
+ Icon,
108
+ {
109
+ name: isExpanded ? "chevron-up" : "chevron-down",
110
+ size: "s",
111
+ className: "text-agg-foreground",
112
+ color: "currentColor"
113
+ }
114
+ )
115
+ ]
116
+ }
117
+ ),
118
+ isExpanded ? /* @__PURE__ */ jsxs("p", { className: "text-agg-sm leading-agg-5 text-agg-foreground", children: [
119
+ venue.description,
120
+ venue.showMoreLabel ? /* @__PURE__ */ jsxs(Fragment, { children: [
121
+ " ",
122
+ /* @__PURE__ */ jsx(
123
+ "button",
124
+ {
125
+ type: "button",
126
+ className: "font-agg-normal text-agg-foreground underline-offset-2 hover:underline",
127
+ "aria-label": labels.trading.settlementShowMoreAria(
128
+ venue.showMoreLabel,
129
+ venueLabel
130
+ ),
131
+ onClick: () => onShowMore == null ? void 0 : onShowMore(venue.venue),
132
+ children: venue.showMoreLabel
133
+ }
134
+ )
135
+ ] }) : null
136
+ ] }) : null
137
+ ] }, venue.venue);
138
+ }) })
139
+ ]
140
+ }
141
+ );
142
+ };
143
+ Settlement.displayName = "Settlement";
144
+
145
+ export {
146
+ Settlement
147
+ };
@@ -0,0 +1,42 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-GC3QIIH7.mjs";
4
+
5
+ // src/primitives/number-value.tsx
6
+ import { useMemo } from "react";
7
+ import { useSdkUiConfig } from "@agg-market/hooks";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var NumberValue = ({
10
+ value,
11
+ format = "number",
12
+ fallback = "\u2014",
13
+ className,
14
+ ariaLabel
15
+ }) => {
16
+ const config = useSdkUiConfig();
17
+ const formatted = useMemo(() => {
18
+ if (value == null)
19
+ return fallback;
20
+ if (format === "date") {
21
+ if (value instanceof Date)
22
+ return config.formatDate(value);
23
+ return fallback;
24
+ }
25
+ if (typeof value !== "number")
26
+ return fallback;
27
+ if (format === "percent")
28
+ return config.formatPercent(value);
29
+ if (format === "currency")
30
+ return config.formatCurrency(value);
31
+ if (format === "compactCurrency") {
32
+ return config.formatCompactCurrency(value);
33
+ }
34
+ return config.formatNumber(value);
35
+ }, [config, fallback, format, value]);
36
+ return /* @__PURE__ */ jsx("span", { className: cn("font-agg-sans", className), "aria-label": ariaLabel, children: formatted });
37
+ };
38
+ NumberValue.displayName = "NumberValue";
39
+
40
+ export {
41
+ NumberValue
42
+ };