@flamingo-stack/openframe-frontend-core 0.0.357-snapshot.20260702003231 → 0.0.357

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/{chunk-IBYCZG6S.js → chunk-2YYYGBLE.js} +2 -2
  2. package/dist/{chunk-EASJYKEA.cjs → chunk-3PUFWBRR.cjs} +26 -26
  3. package/dist/{chunk-EASJYKEA.cjs.map → chunk-3PUFWBRR.cjs.map} +1 -1
  4. package/dist/{chunk-F5NAL32B.cjs → chunk-44F5VCCJ.cjs} +7 -7
  5. package/dist/{chunk-F5NAL32B.cjs.map → chunk-44F5VCCJ.cjs.map} +1 -1
  6. package/dist/{chunk-IL33PEQB.js → chunk-5NV6U7SX.js} +2 -2
  7. package/dist/{chunk-O6ZTFST3.js → chunk-64EZVZZQ.js} +2 -2
  8. package/dist/{chunk-2J56P3HL.cjs → chunk-CR6ZUBNF.cjs} +37 -37
  9. package/dist/{chunk-2J56P3HL.cjs.map → chunk-CR6ZUBNF.cjs.map} +1 -1
  10. package/dist/{chunk-AVCR5TCA.cjs → chunk-CVDJ6S4Y.cjs} +5 -5
  11. package/dist/{chunk-AVCR5TCA.cjs.map → chunk-CVDJ6S4Y.cjs.map} +1 -1
  12. package/dist/{chunk-2LLPPZB2.cjs → chunk-EBQNKU66.cjs} +12 -12
  13. package/dist/{chunk-2LLPPZB2.cjs.map → chunk-EBQNKU66.cjs.map} +1 -1
  14. package/dist/{chunk-WLU4IOM6.cjs → chunk-F3GFL65H.cjs} +25 -25
  15. package/dist/{chunk-WLU4IOM6.cjs.map → chunk-F3GFL65H.cjs.map} +1 -1
  16. package/dist/{chunk-DZHIM646.js → chunk-FFFOXYA7.js} +4 -4
  17. package/dist/{chunk-XZGZH5GG.js → chunk-H6ZKXS32.js} +2 -2
  18. package/dist/{chunk-DDCTJIWD.js → chunk-HTR5P2PT.js} +2 -2
  19. package/dist/{chunk-EOXJ73JE.cjs → chunk-IEXRQXJM.cjs} +15 -15
  20. package/dist/{chunk-EOXJ73JE.cjs.map → chunk-IEXRQXJM.cjs.map} +1 -1
  21. package/dist/{chunk-C6XEJALZ.cjs → chunk-IYO2PQRQ.cjs} +162 -200
  22. package/dist/chunk-IYO2PQRQ.cjs.map +1 -0
  23. package/dist/{chunk-BJ6J6WLA.js → chunk-KV7UDCIW.js} +4 -4
  24. package/dist/{chunk-CX4NZ56E.js → chunk-MSMWCG6V.js} +2 -2
  25. package/dist/{chunk-XX42KS3W.cjs → chunk-PDZOVPTI.cjs} +9 -9
  26. package/dist/{chunk-XX42KS3W.cjs.map → chunk-PDZOVPTI.cjs.map} +1 -1
  27. package/dist/{chunk-TRON4VRV.cjs → chunk-PGDL4GI7.cjs} +62 -62
  28. package/dist/{chunk-TRON4VRV.cjs.map → chunk-PGDL4GI7.cjs.map} +1 -1
  29. package/dist/{chunk-TRAJG5JZ.js → chunk-QSVG54VM.js} +162 -200
  30. package/dist/chunk-QSVG54VM.js.map +1 -0
  31. package/dist/{chunk-FPWI7T6Z.js → chunk-SBMDCLK4.js} +4 -4
  32. package/dist/{chunk-IFL7IRAW.js → chunk-VTFPRVGI.js} +4 -4
  33. package/dist/{chunk-LQONASYT.cjs → chunk-VXZWKYM4.cjs} +56 -56
  34. package/dist/{chunk-LQONASYT.cjs.map → chunk-VXZWKYM4.cjs.map} +1 -1
  35. package/dist/{chunk-SAIKHQTP.cjs → chunk-YUSVGYRV.cjs} +31 -31
  36. package/dist/{chunk-SAIKHQTP.cjs.map → chunk-YUSVGYRV.cjs.map} +1 -1
  37. package/dist/{chunk-2NV6UIY3.js → chunk-ZDTARDIT.js} +2 -2
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/index.cjs +2 -2
  41. package/dist/components/chat/index.js +1 -1
  42. package/dist/components/contact/index.cjs +3 -3
  43. package/dist/components/contact/index.js +2 -2
  44. package/dist/components/docs/index.cjs +5 -5
  45. package/dist/components/docs/index.js +4 -4
  46. package/dist/components/embeds/index.cjs +3 -3
  47. package/dist/components/embeds/index.js +2 -2
  48. package/dist/components/faq/index.cjs +3 -3
  49. package/dist/components/faq/index.js +2 -2
  50. package/dist/components/features/index.cjs +2 -2
  51. package/dist/components/features/index.js +1 -1
  52. package/dist/components/help-center-pages/index.cjs +20 -20
  53. package/dist/components/help-center-pages/index.js +11 -11
  54. package/dist/components/index.cjs +120 -120
  55. package/dist/components/index.js +9 -9
  56. package/dist/components/navigation/index.cjs +2 -2
  57. package/dist/components/navigation/index.js +1 -1
  58. package/dist/components/onboarding-guides/index.cjs +5 -5
  59. package/dist/components/onboarding-guides/index.js +4 -4
  60. package/dist/components/related-content/index.cjs +3 -3
  61. package/dist/components/related-content/index.js +2 -2
  62. package/dist/components/tickets/index.cjs +5 -5
  63. package/dist/components/tickets/index.js +4 -4
  64. package/dist/components/ui/floating-tooltip.d.ts.map +1 -1
  65. package/dist/components/ui/index.cjs +2 -2
  66. package/dist/components/ui/index.js +1 -1
  67. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  68. package/dist/components/ui/tooltip.d.ts.map +1 -1
  69. package/dist/index.cjs +2 -2
  70. package/dist/index.js +1 -1
  71. package/package.json +1 -1
  72. package/src/components/ui/floating-tooltip.tsx +5 -19
  73. package/src/components/ui/tab-navigation.tsx +2 -45
  74. package/src/components/ui/tooltip.tsx +1 -3
  75. package/dist/chunk-C6XEJALZ.cjs.map +0 -1
  76. package/dist/chunk-TRAJG5JZ.js.map +0 -1
  77. /package/dist/{chunk-IBYCZG6S.js.map → chunk-2YYYGBLE.js.map} +0 -0
  78. /package/dist/{chunk-IL33PEQB.js.map → chunk-5NV6U7SX.js.map} +0 -0
  79. /package/dist/{chunk-O6ZTFST3.js.map → chunk-64EZVZZQ.js.map} +0 -0
  80. /package/dist/{chunk-DZHIM646.js.map → chunk-FFFOXYA7.js.map} +0 -0
  81. /package/dist/{chunk-XZGZH5GG.js.map → chunk-H6ZKXS32.js.map} +0 -0
  82. /package/dist/{chunk-DDCTJIWD.js.map → chunk-HTR5P2PT.js.map} +0 -0
  83. /package/dist/{chunk-BJ6J6WLA.js.map → chunk-KV7UDCIW.js.map} +0 -0
  84. /package/dist/{chunk-CX4NZ56E.js.map → chunk-MSMWCG6V.js.map} +0 -0
  85. /package/dist/{chunk-FPWI7T6Z.js.map → chunk-SBMDCLK4.js.map} +0 -0
  86. /package/dist/{chunk-IFL7IRAW.js.map → chunk-VTFPRVGI.js.map} +0 -0
  87. /package/dist/{chunk-2NV6UIY3.js.map → chunk-ZDTARDIT.js.map} +0 -0
