@agg-build/ui 1.3.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-ONVP7YWS.mjs → chunk-3OI2ZLLT.mjs} +94 -39
- package/dist/{chunk-UFC7L74C.mjs → chunk-C5M2OOM3.mjs} +1 -1
- package/dist/{chunk-QUZWA34R.mjs → chunk-DXF2LMNN.mjs} +512 -503
- package/dist/{chunk-5ALBEKAT.mjs → chunk-R6FBYAY5.mjs} +246 -194
- package/dist/{chunk-6PQ6O6M5.mjs → chunk-Y6PVXAUQ.mjs} +34 -90
- package/dist/{chunk-YWJIYEJV.mjs → chunk-YAEA6EDG.mjs} +31 -18
- package/dist/{chunk-55ODXLOS.mjs → chunk-YMVD6Q2A.mjs} +1 -1
- package/dist/events.js +894 -903
- package/dist/events.mjs +3 -3
- package/dist/index.js +2609 -2530
- package/dist/index.mjs +9 -7
- package/dist/modals.js +278 -171
- package/dist/modals.mjs +5 -3
- package/dist/pages.js +2014 -1991
- package/dist/pages.mjs +6 -6
- package/dist/primitives.js +526 -475
- package/dist/primitives.mjs +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/trading.js +28 -15
- package/dist/trading.mjs +4 -4
- package/dist/types/events/list/category-sidebar.d.mts +33 -0
- package/dist/types/events/list/category-sidebar.d.ts +33 -0
- package/dist/types/events/list/event-list-tabs.d.mts +2 -0
- package/dist/types/events/list/event-list-tabs.d.ts +2 -0
- package/dist/types/events/list/event-list.utils.d.mts +0 -4
- package/dist/types/events/list/event-list.utils.d.ts +0 -4
- package/dist/types/events/list/index.d.mts +1 -0
- package/dist/types/events/list/index.d.ts +1 -0
- package/dist/types/pages/event-market/event-market.types.d.mts +1 -0
- package/dist/types/pages/event-market/event-market.types.d.ts +1 -0
- package/dist/types/pages/user-profile/index.d.mts +1 -1
- package/dist/types/pages/user-profile/index.d.ts +1 -1
- package/dist/types/pages/user-profile/user-profile.types.d.mts +1 -0
- package/dist/types/pages/user-profile/user-profile.types.d.ts +1 -0
- package/dist/types/shared/use-horizontal-scroll-state.d.mts +15 -0
- package/dist/types/shared/use-horizontal-scroll-state.d.ts +15 -0
- package/dist/types/withdraw/index.d.mts +9 -1
- package/dist/types/withdraw/index.d.ts +9 -1
- package/dist/types/withdraw/steps/withdraw-amount.d.mts +10 -1
- package/dist/types/withdraw/steps/withdraw-amount.d.ts +10 -1
- package/dist/types/withdraw/withdraw-modal.types.d.mts +8 -0
- package/dist/types/withdraw/withdraw-modal.types.d.ts +8 -0
- package/package.json +3 -3
package/dist/primitives.js
CHANGED
|
@@ -5002,7 +5002,7 @@ var Footer = ({
|
|
|
5002
5002
|
"div",
|
|
5003
5003
|
{
|
|
5004
5004
|
className: cn(
|
|
5005
|
-
"agg-footer-inner mx-auto flex h-10 w-full max-w-[
|
|
5005
|
+
"agg-footer-inner mx-auto flex h-10 w-full max-w-[1440px] px-6 lg:px-10 items-center justify-between",
|
|
5006
5006
|
classNames == null ? void 0 : classNames.inner
|
|
5007
5007
|
),
|
|
5008
5008
|
children: [
|
|
@@ -5133,292 +5133,14 @@ var import_hooks27 = require("@agg-build/hooks");
|
|
|
5133
5133
|
var import_react9 = require("react");
|
|
5134
5134
|
|
|
5135
5135
|
// src/events/list/event-list.utils.ts
|
|
5136
|
-
var import_hooks9 = require("@agg-build/hooks");
|
|
5137
|
-
var import_sdk = require("@agg-build/sdk");
|
|
5138
|
-
|
|
5139
|
-
// src/events/item/event-list-item.utils.ts
|
|
5140
5136
|
var import_hooks8 = require("@agg-build/hooks");
|
|
5141
|
-
|
|
5142
|
-
// src/events/shared/venue-market-cluster.ts
|
|
5143
|
-
var toNonEmptyString = (value) => {
|
|
5144
|
-
if (typeof value !== "string") return void 0;
|
|
5145
|
-
const trimmedValue = value.trim();
|
|
5146
|
-
return trimmedValue ? trimmedValue : void 0;
|
|
5147
|
-
};
|
|
5148
|
-
var addGraphEdge = (adjacencyById, fromMarketId, toMarketId) => {
|
|
5149
|
-
var _a, _b;
|
|
5150
|
-
if (fromMarketId === toMarketId) return;
|
|
5151
|
-
const fromNeighbors = (_a = adjacencyById.get(fromMarketId)) != null ? _a : /* @__PURE__ */ new Set();
|
|
5152
|
-
fromNeighbors.add(toMarketId);
|
|
5153
|
-
adjacencyById.set(fromMarketId, fromNeighbors);
|
|
5154
|
-
const toNeighbors = (_b = adjacencyById.get(toMarketId)) != null ? _b : /* @__PURE__ */ new Set();
|
|
5155
|
-
toNeighbors.add(fromMarketId);
|
|
5156
|
-
adjacencyById.set(toMarketId, toNeighbors);
|
|
5157
|
-
};
|
|
5158
|
-
var dedupeSourceMarketsById = (markets) => {
|
|
5159
|
-
const seenMarketIds = /* @__PURE__ */ new Set();
|
|
5160
|
-
return markets.filter((market) => {
|
|
5161
|
-
if (seenMarketIds.has(market.id)) {
|
|
5162
|
-
return false;
|
|
5163
|
-
}
|
|
5164
|
-
seenMarketIds.add(market.id);
|
|
5165
|
-
return true;
|
|
5166
|
-
});
|
|
5167
|
-
};
|
|
5168
|
-
var collectDirectRelationMarkets = (market) => {
|
|
5169
|
-
var _a, _b, _c;
|
|
5170
|
-
const relationMarkets = [];
|
|
5171
|
-
const seenRelationIds = /* @__PURE__ */ new Set();
|
|
5172
|
-
const addRelationMarket = (relationMarket) => {
|
|
5173
|
-
if (!relationMarket) return;
|
|
5174
|
-
if (seenRelationIds.has(relationMarket.id)) return;
|
|
5175
|
-
seenRelationIds.add(relationMarket.id);
|
|
5176
|
-
relationMarkets.push(relationMarket);
|
|
5177
|
-
};
|
|
5178
|
-
for (const matchedVenueMarket of (_a = market.matchedVenueMarkets) != null ? _a : []) {
|
|
5179
|
-
addRelationMarket(matchedVenueMarket);
|
|
5180
|
-
}
|
|
5181
|
-
addRelationMarket(
|
|
5182
|
-
(_c = (_b = market.matchEntry) == null ? void 0 : _b.targetVenueMarket) != null ? _c : void 0
|
|
5183
|
-
);
|
|
5184
|
-
return relationMarkets;
|
|
5185
|
-
};
|
|
5186
|
-
var collectUniqueRelatedMarkets = (markets, sourceMarketsById) => {
|
|
5187
|
-
const relatedMarketsById = /* @__PURE__ */ new Map();
|
|
5188
|
-
for (const market of markets) {
|
|
5189
|
-
for (const relatedMarket of collectDirectRelationMarkets(market)) {
|
|
5190
|
-
if (sourceMarketsById.has(relatedMarket.id) || relatedMarketsById.has(relatedMarket.id)) {
|
|
5191
|
-
continue;
|
|
5192
|
-
}
|
|
5193
|
-
relatedMarketsById.set(relatedMarket.id, relatedMarket);
|
|
5194
|
-
}
|
|
5195
|
-
}
|
|
5196
|
-
return Array.from(relatedMarketsById.values());
|
|
5197
|
-
};
|
|
5198
|
-
var normalizeVenueMarketCluster = (markets, selectedMarketId) => {
|
|
5199
|
-
var _a, _b;
|
|
5200
|
-
if (markets.length === 0) return [];
|
|
5201
|
-
const orderedSourceMarkets = dedupeSourceMarketsById(markets);
|
|
5202
|
-
const sourceMarketsById = new Map(orderedSourceMarkets.map((market) => [market.id, market]));
|
|
5203
|
-
const orderedRelatedMarkets = collectUniqueRelatedMarkets(
|
|
5204
|
-
orderedSourceMarkets,
|
|
5205
|
-
sourceMarketsById
|
|
5206
|
-
);
|
|
5207
|
-
const relatedMarketsById = new Map(orderedRelatedMarkets.map((market) => [market.id, market]));
|
|
5208
|
-
const resolvedSelectedMarketId = toNonEmptyString(selectedMarketId);
|
|
5209
|
-
if (!resolvedSelectedMarketId) {
|
|
5210
|
-
return [...orderedSourceMarkets, ...orderedRelatedMarkets];
|
|
5211
|
-
}
|
|
5212
|
-
const adjacencyById = /* @__PURE__ */ new Map();
|
|
5213
|
-
for (const market of orderedSourceMarkets) {
|
|
5214
|
-
for (const relatedMarket of collectDirectRelationMarkets(market)) {
|
|
5215
|
-
addGraphEdge(adjacencyById, market.id, relatedMarket.id);
|
|
5216
|
-
}
|
|
5217
|
-
const targetVenueMarketId = toNonEmptyString((_a = market.matchEntry) == null ? void 0 : _a.targetVenueMarketId);
|
|
5218
|
-
if (targetVenueMarketId) {
|
|
5219
|
-
addGraphEdge(adjacencyById, market.id, targetVenueMarketId);
|
|
5220
|
-
}
|
|
5221
|
-
}
|
|
5222
|
-
if (!sourceMarketsById.has(resolvedSelectedMarketId) && !relatedMarketsById.has(resolvedSelectedMarketId)) {
|
|
5223
|
-
return [];
|
|
5224
|
-
}
|
|
5225
|
-
const visitedMarketIds = /* @__PURE__ */ new Set();
|
|
5226
|
-
const queue = [resolvedSelectedMarketId];
|
|
5227
|
-
while (queue.length > 0) {
|
|
5228
|
-
const currentMarketId = queue.shift();
|
|
5229
|
-
if (!currentMarketId || visitedMarketIds.has(currentMarketId)) {
|
|
5230
|
-
continue;
|
|
5231
|
-
}
|
|
5232
|
-
visitedMarketIds.add(currentMarketId);
|
|
5233
|
-
const neighborMarketIds = adjacencyById.get(currentMarketId);
|
|
5234
|
-
for (const neighborMarketId of Array.from(neighborMarketIds != null ? neighborMarketIds : /* @__PURE__ */ new Set())) {
|
|
5235
|
-
if (!visitedMarketIds.has(neighborMarketId)) {
|
|
5236
|
-
queue.push(neighborMarketId);
|
|
5237
|
-
}
|
|
5238
|
-
}
|
|
5239
|
-
}
|
|
5240
|
-
const orderedClusterMarkets = [];
|
|
5241
|
-
const appendedMarketIds = /* @__PURE__ */ new Set();
|
|
5242
|
-
const appendMarket = (market) => {
|
|
5243
|
-
if (!market) return;
|
|
5244
|
-
if (!visitedMarketIds.has(market.id)) return;
|
|
5245
|
-
if (appendedMarketIds.has(market.id)) return;
|
|
5246
|
-
appendedMarketIds.add(market.id);
|
|
5247
|
-
orderedClusterMarkets.push(market);
|
|
5248
|
-
};
|
|
5249
|
-
appendMarket(
|
|
5250
|
-
(_b = sourceMarketsById.get(resolvedSelectedMarketId)) != null ? _b : relatedMarketsById.get(resolvedSelectedMarketId)
|
|
5251
|
-
);
|
|
5252
|
-
for (const market of orderedSourceMarkets) {
|
|
5253
|
-
appendMarket(market);
|
|
5254
|
-
}
|
|
5255
|
-
for (const market of orderedRelatedMarkets) {
|
|
5256
|
-
appendMarket(market);
|
|
5257
|
-
}
|
|
5258
|
-
return orderedClusterMarkets;
|
|
5259
|
-
};
|
|
5260
|
-
|
|
5261
|
-
// src/events/item/event-list-item.utils.ts
|
|
5262
|
-
var normalizeProbability = (value) => {
|
|
5263
|
-
if (typeof value !== "number" || !Number.isFinite(value)) return void 0;
|
|
5264
|
-
if (value < 0) return 0;
|
|
5265
|
-
if (value > 1) return 1;
|
|
5266
|
-
return value;
|
|
5267
|
-
};
|
|
5268
|
-
var formatWholePercent = (value) => {
|
|
5269
|
-
return `${Math.round(value * 100)}%`;
|
|
5270
|
-
};
|
|
5271
|
-
var hasDateLabel = (outcome) => {
|
|
5272
|
-
return !!toDate(outcome.label);
|
|
5273
|
-
};
|
|
5274
|
-
var isYesLabel = (label2) => label2.trim().toLowerCase() === "yes";
|
|
5275
|
-
var isNoLabel = (label2) => label2.trim().toLowerCase() === "no";
|
|
5276
|
-
var hasBinaryOutcomes = (outcomes) => {
|
|
5277
|
-
return outcomes.some((o) => isYesLabel(o.label)) && outcomes.some((o) => isNoLabel(o.label));
|
|
5278
|
-
};
|
|
5279
|
-
var sortYesFirst = (outcomes) => {
|
|
5280
|
-
return [...outcomes].sort((a, b) => {
|
|
5281
|
-
if (isYesLabel(a.label) && !isYesLabel(b.label)) return -1;
|
|
5282
|
-
if (!isYesLabel(a.label) && isYesLabel(b.label)) return 1;
|
|
5283
|
-
return 0;
|
|
5284
|
-
});
|
|
5285
|
-
};
|
|
5286
|
-
var formatMarketProbabilityPercent = (value, formatPercent = formatWholePercent) => {
|
|
5287
|
-
const probability = normalizeProbability(value);
|
|
5288
|
-
if (probability == null) return "-";
|
|
5289
|
-
const formattedValue = formatPercent(probability);
|
|
5290
|
-
if (probability > 0 && formattedValue === formatPercent(0)) {
|
|
5291
|
-
return "<1%";
|
|
5292
|
-
}
|
|
5293
|
-
return formattedValue;
|
|
5294
|
-
};
|
|
5295
|
-
var sortOutcomes = (outcomes) => {
|
|
5296
|
-
if (outcomes.length <= 1) return outcomes;
|
|
5297
|
-
if (hasBinaryOutcomes(outcomes)) {
|
|
5298
|
-
return sortYesFirst(outcomes);
|
|
5299
|
-
}
|
|
5300
|
-
const now = Date.now();
|
|
5301
|
-
if (outcomes.some(hasDateLabel)) {
|
|
5302
|
-
return [...outcomes].sort((a, b) => {
|
|
5303
|
-
var _a, _b, _c, _d;
|
|
5304
|
-
const aDate = (_b = (_a = toDate(a.label)) == null ? void 0 : _a.getTime()) != null ? _b : 0;
|
|
5305
|
-
const bDate = (_d = (_c = toDate(b.label)) == null ? void 0 : _c.getTime()) != null ? _d : 0;
|
|
5306
|
-
return Math.abs(aDate - now) - Math.abs(bDate - now);
|
|
5307
|
-
});
|
|
5308
|
-
}
|
|
5309
|
-
return [...outcomes].sort((a, b) => {
|
|
5310
|
-
var _a, _b;
|
|
5311
|
-
const aPrice = (_a = normalizeProbability(a.price)) != null ? _a : 0;
|
|
5312
|
-
const bPrice = (_b = normalizeProbability(b.price)) != null ? _b : 0;
|
|
5313
|
-
return bPrice - aPrice;
|
|
5314
|
-
});
|
|
5315
|
-
};
|
|
5316
|
-
var compareVisibleOutcomeRows = (left, right) => {
|
|
5317
|
-
var _a, _b;
|
|
5318
|
-
const leftDate = toDate(resolveOutcomeTitle(left.outcome));
|
|
5319
|
-
const rightDate = toDate(resolveOutcomeTitle(right.outcome));
|
|
5320
|
-
if (leftDate && rightDate) {
|
|
5321
|
-
return leftDate.getTime() - rightDate.getTime();
|
|
5322
|
-
}
|
|
5323
|
-
const leftProbability = (_a = normalizeProbability(left.outcome.price)) != null ? _a : -1;
|
|
5324
|
-
const rightProbability = (_b = normalizeProbability(right.outcome.price)) != null ? _b : -1;
|
|
5325
|
-
return rightProbability - leftProbability;
|
|
5326
|
-
};
|
|
5327
|
-
var shouldReplaceVisibleOutcome = (current, next) => {
|
|
5328
|
-
var _a, _b;
|
|
5329
|
-
const currentVolume = typeof current.market.volume === "number" ? current.market.volume : -1;
|
|
5330
|
-
const nextVolume = typeof next.market.volume === "number" ? next.market.volume : -1;
|
|
5331
|
-
if (currentVolume !== nextVolume) {
|
|
5332
|
-
return nextVolume > currentVolume;
|
|
5333
|
-
}
|
|
5334
|
-
const currentProbability = (_a = normalizeProbability(current.outcome.price)) != null ? _a : -1;
|
|
5335
|
-
const nextProbability = (_b = normalizeProbability(next.outcome.price)) != null ? _b : -1;
|
|
5336
|
-
return nextProbability > currentProbability;
|
|
5337
|
-
};
|
|
5338
|
-
var resolveVisibleOutcomes = (venueMarkets) => {
|
|
5339
|
-
const visibleOutcomesByLabel = /* @__PURE__ */ new Map();
|
|
5340
|
-
venueMarkets.forEach((market) => {
|
|
5341
|
-
const title2 = market.question;
|
|
5342
|
-
const canonicalOutcome = sortOutcomes(market.venueMarketOutcomes)[0];
|
|
5343
|
-
if (!canonicalOutcome) return;
|
|
5344
|
-
const normalizedTitle = title2.trim().toLowerCase();
|
|
5345
|
-
const nextVisibleOutcome = {
|
|
5346
|
-
venue: market.venue,
|
|
5347
|
-
market,
|
|
5348
|
-
outcome: canonicalOutcome,
|
|
5349
|
-
title: title2
|
|
5350
|
-
};
|
|
5351
|
-
const currentVisibleOutcome = visibleOutcomesByLabel.get(normalizedTitle);
|
|
5352
|
-
if (!currentVisibleOutcome || shouldReplaceVisibleOutcome(currentVisibleOutcome, nextVisibleOutcome)) {
|
|
5353
|
-
visibleOutcomesByLabel.set(normalizedTitle, nextVisibleOutcome);
|
|
5354
|
-
}
|
|
5355
|
-
});
|
|
5356
|
-
return [...visibleOutcomesByLabel.values()].sort(compareVisibleOutcomeRows).slice(0, Math.max(1, 2));
|
|
5357
|
-
};
|
|
5358
|
-
var resolveOutcomeTitle = (outcome) => {
|
|
5359
|
-
var _a, _b;
|
|
5360
|
-
return (_b = (_a = outcome == null ? void 0 : outcome.title) != null ? _a : outcome == null ? void 0 : outcome.label) == null ? void 0 : _b.trim();
|
|
5361
|
-
};
|
|
5362
|
-
var selectPrimaryVenueMarket = (venueMarkets) => {
|
|
5363
|
-
if (venueMarkets.length === 0) return void 0;
|
|
5364
|
-
if (venueMarkets.length === 1) return venueMarkets[0];
|
|
5365
|
-
return [...venueMarkets].sort((a, b) => {
|
|
5366
|
-
const aVolume = typeof a.volume === "number" ? a.volume : -1;
|
|
5367
|
-
const bVolume = typeof b.volume === "number" ? b.volume : -1;
|
|
5368
|
-
return bVolume - aVolume;
|
|
5369
|
-
})[0];
|
|
5370
|
-
};
|
|
5371
|
-
var resolveTileImage = (event, primaryVenueMarket, imageOverride) => {
|
|
5372
|
-
if (typeof imageOverride === "string" && imageOverride.trim()) {
|
|
5373
|
-
return imageOverride;
|
|
5374
|
-
}
|
|
5375
|
-
if (typeof event.image === "string" && event.image.trim()) {
|
|
5376
|
-
return event.image;
|
|
5377
|
-
}
|
|
5378
|
-
if (typeof (primaryVenueMarket == null ? void 0 : primaryVenueMarket.image) === "string" && primaryVenueMarket.image.trim()) {
|
|
5379
|
-
return primaryVenueMarket.image;
|
|
5380
|
-
}
|
|
5381
|
-
return void 0;
|
|
5382
|
-
};
|
|
5383
|
-
var formatCountLabel = (count, singular, plural) => {
|
|
5384
|
-
return `${count} ${count === 1 ? singular : plural}`;
|
|
5385
|
-
};
|
|
5386
|
-
var getVenueSummary = (venueMarkets, options) => {
|
|
5387
|
-
const normalizedVenueMarkets = normalizeVenueMarketCluster(venueMarkets);
|
|
5388
|
-
const tradableVenues = options == null ? void 0 : options.tradableVenues;
|
|
5389
|
-
const isVenueTradable = (venue) => {
|
|
5390
|
-
if (tradableVenues == null) return true;
|
|
5391
|
-
return tradableVenues.has(venue);
|
|
5392
|
-
};
|
|
5393
|
-
const uniqueVenues = Array.from(
|
|
5394
|
-
new Set(
|
|
5395
|
-
normalizedVenueMarkets.filter((market) => isVenueTradable(market.venue)).map((market) => market.venue)
|
|
5396
|
-
)
|
|
5397
|
-
);
|
|
5398
|
-
return {
|
|
5399
|
-
marketCount: normalizedVenueMarkets.length,
|
|
5400
|
-
venueCount: uniqueVenues.length,
|
|
5401
|
-
singleVenue: uniqueVenues.length === 1 ? uniqueVenues[0] : void 0
|
|
5402
|
-
};
|
|
5403
|
-
};
|
|
5404
|
-
var resolveDisplayVolume = (eventVolume, venueMarkets) => {
|
|
5405
|
-
if (typeof eventVolume === "number" && eventVolume > 0) return eventVolume;
|
|
5406
|
-
const clusterMarkets = normalizeVenueMarketCluster(venueMarkets);
|
|
5407
|
-
const marketSum = clusterMarkets.reduce(
|
|
5408
|
-
(acc, m) => acc + (typeof m.volume === "number" ? m.volume : 0),
|
|
5409
|
-
0
|
|
5410
|
-
);
|
|
5411
|
-
if (marketSum > 0) return marketSum;
|
|
5412
|
-
return void 0;
|
|
5413
|
-
};
|
|
5414
|
-
|
|
5415
|
-
// src/events/list/event-list.utils.ts
|
|
5137
|
+
var import_sdk = require("@agg-build/sdk");
|
|
5416
5138
|
var filterOpenEvents = (events) => {
|
|
5417
5139
|
return events.filter((event) => {
|
|
5418
5140
|
var _a;
|
|
5419
|
-
if (event.status && event.status !==
|
|
5141
|
+
if (event.status && event.status !== import_hooks8.MarketStatus.open) return false;
|
|
5420
5142
|
const openMarkets = (_a = event.venueMarkets) == null ? void 0 : _a.filter(
|
|
5421
|
-
(m) => !m.status || m.status ===
|
|
5143
|
+
(m) => !m.status || m.status === import_hooks8.MarketStatus.open
|
|
5422
5144
|
);
|
|
5423
5145
|
if (!openMarkets || openMarkets.length === 0) return false;
|
|
5424
5146
|
return true;
|
|
@@ -5426,16 +5148,16 @@ var filterOpenEvents = (events) => {
|
|
|
5426
5148
|
};
|
|
5427
5149
|
|
|
5428
5150
|
// src/primitives/remote-image/index.tsx
|
|
5429
|
-
var
|
|
5151
|
+
var import_hooks10 = require("@agg-build/hooks");
|
|
5430
5152
|
var import_react8 = require("react");
|
|
5431
5153
|
|
|
5432
5154
|
// src/primitives/skeleton/skeleton-block.tsx
|
|
5433
|
-
var
|
|
5155
|
+
var import_hooks9 = require("@agg-build/hooks");
|
|
5434
5156
|
var import_jsx_runtime96 = require("react/jsx-runtime");
|
|
5435
5157
|
var SkeletonBlock = ({ className }) => {
|
|
5436
5158
|
const {
|
|
5437
5159
|
features: { enableAnimations }
|
|
5438
|
-
} = (0,
|
|
5160
|
+
} = (0, import_hooks9.useSdkUiConfig)();
|
|
5439
5161
|
return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
5440
5162
|
"div",
|
|
5441
5163
|
{
|
|
@@ -5479,7 +5201,7 @@ var RemoteImage = ({
|
|
|
5479
5201
|
}) => {
|
|
5480
5202
|
const {
|
|
5481
5203
|
general: { theme }
|
|
5482
|
-
} = (0,
|
|
5204
|
+
} = (0, import_hooks10.useSdkUiConfig)();
|
|
5483
5205
|
const isDarkTheme = theme === "dark";
|
|
5484
5206
|
const [status, setStatus] = (0, import_react8.useState)(
|
|
5485
5207
|
() => resolveRemoteImageStatusFromSrc(src)
|
|
@@ -5553,17 +5275,17 @@ var RemoteImage = ({
|
|
|
5553
5275
|
RemoteImage.displayName = "RemoteImage";
|
|
5554
5276
|
|
|
5555
5277
|
// src/primitives/skeleton/views/event-list-skeleton-view.tsx
|
|
5556
|
-
var
|
|
5278
|
+
var import_hooks12 = require("@agg-build/hooks");
|
|
5557
5279
|
|
|
5558
5280
|
// src/primitives/skeleton/views/event-list-item-skeleton-view.tsx
|
|
5559
|
-
var
|
|
5281
|
+
var import_hooks11 = require("@agg-build/hooks");
|
|
5560
5282
|
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
5561
5283
|
var EventListItemSkeletonView = ({
|
|
5562
5284
|
className,
|
|
5563
5285
|
ariaLabel,
|
|
5564
5286
|
isStandalone = false
|
|
5565
5287
|
}) => {
|
|
5566
|
-
const labels = (0,
|
|
5288
|
+
const labels = (0, import_hooks11.useLabels)();
|
|
5567
5289
|
const outcomeTitleWidths = ["max-w-40", "max-w-[200px]"];
|
|
5568
5290
|
return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
|
|
5569
5291
|
Card,
|
|
@@ -5629,7 +5351,7 @@ var EventListSkeletonView = ({
|
|
|
5629
5351
|
ariaLabel,
|
|
5630
5352
|
withSidebar
|
|
5631
5353
|
}) => {
|
|
5632
|
-
const labels = (0,
|
|
5354
|
+
const labels = (0, import_hooks12.useLabels)();
|
|
5633
5355
|
return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
|
|
5634
5356
|
"section",
|
|
5635
5357
|
{
|
|
@@ -5668,7 +5390,7 @@ var EventListSkeletonView = ({
|
|
|
5668
5390
|
EventListSkeletonView.displayName = "EventListSkeletonView";
|
|
5669
5391
|
|
|
5670
5392
|
// src/primitives/skeleton/views/event-list-item-details-skeleton-view.tsx
|
|
5671
|
-
var
|
|
5393
|
+
var import_hooks13 = require("@agg-build/hooks");
|
|
5672
5394
|
|
|
5673
5395
|
// src/events/item-details/event-list-item-details.constants.ts
|
|
5674
5396
|
var detailsBaseCardClassName = "w-full gap-6 p-5 md:gap-8";
|
|
@@ -5679,7 +5401,7 @@ var EventListItemDetailsSkeletonView = ({
|
|
|
5679
5401
|
className,
|
|
5680
5402
|
ariaLabel
|
|
5681
5403
|
}) => {
|
|
5682
|
-
const labels = (0,
|
|
5404
|
+
const labels = (0, import_hooks13.useLabels)();
|
|
5683
5405
|
return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
|
|
5684
5406
|
Card,
|
|
5685
5407
|
{
|
|
@@ -5716,7 +5438,7 @@ var EventListItemDetailsSkeletonView = ({
|
|
|
5716
5438
|
EventListItemDetailsSkeletonView.displayName = "EventListItemDetailsSkeletonView";
|
|
5717
5439
|
|
|
5718
5440
|
// src/primitives/skeleton/views/market-details-skeleton-view.tsx
|
|
5719
|
-
var
|
|
5441
|
+
var import_hooks14 = require("@agg-build/hooks");
|
|
5720
5442
|
|
|
5721
5443
|
// src/events/market-details/market-details.constants.ts
|
|
5722
5444
|
var marketDetailsBaseCardClassName = "w-full overflow-hidden rounded-agg-lg border border-agg-separator bg-agg-secondary text-agg-foreground shadow-none hover:shadow-none";
|
|
@@ -5804,7 +5526,7 @@ var MarketDetailsSkeletonView = ({
|
|
|
5804
5526
|
ariaLabel,
|
|
5805
5527
|
isDetailed
|
|
5806
5528
|
}) => {
|
|
5807
|
-
const labels = (0,
|
|
5529
|
+
const labels = (0, import_hooks14.useLabels)();
|
|
5808
5530
|
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
5809
5531
|
Card,
|
|
5810
5532
|
{
|
|
@@ -5905,7 +5627,7 @@ var PlaceOrderSkeletonView = ({
|
|
|
5905
5627
|
PlaceOrderSkeletonView.displayName = "PlaceOrderSkeletonView";
|
|
5906
5628
|
|
|
5907
5629
|
// src/primitives/skeleton/views/search-skeleton-view.tsx
|
|
5908
|
-
var
|
|
5630
|
+
var import_hooks15 = require("@agg-build/hooks");
|
|
5909
5631
|
var import_jsx_runtime103 = require("react/jsx-runtime");
|
|
5910
5632
|
var SearchSkeletonRow = () => {
|
|
5911
5633
|
return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: "flex w-full items-center gap-6 px-5 py-4", children: [
|
|
@@ -5931,7 +5653,7 @@ var SearchSkeletonRow = () => {
|
|
|
5931
5653
|
] });
|
|
5932
5654
|
};
|
|
5933
5655
|
var SearchSkeletonView = ({ className, ariaLabel }) => {
|
|
5934
|
-
const labels = (0,
|
|
5656
|
+
const labels = (0, import_hooks15.useLabels)();
|
|
5935
5657
|
return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
5936
5658
|
"div",
|
|
5937
5659
|
{
|
|
@@ -5953,13 +5675,13 @@ var SearchSkeletonView = ({ className, ariaLabel }) => {
|
|
|
5953
5675
|
SearchSkeletonView.displayName = "SearchSkeletonView";
|
|
5954
5676
|
|
|
5955
5677
|
// src/primitives/skeleton/views/settlement-skeleton-view.tsx
|
|
5956
|
-
var
|
|
5678
|
+
var import_hooks16 = require("@agg-build/hooks");
|
|
5957
5679
|
var import_jsx_runtime104 = require("react/jsx-runtime");
|
|
5958
5680
|
var SettlementSkeletonView = ({
|
|
5959
5681
|
className,
|
|
5960
5682
|
ariaLabel
|
|
5961
5683
|
}) => {
|
|
5962
|
-
const labels = (0,
|
|
5684
|
+
const labels = (0, import_hooks16.useLabels)();
|
|
5963
5685
|
return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)(
|
|
5964
5686
|
Card,
|
|
5965
5687
|
{
|
|
@@ -6173,7 +5895,7 @@ var Skeleton = ({
|
|
|
6173
5895
|
Skeleton.displayName = "Skeleton";
|
|
6174
5896
|
|
|
6175
5897
|
// src/primitives/venue-logo/index.tsx
|
|
6176
|
-
var
|
|
5898
|
+
var import_hooks25 = require("@agg-build/hooks");
|
|
6177
5899
|
|
|
6178
5900
|
// src/primitives/venue-logo/venue-logo.constants.ts
|
|
6179
5901
|
var import_sdk10 = require("@agg-build/sdk");
|
|
@@ -6226,7 +5948,7 @@ var DefaultVenueIcon = (_a) => {
|
|
|
6226
5948
|
};
|
|
6227
5949
|
|
|
6228
5950
|
// src/primitives/venue-logo/svg/logo-hyperliquid.tsx
|
|
6229
|
-
var
|
|
5951
|
+
var import_hooks17 = require("@agg-build/hooks");
|
|
6230
5952
|
var import_sdk2 = require("@agg-build/sdk");
|
|
6231
5953
|
var import_jsx_runtime109 = require("react/jsx-runtime");
|
|
6232
5954
|
var LogoHyperliquidIcon = (_a) => {
|
|
@@ -6244,7 +5966,7 @@ var LogoHyperliquidIcon = (_a) => {
|
|
|
6244
5966
|
var _a2;
|
|
6245
5967
|
const {
|
|
6246
5968
|
general: { theme }
|
|
6247
|
-
} = (0,
|
|
5969
|
+
} = (0, import_hooks17.useAggUiConfig)();
|
|
6248
5970
|
const isDarkTheme = theme === "dark";
|
|
6249
5971
|
const primaryColor = resolveLogoPrimaryColor({
|
|
6250
5972
|
brandColor: (_a2 = resolveVenueLineColor(import_sdk2.Venue.hyperliquid, isDarkTheme)) != null ? _a2 : "#97FCE4",
|
|
@@ -6274,7 +5996,7 @@ var LogoHyperliquidIcon = (_a) => {
|
|
|
6274
5996
|
LogoHyperliquidIcon.displayName = "LogoHyperliquidIcon";
|
|
6275
5997
|
|
|
6276
5998
|
// src/primitives/venue-logo/svg/logo-kalshi.tsx
|
|
6277
|
-
var
|
|
5999
|
+
var import_hooks18 = require("@agg-build/hooks");
|
|
6278
6000
|
var import_sdk3 = require("@agg-build/sdk");
|
|
6279
6001
|
var import_jsx_runtime110 = require("react/jsx-runtime");
|
|
6280
6002
|
var LogoKalshiIcon = (_a) => {
|
|
@@ -6292,7 +6014,7 @@ var LogoKalshiIcon = (_a) => {
|
|
|
6292
6014
|
var _a2;
|
|
6293
6015
|
const {
|
|
6294
6016
|
general: { theme }
|
|
6295
|
-
} = (0,
|
|
6017
|
+
} = (0, import_hooks18.useAggUiConfig)();
|
|
6296
6018
|
const isDarkTheme = theme === "dark";
|
|
6297
6019
|
const primaryColor = resolveLogoPrimaryColor({
|
|
6298
6020
|
brandColor: (_a2 = resolveVenueLineColor(import_sdk3.Venue.kalshi, isDarkTheme)) != null ? _a2 : "#18C590",
|
|
@@ -6322,7 +6044,7 @@ var LogoKalshiIcon = (_a) => {
|
|
|
6322
6044
|
LogoKalshiIcon.displayName = "LogoKalshiIcon";
|
|
6323
6045
|
|
|
6324
6046
|
// src/primitives/venue-logo/svg/logo-limitless.tsx
|
|
6325
|
-
var
|
|
6047
|
+
var import_hooks19 = require("@agg-build/hooks");
|
|
6326
6048
|
var import_sdk4 = require("@agg-build/sdk");
|
|
6327
6049
|
var import_jsx_runtime111 = require("react/jsx-runtime");
|
|
6328
6050
|
var LogoLimitlessIcon = (_a) => {
|
|
@@ -6340,7 +6062,7 @@ var LogoLimitlessIcon = (_a) => {
|
|
|
6340
6062
|
var _a2;
|
|
6341
6063
|
const {
|
|
6342
6064
|
general: { theme }
|
|
6343
|
-
} = (0,
|
|
6065
|
+
} = (0, import_hooks19.useAggUiConfig)();
|
|
6344
6066
|
const isDarkTheme = theme === "dark";
|
|
6345
6067
|
const primaryColor = resolveLogoPrimaryColor({
|
|
6346
6068
|
brandColor: (_a2 = resolveVenueLineColor(import_sdk4.Venue.limitless, isDarkTheme)) != null ? _a2 : "#c4fe00",
|
|
@@ -6370,7 +6092,7 @@ var LogoLimitlessIcon = (_a) => {
|
|
|
6370
6092
|
LogoLimitlessIcon.displayName = "LogoLimitlessIcon";
|
|
6371
6093
|
|
|
6372
6094
|
// src/primitives/venue-logo/svg/logo-myriad.tsx
|
|
6373
|
-
var
|
|
6095
|
+
var import_hooks20 = require("@agg-build/hooks");
|
|
6374
6096
|
var import_sdk5 = require("@agg-build/sdk");
|
|
6375
6097
|
var import_jsx_runtime112 = require("react/jsx-runtime");
|
|
6376
6098
|
var LogoMyriadIcon = (_a) => {
|
|
@@ -6388,7 +6110,7 @@ var LogoMyriadIcon = (_a) => {
|
|
|
6388
6110
|
var _a2;
|
|
6389
6111
|
const {
|
|
6390
6112
|
general: { theme }
|
|
6391
|
-
} = (0,
|
|
6113
|
+
} = (0, import_hooks20.useAggUiConfig)();
|
|
6392
6114
|
const isDarkTheme = theme === "dark";
|
|
6393
6115
|
const primaryColor = resolveLogoPrimaryColor({
|
|
6394
6116
|
brandColor: (_a2 = resolveVenueLineColor(import_sdk5.Venue.myriad, isDarkTheme)) != null ? _a2 : "#2E5CFF",
|
|
@@ -6418,7 +6140,7 @@ var LogoMyriadIcon = (_a) => {
|
|
|
6418
6140
|
LogoMyriadIcon.displayName = "LogoMyriadIcon";
|
|
6419
6141
|
|
|
6420
6142
|
// src/primitives/venue-logo/svg/logo-opinion.tsx
|
|
6421
|
-
var
|
|
6143
|
+
var import_hooks21 = require("@agg-build/hooks");
|
|
6422
6144
|
var import_sdk6 = require("@agg-build/sdk");
|
|
6423
6145
|
var import_jsx_runtime113 = require("react/jsx-runtime");
|
|
6424
6146
|
var LogoOpinionIcon = (_a) => {
|
|
@@ -6436,7 +6158,7 @@ var LogoOpinionIcon = (_a) => {
|
|
|
6436
6158
|
var _a2;
|
|
6437
6159
|
const {
|
|
6438
6160
|
general: { theme }
|
|
6439
|
-
} = (0,
|
|
6161
|
+
} = (0, import_hooks21.useAggUiConfig)();
|
|
6440
6162
|
const isDarkTheme = theme === "dark";
|
|
6441
6163
|
const primaryColor = resolveLogoPrimaryColor({
|
|
6442
6164
|
brandColor: (_a2 = resolveVenueLineColor(import_sdk6.Venue.opinion, isDarkTheme)) != null ? _a2 : "#ec5e26",
|
|
@@ -6466,7 +6188,7 @@ var LogoOpinionIcon = (_a) => {
|
|
|
6466
6188
|
LogoOpinionIcon.displayName = "LogoOpinionIcon";
|
|
6467
6189
|
|
|
6468
6190
|
// src/primitives/venue-logo/svg/logo-polymarket.tsx
|
|
6469
|
-
var
|
|
6191
|
+
var import_hooks22 = require("@agg-build/hooks");
|
|
6470
6192
|
var import_sdk7 = require("@agg-build/sdk");
|
|
6471
6193
|
var import_jsx_runtime114 = require("react/jsx-runtime");
|
|
6472
6194
|
var LogoPolymarketIcon = (_a) => {
|
|
@@ -6484,7 +6206,7 @@ var LogoPolymarketIcon = (_a) => {
|
|
|
6484
6206
|
var _a2;
|
|
6485
6207
|
const {
|
|
6486
6208
|
general: { theme }
|
|
6487
|
-
} = (0,
|
|
6209
|
+
} = (0, import_hooks22.useAggUiConfig)();
|
|
6488
6210
|
const isDarkTheme = theme === "dark";
|
|
6489
6211
|
const primaryColor = resolveLogoPrimaryColor({
|
|
6490
6212
|
brandColor: (_a2 = resolveVenueLineColor(import_sdk7.Venue.polymarket, isDarkTheme)) != null ? _a2 : "#2E5CFF",
|
|
@@ -6514,7 +6236,7 @@ var LogoPolymarketIcon = (_a) => {
|
|
|
6514
6236
|
LogoPolymarketIcon.displayName = "LogoPolymarketIcon";
|
|
6515
6237
|
|
|
6516
6238
|
// src/primitives/venue-logo/svg/logo-predict.tsx
|
|
6517
|
-
var
|
|
6239
|
+
var import_hooks23 = require("@agg-build/hooks");
|
|
6518
6240
|
var import_sdk8 = require("@agg-build/sdk");
|
|
6519
6241
|
var import_jsx_runtime115 = require("react/jsx-runtime");
|
|
6520
6242
|
var LogoPredictIcon = (_a) => {
|
|
@@ -6532,7 +6254,7 @@ var LogoPredictIcon = (_a) => {
|
|
|
6532
6254
|
var _a2;
|
|
6533
6255
|
const {
|
|
6534
6256
|
general: { theme }
|
|
6535
|
-
} = (0,
|
|
6257
|
+
} = (0, import_hooks23.useAggUiConfig)();
|
|
6536
6258
|
const isDarkTheme = theme === "dark";
|
|
6537
6259
|
const primaryColor = resolveLogoPrimaryColor({
|
|
6538
6260
|
brandColor: (_a2 = resolveVenueLineColor(import_sdk8.Venue.predict, isDarkTheme)) != null ? _a2 : "#705bf6",
|
|
@@ -6564,7 +6286,7 @@ var LogoPredictIcon = (_a) => {
|
|
|
6564
6286
|
LogoPredictIcon.displayName = "LogoPredictIcon";
|
|
6565
6287
|
|
|
6566
6288
|
// src/primitives/venue-logo/svg/logo-probable.tsx
|
|
6567
|
-
var
|
|
6289
|
+
var import_hooks24 = require("@agg-build/hooks");
|
|
6568
6290
|
var import_sdk9 = require("@agg-build/sdk");
|
|
6569
6291
|
var import_jsx_runtime116 = require("react/jsx-runtime");
|
|
6570
6292
|
var LogoProbableIcon = (_a) => {
|
|
@@ -6582,7 +6304,7 @@ var LogoProbableIcon = (_a) => {
|
|
|
6582
6304
|
var _a2;
|
|
6583
6305
|
const {
|
|
6584
6306
|
general: { theme }
|
|
6585
|
-
} = (0,
|
|
6307
|
+
} = (0, import_hooks24.useAggUiConfig)();
|
|
6586
6308
|
const isDarkTheme = theme === "dark";
|
|
6587
6309
|
const primaryColor = resolveLogoPrimaryColor({
|
|
6588
6310
|
brandColor: (_a2 = resolveVenueLineColor(import_sdk9.Venue.probable, isDarkTheme)) != null ? _a2 : "#EC4899",
|
|
@@ -6681,91 +6403,369 @@ var lineColorByVenue = {
|
|
|
6681
6403
|
[import_sdk10.Venue.hyperliquid]: "#97FCE4"
|
|
6682
6404
|
}
|
|
6683
6405
|
};
|
|
6684
|
-
var resolveVenueLineColor = (venue, isDarkTheme) => {
|
|
6685
|
-
return lineColorByVenue[isDarkTheme ? "dark" : "light"][venue];
|
|
6686
|
-
};
|
|
6687
|
-
var DEFAULT_VENUE_COLOR = "#94a3b8";
|
|
6688
|
-
|
|
6689
|
-
// src/primitives/venue-logo/venue-logo.utils.ts
|
|
6690
|
-
var resolveVenueLogoLabel = ({
|
|
6691
|
-
ariaLabel,
|
|
6692
|
-
labels,
|
|
6693
|
-
venue,
|
|
6694
|
-
venueFallbackLabels
|
|
6695
|
-
}) => {
|
|
6696
|
-
var _a;
|
|
6697
|
-
return (_a = ariaLabel != null ? ariaLabel : labels.venues[venue]) != null ? _a : venueFallbackLabels[venue];
|
|
6698
|
-
};
|
|
6699
|
-
var resolveVenueLogoIsColor = ({
|
|
6700
|
-
isColor,
|
|
6701
|
-
isMonochromatic
|
|
6702
|
-
}) => {
|
|
6703
|
-
return isMonochromatic ? false : isColor;
|
|
6406
|
+
var resolveVenueLineColor = (venue, isDarkTheme) => {
|
|
6407
|
+
return lineColorByVenue[isDarkTheme ? "dark" : "light"][venue];
|
|
6408
|
+
};
|
|
6409
|
+
var DEFAULT_VENUE_COLOR = "#94a3b8";
|
|
6410
|
+
|
|
6411
|
+
// src/primitives/venue-logo/venue-logo.utils.ts
|
|
6412
|
+
var resolveVenueLogoLabel = ({
|
|
6413
|
+
ariaLabel,
|
|
6414
|
+
labels,
|
|
6415
|
+
venue,
|
|
6416
|
+
venueFallbackLabels
|
|
6417
|
+
}) => {
|
|
6418
|
+
var _a;
|
|
6419
|
+
return (_a = ariaLabel != null ? ariaLabel : labels.venues[venue]) != null ? _a : venueFallbackLabels[venue];
|
|
6420
|
+
};
|
|
6421
|
+
var resolveVenueLogoIsColor = ({
|
|
6422
|
+
isColor,
|
|
6423
|
+
isMonochromatic
|
|
6424
|
+
}) => {
|
|
6425
|
+
return isMonochromatic ? false : isColor;
|
|
6426
|
+
};
|
|
6427
|
+
|
|
6428
|
+
// src/primitives/venue-logo/index.tsx
|
|
6429
|
+
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
6430
|
+
var VenueLogo = ({
|
|
6431
|
+
venue,
|
|
6432
|
+
variant = "icon",
|
|
6433
|
+
isColor = true,
|
|
6434
|
+
isMonochromatic = false,
|
|
6435
|
+
color,
|
|
6436
|
+
size = "medium",
|
|
6437
|
+
className,
|
|
6438
|
+
ariaLabel,
|
|
6439
|
+
title: title2
|
|
6440
|
+
}) => {
|
|
6441
|
+
var _a, _b;
|
|
6442
|
+
const labels = (0, import_hooks25.useLabels)();
|
|
6443
|
+
const sizeClass = sizeClasses2[size];
|
|
6444
|
+
const resolvedLabel = resolveVenueLogoLabel({
|
|
6445
|
+
ariaLabel,
|
|
6446
|
+
labels,
|
|
6447
|
+
venue,
|
|
6448
|
+
venueFallbackLabels: venueLogoLabels
|
|
6449
|
+
});
|
|
6450
|
+
const isUnknownVenue = !(venue in venueLogoRegistry);
|
|
6451
|
+
if (isUnknownVenue && process.env.NODE_ENV === "development") {
|
|
6452
|
+
console.warn(`[AggUI] Unknown venue "${venue}" \u2014 using default logo`);
|
|
6453
|
+
}
|
|
6454
|
+
if (variant === "logo") {
|
|
6455
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6456
|
+
RemoteImage,
|
|
6457
|
+
{
|
|
6458
|
+
src: (_a = venueLogoUrlRegistry[venue]) != null ? _a : DEFAULT_VENUE_LOGO_URL,
|
|
6459
|
+
alt: resolvedLabel || DEFAULT_VENUE_LABEL,
|
|
6460
|
+
title: title2,
|
|
6461
|
+
className: cn("shrink-0 rounded-agg-lg object-cover", sizeClass, className)
|
|
6462
|
+
}
|
|
6463
|
+
);
|
|
6464
|
+
}
|
|
6465
|
+
const Component2 = (_b = venueLogoRegistry[venue]) != null ? _b : DefaultVenueIcon;
|
|
6466
|
+
const resolvedIsColor = resolveVenueLogoIsColor({
|
|
6467
|
+
isColor,
|
|
6468
|
+
isMonochromatic
|
|
6469
|
+
});
|
|
6470
|
+
return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
|
|
6471
|
+
Component2,
|
|
6472
|
+
{
|
|
6473
|
+
className: cn("group/agg-venue-logo", "shrink-0", sizeClass, className),
|
|
6474
|
+
isColor: resolvedIsColor,
|
|
6475
|
+
color,
|
|
6476
|
+
"aria-label": resolvedLabel || DEFAULT_VENUE_LABEL,
|
|
6477
|
+
title: title2
|
|
6478
|
+
}
|
|
6479
|
+
);
|
|
6480
|
+
};
|
|
6481
|
+
VenueLogo.displayName = "VenueLogo";
|
|
6482
|
+
|
|
6483
|
+
// src/primitives/search/search.constants.ts
|
|
6484
|
+
var DEFAULT_SEARCH_LIMIT = 5;
|
|
6485
|
+
var MIN_SEARCH_LENGTH = 3;
|
|
6486
|
+
var SEARCH_DEBOUNCE_MS = 300;
|
|
6487
|
+
|
|
6488
|
+
// src/primitives/search/search.utils.ts
|
|
6489
|
+
var import_sdk11 = require("@agg-build/sdk");
|
|
6490
|
+
var import_dayjs2 = __toESM(require("dayjs"));
|
|
6491
|
+
|
|
6492
|
+
// src/events/item/event-list-item.utils.ts
|
|
6493
|
+
var import_hooks26 = require("@agg-build/hooks");
|
|
6494
|
+
|
|
6495
|
+
// src/events/shared/venue-market-cluster.ts
|
|
6496
|
+
var toNonEmptyString = (value) => {
|
|
6497
|
+
if (typeof value !== "string") return void 0;
|
|
6498
|
+
const trimmedValue = value.trim();
|
|
6499
|
+
return trimmedValue ? trimmedValue : void 0;
|
|
6500
|
+
};
|
|
6501
|
+
var addGraphEdge = (adjacencyById, fromMarketId, toMarketId) => {
|
|
6502
|
+
var _a, _b;
|
|
6503
|
+
if (fromMarketId === toMarketId) return;
|
|
6504
|
+
const fromNeighbors = (_a = adjacencyById.get(fromMarketId)) != null ? _a : /* @__PURE__ */ new Set();
|
|
6505
|
+
fromNeighbors.add(toMarketId);
|
|
6506
|
+
adjacencyById.set(fromMarketId, fromNeighbors);
|
|
6507
|
+
const toNeighbors = (_b = adjacencyById.get(toMarketId)) != null ? _b : /* @__PURE__ */ new Set();
|
|
6508
|
+
toNeighbors.add(fromMarketId);
|
|
6509
|
+
adjacencyById.set(toMarketId, toNeighbors);
|
|
6510
|
+
};
|
|
6511
|
+
var dedupeSourceMarketsById = (markets) => {
|
|
6512
|
+
const seenMarketIds = /* @__PURE__ */ new Set();
|
|
6513
|
+
return markets.filter((market) => {
|
|
6514
|
+
if (seenMarketIds.has(market.id)) {
|
|
6515
|
+
return false;
|
|
6516
|
+
}
|
|
6517
|
+
seenMarketIds.add(market.id);
|
|
6518
|
+
return true;
|
|
6519
|
+
});
|
|
6520
|
+
};
|
|
6521
|
+
var collectDirectRelationMarkets = (market) => {
|
|
6522
|
+
var _a, _b, _c;
|
|
6523
|
+
const relationMarkets = [];
|
|
6524
|
+
const seenRelationIds = /* @__PURE__ */ new Set();
|
|
6525
|
+
const addRelationMarket = (relationMarket) => {
|
|
6526
|
+
if (!relationMarket) return;
|
|
6527
|
+
if (seenRelationIds.has(relationMarket.id)) return;
|
|
6528
|
+
seenRelationIds.add(relationMarket.id);
|
|
6529
|
+
relationMarkets.push(relationMarket);
|
|
6530
|
+
};
|
|
6531
|
+
for (const matchedVenueMarket of (_a = market.matchedVenueMarkets) != null ? _a : []) {
|
|
6532
|
+
addRelationMarket(matchedVenueMarket);
|
|
6533
|
+
}
|
|
6534
|
+
addRelationMarket(
|
|
6535
|
+
(_c = (_b = market.matchEntry) == null ? void 0 : _b.targetVenueMarket) != null ? _c : void 0
|
|
6536
|
+
);
|
|
6537
|
+
return relationMarkets;
|
|
6538
|
+
};
|
|
6539
|
+
var collectUniqueRelatedMarkets = (markets, sourceMarketsById) => {
|
|
6540
|
+
const relatedMarketsById = /* @__PURE__ */ new Map();
|
|
6541
|
+
for (const market of markets) {
|
|
6542
|
+
for (const relatedMarket of collectDirectRelationMarkets(market)) {
|
|
6543
|
+
if (sourceMarketsById.has(relatedMarket.id) || relatedMarketsById.has(relatedMarket.id)) {
|
|
6544
|
+
continue;
|
|
6545
|
+
}
|
|
6546
|
+
relatedMarketsById.set(relatedMarket.id, relatedMarket);
|
|
6547
|
+
}
|
|
6548
|
+
}
|
|
6549
|
+
return Array.from(relatedMarketsById.values());
|
|
6550
|
+
};
|
|
6551
|
+
var normalizeVenueMarketCluster = (markets, selectedMarketId) => {
|
|
6552
|
+
var _a, _b;
|
|
6553
|
+
if (markets.length === 0) return [];
|
|
6554
|
+
const orderedSourceMarkets = dedupeSourceMarketsById(markets);
|
|
6555
|
+
const sourceMarketsById = new Map(orderedSourceMarkets.map((market) => [market.id, market]));
|
|
6556
|
+
const orderedRelatedMarkets = collectUniqueRelatedMarkets(
|
|
6557
|
+
orderedSourceMarkets,
|
|
6558
|
+
sourceMarketsById
|
|
6559
|
+
);
|
|
6560
|
+
const relatedMarketsById = new Map(orderedRelatedMarkets.map((market) => [market.id, market]));
|
|
6561
|
+
const resolvedSelectedMarketId = toNonEmptyString(selectedMarketId);
|
|
6562
|
+
if (!resolvedSelectedMarketId) {
|
|
6563
|
+
return [...orderedSourceMarkets, ...orderedRelatedMarkets];
|
|
6564
|
+
}
|
|
6565
|
+
const adjacencyById = /* @__PURE__ */ new Map();
|
|
6566
|
+
for (const market of orderedSourceMarkets) {
|
|
6567
|
+
for (const relatedMarket of collectDirectRelationMarkets(market)) {
|
|
6568
|
+
addGraphEdge(adjacencyById, market.id, relatedMarket.id);
|
|
6569
|
+
}
|
|
6570
|
+
const targetVenueMarketId = toNonEmptyString((_a = market.matchEntry) == null ? void 0 : _a.targetVenueMarketId);
|
|
6571
|
+
if (targetVenueMarketId) {
|
|
6572
|
+
addGraphEdge(adjacencyById, market.id, targetVenueMarketId);
|
|
6573
|
+
}
|
|
6574
|
+
}
|
|
6575
|
+
if (!sourceMarketsById.has(resolvedSelectedMarketId) && !relatedMarketsById.has(resolvedSelectedMarketId)) {
|
|
6576
|
+
return [];
|
|
6577
|
+
}
|
|
6578
|
+
const visitedMarketIds = /* @__PURE__ */ new Set();
|
|
6579
|
+
const queue = [resolvedSelectedMarketId];
|
|
6580
|
+
while (queue.length > 0) {
|
|
6581
|
+
const currentMarketId = queue.shift();
|
|
6582
|
+
if (!currentMarketId || visitedMarketIds.has(currentMarketId)) {
|
|
6583
|
+
continue;
|
|
6584
|
+
}
|
|
6585
|
+
visitedMarketIds.add(currentMarketId);
|
|
6586
|
+
const neighborMarketIds = adjacencyById.get(currentMarketId);
|
|
6587
|
+
for (const neighborMarketId of Array.from(neighborMarketIds != null ? neighborMarketIds : /* @__PURE__ */ new Set())) {
|
|
6588
|
+
if (!visitedMarketIds.has(neighborMarketId)) {
|
|
6589
|
+
queue.push(neighborMarketId);
|
|
6590
|
+
}
|
|
6591
|
+
}
|
|
6592
|
+
}
|
|
6593
|
+
const orderedClusterMarkets = [];
|
|
6594
|
+
const appendedMarketIds = /* @__PURE__ */ new Set();
|
|
6595
|
+
const appendMarket = (market) => {
|
|
6596
|
+
if (!market) return;
|
|
6597
|
+
if (!visitedMarketIds.has(market.id)) return;
|
|
6598
|
+
if (appendedMarketIds.has(market.id)) return;
|
|
6599
|
+
appendedMarketIds.add(market.id);
|
|
6600
|
+
orderedClusterMarkets.push(market);
|
|
6601
|
+
};
|
|
6602
|
+
appendMarket(
|
|
6603
|
+
(_b = sourceMarketsById.get(resolvedSelectedMarketId)) != null ? _b : relatedMarketsById.get(resolvedSelectedMarketId)
|
|
6604
|
+
);
|
|
6605
|
+
for (const market of orderedSourceMarkets) {
|
|
6606
|
+
appendMarket(market);
|
|
6607
|
+
}
|
|
6608
|
+
for (const market of orderedRelatedMarkets) {
|
|
6609
|
+
appendMarket(market);
|
|
6610
|
+
}
|
|
6611
|
+
return orderedClusterMarkets;
|
|
6612
|
+
};
|
|
6613
|
+
|
|
6614
|
+
// src/events/item/event-list-item.utils.ts
|
|
6615
|
+
var normalizeProbability = (value) => {
|
|
6616
|
+
if (typeof value !== "number" || !Number.isFinite(value)) return void 0;
|
|
6617
|
+
if (value < 0) return 0;
|
|
6618
|
+
if (value > 1) return 1;
|
|
6619
|
+
return value;
|
|
6620
|
+
};
|
|
6621
|
+
var formatWholePercent = (value) => {
|
|
6622
|
+
return `${Math.round(value * 100)}%`;
|
|
6623
|
+
};
|
|
6624
|
+
var hasDateLabel = (outcome) => {
|
|
6625
|
+
return !!toDate(outcome.label);
|
|
6626
|
+
};
|
|
6627
|
+
var isYesLabel = (label2) => label2.trim().toLowerCase() === "yes";
|
|
6628
|
+
var isNoLabel = (label2) => label2.trim().toLowerCase() === "no";
|
|
6629
|
+
var hasBinaryOutcomes = (outcomes) => {
|
|
6630
|
+
return outcomes.some((o) => isYesLabel(o.label)) && outcomes.some((o) => isNoLabel(o.label));
|
|
6631
|
+
};
|
|
6632
|
+
var sortYesFirst = (outcomes) => {
|
|
6633
|
+
return [...outcomes].sort((a, b) => {
|
|
6634
|
+
if (isYesLabel(a.label) && !isYesLabel(b.label)) return -1;
|
|
6635
|
+
if (!isYesLabel(a.label) && isYesLabel(b.label)) return 1;
|
|
6636
|
+
return 0;
|
|
6637
|
+
});
|
|
6638
|
+
};
|
|
6639
|
+
var formatMarketProbabilityPercent = (value, formatPercent = formatWholePercent) => {
|
|
6640
|
+
const probability = normalizeProbability(value);
|
|
6641
|
+
if (probability == null) return "-";
|
|
6642
|
+
const formattedValue = formatPercent(probability);
|
|
6643
|
+
if (probability > 0 && formattedValue === formatPercent(0)) {
|
|
6644
|
+
return "<1%";
|
|
6645
|
+
}
|
|
6646
|
+
return formattedValue;
|
|
6647
|
+
};
|
|
6648
|
+
var sortOutcomes = (outcomes) => {
|
|
6649
|
+
if (outcomes.length <= 1) return outcomes;
|
|
6650
|
+
if (hasBinaryOutcomes(outcomes)) {
|
|
6651
|
+
return sortYesFirst(outcomes);
|
|
6652
|
+
}
|
|
6653
|
+
const now = Date.now();
|
|
6654
|
+
if (outcomes.some(hasDateLabel)) {
|
|
6655
|
+
return [...outcomes].sort((a, b) => {
|
|
6656
|
+
var _a, _b, _c, _d;
|
|
6657
|
+
const aDate = (_b = (_a = toDate(a.label)) == null ? void 0 : _a.getTime()) != null ? _b : 0;
|
|
6658
|
+
const bDate = (_d = (_c = toDate(b.label)) == null ? void 0 : _c.getTime()) != null ? _d : 0;
|
|
6659
|
+
return Math.abs(aDate - now) - Math.abs(bDate - now);
|
|
6660
|
+
});
|
|
6661
|
+
}
|
|
6662
|
+
return [...outcomes].sort((a, b) => {
|
|
6663
|
+
var _a, _b;
|
|
6664
|
+
const aPrice = (_a = normalizeProbability(a.price)) != null ? _a : 0;
|
|
6665
|
+
const bPrice = (_b = normalizeProbability(b.price)) != null ? _b : 0;
|
|
6666
|
+
return bPrice - aPrice;
|
|
6667
|
+
});
|
|
6704
6668
|
};
|
|
6705
|
-
|
|
6706
|
-
// src/primitives/venue-logo/index.tsx
|
|
6707
|
-
var import_jsx_runtime117 = require("react/jsx-runtime");
|
|
6708
|
-
var VenueLogo = ({
|
|
6709
|
-
venue,
|
|
6710
|
-
variant = "icon",
|
|
6711
|
-
isColor = true,
|
|
6712
|
-
isMonochromatic = false,
|
|
6713
|
-
color,
|
|
6714
|
-
size = "medium",
|
|
6715
|
-
className,
|
|
6716
|
-
ariaLabel,
|
|
6717
|
-
title: title2
|
|
6718
|
-
}) => {
|
|
6669
|
+
var compareVisibleOutcomeRows = (left, right) => {
|
|
6719
6670
|
var _a, _b;
|
|
6720
|
-
const
|
|
6721
|
-
const
|
|
6722
|
-
|
|
6723
|
-
|
|
6724
|
-
labels,
|
|
6725
|
-
venue,
|
|
6726
|
-
venueFallbackLabels: venueLogoLabels
|
|
6727
|
-
});
|
|
6728
|
-
const isUnknownVenue = !(venue in venueLogoRegistry);
|
|
6729
|
-
if (isUnknownVenue && process.env.NODE_ENV === "development") {
|
|
6730
|
-
console.warn(`[AggUI] Unknown venue "${venue}" \u2014 using default logo`);
|
|
6671
|
+
const leftDate = toDate(resolveOutcomeTitle(left.outcome));
|
|
6672
|
+
const rightDate = toDate(resolveOutcomeTitle(right.outcome));
|
|
6673
|
+
if (leftDate && rightDate) {
|
|
6674
|
+
return leftDate.getTime() - rightDate.getTime();
|
|
6731
6675
|
}
|
|
6732
|
-
|
|
6733
|
-
|
|
6734
|
-
|
|
6735
|
-
|
|
6736
|
-
|
|
6737
|
-
|
|
6738
|
-
|
|
6739
|
-
|
|
6740
|
-
|
|
6741
|
-
|
|
6676
|
+
const leftProbability = (_a = normalizeProbability(left.outcome.price)) != null ? _a : -1;
|
|
6677
|
+
const rightProbability = (_b = normalizeProbability(right.outcome.price)) != null ? _b : -1;
|
|
6678
|
+
return rightProbability - leftProbability;
|
|
6679
|
+
};
|
|
6680
|
+
var shouldReplaceVisibleOutcome = (current, next) => {
|
|
6681
|
+
var _a, _b;
|
|
6682
|
+
const currentVolume = typeof current.market.volume === "number" ? current.market.volume : -1;
|
|
6683
|
+
const nextVolume = typeof next.market.volume === "number" ? next.market.volume : -1;
|
|
6684
|
+
if (currentVolume !== nextVolume) {
|
|
6685
|
+
return nextVolume > currentVolume;
|
|
6742
6686
|
}
|
|
6743
|
-
const
|
|
6744
|
-
const
|
|
6745
|
-
|
|
6746
|
-
|
|
6747
|
-
|
|
6748
|
-
|
|
6749
|
-
|
|
6750
|
-
|
|
6751
|
-
|
|
6752
|
-
|
|
6753
|
-
|
|
6754
|
-
|
|
6687
|
+
const currentProbability = (_a = normalizeProbability(current.outcome.price)) != null ? _a : -1;
|
|
6688
|
+
const nextProbability = (_b = normalizeProbability(next.outcome.price)) != null ? _b : -1;
|
|
6689
|
+
return nextProbability > currentProbability;
|
|
6690
|
+
};
|
|
6691
|
+
var resolveVisibleOutcomes = (venueMarkets) => {
|
|
6692
|
+
const visibleOutcomesByLabel = /* @__PURE__ */ new Map();
|
|
6693
|
+
venueMarkets.forEach((market) => {
|
|
6694
|
+
const title2 = market.question;
|
|
6695
|
+
const canonicalOutcome = sortOutcomes(market.venueMarketOutcomes)[0];
|
|
6696
|
+
if (!canonicalOutcome) return;
|
|
6697
|
+
const normalizedTitle = title2.trim().toLowerCase();
|
|
6698
|
+
const nextVisibleOutcome = {
|
|
6699
|
+
venue: market.venue,
|
|
6700
|
+
market,
|
|
6701
|
+
outcome: canonicalOutcome,
|
|
6755
6702
|
title: title2
|
|
6703
|
+
};
|
|
6704
|
+
const currentVisibleOutcome = visibleOutcomesByLabel.get(normalizedTitle);
|
|
6705
|
+
if (!currentVisibleOutcome || shouldReplaceVisibleOutcome(currentVisibleOutcome, nextVisibleOutcome)) {
|
|
6706
|
+
visibleOutcomesByLabel.set(normalizedTitle, nextVisibleOutcome);
|
|
6756
6707
|
}
|
|
6708
|
+
});
|
|
6709
|
+
return [...visibleOutcomesByLabel.values()].sort(compareVisibleOutcomeRows).slice(0, Math.max(1, 2));
|
|
6710
|
+
};
|
|
6711
|
+
var resolveOutcomeTitle = (outcome) => {
|
|
6712
|
+
var _a, _b;
|
|
6713
|
+
return (_b = (_a = outcome == null ? void 0 : outcome.title) != null ? _a : outcome == null ? void 0 : outcome.label) == null ? void 0 : _b.trim();
|
|
6714
|
+
};
|
|
6715
|
+
var selectPrimaryVenueMarket = (venueMarkets) => {
|
|
6716
|
+
if (venueMarkets.length === 0) return void 0;
|
|
6717
|
+
if (venueMarkets.length === 1) return venueMarkets[0];
|
|
6718
|
+
return [...venueMarkets].sort((a, b) => {
|
|
6719
|
+
const aVolume = typeof a.volume === "number" ? a.volume : -1;
|
|
6720
|
+
const bVolume = typeof b.volume === "number" ? b.volume : -1;
|
|
6721
|
+
return bVolume - aVolume;
|
|
6722
|
+
})[0];
|
|
6723
|
+
};
|
|
6724
|
+
var resolveTileImage = (event, primaryVenueMarket, imageOverride) => {
|
|
6725
|
+
if (typeof imageOverride === "string" && imageOverride.trim()) {
|
|
6726
|
+
return imageOverride;
|
|
6727
|
+
}
|
|
6728
|
+
if (typeof event.image === "string" && event.image.trim()) {
|
|
6729
|
+
return event.image;
|
|
6730
|
+
}
|
|
6731
|
+
if (typeof (primaryVenueMarket == null ? void 0 : primaryVenueMarket.image) === "string" && primaryVenueMarket.image.trim()) {
|
|
6732
|
+
return primaryVenueMarket.image;
|
|
6733
|
+
}
|
|
6734
|
+
return void 0;
|
|
6735
|
+
};
|
|
6736
|
+
var formatCountLabel = (count, singular, plural) => {
|
|
6737
|
+
return `${count} ${count === 1 ? singular : plural}`;
|
|
6738
|
+
};
|
|
6739
|
+
var getVenueSummary = (venueMarkets, options) => {
|
|
6740
|
+
const normalizedVenueMarkets = normalizeVenueMarketCluster(venueMarkets);
|
|
6741
|
+
const tradableVenues = options == null ? void 0 : options.tradableVenues;
|
|
6742
|
+
const isVenueTradable = (venue) => {
|
|
6743
|
+
if (tradableVenues == null) return true;
|
|
6744
|
+
return tradableVenues.has(venue);
|
|
6745
|
+
};
|
|
6746
|
+
const uniqueVenues = Array.from(
|
|
6747
|
+
new Set(
|
|
6748
|
+
normalizedVenueMarkets.filter((market) => isVenueTradable(market.venue)).map((market) => market.venue)
|
|
6749
|
+
)
|
|
6757
6750
|
);
|
|
6751
|
+
return {
|
|
6752
|
+
marketCount: normalizedVenueMarkets.length,
|
|
6753
|
+
venueCount: uniqueVenues.length,
|
|
6754
|
+
singleVenue: uniqueVenues.length === 1 ? uniqueVenues[0] : void 0
|
|
6755
|
+
};
|
|
6756
|
+
};
|
|
6757
|
+
var resolveDisplayVolume = (eventVolume, venueMarkets) => {
|
|
6758
|
+
if (typeof eventVolume === "number" && eventVolume > 0) return eventVolume;
|
|
6759
|
+
const clusterMarkets = normalizeVenueMarketCluster(venueMarkets);
|
|
6760
|
+
const marketSum = clusterMarkets.reduce(
|
|
6761
|
+
(acc, m) => acc + (typeof m.volume === "number" ? m.volume : 0),
|
|
6762
|
+
0
|
|
6763
|
+
);
|
|
6764
|
+
if (marketSum > 0) return marketSum;
|
|
6765
|
+
return void 0;
|
|
6758
6766
|
};
|
|
6759
|
-
VenueLogo.displayName = "VenueLogo";
|
|
6760
|
-
|
|
6761
|
-
// src/primitives/search/search.constants.ts
|
|
6762
|
-
var DEFAULT_SEARCH_LIMIT = 5;
|
|
6763
|
-
var MIN_SEARCH_LENGTH = 3;
|
|
6764
|
-
var SEARCH_DEBOUNCE_MS = 300;
|
|
6765
6767
|
|
|
6766
6768
|
// src/primitives/search/search.utils.ts
|
|
6767
|
-
var import_sdk11 = require("@agg-build/sdk");
|
|
6768
|
-
var import_dayjs2 = __toESM(require("dayjs"));
|
|
6769
6769
|
var formatSearchContextLabel = (value) => {
|
|
6770
6770
|
if (!(0, import_dayjs2.default)(value).isValid()) return value;
|
|
6771
6771
|
return (0, import_dayjs2.default)(value).format("MMMM D, YYYY");
|
|
@@ -7403,7 +7403,7 @@ var Header = ({
|
|
|
7403
7403
|
"div",
|
|
7404
7404
|
{
|
|
7405
7405
|
className: cn(
|
|
7406
|
-
"agg-header-inner mx-auto flex h-auto w-full max-w-[
|
|
7406
|
+
"agg-header-inner mx-auto flex h-auto w-full max-w-[1440px] px-6 lg:px-10 items-center gap-2 md:gap-4 py-5",
|
|
7407
7407
|
classNames == null ? void 0 : classNames.inner
|
|
7408
7408
|
),
|
|
7409
7409
|
children: [
|
|
@@ -8445,7 +8445,37 @@ StateMessage.displayName = "StateMessage";
|
|
|
8445
8445
|
|
|
8446
8446
|
// src/primitives/tabs/index.tsx
|
|
8447
8447
|
var import_hooks34 = require("@agg-build/hooks");
|
|
8448
|
+
var import_react14 = require("react");
|
|
8449
|
+
|
|
8450
|
+
// src/shared/use-horizontal-scroll-state.ts
|
|
8448
8451
|
var import_react13 = require("react");
|
|
8452
|
+
var useHorizontalScrollState = () => {
|
|
8453
|
+
const containerRef = (0, import_react13.useRef)(null);
|
|
8454
|
+
const [canScrollLeft, setCanScrollLeft] = (0, import_react13.useState)(false);
|
|
8455
|
+
const [canScrollRight, setCanScrollRight] = (0, import_react13.useState)(false);
|
|
8456
|
+
const update = (0, import_react13.useCallback)(() => {
|
|
8457
|
+
const el = containerRef.current;
|
|
8458
|
+
if (!el) return;
|
|
8459
|
+
const maxScroll = el.scrollWidth - el.clientWidth;
|
|
8460
|
+
setCanScrollLeft(el.scrollLeft > 4);
|
|
8461
|
+
setCanScrollRight(maxScroll - el.scrollLeft > 4);
|
|
8462
|
+
}, []);
|
|
8463
|
+
(0, import_react13.useEffect)(() => {
|
|
8464
|
+
const el = containerRef.current;
|
|
8465
|
+
if (!el) return;
|
|
8466
|
+
el.addEventListener("scroll", update, { passive: true });
|
|
8467
|
+
return () => el.removeEventListener("scroll", update);
|
|
8468
|
+
}, [update]);
|
|
8469
|
+
(0, import_react13.useEffect)(() => {
|
|
8470
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
8471
|
+
const el = containerRef.current;
|
|
8472
|
+
if (!el) return;
|
|
8473
|
+
const ro = new ResizeObserver(() => update());
|
|
8474
|
+
ro.observe(el);
|
|
8475
|
+
return () => ro.disconnect();
|
|
8476
|
+
}, [update]);
|
|
8477
|
+
return { containerRef, canScrollLeft, canScrollRight, update };
|
|
8478
|
+
};
|
|
8449
8479
|
|
|
8450
8480
|
// src/primitives/tabs/tabs.constants.ts
|
|
8451
8481
|
var MOBILE_TABS_MEDIA_QUERY = "(max-width: 736px)";
|
|
@@ -8519,8 +8549,8 @@ var Tabs = ({
|
|
|
8519
8549
|
const {
|
|
8520
8550
|
features: { enableAnimations }
|
|
8521
8551
|
} = (0, import_hooks34.useSdkUiConfig)();
|
|
8522
|
-
const buttonRefs = (0,
|
|
8523
|
-
const dragStateRef = (0,
|
|
8552
|
+
const buttonRefs = (0, import_react14.useRef)([]);
|
|
8553
|
+
const dragStateRef = (0, import_react14.useRef)({
|
|
8524
8554
|
isPointerDown: false,
|
|
8525
8555
|
isDragging: false,
|
|
8526
8556
|
pointerId: null,
|
|
@@ -8528,29 +8558,30 @@ var Tabs = ({
|
|
|
8528
8558
|
startClientY: 0,
|
|
8529
8559
|
startScrollLeft: 0
|
|
8530
8560
|
});
|
|
8531
|
-
const suppressClickRef = (0,
|
|
8561
|
+
const suppressClickRef = (0, import_react14.useRef)(false);
|
|
8532
8562
|
const resolvedAriaLabel = ariaLabel != null ? ariaLabel : labels.common.tabsAria;
|
|
8533
|
-
const [isMobileViewport, setIsMobileViewport] = (0,
|
|
8534
|
-
const [isDraggingTabs, setIsDraggingTabs] = (0,
|
|
8535
|
-
const [activeUnderlineStyle, setActiveUnderlineStyle] = (0,
|
|
8563
|
+
const [isMobileViewport, setIsMobileViewport] = (0, import_react14.useState)(false);
|
|
8564
|
+
const [isDraggingTabs, setIsDraggingTabs] = (0, import_react14.useState)(false);
|
|
8565
|
+
const [activeUnderlineStyle, setActiveUnderlineStyle] = (0, import_react14.useState)({
|
|
8536
8566
|
transform: "translateX(0px)",
|
|
8537
8567
|
width: 0,
|
|
8538
8568
|
opacity: 0
|
|
8539
8569
|
});
|
|
8540
|
-
const
|
|
8541
|
-
|
|
8542
|
-
|
|
8543
|
-
|
|
8544
|
-
|
|
8570
|
+
const {
|
|
8571
|
+
containerRef: tabListRef,
|
|
8572
|
+
canScrollLeft,
|
|
8573
|
+
canScrollRight,
|
|
8574
|
+
update: updateScrollState
|
|
8575
|
+
} = useHorizontalScrollState();
|
|
8545
8576
|
const isBarVariant = variant === "bar";
|
|
8546
|
-
const resolvedOverflowBehavior = (0,
|
|
8577
|
+
const resolvedOverflowBehavior = (0, import_react14.useMemo)(() => {
|
|
8547
8578
|
if (overflowBehavior) return overflowBehavior;
|
|
8548
8579
|
if (!isBarVariant) return "scroll";
|
|
8549
8580
|
return isMobileViewport ? "select" : "scroll";
|
|
8550
8581
|
}, [isBarVariant, isMobileViewport, overflowBehavior]);
|
|
8551
8582
|
const shouldUseOverflowScroll = resolvedOverflowBehavior === "scroll";
|
|
8552
8583
|
const shouldUseOverflowSelect = resolvedOverflowBehavior === "select";
|
|
8553
|
-
(0,
|
|
8584
|
+
(0, import_react14.useEffect)(() => {
|
|
8554
8585
|
if (typeof window === "undefined") return;
|
|
8555
8586
|
const mediaQueryList = window.matchMedia(MOBILE_TABS_MEDIA_QUERY);
|
|
8556
8587
|
const handleMediaQueryChange = (event) => {
|
|
@@ -8568,28 +8599,12 @@ var Tabs = ({
|
|
|
8568
8599
|
mediaQueryList.removeListener(handleMediaQueryChange);
|
|
8569
8600
|
};
|
|
8570
8601
|
}, []);
|
|
8571
|
-
const
|
|
8572
|
-
if (!shouldUseOverflowScroll) {
|
|
8573
|
-
setScrollAffordanceState({
|
|
8574
|
-
showStart: false,
|
|
8575
|
-
showEnd: false
|
|
8576
|
-
});
|
|
8577
|
-
return;
|
|
8578
|
-
}
|
|
8579
|
-
const tabListElement = tabListRef.current;
|
|
8580
|
-
if (!tabListElement) return;
|
|
8581
|
-
const maxScrollLeft = tabListElement.scrollWidth - tabListElement.clientWidth;
|
|
8582
|
-
setScrollAffordanceState({
|
|
8583
|
-
showStart: tabListElement.scrollLeft > 4,
|
|
8584
|
-
showEnd: maxScrollLeft - tabListElement.scrollLeft > 4
|
|
8585
|
-
});
|
|
8586
|
-
}, [shouldUseOverflowScroll]);
|
|
8587
|
-
const renderedItems = (0, import_react13.useMemo)(() => {
|
|
8602
|
+
const renderedItems = (0, import_react14.useMemo)(() => {
|
|
8588
8603
|
return items.map((item) => __spreadProps(__spreadValues({}, item), {
|
|
8589
8604
|
disabled: item.disabled || item.isComingSoon
|
|
8590
8605
|
}));
|
|
8591
8606
|
}, [items]);
|
|
8592
|
-
const selectItems = (0,
|
|
8607
|
+
const selectItems = (0, import_react14.useMemo)(() => {
|
|
8593
8608
|
return renderedItems.map((item) => ({
|
|
8594
8609
|
value: item.value,
|
|
8595
8610
|
label: item.isComingSoon ? `${item.label} (soon)` : item.label,
|
|
@@ -8722,7 +8737,7 @@ var Tabs = ({
|
|
|
8722
8737
|
event == null ? void 0 : event.stopPropagation();
|
|
8723
8738
|
suppressClickRef.current = false;
|
|
8724
8739
|
};
|
|
8725
|
-
const updateActiveUnderline = (0,
|
|
8740
|
+
const updateActiveUnderline = (0, import_react14.useCallback)(() => {
|
|
8726
8741
|
if (isBarVariant) {
|
|
8727
8742
|
setActiveUnderlineStyle({
|
|
8728
8743
|
transform: "translateX(0px)",
|
|
@@ -8745,42 +8760,39 @@ var Tabs = ({
|
|
|
8745
8760
|
opacity: 1
|
|
8746
8761
|
});
|
|
8747
8762
|
}, [isBarVariant, renderedItems, value]);
|
|
8748
|
-
(0,
|
|
8763
|
+
(0, import_react14.useLayoutEffect)(() => {
|
|
8749
8764
|
updateActiveUnderline();
|
|
8750
8765
|
}, [updateActiveUnderline]);
|
|
8751
|
-
(0,
|
|
8766
|
+
(0, import_react14.useEffect)(() => {
|
|
8752
8767
|
if (isBarVariant || !shouldUseOverflowScroll) return;
|
|
8753
8768
|
const tabListElement = tabListRef.current;
|
|
8754
8769
|
if (!tabListElement) return;
|
|
8755
8770
|
const handleScroll = () => {
|
|
8756
8771
|
updateActiveUnderline();
|
|
8757
|
-
updateScrollAffordances();
|
|
8758
8772
|
};
|
|
8759
8773
|
tabListElement.addEventListener("scroll", handleScroll, { passive: true });
|
|
8760
|
-
updateScrollAffordances();
|
|
8761
8774
|
return () => {
|
|
8762
8775
|
tabListElement.removeEventListener("scroll", handleScroll);
|
|
8763
8776
|
};
|
|
8764
|
-
}, [isBarVariant, shouldUseOverflowScroll,
|
|
8765
|
-
(0,
|
|
8777
|
+
}, [isBarVariant, shouldUseOverflowScroll, tabListRef, updateActiveUnderline]);
|
|
8778
|
+
(0, import_react14.useEffect)(() => {
|
|
8766
8779
|
if (!shouldUseOverflowScroll) return;
|
|
8767
|
-
|
|
8768
|
-
}, [renderedItems, shouldUseOverflowScroll,
|
|
8769
|
-
(0,
|
|
8770
|
-
if (isBarVariant
|
|
8780
|
+
updateScrollState();
|
|
8781
|
+
}, [renderedItems, shouldUseOverflowScroll, updateScrollState, value]);
|
|
8782
|
+
(0, import_react14.useEffect)(() => {
|
|
8783
|
+
if (isBarVariant || !shouldUseOverflowScroll) return;
|
|
8771
8784
|
if (typeof ResizeObserver === "undefined") return;
|
|
8772
8785
|
const tabListElement = tabListRef.current;
|
|
8773
8786
|
if (!tabListElement) return;
|
|
8774
8787
|
const resizeObserver = new ResizeObserver(() => {
|
|
8775
8788
|
updateActiveUnderline();
|
|
8776
|
-
updateScrollAffordances();
|
|
8777
8789
|
});
|
|
8778
8790
|
resizeObserver.observe(tabListElement);
|
|
8779
8791
|
return () => {
|
|
8780
8792
|
resizeObserver.disconnect();
|
|
8781
8793
|
};
|
|
8782
|
-
}, [isBarVariant, shouldUseOverflowScroll,
|
|
8783
|
-
(0,
|
|
8794
|
+
}, [isBarVariant, shouldUseOverflowScroll, tabListRef, updateActiveUnderline]);
|
|
8795
|
+
(0, import_react14.useEffect)(() => {
|
|
8784
8796
|
if (!shouldUseOverflowScroll) return;
|
|
8785
8797
|
const tabListElement = tabListRef.current;
|
|
8786
8798
|
if (!tabListElement) return;
|
|
@@ -8927,7 +8939,7 @@ var Tabs = ({
|
|
|
8927
8939
|
"agg-tab-scroll-start",
|
|
8928
8940
|
"pointer-events-none absolute top-0 bottom-0 left-0 z-10 w-12 md:w-18 bg-linear-to-r from-agg-secondary via-agg-secondary to-transparent",
|
|
8929
8941
|
getMotionClassName(enableAnimations, "transition-opacity duration-200"),
|
|
8930
|
-
|
|
8942
|
+
canScrollLeft ? "opacity-100" : "opacity-0"
|
|
8931
8943
|
)
|
|
8932
8944
|
}
|
|
8933
8945
|
),
|
|
@@ -8939,24 +8951,63 @@ var Tabs = ({
|
|
|
8939
8951
|
"agg-tab-scroll-end",
|
|
8940
8952
|
"pointer-events-none absolute top-0 right-0 bottom-0 z-10 w-12 md:w-18 bg-linear-to-l from-agg-secondary via-agg-secondary to-transparent",
|
|
8941
8953
|
getMotionClassName(enableAnimations, "transition-opacity duration-200"),
|
|
8942
|
-
|
|
8954
|
+
canScrollRight ? "opacity-100" : "opacity-0"
|
|
8943
8955
|
)
|
|
8944
8956
|
}
|
|
8945
8957
|
)
|
|
8946
8958
|
] }) : null,
|
|
8947
|
-
shouldUseOverflowScroll && isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime127.
|
|
8948
|
-
|
|
8949
|
-
|
|
8950
|
-
|
|
8951
|
-
|
|
8952
|
-
"
|
|
8953
|
-
|
|
8954
|
-
|
|
8955
|
-
|
|
8956
|
-
|
|
8957
|
-
|
|
8958
|
-
|
|
8959
|
-
|
|
8959
|
+
shouldUseOverflowScroll && isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
|
|
8960
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
8961
|
+
"button",
|
|
8962
|
+
{
|
|
8963
|
+
type: "button",
|
|
8964
|
+
"aria-label": labels.common.scrollTabsLeft,
|
|
8965
|
+
tabIndex: -1,
|
|
8966
|
+
className: cn(
|
|
8967
|
+
"agg-tab-scroll-start",
|
|
8968
|
+
"absolute top-0 bottom-0 left-0 z-10 w-20 rounded-l-agg-lg",
|
|
8969
|
+
"inline-flex items-center justify-start pl-2",
|
|
8970
|
+
"bg-linear-to-r from-agg-secondary from-[25%] via-agg-secondary/80 to-transparent",
|
|
8971
|
+
"cursor-pointer",
|
|
8972
|
+
getMotionClassName(enableAnimations, "transition-opacity duration-200"),
|
|
8973
|
+
canScrollLeft ? "opacity-100" : "opacity-0 pointer-events-none"
|
|
8974
|
+
),
|
|
8975
|
+
onClick: () => {
|
|
8976
|
+
var _a;
|
|
8977
|
+
(_a = tabListRef.current) == null ? void 0 : _a.scrollBy({
|
|
8978
|
+
left: -200,
|
|
8979
|
+
behavior: getScrollBehavior(enableAnimations)
|
|
8980
|
+
});
|
|
8981
|
+
},
|
|
8982
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Icon, { name: "chevron-left", size: "small", color: "currentColor" })
|
|
8983
|
+
}
|
|
8984
|
+
),
|
|
8985
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
8986
|
+
"button",
|
|
8987
|
+
{
|
|
8988
|
+
type: "button",
|
|
8989
|
+
"aria-label": labels.common.scrollTabsRight,
|
|
8990
|
+
tabIndex: -1,
|
|
8991
|
+
className: cn(
|
|
8992
|
+
"agg-tab-scroll-end",
|
|
8993
|
+
"absolute top-0 right-0 bottom-0 z-10 w-20 rounded-r-agg-lg",
|
|
8994
|
+
"inline-flex items-center justify-end pr-2",
|
|
8995
|
+
"bg-linear-to-l from-agg-secondary from-[25%] via-agg-secondary/80 to-transparent",
|
|
8996
|
+
"cursor-pointer",
|
|
8997
|
+
getMotionClassName(enableAnimations, "transition-opacity duration-200"),
|
|
8998
|
+
canScrollRight ? "opacity-100" : "opacity-0 pointer-events-none"
|
|
8999
|
+
),
|
|
9000
|
+
onClick: () => {
|
|
9001
|
+
var _a;
|
|
9002
|
+
(_a = tabListRef.current) == null ? void 0 : _a.scrollBy({
|
|
9003
|
+
left: 200,
|
|
9004
|
+
behavior: getScrollBehavior(enableAnimations)
|
|
9005
|
+
});
|
|
9006
|
+
},
|
|
9007
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Icon, { name: "chevron-right", size: "small", color: "currentColor" })
|
|
9008
|
+
}
|
|
9009
|
+
)
|
|
9010
|
+
] }) : null
|
|
8960
9011
|
]
|
|
8961
9012
|
}
|
|
8962
9013
|
);
|
|
@@ -8965,7 +9016,7 @@ Tabs.displayName = "Tabs";
|
|
|
8965
9016
|
|
|
8966
9017
|
// src/primitives/toast/index.tsx
|
|
8967
9018
|
var RadixToast = __toESM(require("@radix-ui/react-toast"));
|
|
8968
|
-
var
|
|
9019
|
+
var import_react15 = require("react");
|
|
8969
9020
|
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
8970
9021
|
var DEFAULT_DURATION_MS = 5e3;
|
|
8971
9022
|
var EXIT_ANIMATION_MS = 350;
|
|
@@ -8981,7 +9032,7 @@ var TONE_ICON_NAME = {
|
|
|
8981
9032
|
warning: "warning-filled",
|
|
8982
9033
|
error: "error-filled"
|
|
8983
9034
|
};
|
|
8984
|
-
var ToastContext = (0,
|
|
9035
|
+
var ToastContext = (0, import_react15.createContext)(null);
|
|
8985
9036
|
function ToastProvider({
|
|
8986
9037
|
children,
|
|
8987
9038
|
defaultDurationMs = DEFAULT_DURATION_MS,
|
|
@@ -8989,12 +9040,12 @@ function ToastProvider({
|
|
|
8989
9040
|
swipeThreshold = 50,
|
|
8990
9041
|
viewportClassName
|
|
8991
9042
|
}) {
|
|
8992
|
-
const [toasts, setToasts] = (0,
|
|
8993
|
-
const idRef = (0,
|
|
8994
|
-
const dismiss = (0,
|
|
9043
|
+
const [toasts, setToasts] = (0, import_react15.useState)([]);
|
|
9044
|
+
const idRef = (0, import_react15.useRef)(0);
|
|
9045
|
+
const dismiss = (0, import_react15.useCallback)((id) => {
|
|
8995
9046
|
setToasts((current) => current.filter((entry) => entry.id !== id));
|
|
8996
9047
|
}, []);
|
|
8997
|
-
const toast = (0,
|
|
9048
|
+
const toast = (0, import_react15.useCallback)(
|
|
8998
9049
|
(message, options) => {
|
|
8999
9050
|
const id = ++idRef.current;
|
|
9000
9051
|
setToasts((current) => {
|
|
@@ -9039,31 +9090,31 @@ function ToastProvider({
|
|
|
9039
9090
|
] }) });
|
|
9040
9091
|
}
|
|
9041
9092
|
function ToastRow({ entry, onOpenChange }) {
|
|
9042
|
-
const [isOpen, setIsOpen] = (0,
|
|
9093
|
+
const [isOpen, setIsOpen] = (0, import_react15.useState)(true);
|
|
9043
9094
|
const hasAutoDismiss = entry.durationMs > 0 && Number.isFinite(entry.durationMs);
|
|
9044
9095
|
const duration = hasAutoDismiss ? entry.durationMs : Number.POSITIVE_INFINITY;
|
|
9045
|
-
const timeoutRef = (0,
|
|
9046
|
-
const closeTimeoutRef = (0,
|
|
9047
|
-
const remainingMsRef = (0,
|
|
9048
|
-
const timerStartedAtRef = (0,
|
|
9049
|
-
const onOpenChangeRef = (0,
|
|
9096
|
+
const timeoutRef = (0, import_react15.useRef)(null);
|
|
9097
|
+
const closeTimeoutRef = (0, import_react15.useRef)(null);
|
|
9098
|
+
const remainingMsRef = (0, import_react15.useRef)(duration);
|
|
9099
|
+
const timerStartedAtRef = (0, import_react15.useRef)(null);
|
|
9100
|
+
const onOpenChangeRef = (0, import_react15.useRef)(onOpenChange);
|
|
9050
9101
|
const rootStyle = {
|
|
9051
9102
|
"--agg-toast-duration": `${duration}ms`
|
|
9052
9103
|
};
|
|
9053
|
-
(0,
|
|
9104
|
+
(0, import_react15.useEffect)(() => {
|
|
9054
9105
|
onOpenChangeRef.current = onOpenChange;
|
|
9055
9106
|
}, [onOpenChange]);
|
|
9056
|
-
const clearDismissTimer = (0,
|
|
9107
|
+
const clearDismissTimer = (0, import_react15.useCallback)(() => {
|
|
9057
9108
|
if (!timeoutRef.current) return;
|
|
9058
9109
|
clearTimeout(timeoutRef.current);
|
|
9059
9110
|
timeoutRef.current = null;
|
|
9060
9111
|
}, []);
|
|
9061
|
-
const clearCloseTimer = (0,
|
|
9112
|
+
const clearCloseTimer = (0, import_react15.useCallback)(() => {
|
|
9062
9113
|
if (!closeTimeoutRef.current) return;
|
|
9063
9114
|
clearTimeout(closeTimeoutRef.current);
|
|
9064
9115
|
closeTimeoutRef.current = null;
|
|
9065
9116
|
}, []);
|
|
9066
|
-
const handleOpenChange = (0,
|
|
9117
|
+
const handleOpenChange = (0, import_react15.useCallback)(
|
|
9067
9118
|
(open) => {
|
|
9068
9119
|
if (open) {
|
|
9069
9120
|
clearCloseTimer();
|
|
@@ -9080,7 +9131,7 @@ function ToastRow({ entry, onOpenChange }) {
|
|
|
9080
9131
|
},
|
|
9081
9132
|
[clearCloseTimer, clearDismissTimer]
|
|
9082
9133
|
);
|
|
9083
|
-
const startDismissTimer = (0,
|
|
9134
|
+
const startDismissTimer = (0, import_react15.useCallback)(() => {
|
|
9084
9135
|
if (!hasAutoDismiss) return;
|
|
9085
9136
|
clearDismissTimer();
|
|
9086
9137
|
timerStartedAtRef.current = Date.now();
|
|
@@ -9088,18 +9139,18 @@ function ToastRow({ entry, onOpenChange }) {
|
|
|
9088
9139
|
handleOpenChange(false);
|
|
9089
9140
|
}, remainingMsRef.current);
|
|
9090
9141
|
}, [clearDismissTimer, handleOpenChange, hasAutoDismiss]);
|
|
9091
|
-
const handlePauseDismissTimer = (0,
|
|
9142
|
+
const handlePauseDismissTimer = (0, import_react15.useCallback)(() => {
|
|
9092
9143
|
if (!hasAutoDismiss || timerStartedAtRef.current === null) return;
|
|
9093
9144
|
const elapsedMs = Date.now() - timerStartedAtRef.current;
|
|
9094
9145
|
remainingMsRef.current = Math.max(0, remainingMsRef.current - elapsedMs);
|
|
9095
9146
|
timerStartedAtRef.current = null;
|
|
9096
9147
|
clearDismissTimer();
|
|
9097
9148
|
}, [clearDismissTimer, hasAutoDismiss]);
|
|
9098
|
-
const handleResumeDismissTimer = (0,
|
|
9149
|
+
const handleResumeDismissTimer = (0, import_react15.useCallback)(() => {
|
|
9099
9150
|
if (!hasAutoDismiss || timerStartedAtRef.current !== null) return;
|
|
9100
9151
|
startDismissTimer();
|
|
9101
9152
|
}, [hasAutoDismiss, startDismissTimer]);
|
|
9102
|
-
(0,
|
|
9153
|
+
(0, import_react15.useEffect)(() => {
|
|
9103
9154
|
remainingMsRef.current = duration;
|
|
9104
9155
|
startDismissTimer();
|
|
9105
9156
|
return () => {
|
|
@@ -9171,20 +9222,20 @@ function ToastRow({ entry, onOpenChange }) {
|
|
|
9171
9222
|
);
|
|
9172
9223
|
}
|
|
9173
9224
|
function useToast() {
|
|
9174
|
-
const ctx = (0,
|
|
9225
|
+
const ctx = (0, import_react15.useContext)(ToastContext);
|
|
9175
9226
|
if (!ctx) {
|
|
9176
9227
|
throw new Error("useToast must be used within a <ToastProvider>");
|
|
9177
9228
|
}
|
|
9178
9229
|
return ctx;
|
|
9179
9230
|
}
|
|
9180
9231
|
function useOptionalToast() {
|
|
9181
|
-
return (0,
|
|
9232
|
+
return (0, import_react15.useContext)(ToastContext);
|
|
9182
9233
|
}
|
|
9183
9234
|
|
|
9184
9235
|
// src/primitives/tooltip/index.tsx
|
|
9185
9236
|
var import_hooks35 = require("@agg-build/hooks");
|
|
9186
9237
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
|
|
9187
|
-
var
|
|
9238
|
+
var import_react16 = require("react");
|
|
9188
9239
|
|
|
9189
9240
|
// src/primitives/tooltip/tooltip.constants.ts
|
|
9190
9241
|
var tooltipSizeClasses = {
|
|
@@ -9232,7 +9283,7 @@ var Tooltip = ({
|
|
|
9232
9283
|
general: { rootClassName },
|
|
9233
9284
|
features: { enableAnimations }
|
|
9234
9285
|
} = (0, import_hooks35.useSdkUiConfig)();
|
|
9235
|
-
const trigger = (0,
|
|
9286
|
+
const trigger = (0, import_react16.useMemo)(() => {
|
|
9236
9287
|
if (children) return children;
|
|
9237
9288
|
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
9238
9289
|
"button",
|