@agg-build/ui 4.2.0 → 4.4.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.
Files changed (64) hide show
  1. package/README.md +21 -16
  2. package/dist/{chunk-DNPDXL2D.mjs → chunk-64BBTXFE.mjs} +333 -102
  3. package/dist/{chunk-WDCH4RRS.mjs → chunk-6STRIKUA.mjs} +1 -1
  4. package/dist/{chunk-FTL25XKE.mjs → chunk-734VTGCV.mjs} +1 -1
  5. package/dist/{chunk-QW7VFURU.mjs → chunk-N7UPPT5J.mjs} +53 -3
  6. package/dist/{chunk-6X6Y4INU.mjs → chunk-UCU2XCV5.mjs} +2 -2
  7. package/dist/{chunk-GNEFI4SO.mjs → chunk-V5CRUO6S.mjs} +637 -380
  8. package/dist/{chunk-UDBHAZJJ.mjs → chunk-WW5QKNIM.mjs} +270 -123
  9. package/dist/events.js +1061 -645
  10. package/dist/events.mjs +6 -4
  11. package/dist/index.js +2923 -2251
  12. package/dist/index.mjs +12 -8
  13. package/dist/modals.js +9 -2
  14. package/dist/modals.mjs +3 -3
  15. package/dist/pages.js +2391 -1721
  16. package/dist/pages.mjs +8 -6
  17. package/dist/primitives.js +30 -3
  18. package/dist/primitives.mjs +1 -1
  19. package/dist/styles.css +1 -1
  20. package/dist/tailwind.css +1 -1
  21. package/dist/trading.js +330 -99
  22. package/dist/trading.mjs +4 -4
  23. package/dist/types/events/index.d.mts +1 -0
  24. package/dist/types/events/index.d.ts +1 -0
  25. package/dist/types/events/item-details/event-list-item-details-market-selector.d.mts +4 -1
  26. package/dist/types/events/item-details/event-list-item-details-market-selector.d.ts +4 -1
  27. package/dist/types/events/item-details/event-list-item-details.types.d.mts +25 -1
  28. package/dist/types/events/item-details/event-list-item-details.types.d.ts +25 -1
  29. package/dist/types/events/item-details/index.d.mts +1 -1
  30. package/dist/types/events/item-details/index.d.ts +1 -1
  31. package/dist/types/events/market-details/index.d.mts +1 -1
  32. package/dist/types/events/market-details/index.d.ts +1 -1
  33. package/dist/types/events/market-details/market-details.types.d.mts +4 -0
  34. package/dist/types/events/market-details/market-details.types.d.ts +4 -0
  35. package/dist/types/events/shared/format-event-title.d.mts +9 -1
  36. package/dist/types/events/shared/format-event-title.d.ts +9 -1
  37. package/dist/types/events/shared/format-sports-event-time.d.mts +2 -0
  38. package/dist/types/events/shared/format-sports-event-time.d.ts +2 -0
  39. package/dist/types/events/shared/sports-live-score.d.mts +10 -0
  40. package/dist/types/events/shared/sports-live-score.d.ts +10 -0
  41. package/dist/types/pages/event-market/event-market.types.d.mts +4 -0
  42. package/dist/types/pages/event-market/event-market.types.d.ts +4 -0
  43. package/dist/types/pages/event-market/index.d.mts +1 -0
  44. package/dist/types/pages/event-market/index.d.ts +1 -0
  45. package/dist/types/pages/user-profile/components/available-balance-card.d.mts +5 -0
  46. package/dist/types/pages/user-profile/components/available-balance-card.d.ts +5 -0
  47. package/dist/types/pages/user-profile/components/open-order-row.d.mts +1 -0
  48. package/dist/types/pages/user-profile/components/open-order-row.d.ts +1 -0
  49. package/dist/types/pages/user-profile/components/positions-activity.d.mts +1 -1
  50. package/dist/types/pages/user-profile/components/positions-activity.d.ts +1 -1
  51. package/dist/types/pages/user-profile/user-profile.types.d.mts +1 -1
  52. package/dist/types/pages/user-profile/user-profile.types.d.ts +1 -1
  53. package/dist/types/trading/place-order/index.d.mts +1 -1
  54. package/dist/types/trading/place-order/index.d.ts +1 -1
  55. package/dist/types/trading/place-order/index.place-order.execution-steps.d.mts +13 -1
  56. package/dist/types/trading/place-order/index.place-order.execution-steps.d.ts +13 -1
  57. package/dist/types/trading/place-order/index.place-order.execution-view.d.mts +2 -1
  58. package/dist/types/trading/place-order/index.place-order.execution-view.d.ts +2 -1
  59. package/dist/types/trading/place-order/index.place-order.types.d.mts +9 -0
  60. package/dist/types/trading/place-order/index.place-order.types.d.ts +9 -0
  61. package/dist/types/trading/place-order/index.place-order.utils.d.mts +6 -0
  62. package/dist/types/trading/place-order/index.place-order.utils.d.ts +6 -0
  63. package/package.json +3 -3
  64. /package/dist/{chunk-KHHFHXXD.mjs → chunk-JH4B3ZHQ.mjs} +0 -0