@@ -2215,7 +2215,7 @@ function formatBioText(aboutHtml, fallback = "") {
2215
2215
  // src/components/ui/square-avatar.tsx
2216
2216
  import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
2217
2217
  var SquareAvatar = React2.memo(React2.forwardRef(
2218
- ({ className, src, alt, size: size2 = "md", fallback, variant = "square", initialsClassName, ...props }, ref) => {
2218
+ ({ className, src, alt, size = "md", fallback, variant = "square", initialsClassName, ...props }, ref) => {
2219
2219
  const sizeClasses2 = {
2220
2220
  sm: "h-8 w-8",
2221
2221
  md: "h-10 w-10",
@@ -2237,7 +2237,7 @@ var SquareAvatar = React2.memo(React2.forwardRef(
2237
2237
  {
2238
2238
  className: cn(
2239
2239
  "relative flex items-center justify-center shrink-0 overflow-hidden border border-ods-border bg-ods-bg",
2240
- sizeClasses2[size2],
2240
+ sizeClasses2[size],
2241
2241
  variantClasses[variant],
2242
2242
  className
2243
2243
  ),
@@ -2265,8 +2265,8 @@ var SquareAvatar = React2.memo(React2.forwardRef(
2265
2265
  className: "absolute -inset-px h-[calc(100%+2px)] w-[calc(100%+2px)] max-w-none object-cover",
2266
2266
  src,
2267
2267
  alt: alt || "",
2268
- width: sizePx[size2],
2269
- height: sizePx[size2],
2268
+ width: sizePx[size],
2269
+ height: sizePx[size],
2270
2270
  onError: (e) => {
2271
2271
  e.currentTarget.style.display = "none";
2272
2272
  const el = e.currentTarget.previousElementSibling;
@@ -3197,7 +3197,7 @@ init_cn();
3197
3197
  import * as React7 from "react";
3198
3198
  import { jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
3199
3199
  var ChatTypingIndicator = React7.forwardRef(
3200
- ({ className, size: size2 = "md", showText = false, dotClassName, ...props }, ref) => {
3200
+ ({ className, size = "md", showText = false, dotClassName, ...props }, ref) => {
3201
3201
  const dotSizeClasses = {
3202
3202
  sm: "w-1 h-1",
3203
3203
  md: "w-1.5 h-1.5",
@@ -3231,13 +3231,13 @@ var ChatTypingIndicator = React7.forwardRef(
3231
3231
  showText && /* @__PURE__ */ jsx16("span", { className: "text-ods-text-secondary text-sm", children: "Assistant is typing" }),
3232
3232
  /* @__PURE__ */ jsxs14("div", { className: cn(
3233
3233
  "inline-flex items-center justify-center gap-1",
3234
- containerSizeClasses[size2]
3234
+ containerSizeClasses[size]
3235
3235
  ), children: [
3236
3236
  /* @__PURE__ */ jsx16(
3237
3237
  "div",
3238
3238
  {
3239
3239
  className: cn(
3240
- dotSizeClasses[size2],
3240
+ dotSizeClasses[size],
3241
3241
  "rounded-full",
3242
3242
  dotClassName || "bg-ods-text-primary"
3243
3243
  ),
@@ -3251,7 +3251,7 @@ var ChatTypingIndicator = React7.forwardRef(
3251
3251
  "div",
3252
3252
  {
3253
3253
  className: cn(
3254
- dotSizeClasses[size2],
3254
+ dotSizeClasses[size],
3255
3255
  "rounded-full",
3256
3256
  dotClassName || "bg-ods-text-primary"
3257
3257
  ),
@@ -3265,7 +3265,7 @@ var ChatTypingIndicator = React7.forwardRef(
3265
3265
  "div",
3266
3266
  {
3267
3267
  className: cn(
3268
- dotSizeClasses[size2],
3268
+ dotSizeClasses[size],
3269
3269
  "rounded-full",
3270
3270
  dotClassName || "bg-ods-text-primary"
3271
3271
  ),
@@ -3514,12 +3514,12 @@ var ICON_COLORS = {
3514
3514
  facebook: { color: "#1877F2" },
3515
3515
  youtube: { color: "#FF0000" }
3516
3516
  };
3517
- function getDynamicIcon(iconName, size2 = "md", className) {
3517
+ function getDynamicIcon(iconName, size = "md", className) {
3518
3518
  if (!iconName) {
3519
3519
  console.warn("[getDynamicIcon] No iconName provided, using Globe fallback");
3520
- return createElement(Globe, { className: SIZE_CLASSES[size2] });
3520
+ return createElement(Globe, { className: SIZE_CLASSES[size] });
3521
3521
  }
3522
- const sizeClass = SIZE_CLASSES[size2];
3522
+ const sizeClass = SIZE_CLASSES[size];
3523
3523
  const finalClassName = className ? `${sizeClass} ${className}` : sizeClass;
3524
3524
  const canonicalKey = normalizeIconKey(iconName);
3525
3525
  const IconComponent = ICON_REGISTRY[canonicalKey];
@@ -3538,14 +3538,14 @@ function getDynamicIcon(iconName, size2 = "md", className) {
3538
3538
  import { Megaphone as Megaphone2, Bell as Bell2, Info as Info2, Star as Star2, Package as PackageGlyph } from "lucide-react";
3539
3539
  import { jsx as jsx18 } from "react/jsx-runtime";
3540
3540
  function sizedLogo(Logo) {
3541
- return function SizedLogo({ size: size2 = 16, className }) {
3542
- return /* @__PURE__ */ jsx18(Logo, { className, style: { width: size2, height: size2 } });
3541
+ return function SizedLogo({ size = 16, className }) {
3542
+ return /* @__PURE__ */ jsx18(Logo, { className, style: { width: size, height: size } });
3543
3543
  };
3544
3544
  }
3545
3545
  var OpenmspLogoIcon = sizedLogo(OpenmspLogo);
3546
3546
  var FlamingoLogoIcon = sizedLogo(FlamingoLogo);
3547
3547
  function LogoOpenframeIcon({
3548
- size: size2 = 16,
3548
+ size = 16,
3549
3549
  className,
3550
3550
  color
3551
3551
  }) {
@@ -3556,7 +3556,7 @@ function LogoOpenframeIcon({
3556
3556
  className,
3557
3557
  lowerPathColor: tint,
3558
3558
  upperPathColor: tint,
3559
- style: { width: size2, height: size2 }
3559
+ style: { width: size, height: size }
3560
3560
  }
3561
3561
  );
3562
3562
  }
@@ -6907,7 +6907,7 @@ import { jsx as jsx37 } from "react/jsx-runtime";
6907
6907
  var BRAND_MARK_NAMES = /* @__PURE__ */ new Set(["fae", "mingo"]);
6908
6908
  function EntityIcon({
6909
6909
  icon,
6910
- size: size2 = 20,
6910
+ size = 20,
6911
6911
  className
6912
6912
  }) {
6913
6913
  if (icon?.url) {
@@ -6916,8 +6916,8 @@ function EntityIcon({
6916
6916
  {
6917
6917
  src: icon.url,
6918
6918
  alt: "",
6919
- width: size2,
6920
- height: size2,
6919
+ width: size,
6920
+ height: size,
6921
6921
  className,
6922
6922
  style: { objectFit: "contain" }
6923
6923
  }
@@ -6928,13 +6928,13 @@ function EntityIcon({
6928
6928
  "span",
6929
6929
  {
6930
6930
  className: `inline-flex${className ? ` ${className}` : ""}`,
6931
- style: className ? void 0 : { width: size2, height: size2 },
6931
+ style: className ? void 0 : { width: size, height: size },
6932
6932
  children: /* @__PURE__ */ jsx37(AgentMark, { agent: icon.name, className: "w-full h-full" })
6933
6933
  }
6934
6934
  );
6935
6935
  }
6936
6936
  const Glyph = resolveIcon(icon?.name ?? void 0);
6937
- return /* @__PURE__ */ jsx37(Glyph, { size: size2, className, ...icon?.props ?? {} });
6937
+ return /* @__PURE__ */ jsx37(Glyph, { size, className, ...icon?.props ?? {} });
6938
6938
  }
6939
6939
 
6940
6940
  // src/components/chat/guide-welcome.tsx
@@ -7143,9 +7143,7 @@ var TooltipContent = React16.forwardRef(({ className, sideOffset = 4, ...props }
7143
7143
  ref,
7144
7144
  sideOffset,
7145
7145
  className: cn(
7146
- // `max-h` uses Radix's available-height var so tall content scrolls inside
7147
- // the tooltip instead of overflowing off-screen (only engages on overflow).
7148
- "z-[1400] max-h-[var(--radix-popper-available-height)] overflow-y-auto rounded-md bg-ods-card border border-ods-border px-3 py-2 text-sm text-ods-text-primary shadow-lg animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
7146
+ "z-[1400] rounded-md bg-ods-card border border-ods-border px-3 py-2 text-sm text-ods-text-primary shadow-lg animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
7149
7147
  className
7150
7148
  ),
7151
7149
  ...props
@@ -7685,10 +7683,10 @@ function ChatAttachmentAddButton({
7685
7683
  attachmentsCount,
7686
7684
  onAddFiles,
7687
7685
  disabled = false,
7688
- size: size2 = "default"
7686
+ size = "default"
7689
7687
  }) {
7690
7688
  const fileInputRef = useRef12(null);
7691
- const compact = size2 === "compact";
7689
+ const compact = size === "compact";
7692
7690
  const boxClass = compact ? "h-6 w-6" : "h-7 w-7";
7693
7691
  if (!attachmentsEnabled) {
7694
7692
  return /* @__PURE__ */ jsx48("span", { "aria-hidden": "true", className: cn("inline-block shrink-0", boxClass) });
@@ -7740,25 +7738,25 @@ function ChatAttachmentChipStrip({
7740
7738
  attachments,
7741
7739
  onRemove,
7742
7740
  disabled = false,
7743
- size: size2 = "default"
7741
+ size = "default"
7744
7742
  }) {
7745
7743
  if (attachments.length === 0) return null;
7746
- const compact = size2 === "compact";
7744
+ const compact = size === "compact";
7747
7745
  return /* @__PURE__ */ jsx48("div", { className: cn("flex-shrink-0", compact ? "px-3 pb-1.5" : "px-5 pb-2"), children: /* @__PURE__ */ jsx48("div", { className: cn("flex items-center flex-wrap", compact ? "gap-1.5" : "gap-2"), children: attachments.map((att) => /* @__PURE__ */ jsx48(
7748
7746
  AttachmentChip,
7749
7747
  {
7750
7748
  attachment: att,
7751
7749
  onRemove: () => onRemove(att.id),
7752
7750
  disabled,
7753
- size: size2
7751
+ size
7754
7752
  },
7755
7753
  att.id
7756
7754
  )) }) });
7757
7755
  }
7758
- function AttachmentChip({ attachment, onRemove, disabled, size: size2 = "default" }) {
7756
+ function AttachmentChip({ attachment, onRemove, disabled, size = "default" }) {
7759
7757
  const { file, status, progress, errorMessage } = attachment;
7760
7758
  const isImage = ANTHROPIC_SUPPORTED_IMAGE_MIME.includes(file.type);
7761
- const compact = size2 === "compact";
7759
+ const compact = size === "compact";
7762
7760
  const blobUrl = useObjectUrl(isImage ? file : null);
7763
7761
  return /* @__PURE__ */ jsxs40(
7764
7762
  "div",
@@ -8823,12 +8821,12 @@ init_cn();
8823
8821
 
8824
8822
  // src/components/flamingo-logo.tsx
8825
8823
  import { jsx as jsx59 } from "react/jsx-runtime";
8826
- function FlamingoLogo2({ className = "", color = "var(--ods-flamingo-pink-base)", size: size2 = 120, ...props }) {
8824
+ function FlamingoLogo2({ className = "", color = "var(--ods-flamingo-pink-base)", size = 120, ...props }) {
8827
8825
  return /* @__PURE__ */ jsx59(
8828
8826
  "svg",
8829
8827
  {
8830
- width: size2,
8831
- height: size2,
8828
+ width: size,
8829
+ height: size,
8832
8830
  viewBox: "0 0 121 120",
8833
8831
  xmlns: "http://www.w3.org/2000/svg",
8834
8832
  className,
@@ -8974,7 +8972,7 @@ var platformColors = {
8974
8972
  };
8975
8973
  var PlatformIcon = ({ platform, className }) => {
8976
8974
  const sizeMatch = className.match(/h-(\d+)/);
8977
- const size2 = sizeMatch ? parseInt(sizeMatch[1]) * 4 : 16;
8975
+ const size = sizeMatch ? parseInt(sizeMatch[1]) * 4 : 16;
8978
8976
  switch (platform) {
8979
8977
  case "openmsp":
8980
8978
  return /* @__PURE__ */ jsx61(OpenmspLogo2, { className, frontBubbleColor: "currentColor", innerFrontBubbleColor: "#000000", backBubbleColor: "currentColor" });
@@ -8984,7 +8982,7 @@ var PlatformIcon = ({ platform, className }) => {
8984
8982
  case "openframe":
8985
8983
  return /* @__PURE__ */ jsx61(OpenFrameLogo, { className });
8986
8984
  case "tmcg":
8987
- return /* @__PURE__ */ jsx61(MiamiCyberGangLogoFaceOnly, { size: size2, className });
8985
+ return /* @__PURE__ */ jsx61(MiamiCyberGangLogoFaceOnly, { size, className });
8988
8986
  case "company-hub":
8989
8987
  case "marketing-hub":
8990
8988
  case "product-hub":
@@ -8997,14 +8995,14 @@ var PlatformIcon = ({ platform, className }) => {
8997
8995
  };
8998
8996
  function PlatformBadge({
8999
8997
  platform,
9000
- size: size2 = "sm",
8998
+ size = "sm",
9001
8999
  showLabel = true,
9002
9000
  className
9003
9001
  }) {
9004
9002
  if (!platform) {
9005
9003
  return null;
9006
9004
  }
9007
- const sizes = sizeClasses[size2];
9005
+ const sizes = sizeClasses[size];
9008
9006
  const colors = platformColors[platform.name] || platformColors.universal;
9009
9007
  return /* @__PURE__ */ jsxs48(
9010
9008
  "div",
@@ -10040,7 +10038,7 @@ function ProductReleaseCard({
10040
10038
  onClick,
10041
10039
  anchorProps,
10042
10040
  className,
10043
- size: size2 = "lg",
10041
+ size = "lg",
10044
10042
  coverImage,
10045
10043
  hasVideoCover,
10046
10044
  releaseType,
@@ -10050,7 +10048,7 @@ function ProductReleaseCard({
10050
10048
  author,
10051
10049
  changelogCounts
10052
10050
  }) {
10053
- if (size2 === "lg") {
10051
+ if (size === "lg") {
10054
10052
  const totalChangelog = (changelogCounts?.features ?? 0) + (changelogCounts?.fixes ?? 0) + (changelogCounts?.improvements ?? 0) + (changelogCounts?.breaking ?? 0);
10055
10053
  const valueCells = [
10056
10054
  releaseType && releaseTypeBadgeColor ? {
@@ -10215,7 +10213,7 @@ function ProductReleaseCard({
10215
10213
  }
10216
10214
  );
10217
10215
  }
10218
- if (size2 === "sm") {
10216
+ if (size === "sm") {
10219
10217
  const handleKey = (e) => {
10220
10218
  if (!onClick) return;
10221
10219
  if (e.key === "Enter" || e.key === " ") {
@@ -10279,14 +10277,14 @@ function ProductReleaseCard({
10279
10277
  }
10280
10278
  );
10281
10279
  }
10282
- throw new Error(`ProductReleaseCard: unsupported size '${size2}'`);
10280
+ throw new Error(`ProductReleaseCard: unsupported size '${size}'`);
10283
10281
  }
10284
10282
 
10285
10283
  // src/components/shared/product-release/product-release-card-skeleton.tsx
10286
10284
  init_cn();
10287
10285
  import { jsx as jsx75, jsxs as jsxs58 } from "react/jsx-runtime";
10288
- function ProductReleaseCardSkeleton({ className, size: size2 = "lg" }) {
10289
- if (size2 === "lg") {
10286
+ function ProductReleaseCardSkeleton({ className, size = "lg" }) {
10287
+ if (size === "lg") {
10290
10288
  return /* @__PURE__ */ jsxs58(
10291
10289
  "div",
10292
10290
  {
@@ -10337,7 +10335,7 @@ function ProductReleaseCardSkeleton({ className, size: size2 = "lg" }) {
10337
10335
  }
10338
10336
  );
10339
10337
  }
10340
- if (size2 === "sm") {
10338
+ if (size === "sm") {
10341
10339
  return /* @__PURE__ */ jsxs58(
10342
10340
  "span",
10343
10341
  {
@@ -10360,7 +10358,7 @@ function ProductReleaseCardSkeleton({ className, size: size2 = "lg" }) {
10360
10358
  }
10361
10359
  );
10362
10360
  }
10363
- throw new Error(`ProductReleaseCardSkeleton: unsupported size '${size2}'`);
10361
+ throw new Error(`ProductReleaseCardSkeleton: unsupported size '${size}'`);
10364
10362
  }
10365
10363
 
10366
10364
  // src/utils/date-formatters.ts
@@ -10562,8 +10560,8 @@ function safeHref(url) {
10562
10560
 
10563
10561
  // src/components/chat/entity-cards/blog-card.tsx
10564
10562
  import { Fragment as Fragment19, jsx as jsx76, jsxs as jsxs59 } from "react/jsx-runtime";
10565
- function BlogCardSkeleton({ size: size2 = "default" }) {
10566
- if (size2 === "sm") {
10563
+ function BlogCardSkeleton({ size = "default" }) {
10564
+ if (size === "sm") {
10567
10565
  return /* @__PURE__ */ jsxs59("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
10568
10566
  /* @__PURE__ */ jsx76("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
10569
10567
  /* @__PURE__ */ jsxs59("span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -10594,7 +10592,7 @@ function BlogCard({
10594
10592
  rel: relProp,
10595
10593
  targetPlatform,
10596
10594
  placeholderUrl: placeholderUrlProp,
10597
- size: size2 = "default",
10595
+ size = "default",
10598
10596
  className,
10599
10597
  hasEmbeddedVideo = false,
10600
10598
  priority = false
@@ -10608,11 +10606,11 @@ function BlogCard({
10608
10606
  const placeholderUrl = useEntityCardPlaceholder({
10609
10607
  title: post.title,
10610
10608
  placeholderUrl: placeholderUrlProp,
10611
- aspect: size2 === "sm" ? "square" : "wide"
10609
+ aspect: size === "sm" ? "square" : "wide"
10612
10610
  });
10613
10611
  const [imageError, setImageError] = useState22(false);
10614
10612
  const displayImage = post.featured_image && !imageError ? post.featured_image : placeholderUrl;
10615
- if (size2 === "sm") {
10613
+ if (size === "sm") {
10616
10614
  const dateStr2 = post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric", timeZone: "UTC" }) : "";
10617
10615
  const firstCategory = post.categories?.find((c) => c && c.name)?.name;
10618
10616
  return /* @__PURE__ */ jsxs59(
@@ -10766,8 +10764,8 @@ var hideOnError = (e) => {
10766
10764
  ;
10767
10765
  e.currentTarget.style.display = "none";
10768
10766
  };
10769
- function CaseStudyCardSkeleton({ size: size2 = "default" }) {
10770
- if (size2 === "sm") {
10767
+ function CaseStudyCardSkeleton({ size = "default" }) {
10768
+ if (size === "sm") {
10771
10769
  return /* @__PURE__ */ jsxs60("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
10772
10770
  /* @__PURE__ */ jsx77("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
10773
10771
  /* @__PURE__ */ jsxs60("span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -10799,7 +10797,7 @@ function CaseStudyCard({
10799
10797
  rel: relProp,
10800
10798
  targetPlatform,
10801
10799
  placeholderUrl: placeholderUrlProp,
10802
- size: size2 = "default",
10800
+ size = "default",
10803
10801
  className
10804
10802
  }) {
10805
10803
  const { target, rel } = useEntityCardLink({
@@ -10811,10 +10809,10 @@ function CaseStudyCard({
10811
10809
  const placeholderUrl = useEntityCardPlaceholder({
10812
10810
  title: study.title,
10813
10811
  placeholderUrl: placeholderUrlProp,
10814
- aspect: size2 === "sm" ? "square" : "wide"
10812
+ aspect: size === "sm" ? "square" : "wide"
10815
10813
  });
10816
10814
  const coverImage = study.featured_image || placeholderUrl || null;
10817
- if (size2 === "sm") {
10815
+ if (size === "sm") {
10818
10816
  return /* @__PURE__ */ jsxs60("a", { href, target, rel, className: cn(COMPACT_CARD_OUTER, className), children: [
10819
10817
  /* @__PURE__ */ jsx77("span", { className: COMPACT_CARD_IMAGE_SLOT, children: coverImage ? /* @__PURE__ */ jsx77(
10820
10818
  "img",
@@ -10893,8 +10891,8 @@ var hideOnError2 = (e) => {
10893
10891
  ;
10894
10892
  e.currentTarget.style.display = "none";
10895
10893
  };
10896
- function CustomerInterviewCardSkeleton({ size: size2 = "default" }) {
10897
- if (size2 === "sm") {
10894
+ function CustomerInterviewCardSkeleton({ size = "default" }) {
10895
+ if (size === "sm") {
10898
10896
  return /* @__PURE__ */ jsxs61("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
10899
10897
  /* @__PURE__ */ jsx78("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
10900
10898
  /* @__PURE__ */ jsxs61("span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -10931,7 +10929,7 @@ function CustomerInterviewCard({
10931
10929
  rel: relProp,
10932
10930
  targetPlatform,
10933
10931
  placeholderUrl: placeholderUrlProp,
10934
- size: size2 = "default",
10932
+ size = "default",
10935
10933
  className
10936
10934
  }) {
10937
10935
  const { target, rel } = useEntityCardLink({
@@ -10943,10 +10941,10 @@ function CustomerInterviewCard({
10943
10941
  const placeholderUrl = useEntityCardPlaceholder({
10944
10942
  title: interview.title,
10945
10943
  placeholderUrl: placeholderUrlProp,
10946
- aspect: size2 === "sm" ? "square" : "wide"
10944
+ aspect: size === "sm" ? "square" : "wide"
10947
10945
  });
10948
10946
  const thumbnailUrl = interview.featured_image || placeholderUrl || null;
10949
- if (size2 === "sm") {
10947
+ if (size === "sm") {
10950
10948
  return /* @__PURE__ */ jsxs61("a", { href, target, rel, className: cn(COMPACT_CARD_OUTER, className), children: [
10951
10949
  /* @__PURE__ */ jsxs61("span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
10952
10950
  thumbnailUrl ? /* @__PURE__ */ jsx78(
@@ -11034,8 +11032,8 @@ function formatInvestorUpdatePeriod(start, end, options) {
11034
11032
 
11035
11033
  // src/components/chat/entity-cards/investor-update-card.tsx
11036
11034
  import { jsx as jsx79, jsxs as jsxs62 } from "react/jsx-runtime";
11037
- function InvestorUpdateCardSkeleton({ size: size2 = "default" }) {
11038
- if (size2 === "sm") {
11035
+ function InvestorUpdateCardSkeleton({ size = "default" }) {
11036
+ if (size === "sm") {
11039
11037
  return /* @__PURE__ */ jsxs62("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
11040
11038
  /* @__PURE__ */ jsx79("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
11041
11039
  /* @__PURE__ */ jsxs62("span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -11065,7 +11063,7 @@ function InvestorUpdateCard({
11065
11063
  rel: relProp,
11066
11064
  targetPlatform,
11067
11065
  placeholderUrl: placeholderUrlProp,
11068
- size: size2 = "default",
11066
+ size = "default",
11069
11067
  className
11070
11068
  }) {
11071
11069
  const { target, rel } = useEntityCardLink({
@@ -11077,10 +11075,10 @@ function InvestorUpdateCard({
11077
11075
  const placeholderUrl = useEntityCardPlaceholder({
11078
11076
  title: update.title ?? `Update #${update.update_number ?? ""}`,
11079
11077
  placeholderUrl: placeholderUrlProp,
11080
- aspect: size2 === "sm" ? "square" : "wide"
11078
+ aspect: size === "sm" ? "square" : "wide"
11081
11079
  });
11082
11080
  const coverImage = update.featured_image || placeholderUrl || null;
11083
- if (size2 === "sm") {
11081
+ if (size === "sm") {
11084
11082
  const periodText = formatInvestorUpdatePeriod(update.period_start, update.period_end);
11085
11083
  return /* @__PURE__ */ jsxs62("a", { href, target, rel, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: [
11086
11084
  /* @__PURE__ */ jsx79("span", { className: COMPACT_CARD_IMAGE_SLOT, children: coverImage ? /* @__PURE__ */ jsx79(
@@ -11143,8 +11141,8 @@ var HORIZONTAL_SIZE_TOKENS = {
11143
11141
  summaryClamp: "line-clamp-2"
11144
11142
  }
11145
11143
  };
11146
- function OnboardingGuideCardSkeleton({ size: size2 = "default" }) {
11147
- if (size2 === "catalog") {
11144
+ function OnboardingGuideCardSkeleton({ size = "default" }) {
11145
+ if (size === "catalog") {
11148
11146
  return /* @__PURE__ */ jsxs63("div", { className: "bg-ods-system-greys-black border border-ods-border rounded-lg overflow-hidden flex flex-col p-6 gap-4 animate-pulse", children: [
11149
11147
  /* @__PURE__ */ jsxs63("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
11150
11148
  /* @__PURE__ */ jsx80("div", { className: "w-full md:w-[256px] aspect-[1200/630] bg-ods-border rounded-lg flex-shrink-0" }),
@@ -11181,7 +11179,7 @@ function OnboardingGuideCardSkeleton({ size: size2 = "default" }) {
11181
11179
  ] })
11182
11180
  ] });
11183
11181
  }
11184
- if (size2 === "sm") {
11182
+ if (size === "sm") {
11185
11183
  return /* @__PURE__ */ jsxs63("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
11186
11184
  /* @__PURE__ */ jsx80("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
11187
11185
  /* @__PURE__ */ jsxs63("span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -11215,7 +11213,7 @@ function OnboardingGuideCard({
11215
11213
  rel: relProp,
11216
11214
  targetPlatform,
11217
11215
  placeholderUrl: placeholderUrlProp,
11218
- size: size2 = "default",
11216
+ size = "default",
11219
11217
  className
11220
11218
  }) {
11221
11219
  const { target, rel } = useEntityCardLink({
@@ -11227,9 +11225,9 @@ function OnboardingGuideCard({
11227
11225
  const placeholderUrl = useEntityCardPlaceholder({
11228
11226
  title: guide.title,
11229
11227
  placeholderUrl: placeholderUrlProp,
11230
- aspect: size2 === "sm" ? "square" : "wide"
11228
+ aspect: size === "sm" ? "square" : "wide"
11231
11229
  });
11232
- if (size2 === "catalog") {
11230
+ if (size === "catalog") {
11233
11231
  const coverImage = guide.featured_image || guide.main_video_thumbnail || guide.og_image_url || null;
11234
11232
  const hasVideoCover = !!(guide.main_video_thumbnail || guide.highlight_video_thumbnail);
11235
11233
  const stepLabel = typeof guide.step_order === "number" ? String(guide.step_order).padStart(2, "0") : "\u2014";
@@ -11301,7 +11299,7 @@ function OnboardingGuideCard({
11301
11299
  }
11302
11300
  );
11303
11301
  }
11304
- if (size2 === "sm") {
11302
+ if (size === "sm") {
11305
11303
  const coverImage = guide.featured_image || guide.main_video_thumbnail || guide.og_image_url || null;
11306
11304
  const compactCover = coverImage || placeholderUrl || null;
11307
11305
  const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
@@ -15684,7 +15682,7 @@ function useResizableSize({
15684
15682
  return clampToViewport(defaultSize);
15685
15683
  }
15686
15684
  }, [enabled, storageKey, defaultSize, clampToViewport]);
15687
- const [size2, setSizeRaw] = React58.useState(readInitial);
15685
+ const [size, setSizeRaw] = React58.useState(readInitial);
15688
15686
  const setSize = React58.useCallback(
15689
15687
  (next) => setSizeRaw(clampToViewport(next)),
15690
15688
  [clampToViewport]
@@ -15692,21 +15690,21 @@ function useResizableSize({
15692
15690
  React58.useEffect(() => {
15693
15691
  if (!enabled || !storageKey || typeof window === "undefined") return;
15694
15692
  try {
15695
- window.localStorage.setItem(storageKey, String(Math.round(size2)));
15693
+ window.localStorage.setItem(storageKey, String(Math.round(size)));
15696
15694
  } catch {
15697
15695
  }
15698
- }, [enabled, size2, storageKey]);
15696
+ }, [enabled, size, storageKey]);
15699
15697
  React58.useEffect(() => {
15700
15698
  if (!enabled || typeof window === "undefined") return;
15701
15699
  const onResize = () => setSizeRaw((prev) => clampToViewport(prev));
15702
15700
  window.addEventListener("resize", onResize);
15703
15701
  return () => window.removeEventListener("resize", onResize);
15704
15702
  }, [enabled, clampToViewport]);
15705
- return { size: size2, setSize };
15703
+ return { size, setSize };
15706
15704
  }
15707
15705
  function DrawerResizeHandle({
15708
15706
  side,
15709
- size: size2,
15707
+ size,
15710
15708
  minSize,
15711
15709
  maxSize,
15712
15710
  onSize,
@@ -15720,7 +15718,7 @@ function DrawerResizeHandle({
15720
15718
  const handlePointerDown = (e) => {
15721
15719
  if (e.button !== 0 && e.pointerType === "mouse") return;
15722
15720
  e.preventDefault();
15723
- startRef.current = { x: e.clientX, y: e.clientY, size: size2 };
15721
+ startRef.current = { x: e.clientX, y: e.clientY, size };
15724
15722
  e.currentTarget.setPointerCapture(e.pointerId);
15725
15723
  document.body.style.cursor = isHorizontal ? "col-resize" : "row-resize";
15726
15724
  document.body.style.userSelect = "none";
@@ -15746,18 +15744,18 @@ function DrawerResizeHandle({
15746
15744
  if (isHorizontal) {
15747
15745
  if (e.key === "ArrowLeft") {
15748
15746
  e.preventDefault();
15749
- onSize(size2 + step * (side === "right" ? 1 : -1));
15747
+ onSize(size + step * (side === "right" ? 1 : -1));
15750
15748
  } else if (e.key === "ArrowRight") {
15751
15749
  e.preventDefault();
15752
- onSize(size2 + step * (side === "right" ? -1 : 1));
15750
+ onSize(size + step * (side === "right" ? -1 : 1));
15753
15751
  }
15754
15752
  } else {
15755
15753
  if (e.key === "ArrowUp") {
15756
15754
  e.preventDefault();
15757
- onSize(size2 + step * (side === "bottom" ? 1 : -1));
15755
+ onSize(size + step * (side === "bottom" ? 1 : -1));
15758
15756
  } else if (e.key === "ArrowDown") {
15759
15757
  e.preventDefault();
15760
- onSize(size2 + step * (side === "bottom" ? -1 : 1));
15758
+ onSize(size + step * (side === "bottom" ? -1 : 1));
15761
15759
  }
15762
15760
  }
15763
15761
  if (e.key === "Home") {
@@ -15777,7 +15775,7 @@ function DrawerResizeHandle({
15777
15775
  role: "separator",
15778
15776
  tabIndex: 0,
15779
15777
  "aria-orientation": isHorizontal ? "vertical" : "horizontal",
15780
- "aria-valuenow": Math.round(size2),
15778
+ "aria-valuenow": Math.round(size),
15781
15779
  "aria-valuemin": minSize,
15782
15780
  "aria-valuemax": maxSize,
15783
15781
  "aria-label": ariaLabel ?? (isHorizontal ? "Resize panel width" : "Resize panel height"),
@@ -15838,7 +15836,7 @@ var DrawerContent = React58.forwardRef(
15838
15836
  mq.addEventListener("change", update);
15839
15837
  return () => mq.removeEventListener("change", update);
15840
15838
  }, [mobileBreakpoint]);
15841
- const { size: size2, setSize } = useResizableSize({
15839
+ const { size, setSize } = useResizableSize({
15842
15840
  enabled: resizable,
15843
15841
  isHorizontal,
15844
15842
  minSize,
@@ -15847,7 +15845,7 @@ var DrawerContent = React58.forwardRef(
15847
15845
  storageKey
15848
15846
  });
15849
15847
  const applyInlineSize = resizable && !isMobile;
15850
- const sizeStyle = applyInlineSize ? isHorizontal ? { width: size2 } : { height: size2 } : {};
15848
+ const sizeStyle = applyInlineSize ? isHorizontal ? { width: size } : { height: size } : {};
15851
15849
  return /* @__PURE__ */ jsxs91(DrawerPortal, { children: [
15852
15850
  /* @__PURE__ */ jsx115(DrawerOverlay, { className: overlayClassName }),
15853
15851
  /* @__PURE__ */ jsxs91(
@@ -15862,7 +15860,7 @@ var DrawerContent = React58.forwardRef(
15862
15860
  DrawerResizeHandle,
15863
15861
  {
15864
15862
  side: resolvedSide,
15865
- size: size2,
15863
+ size,
15866
15864
  minSize,
15867
15865
  maxSize,
15868
15866
  onSize: setSize,
@@ -16420,7 +16418,6 @@ function TabNavigation({
16420
16418
  }
16421
16419
  };
16422
16420
  const scrollRef = useRef21(null);
16423
- const activeTabRef = useRef21(null);
16424
16421
  const [canScrollLeft, setCanScrollLeft] = useState35(false);
16425
16422
  const [canScrollRight, setCanScrollRight] = useState35(false);
16426
16423
  const updateScrollShadows = useCallback17(() => {
@@ -16433,38 +16430,14 @@ function TabNavigation({
16433
16430
  const el = scrollRef.current;
16434
16431
  if (!el) return;
16435
16432
  updateScrollShadows();
16436
- const onWheel = (e) => {
16437
- if (e.deltaX !== 0 || e.ctrlKey) return;
16438
- if (el.scrollWidth <= el.clientWidth) return;
16439
- const delta = e.deltaMode === 1 ? e.deltaY * 40 : e.deltaMode === 2 ? e.deltaY * el.clientWidth : e.deltaY;
16440
- const canGoRight = el.scrollLeft + el.clientWidth < el.scrollWidth - 1;
16441
- const canGoLeft = el.scrollLeft > 0;
16442
- if (delta > 0 && !canGoRight || delta < 0 && !canGoLeft) return;
16443
- el.scrollLeft += delta;
16444
- e.preventDefault();
16445
- };
16446
16433
  el.addEventListener("scroll", updateScrollShadows, { passive: true });
16447
- el.addEventListener("wheel", onWheel, { passive: false });
16448
16434
  const ro = new ResizeObserver(updateScrollShadows);
16449
16435
  ro.observe(el);
16450
16436
  return () => {
16451
16437
  el.removeEventListener("scroll", updateScrollShadows);
16452
- el.removeEventListener("wheel", onWheel);
16453
16438
  ro.disconnect();
16454
16439
  };
16455
16440
  }, [updateScrollShadows]);
16456
- useEffect26(() => {
16457
- const el = scrollRef.current;
16458
- const active = activeTabRef.current;
16459
- if (!el || !active) return;
16460
- const elRect = el.getBoundingClientRect();
16461
- const aRect = active.getBoundingClientRect();
16462
- if (aRect.left < elRect.left) {
16463
- el.scrollBy({ left: aRect.left - elRect.left, behavior: "smooth" });
16464
- } else if (aRect.right > elRect.right) {
16465
- el.scrollBy({ left: aRect.right - elRect.right, behavior: "smooth" });
16466
- }
16467
- }, [activeTab]);
16468
16441
  const leftFade = canScrollLeft || showLeftGradient;
16469
16442
  const rightFade = canScrollRight || showRightGradient;
16470
16443
  const borderStyle = (() => {
@@ -16487,7 +16460,6 @@ function TabNavigation({
16487
16460
  return /* @__PURE__ */ jsxs97(
16488
16461
  "button",
16489
16462
  {
16490
- ref: isActive ? activeTabRef : void 0,
16491
16463
  type: "button",
16492
16464
  onClick: () => handleTabChange(tab.id),
16493
16465
  className: cn(
@@ -16520,8 +16492,8 @@ function TabNavigation({
16520
16492
  tab.id
16521
16493
  );
16522
16494
  }) }),
16523
- leftFade && /* @__PURE__ */ jsx121("div", { className: cn("absolute left-0 top-0 bottom-0 w-10 pointer-events-none bg-gradient-to-r to-transparent", shadowClassName || "from-ods-bg") }),
16524
- rightFade && /* @__PURE__ */ jsx121("div", { className: cn("absolute right-0 top-0 bottom-0 w-10 pointer-events-none bg-gradient-to-l to-transparent", shadowClassName || "from-ods-bg") }),
16495
+ leftFade && /* @__PURE__ */ jsx121("div", { className: cn("absolute left-0 top-0 w-10 h-14 pointer-events-none bg-gradient-to-r to-transparent", shadowClassName || "from-ods-bg") }),
16496
+ rightFade && /* @__PURE__ */ jsx121("div", { className: cn("absolute right-0 top-0 w-10 h-14 pointer-events-none bg-gradient-to-l to-transparent", shadowClassName || "from-ods-bg") }),
16525
16497
  /* @__PURE__ */ jsx121("div", { className: "absolute bottom-0 left-0 right-0 h-px pointer-events-none", style: borderStyle })
16526
16498
  ] }),
16527
16499
  children && children(activeTab)
@@ -17144,7 +17116,7 @@ var EMBED_SIZES = {
17144
17116
  // 512px - Balanced width for cards
17145
17117
  };
17146
17118
  function EmbedContainer({
17147
- size: size2,
17119
+ size,
17148
17120
  children,
17149
17121
  className = ""
17150
17122
  }) {
@@ -17153,7 +17125,7 @@ function EmbedContainer({
17153
17125
  "bg-ods-card border border-ods-border",
17154
17126
  "transition-all duration-200 ease-in-out",
17155
17127
  "hover:border-ods-accent/30 hover:shadow-lg hover:shadow-ods-accent/10",
17156
- EMBED_SIZES[size2],
17128
+ EMBED_SIZES[size],
17157
17129
  className
17158
17130
  ), children });
17159
17131
  }
@@ -17853,8 +17825,8 @@ function getDomain(urlStr) {
17853
17825
  function domainToTitle(domain) {
17854
17826
  return domain.split(".")[0].replace(/-/g, " ").replace(/\b\w/g, (c) => c.toUpperCase());
17855
17827
  }
17856
- var ExternalLinkIcon4 = ({ size: size2 = 16 }) => /* @__PURE__ */ jsx131("svg", { width: size2, height: size2, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", className: "text-ods-text-secondary group-hover:text-ods-accent transition-colors flex-shrink-0", children: /* @__PURE__ */ jsx131("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" }) });
17857
- var Favicon = ({ src, size: size2 = "w-6 h-6" }) => /* @__PURE__ */ jsx131("img", { src, alt: "", className: size2, onError: (e) => {
17828
+ var ExternalLinkIcon4 = ({ size = 16 }) => /* @__PURE__ */ jsx131("svg", { width: size, height: size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", className: "text-ods-text-secondary group-hover:text-ods-accent transition-colors flex-shrink-0", children: /* @__PURE__ */ jsx131("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" }) });
17829
+ var Favicon = ({ src, size = "w-6 h-6" }) => /* @__PURE__ */ jsx131("img", { src, alt: "", className: size, onError: (e) => {
17858
17830
  e.target.style.display = "none";
17859
17831
  } });
17860
17832
  var OGLinkPreview = ({
@@ -20666,11 +20638,11 @@ var toggleVariants = cva10(
20666
20638
  }
20667
20639
  }
20668
20640
  );
20669
- var Toggle = React74.forwardRef(({ className, variant, size: size2, ...props }, ref) => /* @__PURE__ */ jsx152(
20641
+ var Toggle = React74.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx152(
20670
20642
  TogglePrimitive.Root,
20671
20643
  {
20672
20644
  ref,
20673
- className: cn(toggleVariants({ variant, size: size2, className })),
20645
+ className: cn(toggleVariants({ variant, size, className })),
20674
20646
  ...props
20675
20647
  }
20676
20648
  ));
@@ -20682,17 +20654,17 @@ var ToggleGroupContext = React75.createContext({
20682
20654
  size: "default",
20683
20655
  variant: "default"
20684
20656
  });
20685
- var ToggleGroup = React75.forwardRef(({ className, variant, size: size2, children, ...props }, ref) => /* @__PURE__ */ jsx153(
20657
+ var ToggleGroup = React75.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx153(
20686
20658
  ToggleGroupPrimitive.Root,
20687
20659
  {
20688
20660
  ref,
20689
20661
  className: cn("flex items-center justify-center gap-1", className),
20690
20662
  ...props,
20691
- children: /* @__PURE__ */ jsx153(ToggleGroupContext.Provider, { value: { variant, size: size2 }, children })
20663
+ children: /* @__PURE__ */ jsx153(ToggleGroupContext.Provider, { value: { variant, size }, children })
20692
20664
  }
20693
20665
  ));
20694
20666
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
20695
- var ToggleGroupItem = React75.forwardRef(({ className, children, variant, size: size2, value, ...props }, ref) => {
20667
+ var ToggleGroupItem = React75.forwardRef(({ className, children, variant, size, value, ...props }, ref) => {
20696
20668
  const context = React75.useContext(ToggleGroupContext);
20697
20669
  return /* @__PURE__ */ jsx153(
20698
20670
  ToggleGroupPrimitive.Item,
@@ -20702,7 +20674,7 @@ var ToggleGroupItem = React75.forwardRef(({ className, children, variant, size:
20702
20674
  className: cn(
20703
20675
  toggleVariants({
20704
20676
  variant: context.variant || variant,
20705
- size: context.size || size2
20677
+ size: context.size || size
20706
20678
  }),
20707
20679
  className
20708
20680
  ),
@@ -22706,7 +22678,7 @@ import * as React78 from "react";
22706
22678
  import { ChevronUp as ChevronUp2, ChevronDown as ChevronDown5 } from "lucide-react";
22707
22679
  import { jsx as jsx158 } from "react/jsx-runtime";
22708
22680
  var ChevronButton = React78.forwardRef(
22709
- ({ className, direction = "down", size: size2 = "md", isExpanded, backgroundColor, borderColor, ...props }, ref) => {
22681
+ ({ className, direction = "down", size = "md", isExpanded, backgroundColor, borderColor, ...props }, ref) => {
22710
22682
  const Icon2 = (isExpanded ? ChevronUp2 : ChevronDown5) || (direction === "up" ? ChevronUp2 : ChevronDown5);
22711
22683
  const sizeClasses2 = {
22712
22684
  sm: "h-4 w-4",
@@ -22727,7 +22699,7 @@ var ChevronButton = React78.forwardRef(
22727
22699
  },
22728
22700
  ref,
22729
22701
  ...props,
22730
- children: /* @__PURE__ */ jsx158(Icon2, { className: sizeClasses2[size2] })
22702
+ children: /* @__PURE__ */ jsx158(Icon2, { className: sizeClasses2[size] })
22731
22703
  }
22732
22704
  );
22733
22705
  }
@@ -22763,7 +22735,7 @@ var variantColors = {
22763
22735
  function CircularProgress({
22764
22736
  percentage,
22765
22737
  variant = "success",
22766
- size: size2 = 56,
22738
+ size = 56,
22767
22739
  strokeWidth = 10,
22768
22740
  showLabel = true,
22769
22741
  labelFormat = "percent",
@@ -22780,23 +22752,23 @@ function CircularProgress({
22780
22752
  ringPercentage = Math.min(100, safePercentage);
22781
22753
  }
22782
22754
  const labelPercentage = isWrap ? safePercentage : Math.min(100, safePercentage);
22783
- const radius = (size2 - strokeWidth) / 2;
22755
+ const radius = (size - strokeWidth) / 2;
22784
22756
  const circumference = radius * 2 * Math.PI;
22785
22757
  const ringOffset = circumference - ringPercentage / 100 * circumference;
22786
22758
  const { progress, track } = variantColors[variant];
22787
- return /* @__PURE__ */ jsxs125("div", { className: cn("relative", className), style: { width: size2, height: size2 }, children: [
22759
+ return /* @__PURE__ */ jsxs125("div", { className: cn("relative", className), style: { width: size, height: size }, children: [
22788
22760
  /* @__PURE__ */ jsxs125(
22789
22761
  "svg",
22790
22762
  {
22791
- width: size2,
22792
- height: size2,
22763
+ width: size,
22764
+ height: size,
22793
22765
  className: "transform -rotate-90",
22794
22766
  children: [
22795
22767
  /* @__PURE__ */ jsx159(
22796
22768
  "circle",
22797
22769
  {
22798
- cx: size2 / 2,
22799
- cy: size2 / 2,
22770
+ cx: size / 2,
22771
+ cy: size / 2,
22800
22772
  r: radius,
22801
22773
  stroke: track,
22802
22774
  strokeWidth,
@@ -22806,8 +22778,8 @@ function CircularProgress({
22806
22778
  /* @__PURE__ */ jsx159(
22807
22779
  "circle",
22808
22780
  {
22809
- cx: size2 / 2,
22810
- cy: size2 / 2,
22781
+ cx: size / 2,
22782
+ cy: size / 2,
22811
22783
  r: radius,
22812
22784
  stroke: progress,
22813
22785
  strokeWidth,
@@ -22821,7 +22793,7 @@ function CircularProgress({
22821
22793
  ]
22822
22794
  }
22823
22795
  ),
22824
- showLabel && /* @__PURE__ */ jsx159("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs125("span", { className: "font-medium text-ods-text-primary", style: { fontSize: size2 <= 40 ? 10 : 12 }, children: [
22796
+ showLabel && /* @__PURE__ */ jsx159("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs125("span", { className: "font-medium text-ods-text-primary", style: { fontSize: size <= 40 ? 10 : 12 }, children: [
22825
22797
  Math.round(labelPercentage),
22826
22798
  labelFormat === "percent" ? "%" : ""
22827
22799
  ] }) })
@@ -22859,7 +22831,6 @@ import {
22859
22831
  offset,
22860
22832
  flip,
22861
22833
  shift,
22862
- size,
22863
22834
  useDismiss,
22864
22835
  useRole,
22865
22836
  useInteractions,
@@ -22917,16 +22888,6 @@ function FloatingTooltip({
22917
22888
  padding: 8
22918
22889
  }),
22919
22890
  shift({ padding: 8 }),
22920
- // Cap the tooltip to the space left in the viewport so tall content
22921
- // scrolls inside it instead of overflowing off-screen. Applied straight to
22922
- // the floating node's style (no React state → no autoUpdate re-render loop);
22923
- // the inner scroll wrapper below turns the cap into an actual scroll area.
22924
- size({
22925
- padding: 8,
22926
- apply({ availableHeight, elements }) {
22927
- elements.floating.style.maxHeight = `${Math.max(64, availableHeight)}px`;
22928
- }
22929
- }),
22930
22891
  arrow({ element: arrowRef })
22931
22892
  ],
22932
22893
  whileElementsMounted: autoUpdate
@@ -22969,16 +22930,17 @@ function FloatingTooltip({
22969
22930
  },
22970
22931
  ...getFloatingProps(),
22971
22932
  className: cn(
22972
- // ODS Design System tooltip styling. `flex flex-col` + `overflow-hidden`
22973
- // let the inner wrapper own the scroll while the rounded corners clip it.
22974
- "max-w-xs flex flex-col overflow-hidden rounded-md",
22933
+ // ODS Design System tooltip styling
22934
+ "max-w-xs overflow-hidden rounded-md",
22975
22935
  "bg-ods-card border border-ods-border",
22936
+ "px-3 py-2.5 text-sm leading-relaxed text-ods-text-primary",
22937
+ "whitespace-pre-line",
22976
22938
  // ODS shadows for proper elevation
22977
22939
  "shadow-[var(--shadow-md)]",
22978
22940
  className
22979
22941
  ),
22980
22942
  children: [
22981
- /* @__PURE__ */ jsx161("div", { className: "min-h-0 overflow-y-auto px-3 py-2.5 text-sm leading-relaxed text-ods-text-primary whitespace-pre-line", children: parsedContent }),
22943
+ parsedContent,
22982
22944
  /* @__PURE__ */ jsx161(
22983
22945
  "div",
22984
22946
  {
@@ -23040,7 +23002,7 @@ function DashboardInfoCard({
23040
23002
  };
23041
23003
  const renderProgress = () => {
23042
23004
  if (!showProgress || percentage === void 0) return null;
23043
- const strokeFor = (size2) => Math.max(2, Math.round(size2 * 10 / 56));
23005
+ const strokeFor = (size) => Math.max(2, Math.round(size * 10 / 56));
23044
23006
  const common = {
23045
23007
  percentage,
23046
23008
  variant: progressVariant,
@@ -23156,7 +23118,7 @@ var OSTypeBadge = ({
23156
23118
  OSTypeBadge.displayName = "OSTypeBadge";
23157
23119
  var OSTypeIcon = ({
23158
23120
  osType,
23159
- size: size2 = "w-4 h-4",
23121
+ size = "w-4 h-4",
23160
23122
  className = ""
23161
23123
  }) => {
23162
23124
  return /* @__PURE__ */ jsx163(
@@ -23164,7 +23126,7 @@ var OSTypeIcon = ({
23164
23126
  {
23165
23127
  osType,
23166
23128
  iconOnly: true,
23167
- iconSize: size2,
23129
+ iconSize: size,
23168
23130
  className
23169
23131
  }
23170
23132
  );
@@ -23609,7 +23571,7 @@ init_cn();
23609
23571
  import * as React81 from "react";
23610
23572
  import { jsx as jsx170 } from "react/jsx-runtime";
23611
23573
  var IconsBlock = React81.forwardRef(
23612
- ({ className, icons = [], size: size2 = "md", ...props }, ref) => {
23574
+ ({ className, icons = [], size = "md", ...props }, ref) => {
23613
23575
  const sizeClasses2 = {
23614
23576
  sm: "h-4 w-4",
23615
23577
  md: "h-6 w-6",
@@ -23629,7 +23591,7 @@ var IconsBlock = React81.forwardRef(
23629
23591
  {
23630
23592
  className: cn(
23631
23593
  "rounded-md bg-secondary p-1",
23632
- sizeClasses2[size2]
23594
+ sizeClasses2[size]
23633
23595
  ),
23634
23596
  children: /* @__PURE__ */ jsx170("div", { className: "h-full w-full bg-primary/20 rounded-sm" })
23635
23597
  },
@@ -26296,7 +26258,7 @@ function PlatformFilterComponent({
26296
26258
  platforms = [],
26297
26259
  className = "",
26298
26260
  showIcons = true,
26299
- size: size2 = "small-legacy"
26261
+ size = "small-legacy"
26300
26262
  }) {
26301
26263
  return /* @__PURE__ */ jsxs152("div", { className: `flex items-center gap-2 flex-wrap ${className}`, children: [
26302
26264
  /* @__PURE__ */ jsx195(
@@ -26304,7 +26266,7 @@ function PlatformFilterComponent({
26304
26266
  {
26305
26267
  type: "button",
26306
26268
  variant: selectedPlatform === "all" ? "accent" : "outline",
26307
- size: size2,
26269
+ size,
26308
26270
  onClick: () => onPlatformChange("all"),
26309
26271
  className: "text-h3",
26310
26272
  children: "All Platforms"
@@ -26315,7 +26277,7 @@ function PlatformFilterComponent({
26315
26277
  {
26316
26278
  type: "button",
26317
26279
  variant: selectedPlatform === platform.value ? "accent" : "outline",
26318
- size: size2,
26280
+ size,
26319
26281
  onClick: () => onPlatformChange(platform.value),
26320
26282
  leftIcon: showIcons ? getSmallPlatformIcon(platform.value) : void 0,
26321
26283
  className: "text-h3",
@@ -27761,7 +27723,7 @@ var ConfidenceBadge = ({
27761
27723
  confidence,
27762
27724
  showLabel = true,
27763
27725
  showPercentage = true,
27764
- size: size2 = "sm",
27726
+ size = "sm",
27765
27727
  className
27766
27728
  }) => {
27767
27729
  const level = getConfidenceLevel(confidence);
@@ -27777,7 +27739,7 @@ var ConfidenceBadge = ({
27777
27739
  {
27778
27740
  className: cn(
27779
27741
  "inline-flex items-center gap-1 rounded-full border font-medium",
27780
- sizeStyles[size2],
27742
+ sizeStyles[size],
27781
27743
  borderClass,
27782
27744
  textClass,
27783
27745
  bgClass,
@@ -27959,7 +27921,7 @@ var AIEnrichButton = ({
27959
27921
  loading = false,
27960
27922
  label = "AI Enrich",
27961
27923
  loadingLabel = "Enriching...",
27962
- size: size2 = "md",
27924
+ size = "md",
27963
27925
  variant = "outline",
27964
27926
  className
27965
27927
  }) => {
@@ -27970,7 +27932,7 @@ var AIEnrichButton = ({
27970
27932
  onClick,
27971
27933
  disabled: disabled || loading,
27972
27934
  loading,
27973
- size: sizeMap[size2],
27935
+ size: sizeMap[size],
27974
27936
  variant: variantMap[variant],
27975
27937
  leftIcon: !loading && /* @__PURE__ */ jsx208(SparklesIcon, { size: 18, color: "currentColor" }),
27976
27938
  className: cn("gap-2", className),
@@ -28560,7 +28522,7 @@ init_cn();
28560
28522
  import { jsx as jsx215, jsxs as jsxs170 } from "react/jsx-runtime";
28561
28523
  var AIRequiredBadge = ({
28562
28524
  className,
28563
- size: size2 = "sm"
28525
+ size = "sm"
28564
28526
  }) => {
28565
28527
  return /* @__PURE__ */ jsxs170(
28566
28528
  "span",
@@ -28568,12 +28530,12 @@ var AIRequiredBadge = ({
28568
28530
  className: cn(
28569
28531
  "inline-flex items-center gap-1 font-medium rounded-full",
28570
28532
  "bg-[--ods-flamingo-cyan-base]/10 text-[--ods-flamingo-cyan-base]",
28571
- size2 === "sm" && "ml-2 px-2 py-0.5 text-xs",
28572
- size2 === "md" && "ml-2 px-2.5 py-1 text-sm",
28533
+ size === "sm" && "ml-2 px-2 py-0.5 text-xs",
28534
+ size === "md" && "ml-2 px-2.5 py-1 text-sm",
28573
28535
  className
28574
28536
  ),
28575
28537
  children: [
28576
- /* @__PURE__ */ jsx215(SparklesIcon, { size: size2 === "sm" ? 12 : 14, color: "var(--ods-flamingo-cyan-base)" }),
28538
+ /* @__PURE__ */ jsx215(SparklesIcon, { size: size === "sm" ? 12 : 14, color: "var(--ods-flamingo-cyan-base)" }),
28577
28539
  /* @__PURE__ */ jsx215("span", { className: "font-['DM_Sans']", children: "AI-required" })
28578
28540
  ]
28579
28541
  }
@@ -28993,7 +28955,7 @@ function ViewToggle({
28993
28955
  onValueChange,
28994
28956
  disabled = false,
28995
28957
  className,
28996
- size: size2 = "default",
28958
+ size = "default",
28997
28959
  "aria-label": ariaLabel = "Switch between grid and table view"
28998
28960
  }) {
28999
28961
  return /* @__PURE__ */ jsxs174(
@@ -29017,7 +28979,7 @@ function ViewToggle({
29017
28979
  ToggleGroupItem,
29018
28980
  {
29019
28981
  value: "grid",
29020
- size: size2,
28982
+ size,
29021
28983
  className: cn(
29022
28984
  "p-2 rounded transition-all duration-200",
29023
28985
  value === "grid" ? "bg-ods-accent text-ods-text-on-accent" : "text-ods-text-secondary hover:text-ods-text-primary hover:bg-ods-bg-hover",
@@ -29038,7 +29000,7 @@ function ViewToggle({
29038
29000
  ToggleGroupItem,
29039
29001
  {
29040
29002
  value: "table",
29041
- size: size2,
29003
+ size,
29042
29004
  className: cn(
29043
29005
  "p-2 rounded transition-all duration-200",
29044
29006
  value === "table" ? "bg-ods-accent text-ods-text-on-accent" : "text-ods-text-secondary hover:text-ods-text-primary hover:bg-ods-bg-hover",
@@ -33811,7 +33773,7 @@ function useContainedResizableSize({
33811
33773
  return defaultSize;
33812
33774
  }
33813
33775
  }, [enabled, storageKey, defaultSize]);
33814
- const [size2, setSizeRaw] = React107.useState(readInitial);
33776
+ const [size, setSizeRaw] = React107.useState(readInitial);
33815
33777
  const setSize = React107.useCallback(
33816
33778
  (next) => setSizeRaw(clampToContainer(next)),
33817
33779
  [clampToContainer]
@@ -33819,19 +33781,19 @@ function useContainedResizableSize({
33819
33781
  React107.useEffect(() => {
33820
33782
  if (!enabled || !storageKey || typeof window === "undefined") return;
33821
33783
  try {
33822
- window.localStorage.setItem(storageKey, String(Math.round(size2)));
33784
+ window.localStorage.setItem(storageKey, String(Math.round(size)));
33823
33785
  } catch {
33824
33786
  }
33825
- }, [enabled, size2, storageKey]);
33787
+ }, [enabled, size, storageKey]);
33826
33788
  React107.useEffect(() => {
33827
33789
  if (!enabled) return;
33828
33790
  setSizeRaw((prev) => clampToContainer(prev));
33829
33791
  }, [enabled, clampToContainer]);
33830
- return { size: size2, setSize };
33792
+ return { size, setSize };
33831
33793
  }
33832
33794
  function AppLayoutDrawerResizeHandle({
33833
33795
  side,
33834
- size: size2,
33796
+ size,
33835
33797
  minSize,
33836
33798
  maxSize,
33837
33799
  onSize,
@@ -33843,7 +33805,7 @@ function AppLayoutDrawerResizeHandle({
33843
33805
  const handlePointerDown = (e) => {
33844
33806
  if (e.button !== 0 && e.pointerType === "mouse") return;
33845
33807
  e.preventDefault();
33846
- startRef.current = { x: e.clientX, y: e.clientY, size: size2 };
33808
+ startRef.current = { x: e.clientX, y: e.clientY, size };
33847
33809
  e.currentTarget.setPointerCapture(e.pointerId);
33848
33810
  document.body.style.cursor = isHorizontal ? "col-resize" : "row-resize";
33849
33811
  document.body.style.userSelect = "none";
@@ -33869,18 +33831,18 @@ function AppLayoutDrawerResizeHandle({
33869
33831
  if (isHorizontal) {
33870
33832
  if (e.key === "ArrowLeft") {
33871
33833
  e.preventDefault();
33872
- onSize(size2 + step * (side === "right" ? 1 : -1));
33834
+ onSize(size + step * (side === "right" ? 1 : -1));
33873
33835
  } else if (e.key === "ArrowRight") {
33874
33836
  e.preventDefault();
33875
- onSize(size2 + step * (side === "right" ? -1 : 1));
33837
+ onSize(size + step * (side === "right" ? -1 : 1));
33876
33838
  }
33877
33839
  } else {
33878
33840
  if (e.key === "ArrowUp") {
33879
33841
  e.preventDefault();
33880
- onSize(size2 + step * (side === "bottom" ? 1 : -1));
33842
+ onSize(size + step * (side === "bottom" ? 1 : -1));
33881
33843
  } else if (e.key === "ArrowDown") {
33882
33844
  e.preventDefault();
33883
- onSize(size2 + step * (side === "bottom" ? -1 : 1));
33845
+ onSize(size + step * (side === "bottom" ? -1 : 1));
33884
33846
  }
33885
33847
  }
33886
33848
  if (e.key === "Home") {
@@ -33900,7 +33862,7 @@ function AppLayoutDrawerResizeHandle({
33900
33862
  role: "separator",
33901
33863
  tabIndex: 0,
33902
33864
  "aria-orientation": isHorizontal ? "vertical" : "horizontal",
33903
- "aria-valuenow": Math.round(size2),
33865
+ "aria-valuenow": Math.round(size),
33904
33866
  "aria-valuemin": minSize,
33905
33867
  "aria-valuemax": maxSize,
33906
33868
  "aria-label": ariaLabel ?? (isHorizontal ? "Resize panel width" : "Resize panel height"),
@@ -34022,7 +33984,7 @@ var AppLayoutDrawerContent = React107.forwardRef(
34022
33984
  mq.addEventListener("change", update);
34023
33985
  return () => mq.removeEventListener("change", update);
34024
33986
  }, [mobileBreakpoint]);
34025
- const { size: size2, setSize } = useContainedResizableSize({
33987
+ const { size, setSize } = useContainedResizableSize({
34026
33988
  enabled: resizable,
34027
33989
  isHorizontal,
34028
33990
  minSize,
@@ -34032,7 +33994,7 @@ var AppLayoutDrawerContent = React107.forwardRef(
34032
33994
  container: portalContainer
34033
33995
  });
34034
33996
  const applyInlineSize = resizable && !isMobile;
34035
- const sizeStyle = applyInlineSize ? isHorizontal ? { width: size2 } : { height: size2 } : {};
33997
+ const sizeStyle = applyInlineSize ? isHorizontal ? { width: size } : { height: size } : {};
34036
33998
  if (keepMounted && !hasOpened) return null;
34037
33999
  return /* @__PURE__ */ jsxs205(DialogPrimitive3.Portal, { container: portalContainer, forceMount: persist || void 0, children: [
34038
34000
  /* @__PURE__ */ jsx259(
@@ -34085,7 +34047,7 @@ var AppLayoutDrawerContent = React107.forwardRef(
34085
34047
  AppLayoutDrawerResizeHandle,
34086
34048
  {
34087
34049
  side: resolvedSide,
34088
- size: size2,
34050
+ size,
34089
34051
  minSize,
34090
34052
  maxSize,
34091
34053
  onSize: setSize,
@@ -34945,7 +34907,7 @@ var LOG_SEVERITY_LABELS = {
34945
34907
 
34946
34908
  // src/components/log-severity-dot.tsx
34947
34909
  import { jsx as jsx270 } from "react/jsx-runtime";
34948
- var LogSeverityDot = React110.forwardRef(({ severity, size: size2 = "md", className }, ref) => {
34910
+ var LogSeverityDot = React110.forwardRef(({ severity, size = "md", className }, ref) => {
34949
34911
  const sizeClasses2 = {
34950
34912
  sm: "w-4 h-4",
34951
34913
  md: "w-6 h-6",
@@ -34962,7 +34924,7 @@ var LogSeverityDot = React110.forwardRef(({ severity, size: size2 = "md", classN
34962
34924
  ref,
34963
34925
  className: cn(
34964
34926
  "relative flex items-center justify-center shrink-0",
34965
- sizeClasses2[size2],
34927
+ sizeClasses2[size],
34966
34928
  className
34967
34929
  ),
34968
34930
  "aria-label": `${LOG_SEVERITY_LABELS[severity]} severity`,
@@ -34971,7 +34933,7 @@ var LogSeverityDot = React110.forwardRef(({ severity, size: size2 = "md", classN
34971
34933
  {
34972
34934
  className: cn(
34973
34935
  "rounded-full",
34974
- dotSizeClasses[size2]
34936
+ dotSizeClasses[size]
34975
34937
  ),
34976
34938
  style: { backgroundColor: LOG_SEVERITY_COLORS[severity] }
34977
34939
  }
@@ -39394,9 +39356,9 @@ function TicketDetailSection({ label, children, className }) {
39394
39356
  // src/components/ui/ticket-attachments-list.tsx
39395
39357
  init_cn();
39396
39358
  import { jsx as jsx312, jsxs as jsxs250 } from "react/jsx-runtime";
39397
- function TicketAttachmentsList({ attachments, className, size: size2 = "default" }) {
39359
+ function TicketAttachmentsList({ attachments, className, size = "default" }) {
39398
39360
  if (attachments.length === 0) return null;
39399
- const compact = size2 === "compact";
39361
+ const compact = size === "compact";
39400
39362
  return /* @__PURE__ */ jsx312("div", { className: cn("rounded-[6px] border border-ods-border overflow-hidden", className), children: attachments.map((attachment, index) => /* @__PURE__ */ jsxs250(
39401
39363
  "div",
39402
39364
  {
@@ -40007,8 +39969,8 @@ function TaskTypeIcon({ customItemId, className = "h-5 w-5" }) {
40007
39969
 
40008
39970
  // src/components/chat/entity-cards/roadmap-card.tsx
40009
39971
  import { Fragment as Fragment62, jsx as jsx319, jsxs as jsxs256 } from "react/jsx-runtime";
40010
- function RoadmapCardSkeleton({ size: size2 = "default" }) {
40011
- if (size2 === "sm") {
39972
+ function RoadmapCardSkeleton({ size = "default" }) {
39973
+ if (size === "sm") {
40012
39974
  return /* @__PURE__ */ jsxs256("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
40013
39975
  /* @__PURE__ */ jsx319("span", { className: "block h-12 w-12 aspect-square shrink-0 self-start rounded-md bg-ods-bg border border-ods-border p-1.5" }),
40014
39976
  /* @__PURE__ */ jsxs256("span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -40050,7 +40012,7 @@ function RoadmapCard({
40050
40012
  href,
40051
40013
  target,
40052
40014
  rel,
40053
- size: size2 = "default",
40015
+ size = "default",
40054
40016
  cardType = "roadmap_item",
40055
40017
  className,
40056
40018
  id,
@@ -40061,7 +40023,7 @@ function RoadmapCard({
40061
40023
  const [showScreenshots, setShowScreenshots] = useState98(false);
40062
40024
  const logoUrl = item.icon && item.icon.startsWith("http") ? item.icon : null;
40063
40025
  const iconSrc = logoUrl ? getProxiedImageUrl(logoUrl, { directHttps: true }) || logoUrl : null;
40064
- if (size2 === "sm") {
40026
+ if (size === "sm") {
40065
40027
  const compactHref = safeHref(href ?? null);
40066
40028
  const hasVotes = (item.upvotes ?? 0) > 0 || (item.downvotes ?? 0) > 0;
40067
40029
  const hasFigma = !!item.figmaUrl;
@@ -42271,8 +42233,8 @@ import { Fragment as Fragment67, jsx as jsx324, jsxs as jsxs261 } from "react/js
42271
42233
  function formatUtc(date, fmt) {
42272
42234
  return format(new Date(date.getTime() + date.getTimezoneOffset() * 6e4), fmt);
42273
42235
  }
42274
- function ProgramCardSkeleton({ size: size2 = "default" }) {
42275
- if (size2 === "sm") {
42236
+ function ProgramCardSkeleton({ size = "default" }) {
42237
+ if (size === "sm") {
42276
42238
  return /* @__PURE__ */ jsxs261("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
42277
42239
  /* @__PURE__ */ jsx324("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
42278
42240
  /* @__PURE__ */ jsxs261("span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -42382,7 +42344,7 @@ function ProgramCard({
42382
42344
  item,
42383
42345
  media = [],
42384
42346
  renderMeta,
42385
- size: size2 = "default",
42347
+ size = "default",
42386
42348
  href,
42387
42349
  target: targetProp,
42388
42350
  rel: relProp,
@@ -42400,14 +42362,14 @@ function ProgramCard({
42400
42362
  const placeholderUrl = useEntityCardPlaceholder({
42401
42363
  title: item.title,
42402
42364
  placeholderUrl: placeholderUrlProp,
42403
- aspect: size2 === "sm" ? "square" : "wide"
42365
+ aspect: size === "sm" ? "square" : "wide"
42404
42366
  });
42405
42367
  const coverImage = item.cover_url;
42406
42368
  const images = media.filter((m) => m.media_type === "image");
42407
42369
  const hosts = getHosts(item.hosts);
42408
42370
  const accentColor = "var(--color-accent-primary)";
42409
42371
  const isScheduled = "status" in item && item.status === "scheduled";
42410
- if (size2 === "sm") {
42372
+ if (size === "sm") {
42411
42373
  const itemDate2 = (() => {
42412
42374
  try {
42413
42375
  return formatUtc(new Date(item.date), "MMM d, yyyy");
@@ -50563,4 +50525,4 @@ export {
50563
50525
  LogsList,
50564
50526
  assets
50565
50527
  };
50566
- //# sourceMappingURL=chunk-TRAJG5JZ.js.map
50528
+ //# sourceMappingURL=chunk-QSVG54VM.js.map