@flamingo-stack/openframe-frontend-core 0.0.197 → 0.0.199-snapshot.20260520170030

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 (73) hide show
  1. package/dist/chunk-4CWSZPXH.cjs.map +1 -1
  2. package/dist/{chunk-IMDXOVYD.cjs → chunk-C3M6R6JH.cjs} +528 -286
  3. package/dist/chunk-C3M6R6JH.cjs.map +1 -0
  4. package/dist/chunk-OII2IERE.cjs.map +1 -1
  5. package/dist/chunk-UC43NICZ.cjs.map +1 -1
  6. package/dist/chunk-V2FNIPZJ.cjs.map +1 -1
  7. package/dist/chunk-VJTFBYVG.cjs.map +1 -1
  8. package/dist/chunk-VRHGVLSL.cjs.map +1 -1
  9. package/dist/chunk-WZW7C7TF.cjs.map +1 -1
  10. package/dist/chunk-XQFFGR6U.cjs.map +1 -1
  11. package/dist/{chunk-GIQZAYY5.js → chunk-ZOM75JOY.js} +398 -156
  12. package/dist/chunk-ZOM75JOY.js.map +1 -0
  13. package/dist/components/chart.d.ts +14 -7
  14. package/dist/components/chart.d.ts.map +1 -1
  15. package/dist/components/chat/chat-input.d.ts.map +1 -1
  16. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  17. package/dist/components/chat/chat-message-skeleton.d.ts.map +1 -1
  18. package/dist/components/chat/types/component.types.d.ts +4 -0
  19. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  20. package/dist/components/features/index.cjs +2 -2
  21. package/dist/components/features/index.cjs.map +1 -1
  22. package/dist/components/features/index.js +1 -1
  23. package/dist/components/icons/index.cjs.map +1 -1
  24. package/dist/components/icons-v2-generated/index.cjs.map +1 -1
  25. package/dist/components/index.cjs +2 -2
  26. package/dist/components/index.cjs.map +1 -1
  27. package/dist/components/index.js +1 -1
  28. package/dist/components/navigation/index.cjs +2 -2
  29. package/dist/components/navigation/index.cjs.map +1 -1
  30. package/dist/components/navigation/index.js +1 -1
  31. package/dist/components/platform/ScriptArguments.d.ts.map +1 -1
  32. package/dist/components/resizable.d.ts +1 -1
  33. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts +1 -1
  34. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts.map +1 -1
  35. package/dist/components/shared/product-release/product-release-card.d.ts +38 -2
  36. package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
  37. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  38. package/dist/components/toast/index.cjs.map +1 -1
  39. package/dist/components/ui/file-manager/index.cjs.map +1 -1
  40. package/dist/components/ui/index.cjs +2 -2
  41. package/dist/components/ui/index.cjs.map +1 -1
  42. package/dist/components/ui/index.js +1 -1
  43. package/dist/components/ui/release-changelog-section.d.ts +7 -1
  44. package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
  45. package/dist/hooks/index.cjs.map +1 -1
  46. package/dist/index.cjs +2 -2
  47. package/dist/index.cjs.map +1 -1
  48. package/dist/index.js +1 -1
  49. package/dist/tailwind.config.cjs +10 -7
  50. package/dist/tailwind.config.cjs.map +1 -1
  51. package/dist/tailwind.config.js +10 -7
  52. package/dist/tailwind.config.js.map +1 -1
  53. package/dist/types/index.cjs.map +1 -1
  54. package/dist/types/index.js.map +1 -1
  55. package/dist/types/product-release.d.ts +12 -0
  56. package/dist/types/product-release.d.ts.map +1 -1
  57. package/package.json +1 -1
  58. package/src/components/chat/.chat-input.md +0 -1
  59. package/src/components/chat/chat-container.tsx +3 -3
  60. package/src/components/chat/chat-input.tsx +38 -51
  61. package/src/components/chat/chat-message-enhanced.tsx +21 -22
  62. package/src/components/chat/chat-message-list.tsx +6 -6
  63. package/src/components/chat/chat-message-skeleton.tsx +9 -10
  64. package/src/components/chat/types/component.types.ts +4 -0
  65. package/src/components/platform/ScriptArguments.tsx +7 -6
  66. package/src/components/shared/product-release/product-release-card-skeleton.tsx +69 -1
  67. package/src/components/shared/product-release/product-release-card.tsx +334 -4
  68. package/src/components/shared/product-release/release-detail-page.tsx +8 -2
  69. package/src/components/ui/release-changelog-section.tsx +29 -2
  70. package/src/types/product-release.ts +12 -0
  71. package/tailwind.config.ts +4 -0
  72. package/dist/chunk-GIQZAYY5.js.map +0 -1
  73. package/dist/chunk-IMDXOVYD.cjs.map +0 -1