@@ -19,7 +19,7 @@ import {
19
19
  selectPrimaryVenueMarket,
20
20
  skeletonViews,
21
21
  sortOutcomes
22
- } from "./chunk-QW7VFURU.mjs";
22
+ } from "./chunk-N7UPPT5J.mjs";
23
23
 
24
24
  // src/trading/trading-context/index.tsx
25
25
  import { useEventTradingContext } from "@agg-build/hooks";
@@ -18,7 +18,7 @@ import {
18
18
  __spreadProps,
19
19
  __spreadValues,
20
20
  cn
21
- } from "./chunk-QW7VFURU.mjs";
21
+ } from "./chunk-N7UPPT5J.mjs";
22
22
 
23
23
  // src/geo-block-banner/index.tsx
24
24
  import { useLabels } from "@agg-build/hooks";
@@ -6870,6 +6870,7 @@ dayjs2.extend(utc);
6870
6870
  dayjs2.extend(timezone);
6871
6871
  var SPORTS_EVENT_TIMEZONE = "America/New_York";
6872
6872
  var SPORTS_EVENT_TIME_FORMAT = "MMM D, h:mm A";
6873
+ var RECURRING_MARKET_PILL_TIME_FORMAT = "h:mm A";
6873
6874
  var formatSportsEventTimeEt = (value) => {
6874
6875
  const resolvedValue = value.trim();
6875
6876
  if (!resolvedValue) return null;
@@ -6877,9 +6878,37 @@ var formatSportsEventTimeEt = (value) => {
6877
6878
  if (!parsedValue.isValid()) return null;
6878
6879
  return `${parsedValue.tz(SPORTS_EVENT_TIMEZONE).format(SPORTS_EVENT_TIME_FORMAT)} ET`;
6879
6880
  };
6881
+ var formatRecurringMarketPillTimeEt = (value) => {
6882
+ const parsedValue = dayjs2.utc(value.trim());
6883
+ if (!value.trim() || !parsedValue.isValid()) return null;
6884
+ return parsedValue.tz(SPORTS_EVENT_TIMEZONE).format(RECURRING_MARKET_PILL_TIME_FORMAT);
6885
+ };
6886
+ var formatRecurringMarketWindowTimeEt = (windowStart, windowEnd) => {
6887
+ const parsedStart = dayjs2.utc(windowStart.trim());
6888
+ const parsedEnd = dayjs2.utc(windowEnd.trim());
6889
+ if (!windowStart.trim() || !windowEnd.trim() || !parsedStart.isValid() || !parsedEnd.isValid()) {
6890
+ return null;
6891
+ }
6892
+ const zonedStart = parsedStart.tz(SPORTS_EVENT_TIMEZONE);
6893
+ const zonedEnd = parsedEnd.tz(SPORTS_EVENT_TIMEZONE);
6894
+ if (zonedStart.isSame(zonedEnd, "day")) {
6895
+ return `${zonedStart.format("MMM D, h:mm")}-${zonedEnd.format("h:mmA")} ET`;
6896
+ }
6897
+ return `${zonedStart.format(SPORTS_EVENT_TIME_FORMAT)}-${zonedEnd.format(
6898
+ SPORTS_EVENT_TIME_FORMAT
6899
+ )} ET`;
6900
+ };
6880
6901
 
6881
6902
  // src/events/shared/format-event-title.ts
6882
6903
  var SPORT_CATEGORY_TOKENS = /* @__PURE__ */ new Set(["sport", "sports"]);
6904
+ var RECURRING_CRYPTO_TIMESTAMP_SUFFIX = /\s+-\s+(?:jan(?:uary)?|feb(?:ruary)?|mar(?:ch)?|apr(?:il)?|may|jun(?:e)?|jul(?:y)?|aug(?:ust)?|sep(?:t(?:ember)?)?|oct(?:ober)?|nov(?:ember)?|dec(?:ember)?)\b.*$/i;
6905
+ var RECURRING_CRYPTO_DURATION_SUFFIX = /\s+-\s+(?:5m(?:in)?|15m(?:in)?|1h|1d)$/i;
6906
+ var RECURRING_CRYPTO_DURATION_LABELS = {
6907
+ PT5M: "5min",
6908
+ PT15M: "15min",
6909
+ PT1H: "1h",
6910
+ P1D: "1d"
6911
+ };
6883
6912
  var normalizeCategoryToken = (value) => {
6884
6913
  if (typeof value !== "string") return null;
6885
6914
  const normalizedValue = value.trim().toLowerCase();
@@ -6948,9 +6977,21 @@ var resolveEventHeading = ({
6948
6977
  structureType,
6949
6978
  gameStartTime,
6950
6979
  endDate,
6951
- venueMarkets
6980
+ venueMarkets,
6981
+ recurringCryptoWindowStart,
6982
+ recurringCryptoDuration
6952
6983
  }) => {
6953
6984
  const resolvedTitle = title2.trim();
6985
+ if (recurringCryptoWindowStart !== void 0) {
6986
+ const windowStartDate = recurringCryptoWindowStart == null ? null : new Date(recurringCryptoWindowStart);
6987
+ const timestampLabel = windowStartDate && !Number.isNaN(windowStartDate.getTime()) ? formatSportsEventTimeEt(windowStartDate.toISOString()) : null;
6988
+ const titleWithoutTimestamp = resolvedTitle.replace(RECURRING_CRYPTO_TIMESTAMP_SUFFIX, "").replace(RECURRING_CRYPTO_DURATION_SUFFIX, "").trim();
6989
+ const durationLabel = recurringCryptoDuration ? RECURRING_CRYPTO_DURATION_LABELS[recurringCryptoDuration] : null;
6990
+ return {
6991
+ title: durationLabel ? `${titleWithoutTimestamp} - ${durationLabel}` : titleWithoutTimestamp,
6992
+ timestampLabel
6993
+ };
6994
+ }
6954
6995
  return {
6955
6996
  title: resolvedTitle,
6956
6997
  timestampLabel: resolveEventTimestampLabel({
@@ -9425,7 +9466,7 @@ var Tabs = ({
9425
9466
  width: activeButton.offsetWidth,
9426
9467
  opacity: 1
9427
9468
  });
9428
- }, [isBarVariant, renderedItems, value]);
9469
+ }, [isBarVariant, renderedItems, tabListRef, value]);
9429
9470
  useLayoutEffect3(() => {
9430
9471
  updateActiveUnderline();
9431
9472
  }, [updateActiveUnderline]);
@@ -9484,7 +9525,14 @@ var Tabs = ({
9484
9525
  requestAnimationFrame(() => {
9485
9526
  updateScrollState();
9486
9527
  });
9487
- }, [enableAnimations, renderedItems, shouldUseOverflowScroll, updateScrollState, value]);
9528
+ }, [
9529
+ enableAnimations,
9530
+ renderedItems,
9531
+ shouldUseOverflowScroll,
9532
+ tabListRef,
9533
+ updateScrollState,
9534
+ value
9535
+ ]);
9488
9536
  if (shouldUseOverflowSelect) {
9489
9537
  return /* @__PURE__ */ jsx133("div", { className: cn("group/agg-tabs w-full", className, classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsx133(
9490
9538
  Select,
@@ -10168,6 +10216,8 @@ export {
10168
10216
  fallbackLineColors,
10169
10217
  VenueLogo,
10170
10218
  formatSportsEventTimeEt,
10219
+ formatRecurringMarketPillTimeEt,
10220
+ formatRecurringMarketWindowTimeEt,
10171
10221
  resolveEventHeading,
10172
10222
  normalizeVenueMarketCluster,
10173
10223
  resolveEventListItemEvent,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  ConnectKalshiModal,
4
4
  dispatchAggDepositNotification
5
- } from "./chunk-FTL25XKE.mjs";
5
+ } from "./chunk-734VTGCV.mjs";
6
6
  import {
7
7
  BoltIcon,
8
8
  Button,
@@ -35,7 +35,7 @@ import {
35
35
  shortenAddress,
36
36
  useOptionalToast,
37
37
  venueLogoLabels
38
- } from "./chunk-QW7VFURU.mjs";
38
+ } from "./chunk-N7UPPT5J.mjs";
39
39
 
40
40
  // src/deposit/index.tsx
41
41
  import { useAggAuthState, useAggUiConfig, useDepositAddresses, useLabels as useLabels11 } from "@agg-build/hooks";