@agg-build/ui 4.7.2 → 4.7.4
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-LXQ3U4X2.mjs → chunk-2347CDTT.mjs} +2 -2
- package/dist/{chunk-C4GFVJ62.mjs → chunk-3X5ICUUC.mjs} +128 -57
- package/dist/{chunk-KDBKKJ7W.mjs → chunk-CB3DDQBP.mjs} +6 -4
- package/dist/{chunk-WYCSTAN7.mjs → chunk-MAQ52KM5.mjs} +1 -1
- package/dist/{chunk-RDBMHBR2.mjs → chunk-UQ7XJIAZ.mjs} +339 -205
- package/dist/{chunk-3UBMK2YH.mjs → chunk-VQTOMYOA.mjs} +272 -88
- package/dist/{chunk-XN2NB2NP.mjs → chunk-XR6C3MZX.mjs} +1 -1
- package/dist/events.js +1204 -999
- package/dist/events.mjs +3 -3
- package/dist/index.js +3875 -3484
- package/dist/index.mjs +7 -7
- package/dist/modals.js +1543 -1409
- package/dist/modals.mjs +3 -3
- package/dist/pages.js +3140 -2749
- package/dist/pages.mjs +6 -6
- package/dist/primitives.js +451 -317
- package/dist/primitives.mjs +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/trading.js +1118 -982
- package/dist/trading.mjs +4 -4
- package/dist/types/pages/event-market/sports-event-market.utils.d.mts +47 -14
- package/dist/types/pages/event-market/sports-event-market.utils.d.ts +47 -14
- package/dist/types/primitives/venue-logo/svg/logo-prophetx.d.mts +27 -0
- package/dist/types/primitives/venue-logo/svg/logo-prophetx.d.ts +27 -0
- package/package.json +3 -3
package/dist/primitives.js
CHANGED
|
@@ -5281,11 +5281,11 @@ var Footer = ({
|
|
|
5281
5281
|
Footer.displayName = "Footer";
|
|
5282
5282
|
|
|
5283
5283
|
// src/primitives/header/index.tsx
|
|
5284
|
-
var
|
|
5284
|
+
var import_hooks30 = require("@agg-build/hooks");
|
|
5285
5285
|
|
|
5286
5286
|
// src/primitives/search/index.tsx
|
|
5287
|
-
var
|
|
5288
|
-
var
|
|
5287
|
+
var import_hooks29 = require("@agg-build/hooks");
|
|
5288
|
+
var import_react10 = require("react");
|
|
5289
5289
|
|
|
5290
5290
|
// src/events/list/event-list.utils.ts
|
|
5291
5291
|
var import_hooks8 = require("@agg-build/hooks");
|
|
@@ -6043,10 +6043,10 @@ var Skeleton = ({
|
|
|
6043
6043
|
Skeleton.displayName = "Skeleton";
|
|
6044
6044
|
|
|
6045
6045
|
// src/primitives/venue-logo/index.tsx
|
|
6046
|
-
var
|
|
6046
|
+
var import_hooks27 = require("@agg-build/hooks");
|
|
6047
6047
|
|
|
6048
6048
|
// src/primitives/venue-logo/venue-logo.constants.ts
|
|
6049
|
-
var
|
|
6049
|
+
var import_sdk12 = require("@agg-build/sdk");
|
|
6050
6050
|
|
|
6051
6051
|
// src/primitives/venue-logo/logo-props.ts
|
|
6052
6052
|
var DEFAULT_MONOCHROME_COLOR = "currentColor";
|
|
@@ -6535,41 +6535,169 @@ var LogoProbableIcon = (_a) => {
|
|
|
6535
6535
|
};
|
|
6536
6536
|
LogoProbableIcon.displayName = "LogoProbableIcon";
|
|
6537
6537
|
|
|
6538
|
+
// src/primitives/venue-logo/svg/logo-prophetx.tsx
|
|
6539
|
+
var import_hooks26 = require("@agg-build/hooks");
|
|
6540
|
+
var import_sdk11 = require("@agg-build/sdk");
|
|
6541
|
+
var import_react9 = require("react");
|
|
6542
|
+
var import_jsx_runtime123 = require("react/jsx-runtime");
|
|
6543
|
+
var LogoProphetXIcon = (_a) => {
|
|
6544
|
+
var _b = _a, {
|
|
6545
|
+
title: title2,
|
|
6546
|
+
className,
|
|
6547
|
+
isColor = true,
|
|
6548
|
+
color
|
|
6549
|
+
} = _b, props = __objRest(_b, [
|
|
6550
|
+
"title",
|
|
6551
|
+
"className",
|
|
6552
|
+
"isColor",
|
|
6553
|
+
"color"
|
|
6554
|
+
]);
|
|
6555
|
+
var _a2;
|
|
6556
|
+
const {
|
|
6557
|
+
general: { theme }
|
|
6558
|
+
} = (0, import_hooks26.useAggUiConfig)();
|
|
6559
|
+
const isDarkTheme = theme === "dark";
|
|
6560
|
+
const uid = (0, import_react9.useId)();
|
|
6561
|
+
const primaryColor = resolveLogoPrimaryColor({
|
|
6562
|
+
// First stop of the official gradient — see `lineColorByVenue`.
|
|
6563
|
+
brandColor: (_a2 = resolveVenueLineColor(import_sdk11.Venue.prophetx, isDarkTheme)) != null ? _a2 : "#1DC29A",
|
|
6564
|
+
isColor,
|
|
6565
|
+
color
|
|
6566
|
+
});
|
|
6567
|
+
const isMonochrome = !isColor || Boolean(color == null ? void 0 : color.trim());
|
|
6568
|
+
const gradientTransform = "matrix(2.750846, 0, 0, 2.750846, -1935.152964, 138.485876)";
|
|
6569
|
+
const fillFor = (n) => isMonochrome ? primaryColor : `url(#${uid}-${n})`;
|
|
6570
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
6571
|
+
"svg",
|
|
6572
|
+
__spreadProps(__spreadValues(__spreadValues({
|
|
6573
|
+
viewBox: "81.867 138.419 424.492 272.214",
|
|
6574
|
+
className,
|
|
6575
|
+
fill: "none"
|
|
6576
|
+
}, getIconA11yProps(title2)), props), {
|
|
6577
|
+
children: [
|
|
6578
|
+
title2 ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("title", { children: title2 }) : null,
|
|
6579
|
+
isMonochrome ? null : /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("defs", { children: [
|
|
6580
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
6581
|
+
"linearGradient",
|
|
6582
|
+
{
|
|
6583
|
+
id: `${uid}-0`,
|
|
6584
|
+
x1: "853.77",
|
|
6585
|
+
y1: "100.796",
|
|
6586
|
+
x2: "763.522",
|
|
6587
|
+
y2: "10.5487",
|
|
6588
|
+
gradientUnits: "userSpaceOnUse",
|
|
6589
|
+
gradientTransform,
|
|
6590
|
+
children: [
|
|
6591
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("stop", { stopColor: "#1DC29A" }),
|
|
6592
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("stop", { offset: "0.1032", stopColor: "#19BE9D" }),
|
|
6593
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("stop", { offset: "0.6255", stopColor: "#06ADAA" }),
|
|
6594
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("stop", { offset: "1", stopColor: "#00A7AF" })
|
|
6595
|
+
]
|
|
6596
|
+
}
|
|
6597
|
+
),
|
|
6598
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
6599
|
+
"linearGradient",
|
|
6600
|
+
{
|
|
6601
|
+
id: `${uid}-1`,
|
|
6602
|
+
x1: "806.164",
|
|
6603
|
+
y1: "49.573",
|
|
6604
|
+
x2: "677.027",
|
|
6605
|
+
y2: "49.573",
|
|
6606
|
+
gradientUnits: "userSpaceOnUse",
|
|
6607
|
+
gradientTransform,
|
|
6608
|
+
children: [
|
|
6609
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("stop", { stopColor: "#1DC29A" }),
|
|
6610
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("stop", { offset: "1", stopColor: "#00A7AF" })
|
|
6611
|
+
]
|
|
6612
|
+
}
|
|
6613
|
+
),
|
|
6614
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
6615
|
+
"linearGradient",
|
|
6616
|
+
{
|
|
6617
|
+
id: `${uid}-2`,
|
|
6618
|
+
x1: "758.472",
|
|
6619
|
+
y1: "4.56",
|
|
6620
|
+
x2: "823.114",
|
|
6621
|
+
y2: "41.9371",
|
|
6622
|
+
gradientUnits: "userSpaceOnUse",
|
|
6623
|
+
gradientTransform,
|
|
6624
|
+
children: [
|
|
6625
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("stop", { stopColor: "#1DC29A" }),
|
|
6626
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("stop", { offset: "0.3631", stopColor: "#18BD9E" }),
|
|
6627
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("stop", { offset: "0.802", stopColor: "#09AFA8" }),
|
|
6628
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("stop", { offset: "1", stopColor: "#00A7AF" })
|
|
6629
|
+
]
|
|
6630
|
+
}
|
|
6631
|
+
)
|
|
6632
|
+
] }),
|
|
6633
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
6634
|
+
"path",
|
|
6635
|
+
{
|
|
6636
|
+
d: "M 282.449 326.493 L 332.847 402.716 L 426.472 402.716 L 344.879 279.66 L 282.449 326.493 Z",
|
|
6637
|
+
fill: fillFor(0)
|
|
6638
|
+
}
|
|
6639
|
+
),
|
|
6640
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
6641
|
+
"path",
|
|
6642
|
+
{
|
|
6643
|
+
d: "M 379.966 146.995 L 389.569 161.125 L 313.636 218.145 L 307.055 222.927 L 244.624 269.759 L 238 274.873 L 162.069 331.56 L 152.804 317.473 L 87.353 402.71 L 209.197 402.71 L 199.888 388.287 L 275.818 331.56 L 282.443 326.488 L 344.873 279.655 L 351.456 274.832 L 427.388 218.145 L 436.694 232.232 L 502.101 146.995 L 379.966 146.995 Z",
|
|
6644
|
+
fill: fillFor(1)
|
|
6645
|
+
}
|
|
6646
|
+
),
|
|
6647
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
6648
|
+
"path",
|
|
6649
|
+
{
|
|
6650
|
+
d: "M 162.993 146.995 L 244.624 269.759 L 307.055 222.927 L 256.323 146.995 L 162.993 146.995 Z",
|
|
6651
|
+
fill: fillFor(2)
|
|
6652
|
+
}
|
|
6653
|
+
)
|
|
6654
|
+
]
|
|
6655
|
+
})
|
|
6656
|
+
);
|
|
6657
|
+
};
|
|
6658
|
+
LogoProphetXIcon.displayName = "LogoProphetXIcon";
|
|
6659
|
+
|
|
6538
6660
|
// src/primitives/venue-logo/venue-logo.constants.ts
|
|
6539
6661
|
var venueLogoRegistry = {
|
|
6540
|
-
[
|
|
6541
|
-
[
|
|
6542
|
-
[
|
|
6543
|
-
[
|
|
6544
|
-
[
|
|
6545
|
-
[
|
|
6546
|
-
[
|
|
6547
|
-
[
|
|
6548
|
-
[
|
|
6662
|
+
[import_sdk12.Venue.kalshi]: LogoKalshiIcon,
|
|
6663
|
+
[import_sdk12.Venue.limitless]: LogoLimitlessIcon,
|
|
6664
|
+
[import_sdk12.Venue.opinion]: LogoOpinionIcon,
|
|
6665
|
+
[import_sdk12.Venue.polymarket]: LogoPolymarketIcon,
|
|
6666
|
+
[import_sdk12.Venue.predict]: LogoPredictIcon,
|
|
6667
|
+
[import_sdk12.Venue.probable]: LogoProbableIcon,
|
|
6668
|
+
[import_sdk12.Venue.myriad]: LogoMyriadIcon,
|
|
6669
|
+
[import_sdk12.Venue.hyperliquid]: LogoHyperliquidIcon,
|
|
6670
|
+
[import_sdk12.Venue.novig]: LogoNovigIcon,
|
|
6671
|
+
[import_sdk12.Venue.prophetx]: LogoProphetXIcon
|
|
6549
6672
|
};
|
|
6550
6673
|
var VENUE_LOGO_BASE_URL = "https://assets.snagsolutions.io/public/prediction-markets/logos";
|
|
6551
6674
|
var DEFAULT_VENUE_LOGO_URL = `${VENUE_LOGO_BASE_URL}/default.png`;
|
|
6552
6675
|
var venueLogoUrlRegistry = {
|
|
6553
|
-
[
|
|
6554
|
-
[
|
|
6555
|
-
[
|
|
6556
|
-
[
|
|
6557
|
-
[
|
|
6558
|
-
[
|
|
6559
|
-
[
|
|
6560
|
-
[
|
|
6561
|
-
[
|
|
6676
|
+
[import_sdk12.Venue.kalshi]: `${VENUE_LOGO_BASE_URL}/kalshi.png`,
|
|
6677
|
+
[import_sdk12.Venue.limitless]: `${VENUE_LOGO_BASE_URL}/limitless.png`,
|
|
6678
|
+
[import_sdk12.Venue.opinion]: `${VENUE_LOGO_BASE_URL}/opinion.png`,
|
|
6679
|
+
[import_sdk12.Venue.polymarket]: `${VENUE_LOGO_BASE_URL}/polymarket.png`,
|
|
6680
|
+
[import_sdk12.Venue.predict]: `${VENUE_LOGO_BASE_URL}/predict.png`,
|
|
6681
|
+
[import_sdk12.Venue.probable]: `${VENUE_LOGO_BASE_URL}/probable.png`,
|
|
6682
|
+
[import_sdk12.Venue.myriad]: `${VENUE_LOGO_BASE_URL}/myriad.png`,
|
|
6683
|
+
[import_sdk12.Venue.hyperliquid]: `${VENUE_LOGO_BASE_URL}/hyperliquid.png`,
|
|
6684
|
+
[import_sdk12.Venue.novig]: `${VENUE_LOGO_BASE_URL}/novig.png`,
|
|
6685
|
+
// Uploaded 2026-09-01 — re-verified live at 200 (50,962 bytes, image/png).
|
|
6686
|
+
// It returned 403 on 2026-08-26, so this row was a known gap; it is not any
|
|
6687
|
+
// more, and the `variant="logo"` image path now works for ProphetX.
|
|
6688
|
+
[import_sdk12.Venue.prophetx]: `${VENUE_LOGO_BASE_URL}/prophetx.png`
|
|
6562
6689
|
};
|
|
6563
6690
|
var venueLogoLabels = {
|
|
6564
|
-
[
|
|
6565
|
-
[
|
|
6566
|
-
[
|
|
6567
|
-
[
|
|
6568
|
-
[
|
|
6569
|
-
[
|
|
6570
|
-
[
|
|
6571
|
-
[
|
|
6572
|
-
[
|
|
6691
|
+
[import_sdk12.Venue.kalshi]: "Kalshi",
|
|
6692
|
+
[import_sdk12.Venue.limitless]: "Limitless",
|
|
6693
|
+
[import_sdk12.Venue.opinion]: "Opinion",
|
|
6694
|
+
[import_sdk12.Venue.polymarket]: "Polymarket",
|
|
6695
|
+
[import_sdk12.Venue.predict]: "Predict",
|
|
6696
|
+
[import_sdk12.Venue.probable]: "Probable",
|
|
6697
|
+
[import_sdk12.Venue.myriad]: "Myriad",
|
|
6698
|
+
[import_sdk12.Venue.hyperliquid]: "Hyperliquid",
|
|
6699
|
+
[import_sdk12.Venue.novig]: "Novig",
|
|
6700
|
+
[import_sdk12.Venue.prophetx]: "ProphetX"
|
|
6573
6701
|
};
|
|
6574
6702
|
var DEFAULT_VENUE_LABEL = "Market";
|
|
6575
6703
|
var venueLogoNames = Object.keys(venueLogoRegistry);
|
|
@@ -6580,29 +6708,35 @@ var sizeClasses2 = {
|
|
|
6580
6708
|
};
|
|
6581
6709
|
var lineColorByVenue = {
|
|
6582
6710
|
light: {
|
|
6583
|
-
[
|
|
6584
|
-
[
|
|
6585
|
-
[
|
|
6586
|
-
[
|
|
6587
|
-
[
|
|
6588
|
-
[
|
|
6589
|
-
[
|
|
6590
|
-
[
|
|
6711
|
+
[import_sdk12.Venue.kalshi]: "#00D295",
|
|
6712
|
+
[import_sdk12.Venue.limitless]: "#C4FF00",
|
|
6713
|
+
[import_sdk12.Venue.opinion]: "#000000",
|
|
6714
|
+
[import_sdk12.Venue.polymarket]: "#2E5CFF",
|
|
6715
|
+
[import_sdk12.Venue.predict]: "#6D57F8",
|
|
6716
|
+
[import_sdk12.Venue.probable]: "#F05923",
|
|
6717
|
+
[import_sdk12.Venue.myriad]: "#000000",
|
|
6718
|
+
[import_sdk12.Venue.hyperliquid]: "#97FCE4",
|
|
6591
6719
|
// Novig's own `<meta name="theme-color">`. Their logomark is monochrome
|
|
6592
6720
|
// (cream on #050505, like Opinion/Myriad), but unlike those two this blue
|
|
6593
6721
|
// reads on both themes, so it does not need the light/dark flip they use.
|
|
6594
|
-
[
|
|
6722
|
+
[import_sdk12.Venue.novig]: "#179BE7",
|
|
6723
|
+
// First stop of the official logomark's gradient (#1DC29A -> #00A7AF). The
|
|
6724
|
+
// mark is a gradient, so any single value is a choice: the green end reads
|
|
6725
|
+
// on both themes where the teal end goes muddy on dark, and it is the stop
|
|
6726
|
+
// all three of the asset's gradients start from.
|
|
6727
|
+
[import_sdk12.Venue.prophetx]: "#1DC29A"
|
|
6595
6728
|
},
|
|
6596
6729
|
dark: {
|
|
6597
|
-
[
|
|
6598
|
-
[
|
|
6599
|
-
[
|
|
6600
|
-
[
|
|
6601
|
-
[
|
|
6602
|
-
[
|
|
6603
|
-
[
|
|
6604
|
-
[
|
|
6605
|
-
[
|
|
6730
|
+
[import_sdk12.Venue.kalshi]: "#00D295",
|
|
6731
|
+
[import_sdk12.Venue.limitless]: "#C4FF00",
|
|
6732
|
+
[import_sdk12.Venue.opinion]: "#FFFFFF",
|
|
6733
|
+
[import_sdk12.Venue.polymarket]: "#2E5CFF",
|
|
6734
|
+
[import_sdk12.Venue.predict]: "#6D57F8",
|
|
6735
|
+
[import_sdk12.Venue.probable]: "#F05923",
|
|
6736
|
+
[import_sdk12.Venue.myriad]: "#FFFFFF",
|
|
6737
|
+
[import_sdk12.Venue.hyperliquid]: "#97FCE4",
|
|
6738
|
+
[import_sdk12.Venue.novig]: "#179BE7",
|
|
6739
|
+
[import_sdk12.Venue.prophetx]: "#1DC29A"
|
|
6606
6740
|
}
|
|
6607
6741
|
};
|
|
6608
6742
|
var resolveVenueLineColor = (venue, isDarkTheme) => {
|
|
@@ -6628,7 +6762,7 @@ var resolveVenueLogoIsColor = ({
|
|
|
6628
6762
|
};
|
|
6629
6763
|
|
|
6630
6764
|
// src/primitives/venue-logo/index.tsx
|
|
6631
|
-
var
|
|
6765
|
+
var import_jsx_runtime124 = require("react/jsx-runtime");
|
|
6632
6766
|
var VenueLogo = ({
|
|
6633
6767
|
venue,
|
|
6634
6768
|
variant = "icon",
|
|
@@ -6641,7 +6775,7 @@ var VenueLogo = ({
|
|
|
6641
6775
|
title: title2
|
|
6642
6776
|
}) => {
|
|
6643
6777
|
var _a, _b;
|
|
6644
|
-
const labels = (0,
|
|
6778
|
+
const labels = (0, import_hooks27.useLabels)();
|
|
6645
6779
|
const sizeClass = sizeClasses2[size];
|
|
6646
6780
|
const resolvedLabel = resolveVenueLogoLabel({
|
|
6647
6781
|
ariaLabel,
|
|
@@ -6654,7 +6788,7 @@ var VenueLogo = ({
|
|
|
6654
6788
|
console.warn(`[AggUI] Unknown venue "${venue}" \u2014 using default logo`);
|
|
6655
6789
|
}
|
|
6656
6790
|
if (variant === "logo") {
|
|
6657
|
-
return /* @__PURE__ */ (0,
|
|
6791
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6658
6792
|
RemoteImage,
|
|
6659
6793
|
{
|
|
6660
6794
|
src: (_a = venueLogoUrlRegistry[venue]) != null ? _a : DEFAULT_VENUE_LOGO_URL,
|
|
@@ -6669,7 +6803,7 @@ var VenueLogo = ({
|
|
|
6669
6803
|
isColor,
|
|
6670
6804
|
isMonochromatic
|
|
6671
6805
|
});
|
|
6672
|
-
return /* @__PURE__ */ (0,
|
|
6806
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
6673
6807
|
Component2,
|
|
6674
6808
|
{
|
|
6675
6809
|
className: cn("group/agg-venue-logo", "shrink-0", sizeClass, className),
|
|
@@ -6688,7 +6822,7 @@ var MIN_SEARCH_LENGTH = 3;
|
|
|
6688
6822
|
var SEARCH_DEBOUNCE_MS = 300;
|
|
6689
6823
|
|
|
6690
6824
|
// src/primitives/search/search.utils.ts
|
|
6691
|
-
var
|
|
6825
|
+
var import_sdk13 = require("@agg-build/sdk");
|
|
6692
6826
|
var import_dayjs3 = __toESM(require("dayjs"));
|
|
6693
6827
|
|
|
6694
6828
|
// src/events/shared/format-sports-event-time.ts
|
|
@@ -6814,7 +6948,7 @@ var resolveEventHeading = ({
|
|
|
6814
6948
|
};
|
|
6815
6949
|
|
|
6816
6950
|
// src/events/item/event-list-item.utils.ts
|
|
6817
|
-
var
|
|
6951
|
+
var import_hooks28 = require("@agg-build/hooks");
|
|
6818
6952
|
|
|
6819
6953
|
// src/events/shared/venue-market-cluster.ts
|
|
6820
6954
|
var toNonEmptyString = (value) => {
|
|
@@ -7092,7 +7226,7 @@ var formatSearchContextLabel = (value) => {
|
|
|
7092
7226
|
if (!(0, import_dayjs3.default)(value).isValid()) return value;
|
|
7093
7227
|
return (0, import_dayjs3.default)(value).format("MMMM D, YYYY");
|
|
7094
7228
|
};
|
|
7095
|
-
var venueLogoNameSet = new Set(
|
|
7229
|
+
var venueLogoNameSet = new Set(import_sdk13.VENUES);
|
|
7096
7230
|
var toVenueLogoName = (value) => {
|
|
7097
7231
|
if (typeof value !== "string") return null;
|
|
7098
7232
|
if (!venueLogoNameSet.has(value)) return null;
|
|
@@ -7145,7 +7279,7 @@ var mapVenueEventToSearchResult = (event, labels, formatPercent, formatCompactCu
|
|
|
7145
7279
|
};
|
|
7146
7280
|
|
|
7147
7281
|
// src/primitives/search/index.tsx
|
|
7148
|
-
var
|
|
7282
|
+
var import_jsx_runtime125 = require("react/jsx-runtime");
|
|
7149
7283
|
var SearchResultRow = ({
|
|
7150
7284
|
item,
|
|
7151
7285
|
resultAria,
|
|
@@ -7159,7 +7293,7 @@ var SearchResultRow = ({
|
|
|
7159
7293
|
const handleResultPointerDown = (event) => {
|
|
7160
7294
|
event.preventDefault();
|
|
7161
7295
|
};
|
|
7162
|
-
return /* @__PURE__ */ (0,
|
|
7296
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
7163
7297
|
"button",
|
|
7164
7298
|
{
|
|
7165
7299
|
type: "button",
|
|
@@ -7177,8 +7311,8 @@ var SearchResultRow = ({
|
|
|
7177
7311
|
onClick: handleResultClick,
|
|
7178
7312
|
"aria-label": resultAria(item.title),
|
|
7179
7313
|
children: [
|
|
7180
|
-
/* @__PURE__ */ (0,
|
|
7181
|
-
/* @__PURE__ */ (0,
|
|
7314
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "agg-search-result-content flex min-w-0 flex-1 items-center gap-4", children: [
|
|
7315
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7182
7316
|
RemoteImage,
|
|
7183
7317
|
{
|
|
7184
7318
|
src: item.thumbnailSrc,
|
|
@@ -7190,8 +7324,8 @@ var SearchResultRow = ({
|
|
|
7190
7324
|
)
|
|
7191
7325
|
}
|
|
7192
7326
|
),
|
|
7193
|
-
/* @__PURE__ */ (0,
|
|
7194
|
-
/* @__PURE__ */ (0,
|
|
7327
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col gap-1", children: [
|
|
7328
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7195
7329
|
"p",
|
|
7196
7330
|
{
|
|
7197
7331
|
className: cn(
|
|
@@ -7202,8 +7336,8 @@ var SearchResultRow = ({
|
|
|
7202
7336
|
children: item.title
|
|
7203
7337
|
}
|
|
7204
7338
|
),
|
|
7205
|
-
/* @__PURE__ */ (0,
|
|
7206
|
-
/* @__PURE__ */ (0,
|
|
7339
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "agg-search-result-context flex min-w-0 items-center gap-2 text-agg-muted-foreground", children: [
|
|
7340
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7207
7341
|
"p",
|
|
7208
7342
|
{
|
|
7209
7343
|
className: cn(
|
|
@@ -7213,7 +7347,7 @@ var SearchResultRow = ({
|
|
|
7213
7347
|
children: item.marketSummaryLabel
|
|
7214
7348
|
}
|
|
7215
7349
|
),
|
|
7216
|
-
/* @__PURE__ */ (0,
|
|
7350
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "flex items-center gap-1", "aria-hidden": true, children: item.visibleVenues.map((venue) => /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7217
7351
|
VenueLogo,
|
|
7218
7352
|
{
|
|
7219
7353
|
venue,
|
|
@@ -7223,9 +7357,9 @@ var SearchResultRow = ({
|
|
|
7223
7357
|
},
|
|
7224
7358
|
`${item.id}-${venue}`
|
|
7225
7359
|
)) }),
|
|
7226
|
-
item.volumeLabel ? /* @__PURE__ */ (0,
|
|
7227
|
-
/* @__PURE__ */ (0,
|
|
7228
|
-
/* @__PURE__ */ (0,
|
|
7360
|
+
item.volumeLabel ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_jsx_runtime125.Fragment, { children: [
|
|
7361
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "text-agg-muted-foreground", "aria-hidden": true, children: "\xB7" }),
|
|
7362
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7229
7363
|
"p",
|
|
7230
7364
|
{
|
|
7231
7365
|
className: cn(
|
|
@@ -7239,7 +7373,7 @@ var SearchResultRow = ({
|
|
|
7239
7373
|
] })
|
|
7240
7374
|
] })
|
|
7241
7375
|
] }),
|
|
7242
|
-
/* @__PURE__ */ (0,
|
|
7376
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
7243
7377
|
"div",
|
|
7244
7378
|
{
|
|
7245
7379
|
className: cn(
|
|
@@ -7247,9 +7381,9 @@ var SearchResultRow = ({
|
|
|
7247
7381
|
classNames == null ? void 0 : classNames.resultMeta
|
|
7248
7382
|
),
|
|
7249
7383
|
children: [
|
|
7250
|
-
/* @__PURE__ */ (0,
|
|
7251
|
-
/* @__PURE__ */ (0,
|
|
7252
|
-
item.isValueLoading ? /* @__PURE__ */ (0,
|
|
7384
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(VenueLogo, { venue: item.venue, size: "small" }),
|
|
7385
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex min-w-0 flex-1 items-baseline gap-2", children: [
|
|
7386
|
+
item.isValueLoading ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7253
7387
|
"span",
|
|
7254
7388
|
{
|
|
7255
7389
|
"aria-hidden": "true",
|
|
@@ -7258,7 +7392,7 @@ var SearchResultRow = ({
|
|
|
7258
7392
|
"h-5 w-12 shrink-0 rounded-agg-sm bg-agg-separator animate-pulse"
|
|
7259
7393
|
)
|
|
7260
7394
|
}
|
|
7261
|
-
) : /* @__PURE__ */ (0,
|
|
7395
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7262
7396
|
"p",
|
|
7263
7397
|
{
|
|
7264
7398
|
className: cn(
|
|
@@ -7269,7 +7403,7 @@ var SearchResultRow = ({
|
|
|
7269
7403
|
children: item.valueLabel
|
|
7270
7404
|
}
|
|
7271
7405
|
),
|
|
7272
|
-
/* @__PURE__ */ (0,
|
|
7406
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7273
7407
|
"p",
|
|
7274
7408
|
{
|
|
7275
7409
|
className: cn(
|
|
@@ -7283,7 +7417,7 @@ var SearchResultRow = ({
|
|
|
7283
7417
|
]
|
|
7284
7418
|
}
|
|
7285
7419
|
),
|
|
7286
|
-
/* @__PURE__ */ (0,
|
|
7420
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7287
7421
|
Icon,
|
|
7288
7422
|
{
|
|
7289
7423
|
name: "chevron-right",
|
|
@@ -7306,7 +7440,7 @@ var SearchSeeAllResultsButton = ({
|
|
|
7306
7440
|
const handlePointerDown = (event) => {
|
|
7307
7441
|
event.preventDefault();
|
|
7308
7442
|
};
|
|
7309
|
-
return /* @__PURE__ */ (0,
|
|
7443
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
7310
7444
|
"button",
|
|
7311
7445
|
{
|
|
7312
7446
|
type: "button",
|
|
@@ -7320,8 +7454,8 @@ var SearchSeeAllResultsButton = ({
|
|
|
7320
7454
|
onPointerDown: handlePointerDown,
|
|
7321
7455
|
onClick,
|
|
7322
7456
|
children: [
|
|
7323
|
-
/* @__PURE__ */ (0,
|
|
7324
|
-
/* @__PURE__ */ (0,
|
|
7457
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { children: label2 }),
|
|
7458
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Icon, { name: "chevron-right", size: "small", className: "size-[14px] text-agg-primary" })
|
|
7325
7459
|
]
|
|
7326
7460
|
}
|
|
7327
7461
|
);
|
|
@@ -7334,21 +7468,21 @@ var Search = ({
|
|
|
7334
7468
|
onSelectEvent,
|
|
7335
7469
|
onSeeAllEvents
|
|
7336
7470
|
}) => {
|
|
7337
|
-
const labels = (0,
|
|
7471
|
+
const labels = (0, import_hooks29.useLabels)();
|
|
7338
7472
|
const {
|
|
7339
7473
|
search: searchConfig,
|
|
7340
7474
|
features: { enableAnimations },
|
|
7341
7475
|
formatting: { formatCompactCurrency, formatPercent }
|
|
7342
|
-
} = (0,
|
|
7476
|
+
} = (0, import_hooks29.useSdkUiConfig)();
|
|
7343
7477
|
const resolvedValue = searchConfig.value;
|
|
7344
7478
|
const trimmedValue = resolvedValue.trim();
|
|
7345
|
-
const [debouncedSearchValue, setDebouncedSearchValue] = (0,
|
|
7479
|
+
const [debouncedSearchValue, setDebouncedSearchValue] = (0, import_react10.useState)(() => {
|
|
7346
7480
|
return trimmedValue.length >= MIN_SEARCH_LENGTH ? trimmedValue : "";
|
|
7347
7481
|
});
|
|
7348
|
-
const [isFocused, setIsFocused] = (0,
|
|
7482
|
+
const [isFocused, setIsFocused] = (0, import_react10.useState)(false);
|
|
7349
7483
|
const shouldSearchValue = trimmedValue.length >= MIN_SEARCH_LENGTH;
|
|
7350
7484
|
const shouldFetchResults = isFocused && debouncedSearchValue.length >= MIN_SEARCH_LENGTH && !searchConfig.result && !searchConfig.isShowingAllResults;
|
|
7351
|
-
(0,
|
|
7485
|
+
(0, import_react10.useEffect)(() => {
|
|
7352
7486
|
if (!shouldSearchValue) {
|
|
7353
7487
|
setDebouncedSearchValue("");
|
|
7354
7488
|
return;
|
|
@@ -7360,7 +7494,7 @@ var Search = ({
|
|
|
7360
7494
|
window.clearTimeout(timeoutId);
|
|
7361
7495
|
};
|
|
7362
7496
|
}, [shouldSearchValue, trimmedValue]);
|
|
7363
|
-
const { data: searchResults, isLoading } = (0,
|
|
7497
|
+
const { data: searchResults, isLoading } = (0, import_hooks29.useSearch)({
|
|
7364
7498
|
q: shouldFetchResults ? debouncedSearchValue : "",
|
|
7365
7499
|
type: "events",
|
|
7366
7500
|
categoryIds,
|
|
@@ -7369,24 +7503,24 @@ var Search = ({
|
|
|
7369
7503
|
// filterOpenEvents below then empties — rendering "no results" for
|
|
7370
7504
|
// markets that exist. filterOpenEvents stays as the residual guard for
|
|
7371
7505
|
// events with no open child markets, which the server doesn't check.
|
|
7372
|
-
status: [
|
|
7506
|
+
status: [import_hooks29.MarketStatus.open],
|
|
7373
7507
|
limit: limit != null ? limit : DEFAULT_SEARCH_LIMIT,
|
|
7374
7508
|
enabled: shouldFetchResults
|
|
7375
7509
|
});
|
|
7376
|
-
const openEvents = (0,
|
|
7510
|
+
const openEvents = (0, import_react10.useMemo)(
|
|
7377
7511
|
() => filterOpenEvents(searchResults),
|
|
7378
7512
|
[searchResults]
|
|
7379
7513
|
);
|
|
7380
|
-
const visibleVenueMarkets = (0,
|
|
7514
|
+
const visibleVenueMarkets = (0, import_react10.useMemo)(
|
|
7381
7515
|
() => openEvents.flatMap((event) => {
|
|
7382
7516
|
var _a;
|
|
7383
7517
|
return (_a = event.venueMarkets) != null ? _a : [];
|
|
7384
7518
|
}),
|
|
7385
7519
|
[openEvents]
|
|
7386
7520
|
);
|
|
7387
|
-
const livePrices = (0,
|
|
7388
|
-
const midpointResult = (0,
|
|
7389
|
-
const searchDisplayPrices = (0,
|
|
7521
|
+
const livePrices = (0, import_hooks29.useLiveOutcomePrices)(visibleVenueMarkets);
|
|
7522
|
+
const midpointResult = (0, import_hooks29.useMidpoints)(visibleVenueMarkets);
|
|
7523
|
+
const searchDisplayPrices = (0, import_react10.useMemo)(() => {
|
|
7390
7524
|
if (!midpointResult.bestMidpointsByOutcomeId.size) return livePrices;
|
|
7391
7525
|
if (!livePrices.size) return midpointResult.bestMidpointsByOutcomeId;
|
|
7392
7526
|
const merged = new Map(midpointResult.bestMidpointsByOutcomeId);
|
|
@@ -7395,7 +7529,7 @@ var Search = ({
|
|
|
7395
7529
|
}
|
|
7396
7530
|
return merged;
|
|
7397
7531
|
}, [livePrices, midpointResult.bestMidpointsByOutcomeId]);
|
|
7398
|
-
const { validatedResults, eventsByResultId } = (0,
|
|
7532
|
+
const { validatedResults, eventsByResultId } = (0, import_react10.useMemo)(() => {
|
|
7399
7533
|
const nextEventsByResultId = /* @__PURE__ */ new Map();
|
|
7400
7534
|
const nextResults = openEvents.map((event) => {
|
|
7401
7535
|
const item = mapVenueEventToSearchResult(
|
|
@@ -7431,8 +7565,8 @@ var Search = ({
|
|
|
7431
7565
|
const shouldRenderNoResults = shouldRenderDropdown && !isLoading && !validatedResults.length;
|
|
7432
7566
|
const shouldRenderResults = shouldRenderDropdown && !isLoading && !!validatedResults.length;
|
|
7433
7567
|
const shouldRenderShortcut = !isFocused && !hasSearchValue && !(inputProps == null ? void 0 : inputProps.disabled);
|
|
7434
|
-
const inputRef = (0,
|
|
7435
|
-
const handleSlashKey = (0,
|
|
7568
|
+
const inputRef = (0, import_react10.useRef)(null);
|
|
7569
|
+
const handleSlashKey = (0, import_react10.useCallback)((event) => {
|
|
7436
7570
|
var _a;
|
|
7437
7571
|
if (event.key !== "/") return;
|
|
7438
7572
|
const target = event.target;
|
|
@@ -7441,7 +7575,7 @@ var Search = ({
|
|
|
7441
7575
|
event.preventDefault();
|
|
7442
7576
|
(_a = inputRef.current) == null ? void 0 : _a.focus();
|
|
7443
7577
|
}, []);
|
|
7444
|
-
(0,
|
|
7578
|
+
(0, import_react10.useEffect)(() => {
|
|
7445
7579
|
document.addEventListener("keydown", handleSlashKey);
|
|
7446
7580
|
return () => {
|
|
7447
7581
|
document.removeEventListener("keydown", handleSlashKey);
|
|
@@ -7490,14 +7624,14 @@ var Search = ({
|
|
|
7490
7624
|
event.preventDefault();
|
|
7491
7625
|
handleSeeAllResults();
|
|
7492
7626
|
};
|
|
7493
|
-
return /* @__PURE__ */ (0,
|
|
7627
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
7494
7628
|
"div",
|
|
7495
7629
|
{
|
|
7496
7630
|
className: cn("group/agg-search", "relative flex w-full flex-col", classNames == null ? void 0 : classNames.root),
|
|
7497
7631
|
onFocusCapture: handleFocusWithin,
|
|
7498
7632
|
onBlurCapture: handleBlurWithin,
|
|
7499
7633
|
children: [
|
|
7500
|
-
/* @__PURE__ */ (0,
|
|
7634
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("label", { className: "w-full", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
7501
7635
|
"div",
|
|
7502
7636
|
{
|
|
7503
7637
|
className: cn(
|
|
@@ -7513,7 +7647,7 @@ var Search = ({
|
|
|
7513
7647
|
),
|
|
7514
7648
|
onClick: handleFocusWithin,
|
|
7515
7649
|
children: [
|
|
7516
|
-
/* @__PURE__ */ (0,
|
|
7650
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7517
7651
|
Icon,
|
|
7518
7652
|
{
|
|
7519
7653
|
name: "search",
|
|
@@ -7521,7 +7655,7 @@ var Search = ({
|
|
|
7521
7655
|
className: cn("text-agg-muted-foreground", classNames == null ? void 0 : classNames.searchIcon)
|
|
7522
7656
|
}
|
|
7523
7657
|
),
|
|
7524
|
-
/* @__PURE__ */ (0,
|
|
7658
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7525
7659
|
"input",
|
|
7526
7660
|
__spreadProps(__spreadValues({}, inputProps), {
|
|
7527
7661
|
ref: inputRef,
|
|
@@ -7542,11 +7676,11 @@ var Search = ({
|
|
|
7542
7676
|
)
|
|
7543
7677
|
})
|
|
7544
7678
|
),
|
|
7545
|
-
shouldRenderShortcut ? /* @__PURE__ */ (0,
|
|
7679
|
+
shouldRenderShortcut ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "agg-search-shortcut hidden md:flex size-6 shrink-0 items-center justify-center rounded-[4px] bg-agg-secondary-hover", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("span", { className: "font-agg-sans text-agg-sm leading-agg-5 font-agg-bold text-agg-muted-foreground", children: "/" }) }) : null
|
|
7546
7680
|
]
|
|
7547
7681
|
}
|
|
7548
7682
|
) }),
|
|
7549
|
-
shouldRenderLoadingState ? /* @__PURE__ */ (0,
|
|
7683
|
+
shouldRenderLoadingState ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7550
7684
|
"div",
|
|
7551
7685
|
{
|
|
7552
7686
|
className: cn(
|
|
@@ -7556,10 +7690,10 @@ var Search = ({
|
|
|
7556
7690
|
"mt-1",
|
|
7557
7691
|
classNames == null ? void 0 : classNames.emptyState
|
|
7558
7692
|
),
|
|
7559
|
-
children: /* @__PURE__ */ (0,
|
|
7693
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Skeleton, { view: "search" })
|
|
7560
7694
|
}
|
|
7561
7695
|
) : null,
|
|
7562
|
-
shouldRenderResults ? /* @__PURE__ */ (0,
|
|
7696
|
+
shouldRenderResults ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7563
7697
|
"div",
|
|
7564
7698
|
{
|
|
7565
7699
|
className: cn(
|
|
@@ -7569,7 +7703,7 @@ var Search = ({
|
|
|
7569
7703
|
"mt-1 w-full overflow-hidden rounded-agg-xl border border-agg-separator bg-agg-secondary pt-2 shadow-[0px_8px_16px_0px_rgba(0,0,0,0.1)]",
|
|
7570
7704
|
classNames == null ? void 0 : classNames.dropdown
|
|
7571
7705
|
),
|
|
7572
|
-
children: /* @__PURE__ */ (0,
|
|
7706
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
7573
7707
|
"ul",
|
|
7574
7708
|
{
|
|
7575
7709
|
className: cn(
|
|
@@ -7579,7 +7713,7 @@ var Search = ({
|
|
|
7579
7713
|
role: "listbox",
|
|
7580
7714
|
"aria-label": labels.search.resultsAria,
|
|
7581
7715
|
children: [
|
|
7582
|
-
validatedResults.map((item, index) => /* @__PURE__ */ (0,
|
|
7716
|
+
validatedResults.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7583
7717
|
"li",
|
|
7584
7718
|
{
|
|
7585
7719
|
role: "presentation",
|
|
@@ -7588,7 +7722,7 @@ var Search = ({
|
|
|
7588
7722
|
index > 0 && "border-t border-agg-separator",
|
|
7589
7723
|
classNames == null ? void 0 : classNames.resultItem
|
|
7590
7724
|
),
|
|
7591
|
-
children: /* @__PURE__ */ (0,
|
|
7725
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7592
7726
|
SearchResultRow,
|
|
7593
7727
|
{
|
|
7594
7728
|
item,
|
|
@@ -7600,12 +7734,12 @@ var Search = ({
|
|
|
7600
7734
|
},
|
|
7601
7735
|
item.id
|
|
7602
7736
|
)),
|
|
7603
|
-
/* @__PURE__ */ (0,
|
|
7737
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7604
7738
|
"li",
|
|
7605
7739
|
{
|
|
7606
7740
|
role: "presentation",
|
|
7607
7741
|
className: "agg-search-result-item border-t border-agg-separator",
|
|
7608
|
-
children: /* @__PURE__ */ (0,
|
|
7742
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7609
7743
|
SearchSeeAllResultsButton,
|
|
7610
7744
|
{
|
|
7611
7745
|
label: labels.search.seeAllResults,
|
|
@@ -7619,7 +7753,7 @@ var Search = ({
|
|
|
7619
7753
|
)
|
|
7620
7754
|
}
|
|
7621
7755
|
) : null,
|
|
7622
|
-
shouldRenderNoResults ? /* @__PURE__ */ (0,
|
|
7756
|
+
shouldRenderNoResults ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7623
7757
|
"div",
|
|
7624
7758
|
{
|
|
7625
7759
|
className: cn(
|
|
@@ -7629,7 +7763,7 @@ var Search = ({
|
|
|
7629
7763
|
"mt-1 w-full overflow-hidden rounded-agg-xl border border-agg-separator bg-agg-secondary py-10 shadow-[0px_8px_16px_0px_rgba(0,0,0,0.1)]",
|
|
7630
7764
|
classNames == null ? void 0 : classNames.emptyState
|
|
7631
7765
|
),
|
|
7632
|
-
children: /* @__PURE__ */ (0,
|
|
7766
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
|
|
7633
7767
|
"div",
|
|
7634
7768
|
{
|
|
7635
7769
|
className: cn(
|
|
@@ -7639,15 +7773,15 @@ var Search = ({
|
|
|
7639
7773
|
role: "status",
|
|
7640
7774
|
"aria-live": "polite",
|
|
7641
7775
|
children: [
|
|
7642
|
-
/* @__PURE__ */ (0,
|
|
7776
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7643
7777
|
SearchEmptyIcon,
|
|
7644
7778
|
{
|
|
7645
7779
|
className: cn("h-10 w-10 text-agg-muted-foreground", classNames == null ? void 0 : classNames.emptyStateIcon),
|
|
7646
7780
|
"aria-hidden": true
|
|
7647
7781
|
}
|
|
7648
7782
|
),
|
|
7649
|
-
/* @__PURE__ */ (0,
|
|
7650
|
-
/* @__PURE__ */ (0,
|
|
7783
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex flex-col items-center gap-1 text-center", children: [
|
|
7784
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7651
7785
|
"p",
|
|
7652
7786
|
{
|
|
7653
7787
|
className: cn(
|
|
@@ -7658,7 +7792,7 @@ var Search = ({
|
|
|
7658
7792
|
children: labels.search.noResultsTitle
|
|
7659
7793
|
}
|
|
7660
7794
|
),
|
|
7661
|
-
/* @__PURE__ */ (0,
|
|
7795
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
7662
7796
|
"p",
|
|
7663
7797
|
{
|
|
7664
7798
|
className: cn(
|
|
@@ -7708,7 +7842,7 @@ var resolveHeaderSearchContent = ({
|
|
|
7708
7842
|
};
|
|
7709
7843
|
|
|
7710
7844
|
// src/primitives/header/index.tsx
|
|
7711
|
-
var
|
|
7845
|
+
var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
7712
7846
|
var Header = ({
|
|
7713
7847
|
logo,
|
|
7714
7848
|
logoHref,
|
|
@@ -7720,8 +7854,8 @@ var Header = ({
|
|
|
7720
7854
|
sticky = true,
|
|
7721
7855
|
"aria-label": ariaLabel
|
|
7722
7856
|
}) => {
|
|
7723
|
-
const labels = (0,
|
|
7724
|
-
const logoContent = isHeaderLogoProps(logo) ? /* @__PURE__ */ (0,
|
|
7857
|
+
const labels = (0, import_hooks30.useLabels)();
|
|
7858
|
+
const logoContent = isHeaderLogoProps(logo) ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7725
7859
|
"img",
|
|
7726
7860
|
{
|
|
7727
7861
|
src: logo.src,
|
|
@@ -7730,14 +7864,14 @@ var Header = ({
|
|
|
7730
7864
|
height: logo.height,
|
|
7731
7865
|
className: cn("block max-h-full", classNames == null ? void 0 : classNames.logoElement)
|
|
7732
7866
|
}
|
|
7733
|
-
) : logo !== void 0 ? /* @__PURE__ */ (0,
|
|
7867
|
+
) : logo !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("span", { className: classNames == null ? void 0 : classNames.logoElement, children: logo }) : /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7734
7868
|
AggLogo,
|
|
7735
7869
|
{
|
|
7736
7870
|
className: cn("h-6 w-auto text-agg-foreground", classNames == null ? void 0 : classNames.logoElement),
|
|
7737
7871
|
title: labels.header.logoAria
|
|
7738
7872
|
}
|
|
7739
7873
|
);
|
|
7740
|
-
const wrappedLogo = logoHref ? /* @__PURE__ */ (0,
|
|
7874
|
+
const wrappedLogo = logoHref ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7741
7875
|
"a",
|
|
7742
7876
|
{
|
|
7743
7877
|
href: logoHref,
|
|
@@ -7746,7 +7880,7 @@ var Header = ({
|
|
|
7746
7880
|
onClick: onLogoClick,
|
|
7747
7881
|
children: logoContent
|
|
7748
7882
|
}
|
|
7749
|
-
) : onLogoClick ? /* @__PURE__ */ (0,
|
|
7883
|
+
) : onLogoClick ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7750
7884
|
"button",
|
|
7751
7885
|
{
|
|
7752
7886
|
type: "button",
|
|
@@ -7758,13 +7892,13 @@ var Header = ({
|
|
|
7758
7892
|
onClick: onLogoClick,
|
|
7759
7893
|
children: logoContent
|
|
7760
7894
|
}
|
|
7761
|
-
) : /* @__PURE__ */ (0,
|
|
7895
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: classNames == null ? void 0 : classNames.logoWrapper, children: logoContent });
|
|
7762
7896
|
const searchContent = resolveHeaderSearchContent({
|
|
7763
7897
|
search,
|
|
7764
7898
|
searchProps,
|
|
7765
|
-
renderSearch: (nextSearchProps) => /* @__PURE__ */ (0,
|
|
7899
|
+
renderSearch: (nextSearchProps) => /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Search, __spreadValues({}, nextSearchProps))
|
|
7766
7900
|
});
|
|
7767
|
-
return /* @__PURE__ */ (0,
|
|
7901
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_jsx_runtime126.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7768
7902
|
"header",
|
|
7769
7903
|
{
|
|
7770
7904
|
role: "banner",
|
|
@@ -7773,7 +7907,7 @@ var Header = ({
|
|
|
7773
7907
|
fallbackLabel: labels.header.bannerAria
|
|
7774
7908
|
}),
|
|
7775
7909
|
className: cn(baseHeaderClasses, sticky && stickyHeaderClasses, classNames == null ? void 0 : classNames.root),
|
|
7776
|
-
children: /* @__PURE__ */ (0,
|
|
7910
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
|
|
7777
7911
|
"div",
|
|
7778
7912
|
{
|
|
7779
7913
|
className: cn(
|
|
@@ -7781,7 +7915,7 @@ var Header = ({
|
|
|
7781
7915
|
classNames == null ? void 0 : classNames.inner
|
|
7782
7916
|
),
|
|
7783
7917
|
children: [
|
|
7784
|
-
/* @__PURE__ */ (0,
|
|
7918
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7785
7919
|
"div",
|
|
7786
7920
|
{
|
|
7787
7921
|
className: cn(
|
|
@@ -7791,7 +7925,7 @@ var Header = ({
|
|
|
7791
7925
|
children: wrappedLogo
|
|
7792
7926
|
}
|
|
7793
7927
|
),
|
|
7794
|
-
searchContent ? /* @__PURE__ */ (0,
|
|
7928
|
+
searchContent ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7795
7929
|
"div",
|
|
7796
7930
|
{
|
|
7797
7931
|
className: cn(
|
|
@@ -7802,7 +7936,7 @@ var Header = ({
|
|
|
7802
7936
|
children: searchContent
|
|
7803
7937
|
}
|
|
7804
7938
|
) : null,
|
|
7805
|
-
/* @__PURE__ */ (0,
|
|
7939
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
7806
7940
|
"div",
|
|
7807
7941
|
{
|
|
7808
7942
|
className: cn(
|
|
@@ -7865,7 +7999,7 @@ var resolveInlineAlertHasAction = ({
|
|
|
7865
7999
|
};
|
|
7866
8000
|
|
|
7867
8001
|
// src/primitives/inline-alert/index.tsx
|
|
7868
|
-
var
|
|
8002
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
7869
8003
|
var InlineAlert = ({
|
|
7870
8004
|
tone = INLINE_ALERT_DEFAULT_TONE,
|
|
7871
8005
|
variant,
|
|
@@ -7879,7 +8013,7 @@ var InlineAlert = ({
|
|
|
7879
8013
|
const resolvedVariant = resolveInlineAlertVariant({ tone, variant });
|
|
7880
8014
|
const hasAction = resolveInlineAlertHasAction({ actionLabel, onAction });
|
|
7881
8015
|
const { ariaLive, role } = INLINE_ALERT_LIVE_REGION_CONFIG[tone];
|
|
7882
|
-
return /* @__PURE__ */ (0,
|
|
8016
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
7883
8017
|
"div",
|
|
7884
8018
|
{
|
|
7885
8019
|
className: cn(
|
|
@@ -7891,7 +8025,7 @@ var InlineAlert = ({
|
|
|
7891
8025
|
"aria-live": ariaLive,
|
|
7892
8026
|
"aria-label": ariaLabel,
|
|
7893
8027
|
children: [
|
|
7894
|
-
/* @__PURE__ */ (0,
|
|
8028
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
7895
8029
|
Icon,
|
|
7896
8030
|
{
|
|
7897
8031
|
name: INLINE_ALERT_TONE_ICON_NAME[tone],
|
|
@@ -7899,14 +8033,14 @@ var InlineAlert = ({
|
|
|
7899
8033
|
"aria-hidden": "true"
|
|
7900
8034
|
}
|
|
7901
8035
|
),
|
|
7902
|
-
/* @__PURE__ */ (0,
|
|
8036
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
7903
8037
|
"div",
|
|
7904
8038
|
{
|
|
7905
8039
|
className: cn(
|
|
7906
8040
|
"min-w-0",
|
|
7907
8041
|
resolvedVariant === "plain" && !hasAction ? "flex-none text-center" : "flex-1"
|
|
7908
8042
|
),
|
|
7909
|
-
children: /* @__PURE__ */ (0,
|
|
8043
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
7910
8044
|
"div",
|
|
7911
8045
|
{
|
|
7912
8046
|
className: cn(
|
|
@@ -7915,14 +8049,14 @@ var InlineAlert = ({
|
|
|
7915
8049
|
resolvedVariant === "plain" && !hasAction ? "items-center" : null
|
|
7916
8050
|
),
|
|
7917
8051
|
children: [
|
|
7918
|
-
title2 ? /* @__PURE__ */ (0,
|
|
7919
|
-
/* @__PURE__ */ (0,
|
|
8052
|
+
title2 ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: title2 }) : null,
|
|
8053
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "text-agg-sm leading-agg-5 text-agg-foreground wrap-break-word", children: message })
|
|
7920
8054
|
]
|
|
7921
8055
|
}
|
|
7922
8056
|
)
|
|
7923
8057
|
}
|
|
7924
8058
|
),
|
|
7925
|
-
hasAction ? /* @__PURE__ */ (0,
|
|
8059
|
+
hasAction ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
7926
8060
|
"button",
|
|
7927
8061
|
{
|
|
7928
8062
|
type: "button",
|
|
@@ -7942,7 +8076,7 @@ var InlineAlert = ({
|
|
|
7942
8076
|
InlineAlert.displayName = "InlineAlert";
|
|
7943
8077
|
|
|
7944
8078
|
// src/primitives/loading-icon/index.tsx
|
|
7945
|
-
var
|
|
8079
|
+
var import_hooks31 = require("@agg-build/hooks");
|
|
7946
8080
|
|
|
7947
8081
|
// src/primitives/loading-icon/loading-icon.constants.ts
|
|
7948
8082
|
var LOADING_ICON_DEFAULT_SIZE = "medium";
|
|
@@ -7960,18 +8094,18 @@ var resolveLoadingIconAriaLabel = ({
|
|
|
7960
8094
|
};
|
|
7961
8095
|
|
|
7962
8096
|
// src/primitives/loading-icon/index.tsx
|
|
7963
|
-
var
|
|
8097
|
+
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
7964
8098
|
var LoadingIcon = ({
|
|
7965
8099
|
size = LOADING_ICON_DEFAULT_SIZE,
|
|
7966
8100
|
variant = "default",
|
|
7967
8101
|
className,
|
|
7968
8102
|
ariaLabel
|
|
7969
8103
|
}) => {
|
|
7970
|
-
const labels = (0,
|
|
8104
|
+
const labels = (0, import_hooks31.useLabels)();
|
|
7971
8105
|
const {
|
|
7972
8106
|
features: { enableAnimations }
|
|
7973
|
-
} = (0,
|
|
7974
|
-
return /* @__PURE__ */ (0,
|
|
8107
|
+
} = (0, import_hooks31.useSdkUiConfig)();
|
|
8108
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
7975
8109
|
"span",
|
|
7976
8110
|
{
|
|
7977
8111
|
role: "status",
|
|
@@ -7984,7 +8118,7 @@ var LoadingIcon = ({
|
|
|
7984
8118
|
"inline-grid place-items-center text-agg-primary will-change-transform",
|
|
7985
8119
|
className
|
|
7986
8120
|
),
|
|
7987
|
-
children: /* @__PURE__ */ (0,
|
|
8121
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "inline-grid place-items-center", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
7988
8122
|
"svg",
|
|
7989
8123
|
{
|
|
7990
8124
|
viewBox: LOADING_ICON_SVG_VIEW_BOX,
|
|
@@ -7992,8 +8126,8 @@ var LoadingIcon = ({
|
|
|
7992
8126
|
"block",
|
|
7993
8127
|
variant === "prominent" ? LOADING_ICON_PROMINENT_FRAME_CLASS : iconSizeClasses[size]
|
|
7994
8128
|
),
|
|
7995
|
-
children: variant === "prominent" ? /* @__PURE__ */ (0,
|
|
7996
|
-
enableAnimations ? /* @__PURE__ */ (0,
|
|
8129
|
+
children: variant === "prominent" ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("g", { children: [
|
|
8130
|
+
enableAnimations ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
7997
8131
|
"animateTransform",
|
|
7998
8132
|
{
|
|
7999
8133
|
attributeName: "transform",
|
|
@@ -8005,7 +8139,7 @@ var LoadingIcon = ({
|
|
|
8005
8139
|
repeatCount: "indefinite"
|
|
8006
8140
|
}
|
|
8007
8141
|
) : null,
|
|
8008
|
-
/* @__PURE__ */ (0,
|
|
8142
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
8009
8143
|
"circle",
|
|
8010
8144
|
{
|
|
8011
8145
|
cx: "22",
|
|
@@ -8019,8 +8153,8 @@ var LoadingIcon = ({
|
|
|
8019
8153
|
strokeDasharray: LOADING_ICON_PROMINENT_DASHARRAY
|
|
8020
8154
|
}
|
|
8021
8155
|
)
|
|
8022
|
-
] }) : /* @__PURE__ */ (0,
|
|
8023
|
-
enableAnimations ? /* @__PURE__ */ (0,
|
|
8156
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("g", { children: [
|
|
8157
|
+
enableAnimations ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
8024
8158
|
"animateTransform",
|
|
8025
8159
|
{
|
|
8026
8160
|
attributeName: "transform",
|
|
@@ -8032,7 +8166,7 @@ var LoadingIcon = ({
|
|
|
8032
8166
|
repeatCount: "indefinite"
|
|
8033
8167
|
}
|
|
8034
8168
|
) : null,
|
|
8035
|
-
/* @__PURE__ */ (0,
|
|
8169
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
8036
8170
|
"circle",
|
|
8037
8171
|
{
|
|
8038
8172
|
cx: "22",
|
|
@@ -8044,8 +8178,8 @@ var LoadingIcon = ({
|
|
|
8044
8178
|
strokeLinecap: "round",
|
|
8045
8179
|
strokeDasharray: "60 100",
|
|
8046
8180
|
strokeDashoffset: "0",
|
|
8047
|
-
children: enableAnimations ? /* @__PURE__ */ (0,
|
|
8048
|
-
/* @__PURE__ */ (0,
|
|
8181
|
+
children: enableAnimations ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
|
|
8182
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
8049
8183
|
"animate",
|
|
8050
8184
|
{
|
|
8051
8185
|
attributeName: "stroke-dasharray",
|
|
@@ -8054,7 +8188,7 @@ var LoadingIcon = ({
|
|
|
8054
8188
|
repeatCount: "indefinite"
|
|
8055
8189
|
}
|
|
8056
8190
|
),
|
|
8057
|
-
/* @__PURE__ */ (0,
|
|
8191
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
8058
8192
|
"animate",
|
|
8059
8193
|
{
|
|
8060
8194
|
attributeName: "stroke-dashoffset",
|
|
@@ -8075,7 +8209,7 @@ var LoadingIcon = ({
|
|
|
8075
8209
|
LoadingIcon.displayName = "LoadingIcon";
|
|
8076
8210
|
|
|
8077
8211
|
// src/primitives/modal/index.tsx
|
|
8078
|
-
var
|
|
8212
|
+
var import_hooks32 = require("@agg-build/hooks");
|
|
8079
8213
|
var Dialog = __toESM(require("@radix-ui/react-dialog"));
|
|
8080
8214
|
|
|
8081
8215
|
// src/primitives/modal/modal.constants.ts
|
|
@@ -8099,7 +8233,7 @@ var resolveModalCloseIcon = ({
|
|
|
8099
8233
|
};
|
|
8100
8234
|
|
|
8101
8235
|
// src/primitives/modal/index.tsx
|
|
8102
|
-
var
|
|
8236
|
+
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
8103
8237
|
var Modal = ({
|
|
8104
8238
|
open,
|
|
8105
8239
|
onOpenChange,
|
|
@@ -8107,7 +8241,7 @@ var Modal = ({
|
|
|
8107
8241
|
"aria-label": _ariaLabel,
|
|
8108
8242
|
"aria-labelledby": _ariaLabelledBy
|
|
8109
8243
|
}) => {
|
|
8110
|
-
return /* @__PURE__ */ (0,
|
|
8244
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Dialog.Root, { open, onOpenChange, children });
|
|
8111
8245
|
};
|
|
8112
8246
|
var ModalContainer = ({
|
|
8113
8247
|
children,
|
|
@@ -8119,11 +8253,11 @@ var ModalContainer = ({
|
|
|
8119
8253
|
const {
|
|
8120
8254
|
general: { rootClassName },
|
|
8121
8255
|
features: { enableAnimations }
|
|
8122
|
-
} = (0,
|
|
8256
|
+
} = (0, import_hooks32.useSdkUiConfig)();
|
|
8123
8257
|
const overlayAnimationClassName = resolveModalOverlayAnimationClassName(enableAnimations);
|
|
8124
8258
|
const panelAnimationClassName = resolveModalPanelAnimationClassName(enableAnimations);
|
|
8125
|
-
return /* @__PURE__ */ (0,
|
|
8126
|
-
/* @__PURE__ */ (0,
|
|
8259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Dialog.Portal, { children: [
|
|
8260
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
8127
8261
|
Dialog.Overlay,
|
|
8128
8262
|
{
|
|
8129
8263
|
className: cn(
|
|
@@ -8134,7 +8268,7 @@ var ModalContainer = ({
|
|
|
8134
8268
|
)
|
|
8135
8269
|
}
|
|
8136
8270
|
),
|
|
8137
|
-
/* @__PURE__ */ (0,
|
|
8271
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
8138
8272
|
Dialog.Content,
|
|
8139
8273
|
{
|
|
8140
8274
|
className: cn(
|
|
@@ -8160,7 +8294,7 @@ var ModalContainer = ({
|
|
|
8160
8294
|
event.preventDefault();
|
|
8161
8295
|
}
|
|
8162
8296
|
},
|
|
8163
|
-
children: /* @__PURE__ */ (0,
|
|
8297
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
8164
8298
|
"div",
|
|
8165
8299
|
{
|
|
8166
8300
|
className: cn(
|
|
@@ -8168,7 +8302,7 @@ var ModalContainer = ({
|
|
|
8168
8302
|
"items-end md:items-center",
|
|
8169
8303
|
"flex h-full min-h-0 w-full justify-center p-0 md:p-5"
|
|
8170
8304
|
),
|
|
8171
|
-
children: /* @__PURE__ */ (0,
|
|
8305
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
8172
8306
|
"div",
|
|
8173
8307
|
{
|
|
8174
8308
|
className: cn(
|
|
@@ -8208,14 +8342,14 @@ var ModalHeader = ({
|
|
|
8208
8342
|
}) => {
|
|
8209
8343
|
const {
|
|
8210
8344
|
features: { enableAnimations }
|
|
8211
|
-
} = (0,
|
|
8212
|
-
const labels = (0,
|
|
8213
|
-
const defaultCloseIcon = /* @__PURE__ */ (0,
|
|
8345
|
+
} = (0, import_hooks32.useSdkUiConfig)();
|
|
8346
|
+
const labels = (0, import_hooks32.useLabels)();
|
|
8347
|
+
const defaultCloseIcon = /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(CloseIcon, { className: "h-6 w-6" });
|
|
8214
8348
|
const resolvedCloseIcon = resolveModalCloseIcon({
|
|
8215
8349
|
closeIcon,
|
|
8216
8350
|
defaultCloseIcon
|
|
8217
8351
|
});
|
|
8218
|
-
return /* @__PURE__ */ (0,
|
|
8352
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
8219
8353
|
"div",
|
|
8220
8354
|
{
|
|
8221
8355
|
className: cn(
|
|
@@ -8228,7 +8362,7 @@ var ModalHeader = ({
|
|
|
8228
8362
|
classNames == null ? void 0 : classNames.root
|
|
8229
8363
|
),
|
|
8230
8364
|
children: [
|
|
8231
|
-
/* @__PURE__ */ (0,
|
|
8365
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
8232
8366
|
"div",
|
|
8233
8367
|
{
|
|
8234
8368
|
className: cn(
|
|
@@ -8241,8 +8375,8 @@ var ModalHeader = ({
|
|
|
8241
8375
|
classNames == null ? void 0 : classNames.container
|
|
8242
8376
|
),
|
|
8243
8377
|
children: [
|
|
8244
|
-
leftElement ? /* @__PURE__ */ (0,
|
|
8245
|
-
/* @__PURE__ */ (0,
|
|
8378
|
+
leftElement ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_jsx_runtime129.Fragment, { children: leftElement }) : null,
|
|
8379
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
8246
8380
|
"div",
|
|
8247
8381
|
{
|
|
8248
8382
|
className: cn(
|
|
@@ -8251,7 +8385,7 @@ var ModalHeader = ({
|
|
|
8251
8385
|
classNames == null ? void 0 : classNames.titleContainer
|
|
8252
8386
|
),
|
|
8253
8387
|
children: [
|
|
8254
|
-
/* @__PURE__ */ (0,
|
|
8388
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
8255
8389
|
Dialog.Title,
|
|
8256
8390
|
{
|
|
8257
8391
|
className: cn(
|
|
@@ -8265,7 +8399,7 @@ var ModalHeader = ({
|
|
|
8265
8399
|
children: title2
|
|
8266
8400
|
}
|
|
8267
8401
|
),
|
|
8268
|
-
subtitle ? /* @__PURE__ */ (0,
|
|
8402
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
8269
8403
|
"span",
|
|
8270
8404
|
{
|
|
8271
8405
|
className: cn(
|
|
@@ -8279,9 +8413,9 @@ var ModalHeader = ({
|
|
|
8279
8413
|
]
|
|
8280
8414
|
}
|
|
8281
8415
|
),
|
|
8282
|
-
/* @__PURE__ */ (0,
|
|
8283
|
-
rightElement ? /* @__PURE__ */ (0,
|
|
8284
|
-
!hideClose && /* @__PURE__ */ (0,
|
|
8416
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "agg-modal-header-actions flex flex-row items-center justify-end gap-6", children: [
|
|
8417
|
+
rightElement ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_jsx_runtime129.Fragment, { children: rightElement }) : null,
|
|
8418
|
+
!hideClose && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
8285
8419
|
Dialog.Close,
|
|
8286
8420
|
{
|
|
8287
8421
|
className: cn(
|
|
@@ -8298,14 +8432,14 @@ var ModalHeader = ({
|
|
|
8298
8432
|
]
|
|
8299
8433
|
}
|
|
8300
8434
|
),
|
|
8301
|
-
children ? /* @__PURE__ */ (0,
|
|
8435
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "agg-modal-header-extra", children }) : null
|
|
8302
8436
|
]
|
|
8303
8437
|
}
|
|
8304
8438
|
);
|
|
8305
8439
|
};
|
|
8306
8440
|
Modal.Header = ModalHeader;
|
|
8307
8441
|
var ModalBody = ({ children, classNames }) => {
|
|
8308
|
-
return /* @__PURE__ */ (0,
|
|
8442
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
8309
8443
|
"div",
|
|
8310
8444
|
{
|
|
8311
8445
|
className: cn(
|
|
@@ -8326,7 +8460,7 @@ var ModalFooter = ({
|
|
|
8326
8460
|
classNames,
|
|
8327
8461
|
hideBorder = false
|
|
8328
8462
|
}) => {
|
|
8329
|
-
return /* @__PURE__ */ (0,
|
|
8463
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
8330
8464
|
"div",
|
|
8331
8465
|
{
|
|
8332
8466
|
className: cn(
|
|
@@ -8347,9 +8481,9 @@ Modal.Footer = ModalFooter;
|
|
|
8347
8481
|
Modal.displayName = "Modal";
|
|
8348
8482
|
|
|
8349
8483
|
// src/primitives/number-value.tsx
|
|
8350
|
-
var
|
|
8351
|
-
var
|
|
8352
|
-
var
|
|
8484
|
+
var import_react11 = require("react");
|
|
8485
|
+
var import_hooks33 = require("@agg-build/hooks");
|
|
8486
|
+
var import_jsx_runtime130 = require("react/jsx-runtime");
|
|
8353
8487
|
var NumberValue = ({
|
|
8354
8488
|
value,
|
|
8355
8489
|
format = "number",
|
|
@@ -8359,8 +8493,8 @@ var NumberValue = ({
|
|
|
8359
8493
|
}) => {
|
|
8360
8494
|
const {
|
|
8361
8495
|
formatting: { formatCompactCurrency, formatCurrency, formatDate, formatNumber, formatPercent }
|
|
8362
|
-
} = (0,
|
|
8363
|
-
const formatted = (0,
|
|
8496
|
+
} = (0, import_hooks33.useSdkUiConfig)();
|
|
8497
|
+
const formatted = (0, import_react11.useMemo)(() => {
|
|
8364
8498
|
if (value == null) return fallback;
|
|
8365
8499
|
if (format === "date") {
|
|
8366
8500
|
if (value instanceof Date) return formatDate(value);
|
|
@@ -8383,13 +8517,13 @@ var NumberValue = ({
|
|
|
8383
8517
|
formatPercent,
|
|
8384
8518
|
value
|
|
8385
8519
|
]);
|
|
8386
|
-
return /* @__PURE__ */ (0,
|
|
8520
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: cn("font-agg-sans", className), "aria-label": ariaLabel, children: formatted });
|
|
8387
8521
|
};
|
|
8388
8522
|
NumberValue.displayName = "NumberValue";
|
|
8389
8523
|
|
|
8390
8524
|
// src/primitives/select/index.tsx
|
|
8391
|
-
var
|
|
8392
|
-
var
|
|
8525
|
+
var import_hooks34 = require("@agg-build/hooks");
|
|
8526
|
+
var import_react12 = require("react");
|
|
8393
8527
|
var import_react_dom = require("react-dom");
|
|
8394
8528
|
|
|
8395
8529
|
// src/primitives/select/select.constants.ts
|
|
@@ -8410,7 +8544,7 @@ var resolveIsSelectDisabled = ({
|
|
|
8410
8544
|
};
|
|
8411
8545
|
|
|
8412
8546
|
// src/primitives/select/index.tsx
|
|
8413
|
-
var
|
|
8547
|
+
var import_jsx_runtime131 = require("react/jsx-runtime");
|
|
8414
8548
|
var SELECT_DROPDOWN_Z = 1e4;
|
|
8415
8549
|
function resolveSelectPortalContainer(triggerRoot) {
|
|
8416
8550
|
var _a, _b;
|
|
@@ -8433,24 +8567,24 @@ var Select = ({
|
|
|
8433
8567
|
contentSideOffset = 8
|
|
8434
8568
|
}) => {
|
|
8435
8569
|
var _a;
|
|
8436
|
-
const labels = (0,
|
|
8570
|
+
const labels = (0, import_hooks34.useLabels)();
|
|
8437
8571
|
const {
|
|
8438
8572
|
general: { rootClassName },
|
|
8439
8573
|
features: { enableAnimations }
|
|
8440
|
-
} = (0,
|
|
8574
|
+
} = (0, import_hooks34.useSdkUiConfig)();
|
|
8441
8575
|
const isDisabled = resolveIsSelectDisabled({ disabled, items });
|
|
8442
8576
|
const selectedItem = resolveSelectedItem(items, value);
|
|
8443
|
-
const [isOpen, setIsOpen] = (0,
|
|
8444
|
-
const [menuRect, setMenuRect] = (0,
|
|
8445
|
-
const containerRef = (0,
|
|
8446
|
-
const portalRef = (0,
|
|
8447
|
-
const closeTimerRef = (0,
|
|
8448
|
-
const openedByHoverRef = (0,
|
|
8449
|
-
const handleClose = (0,
|
|
8577
|
+
const [isOpen, setIsOpen] = (0, import_react12.useState)(false);
|
|
8578
|
+
const [menuRect, setMenuRect] = (0, import_react12.useState)(null);
|
|
8579
|
+
const containerRef = (0, import_react12.useRef)(null);
|
|
8580
|
+
const portalRef = (0, import_react12.useRef)(null);
|
|
8581
|
+
const closeTimerRef = (0, import_react12.useRef)(null);
|
|
8582
|
+
const openedByHoverRef = (0, import_react12.useRef)(false);
|
|
8583
|
+
const handleClose = (0, import_react12.useCallback)(() => {
|
|
8450
8584
|
setIsOpen(false);
|
|
8451
8585
|
openedByHoverRef.current = false;
|
|
8452
8586
|
}, []);
|
|
8453
|
-
const updateMenuRect = (0,
|
|
8587
|
+
const updateMenuRect = (0, import_react12.useCallback)(() => {
|
|
8454
8588
|
const el = containerRef.current;
|
|
8455
8589
|
if (!el) return;
|
|
8456
8590
|
const r = el.getBoundingClientRect();
|
|
@@ -8461,19 +8595,19 @@ var Select = ({
|
|
|
8461
8595
|
width: r.width
|
|
8462
8596
|
});
|
|
8463
8597
|
}, [contentSideOffset]);
|
|
8464
|
-
(0,
|
|
8598
|
+
(0, import_react12.useEffect)(() => {
|
|
8465
8599
|
return () => {
|
|
8466
8600
|
if (closeTimerRef.current) clearTimeout(closeTimerRef.current);
|
|
8467
8601
|
};
|
|
8468
8602
|
}, []);
|
|
8469
|
-
(0,
|
|
8603
|
+
(0, import_react12.useLayoutEffect)(() => {
|
|
8470
8604
|
if (!isOpen) {
|
|
8471
8605
|
setMenuRect(null);
|
|
8472
8606
|
return;
|
|
8473
8607
|
}
|
|
8474
8608
|
updateMenuRect();
|
|
8475
8609
|
}, [isOpen, updateMenuRect, value]);
|
|
8476
|
-
(0,
|
|
8610
|
+
(0, import_react12.useEffect)(() => {
|
|
8477
8611
|
if (!isOpen) return;
|
|
8478
8612
|
const handlePointerDown = (event) => {
|
|
8479
8613
|
var _a2, _b;
|
|
@@ -8494,7 +8628,7 @@ var Select = ({
|
|
|
8494
8628
|
document.removeEventListener("scroll", handleReposition, true);
|
|
8495
8629
|
};
|
|
8496
8630
|
}, [isOpen, handleClose, updateMenuRect]);
|
|
8497
|
-
(0,
|
|
8631
|
+
(0, import_react12.useEffect)(() => {
|
|
8498
8632
|
if (!isOpen) return;
|
|
8499
8633
|
const handleKeyDown = (event) => {
|
|
8500
8634
|
if ((event == null ? void 0 : event.key) === "Escape") handleClose();
|
|
@@ -8529,7 +8663,7 @@ var Select = ({
|
|
|
8529
8663
|
};
|
|
8530
8664
|
const isInline = variant === "inline";
|
|
8531
8665
|
const triggerRadiusClass = triggerClassName != null ? triggerClassName : isInline ? "rounded-agg-sm" : "rounded-agg-md";
|
|
8532
|
-
const listbox = menuRect ? /* @__PURE__ */ (0,
|
|
8666
|
+
const listbox = menuRect ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8533
8667
|
"div",
|
|
8534
8668
|
{
|
|
8535
8669
|
ref: portalRef,
|
|
@@ -8557,7 +8691,7 @@ var Select = ({
|
|
|
8557
8691
|
const isSelected = item.value === value;
|
|
8558
8692
|
const isHidden = item.hidden === true;
|
|
8559
8693
|
if (isHidden) return null;
|
|
8560
|
-
return /* @__PURE__ */ (0,
|
|
8694
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
8561
8695
|
"button",
|
|
8562
8696
|
{
|
|
8563
8697
|
type: "button",
|
|
@@ -8581,14 +8715,14 @@ var Select = ({
|
|
|
8581
8715
|
handleClose();
|
|
8582
8716
|
},
|
|
8583
8717
|
children: [
|
|
8584
|
-
isInline && isSelected ? /* @__PURE__ */ (0,
|
|
8718
|
+
isInline && isSelected ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8585
8719
|
"span",
|
|
8586
8720
|
{
|
|
8587
8721
|
className: "agg-select-item-indicator absolute bottom-2 left-0 top-2 w-1 bg-agg-primary",
|
|
8588
8722
|
"aria-hidden": true
|
|
8589
8723
|
}
|
|
8590
8724
|
) : null,
|
|
8591
|
-
item.icon ? /* @__PURE__ */ (0,
|
|
8725
|
+
item.icon ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8592
8726
|
"span",
|
|
8593
8727
|
{
|
|
8594
8728
|
className: cn(
|
|
@@ -8597,7 +8731,7 @@ var Select = ({
|
|
|
8597
8731
|
),
|
|
8598
8732
|
children: item.icon
|
|
8599
8733
|
}
|
|
8600
|
-
) : item.iconUrl ? /* @__PURE__ */ (0,
|
|
8734
|
+
) : item.iconUrl ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8601
8735
|
RemoteImage,
|
|
8602
8736
|
{
|
|
8603
8737
|
src: item.iconUrl,
|
|
@@ -8605,7 +8739,7 @@ var Select = ({
|
|
|
8605
8739
|
className: "agg-select-item-icon h-4 w-4 shrink-0 rounded-sm object-contain"
|
|
8606
8740
|
}
|
|
8607
8741
|
) : null,
|
|
8608
|
-
/* @__PURE__ */ (0,
|
|
8742
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "agg-select-item-label truncate", children: item.label })
|
|
8609
8743
|
]
|
|
8610
8744
|
},
|
|
8611
8745
|
item.value
|
|
@@ -8613,7 +8747,7 @@ var Select = ({
|
|
|
8613
8747
|
})
|
|
8614
8748
|
}
|
|
8615
8749
|
) : null;
|
|
8616
|
-
return /* @__PURE__ */ (0,
|
|
8750
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
8617
8751
|
"div",
|
|
8618
8752
|
{
|
|
8619
8753
|
ref: containerRef,
|
|
@@ -8623,7 +8757,7 @@ var Select = ({
|
|
|
8623
8757
|
className
|
|
8624
8758
|
),
|
|
8625
8759
|
children: [
|
|
8626
|
-
/* @__PURE__ */ (0,
|
|
8760
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
8627
8761
|
"button",
|
|
8628
8762
|
{
|
|
8629
8763
|
type: "button",
|
|
@@ -8647,7 +8781,7 @@ var Select = ({
|
|
|
8647
8781
|
onPointerEnter: handlePointerEnter,
|
|
8648
8782
|
onPointerLeave: handlePointerLeave,
|
|
8649
8783
|
children: [
|
|
8650
|
-
(selectedItem == null ? void 0 : selectedItem.icon) ? /* @__PURE__ */ (0,
|
|
8784
|
+
(selectedItem == null ? void 0 : selectedItem.icon) ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "h-4 w-4 shrink-0 [&_svg]:h-full [&_svg]:w-full", children: selectedItem.icon }) : (selectedItem == null ? void 0 : selectedItem.iconUrl) ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8651
8785
|
RemoteImage,
|
|
8652
8786
|
{
|
|
8653
8787
|
src: selectedItem.iconUrl,
|
|
@@ -8655,18 +8789,18 @@ var Select = ({
|
|
|
8655
8789
|
className: "agg-select-icon h-4 w-4 shrink-0 rounded-sm object-contain"
|
|
8656
8790
|
}
|
|
8657
8791
|
) : null,
|
|
8658
|
-
/* @__PURE__ */ (0,
|
|
8792
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "agg-select-value flex-1 truncate", children: (_a = selectedItem == null ? void 0 : selectedItem.label) != null ? _a : "" })
|
|
8659
8793
|
]
|
|
8660
8794
|
}
|
|
8661
8795
|
),
|
|
8662
|
-
/* @__PURE__ */ (0,
|
|
8796
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8663
8797
|
"span",
|
|
8664
8798
|
{
|
|
8665
8799
|
className: cn(
|
|
8666
8800
|
"agg-select-chevron pointer-events-none absolute inset-y-0 inline-flex items-center justify-center",
|
|
8667
8801
|
isInline ? "right-2 text-agg-foreground" : "right-3 text-agg-muted-foreground"
|
|
8668
8802
|
),
|
|
8669
|
-
children: /* @__PURE__ */ (0,
|
|
8803
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
8670
8804
|
Icon,
|
|
8671
8805
|
{
|
|
8672
8806
|
name: isOpen ? "chevron-up" : "chevron-down-thin",
|
|
@@ -8684,8 +8818,8 @@ var Select = ({
|
|
|
8684
8818
|
Select.displayName = "Select";
|
|
8685
8819
|
|
|
8686
8820
|
// src/primitives/state-message/index.tsx
|
|
8687
|
-
var
|
|
8688
|
-
var
|
|
8821
|
+
var import_react13 = require("react");
|
|
8822
|
+
var import_hooks35 = require("@agg-build/hooks");
|
|
8689
8823
|
|
|
8690
8824
|
// src/primitives/typography/typography.constants.ts
|
|
8691
8825
|
var typographyVariants = [
|
|
@@ -8782,7 +8916,7 @@ var getTypographyClassName = ({
|
|
|
8782
8916
|
};
|
|
8783
8917
|
|
|
8784
8918
|
// src/primitives/typography/index.tsx
|
|
8785
|
-
var
|
|
8919
|
+
var import_jsx_runtime132 = require("react/jsx-runtime");
|
|
8786
8920
|
var Typography = ({
|
|
8787
8921
|
as: Component2 = "p",
|
|
8788
8922
|
variant = "body",
|
|
@@ -8790,7 +8924,7 @@ var Typography = ({
|
|
|
8790
8924
|
children,
|
|
8791
8925
|
"aria-label": ariaLabel
|
|
8792
8926
|
}) => {
|
|
8793
|
-
return /* @__PURE__ */ (0,
|
|
8927
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Component2, { className: getTypographyClassName({ className, variant }), "aria-label": ariaLabel, children });
|
|
8794
8928
|
};
|
|
8795
8929
|
Typography.displayName = "Typography";
|
|
8796
8930
|
|
|
@@ -8803,7 +8937,7 @@ var resolveStateMessageHasAction = ({ onAction }) => {
|
|
|
8803
8937
|
};
|
|
8804
8938
|
|
|
8805
8939
|
// src/primitives/state-message/index.tsx
|
|
8806
|
-
var
|
|
8940
|
+
var import_jsx_runtime133 = require("react/jsx-runtime");
|
|
8807
8941
|
var StateMessage = (_a) => {
|
|
8808
8942
|
var _b = _a, {
|
|
8809
8943
|
icon,
|
|
@@ -8818,13 +8952,13 @@ var StateMessage = (_a) => {
|
|
|
8818
8952
|
"onAction",
|
|
8819
8953
|
"classNames"
|
|
8820
8954
|
]);
|
|
8821
|
-
const labels = (0,
|
|
8955
|
+
const labels = (0, import_hooks35.useLabels)();
|
|
8822
8956
|
const hasAction = resolveStateMessageHasAction({ onAction });
|
|
8823
|
-
const resolvedIcon = (0,
|
|
8957
|
+
const resolvedIcon = (0, import_react13.cloneElement)(icon, {
|
|
8824
8958
|
className: cn(STATE_MESSAGE_ICON_CLASS_NAME, icon.props.className, classNames == null ? void 0 : classNames.icon),
|
|
8825
8959
|
"aria-hidden": true
|
|
8826
8960
|
});
|
|
8827
|
-
return /* @__PURE__ */ (0,
|
|
8961
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
8828
8962
|
"div",
|
|
8829
8963
|
__spreadProps(__spreadValues({}, rest), {
|
|
8830
8964
|
className: cn(
|
|
@@ -8835,7 +8969,7 @@ var StateMessage = (_a) => {
|
|
|
8835
8969
|
role: "status",
|
|
8836
8970
|
"aria-live": "polite",
|
|
8837
8971
|
"aria-label": title2,
|
|
8838
|
-
children: /* @__PURE__ */ (0,
|
|
8972
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
|
|
8839
8973
|
"div",
|
|
8840
8974
|
{
|
|
8841
8975
|
className: cn(
|
|
@@ -8844,7 +8978,7 @@ var StateMessage = (_a) => {
|
|
|
8844
8978
|
),
|
|
8845
8979
|
children: [
|
|
8846
8980
|
resolvedIcon,
|
|
8847
|
-
/* @__PURE__ */ (0,
|
|
8981
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsxs)(
|
|
8848
8982
|
"div",
|
|
8849
8983
|
{
|
|
8850
8984
|
className: cn(
|
|
@@ -8852,8 +8986,8 @@ var StateMessage = (_a) => {
|
|
|
8852
8986
|
classNames == null ? void 0 : classNames.text
|
|
8853
8987
|
),
|
|
8854
8988
|
children: [
|
|
8855
|
-
/* @__PURE__ */ (0,
|
|
8856
|
-
description ? /* @__PURE__ */ (0,
|
|
8989
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)(Typography, { variant: "body-strong", className: classNames == null ? void 0 : classNames.title, children: title2 }),
|
|
8990
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
8857
8991
|
Typography,
|
|
8858
8992
|
{
|
|
8859
8993
|
variant: "label",
|
|
@@ -8864,7 +8998,7 @@ var StateMessage = (_a) => {
|
|
|
8864
8998
|
]
|
|
8865
8999
|
}
|
|
8866
9000
|
),
|
|
8867
|
-
hasAction ? /* @__PURE__ */ (0,
|
|
9001
|
+
hasAction ? /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
8868
9002
|
Button,
|
|
8869
9003
|
{
|
|
8870
9004
|
variant: "tertiary",
|
|
@@ -8891,19 +9025,19 @@ var StateMessage = (_a) => {
|
|
|
8891
9025
|
StateMessage.displayName = "StateMessage";
|
|
8892
9026
|
|
|
8893
9027
|
// src/primitives/tabs/index.tsx
|
|
8894
|
-
var
|
|
8895
|
-
var
|
|
9028
|
+
var import_hooks36 = require("@agg-build/hooks");
|
|
9029
|
+
var import_react15 = require("react");
|
|
8896
9030
|
|
|
8897
9031
|
// src/shared/use-horizontal-scroll-state.ts
|
|
8898
|
-
var
|
|
9032
|
+
var import_react14 = require("react");
|
|
8899
9033
|
var useHorizontalScrollState = () => {
|
|
8900
|
-
const containerRef = (0,
|
|
8901
|
-
const [hasOverflow, setHasOverflow] = (0,
|
|
8902
|
-
const [isAtStart, setIsAtStart] = (0,
|
|
8903
|
-
const [isAtEnd, setIsAtEnd] = (0,
|
|
8904
|
-
const [canScrollLeft, setCanScrollLeft] = (0,
|
|
8905
|
-
const [canScrollRight, setCanScrollRight] = (0,
|
|
8906
|
-
const update = (0,
|
|
9034
|
+
const containerRef = (0, import_react14.useRef)(null);
|
|
9035
|
+
const [hasOverflow, setHasOverflow] = (0, import_react14.useState)(false);
|
|
9036
|
+
const [isAtStart, setIsAtStart] = (0, import_react14.useState)(true);
|
|
9037
|
+
const [isAtEnd, setIsAtEnd] = (0, import_react14.useState)(true);
|
|
9038
|
+
const [canScrollLeft, setCanScrollLeft] = (0, import_react14.useState)(false);
|
|
9039
|
+
const [canScrollRight, setCanScrollRight] = (0, import_react14.useState)(false);
|
|
9040
|
+
const update = (0, import_react14.useCallback)(() => {
|
|
8907
9041
|
const el = containerRef.current;
|
|
8908
9042
|
if (!el) return;
|
|
8909
9043
|
const epsilon = 2;
|
|
@@ -8916,13 +9050,13 @@ var useHorizontalScrollState = () => {
|
|
|
8916
9050
|
setCanScrollLeft(nextHasOverflow && !nextIsAtStart);
|
|
8917
9051
|
setCanScrollRight(nextHasOverflow && !nextIsAtEnd);
|
|
8918
9052
|
}, []);
|
|
8919
|
-
(0,
|
|
9053
|
+
(0, import_react14.useEffect)(() => {
|
|
8920
9054
|
const el = containerRef.current;
|
|
8921
9055
|
if (!el) return;
|
|
8922
9056
|
el.addEventListener("scroll", update, { passive: true });
|
|
8923
9057
|
return () => el.removeEventListener("scroll", update);
|
|
8924
9058
|
}, [update]);
|
|
8925
|
-
(0,
|
|
9059
|
+
(0, import_react14.useEffect)(() => {
|
|
8926
9060
|
if (typeof ResizeObserver === "undefined") return;
|
|
8927
9061
|
const el = containerRef.current;
|
|
8928
9062
|
if (!el) return;
|
|
@@ -8966,7 +9100,7 @@ var findEdgeEnabledIndex = (items, direction) => {
|
|
|
8966
9100
|
};
|
|
8967
9101
|
|
|
8968
9102
|
// src/primitives/tabs/index.tsx
|
|
8969
|
-
var
|
|
9103
|
+
var import_jsx_runtime134 = require("react/jsx-runtime");
|
|
8970
9104
|
var getTabButtonClassName = ({
|
|
8971
9105
|
enableAnimations,
|
|
8972
9106
|
isBarVariant,
|
|
@@ -9009,12 +9143,12 @@ var Tabs = ({
|
|
|
9009
9143
|
className,
|
|
9010
9144
|
classNames
|
|
9011
9145
|
}) => {
|
|
9012
|
-
const labels = (0,
|
|
9146
|
+
const labels = (0, import_hooks36.useLabels)();
|
|
9013
9147
|
const {
|
|
9014
9148
|
features: { enableAnimations }
|
|
9015
|
-
} = (0,
|
|
9016
|
-
const buttonRefs = (0,
|
|
9017
|
-
const dragStateRef = (0,
|
|
9149
|
+
} = (0, import_hooks36.useSdkUiConfig)();
|
|
9150
|
+
const buttonRefs = (0, import_react15.useRef)([]);
|
|
9151
|
+
const dragStateRef = (0, import_react15.useRef)({
|
|
9018
9152
|
isPointerDown: false,
|
|
9019
9153
|
isDragging: false,
|
|
9020
9154
|
pointerId: null,
|
|
@@ -9022,11 +9156,11 @@ var Tabs = ({
|
|
|
9022
9156
|
startClientY: 0,
|
|
9023
9157
|
startScrollLeft: 0
|
|
9024
9158
|
});
|
|
9025
|
-
const suppressClickRef = (0,
|
|
9159
|
+
const suppressClickRef = (0, import_react15.useRef)(false);
|
|
9026
9160
|
const resolvedAriaLabel = ariaLabel != null ? ariaLabel : labels.common.tabsAria;
|
|
9027
|
-
const [isMobileViewport, setIsMobileViewport] = (0,
|
|
9028
|
-
const [isDraggingTabs, setIsDraggingTabs] = (0,
|
|
9029
|
-
const [activeUnderlineStyle, setActiveUnderlineStyle] = (0,
|
|
9161
|
+
const [isMobileViewport, setIsMobileViewport] = (0, import_react15.useState)(false);
|
|
9162
|
+
const [isDraggingTabs, setIsDraggingTabs] = (0, import_react15.useState)(false);
|
|
9163
|
+
const [activeUnderlineStyle, setActiveUnderlineStyle] = (0, import_react15.useState)({
|
|
9030
9164
|
transform: "translateX(0px)",
|
|
9031
9165
|
width: 0,
|
|
9032
9166
|
opacity: 0
|
|
@@ -9041,14 +9175,14 @@ var Tabs = ({
|
|
|
9041
9175
|
update: updateScrollState
|
|
9042
9176
|
} = useHorizontalScrollState();
|
|
9043
9177
|
const isBarVariant = variant === "bar";
|
|
9044
|
-
const resolvedOverflowBehavior = (0,
|
|
9178
|
+
const resolvedOverflowBehavior = (0, import_react15.useMemo)(() => {
|
|
9045
9179
|
if (overflowBehavior) return overflowBehavior;
|
|
9046
9180
|
if (!isBarVariant) return "scroll";
|
|
9047
9181
|
return isMobileViewport ? "select" : "scroll";
|
|
9048
9182
|
}, [isBarVariant, isMobileViewport, overflowBehavior]);
|
|
9049
9183
|
const shouldUseOverflowScroll = resolvedOverflowBehavior === "scroll";
|
|
9050
9184
|
const shouldUseOverflowSelect = resolvedOverflowBehavior === "select";
|
|
9051
|
-
(0,
|
|
9185
|
+
(0, import_react15.useEffect)(() => {
|
|
9052
9186
|
if (typeof window === "undefined") return;
|
|
9053
9187
|
const mediaQueryList = window.matchMedia(MOBILE_TABS_MEDIA_QUERY);
|
|
9054
9188
|
const handleMediaQueryChange = (event) => {
|
|
@@ -9066,12 +9200,12 @@ var Tabs = ({
|
|
|
9066
9200
|
mediaQueryList.removeListener(handleMediaQueryChange);
|
|
9067
9201
|
};
|
|
9068
9202
|
}, []);
|
|
9069
|
-
const renderedItems = (0,
|
|
9203
|
+
const renderedItems = (0, import_react15.useMemo)(() => {
|
|
9070
9204
|
return items.map((item) => __spreadProps(__spreadValues({}, item), {
|
|
9071
9205
|
disabled: item.disabled || item.isComingSoon
|
|
9072
9206
|
}));
|
|
9073
9207
|
}, [items]);
|
|
9074
|
-
const selectItems = (0,
|
|
9208
|
+
const selectItems = (0, import_react15.useMemo)(() => {
|
|
9075
9209
|
return renderedItems.map((item) => ({
|
|
9076
9210
|
value: item.value,
|
|
9077
9211
|
label: item.isComingSoon ? `${item.label} (soon)` : item.label,
|
|
@@ -9204,7 +9338,7 @@ var Tabs = ({
|
|
|
9204
9338
|
event == null ? void 0 : event.stopPropagation();
|
|
9205
9339
|
suppressClickRef.current = false;
|
|
9206
9340
|
};
|
|
9207
|
-
const updateActiveUnderline = (0,
|
|
9341
|
+
const updateActiveUnderline = (0, import_react15.useCallback)(() => {
|
|
9208
9342
|
if (isBarVariant) {
|
|
9209
9343
|
setActiveUnderlineStyle({
|
|
9210
9344
|
transform: "translateX(0px)",
|
|
@@ -9227,10 +9361,10 @@ var Tabs = ({
|
|
|
9227
9361
|
opacity: 1
|
|
9228
9362
|
});
|
|
9229
9363
|
}, [isBarVariant, renderedItems, tabListRef, value]);
|
|
9230
|
-
(0,
|
|
9364
|
+
(0, import_react15.useLayoutEffect)(() => {
|
|
9231
9365
|
updateActiveUnderline();
|
|
9232
9366
|
}, [updateActiveUnderline]);
|
|
9233
|
-
(0,
|
|
9367
|
+
(0, import_react15.useEffect)(() => {
|
|
9234
9368
|
if (isBarVariant || !shouldUseOverflowScroll) return;
|
|
9235
9369
|
const tabListElement = tabListRef.current;
|
|
9236
9370
|
if (!tabListElement) return;
|
|
@@ -9242,11 +9376,11 @@ var Tabs = ({
|
|
|
9242
9376
|
tabListElement.removeEventListener("scroll", handleScroll);
|
|
9243
9377
|
};
|
|
9244
9378
|
}, [isBarVariant, shouldUseOverflowScroll, tabListRef, updateActiveUnderline]);
|
|
9245
|
-
(0,
|
|
9379
|
+
(0, import_react15.useEffect)(() => {
|
|
9246
9380
|
if (!shouldUseOverflowScroll) return;
|
|
9247
9381
|
updateScrollState();
|
|
9248
9382
|
}, [renderedItems, shouldUseOverflowScroll, updateScrollState, value]);
|
|
9249
|
-
(0,
|
|
9383
|
+
(0, import_react15.useEffect)(() => {
|
|
9250
9384
|
if (isBarVariant || !shouldUseOverflowScroll) return;
|
|
9251
9385
|
if (typeof ResizeObserver === "undefined") return;
|
|
9252
9386
|
const tabListElement = tabListRef.current;
|
|
@@ -9259,7 +9393,7 @@ var Tabs = ({
|
|
|
9259
9393
|
resizeObserver.disconnect();
|
|
9260
9394
|
};
|
|
9261
9395
|
}, [isBarVariant, shouldUseOverflowScroll, tabListRef, updateActiveUnderline]);
|
|
9262
|
-
(0,
|
|
9396
|
+
(0, import_react15.useEffect)(() => {
|
|
9263
9397
|
if (!shouldUseOverflowScroll) return;
|
|
9264
9398
|
const tabListElement = tabListRef.current;
|
|
9265
9399
|
if (!tabListElement) return;
|
|
@@ -9294,7 +9428,7 @@ var Tabs = ({
|
|
|
9294
9428
|
value
|
|
9295
9429
|
]);
|
|
9296
9430
|
if (shouldUseOverflowSelect) {
|
|
9297
|
-
return /* @__PURE__ */ (0,
|
|
9431
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: cn("group/agg-tabs w-full", className, classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
9298
9432
|
Select,
|
|
9299
9433
|
{
|
|
9300
9434
|
ariaLabel,
|
|
@@ -9306,7 +9440,7 @@ var Tabs = ({
|
|
|
9306
9440
|
}
|
|
9307
9441
|
) });
|
|
9308
9442
|
}
|
|
9309
|
-
return /* @__PURE__ */ (0,
|
|
9443
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
9310
9444
|
"div",
|
|
9311
9445
|
{
|
|
9312
9446
|
className: cn(
|
|
@@ -9317,7 +9451,7 @@ var Tabs = ({
|
|
|
9317
9451
|
classNames == null ? void 0 : classNames.root
|
|
9318
9452
|
),
|
|
9319
9453
|
children: [
|
|
9320
|
-
/* @__PURE__ */ (0,
|
|
9454
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
9321
9455
|
"div",
|
|
9322
9456
|
{
|
|
9323
9457
|
ref: tabListRef,
|
|
@@ -9331,7 +9465,7 @@ var Tabs = ({
|
|
|
9331
9465
|
onPointerUp: handleEndTabListDrag,
|
|
9332
9466
|
onWheel: handleTabListWheel,
|
|
9333
9467
|
children: [
|
|
9334
|
-
shouldUseOverflowScroll && !isBarVariant && hasOverflow ? /* @__PURE__ */ (0,
|
|
9468
|
+
shouldUseOverflowScroll && !isBarVariant && hasOverflow ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
9335
9469
|
"span",
|
|
9336
9470
|
{
|
|
9337
9471
|
"aria-hidden": true,
|
|
@@ -9342,7 +9476,7 @@ var Tabs = ({
|
|
|
9342
9476
|
var _a;
|
|
9343
9477
|
const isActive = item.value === value;
|
|
9344
9478
|
const isComingSoon = (_a = item == null ? void 0 : item.isComingSoon) != null ? _a : false;
|
|
9345
|
-
return /* @__PURE__ */ (0,
|
|
9479
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
9346
9480
|
"button",
|
|
9347
9481
|
{
|
|
9348
9482
|
ref: (buttonElement) => {
|
|
@@ -9378,7 +9512,7 @@ var Tabs = ({
|
|
|
9378
9512
|
),
|
|
9379
9513
|
children: [
|
|
9380
9514
|
item.icon ? item.icon : null,
|
|
9381
|
-
/* @__PURE__ */ (0,
|
|
9515
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
9382
9516
|
"span",
|
|
9383
9517
|
{
|
|
9384
9518
|
className: cn(
|
|
@@ -9396,7 +9530,7 @@ var Tabs = ({
|
|
|
9396
9530
|
item.value
|
|
9397
9531
|
);
|
|
9398
9532
|
}),
|
|
9399
|
-
!isBarVariant ? /* @__PURE__ */ (0,
|
|
9533
|
+
!isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
9400
9534
|
"span",
|
|
9401
9535
|
{
|
|
9402
9536
|
"aria-hidden": true,
|
|
@@ -9415,8 +9549,8 @@ var Tabs = ({
|
|
|
9415
9549
|
]
|
|
9416
9550
|
}
|
|
9417
9551
|
),
|
|
9418
|
-
shouldUseOverflowScroll && !isBarVariant ? /* @__PURE__ */ (0,
|
|
9419
|
-
/* @__PURE__ */ (0,
|
|
9552
|
+
shouldUseOverflowScroll && !isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_jsx_runtime134.Fragment, { children: [
|
|
9553
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
9420
9554
|
"span",
|
|
9421
9555
|
{
|
|
9422
9556
|
"aria-hidden": true,
|
|
@@ -9428,7 +9562,7 @@ var Tabs = ({
|
|
|
9428
9562
|
)
|
|
9429
9563
|
}
|
|
9430
9564
|
),
|
|
9431
|
-
/* @__PURE__ */ (0,
|
|
9565
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
9432
9566
|
"span",
|
|
9433
9567
|
{
|
|
9434
9568
|
"aria-hidden": true,
|
|
@@ -9441,8 +9575,8 @@ var Tabs = ({
|
|
|
9441
9575
|
}
|
|
9442
9576
|
)
|
|
9443
9577
|
] }) : null,
|
|
9444
|
-
shouldUseOverflowScroll && isBarVariant ? /* @__PURE__ */ (0,
|
|
9445
|
-
/* @__PURE__ */ (0,
|
|
9578
|
+
shouldUseOverflowScroll && isBarVariant ? /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_jsx_runtime134.Fragment, { children: [
|
|
9579
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
9446
9580
|
"button",
|
|
9447
9581
|
{
|
|
9448
9582
|
type: "button",
|
|
@@ -9464,10 +9598,10 @@ var Tabs = ({
|
|
|
9464
9598
|
behavior: getScrollBehavior(enableAnimations)
|
|
9465
9599
|
});
|
|
9466
9600
|
},
|
|
9467
|
-
children: /* @__PURE__ */ (0,
|
|
9601
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Icon, { name: "chevron-left", size: "small", color: "currentColor" })
|
|
9468
9602
|
}
|
|
9469
9603
|
),
|
|
9470
|
-
/* @__PURE__ */ (0,
|
|
9604
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
9471
9605
|
"button",
|
|
9472
9606
|
{
|
|
9473
9607
|
type: "button",
|
|
@@ -9489,7 +9623,7 @@ var Tabs = ({
|
|
|
9489
9623
|
behavior: getScrollBehavior(enableAnimations)
|
|
9490
9624
|
});
|
|
9491
9625
|
},
|
|
9492
|
-
children: /* @__PURE__ */ (0,
|
|
9626
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Icon, { name: "chevron-right", size: "small", color: "currentColor" })
|
|
9493
9627
|
}
|
|
9494
9628
|
)
|
|
9495
9629
|
] }) : null
|
|
@@ -9501,8 +9635,8 @@ Tabs.displayName = "Tabs";
|
|
|
9501
9635
|
|
|
9502
9636
|
// src/primitives/toast/index.tsx
|
|
9503
9637
|
var RadixToast = __toESM(require("@radix-ui/react-toast"));
|
|
9504
|
-
var
|
|
9505
|
-
var
|
|
9638
|
+
var import_react16 = require("react");
|
|
9639
|
+
var import_jsx_runtime135 = require("react/jsx-runtime");
|
|
9506
9640
|
var DEFAULT_DURATION_MS = 5e3;
|
|
9507
9641
|
var EXIT_ANIMATION_MS = 350;
|
|
9508
9642
|
var TONE_ACCENT_CLASS = {
|
|
@@ -9517,7 +9651,7 @@ var TONE_ICON_NAME = {
|
|
|
9517
9651
|
warning: "warning-filled",
|
|
9518
9652
|
error: "error-filled"
|
|
9519
9653
|
};
|
|
9520
|
-
var ToastContext = (0,
|
|
9654
|
+
var ToastContext = (0, import_react16.createContext)(null);
|
|
9521
9655
|
function ToastProvider({
|
|
9522
9656
|
children,
|
|
9523
9657
|
defaultDurationMs = DEFAULT_DURATION_MS,
|
|
@@ -9525,12 +9659,12 @@ function ToastProvider({
|
|
|
9525
9659
|
swipeThreshold = 50,
|
|
9526
9660
|
viewportClassName
|
|
9527
9661
|
}) {
|
|
9528
|
-
const [toasts, setToasts] = (0,
|
|
9529
|
-
const idRef = (0,
|
|
9530
|
-
const dismiss = (0,
|
|
9662
|
+
const [toasts, setToasts] = (0, import_react16.useState)([]);
|
|
9663
|
+
const idRef = (0, import_react16.useRef)(0);
|
|
9664
|
+
const dismiss = (0, import_react16.useCallback)((id) => {
|
|
9531
9665
|
setToasts((current) => current.filter((entry) => entry.id !== id));
|
|
9532
9666
|
}, []);
|
|
9533
|
-
const toast = (0,
|
|
9667
|
+
const toast = (0, import_react16.useCallback)(
|
|
9534
9668
|
(message, options) => {
|
|
9535
9669
|
const id = ++idRef.current;
|
|
9536
9670
|
setToasts((current) => {
|
|
@@ -9551,9 +9685,9 @@ function ToastProvider({
|
|
|
9551
9685
|
},
|
|
9552
9686
|
[defaultDurationMs]
|
|
9553
9687
|
);
|
|
9554
|
-
return /* @__PURE__ */ (0,
|
|
9688
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(ToastContext.Provider, { value: { toast, dismiss }, children: /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(RadixToast.Provider, { swipeDirection, swipeThreshold, children: [
|
|
9555
9689
|
children,
|
|
9556
|
-
toasts.map((entry) => /* @__PURE__ */ (0,
|
|
9690
|
+
toasts.map((entry) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
9557
9691
|
ToastRow,
|
|
9558
9692
|
{
|
|
9559
9693
|
entry,
|
|
@@ -9563,7 +9697,7 @@ function ToastProvider({
|
|
|
9563
9697
|
},
|
|
9564
9698
|
entry.id
|
|
9565
9699
|
)),
|
|
9566
|
-
/* @__PURE__ */ (0,
|
|
9700
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
9567
9701
|
RadixToast.Viewport,
|
|
9568
9702
|
{
|
|
9569
9703
|
className: cn(
|
|
@@ -9575,31 +9709,31 @@ function ToastProvider({
|
|
|
9575
9709
|
] }) });
|
|
9576
9710
|
}
|
|
9577
9711
|
function ToastRow({ entry, onOpenChange }) {
|
|
9578
|
-
const [isOpen, setIsOpen] = (0,
|
|
9712
|
+
const [isOpen, setIsOpen] = (0, import_react16.useState)(true);
|
|
9579
9713
|
const hasAutoDismiss = entry.durationMs > 0 && Number.isFinite(entry.durationMs);
|
|
9580
9714
|
const duration = hasAutoDismiss ? entry.durationMs : Number.POSITIVE_INFINITY;
|
|
9581
|
-
const timeoutRef = (0,
|
|
9582
|
-
const closeTimeoutRef = (0,
|
|
9583
|
-
const remainingMsRef = (0,
|
|
9584
|
-
const timerStartedAtRef = (0,
|
|
9585
|
-
const onOpenChangeRef = (0,
|
|
9715
|
+
const timeoutRef = (0, import_react16.useRef)(null);
|
|
9716
|
+
const closeTimeoutRef = (0, import_react16.useRef)(null);
|
|
9717
|
+
const remainingMsRef = (0, import_react16.useRef)(duration);
|
|
9718
|
+
const timerStartedAtRef = (0, import_react16.useRef)(null);
|
|
9719
|
+
const onOpenChangeRef = (0, import_react16.useRef)(onOpenChange);
|
|
9586
9720
|
const rootStyle = {
|
|
9587
9721
|
"--agg-toast-duration": `${duration}ms`
|
|
9588
9722
|
};
|
|
9589
|
-
(0,
|
|
9723
|
+
(0, import_react16.useEffect)(() => {
|
|
9590
9724
|
onOpenChangeRef.current = onOpenChange;
|
|
9591
9725
|
}, [onOpenChange]);
|
|
9592
|
-
const clearDismissTimer = (0,
|
|
9726
|
+
const clearDismissTimer = (0, import_react16.useCallback)(() => {
|
|
9593
9727
|
if (!timeoutRef.current) return;
|
|
9594
9728
|
clearTimeout(timeoutRef.current);
|
|
9595
9729
|
timeoutRef.current = null;
|
|
9596
9730
|
}, []);
|
|
9597
|
-
const clearCloseTimer = (0,
|
|
9731
|
+
const clearCloseTimer = (0, import_react16.useCallback)(() => {
|
|
9598
9732
|
if (!closeTimeoutRef.current) return;
|
|
9599
9733
|
clearTimeout(closeTimeoutRef.current);
|
|
9600
9734
|
closeTimeoutRef.current = null;
|
|
9601
9735
|
}, []);
|
|
9602
|
-
const handleOpenChange = (0,
|
|
9736
|
+
const handleOpenChange = (0, import_react16.useCallback)(
|
|
9603
9737
|
(open) => {
|
|
9604
9738
|
if (open) {
|
|
9605
9739
|
clearCloseTimer();
|
|
@@ -9616,7 +9750,7 @@ function ToastRow({ entry, onOpenChange }) {
|
|
|
9616
9750
|
},
|
|
9617
9751
|
[clearCloseTimer, clearDismissTimer]
|
|
9618
9752
|
);
|
|
9619
|
-
const startDismissTimer = (0,
|
|
9753
|
+
const startDismissTimer = (0, import_react16.useCallback)(() => {
|
|
9620
9754
|
if (!hasAutoDismiss) return;
|
|
9621
9755
|
clearDismissTimer();
|
|
9622
9756
|
timerStartedAtRef.current = Date.now();
|
|
@@ -9624,18 +9758,18 @@ function ToastRow({ entry, onOpenChange }) {
|
|
|
9624
9758
|
handleOpenChange(false);
|
|
9625
9759
|
}, remainingMsRef.current);
|
|
9626
9760
|
}, [clearDismissTimer, handleOpenChange, hasAutoDismiss]);
|
|
9627
|
-
const handlePauseDismissTimer = (0,
|
|
9761
|
+
const handlePauseDismissTimer = (0, import_react16.useCallback)(() => {
|
|
9628
9762
|
if (!hasAutoDismiss || timerStartedAtRef.current === null) return;
|
|
9629
9763
|
const elapsedMs = Date.now() - timerStartedAtRef.current;
|
|
9630
9764
|
remainingMsRef.current = Math.max(0, remainingMsRef.current - elapsedMs);
|
|
9631
9765
|
timerStartedAtRef.current = null;
|
|
9632
9766
|
clearDismissTimer();
|
|
9633
9767
|
}, [clearDismissTimer, hasAutoDismiss]);
|
|
9634
|
-
const handleResumeDismissTimer = (0,
|
|
9768
|
+
const handleResumeDismissTimer = (0, import_react16.useCallback)(() => {
|
|
9635
9769
|
if (!hasAutoDismiss || timerStartedAtRef.current !== null) return;
|
|
9636
9770
|
startDismissTimer();
|
|
9637
9771
|
}, [hasAutoDismiss, startDismissTimer]);
|
|
9638
|
-
(0,
|
|
9772
|
+
(0, import_react16.useEffect)(() => {
|
|
9639
9773
|
remainingMsRef.current = duration;
|
|
9640
9774
|
startDismissTimer();
|
|
9641
9775
|
return () => {
|
|
@@ -9643,7 +9777,7 @@ function ToastRow({ entry, onOpenChange }) {
|
|
|
9643
9777
|
clearCloseTimer();
|
|
9644
9778
|
};
|
|
9645
9779
|
}, [clearCloseTimer, clearDismissTimer, duration, startDismissTimer]);
|
|
9646
|
-
return /* @__PURE__ */ (0,
|
|
9780
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(
|
|
9647
9781
|
RadixToast.Root,
|
|
9648
9782
|
{
|
|
9649
9783
|
open: isOpen,
|
|
@@ -9664,7 +9798,7 @@ function ToastRow({ entry, onOpenChange }) {
|
|
|
9664
9798
|
TONE_ACCENT_CLASS[entry.tone]
|
|
9665
9799
|
),
|
|
9666
9800
|
children: [
|
|
9667
|
-
/* @__PURE__ */ (0,
|
|
9801
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
9668
9802
|
Icon,
|
|
9669
9803
|
{
|
|
9670
9804
|
name: TONE_ICON_NAME[entry.tone],
|
|
@@ -9672,25 +9806,25 @@ function ToastRow({ entry, onOpenChange }) {
|
|
|
9672
9806
|
"aria-hidden": "true"
|
|
9673
9807
|
}
|
|
9674
9808
|
),
|
|
9675
|
-
/* @__PURE__ */ (0,
|
|
9676
|
-
entry.title ? /* @__PURE__ */ (0,
|
|
9677
|
-
/* @__PURE__ */ (0,
|
|
9678
|
-
entry.detail ? /* @__PURE__ */ (0,
|
|
9809
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
9810
|
+
entry.title ? /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(RadixToast.Title, { className: "font-agg-sans text-agg-sm leading-agg-5 font-agg-bold text-agg-foreground", children: entry.title }) : null,
|
|
9811
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(RadixToast.Description, { className: "font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-foreground wrap-break-word", children: entry.message }),
|
|
9812
|
+
entry.detail ? /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("p", { className: "font-agg-sans text-agg-sm leading-agg-5 font-agg-normal text-agg-muted-foreground wrap-break-word", children: entry.detail }) : null
|
|
9679
9813
|
] }),
|
|
9680
|
-
/* @__PURE__ */ (0,
|
|
9814
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
9681
9815
|
RadixToast.Close,
|
|
9682
9816
|
{
|
|
9683
9817
|
"aria-label": "Dismiss",
|
|
9684
9818
|
className: "absolute top-4 right-4 cursor-pointer text-agg-foreground transition-opacity hover:opacity-70 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-agg-primary",
|
|
9685
|
-
children: /* @__PURE__ */ (0,
|
|
9819
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(Icon, { name: "close", className: "h-4! w-4!", "aria-hidden": "true" })
|
|
9686
9820
|
}
|
|
9687
9821
|
),
|
|
9688
|
-
/* @__PURE__ */ (0,
|
|
9822
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
9689
9823
|
"div",
|
|
9690
9824
|
{
|
|
9691
9825
|
className: "absolute right-[-1px] bottom-[-1px] left-[-1px] h-1 bg-[color-mix(in_srgb,var(--agg-toast-accent)_30%,transparent)]",
|
|
9692
9826
|
"aria-hidden": "true",
|
|
9693
|
-
children: /* @__PURE__ */ (0,
|
|
9827
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
9694
9828
|
"div",
|
|
9695
9829
|
{
|
|
9696
9830
|
"data-testid": "agg-toast-progress",
|
|
@@ -9707,20 +9841,20 @@ function ToastRow({ entry, onOpenChange }) {
|
|
|
9707
9841
|
);
|
|
9708
9842
|
}
|
|
9709
9843
|
function useToast() {
|
|
9710
|
-
const ctx = (0,
|
|
9844
|
+
const ctx = (0, import_react16.useContext)(ToastContext);
|
|
9711
9845
|
if (!ctx) {
|
|
9712
9846
|
throw new Error("useToast must be used within a <ToastProvider>");
|
|
9713
9847
|
}
|
|
9714
9848
|
return ctx;
|
|
9715
9849
|
}
|
|
9716
9850
|
function useOptionalToast() {
|
|
9717
|
-
return (0,
|
|
9851
|
+
return (0, import_react16.useContext)(ToastContext);
|
|
9718
9852
|
}
|
|
9719
9853
|
|
|
9720
9854
|
// src/primitives/tooltip/index.tsx
|
|
9721
|
-
var
|
|
9855
|
+
var import_hooks37 = require("@agg-build/hooks");
|
|
9722
9856
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
|
|
9723
|
-
var
|
|
9857
|
+
var import_react17 = require("react");
|
|
9724
9858
|
|
|
9725
9859
|
// src/primitives/tooltip/tooltip.constants.ts
|
|
9726
9860
|
var tooltipSizeClasses = {
|
|
@@ -9752,7 +9886,7 @@ var resolveTooltipArrowDimensions = (size) => {
|
|
|
9752
9886
|
};
|
|
9753
9887
|
|
|
9754
9888
|
// src/primitives/tooltip/index.tsx
|
|
9755
|
-
var
|
|
9889
|
+
var import_jsx_runtime136 = require("react/jsx-runtime");
|
|
9756
9890
|
var Tooltip = ({
|
|
9757
9891
|
content,
|
|
9758
9892
|
children,
|
|
@@ -9767,25 +9901,25 @@ var Tooltip = ({
|
|
|
9767
9901
|
const {
|
|
9768
9902
|
general: { rootClassName },
|
|
9769
9903
|
features: { enableAnimations }
|
|
9770
|
-
} = (0,
|
|
9771
|
-
const trigger = (0,
|
|
9904
|
+
} = (0, import_hooks37.useSdkUiConfig)();
|
|
9905
|
+
const trigger = (0, import_react17.useMemo)(() => {
|
|
9772
9906
|
if (children) return children;
|
|
9773
|
-
return /* @__PURE__ */ (0,
|
|
9907
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
9774
9908
|
"button",
|
|
9775
9909
|
{
|
|
9776
9910
|
type: "button",
|
|
9777
9911
|
className: resolveTooltipTriggerClassName(classNames == null ? void 0 : classNames.trigger),
|
|
9778
9912
|
"aria-label": ariaLabel != null ? ariaLabel : defaultTooltipTriggerAriaLabel,
|
|
9779
|
-
children: /* @__PURE__ */ (0,
|
|
9913
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(Icon, { name: "info", size: "small", className: cn(classNames == null ? void 0 : classNames.icon), "aria-hidden": true })
|
|
9780
9914
|
}
|
|
9781
9915
|
);
|
|
9782
9916
|
}, [children, classNames == null ? void 0 : classNames.trigger, classNames == null ? void 0 : classNames.icon, ariaLabel]);
|
|
9783
9917
|
const { width: arrowWidth, height: arrowHeight } = resolveTooltipArrowDimensions(size);
|
|
9784
9918
|
const arrowPoints = `0,0 ${arrowWidth},0 ${arrowWidth / 2},${arrowHeight}`;
|
|
9785
9919
|
const arrowBorderPath = `M0 0 L${arrowWidth / 2} ${arrowHeight} L${arrowWidth} 0`;
|
|
9786
|
-
return /* @__PURE__ */ (0,
|
|
9787
|
-
/* @__PURE__ */ (0,
|
|
9788
|
-
/* @__PURE__ */ (0,
|
|
9920
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(TooltipPrimitive.Provider, { delayDuration, children: /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(TooltipPrimitive.Root, { children: [
|
|
9921
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(TooltipPrimitive.Trigger, { asChild: true, children: trigger }),
|
|
9922
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
|
|
9789
9923
|
TooltipPrimitive.Content,
|
|
9790
9924
|
{
|
|
9791
9925
|
side,
|
|
@@ -9809,7 +9943,7 @@ var Tooltip = ({
|
|
|
9809
9943
|
classNames == null ? void 0 : classNames.content
|
|
9810
9944
|
),
|
|
9811
9945
|
children: [
|
|
9812
|
-
/* @__PURE__ */ (0,
|
|
9946
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(TooltipPrimitive.Arrow, { asChild: true, width: arrowWidth, height: arrowHeight, children: /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(
|
|
9813
9947
|
"svg",
|
|
9814
9948
|
{
|
|
9815
9949
|
width: arrowWidth,
|
|
@@ -9818,8 +9952,8 @@ var Tooltip = ({
|
|
|
9818
9952
|
"aria-hidden": "true",
|
|
9819
9953
|
className: cn("overflow-visible", classNames == null ? void 0 : classNames.arrow),
|
|
9820
9954
|
children: [
|
|
9821
|
-
/* @__PURE__ */ (0,
|
|
9822
|
-
/* @__PURE__ */ (0,
|
|
9955
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("polygon", { points: arrowPoints, className: "fill-agg-secondary" }),
|
|
9956
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
9823
9957
|
"path",
|
|
9824
9958
|
{
|
|
9825
9959
|
d: arrowBorderPath,
|