@@ -109,6 +109,7 @@ import {
109
109
  PenEditIcon,
110
110
  PencilIcon,
111
111
  PlayIcon,
112
+ PlusCircleIcon,
112
113
  PlusIcon,
113
114
  PowershellLogoIcon,
114
115
  PythonLogoIcon,
@@ -4102,7 +4103,7 @@ init_button2();
4102
4103
 
4103
4104
  // src/components/plus-circle-icon.tsx
4104
4105
  import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
4105
- function PlusCircleIcon({ className, whiteOverlay = false, iconSize = 24, ...props }) {
4106
+ function PlusCircleIcon2({ className, whiteOverlay = false, iconSize = 24, ...props }) {
4106
4107
  return /* @__PURE__ */ jsxs18(
4107
4108
  "svg",
4108
4109
  {
@@ -4265,7 +4266,7 @@ var ChatHeader = React11.forwardRef(
4265
4266
  {
4266
4267
  ref,
4267
4268
  className: cn(
4268
- "relative mx-auto w-full max-w-3xl",
4269
+ "relative mx-auto w-full max-w-ods-content-narrow",
4269
4270
  className
4270
4271
  ),
4271
4272
  ...props,
@@ -4280,7 +4281,7 @@ var ChatHeader = React11.forwardRef(
4280
4281
  leftIcon: /* @__PURE__ */ jsx24(Chevron02LeftIcon, { size: 24, className: "text-ods-text-primary" }),
4281
4282
  className: cn(
4282
4283
  cardClasses,
4283
- "absolute -translate-y-1/2 right-full mr-3 my-6 hover:bg-ods-bg-hover"
4284
+ "absolute top-0 right-full mr-[var(--spacing-system-s)] hover:bg-ods-bg-hover"
4284
4285
  )
4285
4286
  }
4286
4287
  ),
@@ -4313,7 +4314,7 @@ var ChatHeader = React11.forwardRef(
4313
4314
  onClick: onNewChat,
4314
4315
  variant: "transparent",
4315
4316
  size: "small-legacy",
4316
- leftIcon: /* @__PURE__ */ jsx24(PlusCircleIcon, { className: "w-5 h-5", whiteOverlay: true }),
4317
+ leftIcon: /* @__PURE__ */ jsx24(PlusCircleIcon2, { className: "w-5 h-5", whiteOverlay: true }),
4317
4318
  className: "text-ods-text-primary hover:bg-ods-bg-hover",
4318
4319
  children: "New Chat"
4319
4320
  }
@@ -4377,7 +4378,7 @@ var ChatFooter = React11.forwardRef(
4377
4378
  className
4378
4379
  ),
4379
4380
  ...props,
4380
- children: /* @__PURE__ */ jsx24("div", { className: "mx-auto w-full max-w-3xl", children })
4381
+ children: /* @__PURE__ */ jsx24("div", { className: "mx-auto w-full max-w-ods-content-narrow", children })
4381
4382
  }
4382
4383
  );
4383
4384
  }
@@ -4700,7 +4701,9 @@ var ChatInput = forwardRef18(
4700
4701
  sending = false,
4701
4702
  awaitingResponse = false,
4702
4703
  placeholder = "Enter your Request...",
4703
- reserveAvatarOffset = true,
4704
+ // Accepted for back-compat; consumed and discarded so the prop never
4705
+ // falls through to the underlying <textarea> as an unknown DOM attr.
4706
+ reserveAvatarOffset: _reserveAvatarOffset,
4704
4707
  disabled = false,
4705
4708
  autoFocus = false,
4706
4709
  ...inputProps
@@ -4896,73 +4899,51 @@ var ChatInput = forwardRef18(
4896
4899
  setIsStopping(false);
4897
4900
  }
4898
4901
  }, [onStop, isStopping]);
4899
- if (awaitingResponse) {
4900
- return /* @__PURE__ */ jsxs23(
4901
- "div",
4902
- {
4903
- className: cn(
4904
- "mx-auto w-full max-w-3xl items-end gap-6",
4905
- reserveAvatarOffset ? "grid grid-cols-[32px_1fr]" : "grid grid-cols-[1fr]",
4906
- "flex-shrink-0",
4907
- className
4908
- ),
4909
- children: [
4910
- reserveAvatarOffset && /* @__PURE__ */ jsx28("div", { className: "invisible h-8 w-8", "aria-hidden": true }),
4911
- /* @__PURE__ */ jsxs23("div", { className: "relative flex items-center justify-center gap-2 rounded-md bg-ods-card border border-ods-border px-3 py-3 transition-colors", children: [
4912
- /* @__PURE__ */ jsx28(ChatTypingIndicator, { size: "sm", dotClassName: "bg-ods-text-primary" }),
4913
- /* @__PURE__ */ jsx28("p", { className: "text-h4 text-ods-text-secondary", children: "Waiting for Technician Response" })
4914
- ] })
4915
- ]
4916
- }
4917
- );
4918
- }
4919
4902
  const isStopMode = sending && !!onStop;
4920
4903
  const sendDisabled = sending || disabled || !value.trim();
4921
- return /* @__PURE__ */ jsxs23(
4904
+ return /* @__PURE__ */ jsx28(
4922
4905
  "div",
4923
4906
  {
4924
4907
  className: cn(
4925
- "mx-auto w-full max-w-3xl items-end gap-6",
4926
- reserveAvatarOffset ? "grid grid-cols-[32px_1fr]" : "grid grid-cols-[1fr]",
4927
- "flex-shrink-0",
4908
+ "mx-auto w-full max-w-ods-content-narrow flex-shrink-0",
4928
4909
  className
4929
4910
  ),
4930
- children: [
4931
- reserveAvatarOffset && /* @__PURE__ */ jsx28("div", { className: "invisible h-8 w-8", "aria-hidden": true }),
4932
- /* @__PURE__ */ jsxs23("div", { className: "relative", children: [
4933
- /* @__PURE__ */ jsx28(
4934
- SlashCommandSuggestions,
4935
- {
4936
- commands: slashPrefix !== null ? slashSuggestions : [],
4937
- highlightedIdx,
4938
- onHover: setHighlightedIdx,
4939
- onSelect: acceptSuggestion,
4940
- resolveSourceIcon: slashCommands?.resolveSourceIcon,
4941
- onAction: slashCommands?.onAction
4942
- }
4943
- ),
4944
- /* @__PURE__ */ jsx28(
4945
- Textarea,
4946
- {
4947
- ref: textareaRef,
4948
- value,
4949
- onChange: handleChange,
4950
- onKeyDown: handleKeyDown,
4951
- placeholder: disabled ? "Connection lost. Waiting to reconnect..." : placeholder,
4952
- disabled: sending || disabled,
4953
- rows: 1,
4954
- endIcon: isStopMode ? /* @__PURE__ */ jsx28(StopCircleIcon, { size: 20 }) : /* @__PURE__ */ jsx28(Send01Icon, { size: 20 }),
4955
- endIconAsButton: true,
4956
- endIconButtonProps: {
4957
- onClick: isStopMode ? handleStop : handleSubmit,
4958
- disabled: isStopMode ? isStopping : sendDisabled,
4959
- "aria-label": isStopMode ? "Stop generation" : "Send message"
4960
- },
4961
- ...inputProps
4962
- }
4963
- )
4964
- ] })
4965
- ]
4911
+ children: awaitingResponse ? /* @__PURE__ */ jsxs23("div", { className: "relative flex items-center justify-center gap-[var(--spacing-system-xs)] rounded-md bg-ods-card border border-ods-border px-[var(--spacing-system-s)] py-[var(--spacing-system-s)] transition-colors", children: [
4912
+ /* @__PURE__ */ jsx28(ChatTypingIndicator, { size: "sm", dotClassName: "bg-ods-text-primary" }),
4913
+ /* @__PURE__ */ jsx28("p", { className: "text-h4 text-ods-text-secondary", children: "Waiting for Technician Response" })
4914
+ ] }) : /* @__PURE__ */ jsxs23("div", { className: "relative", children: [
4915
+ /* @__PURE__ */ jsx28(
4916
+ SlashCommandSuggestions,
4917
+ {
4918
+ commands: slashPrefix !== null ? slashSuggestions : [],
4919
+ highlightedIdx,
4920
+ onHover: setHighlightedIdx,
4921
+ onSelect: acceptSuggestion,
4922
+ resolveSourceIcon: slashCommands?.resolveSourceIcon,
4923
+ onAction: slashCommands?.onAction
4924
+ }
4925
+ ),
4926
+ /* @__PURE__ */ jsx28(
4927
+ Textarea,
4928
+ {
4929
+ ref: textareaRef,
4930
+ value,
4931
+ onChange: handleChange,
4932
+ onKeyDown: handleKeyDown,
4933
+ placeholder: disabled ? "Connection lost. Waiting to reconnect..." : placeholder,
4934
+ disabled: sending || disabled,
4935
+ rows: 1,
4936
+ endIcon: isStopMode ? /* @__PURE__ */ jsx28(StopCircleIcon, { size: 20 }) : /* @__PURE__ */ jsx28(Send01Icon, { size: 20 }),
4937
+ endIconAsButton: true,
4938
+ endIconButtonProps: {
4939
+ onClick: isStopMode ? handleStop : handleSubmit,
4940
+ disabled: isStopMode ? isStopping : sendDisabled,
4941
+ "aria-label": isStopMode ? "Stop generation" : "Send message"
4942
+ },
4943
+ ...inputProps
4944
+ }
4945
+ )
4946
+ ] })
4966
4947
  }
4967
4948
  );
4968
4949
  }
@@ -5213,7 +5194,7 @@ var ChatMessageEnhanced = forwardRef20(
5213
5194
  variant: "round",
5214
5195
  className: cn(
5215
5196
  "flex-shrink-0",
5216
- isUser ? "invisible" : isMingo ? "bg-ods-flamingo-cyan" : "bg-ods-flamingo-pink"
5197
+ isMingo ? "bg-ods-flamingo-cyan" : "bg-ods-flamingo-pink"
5217
5198
  )
5218
5199
  };
5219
5200
  };
@@ -5224,20 +5205,20 @@ var ChatMessageEnhanced = forwardRef20(
5224
5205
  {
5225
5206
  ref,
5226
5207
  className: cn(
5227
- "flex flex-row items-start gap-2 py-3",
5208
+ "relative py-[var(--spacing-system-s)]",
5228
5209
  className
5229
5210
  ),
5230
5211
  ...props,
5231
5212
  children: [
5232
- showAvatar && (isSystem ? /* @__PURE__ */ jsx30("div", { className: "w-12 flex-shrink-0" }) : !isUser && assistantIcon && !avatar ? /* @__PURE__ */ jsx30("div", { className: "flex items-center justify-center w-12 h-12 rounded-full bg-ods-accent flex-shrink-0", children: assistantIcon }) : /* @__PURE__ */ jsx30(
5213
+ showAvatar && !isSystem && !isUser && /* @__PURE__ */ jsx30("div", { className: "absolute -left-16 top-[var(--spacing-system-s)]", children: assistantIcon && !avatar ? /* @__PURE__ */ jsx30("div", { className: "flex items-center justify-center w-12 h-12 rounded-full bg-ods-accent", children: assistantIcon }) : /* @__PURE__ */ jsx30(
5233
5214
  SquareAvatar,
5234
5215
  {
5235
5216
  ...avatarProps,
5236
5217
  className: cn(avatarProps.className, "w-12 h-12")
5237
5218
  }
5238
- )),
5239
- /* @__PURE__ */ jsxs25("div", { className: "flex flex-1 flex-col gap-1 min-w-0", children: [
5240
- /* @__PURE__ */ jsxs25("div", { className: "flex items-center justify-between gap-1", children: [
5219
+ ) }),
5220
+ /* @__PURE__ */ jsxs25("div", { className: "flex flex-col gap-[var(--spacing-system-xxs)] min-w-0", children: [
5221
+ /* @__PURE__ */ jsxs25("div", { className: "flex items-center justify-between gap-[var(--spacing-system-xxs)]", children: [
5241
5222
  /* @__PURE__ */ jsxs25("span", { className: cn(
5242
5223
  "text-h3 !font-mono !font-medium flex-1",
5243
5224
  authorType === "system" ? "text-ods-open-yellow" : authorType === "admin" ? "text-ods-open-yellow" : authorType === "mingo" ? "text-ods-flamingo-cyan" : authorType === "fae" ? "text-ods-flamingo-pink" : "text-ods-text-secondary"
@@ -5375,16 +5356,16 @@ function ChatMessageSkeleton({
5375
5356
  "div",
5376
5357
  {
5377
5358
  className: cn(
5378
- "flex flex-row items-start gap-4",
5359
+ "relative",
5379
5360
  !isUser && "bg-ods-card/50 rounded-lg px-4 -mx-4",
5380
5361
  className
5381
5362
  ),
5382
5363
  children: [
5383
- showAvatar && /* @__PURE__ */ jsx31("div", { className: cn(
5384
- "flex-shrink-0 mt-1 w-8 h-8 rounded animate-pulse",
5385
- isUser ? "invisible" : isMingo ? "bg-gradient-to-br from-cyan-400/30 to-cyan-600/30" : "bg-gradient-to-br from-pink-400/30 to-pink-600/30"
5364
+ showAvatar && !isUser && /* @__PURE__ */ jsx31("div", { className: cn(
5365
+ "absolute -left-16 top-[var(--spacing-system-s)] w-12 h-12 rounded-full animate-pulse",
5366
+ isMingo ? "bg-gradient-to-br from-cyan-400/30 to-cyan-600/30" : "bg-gradient-to-br from-pink-400/30 to-pink-600/30"
5386
5367
  ) }),
5387
- /* @__PURE__ */ jsxs26("div", { className: "flex flex-1 flex-col gap-1 min-w-0", children: [
5368
+ /* @__PURE__ */ jsxs26("div", { className: "flex flex-col gap-1 min-w-0", children: [
5388
5369
  /* @__PURE__ */ jsxs26("div", { className: "flex items-center justify-between pr-2", children: [
5389
5370
  /* @__PURE__ */ jsx31("div", { className: "h-5 w-16 bg-ods-border rounded animate-pulse" }),
5390
5371
  /* @__PURE__ */ jsx31("div", { className: "h-4 w-12 bg-ods-border rounded animate-pulse" })
@@ -5420,7 +5401,7 @@ function ChatMessageListSkeleton({
5420
5401
  "scrollbar-thin scrollbar-track-transparent scrollbar-thumb-ods-border/30 hover:scrollbar-thumb-ods-text-secondary/30",
5421
5402
  className
5422
5403
  ),
5423
- children: /* @__PURE__ */ jsxs26("div", { className: cn("mx-auto flex w-full max-w-3xl flex-col pb-2 min-w-0", contentClassName || "px-4"), style: { minHeight: "100%" }, children: [
5404
+ children: /* @__PURE__ */ jsxs26("div", { className: cn("mx-auto flex w-full max-w-ods-content-narrow flex-col pb-[var(--spacing-system-xs)] min-w-0", contentClassName ?? "px-[var(--spacing-system-m)]"), style: { minHeight: "100%" }, children: [
5424
5405
  /* @__PURE__ */ jsx31("div", { className: "flex-1" }),
5425
5406
  /* @__PURE__ */ jsx31("div", { className: "space-y-6", children: messages.map((message) => /* @__PURE__ */ jsx31(
5426
5407
  ChatMessageSkeleton,
@@ -5770,8 +5751,8 @@ var ChatMessageList = forwardRef21(
5770
5751
  {
5771
5752
  ref: setContentRef,
5772
5753
  className: cn(
5773
- "mx-auto flex w-full max-w-3xl flex-col pb-2 min-w-0",
5774
- contentClassName || "px-4"
5754
+ "mx-auto flex w-full max-w-ods-content-narrow flex-col pb-[var(--spacing-system-xs)] min-w-0",
5755
+ contentClassName ?? "px-[var(--spacing-system-m)]"
5775
5756
  ),
5776
5757
  style: { minHeight: "100%" },
5777
5758
  children: [
@@ -5806,8 +5787,8 @@ var ChatMessageList = forwardRef21(
5806
5787
  "div",
5807
5788
  {
5808
5789
  className: cn(
5809
- "mx-auto w-full max-w-3xl flex items-center gap-1 py-2",
5810
- contentClassName || "px-4"
5790
+ "mx-auto w-full max-w-ods-content-narrow flex items-center gap-[var(--spacing-system-xxs)] py-[var(--spacing-system-xs)]",
5791
+ contentClassName ?? "px-[var(--spacing-system-m)]"
5811
5792
  ),
5812
5793
  style: { color: "var(--color-text-muted)" },
5813
5794
  role: "status",
@@ -5820,8 +5801,8 @@ var ChatMessageList = forwardRef21(
5820
5801
  ),
5821
5802
  pendingApprovals && pendingApprovals.length > 0 && /* @__PURE__ */ jsx33("div", { className: cn(
5822
5803
  "border-t border-ods-border bg-ods-bg/95 backdrop-blur-sm",
5823
- "mx-auto w-full max-w-3xl",
5824
- contentClassName || "px-4"
5804
+ "mx-auto w-full max-w-ods-content-narrow",
5805
+ contentClassName ?? "px-[var(--spacing-system-m)]"
5825
5806
  ), children: /* @__PURE__ */ jsx33(
5826
5807
  MemoizedChatMessageEnhanced,
5827
5808
  {
@@ -11632,9 +11613,8 @@ var ScriptInfoSection = ({
11632
11613
  ScriptInfoSection.displayName = "ScriptInfoSection";
11633
11614
 
11634
11615
  // src/components/platform/ScriptArguments.tsx
11635
- init_cn();
11616
+ import { Trash2 } from "lucide-react";
11636
11617
  init_button2();
11637
- import { PlusCircle as PlusCircle2, Trash2 } from "lucide-react";
11638
11618
  import { jsx as jsx74, jsxs as jsxs62 } from "react/jsx-runtime";
11639
11619
  var ScriptArguments = ({
11640
11620
  arguments: args,
@@ -11727,12 +11707,12 @@ var ScriptArguments = ({
11727
11707
  Button,
11728
11708
  {
11729
11709
  type: "button",
11730
- variant: "transparent",
11731
- className: "text-ods-text-primary",
11710
+ variant: "outline",
11711
+ size: "small",
11732
11712
  onClick: handleAdd,
11733
11713
  disabled,
11734
- leftIcon: /* @__PURE__ */ jsx74(PlusCircle2, { className: "size-6" }),
11735
- noPaddingX: true,
11714
+ className: "self-start",
11715
+ leftIcon: /* @__PURE__ */ jsx74(PlusCircleIcon, { className: "text-ods-text-secondary" }),
11736
11716
  children: addButtonLabel
11737
11717
  }
11738
11718
  ) })
@@ -13884,13 +13864,13 @@ var CommunityIcon = MessageSquare;
13884
13864
  var CompareIcon = GitCompare;
13885
13865
 
13886
13866
  // src/components/icons-block.tsx
13887
- import { Sun, Moon, CheckCircle as CheckCircle3, Github as Github2, PlusCircle as PlusCircle3 } from "lucide-react";
13867
+ import { Sun, Moon, CheckCircle as CheckCircle3, Github as Github2, PlusCircle as PlusCircle2 } from "lucide-react";
13888
13868
  import { jsx as jsx99, jsxs as jsxs79 } from "react/jsx-runtime";
13889
13869
  var SunIcon = Sun;
13890
13870
  var MoonIcon = Moon;
13891
13871
  var CheckCircleIcon2 = CheckCircle3;
13892
13872
  var GitHubIcon2 = Github2;
13893
- var PlusCircleIcon2 = PlusCircle3;
13873
+ var PlusCircleIcon3 = PlusCircle2;
13894
13874
  var OpenmspLogo2 = () => /* @__PURE__ */ jsx99("div", { children: "Logo" });
13895
13875
  var availableIcons = [
13896
13876
  VendorDirectoryIcon,
@@ -13903,7 +13883,7 @@ var availableIcons = [
13903
13883
  MoonIcon,
13904
13884
  CheckCircleIcon2,
13905
13885
  GitHubIcon2,
13906
- PlusCircleIcon2,
13886
+ PlusCircleIcon3,
13907
13887
  OpenmspLogo2
13908
13888
  ];
13909
13889
  function ResponsiveIconsBlock({ loading = false }) {
@@ -17284,8 +17264,18 @@ function OnboardingWalkthrough({
17284
17264
  }
17285
17265
 
17286
17266
  // src/components/shared/product-release/product-release-card.tsx
17267
+ import Image8 from "next/image";
17287
17268
  init_cn();
17288
- import { ChevronRight as ChevronRight6, Package as Package3 } from "lucide-react";
17269
+ import {
17270
+ AlertTriangle,
17271
+ ChevronRight as ChevronRight6,
17272
+ Eye,
17273
+ Package as Package3,
17274
+ Play,
17275
+ Sparkles as Sparkles2,
17276
+ TrendingUp,
17277
+ Wrench
17278
+ } from "lucide-react";
17289
17279
  import { Fragment as Fragment20, jsx as jsx138, jsxs as jsxs110 } from "react/jsx-runtime";
17290
17280
  function ProductReleaseCard({
17291
17281
  title,
@@ -17295,8 +17285,181 @@ function ProductReleaseCard({
17295
17285
  onClick,
17296
17286
  anchorProps,
17297
17287
  className,
17298
- size = "default"
17288
+ size = "default",
17289
+ coverImage,
17290
+ hasVideoCover,
17291
+ releaseType,
17292
+ releaseStatus,
17293
+ releaseTypeBadgeColor,
17294
+ viewCount,
17295
+ author,
17296
+ changelogCounts
17299
17297
  }) {
17298
+ if (size === "catalog") {
17299
+ const totalChangelog = (changelogCounts?.features ?? 0) + (changelogCounts?.fixes ?? 0) + (changelogCounts?.improvements ?? 0) + (changelogCounts?.breaking ?? 0);
17300
+ const valueCells = [];
17301
+ if (releaseType && releaseTypeBadgeColor) {
17302
+ valueCells.push({
17303
+ value: releaseType.toUpperCase(),
17304
+ label: "Type",
17305
+ uppercase: true,
17306
+ colorScheme: releaseTypeBadgeColor
17307
+ });
17308
+ }
17309
+ if (releaseStatus) {
17310
+ valueCells.push({
17311
+ value: releaseStatus.toUpperCase(),
17312
+ label: "Status",
17313
+ uppercase: true
17314
+ });
17315
+ }
17316
+ if (formattedDate) {
17317
+ valueCells.push({
17318
+ value: formattedDate,
17319
+ label: "Released",
17320
+ uppercase: false
17321
+ });
17322
+ }
17323
+ const hasAuthorCell = !!author?.full_name;
17324
+ const totalCells = valueCells.length + (hasAuthorCell ? 1 : 0);
17325
+ const gridColsClass = totalCells >= 4 ? "md:grid-cols-4" : totalCells === 3 ? "md:grid-cols-3" : totalCells === 2 ? "md:grid-cols-2" : "md:grid-cols-1";
17326
+ const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
17327
+ const frameClass = cn(
17328
+ "group bg-ods-system-greys-black border border-ods-border rounded-lg overflow-hidden",
17329
+ "flex flex-col p-6 gap-4",
17330
+ "transition-all duration-300 ease-out transform hover:translate-y-[-2px]",
17331
+ "hover:border-ods-accent hover:shadow-lg hover:shadow-ods-accent/[0.08]",
17332
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-offset-2 focus-visible:ring-offset-ods-bg",
17333
+ "no-underline",
17334
+ className
17335
+ );
17336
+ const innerLayout = /* @__PURE__ */ jsxs110(Fragment20, { children: [
17337
+ /* @__PURE__ */ jsxs110("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
17338
+ /* @__PURE__ */ jsx138("div", { className: "w-full md:w-[256px] flex-shrink-0", children: /* @__PURE__ */ jsxs110("div", { className: "relative rounded-lg overflow-hidden w-full aspect-[16/9] bg-ods-bg", children: [
17339
+ coverImage ? /* @__PURE__ */ jsx138(
17340
+ Image8,
17341
+ {
17342
+ src: coverImage,
17343
+ alt: title,
17344
+ fill: true,
17345
+ sizes: "(max-width: 768px) 100vw, 256px",
17346
+ className: "object-cover",
17347
+ unoptimized: true
17348
+ }
17349
+ ) : /* @__PURE__ */ jsx138("div", { className: "absolute inset-0 flex items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ jsx138(Package3, { className: "w-8 h-8" }) }),
17350
+ hasVideoCover && coverImage && /* @__PURE__ */ jsx138("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx138(Play, { className: "w-10 h-10 text-white", fill: "white" }) })
17351
+ ] }) }),
17352
+ /* @__PURE__ */ jsxs110("div", { className: "flex-1 min-w-0 flex flex-col", children: [
17353
+ /* @__PURE__ */ jsx138("div", { className: "flex items-center gap-3 mb-3", children: /* @__PURE__ */ jsxs110("span", { className: "font-mono font-semibold text-lg text-ods-text-primary truncate", children: [
17354
+ "v",
17355
+ version
17356
+ ] }) }),
17357
+ /* @__PURE__ */ jsx138("h3", { className: "font-['Azeret_Mono'] font-semibold text-xl md:text-2xl text-ods-text-primary leading-tight line-clamp-2 mb-3", children: title }),
17358
+ summary && /* @__PURE__ */ jsx138("p", { className: "font-['DM_Sans'] text-sm md:text-base text-ods-text-secondary leading-relaxed line-clamp-4 flex-1", children: summary })
17359
+ ] })
17360
+ ] }),
17361
+ totalChangelog > 0 && changelogCounts && /* @__PURE__ */ jsxs110("div", { className: "border-t border-ods-border pt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 font-['DM_Sans'] text-sm text-ods-text-secondary", children: [
17362
+ changelogCounts.features > 0 && /* @__PURE__ */ jsxs110("span", { className: "inline-flex items-center gap-1.5", children: [
17363
+ /* @__PURE__ */ jsx138(Sparkles2, { className: "w-3.5 h-3.5" }),
17364
+ changelogCounts.features,
17365
+ " ",
17366
+ changelogCounts.features === 1 ? "feature" : "features"
17367
+ ] }),
17368
+ changelogCounts.fixes > 0 && /* @__PURE__ */ jsxs110("span", { className: "inline-flex items-center gap-1.5", children: [
17369
+ /* @__PURE__ */ jsx138(Wrench, { className: "w-3.5 h-3.5" }),
17370
+ changelogCounts.fixes,
17371
+ " ",
17372
+ changelogCounts.fixes === 1 ? "fix" : "fixes"
17373
+ ] }),
17374
+ changelogCounts.improvements > 0 && /* @__PURE__ */ jsxs110("span", { className: "inline-flex items-center gap-1.5", children: [
17375
+ /* @__PURE__ */ jsx138(TrendingUp, { className: "w-3.5 h-3.5" }),
17376
+ changelogCounts.improvements,
17377
+ " ",
17378
+ changelogCounts.improvements === 1 ? "improvement" : "improvements"
17379
+ ] }),
17380
+ changelogCounts.breaking > 0 && /* @__PURE__ */ jsxs110("span", { className: "inline-flex items-center gap-1.5 text-[var(--ods-attention-yellow-warning)]", children: [
17381
+ /* @__PURE__ */ jsx138(AlertTriangle, { className: "w-3.5 h-3.5" }),
17382
+ changelogCounts.breaking,
17383
+ " breaking"
17384
+ ] })
17385
+ ] }),
17386
+ totalCells > 0 && /* @__PURE__ */ jsxs110(
17387
+ "div",
17388
+ {
17389
+ className: cn(
17390
+ "grid grid-cols-1",
17391
+ gridColsClass,
17392
+ "border border-ods-border rounded-md overflow-hidden w-full"
17393
+ ),
17394
+ children: [
17395
+ valueCells.map((cell, i) => /* @__PURE__ */ jsx138(
17396
+ "div",
17397
+ {
17398
+ className: cn(
17399
+ "bg-ods-card p-4 flex flex-col gap-3",
17400
+ // Last value cell skips the trailing divider when no
17401
+ // author cell follows; otherwise every value cell gets it.
17402
+ (i < valueCells.length - 1 || hasAuthorCell) && dividerClass
17403
+ ),
17404
+ children: /* @__PURE__ */ jsxs110("div", { className: "flex flex-col gap-0", children: [
17405
+ cell.colorScheme ? /* @__PURE__ */ jsx138(
17406
+ StatusBadge,
17407
+ {
17408
+ text: cell.value,
17409
+ variant: "card",
17410
+ colorScheme: cell.colorScheme,
17411
+ singleLine: true,
17412
+ className: "self-start"
17413
+ }
17414
+ ) : /* @__PURE__ */ jsx138("p", { className: "text-h4 text-ods-text-primary", children: cell.uppercase ? cell.value.toLocaleUpperCase() : cell.value }),
17415
+ /* @__PURE__ */ jsx138("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: cell.label })
17416
+ ] })
17417
+ },
17418
+ `${cell.label}-${i}`
17419
+ )),
17420
+ hasAuthorCell && author && /* @__PURE__ */ jsxs110("div", { className: "bg-ods-card p-4 flex items-center gap-3", children: [
17421
+ /* @__PURE__ */ jsx138(
17422
+ SquareAvatar,
17423
+ {
17424
+ src: author.avatar_url ?? void 0,
17425
+ alt: author.full_name,
17426
+ fallback: author.full_name.charAt(0).toUpperCase(),
17427
+ size: "md",
17428
+ variant: "round"
17429
+ }
17430
+ ),
17431
+ /* @__PURE__ */ jsxs110("div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
17432
+ /* @__PURE__ */ jsx138("p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: author.full_name }),
17433
+ /* @__PURE__ */ jsx138("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: author.job_title || "Author" })
17434
+ ] })
17435
+ ] })
17436
+ ]
17437
+ }
17438
+ ),
17439
+ typeof viewCount === "number" && viewCount > 0 && /* @__PURE__ */ jsxs110("div", { className: "flex items-center gap-1.5 text-xs text-ods-text-secondary", children: [
17440
+ /* @__PURE__ */ jsx138(Eye, { className: "w-3.5 h-3.5" }),
17441
+ /* @__PURE__ */ jsxs110("span", { children: [
17442
+ viewCount.toLocaleString(),
17443
+ " views"
17444
+ ] })
17445
+ ] })
17446
+ ] });
17447
+ if (anchorProps) {
17448
+ return /* @__PURE__ */ jsx138("a", { ...anchorProps, className: frameClass, "aria-label": `Open ${title}`, children: innerLayout });
17449
+ }
17450
+ if (onClick) {
17451
+ return /* @__PURE__ */ jsx138(InteractiveCard, { clickable: true, onClick, className: frameClass, children: innerLayout });
17452
+ }
17453
+ return /* @__PURE__ */ jsx138(
17454
+ "div",
17455
+ {
17456
+ className: cn(
17457
+ frameClass.replace("hover:border-ods-accent", "").replace("hover:translate-y-[-2px]", "")
17458
+ ),
17459
+ children: innerLayout
17460
+ }
17461
+ );
17462
+ }
17300
17463
  if (size === "sm") {
17301
17464
  const handleKey = (e) => {
17302
17465
  if (!onClick) return;
@@ -17323,7 +17486,20 @@ function ProductReleaseCard({
17323
17486
  className
17324
17487
  );
17325
17488
  const innerChildren = /* @__PURE__ */ jsxs110(Fragment20, { children: [
17326
- /* @__PURE__ */ jsx138("span", { className: "flex h-14 w-14 aspect-square shrink-0 self-start items-center justify-center rounded-md bg-ods-bg text-ods-accent", children: /* @__PURE__ */ jsx138(Package3, { className: "h-5 w-5" }) }),
17489
+ /* @__PURE__ */ jsxs110("span", { className: "relative flex h-14 w-14 aspect-square shrink-0 self-start items-center justify-center overflow-hidden rounded-md bg-ods-bg text-ods-accent", children: [
17490
+ coverImage ? /* @__PURE__ */ jsx138(
17491
+ Image8,
17492
+ {
17493
+ src: coverImage,
17494
+ alt: title,
17495
+ fill: true,
17496
+ sizes: "56px",
17497
+ className: "object-contain",
17498
+ unoptimized: true
17499
+ }
17500
+ ) : /* @__PURE__ */ jsx138(Package3, { className: "h-5 w-5" }),
17501
+ hasVideoCover && coverImage && /* @__PURE__ */ jsx138("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx138(Play, { className: "h-4 w-4 text-white", fill: "white" }) })
17502
+ ] }),
17327
17503
  /* @__PURE__ */ jsxs110("span", { className: "flex min-w-0 flex-1 flex-col gap-0.5 min-h-14", children: [
17328
17504
  /* @__PURE__ */ jsxs110("span", { className: "flex items-center gap-2 min-w-0 h-5", children: [
17329
17505
  /* @__PURE__ */ jsx138("span", { className: "truncate text-sm font-semibold leading-5 text-ods-text-primary min-w-0", children: title }),
@@ -17420,6 +17596,52 @@ function ProductReleaseCard({
17420
17596
  init_cn();
17421
17597
  import { jsx as jsx139, jsxs as jsxs111 } from "react/jsx-runtime";
17422
17598
  function ProductReleaseCardSkeleton({ className, size = "default" }) {
17599
+ if (size === "catalog") {
17600
+ return /* @__PURE__ */ jsxs111(
17601
+ "div",
17602
+ {
17603
+ className: cn(
17604
+ "bg-ods-system-greys-black border border-ods-border rounded-lg overflow-hidden",
17605
+ "flex flex-col p-6 gap-4",
17606
+ "animate-pulse",
17607
+ className
17608
+ ),
17609
+ children: [
17610
+ /* @__PURE__ */ jsxs111("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
17611
+ /* @__PURE__ */ jsx139("div", { className: "w-full md:w-[256px] aspect-[16/9] bg-ods-bg rounded-lg flex-shrink-0" }),
17612
+ /* @__PURE__ */ jsxs111("div", { className: "flex-1 min-w-0 flex flex-col", children: [
17613
+ /* @__PURE__ */ jsx139("div", { className: "h-6 w-20 bg-ods-bg rounded mb-3" }),
17614
+ /* @__PURE__ */ jsx139("div", { className: "h-7 w-3/4 bg-ods-bg rounded mb-2" }),
17615
+ /* @__PURE__ */ jsx139("div", { className: "h-7 w-1/2 bg-ods-bg rounded mb-3" }),
17616
+ /* @__PURE__ */ jsx139("div", { className: "h-3 w-full bg-ods-bg/60 rounded mb-1" }),
17617
+ /* @__PURE__ */ jsx139("div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" })
17618
+ ] })
17619
+ ] }),
17620
+ /* @__PURE__ */ jsx139("div", { className: "border-t border-ods-border pt-3", children: /* @__PURE__ */ jsx139("div", { className: "h-4 w-2/3 bg-ods-bg/60 rounded" }) }),
17621
+ /* @__PURE__ */ jsxs111("div", { className: "grid grid-cols-1 md:grid-cols-4 border border-ods-border rounded-md overflow-hidden w-full", children: [
17622
+ [0, 1, 2].map((i) => /* @__PURE__ */ jsx139(
17623
+ "div",
17624
+ {
17625
+ className: "bg-ods-card p-4 flex flex-col gap-3 border-b md:border-b-0 md:border-r border-ods-border",
17626
+ children: /* @__PURE__ */ jsxs111("div", { className: "flex flex-col gap-2", children: [
17627
+ /* @__PURE__ */ jsx139("div", { className: "h-6 w-24 bg-ods-bg rounded" }),
17628
+ /* @__PURE__ */ jsx139("div", { className: "h-3 w-16 bg-ods-bg/60 rounded" })
17629
+ ] })
17630
+ },
17631
+ `cell-${i}`
17632
+ )),
17633
+ /* @__PURE__ */ jsxs111("div", { className: "bg-ods-card p-4 flex items-center gap-3", children: [
17634
+ /* @__PURE__ */ jsx139("div", { className: "h-10 w-10 rounded-full bg-ods-bg shrink-0" }),
17635
+ /* @__PURE__ */ jsxs111("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
17636
+ /* @__PURE__ */ jsx139("div", { className: "h-4 w-3/4 bg-ods-bg rounded" }),
17637
+ /* @__PURE__ */ jsx139("div", { className: "h-3 w-1/2 bg-ods-bg/60 rounded" })
17638
+ ] })
17639
+ ] })
17640
+ ] })
17641
+ ]
17642
+ }
17643
+ );
17644
+ }
17423
17645
  if (size === "sm") {
17424
17646
  return /* @__PURE__ */ jsxs111(
17425
17647
  "span",
@@ -17537,6 +17759,7 @@ function ReleaseChangelogSection({
17537
17759
  hideTitle = false,
17538
17760
  collapsible = false,
17539
17761
  defaultCollapsed = true,
17762
+ icon,
17540
17763
  SimpleMarkdownRenderer: SimpleMarkdownRenderer2
17541
17764
  }) {
17542
17765
  const [collapsed, setCollapsed] = useState33(collapsible ? defaultCollapsed : false);
@@ -17551,6 +17774,7 @@ function ReleaseChangelogSection({
17551
17774
  className: "flex items-center justify-between w-full cursor-pointer",
17552
17775
  children: [
17553
17776
  /* @__PURE__ */ jsxs113("h2", { className: `flex items-center gap-2 text-2xl font-bold ${isBreaking ? "text-red-500" : "text-ods-text-primary"}`, children: [
17777
+ icon,
17554
17778
  title,
17555
17779
  /* @__PURE__ */ jsx142(Badge, { variant: "secondary", className: "ml-2", children: entries.length })
17556
17780
  ] }),
@@ -17563,12 +17787,26 @@ function ReleaseChangelogSection({
17563
17787
  ]
17564
17788
  }
17565
17789
  ) : /* @__PURE__ */ jsxs113("h2", { className: `flex items-center gap-2 text-2xl font-bold ${isBreaking ? "text-red-500" : "text-ods-text-primary"}`, children: [
17790
+ icon,
17566
17791
  title,
17567
17792
  /* @__PURE__ */ jsx142(Badge, { variant: "secondary", className: "ml-2", children: entries.length })
17568
17793
  ] })),
17569
17794
  showEntries && /* @__PURE__ */ jsx142("ul", { className: "space-y-6", children: entries.map((entry, index) => /* @__PURE__ */ jsxs113("li", { className: "border-l-2 border-ods-border pl-4 ml-0", children: [
17570
- /* @__PURE__ */ jsx142("p", { className: "font-['DM_Sans'] font-semibold text-[20px] leading-[24px] text-ods-text-primary mb-2", children: entry.title }),
17571
- entry.description && /* @__PURE__ */ jsx142("div", { className: "[&_p]:!font-['DM_Sans'] [&_p]:!font-medium [&_p]:!text-[18px] [&_p]:!leading-[24px] [&_p]:!text-ods-text-primary [&_p]:!my-1", children: /* @__PURE__ */ jsx142(SimpleMarkdownRenderer2, { content: entry.description }) })
17795
+ /* @__PURE__ */ jsx142("p", { className: "text-h3 text-ods-text-primary mb-2", children: entry.title }),
17796
+ entry.description && /* Entry description body text matches the main release
17797
+ summary (release-detail-page.tsx:321) at the SAME 14/18px
17798
+ responsive `text-h4` scale. The `SimpleMarkdownRenderer`
17799
+ forces its own `<p>` typography
17800
+ (`text-[16px] md:text-[18px] lg:text-[20px]`) which
17801
+ overrides the wrapper's `text-h4` on `lg+` viewports and
17802
+ inflates the changelog body to 20px — larger than the
17803
+ main summary AND larger than the entry title.
17804
+ The `[&_p]:!` overrides pin every descendant `<p>` back
17805
+ to the h4 responsive tokens (`var(--font-size-h4-body)`
17806
+ + `var(--font-line-space-h4-body)`) — same variables
17807
+ `text-h4` itself uses, so the responsive breakpoints
17808
+ stay aligned with the rest of the page. */
17809
+ /* @__PURE__ */ jsx142("div", { className: "text-h4 text-ods-text-primary [&_p]:!text-[length:var(--font-size-h4-body)] [&_p]:!leading-[var(--font-line-space-h4-body)] [&_p]:!font-medium", children: /* @__PURE__ */ jsx142(SimpleMarkdownRenderer2, { content: entry.description }) })
17572
17810
  ] }, index)) })
17573
17811
  ] });
17574
17812
  }
@@ -17576,7 +17814,7 @@ function ReleaseChangelogSection({
17576
17814
  // src/components/ui/image-gallery-modal.tsx
17577
17815
  import { useState as useState34, useEffect as useEffect26 } from "react";
17578
17816
  import { ChevronLeft as ChevronLeft3, ChevronRight as ChevronRight7 } from "lucide-react";
17579
- import Image8 from "next/image";
17817
+ import Image9 from "next/image";
17580
17818
  import { Fragment as Fragment21, jsx as jsx143, jsxs as jsxs114 } from "react/jsx-runtime";
17581
17819
  function ImageGalleryModal({
17582
17820
  images,
@@ -17656,7 +17894,7 @@ function ImageGalleryModal({
17656
17894
  ) })
17657
17895
  ] }),
17658
17896
  images[selectedImageIndex] && /* @__PURE__ */ jsx143("div", { className: "relative w-[90vw] h-[90vh] max-w-none flex items-center justify-center", children: /* @__PURE__ */ jsx143(
17659
- Image8,
17897
+ Image9,
17660
17898
  {
17661
17899
  src: images[selectedImageIndex],
17662
17900
  alt: `Screenshot ${selectedImageIndex + 1}`,
@@ -17696,7 +17934,7 @@ function ImageGalleryModal({
17696
17934
  }
17697
17935
 
17698
17936
  // src/components/shared/product-release/release-detail-page.tsx
17699
- import { AlertTriangle, ExternalLink, BookMarked } from "lucide-react";
17937
+ import { AlertTriangle as AlertTriangle2, ExternalLink, BookMarked, Sparkles as Sparkles3, TrendingUp as TrendingUp2, Wrench as Wrench2 } from "lucide-react";
17700
17938
 
17701
17939
  // src/components/layout/page-container.tsx
17702
17940
  init_cn();
@@ -18652,7 +18890,7 @@ function ReleaseDetailPage({
18652
18890
  ] }),
18653
18891
  releaseContent && /* @__PURE__ */ jsx149("div", { className: "text-h4 text-ods-text-primary", children: /* @__PURE__ */ jsx149(MarkdownRenderer, { content: releaseContent }) }),
18654
18892
  hasBreakingChanges && /* @__PURE__ */ jsx149(Card, { className: "border-red-500 bg-red-500/10", children: /* @__PURE__ */ jsx149(CardContent, { className: "p-6", children: /* @__PURE__ */ jsxs120("div", { className: "flex items-center gap-3", children: [
18655
- /* @__PURE__ */ jsx149(AlertTriangle, { className: "h-6 w-6 text-red-500" }),
18893
+ /* @__PURE__ */ jsx149(AlertTriangle2, { className: "h-6 w-6 text-red-500" }),
18656
18894
  /* @__PURE__ */ jsxs120("div", { children: [
18657
18895
  /* @__PURE__ */ jsx149("h3", { className: "font-bold text-red-500 text-lg", children: "Breaking Changes" }),
18658
18896
  /* @__PURE__ */ jsx149("p", { className: "text-ods-text-secondary", children: "This release contains breaking changes. Review carefully before upgrading." })
@@ -18665,6 +18903,7 @@ function ReleaseDetailPage({
18665
18903
  entries: breakingChanges || [],
18666
18904
  isBreaking: true,
18667
18905
  hideTitle: true,
18906
+ icon: /* @__PURE__ */ jsx149(AlertTriangle2, { className: "h-6 w-6" }),
18668
18907
  SimpleMarkdownRenderer: MarkdownRenderer
18669
18908
  }
18670
18909
  ),
@@ -18673,6 +18912,7 @@ function ReleaseDetailPage({
18673
18912
  {
18674
18913
  title: "Features Added",
18675
18914
  entries: featuresAdded || [],
18915
+ icon: /* @__PURE__ */ jsx149(Sparkles3, { className: "h-6 w-6" }),
18676
18916
  SimpleMarkdownRenderer: MarkdownRenderer
18677
18917
  }
18678
18918
  ),
@@ -18681,6 +18921,7 @@ function ReleaseDetailPage({
18681
18921
  {
18682
18922
  title: "Bugs Fixed",
18683
18923
  entries: bugFixed || [],
18924
+ icon: /* @__PURE__ */ jsx149(Wrench2, { className: "h-6 w-6" }),
18684
18925
  SimpleMarkdownRenderer: MarkdownRenderer
18685
18926
  }
18686
18927
  ),
@@ -18689,6 +18930,7 @@ function ReleaseDetailPage({
18689
18930
  {
18690
18931
  title: "Improvements",
18691
18932
  entries: improvements || [],
18933
+ icon: /* @__PURE__ */ jsx149(TrendingUp2, { className: "h-6 w-6" }),
18692
18934
  SimpleMarkdownRenderer: MarkdownRenderer
18693
18935
  }
18694
18936
  ),
@@ -18946,13 +19188,13 @@ InputTrigger.displayName = "InputTrigger";
18946
19188
 
18947
19189
  // src/components/ui/media-type-selector.tsx
18948
19190
  import * as React51 from "react";
18949
- import { Video as Video3, Image as Image9, FileText as FileText3, Archive, CheckSquare, BookOpen, FileType } from "lucide-react";
19191
+ import { Video as Video3, Image as Image10, FileText as FileText3, Archive, CheckSquare, BookOpen, FileType } from "lucide-react";
18950
19192
  import { jsx as jsx154, jsxs as jsxs124 } from "react/jsx-runtime";
18951
19193
  var mediaTypeOptions = [
18952
19194
  { value: "video", label: "Video", icon: /* @__PURE__ */ jsx154(Video3, { className: "h-4 w-4" }) },
18953
- { value: "png", label: "PNG Image", icon: /* @__PURE__ */ jsx154(Image9, { className: "h-4 w-4" }) },
18954
- { value: "jpg", label: "JPG Image", icon: /* @__PURE__ */ jsx154(Image9, { className: "h-4 w-4" }) },
18955
- { value: "svg", label: "SVG Image", icon: /* @__PURE__ */ jsx154(Image9, { className: "h-4 w-4" }) },
19195
+ { value: "png", label: "PNG Image", icon: /* @__PURE__ */ jsx154(Image10, { className: "h-4 w-4" }) },
19196
+ { value: "jpg", label: "JPG Image", icon: /* @__PURE__ */ jsx154(Image10, { className: "h-4 w-4" }) },
19197
+ { value: "svg", label: "SVG Image", icon: /* @__PURE__ */ jsx154(Image10, { className: "h-4 w-4" }) },
18956
19198
  { value: "pdf", label: "PDF", icon: /* @__PURE__ */ jsx154(FileType, { className: "h-4 w-4" }) },
18957
19199
  { value: "document", label: "Document", icon: /* @__PURE__ */ jsx154(FileText3, { className: "h-4 w-4" }) },
18958
19200
  { value: "zip", label: "ZIP Archive", icon: /* @__PURE__ */ jsx154(Archive, { className: "h-4 w-4" }) },
@@ -22612,7 +22854,7 @@ import { Monitor } from "lucide-react";
22612
22854
 
22613
22855
  // src/components/features/organization-icon.tsx
22614
22856
  init_cn();
22615
- import Image10 from "next/image";
22857
+ import Image11 from "next/image";
22616
22858
  import { jsx as jsx200, jsxs as jsxs162 } from "react/jsx-runtime";
22617
22859
  var sizeClasses3 = {
22618
22860
  xs: "w-6 h-6",
@@ -22659,7 +22901,7 @@ function OrganizationIcon({
22659
22901
  backgroundStyle === "white" ? "text-ods-text-primary" : "text-ods-text-secondary"
22660
22902
  ), children: initials }),
22661
22903
  imageUrl && /* @__PURE__ */ jsx200(
22662
- Image10,
22904
+ Image11,
22663
22905
  {
22664
22906
  src: imageUrl,
22665
22907
  alt: `${initials}`,
@@ -23211,7 +23453,7 @@ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
23211
23453
  // src/components/ui/error-state.tsx
23212
23454
  init_button2();
23213
23455
  init_cn();
23214
- import { AlertTriangle as AlertTriangle2, RefreshCw, Home } from "lucide-react";
23456
+ import { AlertTriangle as AlertTriangle3, RefreshCw, Home } from "lucide-react";
23215
23457
  import { jsx as jsx208, jsxs as jsxs168 } from "react/jsx-runtime";
23216
23458
  function ErrorState({
23217
23459
  title = "Error",
@@ -23257,7 +23499,7 @@ function ErrorState({
23257
23499
  styles.border,
23258
23500
  className
23259
23501
  ), children: /* @__PURE__ */ jsxs168("div", { className: "flex items-start gap-3", children: [
23260
- showIcon && /* @__PURE__ */ jsx208(AlertTriangle2, { className: cn("h-5 w-5 mt-0.5 flex-shrink-0", styles.icon) }),
23502
+ showIcon && /* @__PURE__ */ jsx208(AlertTriangle3, { className: cn("h-5 w-5 mt-0.5 flex-shrink-0", styles.icon) }),
23261
23503
  /* @__PURE__ */ jsxs168("div", { className: "flex-1", children: [
23262
23504
  /* @__PURE__ */ jsx208("h3", { className: cn("font-semibold mb-1", styles.text), children: title }),
23263
23505
  /* @__PURE__ */ jsx208("p", { className: cn("text-sm", styles.text), children: message }),
@@ -27799,7 +28041,7 @@ function AuthProvidersList({
27799
28041
  }
27800
28042
 
27801
28043
  // src/components/features/changelog-manager.tsx
27802
- import { Trash2 as Trash23, Plus as Plus3, ChevronDown as ChevronDown7, ChevronUp as ChevronUp3, Eye, EyeOff } from "lucide-react";
28044
+ import { Trash2 as Trash23, Plus as Plus3, ChevronDown as ChevronDown7, ChevronUp as ChevronUp3, Eye as Eye2, EyeOff } from "lucide-react";
27803
28045
  import { useState as useState59, useEffect as useEffect44 } from "react";
27804
28046
  import { jsx as jsx249, jsxs as jsxs205 } from "react/jsx-runtime";
27805
28047
  function ChangelogManager({
@@ -27900,7 +28142,7 @@ function ChangelogManager({
27900
28142
  onClick: () => toggleVisibility(index),
27901
28143
  className: "shrink-0",
27902
28144
  title: (entry.visibility ?? "public") === "public" ? "Visible to investors" : "Internal only",
27903
- children: (entry.visibility ?? "public") === "public" ? /* @__PURE__ */ jsx249(Eye, { className: "h-4 w-4 text-ods-accent" }) : /* @__PURE__ */ jsx249(EyeOff, { className: "h-4 w-4 text-ods-text-secondary" })
28145
+ children: (entry.visibility ?? "public") === "public" ? /* @__PURE__ */ jsx249(Eye2, { className: "h-4 w-4 text-ods-accent" }) : /* @__PURE__ */ jsx249(EyeOff, { className: "h-4 w-4 text-ods-text-secondary" })
27904
28146
  }
27905
28147
  ),
27906
28148
  /* @__PURE__ */ jsx249(
@@ -29240,7 +29482,7 @@ import {
29240
29482
  GripVertical,
29241
29483
  Plus as Plus4
29242
29484
  } from "lucide-react";
29243
- import Image11 from "next/image";
29485
+ import Image12 from "next/image";
29244
29486
  import { jsx as jsx259, jsxs as jsxs212 } from "react/jsx-runtime";
29245
29487
  function MediaGalleryManager({
29246
29488
  media,
@@ -29336,7 +29578,7 @@ function MediaGalleryManager({
29336
29578
  preload: "metadata"
29337
29579
  }
29338
29580
  ) : /* @__PURE__ */ jsx259(
29339
- Image11,
29581
+ Image12,
29340
29582
  {
29341
29583
  src: mediaItem.media_url,
29342
29584
  alt: mediaItem.title || "Media",
@@ -29464,7 +29706,7 @@ function OSTypeBadgeGroup({
29464
29706
 
29465
29707
  // src/components/features/parallax-image-showcase.tsx
29466
29708
  import { useEffect as useEffect48, useState as useState64, useRef as useRef40 } from "react";
29467
- import Image12 from "next/image";
29709
+ import Image13 from "next/image";
29468
29710
  import { motion as motion2, useScroll, useTransform, useMotionValue, useSpring } from "framer-motion";
29469
29711
  import { jsx as jsx262, jsxs as jsxs214 } from "react/jsx-runtime";
29470
29712
  var ParallaxImageShowcase = ({
@@ -29564,7 +29806,7 @@ var ParallaxImageShowcase = ({
29564
29806
  rotate: rotateGrid
29565
29807
  },
29566
29808
  children: /* @__PURE__ */ jsx262(
29567
- Image12,
29809
+ Image13,
29568
29810
  {
29569
29811
  src: leftImage.src,
29570
29812
  alt: leftImage.alt,
@@ -29586,7 +29828,7 @@ var ParallaxImageShowcase = ({
29586
29828
  rotate: rotateGrid
29587
29829
  },
29588
29830
  children: /* @__PURE__ */ jsx262(
29589
- Image12,
29831
+ Image13,
29590
29832
  {
29591
29833
  src: centerImage.src,
29592
29834
  alt: centerImage.alt,
@@ -29608,7 +29850,7 @@ var ParallaxImageShowcase = ({
29608
29850
  rotate: rotateGrid
29609
29851
  },
29610
29852
  children: /* @__PURE__ */ jsx262(
29611
- Image12,
29853
+ Image13,
29612
29854
  {
29613
29855
  src: rightImage.src,
29614
29856
  alt: rightImage.alt,
@@ -29641,7 +29883,7 @@ var ParallaxImageShowcase = ({
29641
29883
  style: { x, y, rotate },
29642
29884
  children: [
29643
29885
  /* @__PURE__ */ jsx262(
29644
- Image12,
29886
+ Image13,
29645
29887
  {
29646
29888
  src: leftImage.src,
29647
29889
  alt: leftImage.alt,
@@ -29661,7 +29903,7 @@ var ParallaxImageShowcase = ({
29661
29903
  style: { x, y, rotate },
29662
29904
  children: [
29663
29905
  /* @__PURE__ */ jsx262(
29664
- Image12,
29906
+ Image13,
29665
29907
  {
29666
29908
  src: centerImage.src,
29667
29909
  alt: centerImage.alt,
@@ -29695,7 +29937,7 @@ var ParallaxImageShowcase = ({
29695
29937
  rotate
29696
29938
  },
29697
29939
  children: /* @__PURE__ */ jsx262(
29698
- Image12,
29940
+ Image13,
29699
29941
  {
29700
29942
  src: rightImage.src,
29701
29943
  alt: rightImage.alt,
@@ -29716,7 +29958,7 @@ var ParallaxImageShowcase = ({
29716
29958
  rotate
29717
29959
  },
29718
29960
  children: /* @__PURE__ */ jsx262(
29719
- Image12,
29961
+ Image13,
29720
29962
  {
29721
29963
  src: centerImage.src,
29722
29964
  alt: centerImage.alt,
@@ -29737,7 +29979,7 @@ var ParallaxImageShowcase = ({
29737
29979
  rotate
29738
29980
  },
29739
29981
  children: /* @__PURE__ */ jsx262(
29740
- Image12,
29982
+ Image13,
29741
29983
  {
29742
29984
  src: leftImage.src,
29743
29985
  alt: leftImage.alt,
@@ -30144,7 +30386,7 @@ function PushButtonSelector({
30144
30386
  // src/components/features/release-media-manager.tsx
30145
30387
  import { useState as useState65, useRef as useRef41 } from "react";
30146
30388
  import { Trash2 as Trash25, Plus as Plus5, Image as ImageIcon3, Video as Video5, Upload as Upload4, Loader2 as Loader28, GripVertical as GripVertical2 } from "lucide-react";
30147
- import Image13 from "next/image";
30389
+ import Image14 from "next/image";
30148
30390
  import { jsx as jsx267, jsxs as jsxs219 } from "react/jsx-runtime";
30149
30391
  function ReleaseMediaManager({
30150
30392
  media,
@@ -30294,7 +30536,7 @@ function ReleaseMediaManager({
30294
30536
  preload: "metadata"
30295
30537
  }
30296
30538
  ) : /* @__PURE__ */ jsx267(
30297
- Image13,
30539
+ Image14,
30298
30540
  {
30299
30541
  src: item.media_url,
30300
30542
  alt: item.title || "Media",
@@ -30415,8 +30657,8 @@ SelectButton.displayName = "SelectButton";
30415
30657
 
30416
30658
  // src/components/features/seo-editor-preview.tsx
30417
30659
  import { useState as useState66 } from "react";
30418
- import { Globe as Globe3, ExternalLink as ExternalLink5, Upload as Upload5, X as X11, Loader2 as Loader29, Sparkles as Sparkles2 } from "lucide-react";
30419
- import Image14 from "next/image";
30660
+ import { Globe as Globe3, ExternalLink as ExternalLink5, Upload as Upload5, X as X11, Loader2 as Loader29, Sparkles as Sparkles4 } from "lucide-react";
30661
+ import Image15 from "next/image";
30420
30662
  import { Fragment as Fragment42, jsx as jsx269, jsxs as jsxs221 } from "react/jsx-runtime";
30421
30663
  function SEOEditorPreview({
30422
30664
  seoTitle,
@@ -30468,7 +30710,7 @@ function SEOEditorPreview({
30468
30710
  /* @__PURE__ */ jsx269(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Title" }),
30469
30711
  aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs221(Fragment42, { children: [
30470
30712
  /* @__PURE__ */ jsxs221(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30471
- /* @__PURE__ */ jsx269(Sparkles2, { className: "h-3 w-3" }),
30713
+ /* @__PURE__ */ jsx269(Sparkles4, { className: "h-3 w-3" }),
30472
30714
  "AI Generated"
30473
30715
  ] }),
30474
30716
  /* @__PURE__ */ jsx269(
@@ -30499,7 +30741,7 @@ function SEOEditorPreview({
30499
30741
  /* @__PURE__ */ jsx269(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Keywords" }),
30500
30742
  aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs221(Fragment42, { children: [
30501
30743
  /* @__PURE__ */ jsxs221(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30502
- /* @__PURE__ */ jsx269(Sparkles2, { className: "h-3 w-3" }),
30744
+ /* @__PURE__ */ jsx269(Sparkles4, { className: "h-3 w-3" }),
30503
30745
  "AI Generated"
30504
30746
  ] }),
30505
30747
  /* @__PURE__ */ jsx269(
@@ -30531,7 +30773,7 @@ function SEOEditorPreview({
30531
30773
  /* @__PURE__ */ jsx269(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Description" }),
30532
30774
  aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs221(Fragment42, { children: [
30533
30775
  /* @__PURE__ */ jsxs221(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30534
- /* @__PURE__ */ jsx269(Sparkles2, { className: "h-3 w-3" }),
30776
+ /* @__PURE__ */ jsx269(Sparkles4, { className: "h-3 w-3" }),
30535
30777
  "AI Generated"
30536
30778
  ] }),
30537
30779
  /* @__PURE__ */ jsx269(
@@ -30563,7 +30805,7 @@ function SEOEditorPreview({
30563
30805
  /* @__PURE__ */ jsxs221("div", { className: "flex-1 relative", children: [
30564
30806
  displayImage && !imageError ? /* @__PURE__ */ jsxs221("div", { className: "relative group h-full min-h-[280px]", children: [
30565
30807
  /* @__PURE__ */ jsx269(
30566
- Image14,
30808
+ Image15,
30567
30809
  {
30568
30810
  src: displayImage,
30569
30811
  alt: "OG Image",
@@ -30631,7 +30873,7 @@ function SEOEditorPreview({
30631
30873
  ] }),
30632
30874
  /* @__PURE__ */ jsxs221("div", { className: "bg-ods-bg border border-ods-border rounded-lg overflow-hidden max-w-[500px]", children: [
30633
30875
  /* @__PURE__ */ jsx269("div", { className: "relative w-full h-[260px] bg-ods-bg-active", children: displayImage && !imageError ? /* @__PURE__ */ jsx269(
30634
- Image14,
30876
+ Image15,
30635
30877
  {
30636
30878
  src: displayImage,
30637
30879
  alt: displayTitle,
@@ -31067,7 +31309,7 @@ function TagsSelector({
31067
31309
  // src/components/features/video-source-selector.tsx
31068
31310
  init_button2();
31069
31311
  import { useState as useState68, useCallback as useCallback31 } from "react";
31070
- import { Upload as Upload6, Sparkles as Sparkles3, X as X13, Video as Video6 } from "lucide-react";
31312
+ import { Upload as Upload6, Sparkles as Sparkles5, X as X13, Video as Video6 } from "lucide-react";
31071
31313
  import { jsx as jsx274, jsxs as jsxs225 } from "react/jsx-runtime";
31072
31314
  function VideoSourceSelector({
31073
31315
  videoSourceType,
@@ -31177,7 +31419,7 @@ function VideoSourceSelector({
31177
31419
  /* @__PURE__ */ jsxs225("div", { className: "flex items-center gap-2", children: [
31178
31420
  /* @__PURE__ */ jsx274(Label, { children: uploadLabel }),
31179
31421
  showAIBadge && isAIGenerated && /* @__PURE__ */ jsxs225(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31180
- /* @__PURE__ */ jsx274(Sparkles3, { className: "h-3 w-3" }),
31422
+ /* @__PURE__ */ jsx274(Sparkles5, { className: "h-3 w-3" }),
31181
31423
  "AI Generated"
31182
31424
  ] })
31183
31425
  ] }),
@@ -31254,7 +31496,7 @@ function VideoSourceSelector({
31254
31496
  }
31255
31497
 
31256
31498
  // src/components/features/transcript-summary-editor.tsx
31257
- import { Sparkles as Sparkles4 } from "lucide-react";
31499
+ import { Sparkles as Sparkles6 } from "lucide-react";
31258
31500
 
31259
31501
  // src/components/features/ai-enrich/ConfidenceBadge.tsx
31260
31502
  init_cn();
@@ -31335,7 +31577,7 @@ function TranscriptSummaryEditor({
31335
31577
  /* @__PURE__ */ jsxs227("div", { className: "flex items-center gap-2", children: [
31336
31578
  /* @__PURE__ */ jsx276(Label, { htmlFor: "video-summary", children: videoSummaryLabel }),
31337
31579
  isAIGenerated && /* @__PURE__ */ jsxs227(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31338
- /* @__PURE__ */ jsx276(Sparkles4, { className: "h-3 w-3" }),
31580
+ /* @__PURE__ */ jsx276(Sparkles6, { className: "h-3 w-3" }),
31339
31581
  "AI Generated"
31340
31582
  ] }),
31341
31583
  videoSummaryConfidence !== void 0 && videoSummaryConfidence !== null && /* @__PURE__ */ jsx276(
@@ -31375,7 +31617,7 @@ function TranscriptSummaryEditor({
31375
31617
  /* @__PURE__ */ jsxs227("div", { className: "flex items-center gap-2", children: [
31376
31618
  /* @__PURE__ */ jsx276(Label, { htmlFor: "transcript", children: transcriptLabel }),
31377
31619
  isAIGenerated && /* @__PURE__ */ jsxs227(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31378
- /* @__PURE__ */ jsx276(Sparkles4, { className: "h-3 w-3" }),
31620
+ /* @__PURE__ */ jsx276(Sparkles6, { className: "h-3 w-3" }),
31379
31621
  "AI Generated"
31380
31622
  ] }),
31381
31623
  transcriptConfidence !== void 0 && transcriptConfidence !== null && /* @__PURE__ */ jsx276(
@@ -31446,7 +31688,7 @@ function TranscriptSummaryEditor({
31446
31688
 
31447
31689
  // src/components/features/highlight-video-section.tsx
31448
31690
  import { useState as useState69 } from "react";
31449
- import { Sparkles as Sparkles5, Upload as Upload7 } from "lucide-react";
31691
+ import { Sparkles as Sparkles7, Upload as Upload7 } from "lucide-react";
31450
31692
  init_button2();
31451
31693
 
31452
31694
  // src/components/features/ai-enrich/AIEnrichSection.tsx
@@ -31810,7 +32052,7 @@ function HighlightVideoSection({
31810
32052
  {
31811
32053
  title: "Highlight Video",
31812
32054
  description: `Generate a ${Math.floor(targetDurationSeconds / 60)}-minute summary video using Claude AI + Shotstack`,
31813
- icon: /* @__PURE__ */ jsx280(Sparkles5, { className: "h-5 w-5" }),
32055
+ icon: /* @__PURE__ */ jsx280(Sparkles7, { className: "h-5 w-5" }),
31814
32056
  buttonLabel: hasExistingHighlight ? "Regenerate Highlight" : "Generate Highlight",
31815
32057
  loadingLabel: "Generating highlight...",
31816
32058
  onEnrich: onGenerateHighlight,
@@ -31830,7 +32072,7 @@ function HighlightVideoSection({
31830
32072
  /* @__PURE__ */ jsxs230("div", { className: "flex items-center gap-2", children: [
31831
32073
  /* @__PURE__ */ jsx280(Label, { children: "Highlight Video" }),
31832
32074
  highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs230(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31833
- /* @__PURE__ */ jsx280(Sparkles5, { className: "h-3 w-3" }),
32075
+ /* @__PURE__ */ jsx280(Sparkles7, { className: "h-3 w-3" }),
31834
32076
  "AI Generated"
31835
32077
  ] }),
31836
32078
  highlightVideoDurationMs && /* @__PURE__ */ jsx280(Badge, { variant: "outline", className: "text-xs", children: formatDuration(highlightVideoDurationMs) })
@@ -31936,7 +32178,7 @@ function HighlightConfigSection({
31936
32178
  }
31937
32179
 
31938
32180
  // src/components/features/entity-summary-editor.tsx
31939
- import { Sparkles as Sparkles6 } from "lucide-react";
32181
+ import { Sparkles as Sparkles8 } from "lucide-react";
31940
32182
  import { jsx as jsx282, jsxs as jsxs232 } from "react/jsx-runtime";
31941
32183
  function EntitySummaryEditor({
31942
32184
  summary = "",
@@ -31955,7 +32197,7 @@ function EntitySummaryEditor({
31955
32197
  /* @__PURE__ */ jsxs232("div", { className: "flex items-center gap-2", children: [
31956
32198
  /* @__PURE__ */ jsx282(Label, { htmlFor: "entity-summary", children: label }),
31957
32199
  isAIGenerated && /* @__PURE__ */ jsxs232(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31958
- /* @__PURE__ */ jsx282(Sparkles6, { className: "h-3 w-3" }),
32200
+ /* @__PURE__ */ jsx282(Sparkles8, { className: "h-3 w-3" }),
31959
32201
  "AI Generated"
31960
32202
  ] }),
31961
32203
  summaryConfidence !== void 0 && summaryConfidence !== null && /* @__PURE__ */ jsx282(
@@ -31993,7 +32235,7 @@ function EntitySummaryEditor({
31993
32235
  }
31994
32236
 
31995
32237
  // src/components/features/transcribe-summarize-section.tsx
31996
- import { Sparkles as Sparkles7 } from "lucide-react";
32238
+ import { Sparkles as Sparkles9 } from "lucide-react";
31997
32239
 
31998
32240
  // src/components/features/ai-enrich/AIStatusIndicator.tsx
31999
32241
  init_cn();
@@ -32125,7 +32367,7 @@ function TranscribeSummarizeSection({
32125
32367
  {
32126
32368
  title,
32127
32369
  description,
32128
- icon: /* @__PURE__ */ jsx285(Sparkles7, { className: "h-5 w-5" }),
32370
+ icon: /* @__PURE__ */ jsx285(Sparkles9, { className: "h-5 w-5" }),
32129
32371
  buttonLabel: buttonLabel || defaultButtonLabel,
32130
32372
  loadingLabel,
32131
32373
  onEnrich: onTranscribe,
@@ -32143,7 +32385,7 @@ function TranscribeSummarizeSection({
32143
32385
  }
32144
32386
 
32145
32387
  // src/components/features/video-clips-section.tsx
32146
- import { Sparkles as Sparkles8 } from "lucide-react";
32388
+ import { Sparkles as Sparkles10 } from "lucide-react";
32147
32389
  import { jsx as jsx286 } from "react/jsx-runtime";
32148
32390
  function VideoClipsSection({
32149
32391
  onExtractClips,
@@ -32168,7 +32410,7 @@ function VideoClipsSection({
32168
32410
  {
32169
32411
  title,
32170
32412
  description,
32171
- icon: /* @__PURE__ */ jsx286(Sparkles8, { className: "h-5 w-5" }),
32413
+ icon: /* @__PURE__ */ jsx286(Sparkles10, { className: "h-5 w-5" }),
32172
32414
  buttonLabel: buttonLabel || defaultButtonLabel,
32173
32415
  loadingLabel,
32174
32416
  onEnrich: onExtractClips,
@@ -32186,7 +32428,7 @@ function VideoClipsSection({
32186
32428
  }
32187
32429
 
32188
32430
  // src/components/features/highlight-generation-section.tsx
32189
- import { Sparkles as Sparkles9 } from "lucide-react";
32431
+ import { Sparkles as Sparkles11 } from "lucide-react";
32190
32432
  import { jsx as jsx287 } from "react/jsx-runtime";
32191
32433
  function HighlightGenerationSection({
32192
32434
  onGenerateHighlight,
@@ -32213,7 +32455,7 @@ function HighlightGenerationSection({
32213
32455
  {
32214
32456
  title,
32215
32457
  description: description || defaultDescription,
32216
- icon: /* @__PURE__ */ jsx287(Sparkles9, { className: "h-5 w-5" }),
32458
+ icon: /* @__PURE__ */ jsx287(Sparkles11, { className: "h-5 w-5" }),
32217
32459
  buttonLabel: buttonLabel || defaultButtonLabel,
32218
32460
  loadingLabel,
32219
32461
  onEnrich: onGenerateHighlight,
@@ -32231,7 +32473,7 @@ function HighlightGenerationSection({
32231
32473
  }
32232
32474
 
32233
32475
  // src/components/features/highlight-video-preview.tsx
32234
- import { Upload as Upload8, Sparkles as Sparkles10 } from "lucide-react";
32476
+ import { Upload as Upload8, Sparkles as Sparkles12 } from "lucide-react";
32235
32477
  init_button2();
32236
32478
  import { jsx as jsx288, jsxs as jsxs235 } from "react/jsx-runtime";
32237
32479
  function HighlightVideoPreview({
@@ -32269,7 +32511,7 @@ function HighlightVideoPreview({
32269
32511
  /* @__PURE__ */ jsxs235("div", { className: "flex items-center gap-2", children: [
32270
32512
  /* @__PURE__ */ jsx288(Label, { children: label }),
32271
32513
  highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs235(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32272
- /* @__PURE__ */ jsx288(Sparkles10, { className: "h-3 w-3" }),
32514
+ /* @__PURE__ */ jsx288(Sparkles12, { className: "h-3 w-3" }),
32273
32515
  "AI Generated"
32274
32516
  ] }),
32275
32517
  highlightVideoDurationMs && /* @__PURE__ */ jsx288(Badge, { variant: "outline", className: "text-xs", children: formatDuration(highlightVideoDurationMs) })
@@ -32298,7 +32540,7 @@ function HighlightVideoPreview({
32298
32540
  }
32299
32541
 
32300
32542
  // src/components/features/transcribe-and-summarize-combined-section.tsx
32301
- import { Sparkles as Sparkles11 } from "lucide-react";
32543
+ import { Sparkles as Sparkles13 } from "lucide-react";
32302
32544
  import { jsx as jsx289, jsxs as jsxs236 } from "react/jsx-runtime";
32303
32545
  function TranscribeAndSummarizeCombinedSection({
32304
32546
  // AIEnrichSection props
@@ -32345,7 +32587,7 @@ function TranscribeAndSummarizeCombinedSection({
32345
32587
  {
32346
32588
  title,
32347
32589
  description,
32348
- icon: /* @__PURE__ */ jsx289(Sparkles11, { className: "h-5 w-5" }),
32590
+ icon: /* @__PURE__ */ jsx289(Sparkles13, { className: "h-5 w-5" }),
32349
32591
  buttonLabel: buttonLabel || defaultButtonLabel,
32350
32592
  loadingLabel,
32351
32593
  onEnrich: onTranscribe,
@@ -32386,7 +32628,7 @@ function TranscribeAndSummarizeCombinedSection({
32386
32628
  }
32387
32629
 
32388
32630
  // src/components/features/highlight-video-combined-section.tsx
32389
- import { Sparkles as Sparkles12, Upload as Upload9 } from "lucide-react";
32631
+ import { Sparkles as Sparkles14, Upload as Upload9 } from "lucide-react";
32390
32632
  init_button2();
32391
32633
  import { jsx as jsx290, jsxs as jsxs237 } from "react/jsx-runtime";
32392
32634
  function HighlightVideoCombinedSection({
@@ -32462,7 +32704,7 @@ function HighlightVideoCombinedSection({
32462
32704
  {
32463
32705
  title,
32464
32706
  description: description || defaultDescription,
32465
- icon: /* @__PURE__ */ jsx290(Sparkles12, { className: "h-5 w-5" }),
32707
+ icon: /* @__PURE__ */ jsx290(Sparkles14, { className: "h-5 w-5" }),
32466
32708
  buttonLabel: buttonLabel || defaultButtonLabel,
32467
32709
  loadingLabel,
32468
32710
  onEnrich: onGenerateHighlight,
@@ -32482,7 +32724,7 @@ function HighlightVideoCombinedSection({
32482
32724
  /* @__PURE__ */ jsxs237("div", { className: "flex items-center gap-2", children: [
32483
32725
  /* @__PURE__ */ jsx290(Label, { children: previewLabel }),
32484
32726
  highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs237(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32485
- /* @__PURE__ */ jsx290(Sparkles12, { className: "h-3 w-3" }),
32727
+ /* @__PURE__ */ jsx290(Sparkles14, { className: "h-3 w-3" }),
32486
32728
  "AI Generated"
32487
32729
  ] }),
32488
32730
  highlightVideoDurationMs && /* @__PURE__ */ jsx290(Badge, { variant: "outline", className: "text-xs", children: formatDuration(highlightVideoDurationMs) })
@@ -34485,4 +34727,4 @@ export {
34485
34727
  TMCG_SOCIAL_PLATFORMS,
34486
34728
  assets
34487
34729
  };
34488
- //# sourceMappingURL=chunk-GIQZAYY5.js.map
34730
+ //# sourceMappingURL=chunk-ZOM75JOY.js.map