@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.
- package/dist/badge.d.mts +26 -0
- package/dist/badge.d.ts +26 -0
- package/dist/badge.js +70 -0
- package/dist/badge.mjs +9 -0
- package/dist/button.d.mts +20 -0
- package/dist/button.d.ts +20 -0
- package/dist/button.js +197 -0
- package/dist/button.mjs +8 -0
- package/dist/card.d.mts +8 -0
- package/dist/card.d.ts +8 -0
- package/dist/card.js +84 -0
- package/dist/card.mjs +7 -0
- package/dist/chart.d.mts +40 -0
- package/dist/chart.d.ts +40 -0
- package/dist/chart.js +418 -0
- package/dist/chart.mjs +8 -0
- package/dist/chunk-2PGUPOXY.mjs +285 -0
- package/dist/chunk-3DV3D2LH.mjs +155 -0
- package/dist/chunk-44UEI6KD.mjs +280 -0
- package/dist/chunk-4ADCXJE6.mjs +297 -0
- package/dist/chunk-4GSXVVSA.mjs +64 -0
- package/dist/chunk-4NK2FNAG.mjs +581 -0
- package/dist/chunk-4XWCYUV3.mjs +355 -0
- package/dist/chunk-5MN6ZNFA.mjs +355 -0
- package/dist/chunk-6RRBINER.mjs +50 -0
- package/dist/chunk-765JPQDG.mjs +280 -0
- package/dist/chunk-7CD7GIZC.mjs +850 -0
- package/dist/chunk-7XRKA6XF.mjs +462 -0
- package/dist/chunk-AOFP74IB.mjs +850 -0
- package/dist/chunk-BNDFQPHF.mjs +9 -0
- package/dist/chunk-C4OI72SM.mjs +14 -0
- package/dist/chunk-CB2MLGCJ.mjs +279 -0
- package/dist/chunk-CKTAVEW2.mjs +212 -0
- package/dist/chunk-DA6KZWSK.mjs +807 -0
- package/dist/chunk-DBD5GHHD.mjs +147 -0
- package/dist/chunk-DQ6XFBYJ.mjs +37 -0
- package/dist/chunk-FACIYUNK.mjs +217 -0
- package/dist/chunk-FUJQIYOF.mjs +37 -0
- package/dist/chunk-FZTAHWOS.mjs +82 -0
- package/dist/chunk-GC3QIIH7.mjs +112 -0
- package/dist/chunk-GPBLZGJ2.mjs +136 -0
- package/dist/chunk-H4LELROL.mjs +262 -0
- package/dist/chunk-H7P6DIX4.mjs +262 -0
- package/dist/chunk-H7YEBGYY.mjs +42 -0
- package/dist/chunk-HJOBAMDU.mjs +142 -0
- package/dist/chunk-IJG5I642.mjs +462 -0
- package/dist/chunk-IY2AA3OL.mjs +50 -0
- package/dist/chunk-J6L5BLKX.mjs +136 -0
- package/dist/chunk-J7OETCZ7.mjs +147 -0
- package/dist/chunk-JLLMIPIX.mjs +42 -0
- package/dist/chunk-KBRLFTJT.mjs +741 -0
- package/dist/chunk-KDBYDMYV.mjs +64 -0
- package/dist/chunk-L6E6Q4C4.mjs +217 -0
- package/dist/chunk-LY6474C4.mjs +297 -0
- package/dist/chunk-M23S2DVV.mjs +581 -0
- package/dist/chunk-MG243DSX.mjs +44 -0
- package/dist/chunk-MRHSN2B7.mjs +279 -0
- package/dist/chunk-MXWRCVRJ.mjs +285 -0
- package/dist/chunk-NFYS557L.mjs +481 -0
- package/dist/chunk-NNSY462N.mjs +212 -0
- package/dist/chunk-OUOIDPGX.mjs +25 -0
- package/dist/chunk-P5PFQX75.mjs +31 -0
- package/dist/chunk-P674XRDY.mjs +481 -0
- package/dist/chunk-PAQ542ER.mjs +170 -0
- package/dist/chunk-QE46DVJG.mjs +323 -0
- package/dist/chunk-QXFDXXDB.mjs +792 -0
- package/dist/chunk-R3DRVI4J.mjs +741 -0
- package/dist/chunk-TTOR7JCT.mjs +155 -0
- package/dist/chunk-V5WIYMKS.mjs +25 -0
- package/dist/chunk-VAZE267Q.mjs +82 -0
- package/dist/chunk-VLIJ7PQK.mjs +792 -0
- package/dist/chunk-VYNVBJK6.mjs +44 -0
- package/dist/chunk-WIWJ6DIE.mjs +323 -0
- package/dist/chunk-XDAEEJYR.mjs +142 -0
- package/dist/chunk-YUIZZ6XE.mjs +31 -0
- package/dist/connect-button.d.mts +40 -0
- package/dist/connect-button.d.ts +40 -0
- package/dist/connect-button.js +1815 -0
- package/dist/connect-button.mjs +14 -0
- package/dist/event-list-item-details.d.mts +11 -0
- package/dist/event-list-item-details.d.ts +11 -0
- package/dist/event-list-item-details.js +2140 -0
- package/dist/event-list-item-details.mjs +19 -0
- package/dist/event-list-item-details.types-CMbXOrT-.d.ts +53 -0
- package/dist/event-list-item-details.types-CxWr4Qn1.d.ts +53 -0
- package/dist/event-list-item-details.types-DRi99PZq.d.mts +53 -0
- package/dist/event-list-item-details.types-DekJKeMD.d.mts +53 -0
- package/dist/event-list-item.d.mts +10 -0
- package/dist/event-list-item.d.ts +10 -0
- package/dist/event-list-item.js +2097 -0
- package/dist/event-list-item.mjs +17 -0
- package/dist/event-list-item.types-B1490EQm.d.mts +46 -0
- package/dist/event-list-item.types-B1490EQm.d.ts +46 -0
- package/dist/event-list-item.types-Y6IeJ4e4.d.mts +46 -0
- package/dist/event-list-item.types-Y6IeJ4e4.d.ts +46 -0
- package/dist/event-list.d.mts +9 -0
- package/dist/event-list.d.ts +9 -0
- package/dist/event-list.js +3151 -0
- package/dist/event-list.mjs +20 -0
- package/dist/event-list.types-Bpp6Vn-t.d.mts +13 -0
- package/dist/event-list.types-Bpp6Vn-t.d.ts +13 -0
- package/dist/event-list.types-CkAAUqwW.d.mts +13 -0
- package/dist/event-list.types-CkAAUqwW.d.ts +13 -0
- package/dist/event-market-page.d.mts +52 -0
- package/dist/event-market-page.d.ts +52 -0
- package/dist/event-market-page.js +5369 -0
- package/dist/event-market-page.mjs +29 -0
- package/dist/hello-world.d.mts +8 -0
- package/dist/hello-world.d.ts +8 -0
- package/dist/hello-world.js +80 -0
- package/dist/hello-world.mjs +8 -0
- package/dist/home-page.d.mts +51 -0
- package/dist/home-page.d.ts +51 -0
- package/dist/home-page.js +3415 -0
- package/dist/home-page.mjs +21 -0
- package/dist/icon.d.mts +123 -0
- package/dist/icon.d.ts +123 -0
- package/dist/icon.js +922 -0
- package/dist/icon.mjs +57 -0
- package/dist/index.d.mts +70 -0
- package/dist/index.d.ts +70 -0
- package/dist/index.js +8184 -0
- package/dist/index.mjs +307 -0
- package/dist/loading-icon.d.mts +14 -0
- package/dist/loading-icon.d.ts +14 -0
- package/dist/loading-icon.js +115 -0
- package/dist/loading-icon.mjs +8 -0
- package/dist/market-details.d.mts +73 -0
- package/dist/market-details.d.ts +73 -0
- package/dist/market-details.js +3923 -0
- package/dist/market-details.mjs +22 -0
- package/dist/modal.d.mts +66 -0
- package/dist/modal.d.ts +66 -0
- package/dist/modal.js +317 -0
- package/dist/modal.mjs +9 -0
- package/dist/number-value.d.mts +14 -0
- package/dist/number-value.d.ts +14 -0
- package/dist/number-value.js +67 -0
- package/dist/number-value.mjs +7 -0
- package/dist/onboarding-modal.d.mts +88 -0
- package/dist/onboarding-modal.d.ts +88 -0
- package/dist/onboarding-modal.js +2242 -0
- package/dist/onboarding-modal.mjs +24 -0
- package/dist/place-order.d.mts +20 -0
- package/dist/place-order.d.ts +20 -0
- package/dist/place-order.js +2916 -0
- package/dist/place-order.mjs +18 -0
- package/dist/registry-CVn79H3I.d.mts +106 -0
- package/dist/registry-CVn79H3I.d.ts +106 -0
- package/dist/search.d.mts +69 -0
- package/dist/search.d.ts +69 -0
- package/dist/search.js +1465 -0
- package/dist/search.mjs +12 -0
- package/dist/select.d.mts +19 -0
- package/dist/select.d.ts +19 -0
- package/dist/select.js +920 -0
- package/dist/select.mjs +11 -0
- package/dist/settlement.d.mts +16 -0
- package/dist/settlement.d.ts +16 -0
- package/dist/settlement.js +1769 -0
- package/dist/settlement.mjs +15 -0
- package/dist/skeleton.d.mts +22 -0
- package/dist/skeleton.d.ts +22 -0
- package/dist/skeleton.js +523 -0
- package/dist/skeleton.mjs +10 -0
- package/dist/styles.css +2 -0
- package/dist/switch-button.d.mts +21 -0
- package/dist/switch-button.d.ts +21 -0
- package/dist/switch-button.js +184 -0
- package/dist/switch-button.mjs +7 -0
- package/dist/tabs.d.mts +27 -0
- package/dist/tabs.d.ts +27 -0
- package/dist/tabs.js +1708 -0
- package/dist/tabs.mjs +12 -0
- package/dist/tailwind.css +2 -0
- package/dist/types-8VUuQVZq.d.mts +387 -0
- package/dist/types-8VUuQVZq.d.ts +387 -0
- package/dist/types-CayJ8tWA.d.mts +3 -0
- package/dist/types-CayJ8tWA.d.ts +3 -0
- package/dist/typography.d.mts +16 -0
- package/dist/typography.d.ts +16 -0
- package/dist/typography.js +62 -0
- package/dist/typography.mjs +7 -0
- package/dist/venue-logo.d.mts +12 -0
- package/dist/venue-logo.d.ts +12 -0
- package/dist/venue-logo.js +350 -0
- package/dist/venue-logo.mjs +10 -0
- package/dist/venue-logo.types-4hmCg3D3.d.ts +17 -0
- package/dist/venue-logo.types-B1iPJgiD.d.mts +17 -0
- package/dist/venue-logo.types-Bg8eXtGp.d.ts +17 -0
- package/dist/venue-logo.types-QNDwiQ77.d.mts +17 -0
- package/package.json +195 -0
|
@@ -0,0 +1,2916 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defProps = Object.defineProperties;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
9
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
10
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
11
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
12
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
13
|
+
var __spreadValues = (a, b) => {
|
|
14
|
+
for (var prop in b || (b = {}))
|
|
15
|
+
if (__hasOwnProp.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
if (__getOwnPropSymbols)
|
|
18
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
19
|
+
if (__propIsEnum.call(b, prop))
|
|
20
|
+
__defNormalProp(a, prop, b[prop]);
|
|
21
|
+
}
|
|
22
|
+
return a;
|
|
23
|
+
};
|
|
24
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
25
|
+
var __objRest = (source, exclude) => {
|
|
26
|
+
var target = {};
|
|
27
|
+
for (var prop in source)
|
|
28
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
29
|
+
target[prop] = source[prop];
|
|
30
|
+
if (source != null && __getOwnPropSymbols)
|
|
31
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
32
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
33
|
+
target[prop] = source[prop];
|
|
34
|
+
}
|
|
35
|
+
return target;
|
|
36
|
+
};
|
|
37
|
+
var __export = (target, all) => {
|
|
38
|
+
for (var name in all)
|
|
39
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
40
|
+
};
|
|
41
|
+
var __copyProps = (to, from, except, desc) => {
|
|
42
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
43
|
+
for (let key of __getOwnPropNames(from))
|
|
44
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
45
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
46
|
+
}
|
|
47
|
+
return to;
|
|
48
|
+
};
|
|
49
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
50
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
51
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
52
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
53
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
54
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
55
|
+
mod
|
|
56
|
+
));
|
|
57
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
58
|
+
|
|
59
|
+
// src/trading/place-order/index.tsx
|
|
60
|
+
var place_order_exports = {};
|
|
61
|
+
__export(place_order_exports, {
|
|
62
|
+
PlaceOrder: () => PlaceOrder
|
|
63
|
+
});
|
|
64
|
+
module.exports = __toCommonJS(place_order_exports);
|
|
65
|
+
var import_react2 = require("react");
|
|
66
|
+
var import_hooks13 = require("@agg-market/hooks");
|
|
67
|
+
|
|
68
|
+
// src/primitives/button/index.tsx
|
|
69
|
+
var import_hooks = require("@agg-market/hooks");
|
|
70
|
+
|
|
71
|
+
// src/constants.ts
|
|
72
|
+
var AGG_ROOT_CLASS_NAME = "agg-root";
|
|
73
|
+
|
|
74
|
+
// src/shared/utils.ts
|
|
75
|
+
var cn = (...values) => values.filter(Boolean).join(" ");
|
|
76
|
+
var getMotionClassName = (enabled, ...values) => {
|
|
77
|
+
if (!enabled)
|
|
78
|
+
return void 0;
|
|
79
|
+
return cn(...values);
|
|
80
|
+
};
|
|
81
|
+
var getScrollBehavior = (enabled) => {
|
|
82
|
+
return enabled ? "smooth" : "auto";
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
// src/primitives/icon/icon.constants.ts
|
|
86
|
+
var iconSizeClasses = {
|
|
87
|
+
xxs: "h-2 w-2",
|
|
88
|
+
xs: "h-3 w-3",
|
|
89
|
+
s: "h-4 w-4",
|
|
90
|
+
m: "h-6 w-6",
|
|
91
|
+
l: "h-8 w-8",
|
|
92
|
+
xl: "h-10 w-10",
|
|
93
|
+
xxl: "h-12 w-12"
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
// src/primitives/button/button.constants.ts
|
|
97
|
+
var sizeClasses = {
|
|
98
|
+
xxs: cn("h-6 px-2.5 gap-1", "text-agg-xs leading-agg-4"),
|
|
99
|
+
xs: cn("h-7 px-3 gap-1", "text-agg-xs leading-agg-4"),
|
|
100
|
+
s: cn("h-8 px-4 gap-1.5", "text-agg-sm leading-agg-5"),
|
|
101
|
+
m: cn("h-9 px-5 gap-1.5", "text-agg-sm leading-agg-5"),
|
|
102
|
+
l: cn("h-10 px-6 gap-2", "text-agg-base leading-agg-6"),
|
|
103
|
+
xl: cn("h-11 px-7 gap-2", "text-agg-base leading-agg-6"),
|
|
104
|
+
xxl: cn("h-12 px-8 gap-2", "text-agg-base leading-agg-6")
|
|
105
|
+
};
|
|
106
|
+
var iconSizeClasses2 = {
|
|
107
|
+
xxs: iconSizeClasses.xs,
|
|
108
|
+
xs: iconSizeClasses.xs,
|
|
109
|
+
s: iconSizeClasses.s,
|
|
110
|
+
m: iconSizeClasses.s,
|
|
111
|
+
l: iconSizeClasses.s,
|
|
112
|
+
xl: iconSizeClasses.s,
|
|
113
|
+
xxl: iconSizeClasses.s
|
|
114
|
+
};
|
|
115
|
+
var iconSlotClasses = {
|
|
116
|
+
xxs: "[&_svg]:h-3 [&_svg]:w-3",
|
|
117
|
+
xs: "[&_svg]:h-3 [&_svg]:w-3",
|
|
118
|
+
s: "[&_svg]:h-4 [&_svg]:w-4",
|
|
119
|
+
m: "[&_svg]:h-4 [&_svg]:w-4",
|
|
120
|
+
l: "[&_svg]:h-4 [&_svg]:w-4",
|
|
121
|
+
xl: "[&_svg]:h-4 [&_svg]:w-4",
|
|
122
|
+
xxl: "[&_svg]:h-4 [&_svg]:w-4"
|
|
123
|
+
};
|
|
124
|
+
var variantClasses = {
|
|
125
|
+
primary: cn(
|
|
126
|
+
"bg-agg-primary text-agg-on-primary",
|
|
127
|
+
"hover:bg-agg-primary-hover",
|
|
128
|
+
"disabled:bg-agg-separator disabled:text-agg-on-primary",
|
|
129
|
+
"focus-visible:ring-agg-primary-hover"
|
|
130
|
+
),
|
|
131
|
+
secondary: cn(
|
|
132
|
+
"border border-agg-separator bg-agg-secondary text-agg-foreground",
|
|
133
|
+
"hover:bg-agg-secondary-hover",
|
|
134
|
+
"disabled:bg-agg-secondary disabled:text-agg-muted-foreground disabled:border-agg-separator",
|
|
135
|
+
"focus-visible:ring-agg-separator"
|
|
136
|
+
),
|
|
137
|
+
tertiary: cn(
|
|
138
|
+
"bg-transparent text-agg-foreground",
|
|
139
|
+
"hover:bg-agg-secondary-hover",
|
|
140
|
+
"disabled:bg-transparent disabled:text-agg-muted-foreground",
|
|
141
|
+
"focus-visible:ring-agg-separator"
|
|
142
|
+
)
|
|
143
|
+
};
|
|
144
|
+
var baseButtonClasses = cn(
|
|
145
|
+
"cursor-pointer disabled:cursor-not-allowed",
|
|
146
|
+
"inline-flex items-center justify-center rounded-agg-full font-agg-sans font-agg-bold text-center",
|
|
147
|
+
"whitespace-nowrap",
|
|
148
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-agg-secondary"
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
// src/primitives/button/index.tsx
|
|
152
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
153
|
+
var Button = (_a) => {
|
|
154
|
+
var _b = _a, {
|
|
155
|
+
children,
|
|
156
|
+
variant = "primary",
|
|
157
|
+
size = "m",
|
|
158
|
+
isLoading = false,
|
|
159
|
+
disabled,
|
|
160
|
+
prefix,
|
|
161
|
+
suffix,
|
|
162
|
+
type = "button",
|
|
163
|
+
className,
|
|
164
|
+
"aria-label": ariaLabel
|
|
165
|
+
} = _b, other = __objRest(_b, [
|
|
166
|
+
"children",
|
|
167
|
+
"variant",
|
|
168
|
+
"size",
|
|
169
|
+
"isLoading",
|
|
170
|
+
"disabled",
|
|
171
|
+
"prefix",
|
|
172
|
+
"suffix",
|
|
173
|
+
"type",
|
|
174
|
+
"className",
|
|
175
|
+
"aria-label"
|
|
176
|
+
]);
|
|
177
|
+
const { enableAnimations } = (0, import_hooks.useSdkUiConfig)();
|
|
178
|
+
const isDisabled = disabled || isLoading;
|
|
179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
180
|
+
"button",
|
|
181
|
+
__spreadProps(__spreadValues({
|
|
182
|
+
type,
|
|
183
|
+
className: cn(
|
|
184
|
+
baseButtonClasses,
|
|
185
|
+
getMotionClassName(enableAnimations, "transition-colors"),
|
|
186
|
+
sizeClasses[size],
|
|
187
|
+
iconSlotClasses[size],
|
|
188
|
+
variantClasses[variant],
|
|
189
|
+
className
|
|
190
|
+
),
|
|
191
|
+
disabled: isDisabled,
|
|
192
|
+
"aria-busy": isLoading,
|
|
193
|
+
"aria-label": ariaLabel
|
|
194
|
+
}, other), {
|
|
195
|
+
children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
196
|
+
"span",
|
|
197
|
+
{
|
|
198
|
+
className: cn(
|
|
199
|
+
"inline-block rounded-agg-full border-2 border-current border-r-transparent",
|
|
200
|
+
getMotionClassName(enableAnimations, "animate-spin"),
|
|
201
|
+
iconSizeClasses2[size]
|
|
202
|
+
),
|
|
203
|
+
"aria-hidden": "true"
|
|
204
|
+
}
|
|
205
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
206
|
+
prefix != null ? prefix : null,
|
|
207
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children }),
|
|
208
|
+
suffix != null ? suffix : null
|
|
209
|
+
] })
|
|
210
|
+
})
|
|
211
|
+
);
|
|
212
|
+
};
|
|
213
|
+
Button.displayName = "Button";
|
|
214
|
+
|
|
215
|
+
// src/primitives/card/index.tsx
|
|
216
|
+
var import_hooks2 = require("@agg-market/hooks");
|
|
217
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
218
|
+
var Card = (_a) => {
|
|
219
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
220
|
+
const { enableAnimations } = (0, import_hooks2.useSdkUiConfig)();
|
|
221
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
222
|
+
"div",
|
|
223
|
+
__spreadValues({
|
|
224
|
+
className: cn(
|
|
225
|
+
"flex w-full flex-col font-agg-sans",
|
|
226
|
+
"rounded-agg-xl border border-agg-separator",
|
|
227
|
+
"bg-agg-secondary text-agg-foreground shadow-agg-card",
|
|
228
|
+
getMotionClassName(enableAnimations, "transition-shadow hover:shadow-agg-card-hover"),
|
|
229
|
+
className
|
|
230
|
+
)
|
|
231
|
+
}, props)
|
|
232
|
+
);
|
|
233
|
+
};
|
|
234
|
+
Card.displayName = "Card";
|
|
235
|
+
|
|
236
|
+
// src/primitives/icon/types.ts
|
|
237
|
+
var getIconA11yProps = (title) => ({
|
|
238
|
+
role: title ? "img" : "presentation",
|
|
239
|
+
"aria-hidden": title ? void 0 : true
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
// src/primitives/icon/svg/arrow-trend-up.tsx
|
|
243
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
244
|
+
var ArrowTrendUpIcon = (_a) => {
|
|
245
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
246
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
247
|
+
"svg",
|
|
248
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
249
|
+
viewBox: "0 0 16 16",
|
|
250
|
+
className,
|
|
251
|
+
fill: "none"
|
|
252
|
+
}, getIconA11yProps(title)), props), {
|
|
253
|
+
children: [
|
|
254
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("title", { children: title }) : null,
|
|
255
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
256
|
+
"path",
|
|
257
|
+
{
|
|
258
|
+
d: "M2 11.5L6.5 7L9.5 10L14 5.5",
|
|
259
|
+
stroke: "currentColor",
|
|
260
|
+
strokeWidth: "1.5",
|
|
261
|
+
strokeLinecap: "round",
|
|
262
|
+
strokeLinejoin: "round"
|
|
263
|
+
}
|
|
264
|
+
),
|
|
265
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
266
|
+
"path",
|
|
267
|
+
{
|
|
268
|
+
d: "M10.5 5.5H14V9",
|
|
269
|
+
stroke: "currentColor",
|
|
270
|
+
strokeWidth: "1.5",
|
|
271
|
+
strokeLinecap: "round",
|
|
272
|
+
strokeLinejoin: "round"
|
|
273
|
+
}
|
|
274
|
+
)
|
|
275
|
+
]
|
|
276
|
+
})
|
|
277
|
+
);
|
|
278
|
+
};
|
|
279
|
+
ArrowTrendUpIcon.displayName = "ArrowTrendUpIcon";
|
|
280
|
+
|
|
281
|
+
// src/primitives/icon/svg/arrows-to-dot.tsx
|
|
282
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
283
|
+
var ArrowsToDotIcon = (_a) => {
|
|
284
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
285
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
286
|
+
"svg",
|
|
287
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
288
|
+
viewBox: "0 0 16 16",
|
|
289
|
+
className,
|
|
290
|
+
fill: "none"
|
|
291
|
+
}, getIconA11yProps(title)), props), {
|
|
292
|
+
children: [
|
|
293
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("title", { children: title }) : null,
|
|
294
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
295
|
+
"path",
|
|
296
|
+
{
|
|
297
|
+
d: "M8 2V5M8 11V14M2 8H5M11 8H14M3.76 3.76L5.9 5.9M10.1 10.1L12.24 12.24M12.24 3.76L10.1 5.9M5.9 10.1L3.76 12.24",
|
|
298
|
+
stroke: "currentColor",
|
|
299
|
+
strokeWidth: "1.25",
|
|
300
|
+
strokeLinecap: "round",
|
|
301
|
+
strokeLinejoin: "round"
|
|
302
|
+
}
|
|
303
|
+
),
|
|
304
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "8", cy: "8", r: "1.5", fill: "currentColor" })
|
|
305
|
+
]
|
|
306
|
+
})
|
|
307
|
+
);
|
|
308
|
+
};
|
|
309
|
+
ArrowsToDotIcon.displayName = "ArrowsToDotIcon";
|
|
310
|
+
|
|
311
|
+
// src/primitives/icon/svg/best-prices.tsx
|
|
312
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
313
|
+
var BestPricesIcon = (_a) => {
|
|
314
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
316
|
+
"svg",
|
|
317
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
318
|
+
width: "28",
|
|
319
|
+
height: "28",
|
|
320
|
+
viewBox: "0 0 28 28",
|
|
321
|
+
fill: "none",
|
|
322
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
323
|
+
className
|
|
324
|
+
}, getIconA11yProps(title)), props), {
|
|
325
|
+
children: [
|
|
326
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("title", { children: title }) : null,
|
|
327
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("g", { clipPath: "url(#clip0_best_prices)", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
328
|
+
"path",
|
|
329
|
+
{
|
|
330
|
+
d: "M12.8333 27.4167C12.8333 27.7387 12.572 28 12.25 28H5.25C2.3555 28 0 25.6445 0 22.75V5.25117C0 2.35667 2.35433 0 5.25 0H18.0833C20.9778 0 23.3333 2.35433 23.3333 5.24883V8.74883C23.3333 9.07083 23.0732 9.33217 22.75 9.33217C22.4268 9.33217 22.1667 9.07083 22.1667 8.74883V5.24883C22.1667 2.99717 20.3338 1.1655 18.0833 1.1655H5.25C2.99833 1.1655 1.16667 2.99833 1.16667 5.25V22.7488C1.16667 25.0005 2.9995 26.8322 5.25 26.8322H12.25C12.572 26.8322 12.8333 27.0947 12.8333 27.4167ZM27.8297 27.8297C27.7153 27.944 27.566 28 27.4167 28C27.2673 28 27.118 27.9428 27.0037 27.8297L23.0102 23.8362C21.6837 24.9748 19.964 25.6667 18.0822 25.6667C13.9008 25.6667 10.4988 22.2647 10.4988 18.0833C10.4988 13.902 13.9008 10.5 18.0822 10.5C22.2635 10.5 25.6655 13.902 25.6655 18.0833C25.6655 19.964 24.9725 21.6837 23.835 23.0113L27.8285 27.0048C28.056 27.2323 28.0572 27.6022 27.8297 27.8297ZM24.5 18.0833C24.5 14.546 21.6218 11.6667 18.0833 11.6667C14.5448 11.6667 11.6667 14.546 11.6667 18.0833C11.6667 21.6207 14.5448 24.5 18.0833 24.5C21.6218 24.5 24.5 21.6207 24.5 18.0833ZM7.58333 5.83333H5.25C4.928 5.83333 4.66667 6.09467 4.66667 6.41667C4.66667 6.73867 4.928 7 5.25 7H7.58333C7.90533 7 8.16667 6.73867 8.16667 6.41667C8.16667 6.09467 7.90533 5.83333 7.58333 5.83333ZM7.58333 17.5H5.25C4.928 17.5 4.66667 17.7613 4.66667 18.0833C4.66667 18.4053 4.928 18.6667 5.25 18.6667H7.58333C7.90533 18.6667 8.16667 18.4053 8.16667 18.0833C8.16667 17.7613 7.90533 17.5 7.58333 17.5ZM11.0833 5.83333C10.7613 5.83333 10.5 6.09467 10.5 6.41667C10.5 6.73867 10.7613 7 11.0833 7H18.0833C18.4053 7 18.6667 6.73867 18.6667 6.41667C18.6667 6.09467 18.4053 5.83333 18.0833 5.83333H11.0833ZM7.58333 11.6667H5.25C4.928 11.6667 4.66667 11.928 4.66667 12.25C4.66667 12.572 4.928 12.8333 5.25 12.8333H7.58333C7.90533 12.8333 8.16667 12.572 8.16667 12.25C8.16667 11.928 7.90533 11.6667 7.58333 11.6667ZM21.1668 16.4862L18.0098 19.5405C17.6167 19.9255 16.9762 19.9302 16.583 19.5452L14.9928 17.976C14.7642 17.7497 14.3943 17.752 14.168 17.9807C13.9417 18.2105 13.944 18.5803 14.1738 18.8055L15.7652 20.377C16.1875 20.79 16.7417 20.9965 17.2958 20.9965C17.85 20.9965 18.4053 20.7888 18.8253 20.3747L21.9788 17.325C22.2098 17.101 22.2168 16.7312 21.9928 16.5002C21.77 16.2692 21.399 16.2645 21.1668 16.4862Z",
|
|
331
|
+
fill: "currentColor"
|
|
332
|
+
}
|
|
333
|
+
) }),
|
|
334
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("clipPath", { id: "clip0_best_prices", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { width: "28", height: "28", fill: "white" }) }) })
|
|
335
|
+
]
|
|
336
|
+
})
|
|
337
|
+
);
|
|
338
|
+
};
|
|
339
|
+
BestPricesIcon.displayName = "BestPricesIcon";
|
|
340
|
+
|
|
341
|
+
// src/primitives/icon/svg/check-circle.tsx
|
|
342
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
343
|
+
var CheckCircleIcon = (_a) => {
|
|
344
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
346
|
+
"svg",
|
|
347
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
348
|
+
width: "24",
|
|
349
|
+
height: "24",
|
|
350
|
+
viewBox: "0 0 24 24",
|
|
351
|
+
fill: "none",
|
|
352
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
353
|
+
className
|
|
354
|
+
}, getIconA11yProps(title)), props), {
|
|
355
|
+
children: [
|
|
356
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("title", { children: title }) : null,
|
|
357
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("g", { clipPath: "url(#clip0_check_circle)", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
358
|
+
"path",
|
|
359
|
+
{
|
|
360
|
+
d: "M12 0C5.383 0 0 5.383 0 12C0 18.617 5.383 24 12 24C18.617 24 24 18.617 24 12C24 5.383 18.617 0 12 0ZM18.2 10.512L13.774 14.857C12.991 15.625 11.983 16.008 10.974 16.008C9.976 16.008 8.978 15.632 8.198 14.879L6.299 13.012C5.905 12.625 5.9 11.992 6.287 11.598C6.673 11.203 7.308 11.198 7.701 11.586L9.594 13.447C10.37 14.197 11.595 14.193 12.375 13.429L16.8 9.085C17.193 8.697 17.824 8.704 18.214 9.098C18.601 9.492 18.595 10.125 18.2 10.512Z",
|
|
361
|
+
fill: "currentColor"
|
|
362
|
+
}
|
|
363
|
+
) }),
|
|
364
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("clipPath", { id: "clip0_check_circle", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("rect", { width: "24", height: "24", fill: "white" }) }) })
|
|
365
|
+
]
|
|
366
|
+
})
|
|
367
|
+
);
|
|
368
|
+
};
|
|
369
|
+
CheckCircleIcon.displayName = "CheckCircleIcon";
|
|
370
|
+
|
|
371
|
+
// src/primitives/icon/svg/chevron-down.tsx
|
|
372
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
373
|
+
var ChevronDownIcon = (_a) => {
|
|
374
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
376
|
+
"svg",
|
|
377
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
378
|
+
viewBox: "0 0 14 14",
|
|
379
|
+
className,
|
|
380
|
+
fill: "none"
|
|
381
|
+
}, getIconA11yProps(title)), props), {
|
|
382
|
+
children: [
|
|
383
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("title", { children: title }) : null,
|
|
384
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
385
|
+
"path",
|
|
386
|
+
{
|
|
387
|
+
d: "M3.25 5.25L7 9L10.75 5.25",
|
|
388
|
+
stroke: "currentColor",
|
|
389
|
+
strokeWidth: "1.5",
|
|
390
|
+
strokeLinecap: "round",
|
|
391
|
+
strokeLinejoin: "round"
|
|
392
|
+
}
|
|
393
|
+
)
|
|
394
|
+
]
|
|
395
|
+
})
|
|
396
|
+
);
|
|
397
|
+
};
|
|
398
|
+
ChevronDownIcon.displayName = "ChevronDownIcon";
|
|
399
|
+
|
|
400
|
+
// src/primitives/icon/svg/chevron-right.tsx
|
|
401
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
402
|
+
var ChevronRightIcon = (_a) => {
|
|
403
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
404
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
405
|
+
"svg",
|
|
406
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
407
|
+
viewBox: "0 0 16 16",
|
|
408
|
+
className,
|
|
409
|
+
fill: "none"
|
|
410
|
+
}, getIconA11yProps(title)), props), {
|
|
411
|
+
children: [
|
|
412
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("title", { children: title }) : null,
|
|
413
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
414
|
+
"path",
|
|
415
|
+
{
|
|
416
|
+
d: "M10.2665 6.56563L7.20654 3.50563C7.08163 3.38146 6.91266 3.31177 6.73653 3.31177C6.56041 3.31177 6.39144 3.38146 6.26653 3.50563C6.20405 3.5676 6.15445 3.64134 6.12061 3.72258C6.08676 3.80382 6.06934 3.89095 6.06934 3.97896C6.06934 4.06697 6.08676 4.15411 6.12061 4.23535C6.15445 4.31659 6.20405 4.39032 6.26653 4.4523L9.3332 7.50563C9.39569 7.5676 9.44528 7.64134 9.47913 7.72258C9.51298 7.80382 9.5304 7.89095 9.5304 7.97896C9.5304 8.06697 9.51298 8.15411 9.47913 8.23535C9.44528 8.31659 9.39569 8.39032 9.3332 8.4523L6.26653 11.5056C6.141 11.6303 6.07012 11.7997 6.0695 11.9766C6.06887 12.1535 6.13855 12.3234 6.2632 12.449C6.38785 12.5745 6.55727 12.6454 6.73418 12.646C6.91109 12.6466 7.081 12.5769 7.20654 12.4523L10.2665 9.3923C10.6411 9.0173 10.8514 8.50896 10.8514 7.97896C10.8514 7.44896 10.6411 6.94063 10.2665 6.56563Z",
|
|
417
|
+
fill: "currentColor"
|
|
418
|
+
}
|
|
419
|
+
)
|
|
420
|
+
]
|
|
421
|
+
})
|
|
422
|
+
);
|
|
423
|
+
};
|
|
424
|
+
ChevronRightIcon.displayName = "ChevronRightIcon";
|
|
425
|
+
|
|
426
|
+
// src/primitives/icon/svg/chevron-up.tsx
|
|
427
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
428
|
+
var ChevronUpIcon = (_a) => {
|
|
429
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
430
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
431
|
+
"svg",
|
|
432
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
433
|
+
viewBox: "0 0 14 14",
|
|
434
|
+
className,
|
|
435
|
+
fill: "none"
|
|
436
|
+
}, getIconA11yProps(title)), props), {
|
|
437
|
+
children: [
|
|
438
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("title", { children: title }) : null,
|
|
439
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
440
|
+
"path",
|
|
441
|
+
{
|
|
442
|
+
d: "M3.25 8.75L7 5L10.75 8.75",
|
|
443
|
+
stroke: "currentColor",
|
|
444
|
+
strokeWidth: "1.5",
|
|
445
|
+
strokeLinecap: "round",
|
|
446
|
+
strokeLinejoin: "round"
|
|
447
|
+
}
|
|
448
|
+
)
|
|
449
|
+
]
|
|
450
|
+
})
|
|
451
|
+
);
|
|
452
|
+
};
|
|
453
|
+
ChevronUpIcon.displayName = "ChevronUpIcon";
|
|
454
|
+
|
|
455
|
+
// src/primitives/icon/svg/close.tsx
|
|
456
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
457
|
+
var CloseIcon = (_a) => {
|
|
458
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
459
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
460
|
+
"svg",
|
|
461
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
462
|
+
width: "16",
|
|
463
|
+
height: "16",
|
|
464
|
+
viewBox: "0 0 16 16",
|
|
465
|
+
fill: "none",
|
|
466
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
467
|
+
className
|
|
468
|
+
}, getIconA11yProps(title)), props), {
|
|
469
|
+
children: [
|
|
470
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("title", { children: title }) : null,
|
|
471
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
472
|
+
"path",
|
|
473
|
+
{
|
|
474
|
+
d: "M12 4L4 12M4 4l8 8",
|
|
475
|
+
stroke: "currentColor",
|
|
476
|
+
strokeWidth: "2",
|
|
477
|
+
strokeLinecap: "round",
|
|
478
|
+
strokeLinejoin: "round"
|
|
479
|
+
}
|
|
480
|
+
)
|
|
481
|
+
]
|
|
482
|
+
})
|
|
483
|
+
);
|
|
484
|
+
};
|
|
485
|
+
CloseIcon.displayName = "CloseIcon";
|
|
486
|
+
|
|
487
|
+
// src/primitives/icon/svg/create-account.tsx
|
|
488
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
489
|
+
var CreateAccountIcon = (_a) => {
|
|
490
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
492
|
+
"svg",
|
|
493
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
494
|
+
width: "28",
|
|
495
|
+
height: "28",
|
|
496
|
+
viewBox: "0 0 28 28",
|
|
497
|
+
fill: "none",
|
|
498
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
499
|
+
className
|
|
500
|
+
}, getIconA11yProps(title)), props), {
|
|
501
|
+
children: [
|
|
502
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("title", { children: title }) : null,
|
|
503
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("g", { clipPath: "url(#clip0_create_account)", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
504
|
+
"path",
|
|
505
|
+
{
|
|
506
|
+
d: "M22.1667 4.66667V0.583333C22.1667 0.261333 22.428 0 22.75 0C23.072 0 23.3333 0.261333 23.3333 0.583333V4.66667H27.4167C27.7387 4.66667 28 4.928 28 5.25C28 5.572 27.7387 5.83333 27.4167 5.83333H23.3333V9.91667C23.3333 10.2387 23.072 10.5 22.75 10.5C22.428 10.5 22.1667 10.2387 22.1667 9.91667V5.83333H18.0833C17.7613 5.83333 17.5 5.572 17.5 5.25C17.5 4.928 17.7613 4.66667 18.0833 4.66667H22.1667ZM18.6667 11.6667C18.6667 14.2403 16.5737 16.3333 14 16.3333C11.4263 16.3333 9.33333 14.2403 9.33333 11.6667C9.33333 9.093 11.4263 7 14 7C16.5737 7 18.6667 9.093 18.6667 11.6667ZM17.5 11.6667C17.5 9.737 15.9297 8.16667 14 8.16667C12.0703 8.16667 10.5 9.737 10.5 11.6667C10.5 13.5963 12.0703 15.1667 14 15.1667C15.9297 15.1667 17.5 13.5963 17.5 11.6667ZM27.3922 9.90617C27.7958 11.2292 28 12.6058 28 14C28 21.7198 21.7198 28 14 28C6.28017 28 0 21.7198 0 14C0 6.28017 6.28017 0 14 0C15.4548 0 16.8898 0.221667 18.2607 0.660333C18.5675 0.758333 18.7367 1.08617 18.6387 1.393C18.5395 1.69983 18.2105 1.87017 17.9048 1.771C16.6483 1.36967 15.3335 1.1655 13.9988 1.1655C6.92417 1.16667 1.16667 6.92417 1.16667 14C1.16667 18.5197 3.521 22.4933 7.063 24.78C7.5005 21.3383 10.4417 18.6667 14 18.6667C17.5583 18.6667 20.4995 21.3383 20.937 24.78C24.4778 22.4933 26.8333 18.5197 26.8333 14C26.8333 12.7213 26.6467 11.459 26.2757 10.2468C26.1823 9.93883 26.355 9.61217 26.6642 9.51883C26.9722 9.422 27.2977 9.59933 27.3922 9.90617ZM14 26.8333C16.0918 26.8333 18.0623 26.32 19.8088 25.4287C19.6805 22.3253 17.1348 19.8333 14 19.8333C10.8652 19.8333 8.31833 22.3242 8.19117 25.4287C9.93767 26.32 11.9082 26.8333 14 26.8333Z",
|
|
507
|
+
fill: "currentColor"
|
|
508
|
+
}
|
|
509
|
+
) }),
|
|
510
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("clipPath", { id: "clip0_create_account", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("rect", { width: "28", height: "28", fill: "white" }) }) })
|
|
511
|
+
]
|
|
512
|
+
})
|
|
513
|
+
);
|
|
514
|
+
};
|
|
515
|
+
CreateAccountIcon.displayName = "CreateAccountIcon";
|
|
516
|
+
|
|
517
|
+
// src/primitives/icon/svg/disconnect.tsx
|
|
518
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
519
|
+
var DisconnectIcon = (_a) => {
|
|
520
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
521
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
522
|
+
"svg",
|
|
523
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
524
|
+
viewBox: "0 0 16 16",
|
|
525
|
+
className,
|
|
526
|
+
fill: "none"
|
|
527
|
+
}, getIconA11yProps(title)), props), {
|
|
528
|
+
children: [
|
|
529
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("title", { children: title }) : null,
|
|
530
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
531
|
+
"path",
|
|
532
|
+
{
|
|
533
|
+
d: "M6.5 3H4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2.5",
|
|
534
|
+
stroke: "currentColor",
|
|
535
|
+
strokeWidth: "1.5",
|
|
536
|
+
strokeLinecap: "round"
|
|
537
|
+
}
|
|
538
|
+
),
|
|
539
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
540
|
+
"path",
|
|
541
|
+
{
|
|
542
|
+
d: "M9.5 5.5 12 8m0 0-2.5 2.5M12 8H6",
|
|
543
|
+
stroke: "currentColor",
|
|
544
|
+
strokeWidth: "1.5",
|
|
545
|
+
strokeLinecap: "round",
|
|
546
|
+
strokeLinejoin: "round"
|
|
547
|
+
}
|
|
548
|
+
)
|
|
549
|
+
]
|
|
550
|
+
})
|
|
551
|
+
);
|
|
552
|
+
};
|
|
553
|
+
DisconnectIcon.displayName = "DisconnectIcon";
|
|
554
|
+
|
|
555
|
+
// src/primitives/icon/svg/download.tsx
|
|
556
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
557
|
+
var DownloadIcon = (_a) => {
|
|
558
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
559
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
560
|
+
"svg",
|
|
561
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
562
|
+
viewBox: "0 0 16 16",
|
|
563
|
+
className,
|
|
564
|
+
fill: "none"
|
|
565
|
+
}, getIconA11yProps(title)), props), {
|
|
566
|
+
children: [
|
|
567
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("title", { children: title }) : null,
|
|
568
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
569
|
+
"path",
|
|
570
|
+
{
|
|
571
|
+
d: "M8 2.5v7m0 0 2.5-2.5M8 9.5 5.5 7",
|
|
572
|
+
stroke: "currentColor",
|
|
573
|
+
strokeWidth: "1.5",
|
|
574
|
+
strokeLinecap: "round",
|
|
575
|
+
strokeLinejoin: "round"
|
|
576
|
+
}
|
|
577
|
+
),
|
|
578
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("path", { d: "M2.5 12.5h11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
|
|
579
|
+
]
|
|
580
|
+
})
|
|
581
|
+
);
|
|
582
|
+
};
|
|
583
|
+
DownloadIcon.displayName = "DownloadIcon";
|
|
584
|
+
|
|
585
|
+
// src/primitives/icon/svg/dots-horizontal.tsx
|
|
586
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
587
|
+
var DotsHorizontalIcon = (_a) => {
|
|
588
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
589
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
590
|
+
"svg",
|
|
591
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
592
|
+
viewBox: "0 0 16 16",
|
|
593
|
+
className,
|
|
594
|
+
fill: "none"
|
|
595
|
+
}, getIconA11yProps(title)), props), {
|
|
596
|
+
children: [
|
|
597
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("title", { children: title }) : null,
|
|
598
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("circle", { cx: "3.5", cy: "8", r: "1.25", fill: "currentColor" }),
|
|
599
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("circle", { cx: "8", cy: "8", r: "1.25", fill: "currentColor" }),
|
|
600
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("circle", { cx: "12.5", cy: "8", r: "1.25", fill: "currentColor" })
|
|
601
|
+
]
|
|
602
|
+
})
|
|
603
|
+
);
|
|
604
|
+
};
|
|
605
|
+
DotsHorizontalIcon.displayName = "DotsHorizontalIcon";
|
|
606
|
+
|
|
607
|
+
// src/primitives/icon/svg/link-accounts.tsx
|
|
608
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
609
|
+
var LinkAccountsIcon = (_a) => {
|
|
610
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
611
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
612
|
+
"svg",
|
|
613
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
614
|
+
width: "28",
|
|
615
|
+
height: "28",
|
|
616
|
+
viewBox: "0 0 28 28",
|
|
617
|
+
fill: "none",
|
|
618
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
619
|
+
className
|
|
620
|
+
}, getIconA11yProps(title)), props), {
|
|
621
|
+
children: [
|
|
622
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("title", { children: title }) : null,
|
|
623
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("g", { clipPath: "url(#clip0_link_accounts)", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
624
|
+
"path",
|
|
625
|
+
{
|
|
626
|
+
d: "M28 18.0835C28 22.2648 24.598 25.6668 20.4167 25.6668H14.5833C10.402 25.6668 7 22.2648 7 18.0835C7 13.9022 10.402 10.5002 14.5833 10.5002H16.9167C17.2387 10.5002 17.5 10.7615 17.5 11.0835C17.5 11.4055 17.2387 11.6668 16.9167 11.6668H14.5833C11.0448 11.6668 8.16667 14.5462 8.16667 18.0835C8.16667 21.6208 11.0448 24.5002 14.5833 24.5002H20.4167C23.9552 24.5002 26.8333 21.6208 26.8333 18.0835C26.8333 15.7992 25.6037 13.67 23.625 12.5243C23.3462 12.3633 23.2505 12.0063 23.4127 11.7275C23.5725 11.4487 23.9283 11.3507 24.2095 11.514C26.5475 12.8662 28.0012 15.3827 28.0012 18.0823L28 18.0835ZM4.375 15.476C2.39517 14.3315 1.16667 12.2012 1.16667 9.91683C1.16667 6.3795 4.04483 3.50016 7.58333 3.50016H13.4167C16.9552 3.50016 19.8333 6.3795 19.8333 9.91683C19.8333 13.4542 16.9552 16.3335 13.4167 16.3335H11.0833C10.7613 16.3335 10.5 16.5948 10.5 16.9168C10.5 17.2388 10.7613 17.5002 11.0833 17.5002H13.4167C17.598 17.5002 21 14.0982 21 9.91683C21 5.7355 17.598 2.3335 13.4167 2.3335H7.58333C3.402 2.3335 0 5.7355 0 9.91683C0 12.6153 1.4525 15.133 3.79167 16.4852C4.0705 16.6462 4.4275 16.5517 4.5885 16.2717C4.75067 15.994 4.655 15.6358 4.37617 15.4748L4.375 15.476Z",
|
|
627
|
+
fill: "currentColor"
|
|
628
|
+
}
|
|
629
|
+
) }),
|
|
630
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("clipPath", { id: "clip0_link_accounts", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("rect", { width: "28", height: "28", fill: "white" }) }) })
|
|
631
|
+
]
|
|
632
|
+
})
|
|
633
|
+
);
|
|
634
|
+
};
|
|
635
|
+
LinkAccountsIcon.displayName = "LinkAccountsIcon";
|
|
636
|
+
|
|
637
|
+
// src/primitives/icon/svg/profile.tsx
|
|
638
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
639
|
+
var ProfileIcon = (_a) => {
|
|
640
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
641
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
642
|
+
"svg",
|
|
643
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
644
|
+
viewBox: "0 0 16 16",
|
|
645
|
+
className,
|
|
646
|
+
fill: "none"
|
|
647
|
+
}, getIconA11yProps(title)), props), {
|
|
648
|
+
children: [
|
|
649
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("title", { children: title }) : null,
|
|
650
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
651
|
+
"path",
|
|
652
|
+
{
|
|
653
|
+
d: "M8 8.25a2.75 2.75 0 1 0 0-5.5 2.75 2.75 0 0 0 0 5.5Z",
|
|
654
|
+
stroke: "currentColor",
|
|
655
|
+
strokeWidth: "1.5"
|
|
656
|
+
}
|
|
657
|
+
),
|
|
658
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
659
|
+
"path",
|
|
660
|
+
{
|
|
661
|
+
d: "M3 13.5a5 5 0 0 1 10 0",
|
|
662
|
+
stroke: "currentColor",
|
|
663
|
+
strokeWidth: "1.5",
|
|
664
|
+
strokeLinecap: "round"
|
|
665
|
+
}
|
|
666
|
+
)
|
|
667
|
+
]
|
|
668
|
+
})
|
|
669
|
+
);
|
|
670
|
+
};
|
|
671
|
+
ProfileIcon.displayName = "ProfileIcon";
|
|
672
|
+
|
|
673
|
+
// src/primitives/icon/svg/revenue-alt.tsx
|
|
674
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
675
|
+
var RevenueAltIcon = (_a) => {
|
|
676
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
677
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
678
|
+
"svg",
|
|
679
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
680
|
+
viewBox: "0 0 20 20",
|
|
681
|
+
className,
|
|
682
|
+
fill: "none"
|
|
683
|
+
}, getIconA11yProps(title)), props), {
|
|
684
|
+
children: [
|
|
685
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("title", { children: title }) : null,
|
|
686
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
687
|
+
"path",
|
|
688
|
+
{
|
|
689
|
+
d: "M3 14V6M3 6L1.5 7.5M3 6L4.5 7.5M17 6V14M17 14L15.5 12.5M17 14L18.5 12.5",
|
|
690
|
+
stroke: "currentColor",
|
|
691
|
+
strokeWidth: "1.5",
|
|
692
|
+
strokeLinecap: "round",
|
|
693
|
+
strokeLinejoin: "round"
|
|
694
|
+
}
|
|
695
|
+
),
|
|
696
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
697
|
+
"path",
|
|
698
|
+
{
|
|
699
|
+
d: "M10 5.5V14.5M12.5 7.4C12.5 6.55 11.38 5.86 10 5.86C8.62 5.86 7.5 6.55 7.5 7.4C7.5 8.25 8.62 8.94 10 8.94C11.38 8.94 12.5 9.63 12.5 10.48C12.5 11.33 11.38 12.02 10 12.02C8.62 12.02 7.5 11.33 7.5 10.48",
|
|
700
|
+
stroke: "currentColor",
|
|
701
|
+
strokeWidth: "1.5",
|
|
702
|
+
strokeLinecap: "round",
|
|
703
|
+
strokeLinejoin: "round"
|
|
704
|
+
}
|
|
705
|
+
)
|
|
706
|
+
]
|
|
707
|
+
})
|
|
708
|
+
);
|
|
709
|
+
};
|
|
710
|
+
RevenueAltIcon.displayName = "RevenueAltIcon";
|
|
711
|
+
|
|
712
|
+
// src/primitives/icon/svg/search.tsx
|
|
713
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
714
|
+
var SearchIcon = (_a) => {
|
|
715
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
716
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
717
|
+
"svg",
|
|
718
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
719
|
+
viewBox: "0 0 16 16",
|
|
720
|
+
fill: "none",
|
|
721
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
722
|
+
className
|
|
723
|
+
}, getIconA11yProps(title)), props), {
|
|
724
|
+
children: [
|
|
725
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("title", { children: title }) : null,
|
|
726
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
727
|
+
"path",
|
|
728
|
+
{
|
|
729
|
+
d: "M7.3335 12.3333C10.0949 12.3333 12.3335 10.0947 12.3335 7.33329C12.3335 4.57187 10.0949 2.33329 7.3335 2.33329C4.57208 2.33329 2.3335 4.57187 2.3335 7.33329C2.3335 10.0947 4.57208 12.3333 7.3335 12.3333Z",
|
|
730
|
+
stroke: "currentColor",
|
|
731
|
+
strokeWidth: "1.3",
|
|
732
|
+
strokeLinecap: "round",
|
|
733
|
+
strokeLinejoin: "round"
|
|
734
|
+
}
|
|
735
|
+
),
|
|
736
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
737
|
+
"path",
|
|
738
|
+
{
|
|
739
|
+
d: "M13.6668 13.6666L11.1667 11.1666",
|
|
740
|
+
stroke: "currentColor",
|
|
741
|
+
strokeWidth: "1.3",
|
|
742
|
+
strokeLinecap: "round",
|
|
743
|
+
strokeLinejoin: "round"
|
|
744
|
+
}
|
|
745
|
+
)
|
|
746
|
+
]
|
|
747
|
+
})
|
|
748
|
+
);
|
|
749
|
+
};
|
|
750
|
+
SearchIcon.displayName = "SearchIcon";
|
|
751
|
+
|
|
752
|
+
// src/primitives/icon/svg/shield-trust.tsx
|
|
753
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
754
|
+
var ShieldTrustIcon = (_a) => {
|
|
755
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
756
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
757
|
+
"svg",
|
|
758
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
759
|
+
viewBox: "0 0 16 16",
|
|
760
|
+
className,
|
|
761
|
+
fill: "none"
|
|
762
|
+
}, getIconA11yProps(title)), props), {
|
|
763
|
+
children: [
|
|
764
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("title", { children: title }) : null,
|
|
765
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
766
|
+
"path",
|
|
767
|
+
{
|
|
768
|
+
d: "M8 1.25L13.5 3.25V7.08C13.5 10.09 11.62 12.74 8 14.75C4.38 12.74 2.5 10.09 2.5 7.08V3.25L8 1.25Z",
|
|
769
|
+
fill: "currentColor"
|
|
770
|
+
}
|
|
771
|
+
),
|
|
772
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
773
|
+
"path",
|
|
774
|
+
{
|
|
775
|
+
d: "M5.5 8.2L7.2 9.9L10.8 6.3",
|
|
776
|
+
stroke: "white",
|
|
777
|
+
strokeWidth: "1.4",
|
|
778
|
+
strokeLinecap: "round",
|
|
779
|
+
strokeLinejoin: "round"
|
|
780
|
+
}
|
|
781
|
+
)
|
|
782
|
+
]
|
|
783
|
+
})
|
|
784
|
+
);
|
|
785
|
+
};
|
|
786
|
+
ShieldTrustIcon.displayName = "ShieldTrustIcon";
|
|
787
|
+
|
|
788
|
+
// src/primitives/icon/svg/stay-in-control.tsx
|
|
789
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
790
|
+
var StayInControlIcon = (_a) => {
|
|
791
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
792
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
793
|
+
"svg",
|
|
794
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
795
|
+
width: "28",
|
|
796
|
+
height: "28",
|
|
797
|
+
viewBox: "0 0 28 28",
|
|
798
|
+
fill: "none",
|
|
799
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
800
|
+
className
|
|
801
|
+
}, getIconA11yProps(title)), props), {
|
|
802
|
+
children: [
|
|
803
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("title", { children: title }) : null,
|
|
804
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("g", { clipPath: "url(#clip0_stay_in_control)", children: [
|
|
805
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
806
|
+
"path",
|
|
807
|
+
{
|
|
808
|
+
d: "M14 27.9406C13.9102 27.9406 13.8215 27.9196 13.7387 27.8788L13.2428 27.6314C10.6832 26.3504 2.32983 21.5753 2.32983 13.8648L2.33217 7.62776C2.33217 5.36093 3.77767 3.35776 5.93017 2.64493L13.8168 0.0292617C13.9358 -0.010405 14.0653 -0.010405 14.1832 0.0292617L22.0687 2.64376C24.2212 3.35776 25.6667 5.36093 25.6667 7.6266L25.6632 13.8636C25.6632 22.6113 17.2958 26.6584 14.7315 27.6909L14.217 27.8974C14.147 27.9254 14.0723 27.9394 13.9988 27.9394L14 27.9406ZM14 1.19826L6.29767 3.7521C4.6235 4.30743 3.5 5.86493 3.5 7.62776L3.49767 13.8648C3.49767 20.9056 11.3563 25.3844 13.7655 26.5884L14.0268 26.7191L14.2975 26.6106C16.6903 25.6481 24.4977 21.8833 24.4977 13.8659L24.5012 7.62893C24.5012 5.8661 23.3765 4.3086 21.7035 3.75326L14 1.19826Z",
|
|
809
|
+
fill: "currentColor"
|
|
810
|
+
}
|
|
811
|
+
),
|
|
812
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
813
|
+
"path",
|
|
814
|
+
{
|
|
815
|
+
d: "M12.8112 17.5001C12.0633 17.5001 11.3155 17.2154 10.7462 16.6461L7.18083 13.2569C6.94749 13.0352 6.93816 12.6654 7.15983 12.4321C7.38149 12.1999 7.75016 12.1894 7.98466 12.4111L11.5605 15.8107C12.2535 16.5026 13.363 16.5037 14.0455 15.8212L20.5928 9.49791C20.8262 9.27508 21.196 9.28208 21.4177 9.51308C21.6417 9.74408 21.6358 10.1139 21.4037 10.3379L14.8622 16.6542C14.2987 17.2177 13.5543 17.5012 12.81 17.5012L12.8112 17.5001Z",
|
|
816
|
+
fill: "currentColor"
|
|
817
|
+
}
|
|
818
|
+
)
|
|
819
|
+
] }),
|
|
820
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("clipPath", { id: "clip0_stay_in_control", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("rect", { width: "28", height: "28", fill: "white" }) }) })
|
|
821
|
+
]
|
|
822
|
+
})
|
|
823
|
+
);
|
|
824
|
+
};
|
|
825
|
+
StayInControlIcon.displayName = "StayInControlIcon";
|
|
826
|
+
|
|
827
|
+
// src/primitives/icon/svg/triangle-down.tsx
|
|
828
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
829
|
+
var TriangleDownIcon = (_a) => {
|
|
830
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
831
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
832
|
+
"svg",
|
|
833
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
834
|
+
viewBox: "0 0 8 8",
|
|
835
|
+
className,
|
|
836
|
+
fill: "none"
|
|
837
|
+
}, getIconA11yProps(title)), props), {
|
|
838
|
+
children: [
|
|
839
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("title", { children: title }) : null,
|
|
840
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("g", { transform: "scale(1,-1) translate(0,-8)", clipPath: "url(#triangle_up)", children: [
|
|
841
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
842
|
+
"path",
|
|
843
|
+
{
|
|
844
|
+
d: "M3.99989 1.6805L6.23917 6.72896H1.76061L3.99989 1.6805ZM3.99989 0.366097C3.87788 0.36535 3.75832 0.400347 3.65596 0.466768C3.55361 0.53319 3.47295 0.628129 3.42393 0.739866L0.362237 7.63838H7.63755L4.57737 0.739866C4.52825 0.62789 4.44735 0.532789 4.3447 0.46635C4.24205 0.39991 4.12216 0.365052 3.99989 0.366097Z",
|
|
845
|
+
fill: "currentColor"
|
|
846
|
+
}
|
|
847
|
+
),
|
|
848
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
849
|
+
"path",
|
|
850
|
+
{
|
|
851
|
+
d: "M4.00167 0.00284122C4.19344 0.00214978 4.38147 0.0566837 4.54252 0.160923C4.70445 0.265758 4.83154 0.416026 4.90931 0.592539L7.9697 7.4913L8.19705 8.00195H-0.197266L3.09048 0.593427C3.16804 0.41669 3.29625 0.26688 3.45815 0.161811C3.61872 0.0576301 3.80589 0.00261591 3.99723 0.00284122H3.99989L4.00256 0.00195312L4.00167 0.00284122ZM3.99989 0.366097C3.87788 0.36535 3.75832 0.400347 3.65596 0.466768L3.58337 0.521491C3.51516 0.581467 3.46071 0.656022 3.42393 0.739866L0.362237 7.63838H7.63755L4.57737 0.739866C4.54053 0.655873 4.48567 0.581521 4.4173 0.521491L4.3447 0.46635C4.24205 0.39991 4.12216 0.365052 3.99989 0.366097ZM6.23917 6.72896H1.76061L3.99989 1.6805L6.23917 6.72896ZM2.31961 6.36519H5.68018L3.99989 2.57655L2.31961 6.36519Z",
|
|
852
|
+
fill: "currentColor"
|
|
853
|
+
}
|
|
854
|
+
)
|
|
855
|
+
] }),
|
|
856
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("clipPath", { id: "triangle_up", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("rect", { width: "8", height: "8", fill: "white" }) }) })
|
|
857
|
+
]
|
|
858
|
+
})
|
|
859
|
+
);
|
|
860
|
+
};
|
|
861
|
+
TriangleDownIcon.displayName = "TriangleDownIcon";
|
|
862
|
+
|
|
863
|
+
// src/primitives/icon/svg/triangle-up.tsx
|
|
864
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
865
|
+
var TriangleUpIcon = (_a) => {
|
|
866
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
867
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
868
|
+
"svg",
|
|
869
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
870
|
+
viewBox: "0 0 8 8",
|
|
871
|
+
className,
|
|
872
|
+
fill: "none"
|
|
873
|
+
}, getIconA11yProps(title)), props), {
|
|
874
|
+
children: [
|
|
875
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("title", { children: title }) : null,
|
|
876
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("g", { clipPath: "url(#triangle_up)", children: [
|
|
877
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
878
|
+
"path",
|
|
879
|
+
{
|
|
880
|
+
d: "M3.99989 1.6805L6.23917 6.72896H1.76061L3.99989 1.6805ZM3.99989 0.366097C3.87788 0.36535 3.75832 0.400347 3.65596 0.466768C3.55361 0.53319 3.47295 0.628129 3.42393 0.739866L0.362237 7.63838H7.63755L4.57737 0.739866C4.52825 0.62789 4.44735 0.532789 4.3447 0.46635C4.24205 0.39991 4.12216 0.365052 3.99989 0.366097Z",
|
|
881
|
+
fill: "currentColor"
|
|
882
|
+
}
|
|
883
|
+
),
|
|
884
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
885
|
+
"path",
|
|
886
|
+
{
|
|
887
|
+
d: "M4.00167 0.00284122C4.19344 0.00214978 4.38147 0.0566837 4.54252 0.160923C4.70445 0.265758 4.83154 0.416026 4.90931 0.592539L7.9697 7.4913L8.19705 8.00195H-0.197266L3.09048 0.593427C3.16804 0.41669 3.29625 0.26688 3.45815 0.161811C3.61872 0.0576301 3.80589 0.00261591 3.99723 0.00284122H3.99989L4.00256 0.00195312L4.00167 0.00284122ZM3.99989 0.366097C3.87788 0.36535 3.75832 0.400347 3.65596 0.466768L3.58337 0.521491C3.51516 0.581467 3.46071 0.656022 3.42393 0.739866L0.362237 7.63838H7.63755L4.57737 0.739866C4.54053 0.655873 4.48567 0.581521 4.4173 0.521491L4.3447 0.46635C4.24205 0.39991 4.12216 0.365052 3.99989 0.366097ZM6.23917 6.72896H1.76061L3.99989 1.6805L6.23917 6.72896ZM2.31961 6.36519H5.68018L3.99989 2.57655L2.31961 6.36519Z",
|
|
888
|
+
fill: "currentColor"
|
|
889
|
+
}
|
|
890
|
+
)
|
|
891
|
+
] }),
|
|
892
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("clipPath", { id: "triangle_up", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("rect", { width: "8", height: "8", fill: "white" }) }) })
|
|
893
|
+
]
|
|
894
|
+
})
|
|
895
|
+
);
|
|
896
|
+
};
|
|
897
|
+
TriangleUpIcon.displayName = "TriangleUpIcon";
|
|
898
|
+
|
|
899
|
+
// src/primitives/icon/svg/upload.tsx
|
|
900
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
901
|
+
var UploadIcon = (_a) => {
|
|
902
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
903
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
904
|
+
"svg",
|
|
905
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
906
|
+
viewBox: "0 0 16 16",
|
|
907
|
+
className,
|
|
908
|
+
fill: "none"
|
|
909
|
+
}, getIconA11yProps(title)), props), {
|
|
910
|
+
children: [
|
|
911
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("title", { children: title }) : null,
|
|
912
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
913
|
+
"path",
|
|
914
|
+
{
|
|
915
|
+
d: "M8 13.5v-7m0 0 2.5 2.5M8 6.5 5.5 9",
|
|
916
|
+
stroke: "currentColor",
|
|
917
|
+
strokeWidth: "1.5",
|
|
918
|
+
strokeLinecap: "round",
|
|
919
|
+
strokeLinejoin: "round"
|
|
920
|
+
}
|
|
921
|
+
),
|
|
922
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("path", { d: "M2.5 3.5h11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
|
|
923
|
+
]
|
|
924
|
+
})
|
|
925
|
+
);
|
|
926
|
+
};
|
|
927
|
+
UploadIcon.displayName = "UploadIcon";
|
|
928
|
+
|
|
929
|
+
// src/primitives/icon/svg/wallet-avatar.tsx
|
|
930
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
931
|
+
function WalletAvatarIcon(_a) {
|
|
932
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
933
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
934
|
+
"svg",
|
|
935
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
936
|
+
fill: "none",
|
|
937
|
+
className,
|
|
938
|
+
viewBox: "0 0 16 16"
|
|
939
|
+
}, getIconA11yProps(title)), props), {
|
|
940
|
+
children: [
|
|
941
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("title", { children: title }) : null,
|
|
942
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("circle", { cx: "8", cy: "5.25", r: "2.25", fill: "currentColor" }),
|
|
943
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("path", { d: "M3.75 12.75a4.25 4.25 0 0 1 8.5 0v.25h-8.5v-.25Z", fill: "currentColor" })
|
|
944
|
+
]
|
|
945
|
+
})
|
|
946
|
+
);
|
|
947
|
+
}
|
|
948
|
+
WalletAvatarIcon.displayName = "WalletAvatarIcon";
|
|
949
|
+
|
|
950
|
+
// src/primitives/icon/svg/warning.tsx
|
|
951
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
952
|
+
var WarningIcon = (_a) => {
|
|
953
|
+
var _b = _a, { title, className } = _b, props = __objRest(_b, ["title", "className"]);
|
|
954
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
955
|
+
"svg",
|
|
956
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
957
|
+
width: "14",
|
|
958
|
+
height: "14",
|
|
959
|
+
viewBox: "0 0 14 14",
|
|
960
|
+
fill: "none",
|
|
961
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
962
|
+
className
|
|
963
|
+
}, getIconA11yProps(title)), props), {
|
|
964
|
+
children: [
|
|
965
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("title", { children: title }) : null,
|
|
966
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("g", { clipPath: "url(#clip0_warning)", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
967
|
+
"path",
|
|
968
|
+
{
|
|
969
|
+
d: "M6.41665 8.16675V4.66675C6.41665 4.34591 6.67915 4.08341 6.99998 4.08341C7.32082 4.08341 7.58332 4.34591 7.58332 4.66675V8.16675C7.58332 8.48758 7.32082 8.75008 6.99998 8.75008C6.67915 8.75008 6.41665 8.48758 6.41665 8.16675ZM6.99998 9.33341C6.51582 9.33341 6.12498 9.72425 6.12498 10.2084C6.12498 10.6926 6.51582 11.0834 6.99998 11.0834C7.48415 11.0834 7.87498 10.6926 7.87498 10.2084C7.87498 9.72425 7.48415 9.33341 6.99998 9.33341ZM13.755 12.1801C13.3467 12.9676 12.4892 13.4167 11.4158 13.4167H2.58998C1.51082 13.4167 0.659151 12.9676 0.250818 12.1801C-0.163348 11.3867 -0.0466818 10.3717 0.542485 9.52008L5.23248 2.10008C5.64665 1.50508 6.29998 1.16675 6.99998 1.16675C7.69999 1.16675 8.35332 1.50508 8.74998 2.08258L13.4633 9.53175C14.0525 10.3834 14.1633 11.3926 13.7492 12.1801H13.755ZM12.5008 10.1851C12.5008 10.1851 12.4892 10.1734 12.4892 10.1617L7.78165 2.72425C7.61248 2.48508 7.32082 2.33341 6.99998 2.33341C6.67915 2.33341 6.38749 2.48508 6.20665 2.74758L1.51082 10.1617C1.14915 10.6751 1.06748 11.2351 1.27748 11.6376C1.48165 12.0342 1.94832 12.2501 2.58415 12.2501H11.4042C12.04 12.2501 12.5067 12.0342 12.7108 11.6376C12.9208 11.2351 12.8392 10.6751 12.495 10.1851H12.5008Z",
|
|
970
|
+
fill: "currentColor"
|
|
971
|
+
}
|
|
972
|
+
) }),
|
|
973
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("clipPath", { id: "clip0_warning", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("rect", { width: "14", height: "14", fill: "white" }) }) })
|
|
974
|
+
]
|
|
975
|
+
})
|
|
976
|
+
);
|
|
977
|
+
};
|
|
978
|
+
WarningIcon.displayName = "WarningIcon";
|
|
979
|
+
|
|
980
|
+
// src/primitives/icon/registry.ts
|
|
981
|
+
var iconRegistry = {
|
|
982
|
+
"arrow-trend-up": ArrowTrendUpIcon,
|
|
983
|
+
"arrows-to-dot": ArrowsToDotIcon,
|
|
984
|
+
"best-prices": BestPricesIcon,
|
|
985
|
+
"check-circle": CheckCircleIcon,
|
|
986
|
+
"chevron-down": ChevronDownIcon,
|
|
987
|
+
"chevron-right": ChevronRightIcon,
|
|
988
|
+
"chevron-up": ChevronUpIcon,
|
|
989
|
+
close: CloseIcon,
|
|
990
|
+
"create-account": CreateAccountIcon,
|
|
991
|
+
disconnect: DisconnectIcon,
|
|
992
|
+
download: DownloadIcon,
|
|
993
|
+
"dots-horizontal": DotsHorizontalIcon,
|
|
994
|
+
"link-accounts": LinkAccountsIcon,
|
|
995
|
+
profile: ProfileIcon,
|
|
996
|
+
"revenue-alt": RevenueAltIcon,
|
|
997
|
+
search: SearchIcon,
|
|
998
|
+
"shield-trust": ShieldTrustIcon,
|
|
999
|
+
"stay-in-control": StayInControlIcon,
|
|
1000
|
+
"triangle-down": TriangleDownIcon,
|
|
1001
|
+
"triangle-up": TriangleUpIcon,
|
|
1002
|
+
upload: UploadIcon,
|
|
1003
|
+
"wallet-avatar": WalletAvatarIcon,
|
|
1004
|
+
warning: WarningIcon
|
|
1005
|
+
};
|
|
1006
|
+
var iconNames = Object.keys(iconRegistry);
|
|
1007
|
+
|
|
1008
|
+
// src/primitives/icon/icon.utils.ts
|
|
1009
|
+
var resolveIconStyle = (color, style) => {
|
|
1010
|
+
if (!color)
|
|
1011
|
+
return style;
|
|
1012
|
+
return __spreadProps(__spreadValues({}, style), {
|
|
1013
|
+
color
|
|
1014
|
+
});
|
|
1015
|
+
};
|
|
1016
|
+
|
|
1017
|
+
// src/primitives/icon/index.tsx
|
|
1018
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1019
|
+
var Icon = (_a) => {
|
|
1020
|
+
var _b = _a, {
|
|
1021
|
+
name,
|
|
1022
|
+
color,
|
|
1023
|
+
size = "m",
|
|
1024
|
+
className = "text-agg-primary",
|
|
1025
|
+
style
|
|
1026
|
+
} = _b, props = __objRest(_b, [
|
|
1027
|
+
"name",
|
|
1028
|
+
"color",
|
|
1029
|
+
"size",
|
|
1030
|
+
"className",
|
|
1031
|
+
"style"
|
|
1032
|
+
]);
|
|
1033
|
+
const Component = iconRegistry[name];
|
|
1034
|
+
const resolvedStyle = resolveIconStyle(color, style);
|
|
1035
|
+
const resolvedClassName = cn(iconSizeClasses[size], className);
|
|
1036
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Component, __spreadValues({ color, className: resolvedClassName, style: resolvedStyle }, props));
|
|
1037
|
+
};
|
|
1038
|
+
Icon.displayName = "Icon";
|
|
1039
|
+
|
|
1040
|
+
// src/primitives/skeleton/views/event-list-skeleton-view.tsx
|
|
1041
|
+
var import_hooks5 = require("@agg-market/hooks");
|
|
1042
|
+
|
|
1043
|
+
// src/primitives/skeleton/skeleton-block.tsx
|
|
1044
|
+
var import_hooks3 = require("@agg-market/hooks");
|
|
1045
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1046
|
+
var SkeletonBlock = ({ className }) => {
|
|
1047
|
+
const { enableAnimations } = (0, import_hooks3.useSdkUiConfig)();
|
|
1048
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1049
|
+
"div",
|
|
1050
|
+
{
|
|
1051
|
+
"aria-hidden": true,
|
|
1052
|
+
className: cn(
|
|
1053
|
+
"bg-agg-separator",
|
|
1054
|
+
getMotionClassName(enableAnimations, "animate-pulse"),
|
|
1055
|
+
className
|
|
1056
|
+
)
|
|
1057
|
+
}
|
|
1058
|
+
);
|
|
1059
|
+
};
|
|
1060
|
+
SkeletonBlock.displayName = "SkeletonBlock";
|
|
1061
|
+
|
|
1062
|
+
// src/primitives/skeleton/views/event-list-item-skeleton-view.tsx
|
|
1063
|
+
var import_hooks4 = require("@agg-market/hooks");
|
|
1064
|
+
|
|
1065
|
+
// src/events/item/event-list-item.constants.ts
|
|
1066
|
+
var baseCardClassName = "gap-3 overflow-hidden p-5 w-full";
|
|
1067
|
+
|
|
1068
|
+
// src/primitives/skeleton/views/event-list-item-skeleton-view.tsx
|
|
1069
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1070
|
+
var EventListItemSkeletonView = ({
|
|
1071
|
+
className,
|
|
1072
|
+
ariaLabel,
|
|
1073
|
+
isStandalone = false
|
|
1074
|
+
}) => {
|
|
1075
|
+
const labels = (0, import_hooks4.useLabels)();
|
|
1076
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
1077
|
+
Card,
|
|
1078
|
+
{
|
|
1079
|
+
className: cn(baseCardClassName, className),
|
|
1080
|
+
role: isStandalone ? "status" : void 0,
|
|
1081
|
+
"aria-label": isStandalone ? ariaLabel != null ? ariaLabel : labels.eventItem.loading : void 0,
|
|
1082
|
+
"aria-busy": isStandalone || void 0,
|
|
1083
|
+
"aria-hidden": isStandalone ? void 0 : true,
|
|
1084
|
+
children: [
|
|
1085
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex w-full items-start gap-3", children: [
|
|
1086
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "h-10 w-10 rounded-agg-lg" }),
|
|
1087
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex flex-1 flex-col gap-2", children: [
|
|
1088
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "h-5 w-[82%] rounded-agg-sm" }),
|
|
1089
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "h-5 w-[68%] rounded-agg-sm" })
|
|
1090
|
+
] })
|
|
1091
|
+
] }),
|
|
1092
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "flex flex-col gap-3", children: [0, 1].map((index) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
1093
|
+
"div",
|
|
1094
|
+
{
|
|
1095
|
+
className: "grid w-full grid-cols-[minmax(0,1fr)_auto_auto] items-center gap-3",
|
|
1096
|
+
children: [
|
|
1097
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "h-4 rounded-agg-sm" }),
|
|
1098
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "h-4 w-10 rounded-agg-sm" }),
|
|
1099
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "h-9 w-[101px] rounded-agg-full" })
|
|
1100
|
+
]
|
|
1101
|
+
},
|
|
1102
|
+
index
|
|
1103
|
+
)) }),
|
|
1104
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center justify-between gap-2 text-agg-muted-foreground", children: [
|
|
1105
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
1106
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "h-4 w-36 rounded-agg-sm" }),
|
|
1107
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
1108
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "size-3 rounded-agg-full" }),
|
|
1109
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "size-3 rounded-agg-full" }),
|
|
1110
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "size-3 rounded-agg-full" })
|
|
1111
|
+
] })
|
|
1112
|
+
] }),
|
|
1113
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonBlock, { className: "h-4 w-20 rounded-agg-sm" })
|
|
1114
|
+
] })
|
|
1115
|
+
]
|
|
1116
|
+
}
|
|
1117
|
+
);
|
|
1118
|
+
};
|
|
1119
|
+
EventListItemSkeletonView.displayName = "EventListItemSkeletonView";
|
|
1120
|
+
|
|
1121
|
+
// src/primitives/skeleton/views/event-list-skeleton-view.tsx
|
|
1122
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1123
|
+
var EventListSkeletonView = ({ className, ariaLabel }) => {
|
|
1124
|
+
const labels = (0, import_hooks5.useLabels)();
|
|
1125
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
1126
|
+
"section",
|
|
1127
|
+
{
|
|
1128
|
+
className: cn("flex w-full flex-col gap-5", className),
|
|
1129
|
+
role: "status",
|
|
1130
|
+
"aria-label": ariaLabel != null ? ariaLabel : labels.eventList.loading("events"),
|
|
1131
|
+
"aria-busy": true,
|
|
1132
|
+
children: [
|
|
1133
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("header", { className: "flex w-full flex-col items-start justify-between gap-2 md:flex-row md:flex-nowrap md:items-center md:gap-4", children: [
|
|
1134
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SkeletonBlock, { className: "h-7 w-40 rounded-agg-sm" }),
|
|
1135
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex max-w-full gap-2", children: [
|
|
1136
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SkeletonBlock, { className: "h-10 w-20 rounded-agg-full" }),
|
|
1137
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SkeletonBlock, { className: "h-10 w-20 rounded-agg-full" }),
|
|
1138
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SkeletonBlock, { className: "h-10 w-24 rounded-agg-full" })
|
|
1139
|
+
] })
|
|
1140
|
+
] }),
|
|
1141
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "grid grid-cols-1 gap-5 md:grid-cols-3", children: Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1142
|
+
EventListItemSkeletonView,
|
|
1143
|
+
{
|
|
1144
|
+
isStandalone: false,
|
|
1145
|
+
className: "w-full min-w-0 max-w-none"
|
|
1146
|
+
},
|
|
1147
|
+
index
|
|
1148
|
+
)) })
|
|
1149
|
+
]
|
|
1150
|
+
}
|
|
1151
|
+
);
|
|
1152
|
+
};
|
|
1153
|
+
EventListSkeletonView.displayName = "EventListSkeletonView";
|
|
1154
|
+
|
|
1155
|
+
// src/primitives/skeleton/views/event-list-item-details-skeleton-view.tsx
|
|
1156
|
+
var import_hooks6 = require("@agg-market/hooks");
|
|
1157
|
+
|
|
1158
|
+
// src/events/item-details/event-list-item-details.constants.ts
|
|
1159
|
+
var detailsBaseCardClassName = "w-full overflow-hidden gap-6 p-5 md:gap-8 md:p-10";
|
|
1160
|
+
|
|
1161
|
+
// src/primitives/skeleton/views/event-list-item-details-skeleton-view.tsx
|
|
1162
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1163
|
+
var EventListItemDetailsSkeletonView = ({
|
|
1164
|
+
className,
|
|
1165
|
+
ariaLabel
|
|
1166
|
+
}) => {
|
|
1167
|
+
const labels = (0, import_hooks6.useLabels)();
|
|
1168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
1169
|
+
Card,
|
|
1170
|
+
{
|
|
1171
|
+
className: cn(detailsBaseCardClassName, className),
|
|
1172
|
+
role: "status",
|
|
1173
|
+
"aria-label": ariaLabel != null ? ariaLabel : labels.eventItemDetails.loading,
|
|
1174
|
+
"aria-busy": true,
|
|
1175
|
+
children: [
|
|
1176
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex w-full items-start gap-3 md:gap-4", children: [
|
|
1177
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "size-10 rounded-agg-lg md:size-[60px]" }),
|
|
1178
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-1 flex-col gap-2", children: [
|
|
1179
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-5 w-[82%] rounded-agg-sm md:h-7 md:w-[55%]" }),
|
|
1180
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex gap-2 overflow-hidden", children: [
|
|
1181
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-8 w-28 rounded-agg-full" }),
|
|
1182
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-8 w-28 rounded-agg-full" }),
|
|
1183
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-8 w-28 rounded-agg-full" })
|
|
1184
|
+
] })
|
|
1185
|
+
] })
|
|
1186
|
+
] }),
|
|
1187
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-col gap-4", children: [
|
|
1188
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-10 w-full rounded-agg-full md:w-[220px]" }),
|
|
1189
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex gap-2 overflow-hidden", children: [
|
|
1190
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-9 w-20 rounded-agg-full" }),
|
|
1191
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-9 w-20 rounded-agg-full" }),
|
|
1192
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-9 w-20 rounded-agg-full" }),
|
|
1193
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-9 w-20 rounded-agg-full" })
|
|
1194
|
+
] })
|
|
1195
|
+
] }),
|
|
1196
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "h-[300px] w-full rounded-agg-xl", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-full w-full rounded-agg-xl" }) }),
|
|
1197
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
1198
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-5 w-24 rounded-agg-sm" }),
|
|
1199
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SkeletonBlock, { className: "h-5 w-40 rounded-agg-sm" })
|
|
1200
|
+
] })
|
|
1201
|
+
]
|
|
1202
|
+
}
|
|
1203
|
+
);
|
|
1204
|
+
};
|
|
1205
|
+
EventListItemDetailsSkeletonView.displayName = "EventListItemDetailsSkeletonView";
|
|
1206
|
+
|
|
1207
|
+
// src/primitives/skeleton/views/market-details-skeleton-view.tsx
|
|
1208
|
+
var import_hooks7 = require("@agg-market/hooks");
|
|
1209
|
+
|
|
1210
|
+
// src/events/market-details/market-details.constants.ts
|
|
1211
|
+
var marketDetailsBaseCardClassName = "w-full overflow-hidden rounded-agg-lg border border-agg-separator bg-agg-secondary text-agg-foreground shadow-none hover:shadow-none";
|
|
1212
|
+
|
|
1213
|
+
// src/primitives/skeleton/views/market-details-skeleton-view.tsx
|
|
1214
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1215
|
+
var MarketDetailsSkeletonView = ({
|
|
1216
|
+
className,
|
|
1217
|
+
ariaLabel,
|
|
1218
|
+
isDetailed
|
|
1219
|
+
}) => {
|
|
1220
|
+
const labels = (0, import_hooks7.useLabels)();
|
|
1221
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1222
|
+
Card,
|
|
1223
|
+
{
|
|
1224
|
+
className: cn(marketDetailsBaseCardClassName, className),
|
|
1225
|
+
role: "status",
|
|
1226
|
+
"aria-label": ariaLabel != null ? ariaLabel : labels.marketDetails.loading,
|
|
1227
|
+
"aria-busy": true,
|
|
1228
|
+
children: [
|
|
1229
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col gap-3 p-4 md:px-5 md:py-4", children: [
|
|
1230
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1231
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex min-w-0 items-center gap-3 md:gap-4", children: [
|
|
1232
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "size-12 rounded-agg-lg md:size-[60px]" }),
|
|
1233
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex min-w-0 flex-col gap-2", children: [
|
|
1234
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-6 w-40 rounded-agg-sm" }),
|
|
1235
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-4 w-28 rounded-agg-sm" })
|
|
1236
|
+
] })
|
|
1237
|
+
] }),
|
|
1238
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-8 w-16 rounded-agg-sm" })
|
|
1239
|
+
] }),
|
|
1240
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex gap-2", children: [
|
|
1241
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-10 flex-1 rounded-agg-full" }),
|
|
1242
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-10 flex-1 rounded-agg-full" })
|
|
1243
|
+
] })
|
|
1244
|
+
] }),
|
|
1245
|
+
isDetailed ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
|
|
1246
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "h-px w-full bg-agg-separator" }),
|
|
1247
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex h-14 items-end", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-full w-full rounded-none" }) }),
|
|
1248
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "h-px w-full bg-agg-separator" }),
|
|
1249
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col gap-4 p-5", children: [
|
|
1250
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col gap-3", children: [
|
|
1251
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-4 w-12 rounded-agg-sm" }),
|
|
1252
|
+
[0, 1, 2, 3].map((index) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1253
|
+
"div",
|
|
1254
|
+
{
|
|
1255
|
+
className: "grid grid-cols-[52px_1fr_1fr_52px] items-center gap-2",
|
|
1256
|
+
children: [
|
|
1257
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-4 rounded-agg-sm" }),
|
|
1258
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-4 rounded-agg-sm" }),
|
|
1259
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-4 rounded-agg-sm" }),
|
|
1260
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-2 rounded-agg-full" })
|
|
1261
|
+
]
|
|
1262
|
+
},
|
|
1263
|
+
`ask-${index}`
|
|
1264
|
+
))
|
|
1265
|
+
] }),
|
|
1266
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col gap-3", children: [
|
|
1267
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-4 w-12 rounded-agg-sm" }),
|
|
1268
|
+
[0, 1, 2, 3].map((index) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1269
|
+
"div",
|
|
1270
|
+
{
|
|
1271
|
+
className: "grid grid-cols-[52px_1fr_1fr_52px] items-center gap-2",
|
|
1272
|
+
children: [
|
|
1273
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-4 rounded-agg-sm" }),
|
|
1274
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-4 rounded-agg-sm" }),
|
|
1275
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-4 rounded-agg-sm" }),
|
|
1276
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SkeletonBlock, { className: "h-2 rounded-agg-full" })
|
|
1277
|
+
]
|
|
1278
|
+
},
|
|
1279
|
+
`bid-${index}`
|
|
1280
|
+
))
|
|
1281
|
+
] })
|
|
1282
|
+
] })
|
|
1283
|
+
] }) : null
|
|
1284
|
+
]
|
|
1285
|
+
}
|
|
1286
|
+
);
|
|
1287
|
+
};
|
|
1288
|
+
MarketDetailsSkeletonView.displayName = "MarketDetailsSkeletonView";
|
|
1289
|
+
|
|
1290
|
+
// src/primitives/skeleton/views/place-order-skeleton-view.tsx
|
|
1291
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1292
|
+
var placeOrderCardClassName = "overflow-hidden rounded-agg-xl border border-agg-border bg-agg-secondary shadow-none hover:shadow-none";
|
|
1293
|
+
var ContentBody = () => {
|
|
1294
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-6 p-5", children: [
|
|
1295
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
1296
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-start justify-between gap-5", children: [
|
|
1297
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex min-w-0 flex-1 items-center gap-3", children: [
|
|
1298
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-12 w-12 shrink-0 rounded-agg-lg" }),
|
|
1299
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
|
|
1300
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-5 w-[92%] rounded-agg-sm" }),
|
|
1301
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-5 w-[80%] rounded-agg-sm" })
|
|
1302
|
+
] })
|
|
1303
|
+
] }),
|
|
1304
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-6 w-6 rounded-agg-sm" })
|
|
1305
|
+
] }),
|
|
1306
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-5 w-28 rounded-agg-sm" })
|
|
1307
|
+
] }),
|
|
1308
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex h-11 items-end border-b border-agg-separator", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center gap-8", children: [
|
|
1309
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
1310
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-5 w-10 rounded-agg-sm" }),
|
|
1311
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-[3px] w-12 rounded-t-agg-sm" })
|
|
1312
|
+
] }),
|
|
1313
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-5 w-10 rounded-agg-sm" })
|
|
1314
|
+
] }) }),
|
|
1315
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-4", children: [
|
|
1316
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex gap-2", children: [
|
|
1317
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-11 flex-1 rounded-agg-full" }),
|
|
1318
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-11 flex-1 rounded-agg-full" })
|
|
1319
|
+
] }),
|
|
1320
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1321
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
1322
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-6 w-20 rounded-agg-sm" }),
|
|
1323
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-4 w-28 rounded-agg-sm" })
|
|
1324
|
+
] }),
|
|
1325
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-9 w-28 rounded-agg-sm" })
|
|
1326
|
+
] })
|
|
1327
|
+
] }),
|
|
1328
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
1329
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "rounded-agg-lg border border-agg-trade-highlight-border bg-agg-trade-highlight-surface p-3", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-3", children: [
|
|
1330
|
+
[0, 1].map((index) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-3", children: [
|
|
1331
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1332
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
1333
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "size-4 rounded-agg-full" }),
|
|
1334
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-5 w-24 rounded-agg-sm" })
|
|
1335
|
+
] }),
|
|
1336
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-5 w-10 rounded-agg-sm" })
|
|
1337
|
+
] }),
|
|
1338
|
+
index === 0 ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "h-px w-full bg-agg-trade-highlight-border" }) : null
|
|
1339
|
+
] }, `place-order-route-${index}`)),
|
|
1340
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "mx-auto h-5 w-40 rounded-agg-sm" })
|
|
1341
|
+
] }) }),
|
|
1342
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-4 w-36 rounded-agg-sm" })
|
|
1343
|
+
] }),
|
|
1344
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1345
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
1346
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-6 w-20 rounded-agg-sm" }),
|
|
1347
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-4 w-24 rounded-agg-sm" })
|
|
1348
|
+
] }),
|
|
1349
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-9 w-36 rounded-agg-sm" })
|
|
1350
|
+
] }),
|
|
1351
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-4 w-[88%] self-center rounded-agg-sm" })
|
|
1352
|
+
] });
|
|
1353
|
+
};
|
|
1354
|
+
var PlaceOrderSkeletonView = ({
|
|
1355
|
+
className,
|
|
1356
|
+
ariaLabel
|
|
1357
|
+
}) => {
|
|
1358
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1359
|
+
"div",
|
|
1360
|
+
{
|
|
1361
|
+
className: cn("w-full", className),
|
|
1362
|
+
role: "status",
|
|
1363
|
+
"aria-label": ariaLabel != null ? ariaLabel : "Loading place order",
|
|
1364
|
+
"aria-busy": true,
|
|
1365
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex w-full items-end justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
1366
|
+
Card,
|
|
1367
|
+
{
|
|
1368
|
+
className: cn(
|
|
1369
|
+
placeOrderCardClassName,
|
|
1370
|
+
"w-full max-w-[400px] rounded-t-agg-xl rounded-b-none border-b-0"
|
|
1371
|
+
),
|
|
1372
|
+
children: [
|
|
1373
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ContentBody, {}),
|
|
1374
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "border-t border-agg-separator bg-agg-secondary p-4", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SkeletonBlock, { className: "h-12 w-full rounded-agg-full" }) })
|
|
1375
|
+
]
|
|
1376
|
+
}
|
|
1377
|
+
) })
|
|
1378
|
+
}
|
|
1379
|
+
);
|
|
1380
|
+
};
|
|
1381
|
+
PlaceOrderSkeletonView.displayName = "PlaceOrderSkeletonView";
|
|
1382
|
+
|
|
1383
|
+
// src/primitives/skeleton/views/settlement-skeleton-view.tsx
|
|
1384
|
+
var import_hooks8 = require("@agg-market/hooks");
|
|
1385
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1386
|
+
var SettlementSkeletonView = ({
|
|
1387
|
+
className,
|
|
1388
|
+
ariaLabel
|
|
1389
|
+
}) => {
|
|
1390
|
+
const labels = (0, import_hooks8.useLabels)();
|
|
1391
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
1392
|
+
Card,
|
|
1393
|
+
{
|
|
1394
|
+
className: cn(
|
|
1395
|
+
"gap-5 rounded-agg-xl border border-agg-separator bg-agg-secondary p-5 shadow-none hover:shadow-none",
|
|
1396
|
+
className
|
|
1397
|
+
),
|
|
1398
|
+
role: "status",
|
|
1399
|
+
"aria-label": ariaLabel != null ? ariaLabel : labels.trading.settlementLoading,
|
|
1400
|
+
"aria-busy": true,
|
|
1401
|
+
children: [
|
|
1402
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-1 md:flex-row md:items-center md:justify-between md:gap-4", children: [
|
|
1403
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-4 w-20 rounded-agg-sm" }),
|
|
1404
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-5 w-full max-w-80 rounded-agg-sm" })
|
|
1405
|
+
] }),
|
|
1406
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
1407
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-5 w-52 rounded-agg-sm" }),
|
|
1408
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
1409
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-4 w-[88%] rounded-agg-sm" }),
|
|
1410
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-4 w-[84%] rounded-agg-sm" }),
|
|
1411
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-4 w-[80%] rounded-agg-sm" }),
|
|
1412
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-4 w-[74%] rounded-agg-sm" })
|
|
1413
|
+
] })
|
|
1414
|
+
] }),
|
|
1415
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "h-px w-full bg-agg-separator" }),
|
|
1416
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-3", children: [
|
|
1417
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
1418
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
1419
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "size-4 rounded-agg-full" }),
|
|
1420
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-5 w-24 rounded-agg-sm" }),
|
|
1421
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-4 w-4 rounded-agg-sm" })
|
|
1422
|
+
] }),
|
|
1423
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col gap-2 pl-6", children: [
|
|
1424
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-4 w-full rounded-agg-sm" }),
|
|
1425
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-4 w-[92%] rounded-agg-sm" }),
|
|
1426
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-4 w-[34%] rounded-agg-sm" })
|
|
1427
|
+
] })
|
|
1428
|
+
] }),
|
|
1429
|
+
[0, 1, 2].map((index) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
1430
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "size-4 rounded-agg-full" }),
|
|
1431
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-5 w-20 rounded-agg-sm" }),
|
|
1432
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SkeletonBlock, { className: "h-4 w-4 rounded-agg-sm" })
|
|
1433
|
+
] }, `settlement-venue-${index}`))
|
|
1434
|
+
] })
|
|
1435
|
+
]
|
|
1436
|
+
}
|
|
1437
|
+
);
|
|
1438
|
+
};
|
|
1439
|
+
SettlementSkeletonView.displayName = "SettlementSkeletonView";
|
|
1440
|
+
|
|
1441
|
+
// src/primitives/skeleton/skeleton.types.ts
|
|
1442
|
+
var skeletonViews = {
|
|
1443
|
+
eventListItem: "event-list-item",
|
|
1444
|
+
eventListItemDetails: "event-list-item-details",
|
|
1445
|
+
marketDetailsMinified: "market-details-minified",
|
|
1446
|
+
marketDetailsDetailed: "market-details-detailed",
|
|
1447
|
+
eventList: "event-list",
|
|
1448
|
+
settlement: "settlement",
|
|
1449
|
+
placeOrder: "place-order"
|
|
1450
|
+
};
|
|
1451
|
+
|
|
1452
|
+
// src/primitives/skeleton/index.tsx
|
|
1453
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1454
|
+
var Skeleton = ({ view, className, ariaLabel }) => {
|
|
1455
|
+
if (view === skeletonViews.eventListItem) {
|
|
1456
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(EventListItemSkeletonView, { className, ariaLabel, isStandalone: true });
|
|
1457
|
+
}
|
|
1458
|
+
if (view === skeletonViews.eventListItemDetails) {
|
|
1459
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(EventListItemDetailsSkeletonView, { className, ariaLabel });
|
|
1460
|
+
}
|
|
1461
|
+
if (view === skeletonViews.marketDetailsMinified) {
|
|
1462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(MarketDetailsSkeletonView, { className, ariaLabel, isDetailed: false });
|
|
1463
|
+
}
|
|
1464
|
+
if (view === skeletonViews.marketDetailsDetailed) {
|
|
1465
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(MarketDetailsSkeletonView, { className, ariaLabel, isDetailed: true });
|
|
1466
|
+
}
|
|
1467
|
+
if (view === skeletonViews.settlement) {
|
|
1468
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SettlementSkeletonView, { className, ariaLabel });
|
|
1469
|
+
}
|
|
1470
|
+
if (view === skeletonViews.placeOrder) {
|
|
1471
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PlaceOrderSkeletonView, { className, ariaLabel });
|
|
1472
|
+
}
|
|
1473
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(EventListSkeletonView, { className, ariaLabel });
|
|
1474
|
+
};
|
|
1475
|
+
Skeleton.displayName = "Skeleton";
|
|
1476
|
+
|
|
1477
|
+
// src/primitives/tabs/index.tsx
|
|
1478
|
+
var import_react = require("react");
|
|
1479
|
+
var import_hooks10 = require("@agg-market/hooks");
|
|
1480
|
+
var DropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
|
|
1481
|
+
|
|
1482
|
+
// src/primitives/select/index.tsx
|
|
1483
|
+
var import_hooks9 = require("@agg-market/hooks");
|
|
1484
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1485
|
+
var Select = ({
|
|
1486
|
+
items,
|
|
1487
|
+
value,
|
|
1488
|
+
onChange,
|
|
1489
|
+
ariaLabel,
|
|
1490
|
+
className,
|
|
1491
|
+
disabled = false
|
|
1492
|
+
}) => {
|
|
1493
|
+
const labels = (0, import_hooks9.useLabels)();
|
|
1494
|
+
const { enableAnimations } = (0, import_hooks9.useSdkUiConfig)();
|
|
1495
|
+
const hasEnabledItems = items.some((item) => !item.disabled);
|
|
1496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("label", { className: cn("relative inline-flex w-full", className), children: [
|
|
1497
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1498
|
+
"select",
|
|
1499
|
+
{
|
|
1500
|
+
"aria-label": ariaLabel != null ? ariaLabel : labels.common.selectAria,
|
|
1501
|
+
className: cn(
|
|
1502
|
+
"w-full appearance-none rounded-agg-md border border-agg-separator bg-agg-secondary px-4 py-2 pr-10 font-agg-sans text-agg-sm leading-agg-5 text-agg-foreground outline-none",
|
|
1503
|
+
getMotionClassName(
|
|
1504
|
+
enableAnimations,
|
|
1505
|
+
"transition-[border-color,box-shadow] duration-200 ease-out"
|
|
1506
|
+
),
|
|
1507
|
+
"focus:border-agg-primary focus:ring-2 focus:ring-agg-primary/15",
|
|
1508
|
+
"disabled:cursor-not-allowed disabled:opacity-60"
|
|
1509
|
+
),
|
|
1510
|
+
disabled: disabled || !hasEnabledItems,
|
|
1511
|
+
value,
|
|
1512
|
+
onChange: (event) => onChange(event.target.value),
|
|
1513
|
+
children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("option", { value: item.value, disabled: item.disabled, children: item.label }, item.value))
|
|
1514
|
+
}
|
|
1515
|
+
),
|
|
1516
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "pointer-events-none absolute inset-y-0 right-3 inline-flex items-center justify-center text-agg-muted-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon, { name: "chevron-down", size: "s", color: "currentColor" }) })
|
|
1517
|
+
] });
|
|
1518
|
+
};
|
|
1519
|
+
Select.displayName = "Select";
|
|
1520
|
+
|
|
1521
|
+
// src/primitives/tabs/tabs.utils.ts
|
|
1522
|
+
var findNextEnabledIndex = (items, startIndex, direction) => {
|
|
1523
|
+
var _a;
|
|
1524
|
+
if (items.length === 0)
|
|
1525
|
+
return -1;
|
|
1526
|
+
for (let step = 1; step <= items.length; step += 1) {
|
|
1527
|
+
const nextIndex = (startIndex + direction * step + items.length) % items.length;
|
|
1528
|
+
if (!((_a = items[nextIndex]) == null ? void 0 : _a.disabled))
|
|
1529
|
+
return nextIndex;
|
|
1530
|
+
}
|
|
1531
|
+
return -1;
|
|
1532
|
+
};
|
|
1533
|
+
var findEdgeEnabledIndex = (items, direction) => {
|
|
1534
|
+
var _a;
|
|
1535
|
+
if (direction === 1) {
|
|
1536
|
+
return items.findIndex((item) => !item.disabled);
|
|
1537
|
+
}
|
|
1538
|
+
for (let index = items.length - 1; index >= 0; index -= 1) {
|
|
1539
|
+
if (!((_a = items[index]) == null ? void 0 : _a.disabled))
|
|
1540
|
+
return index;
|
|
1541
|
+
}
|
|
1542
|
+
return -1;
|
|
1543
|
+
};
|
|
1544
|
+
var FALLBACK_TAB_WIDTH = 112;
|
|
1545
|
+
var FALLBACK_MORE_WIDTH = 56;
|
|
1546
|
+
var sumWidths = (indices, widths) => {
|
|
1547
|
+
return [...indices].reduce((accumulator, index) => {
|
|
1548
|
+
var _a;
|
|
1549
|
+
return accumulator + ((_a = widths[index]) != null ? _a : 0);
|
|
1550
|
+
}, 0);
|
|
1551
|
+
};
|
|
1552
|
+
var resolveTabsOverflowLayout = ({
|
|
1553
|
+
items,
|
|
1554
|
+
value,
|
|
1555
|
+
containerWidth,
|
|
1556
|
+
moreButtonWidth,
|
|
1557
|
+
itemWidthByValue
|
|
1558
|
+
}) => {
|
|
1559
|
+
var _a;
|
|
1560
|
+
if (items.length === 0) {
|
|
1561
|
+
return {
|
|
1562
|
+
visibleItems: [],
|
|
1563
|
+
hiddenItems: []
|
|
1564
|
+
};
|
|
1565
|
+
}
|
|
1566
|
+
if (!Number.isFinite(containerWidth) || containerWidth <= 0) {
|
|
1567
|
+
return {
|
|
1568
|
+
visibleItems: items,
|
|
1569
|
+
hiddenItems: []
|
|
1570
|
+
};
|
|
1571
|
+
}
|
|
1572
|
+
const resolvedItemWidths = items.map((item) => {
|
|
1573
|
+
var _a2;
|
|
1574
|
+
const measuredWidth = (_a2 = itemWidthByValue.get(item.value)) != null ? _a2 : FALLBACK_TAB_WIDTH;
|
|
1575
|
+
return Math.max(1, measuredWidth);
|
|
1576
|
+
});
|
|
1577
|
+
const totalItemsWidth = resolvedItemWidths.reduce((sum, width) => {
|
|
1578
|
+
return sum + width;
|
|
1579
|
+
}, 0);
|
|
1580
|
+
if (totalItemsWidth <= containerWidth) {
|
|
1581
|
+
return {
|
|
1582
|
+
visibleItems: items,
|
|
1583
|
+
hiddenItems: []
|
|
1584
|
+
};
|
|
1585
|
+
}
|
|
1586
|
+
const reservedMoreWidth = Math.max(1, moreButtonWidth || FALLBACK_MORE_WIDTH);
|
|
1587
|
+
const visibleIndices = /* @__PURE__ */ new Set();
|
|
1588
|
+
let usedWidth = 0;
|
|
1589
|
+
for (let index = 0; index < items.length; index += 1) {
|
|
1590
|
+
const itemWidth = (_a = resolvedItemWidths[index]) != null ? _a : FALLBACK_TAB_WIDTH;
|
|
1591
|
+
const hasRemainingItems = index < items.length - 1;
|
|
1592
|
+
const requiredExtraWidth = hasRemainingItems ? reservedMoreWidth : 0;
|
|
1593
|
+
if (usedWidth + itemWidth + requiredExtraWidth > containerWidth)
|
|
1594
|
+
break;
|
|
1595
|
+
visibleIndices.add(index);
|
|
1596
|
+
usedWidth += itemWidth;
|
|
1597
|
+
}
|
|
1598
|
+
if (visibleIndices.size === 0) {
|
|
1599
|
+
visibleIndices.add(0);
|
|
1600
|
+
}
|
|
1601
|
+
const activeIndex = items.findIndex((item) => item.value === value);
|
|
1602
|
+
const isActiveHidden = activeIndex >= 0 && !visibleIndices.has(activeIndex);
|
|
1603
|
+
if (isActiveHidden && activeIndex >= 0) {
|
|
1604
|
+
visibleIndices.add(activeIndex);
|
|
1605
|
+
while (visibleIndices.size > 1) {
|
|
1606
|
+
const visibleWidth = sumWidths(visibleIndices, resolvedItemWidths);
|
|
1607
|
+
if (visibleWidth + reservedMoreWidth <= containerWidth)
|
|
1608
|
+
break;
|
|
1609
|
+
const removableIndex = [...visibleIndices].sort((left, right) => right - left).find((index) => index !== activeIndex);
|
|
1610
|
+
if (removableIndex == null)
|
|
1611
|
+
break;
|
|
1612
|
+
visibleIndices.delete(removableIndex);
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
return {
|
|
1616
|
+
visibleItems: items.filter((_, index) => visibleIndices.has(index)),
|
|
1617
|
+
hiddenItems: items.filter((_, index) => !visibleIndices.has(index))
|
|
1618
|
+
};
|
|
1619
|
+
};
|
|
1620
|
+
|
|
1621
|
+
// src/primitives/tabs/index.tsx
|
|
1622
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1623
|
+
var mobileTabsMediaQuery = "(max-width: 767px)";
|
|
1624
|
+
var getTabButtonClassName = ({
|
|
1625
|
+
enableAnimations,
|
|
1626
|
+
isBarVariant,
|
|
1627
|
+
isActive,
|
|
1628
|
+
isDisabled,
|
|
1629
|
+
size
|
|
1630
|
+
}) => {
|
|
1631
|
+
const isSmall = size === "s";
|
|
1632
|
+
return cn(
|
|
1633
|
+
"cursor-pointer disabled:cursor-not-allowed",
|
|
1634
|
+
"relative inline-flex h-full shrink-0 items-center justify-center gap-2 font-agg-sans",
|
|
1635
|
+
getMotionClassName(enableAnimations, "transition-colors motion-reduce:transition-none"),
|
|
1636
|
+
isBarVariant ? cn(
|
|
1637
|
+
"min-w-20 overflow-hidden border-r border-agg-separator last:border-r-0",
|
|
1638
|
+
isSmall ? "px-3 text-agg-sm leading-agg-5" : "px-4 text-agg-base leading-agg-6"
|
|
1639
|
+
) : cn(isSmall ? "px-4 text-agg-sm leading-agg-5" : "px-5 text-agg-base leading-agg-6"),
|
|
1640
|
+
isBarVariant && isActive && "font-agg-bold text-agg-primary",
|
|
1641
|
+
isBarVariant && !isActive && "font-agg-normal text-agg-foreground",
|
|
1642
|
+
!isBarVariant && isActive && "font-agg-bold text-agg-primary",
|
|
1643
|
+
!isBarVariant && !isActive && "font-agg-normal text-agg-foreground",
|
|
1644
|
+
isDisabled && "cursor-not-allowed opacity-60"
|
|
1645
|
+
);
|
|
1646
|
+
};
|
|
1647
|
+
var getMeasureTabClassName = ({
|
|
1648
|
+
isBarVariant,
|
|
1649
|
+
size
|
|
1650
|
+
}) => {
|
|
1651
|
+
const isSmall = size === "s";
|
|
1652
|
+
return cn(
|
|
1653
|
+
"relative inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap font-agg-sans",
|
|
1654
|
+
isBarVariant ? cn(
|
|
1655
|
+
"h-8 min-w-20 border-r border-agg-separator font-agg-bold",
|
|
1656
|
+
isSmall ? "px-3 text-agg-sm leading-agg-5" : "px-4 text-agg-base leading-agg-6"
|
|
1657
|
+
) : cn(
|
|
1658
|
+
"h-12 font-agg-bold",
|
|
1659
|
+
isSmall ? "px-4 text-agg-sm leading-agg-5" : "px-5 text-agg-base leading-agg-6"
|
|
1660
|
+
)
|
|
1661
|
+
);
|
|
1662
|
+
};
|
|
1663
|
+
var getMoreButtonClassName = ({
|
|
1664
|
+
enableAnimations,
|
|
1665
|
+
isBarVariant,
|
|
1666
|
+
size
|
|
1667
|
+
}) => {
|
|
1668
|
+
const isSmall = size === "s";
|
|
1669
|
+
return cn(
|
|
1670
|
+
"cursor-pointer disabled:cursor-not-allowed",
|
|
1671
|
+
"relative inline-flex shrink-0 items-center justify-center overflow-hidden font-agg-sans text-agg-foreground hover:bg-agg-secondary-hover",
|
|
1672
|
+
getMotionClassName(enableAnimations, "transition-colors motion-reduce:transition-none"),
|
|
1673
|
+
isBarVariant ? "h-8 rounded-r-agg-sm border border-agg-separator bg-agg-secondary px-2" : cn("h-12 bg-agg-secondary", isSmall ? "px-3 text-agg-sm" : "px-4 text-agg-base")
|
|
1674
|
+
);
|
|
1675
|
+
};
|
|
1676
|
+
var Tabs = ({
|
|
1677
|
+
items,
|
|
1678
|
+
value,
|
|
1679
|
+
onChange,
|
|
1680
|
+
variant = "bar",
|
|
1681
|
+
size = "m",
|
|
1682
|
+
overflowBehavior,
|
|
1683
|
+
overflowMenuAriaLabel,
|
|
1684
|
+
ariaLabel,
|
|
1685
|
+
className
|
|
1686
|
+
}) => {
|
|
1687
|
+
const labels = (0, import_hooks10.useLabels)();
|
|
1688
|
+
const { enableAnimations, rootClassName } = (0, import_hooks10.useSdkUiConfig)();
|
|
1689
|
+
const buttonRefs = (0, import_react.useRef)([]);
|
|
1690
|
+
const dragStateRef = (0, import_react.useRef)({
|
|
1691
|
+
isPointerDown: false,
|
|
1692
|
+
isDragging: false,
|
|
1693
|
+
pointerId: null,
|
|
1694
|
+
startClientX: 0,
|
|
1695
|
+
startClientY: 0,
|
|
1696
|
+
startScrollLeft: 0
|
|
1697
|
+
});
|
|
1698
|
+
const suppressClickRef = (0, import_react.useRef)(false);
|
|
1699
|
+
const resolvedAriaLabel = ariaLabel != null ? ariaLabel : labels.common.tabsAria;
|
|
1700
|
+
const resolvedOverflowMenuAriaLabel = overflowMenuAriaLabel != null ? overflowMenuAriaLabel : labels.common.hiddenTabsAria;
|
|
1701
|
+
const [isMoreMenuOpen, setIsMoreMenuOpen] = (0, import_react.useState)(false);
|
|
1702
|
+
const [isMobileViewport, setIsMobileViewport] = (0, import_react.useState)(false);
|
|
1703
|
+
const [isDraggingTabs, setIsDraggingTabs] = (0, import_react.useState)(false);
|
|
1704
|
+
const [activeUnderlineStyle, setActiveUnderlineStyle] = (0, import_react.useState)({
|
|
1705
|
+
transform: "translateX(0px)",
|
|
1706
|
+
width: 0,
|
|
1707
|
+
opacity: 0
|
|
1708
|
+
});
|
|
1709
|
+
const [overflowLayout, setOverflowLayout] = (0, import_react.useState)({
|
|
1710
|
+
visibleItems: items,
|
|
1711
|
+
hiddenItems: []
|
|
1712
|
+
});
|
|
1713
|
+
const [scrollAffordanceState, setScrollAffordanceState] = (0, import_react.useState)({
|
|
1714
|
+
showStart: false,
|
|
1715
|
+
showEnd: false
|
|
1716
|
+
});
|
|
1717
|
+
const containerRef = (0, import_react.useRef)(null);
|
|
1718
|
+
const tabListRef = (0, import_react.useRef)(null);
|
|
1719
|
+
const moreButtonMeasureRef = (0, import_react.useRef)(null);
|
|
1720
|
+
const tabMeasureRefs = (0, import_react.useRef)(/* @__PURE__ */ new Map());
|
|
1721
|
+
const isBarVariant = variant === "bar";
|
|
1722
|
+
const resolvedOverflowBehavior = (0, import_react.useMemo)(() => {
|
|
1723
|
+
if (overflowBehavior)
|
|
1724
|
+
return overflowBehavior;
|
|
1725
|
+
if (!isBarVariant)
|
|
1726
|
+
return "scroll";
|
|
1727
|
+
return isMobileViewport ? "select" : "menu";
|
|
1728
|
+
}, [isBarVariant, isMobileViewport, overflowBehavior]);
|
|
1729
|
+
const shouldUseOverflowMenu = resolvedOverflowBehavior === "menu";
|
|
1730
|
+
const shouldUseOverflowScroll = resolvedOverflowBehavior === "scroll";
|
|
1731
|
+
const shouldUseOverflowSelect = resolvedOverflowBehavior === "select";
|
|
1732
|
+
const handleMeasureTabRef = (0, import_react.useCallback)(
|
|
1733
|
+
(tabValue, tabElement) => {
|
|
1734
|
+
if (!tabElement) {
|
|
1735
|
+
tabMeasureRefs.current.delete(tabValue);
|
|
1736
|
+
return;
|
|
1737
|
+
}
|
|
1738
|
+
tabMeasureRefs.current.set(tabValue, tabElement);
|
|
1739
|
+
},
|
|
1740
|
+
[]
|
|
1741
|
+
);
|
|
1742
|
+
(0, import_react.useEffect)(() => {
|
|
1743
|
+
if (typeof window === "undefined")
|
|
1744
|
+
return;
|
|
1745
|
+
const mediaQueryList = window.matchMedia(mobileTabsMediaQuery);
|
|
1746
|
+
const handleMediaQueryChange = (event) => {
|
|
1747
|
+
setIsMobileViewport(event.matches);
|
|
1748
|
+
};
|
|
1749
|
+
handleMediaQueryChange(mediaQueryList);
|
|
1750
|
+
if (typeof mediaQueryList.addEventListener === "function") {
|
|
1751
|
+
mediaQueryList.addEventListener("change", handleMediaQueryChange);
|
|
1752
|
+
return () => {
|
|
1753
|
+
mediaQueryList.removeEventListener("change", handleMediaQueryChange);
|
|
1754
|
+
};
|
|
1755
|
+
}
|
|
1756
|
+
mediaQueryList.addListener(handleMediaQueryChange);
|
|
1757
|
+
return () => {
|
|
1758
|
+
mediaQueryList.removeListener(handleMediaQueryChange);
|
|
1759
|
+
};
|
|
1760
|
+
}, []);
|
|
1761
|
+
const handleRecalculateOverflow = (0, import_react.useCallback)(() => {
|
|
1762
|
+
var _a, _b, _c, _d;
|
|
1763
|
+
if (!shouldUseOverflowMenu) {
|
|
1764
|
+
setOverflowLayout({
|
|
1765
|
+
visibleItems: items,
|
|
1766
|
+
hiddenItems: []
|
|
1767
|
+
});
|
|
1768
|
+
return;
|
|
1769
|
+
}
|
|
1770
|
+
const containerWidth = (_b = (_a = containerRef.current) == null ? void 0 : _a.clientWidth) != null ? _b : 0;
|
|
1771
|
+
const moreButtonWidth = (_d = (_c = moreButtonMeasureRef.current) == null ? void 0 : _c.offsetWidth) != null ? _d : 0;
|
|
1772
|
+
const itemWidthByValue = new Map(
|
|
1773
|
+
items.map((item) => {
|
|
1774
|
+
var _a2, _b2;
|
|
1775
|
+
return [item.value, (_b2 = (_a2 = tabMeasureRefs.current.get(item.value)) == null ? void 0 : _a2.offsetWidth) != null ? _b2 : 0];
|
|
1776
|
+
})
|
|
1777
|
+
);
|
|
1778
|
+
setOverflowLayout(
|
|
1779
|
+
resolveTabsOverflowLayout({
|
|
1780
|
+
items,
|
|
1781
|
+
value,
|
|
1782
|
+
containerWidth,
|
|
1783
|
+
moreButtonWidth,
|
|
1784
|
+
itemWidthByValue
|
|
1785
|
+
})
|
|
1786
|
+
);
|
|
1787
|
+
}, [items, shouldUseOverflowMenu, value]);
|
|
1788
|
+
(0, import_react.useEffect)(() => {
|
|
1789
|
+
handleRecalculateOverflow();
|
|
1790
|
+
}, [handleRecalculateOverflow]);
|
|
1791
|
+
(0, import_react.useEffect)(() => {
|
|
1792
|
+
if (!shouldUseOverflowMenu)
|
|
1793
|
+
return;
|
|
1794
|
+
const container = containerRef.current;
|
|
1795
|
+
if (!container || typeof ResizeObserver === "undefined")
|
|
1796
|
+
return;
|
|
1797
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
1798
|
+
handleRecalculateOverflow();
|
|
1799
|
+
});
|
|
1800
|
+
resizeObserver.observe(container);
|
|
1801
|
+
return () => {
|
|
1802
|
+
resizeObserver.disconnect();
|
|
1803
|
+
};
|
|
1804
|
+
}, [handleRecalculateOverflow, shouldUseOverflowMenu]);
|
|
1805
|
+
(0, import_react.useEffect)(() => {
|
|
1806
|
+
if (overflowLayout.hiddenItems.length > 0)
|
|
1807
|
+
return;
|
|
1808
|
+
setIsMoreMenuOpen(false);
|
|
1809
|
+
}, [overflowLayout.hiddenItems.length]);
|
|
1810
|
+
const updateScrollAffordances = (0, import_react.useCallback)(() => {
|
|
1811
|
+
if (!shouldUseOverflowScroll) {
|
|
1812
|
+
setScrollAffordanceState({
|
|
1813
|
+
showStart: false,
|
|
1814
|
+
showEnd: false
|
|
1815
|
+
});
|
|
1816
|
+
return;
|
|
1817
|
+
}
|
|
1818
|
+
const tabListElement = tabListRef.current;
|
|
1819
|
+
if (!tabListElement)
|
|
1820
|
+
return;
|
|
1821
|
+
const maxScrollLeft = tabListElement.scrollWidth - tabListElement.clientWidth;
|
|
1822
|
+
setScrollAffordanceState({
|
|
1823
|
+
showStart: tabListElement.scrollLeft > 4,
|
|
1824
|
+
showEnd: maxScrollLeft - tabListElement.scrollLeft > 4
|
|
1825
|
+
});
|
|
1826
|
+
}, [shouldUseOverflowScroll]);
|
|
1827
|
+
const renderedItems = shouldUseOverflowMenu ? overflowLayout.visibleItems : items;
|
|
1828
|
+
const shouldShowMoreButton = shouldUseOverflowMenu && overflowLayout.hiddenItems.length > 0;
|
|
1829
|
+
const selectItems = (0, import_react.useMemo)(() => {
|
|
1830
|
+
return items.map((item) => ({
|
|
1831
|
+
value: item.value,
|
|
1832
|
+
label: item.label,
|
|
1833
|
+
disabled: item.disabled
|
|
1834
|
+
}));
|
|
1835
|
+
}, [items]);
|
|
1836
|
+
const isSelectDisabled = !items.some((item) => !item.disabled);
|
|
1837
|
+
const handleSelect = (nextValue) => {
|
|
1838
|
+
if (nextValue === value)
|
|
1839
|
+
return;
|
|
1840
|
+
onChange(nextValue);
|
|
1841
|
+
};
|
|
1842
|
+
const handleMoveFocus = (index) => {
|
|
1843
|
+
var _a;
|
|
1844
|
+
if (index < 0)
|
|
1845
|
+
return;
|
|
1846
|
+
const nextItem = renderedItems[index];
|
|
1847
|
+
if (!nextItem)
|
|
1848
|
+
return;
|
|
1849
|
+
handleSelect(nextItem.value);
|
|
1850
|
+
(_a = buttonRefs.current[index]) == null ? void 0 : _a.focus();
|
|
1851
|
+
};
|
|
1852
|
+
const handleKeyDown = (event, index) => {
|
|
1853
|
+
switch (event.key) {
|
|
1854
|
+
case "ArrowRight": {
|
|
1855
|
+
event.preventDefault();
|
|
1856
|
+
handleMoveFocus(findNextEnabledIndex(renderedItems, index, 1));
|
|
1857
|
+
return;
|
|
1858
|
+
}
|
|
1859
|
+
case "ArrowLeft": {
|
|
1860
|
+
event.preventDefault();
|
|
1861
|
+
handleMoveFocus(findNextEnabledIndex(renderedItems, index, -1));
|
|
1862
|
+
return;
|
|
1863
|
+
}
|
|
1864
|
+
case "Home": {
|
|
1865
|
+
event.preventDefault();
|
|
1866
|
+
handleMoveFocus(findEdgeEnabledIndex(renderedItems, 1));
|
|
1867
|
+
return;
|
|
1868
|
+
}
|
|
1869
|
+
case "End": {
|
|
1870
|
+
event.preventDefault();
|
|
1871
|
+
handleMoveFocus(findEdgeEnabledIndex(renderedItems, -1));
|
|
1872
|
+
return;
|
|
1873
|
+
}
|
|
1874
|
+
default:
|
|
1875
|
+
return;
|
|
1876
|
+
}
|
|
1877
|
+
};
|
|
1878
|
+
const activeHiddenItem = (0, import_react.useMemo)(() => {
|
|
1879
|
+
if (!shouldUseOverflowMenu)
|
|
1880
|
+
return void 0;
|
|
1881
|
+
return overflowLayout.hiddenItems.find((item) => item.value === value);
|
|
1882
|
+
}, [overflowLayout.hiddenItems, shouldUseOverflowMenu, value]);
|
|
1883
|
+
const tabListClassName = cn(
|
|
1884
|
+
"inline-flex items-stretch bg-agg-secondary",
|
|
1885
|
+
shouldUseOverflowMenu ? "min-w-0 flex-1 overflow-hidden" : shouldUseOverflowScroll ? cn(
|
|
1886
|
+
"overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
|
|
1887
|
+
getMotionClassName(enableAnimations, "scroll-smooth")
|
|
1888
|
+
) : "overflow-x-auto",
|
|
1889
|
+
isBarVariant ? "h-8 rounded-agg-sm border border-agg-separator" : "h-12 border-b border-agg-separator -mb-[1px]",
|
|
1890
|
+
shouldUseOverflowScroll && "select-none",
|
|
1891
|
+
shouldUseOverflowScroll && !isBarVariant && "snap-x snap-mandatory",
|
|
1892
|
+
shouldUseOverflowScroll && (isDraggingTabs ? "cursor-grabbing" : "cursor-grab"),
|
|
1893
|
+
shouldShowMoreButton && isBarVariant && "rounded-r-none border-r-0"
|
|
1894
|
+
);
|
|
1895
|
+
const handleTabListWheel = (event) => {
|
|
1896
|
+
if (!shouldUseOverflowScroll)
|
|
1897
|
+
return;
|
|
1898
|
+
const tabListElement = event.currentTarget;
|
|
1899
|
+
if (tabListElement.scrollWidth <= tabListElement.clientWidth)
|
|
1900
|
+
return;
|
|
1901
|
+
if (Math.abs(event.deltaX) > Math.abs(event.deltaY))
|
|
1902
|
+
return;
|
|
1903
|
+
event.preventDefault();
|
|
1904
|
+
tabListElement.scrollLeft += event.deltaY;
|
|
1905
|
+
};
|
|
1906
|
+
const handleTabListPointerDown = (event) => {
|
|
1907
|
+
if (!shouldUseOverflowScroll)
|
|
1908
|
+
return;
|
|
1909
|
+
if (event.pointerType !== "mouse")
|
|
1910
|
+
return;
|
|
1911
|
+
if (event.button !== 0)
|
|
1912
|
+
return;
|
|
1913
|
+
const tabListElement = tabListRef.current;
|
|
1914
|
+
if (!tabListElement)
|
|
1915
|
+
return;
|
|
1916
|
+
if (tabListElement.scrollWidth <= tabListElement.clientWidth)
|
|
1917
|
+
return;
|
|
1918
|
+
dragStateRef.current = {
|
|
1919
|
+
isPointerDown: true,
|
|
1920
|
+
isDragging: false,
|
|
1921
|
+
pointerId: event.pointerId,
|
|
1922
|
+
startClientX: event.clientX,
|
|
1923
|
+
startClientY: event.clientY,
|
|
1924
|
+
startScrollLeft: tabListElement.scrollLeft
|
|
1925
|
+
};
|
|
1926
|
+
};
|
|
1927
|
+
const handleTabListPointerMove = (event) => {
|
|
1928
|
+
if (!shouldUseOverflowScroll)
|
|
1929
|
+
return;
|
|
1930
|
+
const dragState = dragStateRef.current;
|
|
1931
|
+
const tabListElement = tabListRef.current;
|
|
1932
|
+
if (!dragState.isPointerDown)
|
|
1933
|
+
return;
|
|
1934
|
+
if (dragState.pointerId !== event.pointerId)
|
|
1935
|
+
return;
|
|
1936
|
+
if (!tabListElement)
|
|
1937
|
+
return;
|
|
1938
|
+
const deltaX = event.clientX - dragState.startClientX;
|
|
1939
|
+
const deltaY = event.clientY - dragState.startClientY;
|
|
1940
|
+
const horizontalDistance = Math.abs(deltaX);
|
|
1941
|
+
const verticalDistance = Math.abs(deltaY);
|
|
1942
|
+
const hasExceededDragThreshold = horizontalDistance > 10 && horizontalDistance > verticalDistance;
|
|
1943
|
+
if (hasExceededDragThreshold && !dragState.isDragging) {
|
|
1944
|
+
dragState.isDragging = true;
|
|
1945
|
+
setIsDraggingTabs(true);
|
|
1946
|
+
tabListElement.setPointerCapture(event.pointerId);
|
|
1947
|
+
}
|
|
1948
|
+
if (!dragState.isDragging)
|
|
1949
|
+
return;
|
|
1950
|
+
event.preventDefault();
|
|
1951
|
+
tabListElement.scrollLeft = dragState.startScrollLeft - deltaX;
|
|
1952
|
+
};
|
|
1953
|
+
const handleEndTabListDrag = (event) => {
|
|
1954
|
+
const dragState = dragStateRef.current;
|
|
1955
|
+
const tabListElement = tabListRef.current;
|
|
1956
|
+
if (!dragState.isPointerDown)
|
|
1957
|
+
return;
|
|
1958
|
+
if (dragState.pointerId !== event.pointerId)
|
|
1959
|
+
return;
|
|
1960
|
+
if (tabListElement == null ? void 0 : tabListElement.hasPointerCapture(event.pointerId)) {
|
|
1961
|
+
tabListElement.releasePointerCapture(event.pointerId);
|
|
1962
|
+
}
|
|
1963
|
+
if (dragState.isDragging) {
|
|
1964
|
+
suppressClickRef.current = true;
|
|
1965
|
+
window.setTimeout(() => {
|
|
1966
|
+
suppressClickRef.current = false;
|
|
1967
|
+
}, 0);
|
|
1968
|
+
}
|
|
1969
|
+
dragStateRef.current = {
|
|
1970
|
+
isPointerDown: false,
|
|
1971
|
+
isDragging: false,
|
|
1972
|
+
pointerId: null,
|
|
1973
|
+
startClientX: 0,
|
|
1974
|
+
startClientY: 0,
|
|
1975
|
+
startScrollLeft: 0
|
|
1976
|
+
};
|
|
1977
|
+
setIsDraggingTabs(false);
|
|
1978
|
+
};
|
|
1979
|
+
const handleTabListClickCapture = (event) => {
|
|
1980
|
+
if (!suppressClickRef.current)
|
|
1981
|
+
return;
|
|
1982
|
+
event.preventDefault();
|
|
1983
|
+
event.stopPropagation();
|
|
1984
|
+
suppressClickRef.current = false;
|
|
1985
|
+
};
|
|
1986
|
+
const handleSelectHiddenItem = (nextValue) => {
|
|
1987
|
+
handleSelect(nextValue);
|
|
1988
|
+
setIsMoreMenuOpen(false);
|
|
1989
|
+
};
|
|
1990
|
+
const updateActiveUnderline = (0, import_react.useCallback)(() => {
|
|
1991
|
+
if (isBarVariant) {
|
|
1992
|
+
setActiveUnderlineStyle({
|
|
1993
|
+
transform: "translateX(0px)",
|
|
1994
|
+
width: 0,
|
|
1995
|
+
opacity: 0
|
|
1996
|
+
});
|
|
1997
|
+
return;
|
|
1998
|
+
}
|
|
1999
|
+
const activeIndex = renderedItems.findIndex((item) => item.value === value);
|
|
2000
|
+
const activeButton = activeIndex >= 0 ? buttonRefs.current[activeIndex] : null;
|
|
2001
|
+
if (!activeButton || !tabListRef.current) {
|
|
2002
|
+
setActiveUnderlineStyle((currentStyle) => __spreadProps(__spreadValues({}, currentStyle), {
|
|
2003
|
+
opacity: 0
|
|
2004
|
+
}));
|
|
2005
|
+
return;
|
|
2006
|
+
}
|
|
2007
|
+
setActiveUnderlineStyle({
|
|
2008
|
+
transform: `translateX(${activeButton.offsetLeft}px)`,
|
|
2009
|
+
width: activeButton.offsetWidth,
|
|
2010
|
+
opacity: 1
|
|
2011
|
+
});
|
|
2012
|
+
}, [isBarVariant, renderedItems, value]);
|
|
2013
|
+
(0, import_react.useLayoutEffect)(() => {
|
|
2014
|
+
updateActiveUnderline();
|
|
2015
|
+
}, [updateActiveUnderline]);
|
|
2016
|
+
(0, import_react.useEffect)(() => {
|
|
2017
|
+
if (isBarVariant || !shouldUseOverflowScroll)
|
|
2018
|
+
return;
|
|
2019
|
+
const tabListElement = tabListRef.current;
|
|
2020
|
+
if (!tabListElement)
|
|
2021
|
+
return;
|
|
2022
|
+
const handleScroll = () => {
|
|
2023
|
+
updateActiveUnderline();
|
|
2024
|
+
updateScrollAffordances();
|
|
2025
|
+
};
|
|
2026
|
+
tabListElement.addEventListener("scroll", handleScroll, { passive: true });
|
|
2027
|
+
updateScrollAffordances();
|
|
2028
|
+
return () => {
|
|
2029
|
+
tabListElement.removeEventListener("scroll", handleScroll);
|
|
2030
|
+
};
|
|
2031
|
+
}, [isBarVariant, shouldUseOverflowScroll, updateActiveUnderline, updateScrollAffordances]);
|
|
2032
|
+
(0, import_react.useEffect)(() => {
|
|
2033
|
+
if (!shouldUseOverflowScroll)
|
|
2034
|
+
return;
|
|
2035
|
+
updateScrollAffordances();
|
|
2036
|
+
}, [renderedItems, shouldUseOverflowScroll, updateScrollAffordances, value]);
|
|
2037
|
+
(0, import_react.useEffect)(() => {
|
|
2038
|
+
if (isBarVariant && !shouldUseOverflowScroll)
|
|
2039
|
+
return;
|
|
2040
|
+
if (typeof ResizeObserver === "undefined")
|
|
2041
|
+
return;
|
|
2042
|
+
const tabListElement = tabListRef.current;
|
|
2043
|
+
if (!tabListElement)
|
|
2044
|
+
return;
|
|
2045
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
2046
|
+
updateActiveUnderline();
|
|
2047
|
+
updateScrollAffordances();
|
|
2048
|
+
});
|
|
2049
|
+
resizeObserver.observe(tabListElement);
|
|
2050
|
+
return () => {
|
|
2051
|
+
resizeObserver.disconnect();
|
|
2052
|
+
};
|
|
2053
|
+
}, [isBarVariant, shouldUseOverflowScroll, updateActiveUnderline, updateScrollAffordances]);
|
|
2054
|
+
(0, import_react.useEffect)(() => {
|
|
2055
|
+
if (!shouldUseOverflowScroll)
|
|
2056
|
+
return;
|
|
2057
|
+
const activeIndex = renderedItems.findIndex((item) => item.value === value);
|
|
2058
|
+
const activeButton = activeIndex >= 0 ? buttonRefs.current[activeIndex] : null;
|
|
2059
|
+
if (!activeButton)
|
|
2060
|
+
return;
|
|
2061
|
+
activeButton.scrollIntoView({
|
|
2062
|
+
behavior: getScrollBehavior(enableAnimations),
|
|
2063
|
+
block: "nearest",
|
|
2064
|
+
inline: "nearest"
|
|
2065
|
+
});
|
|
2066
|
+
}, [enableAnimations, renderedItems, shouldUseOverflowScroll, value]);
|
|
2067
|
+
if (shouldUseOverflowSelect) {
|
|
2068
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: cn("w-full", className), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2069
|
+
Select,
|
|
2070
|
+
{
|
|
2071
|
+
ariaLabel,
|
|
2072
|
+
className: "w-full",
|
|
2073
|
+
disabled: isSelectDisabled,
|
|
2074
|
+
items: selectItems,
|
|
2075
|
+
onChange: handleSelect,
|
|
2076
|
+
value
|
|
2077
|
+
}
|
|
2078
|
+
) });
|
|
2079
|
+
}
|
|
2080
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2081
|
+
"div",
|
|
2082
|
+
{
|
|
2083
|
+
ref: containerRef,
|
|
2084
|
+
className: cn(
|
|
2085
|
+
"relative inline-flex max-w-full items-stretch font-agg-sans bg-agg-secondary",
|
|
2086
|
+
className
|
|
2087
|
+
),
|
|
2088
|
+
children: [
|
|
2089
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2090
|
+
"div",
|
|
2091
|
+
{
|
|
2092
|
+
ref: tabListRef,
|
|
2093
|
+
role: "tablist",
|
|
2094
|
+
"aria-label": resolvedAriaLabel,
|
|
2095
|
+
className: cn("relative", tabListClassName),
|
|
2096
|
+
onClickCapture: handleTabListClickCapture,
|
|
2097
|
+
onPointerCancel: handleEndTabListDrag,
|
|
2098
|
+
onPointerDown: handleTabListPointerDown,
|
|
2099
|
+
onPointerMove: handleTabListPointerMove,
|
|
2100
|
+
onPointerUp: handleEndTabListDrag,
|
|
2101
|
+
onWheel: handleTabListWheel,
|
|
2102
|
+
children: [
|
|
2103
|
+
renderedItems.map((item, index) => {
|
|
2104
|
+
const isActive = item.value === value;
|
|
2105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2106
|
+
"button",
|
|
2107
|
+
{
|
|
2108
|
+
ref: (buttonElement) => {
|
|
2109
|
+
buttonRefs.current[index] = buttonElement;
|
|
2110
|
+
},
|
|
2111
|
+
type: "button",
|
|
2112
|
+
role: "tab",
|
|
2113
|
+
tabIndex: isActive ? 0 : -1,
|
|
2114
|
+
"aria-selected": isActive,
|
|
2115
|
+
"aria-label": item.label,
|
|
2116
|
+
disabled: item.disabled,
|
|
2117
|
+
onClick: () => handleSelect(item.value),
|
|
2118
|
+
onKeyDown: (event) => handleKeyDown(event, index),
|
|
2119
|
+
className: cn(
|
|
2120
|
+
getTabButtonClassName({
|
|
2121
|
+
enableAnimations,
|
|
2122
|
+
isBarVariant,
|
|
2123
|
+
isActive,
|
|
2124
|
+
isDisabled: !!item.disabled,
|
|
2125
|
+
size
|
|
2126
|
+
}),
|
|
2127
|
+
shouldUseOverflowScroll && !isBarVariant && "snap-start"
|
|
2128
|
+
),
|
|
2129
|
+
children: [
|
|
2130
|
+
isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2131
|
+
"span",
|
|
2132
|
+
{
|
|
2133
|
+
"aria-hidden": true,
|
|
2134
|
+
className: cn(
|
|
2135
|
+
"pointer-events-none absolute inset-px origin-bottom rounded-[2px] bg-agg-secondary-hover",
|
|
2136
|
+
getMotionClassName(
|
|
2137
|
+
enableAnimations,
|
|
2138
|
+
"transition-[transform,opacity] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none"
|
|
2139
|
+
),
|
|
2140
|
+
isActive ? "scale-y-100 opacity-100" : "scale-y-0 opacity-0"
|
|
2141
|
+
)
|
|
2142
|
+
}
|
|
2143
|
+
) }) : null,
|
|
2144
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "relative z-10 inline-flex shrink-0 items-center justify-center", children: item.icon }) : null,
|
|
2145
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "relative z-10 truncate whitespace-nowrap [&::first-letter]:uppercase", children: item.label })
|
|
2146
|
+
]
|
|
2147
|
+
},
|
|
2148
|
+
item.value
|
|
2149
|
+
);
|
|
2150
|
+
}),
|
|
2151
|
+
!isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2152
|
+
"span",
|
|
2153
|
+
{
|
|
2154
|
+
"aria-hidden": true,
|
|
2155
|
+
className: cn(
|
|
2156
|
+
"pointer-events-none absolute bottom-0 left-0 rounded-t-agg-sm bg-agg-primary",
|
|
2157
|
+
getMotionClassName(
|
|
2158
|
+
enableAnimations,
|
|
2159
|
+
"transition-[transform,width,opacity] duration-300 ease-[cubic-bezier(0.4,0,0.2,1)]"
|
|
2160
|
+
),
|
|
2161
|
+
"h-[3px]"
|
|
2162
|
+
),
|
|
2163
|
+
style: activeUnderlineStyle
|
|
2164
|
+
}
|
|
2165
|
+
) : null
|
|
2166
|
+
]
|
|
2167
|
+
}
|
|
2168
|
+
),
|
|
2169
|
+
shouldUseOverflowScroll && !isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
|
|
2170
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2171
|
+
"span",
|
|
2172
|
+
{
|
|
2173
|
+
"aria-hidden": true,
|
|
2174
|
+
className: cn(
|
|
2175
|
+
"pointer-events-none absolute top-0 bottom-0 left-0 z-10 w-12 md:w-18 bg-gradient-to-r from-agg-secondary via-agg-secondary to-transparent",
|
|
2176
|
+
getMotionClassName(enableAnimations, "transition-opacity duration-200"),
|
|
2177
|
+
scrollAffordanceState.showStart ? "opacity-100" : "opacity-0"
|
|
2178
|
+
)
|
|
2179
|
+
}
|
|
2180
|
+
),
|
|
2181
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2182
|
+
"span",
|
|
2183
|
+
{
|
|
2184
|
+
"aria-hidden": true,
|
|
2185
|
+
className: cn(
|
|
2186
|
+
"pointer-events-none absolute top-0 right-0 bottom-0 z-10 w-12 md:w-18 bg-gradient-to-l from-agg-secondary via-agg-secondary to-transparent",
|
|
2187
|
+
getMotionClassName(enableAnimations, "transition-opacity duration-200"),
|
|
2188
|
+
scrollAffordanceState.showEnd ? "opacity-100" : "opacity-0"
|
|
2189
|
+
)
|
|
2190
|
+
}
|
|
2191
|
+
)
|
|
2192
|
+
] }) : null,
|
|
2193
|
+
shouldShowMoreButton ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(DropdownMenu.Root, { open: isMoreMenuOpen, onOpenChange: setIsMoreMenuOpen, children: [
|
|
2194
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2195
|
+
"button",
|
|
2196
|
+
{
|
|
2197
|
+
type: "button",
|
|
2198
|
+
"aria-label": resolvedOverflowMenuAriaLabel,
|
|
2199
|
+
className: cn(
|
|
2200
|
+
getMoreButtonClassName({
|
|
2201
|
+
enableAnimations,
|
|
2202
|
+
isBarVariant,
|
|
2203
|
+
size
|
|
2204
|
+
}),
|
|
2205
|
+
activeHiddenItem ? "font-agg-bold text-agg-primary" : "font-agg-normal text-agg-foreground"
|
|
2206
|
+
),
|
|
2207
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { name: "dots-horizontal", size: isBarVariant ? "s" : "m", color: "currentColor" })
|
|
2208
|
+
}
|
|
2209
|
+
) }),
|
|
2210
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2211
|
+
DropdownMenu.Content,
|
|
2212
|
+
{
|
|
2213
|
+
align: "end",
|
|
2214
|
+
"aria-label": resolvedOverflowMenuAriaLabel,
|
|
2215
|
+
className: cn(
|
|
2216
|
+
AGG_ROOT_CLASS_NAME,
|
|
2217
|
+
rootClassName,
|
|
2218
|
+
"z-agg-dropdown mt-2 min-w-48 overflow-hidden rounded-agg-md border border-agg-separator bg-agg-secondary shadow-agg-popover outline-none"
|
|
2219
|
+
),
|
|
2220
|
+
"data-agg-animations": enableAnimations ? "true" : "false",
|
|
2221
|
+
sideOffset: 8,
|
|
2222
|
+
children: overflowLayout.hiddenItems.map((item) => {
|
|
2223
|
+
const isSelected = item.value === value;
|
|
2224
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2225
|
+
DropdownMenu.Item,
|
|
2226
|
+
{
|
|
2227
|
+
disabled: item.disabled,
|
|
2228
|
+
onSelect: () => handleSelectHiddenItem(item.value),
|
|
2229
|
+
className: cn(
|
|
2230
|
+
"cursor-pointer disabled:cursor-not-allowed",
|
|
2231
|
+
"flex w-full items-center gap-2 px-4 py-2 text-left text-agg-sm leading-agg-5 outline-none",
|
|
2232
|
+
getMotionClassName(enableAnimations, "transition-colors"),
|
|
2233
|
+
"focus:bg-agg-secondary-hover data-[highlighted]:bg-agg-secondary-hover",
|
|
2234
|
+
isSelected ? "font-agg-bold text-agg-primary" : "font-agg-normal text-agg-foreground",
|
|
2235
|
+
item.disabled && "cursor-not-allowed opacity-60"
|
|
2236
|
+
),
|
|
2237
|
+
children: [
|
|
2238
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "inline-flex shrink-0 items-center justify-center", children: item.icon }) : null,
|
|
2239
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "truncate whitespace-nowrap [&::first-letter]:uppercase", children: item.label })
|
|
2240
|
+
]
|
|
2241
|
+
},
|
|
2242
|
+
item.value
|
|
2243
|
+
);
|
|
2244
|
+
})
|
|
2245
|
+
}
|
|
2246
|
+
) })
|
|
2247
|
+
] }) : null,
|
|
2248
|
+
shouldUseOverflowMenu ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2249
|
+
"div",
|
|
2250
|
+
{
|
|
2251
|
+
"aria-hidden": true,
|
|
2252
|
+
className: "pointer-events-none invisible fixed top-0 left-0 -z-10 h-0 overflow-hidden whitespace-nowrap",
|
|
2253
|
+
children: [
|
|
2254
|
+
items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2255
|
+
"span",
|
|
2256
|
+
{
|
|
2257
|
+
ref: (tabElement) => handleMeasureTabRef(item.value, tabElement),
|
|
2258
|
+
className: getMeasureTabClassName({
|
|
2259
|
+
isBarVariant,
|
|
2260
|
+
size
|
|
2261
|
+
}),
|
|
2262
|
+
children: [
|
|
2263
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "inline-flex shrink-0 items-center justify-center", children: item.icon }) : null,
|
|
2264
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { children: item.label })
|
|
2265
|
+
]
|
|
2266
|
+
},
|
|
2267
|
+
`measure-${item.value}`
|
|
2268
|
+
)),
|
|
2269
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2270
|
+
"span",
|
|
2271
|
+
{
|
|
2272
|
+
ref: moreButtonMeasureRef,
|
|
2273
|
+
className: getMoreButtonClassName({
|
|
2274
|
+
enableAnimations,
|
|
2275
|
+
isBarVariant,
|
|
2276
|
+
size
|
|
2277
|
+
}),
|
|
2278
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { name: "dots-horizontal", size: isBarVariant ? "s" : "m", color: "currentColor" })
|
|
2279
|
+
}
|
|
2280
|
+
)
|
|
2281
|
+
]
|
|
2282
|
+
}
|
|
2283
|
+
) : null
|
|
2284
|
+
]
|
|
2285
|
+
}
|
|
2286
|
+
);
|
|
2287
|
+
};
|
|
2288
|
+
Tabs.displayName = "Tabs";
|
|
2289
|
+
|
|
2290
|
+
// src/primitives/venue-logo/index.tsx
|
|
2291
|
+
var import_hooks11 = require("@agg-market/hooks");
|
|
2292
|
+
|
|
2293
|
+
// src/primitives/venue-logo/logo-props.ts
|
|
2294
|
+
var DEFAULT_MONOCHROME_COLOR = "#000000";
|
|
2295
|
+
var resolveLogoPrimaryColor = ({
|
|
2296
|
+
brandColor,
|
|
2297
|
+
isColor = true,
|
|
2298
|
+
color
|
|
2299
|
+
}) => {
|
|
2300
|
+
if (typeof color === "string" && color.trim())
|
|
2301
|
+
return color;
|
|
2302
|
+
if (!isColor)
|
|
2303
|
+
return DEFAULT_MONOCHROME_COLOR;
|
|
2304
|
+
return brandColor;
|
|
2305
|
+
};
|
|
2306
|
+
|
|
2307
|
+
// src/primitives/venue-logo/svg/logo-kalshi.tsx
|
|
2308
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2309
|
+
var KALSHI_GREEN = "#18C590";
|
|
2310
|
+
var LogoKalshiIcon = (_a) => {
|
|
2311
|
+
var _b = _a, {
|
|
2312
|
+
title,
|
|
2313
|
+
className,
|
|
2314
|
+
isColor = true,
|
|
2315
|
+
color
|
|
2316
|
+
} = _b, props = __objRest(_b, [
|
|
2317
|
+
"title",
|
|
2318
|
+
"className",
|
|
2319
|
+
"isColor",
|
|
2320
|
+
"color"
|
|
2321
|
+
]);
|
|
2322
|
+
const primaryColor = resolveLogoPrimaryColor({
|
|
2323
|
+
brandColor: KALSHI_GREEN,
|
|
2324
|
+
isColor,
|
|
2325
|
+
color
|
|
2326
|
+
});
|
|
2327
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2328
|
+
"svg",
|
|
2329
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
2330
|
+
viewBox: "0 0 100 100",
|
|
2331
|
+
className,
|
|
2332
|
+
fill: "none"
|
|
2333
|
+
}, getIconA11yProps(title)), props), {
|
|
2334
|
+
children: [
|
|
2335
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("title", { children: title }) : null,
|
|
2336
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("path", { d: "M20 10H36V90H20V10Z", fill: primaryColor }),
|
|
2337
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("path", { d: "M44 50L74 10H92L62 50L92 90H74L44 50Z", fill: primaryColor })
|
|
2338
|
+
]
|
|
2339
|
+
})
|
|
2340
|
+
);
|
|
2341
|
+
};
|
|
2342
|
+
LogoKalshiIcon.displayName = "LogoKalshiIcon";
|
|
2343
|
+
|
|
2344
|
+
// src/primitives/venue-logo/svg/logo-opinion.tsx
|
|
2345
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2346
|
+
var OPINION_BLACK = "#000000";
|
|
2347
|
+
var OPINION_WHITE = "#FFFFFF";
|
|
2348
|
+
var LogoOpinionIcon = (_a) => {
|
|
2349
|
+
var _b = _a, {
|
|
2350
|
+
title,
|
|
2351
|
+
className,
|
|
2352
|
+
isColor = true,
|
|
2353
|
+
color
|
|
2354
|
+
} = _b, props = __objRest(_b, [
|
|
2355
|
+
"title",
|
|
2356
|
+
"className",
|
|
2357
|
+
"isColor",
|
|
2358
|
+
"color"
|
|
2359
|
+
]);
|
|
2360
|
+
const primaryColor = resolveLogoPrimaryColor({
|
|
2361
|
+
brandColor: OPINION_BLACK,
|
|
2362
|
+
isColor,
|
|
2363
|
+
color
|
|
2364
|
+
});
|
|
2365
|
+
const accentColor = (color == null ? void 0 : color.trim()) ? primaryColor : OPINION_WHITE;
|
|
2366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
2367
|
+
"svg",
|
|
2368
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
2369
|
+
viewBox: "0 0 100 100",
|
|
2370
|
+
className,
|
|
2371
|
+
fill: "none"
|
|
2372
|
+
}, getIconA11yProps(title)), props), {
|
|
2373
|
+
children: [
|
|
2374
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("title", { children: title }) : null,
|
|
2375
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("circle", { cx: "50", cy: "50", r: "40", fill: primaryColor }),
|
|
2376
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2377
|
+
"rect",
|
|
2378
|
+
{
|
|
2379
|
+
x: "21",
|
|
2380
|
+
y: "18",
|
|
2381
|
+
width: "8",
|
|
2382
|
+
height: "64",
|
|
2383
|
+
rx: "4",
|
|
2384
|
+
transform: "rotate(-7 21 18)",
|
|
2385
|
+
fill: accentColor
|
|
2386
|
+
}
|
|
2387
|
+
),
|
|
2388
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2389
|
+
"rect",
|
|
2390
|
+
{
|
|
2391
|
+
x: "37",
|
|
2392
|
+
y: "12",
|
|
2393
|
+
width: "8",
|
|
2394
|
+
height: "76",
|
|
2395
|
+
rx: "4",
|
|
2396
|
+
transform: "rotate(-4 37 12)",
|
|
2397
|
+
fill: accentColor
|
|
2398
|
+
}
|
|
2399
|
+
),
|
|
2400
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2401
|
+
"rect",
|
|
2402
|
+
{
|
|
2403
|
+
x: "53",
|
|
2404
|
+
y: "12",
|
|
2405
|
+
width: "8",
|
|
2406
|
+
height: "76",
|
|
2407
|
+
rx: "4",
|
|
2408
|
+
transform: "rotate(-4 53 12)",
|
|
2409
|
+
fill: accentColor
|
|
2410
|
+
}
|
|
2411
|
+
),
|
|
2412
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2413
|
+
"rect",
|
|
2414
|
+
{
|
|
2415
|
+
x: "69",
|
|
2416
|
+
y: "18",
|
|
2417
|
+
width: "8",
|
|
2418
|
+
height: "64",
|
|
2419
|
+
rx: "4",
|
|
2420
|
+
transform: "rotate(-7 69 18)",
|
|
2421
|
+
fill: accentColor
|
|
2422
|
+
}
|
|
2423
|
+
),
|
|
2424
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("rect", { x: "12", y: "44", width: "76", height: "12", fill: primaryColor })
|
|
2425
|
+
]
|
|
2426
|
+
})
|
|
2427
|
+
);
|
|
2428
|
+
};
|
|
2429
|
+
LogoOpinionIcon.displayName = "LogoOpinionIcon";
|
|
2430
|
+
|
|
2431
|
+
// src/primitives/venue-logo/svg/logo-polymarket.tsx
|
|
2432
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2433
|
+
var POLYMARKET_BLUE = "#3861FB";
|
|
2434
|
+
var LogoPolymarketIcon = (_a) => {
|
|
2435
|
+
var _b = _a, {
|
|
2436
|
+
title,
|
|
2437
|
+
className,
|
|
2438
|
+
isColor = true,
|
|
2439
|
+
color
|
|
2440
|
+
} = _b, props = __objRest(_b, [
|
|
2441
|
+
"title",
|
|
2442
|
+
"className",
|
|
2443
|
+
"isColor",
|
|
2444
|
+
"color"
|
|
2445
|
+
]);
|
|
2446
|
+
const primaryColor = resolveLogoPrimaryColor({
|
|
2447
|
+
brandColor: POLYMARKET_BLUE,
|
|
2448
|
+
isColor,
|
|
2449
|
+
color
|
|
2450
|
+
});
|
|
2451
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2452
|
+
"svg",
|
|
2453
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
2454
|
+
viewBox: "0 0 100 100",
|
|
2455
|
+
className,
|
|
2456
|
+
fill: "none"
|
|
2457
|
+
}, getIconA11yProps(title)), props), {
|
|
2458
|
+
children: [
|
|
2459
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("title", { children: title }) : null,
|
|
2460
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2461
|
+
"path",
|
|
2462
|
+
{
|
|
2463
|
+
d: "M18 10L78 2V98L18 88V10Z",
|
|
2464
|
+
stroke: primaryColor,
|
|
2465
|
+
strokeWidth: "8",
|
|
2466
|
+
strokeLinejoin: "round"
|
|
2467
|
+
}
|
|
2468
|
+
),
|
|
2469
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { d: "M18 32L78 44", stroke: primaryColor, strokeWidth: "8", strokeLinecap: "round" }),
|
|
2470
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { d: "M18 58L78 70", stroke: primaryColor, strokeWidth: "8", strokeLinecap: "round" })
|
|
2471
|
+
]
|
|
2472
|
+
})
|
|
2473
|
+
);
|
|
2474
|
+
};
|
|
2475
|
+
LogoPolymarketIcon.displayName = "LogoPolymarketIcon";
|
|
2476
|
+
|
|
2477
|
+
// src/primitives/venue-logo/svg/logo-probable.tsx
|
|
2478
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2479
|
+
var PROBABLE_ORANGE = "#F85B22";
|
|
2480
|
+
var LogoProbableIcon = (_a) => {
|
|
2481
|
+
var _b = _a, {
|
|
2482
|
+
title,
|
|
2483
|
+
className,
|
|
2484
|
+
isColor = true,
|
|
2485
|
+
color
|
|
2486
|
+
} = _b, props = __objRest(_b, [
|
|
2487
|
+
"title",
|
|
2488
|
+
"className",
|
|
2489
|
+
"isColor",
|
|
2490
|
+
"color"
|
|
2491
|
+
]);
|
|
2492
|
+
const primaryColor = resolveLogoPrimaryColor({
|
|
2493
|
+
brandColor: PROBABLE_ORANGE,
|
|
2494
|
+
isColor,
|
|
2495
|
+
color
|
|
2496
|
+
});
|
|
2497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
2498
|
+
"svg",
|
|
2499
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
2500
|
+
viewBox: "0 0 100 100",
|
|
2501
|
+
className,
|
|
2502
|
+
fill: "none"
|
|
2503
|
+
}, getIconA11yProps(title)), props), {
|
|
2504
|
+
children: [
|
|
2505
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("title", { children: title }) : null,
|
|
2506
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("rect", { x: "20", y: "16", width: "60", height: "12", fill: primaryColor }),
|
|
2507
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("rect", { x: "18", y: "36", width: "64", height: "46", rx: "23", fill: primaryColor }),
|
|
2508
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2509
|
+
"rect",
|
|
2510
|
+
{
|
|
2511
|
+
x: "32",
|
|
2512
|
+
y: "50",
|
|
2513
|
+
width: "40",
|
|
2514
|
+
height: "18",
|
|
2515
|
+
rx: "9",
|
|
2516
|
+
fill: isColor && !color ? "white" : primaryColor
|
|
2517
|
+
}
|
|
2518
|
+
),
|
|
2519
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("circle", { cx: "61", cy: "59", r: "7", fill: primaryColor })
|
|
2520
|
+
]
|
|
2521
|
+
})
|
|
2522
|
+
);
|
|
2523
|
+
};
|
|
2524
|
+
LogoProbableIcon.displayName = "LogoProbableIcon";
|
|
2525
|
+
|
|
2526
|
+
// src/primitives/venue-logo/venue-logo.constants.ts
|
|
2527
|
+
var venueLogoRegistry = {
|
|
2528
|
+
kalshi: LogoKalshiIcon,
|
|
2529
|
+
polymarket: LogoPolymarketIcon,
|
|
2530
|
+
opinion: LogoOpinionIcon,
|
|
2531
|
+
probable: LogoProbableIcon
|
|
2532
|
+
};
|
|
2533
|
+
var venueLogoNames = Object.keys(venueLogoRegistry);
|
|
2534
|
+
var sizeClasses2 = {
|
|
2535
|
+
xxs: "h-2 w-2",
|
|
2536
|
+
xs: "h-3 w-3",
|
|
2537
|
+
s: "h-4 w-4",
|
|
2538
|
+
m: "h-6 w-6",
|
|
2539
|
+
l: "h-8 w-8",
|
|
2540
|
+
xl: "h-10 w-10",
|
|
2541
|
+
xxl: "h-12 w-12"
|
|
2542
|
+
};
|
|
2543
|
+
|
|
2544
|
+
// src/primitives/venue-logo/index.tsx
|
|
2545
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2546
|
+
var VenueLogo = ({
|
|
2547
|
+
venue,
|
|
2548
|
+
isColor = true,
|
|
2549
|
+
isMonochromatic = false,
|
|
2550
|
+
color,
|
|
2551
|
+
size = "m",
|
|
2552
|
+
className,
|
|
2553
|
+
ariaLabel,
|
|
2554
|
+
title
|
|
2555
|
+
}) => {
|
|
2556
|
+
const labels = (0, import_hooks11.useLabels)();
|
|
2557
|
+
const Component = venueLogoRegistry[venue];
|
|
2558
|
+
const sizeClass = sizeClasses2[size];
|
|
2559
|
+
const resolvedIsColor = isMonochromatic ? false : isColor;
|
|
2560
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2561
|
+
Component,
|
|
2562
|
+
{
|
|
2563
|
+
className: cn("shrink-0", sizeClass, className),
|
|
2564
|
+
isColor: resolvedIsColor,
|
|
2565
|
+
color,
|
|
2566
|
+
"aria-label": ariaLabel != null ? ariaLabel : labels.venues[venue],
|
|
2567
|
+
title
|
|
2568
|
+
}
|
|
2569
|
+
);
|
|
2570
|
+
};
|
|
2571
|
+
VenueLogo.displayName = "VenueLogo";
|
|
2572
|
+
|
|
2573
|
+
// src/trading/utils.ts
|
|
2574
|
+
var import_hooks12 = require("@agg-market/hooks");
|
|
2575
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
2576
|
+
var defaultLabels = (0, import_hooks12.resolveAggUiLabels)("en-US");
|
|
2577
|
+
var defaultSettlementSectionLabel = defaultLabels.trading.settlementSection;
|
|
2578
|
+
var defaultSettlementDifferencesTitle = defaultLabels.trading.settlementDifferencesTitle;
|
|
2579
|
+
var defaultTradingDisclaimer = defaultLabels.trading.disclaimer;
|
|
2580
|
+
var getTradingDateLabel = (value) => {
|
|
2581
|
+
const parsedValue = (0, import_dayjs.default)(value);
|
|
2582
|
+
if (!parsedValue.isValid()) {
|
|
2583
|
+
return typeof value === "string" ? value : "";
|
|
2584
|
+
}
|
|
2585
|
+
return parsedValue.format("MMM D, YYYY");
|
|
2586
|
+
};
|
|
2587
|
+
var getTradingVenueLabel = (venue, label) => {
|
|
2588
|
+
if (label)
|
|
2589
|
+
return label;
|
|
2590
|
+
return defaultLabels.venues[venue];
|
|
2591
|
+
};
|
|
2592
|
+
|
|
2593
|
+
// src/trading/place-order/index.tsx
|
|
2594
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2595
|
+
var WarningFilledIcon = ({ className }) => {
|
|
2596
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
2597
|
+
"svg",
|
|
2598
|
+
{
|
|
2599
|
+
viewBox: "0 0 16 16",
|
|
2600
|
+
fill: "none",
|
|
2601
|
+
className: cn("text-agg-warning", className),
|
|
2602
|
+
"aria-hidden": "true",
|
|
2603
|
+
children: [
|
|
2604
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("path", { d: "M8 1.33301L15.3333 14.6663H0.666656L8 1.33301Z", fill: "currentColor" }),
|
|
2605
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("path", { d: "M8 5.33301V8.66634", stroke: "white", strokeWidth: "1.4", strokeLinecap: "round" }),
|
|
2606
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("circle", { cx: "8", cy: "11.1667", r: "0.833333", fill: "white" })
|
|
2607
|
+
]
|
|
2608
|
+
}
|
|
2609
|
+
);
|
|
2610
|
+
};
|
|
2611
|
+
var ErrorFilledIcon = ({ className }) => {
|
|
2612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
2613
|
+
"svg",
|
|
2614
|
+
{
|
|
2615
|
+
viewBox: "0 0 16 16",
|
|
2616
|
+
fill: "none",
|
|
2617
|
+
className: cn("text-agg-error", className),
|
|
2618
|
+
"aria-hidden": "true",
|
|
2619
|
+
children: [
|
|
2620
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("circle", { cx: "8", cy: "8", r: "8", fill: "currentColor" }),
|
|
2621
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("path", { d: "M8 4.16699V8.50033", stroke: "white", strokeWidth: "1.4", strokeLinecap: "round" }),
|
|
2622
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("circle", { cx: "8", cy: "11.167", r: "0.833333", fill: "white" })
|
|
2623
|
+
]
|
|
2624
|
+
}
|
|
2625
|
+
);
|
|
2626
|
+
};
|
|
2627
|
+
var getPlaceOrderContainerClassName = () => {
|
|
2628
|
+
return "overflow-hidden rounded-agg-xl border border-agg-border bg-agg-secondary shadow-none hover:shadow-none";
|
|
2629
|
+
};
|
|
2630
|
+
var getRoutingCardClassName = (isHighlighted) => {
|
|
2631
|
+
if (!isHighlighted) {
|
|
2632
|
+
return "border-agg-border bg-agg-secondary";
|
|
2633
|
+
}
|
|
2634
|
+
return "border-agg-trade-highlight-border bg-agg-trade-highlight-surface";
|
|
2635
|
+
};
|
|
2636
|
+
var getResultValueClassName = (tone) => {
|
|
2637
|
+
if (tone === "default")
|
|
2638
|
+
return "text-agg-foreground";
|
|
2639
|
+
return "text-agg-success";
|
|
2640
|
+
};
|
|
2641
|
+
var getStatusContent = ({
|
|
2642
|
+
placement,
|
|
2643
|
+
status,
|
|
2644
|
+
onStatusAction
|
|
2645
|
+
}) => {
|
|
2646
|
+
if (!status || status.placement !== placement)
|
|
2647
|
+
return null;
|
|
2648
|
+
if (status.tone === "warning") {
|
|
2649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
|
|
2650
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(WarningFilledIcon, { className: "h-4 w-4 shrink-0" }),
|
|
2651
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-agg-sm leading-agg-5 text-agg-foreground", children: status.message })
|
|
2652
|
+
] });
|
|
2653
|
+
}
|
|
2654
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-center gap-3 rounded-agg-lg bg-agg-status-error-surface px-3 py-2.5", children: [
|
|
2655
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
2656
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ErrorFilledIcon, { className: "h-4 w-4 shrink-0" }),
|
|
2657
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "min-w-0 flex-1 text-agg-sm leading-agg-5 text-agg-foreground", children: status.message })
|
|
2658
|
+
] }),
|
|
2659
|
+
status.actionLabel ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2660
|
+
"button",
|
|
2661
|
+
{
|
|
2662
|
+
type: "button",
|
|
2663
|
+
className: "shrink-0 text-agg-sm font-agg-bold leading-agg-5 text-agg-primary",
|
|
2664
|
+
"aria-label": status.actionLabel,
|
|
2665
|
+
onClick: onStatusAction,
|
|
2666
|
+
children: status.actionLabel
|
|
2667
|
+
}
|
|
2668
|
+
) : null
|
|
2669
|
+
] });
|
|
2670
|
+
};
|
|
2671
|
+
var PlaceOrder = ({
|
|
2672
|
+
title,
|
|
2673
|
+
marketDate,
|
|
2674
|
+
marketImageUrl,
|
|
2675
|
+
activeTab,
|
|
2676
|
+
buyLabel,
|
|
2677
|
+
sellLabel,
|
|
2678
|
+
outcomes,
|
|
2679
|
+
selectedOutcomeId,
|
|
2680
|
+
primaryMetric,
|
|
2681
|
+
routing,
|
|
2682
|
+
result,
|
|
2683
|
+
actionLabel,
|
|
2684
|
+
disclaimer = defaultTradingDisclaimer,
|
|
2685
|
+
isDismissible = false,
|
|
2686
|
+
isLoading = false,
|
|
2687
|
+
status,
|
|
2688
|
+
className,
|
|
2689
|
+
isPrimaryActionDisabled = false,
|
|
2690
|
+
isPrimaryActionLoading = false,
|
|
2691
|
+
onClose,
|
|
2692
|
+
onOutcomeChange,
|
|
2693
|
+
onPrimaryAction,
|
|
2694
|
+
onStatusAction,
|
|
2695
|
+
onTabChange
|
|
2696
|
+
}) => {
|
|
2697
|
+
const { enableAnimations } = (0, import_hooks13.useSdkUiConfig)();
|
|
2698
|
+
const labels = (0, import_hooks13.useLabels)();
|
|
2699
|
+
const resolvedDisclaimer = disclaimer === defaultTradingDisclaimer ? labels.trading.disclaimer : disclaimer;
|
|
2700
|
+
if (isLoading) {
|
|
2701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2702
|
+
Skeleton,
|
|
2703
|
+
{
|
|
2704
|
+
ariaLabel: labels.common.loading,
|
|
2705
|
+
className,
|
|
2706
|
+
view: skeletonViews.placeOrder
|
|
2707
|
+
}
|
|
2708
|
+
);
|
|
2709
|
+
}
|
|
2710
|
+
const [internalTab, setInternalTab] = (0, import_react2.useState)(activeTab);
|
|
2711
|
+
const [internalOutcomeId, setInternalOutcomeId] = (0, import_react2.useState)(selectedOutcomeId);
|
|
2712
|
+
(0, import_react2.useEffect)(() => {
|
|
2713
|
+
setInternalTab(activeTab);
|
|
2714
|
+
}, [activeTab]);
|
|
2715
|
+
(0, import_react2.useEffect)(() => {
|
|
2716
|
+
setInternalOutcomeId(selectedOutcomeId);
|
|
2717
|
+
}, [selectedOutcomeId]);
|
|
2718
|
+
const resolvedTab = onTabChange ? activeTab : internalTab;
|
|
2719
|
+
const resolvedOutcomeId = onOutcomeChange ? selectedOutcomeId : internalOutcomeId;
|
|
2720
|
+
const hasHighlightedRouting = routing.tone === "highlighted";
|
|
2721
|
+
const dateLabel = getTradingDateLabel(marketDate);
|
|
2722
|
+
const tabItems = (0, import_react2.useMemo)(() => {
|
|
2723
|
+
return [
|
|
2724
|
+
{ value: "buy", label: buyLabel },
|
|
2725
|
+
{ value: "sell", label: sellLabel }
|
|
2726
|
+
];
|
|
2727
|
+
}, [buyLabel, sellLabel]);
|
|
2728
|
+
const handleTabChange = (nextTab) => {
|
|
2729
|
+
if (!onTabChange) {
|
|
2730
|
+
setInternalTab(nextTab);
|
|
2731
|
+
}
|
|
2732
|
+
onTabChange == null ? void 0 : onTabChange(nextTab);
|
|
2733
|
+
};
|
|
2734
|
+
const handleOutcomeChange = (nextOutcomeId) => {
|
|
2735
|
+
if (!onOutcomeChange) {
|
|
2736
|
+
setInternalOutcomeId(nextOutcomeId);
|
|
2737
|
+
}
|
|
2738
|
+
onOutcomeChange == null ? void 0 : onOutcomeChange(nextOutcomeId);
|
|
2739
|
+
};
|
|
2740
|
+
const actionButton = /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2741
|
+
Button,
|
|
2742
|
+
{
|
|
2743
|
+
size: "xxl",
|
|
2744
|
+
className: "w-full",
|
|
2745
|
+
disabled: isPrimaryActionDisabled,
|
|
2746
|
+
isLoading: isPrimaryActionLoading,
|
|
2747
|
+
"aria-label": actionLabel,
|
|
2748
|
+
onClick: onPrimaryAction,
|
|
2749
|
+
children: actionLabel
|
|
2750
|
+
}
|
|
2751
|
+
);
|
|
2752
|
+
const contentBody = /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-col gap-6 p-5", children: [
|
|
2753
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
2754
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-start justify-between gap-5", children: [
|
|
2755
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex min-w-0 flex-1 items-center gap-3", children: [
|
|
2756
|
+
marketImageUrl ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2757
|
+
"img",
|
|
2758
|
+
{
|
|
2759
|
+
src: marketImageUrl,
|
|
2760
|
+
alt: "",
|
|
2761
|
+
className: "h-12 w-12 shrink-0 rounded-agg-lg object-cover"
|
|
2762
|
+
}
|
|
2763
|
+
) : null,
|
|
2764
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "min-w-0 text-agg-base font-agg-bold leading-agg-6 text-agg-foreground", children: title })
|
|
2765
|
+
] }),
|
|
2766
|
+
isDismissible ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2767
|
+
"button",
|
|
2768
|
+
{
|
|
2769
|
+
type: "button",
|
|
2770
|
+
"aria-label": labels.common.close,
|
|
2771
|
+
className: "shrink-0 text-agg-foreground",
|
|
2772
|
+
onClick: onClose,
|
|
2773
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2774
|
+
Icon,
|
|
2775
|
+
{
|
|
2776
|
+
name: "close",
|
|
2777
|
+
size: "m",
|
|
2778
|
+
className: "h-6 w-6 text-agg-foreground",
|
|
2779
|
+
color: "currentColor"
|
|
2780
|
+
}
|
|
2781
|
+
)
|
|
2782
|
+
}
|
|
2783
|
+
) : null
|
|
2784
|
+
] }),
|
|
2785
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-agg-base leading-agg-6 text-agg-foreground", children: dateLabel })
|
|
2786
|
+
] }),
|
|
2787
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2788
|
+
Tabs,
|
|
2789
|
+
{
|
|
2790
|
+
ariaLabel: labels.common.tabsAria,
|
|
2791
|
+
items: tabItems,
|
|
2792
|
+
value: resolvedTab,
|
|
2793
|
+
onChange: handleTabChange,
|
|
2794
|
+
variant: "underline",
|
|
2795
|
+
size: "s",
|
|
2796
|
+
overflowBehavior: "scroll",
|
|
2797
|
+
className: "w-full"
|
|
2798
|
+
}
|
|
2799
|
+
),
|
|
2800
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-col gap-4", children: [
|
|
2801
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex w-full gap-2", children: outcomes.map((outcome) => {
|
|
2802
|
+
const isActive = outcome.id === resolvedOutcomeId;
|
|
2803
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2804
|
+
"button",
|
|
2805
|
+
{
|
|
2806
|
+
type: "button",
|
|
2807
|
+
className: cn(
|
|
2808
|
+
"flex-1 rounded-agg-full px-6 py-2.5 text-agg-base leading-agg-6",
|
|
2809
|
+
getMotionClassName(enableAnimations, "transition-colors"),
|
|
2810
|
+
isActive ? "bg-agg-success font-agg-bold text-agg-on-primary" : "bg-agg-secondary-hover font-agg-normal text-agg-foreground"
|
|
2811
|
+
),
|
|
2812
|
+
"aria-pressed": isActive,
|
|
2813
|
+
"aria-label": `${outcome.label} ${outcome.priceLabel}`,
|
|
2814
|
+
onClick: () => handleOutcomeChange(outcome.id),
|
|
2815
|
+
children: `${outcome.label} ${outcome.priceLabel}`
|
|
2816
|
+
},
|
|
2817
|
+
outcome.id
|
|
2818
|
+
);
|
|
2819
|
+
}) }),
|
|
2820
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-center justify-between gap-4", children: [
|
|
2821
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-col", children: [
|
|
2822
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-agg-base font-agg-bold leading-agg-6 text-agg-foreground", children: primaryMetric.label }),
|
|
2823
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-agg-sm leading-agg-5 text-agg-muted-foreground", children: primaryMetric.hint })
|
|
2824
|
+
] }),
|
|
2825
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-agg-3xl font-agg-bold leading-agg-9 text-agg-foreground", children: primaryMetric.value })
|
|
2826
|
+
] })
|
|
2827
|
+
] }),
|
|
2828
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
2829
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
2830
|
+
"div",
|
|
2831
|
+
{
|
|
2832
|
+
className: cn(
|
|
2833
|
+
"relative overflow-hidden rounded-agg-lg border p-3",
|
|
2834
|
+
getRoutingCardClassName(hasHighlightedRouting)
|
|
2835
|
+
),
|
|
2836
|
+
children: [
|
|
2837
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2838
|
+
"div",
|
|
2839
|
+
{
|
|
2840
|
+
className: cn(
|
|
2841
|
+
"pointer-events-none absolute inset-x-0 bottom-0 h-11 bg-gradient-to-b from-transparent to-agg-trade-highlight-glow",
|
|
2842
|
+
hasHighlightedRouting ? "opacity-100" : "opacity-0"
|
|
2843
|
+
)
|
|
2844
|
+
}
|
|
2845
|
+
),
|
|
2846
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "relative flex flex-col gap-3", children: [
|
|
2847
|
+
routing.rows.map((row, index) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-col gap-3", children: [
|
|
2848
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-center justify-between gap-4", children: [
|
|
2849
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
2850
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2851
|
+
VenueLogo,
|
|
2852
|
+
{
|
|
2853
|
+
venue: row.venue,
|
|
2854
|
+
size: "s",
|
|
2855
|
+
ariaLabel: getTradingVenueLabel(row.venue)
|
|
2856
|
+
}
|
|
2857
|
+
),
|
|
2858
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "truncate text-agg-base leading-agg-6 text-agg-foreground", children: row.label })
|
|
2859
|
+
] }),
|
|
2860
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "shrink-0 text-agg-base leading-agg-6 text-agg-foreground", children: row.priceLabel })
|
|
2861
|
+
] }),
|
|
2862
|
+
index < routing.rows.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2863
|
+
"div",
|
|
2864
|
+
{
|
|
2865
|
+
className: cn(
|
|
2866
|
+
"h-px w-full",
|
|
2867
|
+
hasHighlightedRouting ? "bg-agg-trade-highlight-border" : "bg-agg-separator"
|
|
2868
|
+
)
|
|
2869
|
+
}
|
|
2870
|
+
) : null
|
|
2871
|
+
] }, `${row.venue}-${row.label}`)),
|
|
2872
|
+
routing.highlightLabel ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-center text-agg-sm font-agg-bold leading-agg-5 uppercase text-agg-trade-highlight-accent", children: routing.highlightLabel }) : null
|
|
2873
|
+
] })
|
|
2874
|
+
]
|
|
2875
|
+
}
|
|
2876
|
+
),
|
|
2877
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-agg-sm leading-agg-5 text-agg-muted-foreground", children: routing.helperLabel })
|
|
2878
|
+
] }),
|
|
2879
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-center justify-between gap-4", children: [
|
|
2880
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-col", children: [
|
|
2881
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-agg-base font-agg-bold leading-agg-6 text-agg-foreground", children: result.label }),
|
|
2882
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-agg-sm leading-agg-5 text-agg-muted-foreground", children: result.hint })
|
|
2883
|
+
] }),
|
|
2884
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2885
|
+
"p",
|
|
2886
|
+
{
|
|
2887
|
+
className: cn(
|
|
2888
|
+
"text-agg-3xl font-agg-bold leading-agg-9",
|
|
2889
|
+
getResultValueClassName(result.tone)
|
|
2890
|
+
),
|
|
2891
|
+
children: result.value
|
|
2892
|
+
}
|
|
2893
|
+
)
|
|
2894
|
+
] }),
|
|
2895
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
2896
|
+
getStatusContent({
|
|
2897
|
+
placement: "above-action",
|
|
2898
|
+
status,
|
|
2899
|
+
onStatusAction
|
|
2900
|
+
}),
|
|
2901
|
+
actionButton,
|
|
2902
|
+
getStatusContent({
|
|
2903
|
+
placement: "below-action",
|
|
2904
|
+
status,
|
|
2905
|
+
onStatusAction
|
|
2906
|
+
})
|
|
2907
|
+
] }),
|
|
2908
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-center text-agg-xs leading-agg-4 text-agg-muted-foreground", children: resolvedDisclaimer })
|
|
2909
|
+
] });
|
|
2910
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Card, { className: cn(getPlaceOrderContainerClassName(), className), children: contentBody });
|
|
2911
|
+
};
|
|
2912
|
+
PlaceOrder.displayName = "PlaceOrder";
|
|
2913
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
2914
|
+
0 && (module.exports = {
|
|
2915
|
+
PlaceOrder
|
|
2916
|
+
});
|