@flamingo-stack/openframe-frontend-core 0.0.199 → 0.0.200

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 (33) hide show
  1. package/dist/{chunk-332L6IO7.cjs → chunk-C3M6R6JH.cjs} +456 -194
  2. package/dist/chunk-C3M6R6JH.cjs.map +1 -0
  3. package/dist/{chunk-5URU5DHE.js → chunk-ZOM75JOY.js} +325 -63
  4. package/dist/chunk-ZOM75JOY.js.map +1 -0
  5. package/dist/components/features/index.cjs +2 -2
  6. package/dist/components/features/index.js +1 -1
  7. package/dist/components/index.cjs +2 -2
  8. package/dist/components/index.js +1 -1
  9. package/dist/components/navigation/index.cjs +2 -2
  10. package/dist/components/navigation/index.js +1 -1
  11. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts +1 -1
  12. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts.map +1 -1
  13. package/dist/components/shared/product-release/product-release-card.d.ts +38 -2
  14. package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
  15. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  16. package/dist/components/ui/index.cjs +2 -2
  17. package/dist/components/ui/index.js +1 -1
  18. package/dist/components/ui/release-changelog-section.d.ts +7 -1
  19. package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
  20. package/dist/index.cjs +2 -2
  21. package/dist/index.js +1 -1
  22. package/dist/types/index.cjs.map +1 -1
  23. package/dist/types/index.js.map +1 -1
  24. package/dist/types/product-release.d.ts +12 -0
  25. package/dist/types/product-release.d.ts.map +1 -1
  26. package/package.json +1 -1
  27. package/src/components/shared/product-release/product-release-card-skeleton.tsx +69 -1
  28. package/src/components/shared/product-release/product-release-card.tsx +334 -4
  29. package/src/components/shared/product-release/release-detail-page.tsx +8 -2
  30. package/src/components/ui/release-changelog-section.tsx +29 -2
  31. package/src/types/product-release.ts +12 -0
  32. package/dist/chunk-332L6IO7.cjs.map +0 -1
  33. package/dist/chunk-5URU5DHE.js.map +0 -1
@@ -17264,8 +17264,18 @@ function OnboardingWalkthrough({
17264
17264
  }
17265
17265
 
17266
17266
  // src/components/shared/product-release/product-release-card.tsx
17267
+ import Image8 from "next/image";
17267
17268
  init_cn();
17268
- 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";
17269
17279
  import { Fragment as Fragment20, jsx as jsx138, jsxs as jsxs110 } from "react/jsx-runtime";
17270
17280
  function ProductReleaseCard({
17271
17281
  title,
@@ -17275,8 +17285,181 @@ function ProductReleaseCard({
17275
17285
  onClick,
17276
17286
  anchorProps,
17277
17287
  className,
17278
- size = "default"
17288
+ size = "default",
17289
+ coverImage,
17290
+ hasVideoCover,
17291
+ releaseType,
17292
+ releaseStatus,
17293
+ releaseTypeBadgeColor,
17294
+ viewCount,
17295
+ author,
17296
+ changelogCounts
17279
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
+ }
17280
17463
  if (size === "sm") {
17281
17464
  const handleKey = (e) => {
17282
17465
  if (!onClick) return;
@@ -17303,7 +17486,20 @@ function ProductReleaseCard({
17303
17486
  className
17304
17487
  );
17305
17488
  const innerChildren = /* @__PURE__ */ jsxs110(Fragment20, { children: [
17306
- /* @__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
+ ] }),
17307
17503
  /* @__PURE__ */ jsxs110("span", { className: "flex min-w-0 flex-1 flex-col gap-0.5 min-h-14", children: [
17308
17504
  /* @__PURE__ */ jsxs110("span", { className: "flex items-center gap-2 min-w-0 h-5", children: [
17309
17505
  /* @__PURE__ */ jsx138("span", { className: "truncate text-sm font-semibold leading-5 text-ods-text-primary min-w-0", children: title }),
@@ -17400,6 +17596,52 @@ function ProductReleaseCard({
17400
17596
  init_cn();
17401
17597
  import { jsx as jsx139, jsxs as jsxs111 } from "react/jsx-runtime";
17402
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
+ }
17403
17645
  if (size === "sm") {
17404
17646
  return /* @__PURE__ */ jsxs111(
17405
17647
  "span",
@@ -17517,6 +17759,7 @@ function ReleaseChangelogSection({
17517
17759
  hideTitle = false,
17518
17760
  collapsible = false,
17519
17761
  defaultCollapsed = true,
17762
+ icon,
17520
17763
  SimpleMarkdownRenderer: SimpleMarkdownRenderer2
17521
17764
  }) {
17522
17765
  const [collapsed, setCollapsed] = useState33(collapsible ? defaultCollapsed : false);
@@ -17531,6 +17774,7 @@ function ReleaseChangelogSection({
17531
17774
  className: "flex items-center justify-between w-full cursor-pointer",
17532
17775
  children: [
17533
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,
17534
17778
  title,
17535
17779
  /* @__PURE__ */ jsx142(Badge, { variant: "secondary", className: "ml-2", children: entries.length })
17536
17780
  ] }),
@@ -17543,12 +17787,26 @@ function ReleaseChangelogSection({
17543
17787
  ]
17544
17788
  }
17545
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,
17546
17791
  title,
17547
17792
  /* @__PURE__ */ jsx142(Badge, { variant: "secondary", className: "ml-2", children: entries.length })
17548
17793
  ] })),
17549
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: [
17550
- /* @__PURE__ */ jsx142("p", { className: "font-['DM_Sans'] font-semibold text-[20px] leading-[24px] text-ods-text-primary mb-2", children: entry.title }),
17551
- 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 }) })
17552
17810
  ] }, index)) })
17553
17811
  ] });
17554
17812
  }
@@ -17556,7 +17814,7 @@ function ReleaseChangelogSection({
17556
17814
  // src/components/ui/image-gallery-modal.tsx
17557
17815
  import { useState as useState34, useEffect as useEffect26 } from "react";
17558
17816
  import { ChevronLeft as ChevronLeft3, ChevronRight as ChevronRight7 } from "lucide-react";
17559
- import Image8 from "next/image";
17817
+ import Image9 from "next/image";
17560
17818
  import { Fragment as Fragment21, jsx as jsx143, jsxs as jsxs114 } from "react/jsx-runtime";
17561
17819
  function ImageGalleryModal({
17562
17820
  images,
@@ -17636,7 +17894,7 @@ function ImageGalleryModal({
17636
17894
  ) })
17637
17895
  ] }),
17638
17896
  images[selectedImageIndex] && /* @__PURE__ */ jsx143("div", { className: "relative w-[90vw] h-[90vh] max-w-none flex items-center justify-center", children: /* @__PURE__ */ jsx143(
17639
- Image8,
17897
+ Image9,
17640
17898
  {
17641
17899
  src: images[selectedImageIndex],
17642
17900
  alt: `Screenshot ${selectedImageIndex + 1}`,
@@ -17676,7 +17934,7 @@ function ImageGalleryModal({
17676
17934
  }
17677
17935
 
17678
17936
  // src/components/shared/product-release/release-detail-page.tsx
17679
- 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";
17680
17938
 
17681
17939
  // src/components/layout/page-container.tsx
17682
17940
  init_cn();
@@ -18632,7 +18890,7 @@ function ReleaseDetailPage({
18632
18890
  ] }),
18633
18891
  releaseContent && /* @__PURE__ */ jsx149("div", { className: "text-h4 text-ods-text-primary", children: /* @__PURE__ */ jsx149(MarkdownRenderer, { content: releaseContent }) }),
18634
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: [
18635
- /* @__PURE__ */ jsx149(AlertTriangle, { className: "h-6 w-6 text-red-500" }),
18893
+ /* @__PURE__ */ jsx149(AlertTriangle2, { className: "h-6 w-6 text-red-500" }),
18636
18894
  /* @__PURE__ */ jsxs120("div", { children: [
18637
18895
  /* @__PURE__ */ jsx149("h3", { className: "font-bold text-red-500 text-lg", children: "Breaking Changes" }),
18638
18896
  /* @__PURE__ */ jsx149("p", { className: "text-ods-text-secondary", children: "This release contains breaking changes. Review carefully before upgrading." })
@@ -18645,6 +18903,7 @@ function ReleaseDetailPage({
18645
18903
  entries: breakingChanges || [],
18646
18904
  isBreaking: true,
18647
18905
  hideTitle: true,
18906
+ icon: /* @__PURE__ */ jsx149(AlertTriangle2, { className: "h-6 w-6" }),
18648
18907
  SimpleMarkdownRenderer: MarkdownRenderer
18649
18908
  }
18650
18909
  ),
@@ -18653,6 +18912,7 @@ function ReleaseDetailPage({
18653
18912
  {
18654
18913
  title: "Features Added",
18655
18914
  entries: featuresAdded || [],
18915
+ icon: /* @__PURE__ */ jsx149(Sparkles3, { className: "h-6 w-6" }),
18656
18916
  SimpleMarkdownRenderer: MarkdownRenderer
18657
18917
  }
18658
18918
  ),
@@ -18661,6 +18921,7 @@ function ReleaseDetailPage({
18661
18921
  {
18662
18922
  title: "Bugs Fixed",
18663
18923
  entries: bugFixed || [],
18924
+ icon: /* @__PURE__ */ jsx149(Wrench2, { className: "h-6 w-6" }),
18664
18925
  SimpleMarkdownRenderer: MarkdownRenderer
18665
18926
  }
18666
18927
  ),
@@ -18669,6 +18930,7 @@ function ReleaseDetailPage({
18669
18930
  {
18670
18931
  title: "Improvements",
18671
18932
  entries: improvements || [],
18933
+ icon: /* @__PURE__ */ jsx149(TrendingUp2, { className: "h-6 w-6" }),
18672
18934
  SimpleMarkdownRenderer: MarkdownRenderer
18673
18935
  }
18674
18936
  ),
@@ -18926,13 +19188,13 @@ InputTrigger.displayName = "InputTrigger";
18926
19188
 
18927
19189
  // src/components/ui/media-type-selector.tsx
18928
19190
  import * as React51 from "react";
18929
- 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";
18930
19192
  import { jsx as jsx154, jsxs as jsxs124 } from "react/jsx-runtime";
18931
19193
  var mediaTypeOptions = [
18932
19194
  { value: "video", label: "Video", icon: /* @__PURE__ */ jsx154(Video3, { className: "h-4 w-4" }) },
18933
- { value: "png", label: "PNG Image", icon: /* @__PURE__ */ jsx154(Image9, { className: "h-4 w-4" }) },
18934
- { value: "jpg", label: "JPG Image", icon: /* @__PURE__ */ jsx154(Image9, { className: "h-4 w-4" }) },
18935
- { 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" }) },
18936
19198
  { value: "pdf", label: "PDF", icon: /* @__PURE__ */ jsx154(FileType, { className: "h-4 w-4" }) },
18937
19199
  { value: "document", label: "Document", icon: /* @__PURE__ */ jsx154(FileText3, { className: "h-4 w-4" }) },
18938
19200
  { value: "zip", label: "ZIP Archive", icon: /* @__PURE__ */ jsx154(Archive, { className: "h-4 w-4" }) },
@@ -22592,7 +22854,7 @@ import { Monitor } from "lucide-react";
22592
22854
 
22593
22855
  // src/components/features/organization-icon.tsx
22594
22856
  init_cn();
22595
- import Image10 from "next/image";
22857
+ import Image11 from "next/image";
22596
22858
  import { jsx as jsx200, jsxs as jsxs162 } from "react/jsx-runtime";
22597
22859
  var sizeClasses3 = {
22598
22860
  xs: "w-6 h-6",
@@ -22639,7 +22901,7 @@ function OrganizationIcon({
22639
22901
  backgroundStyle === "white" ? "text-ods-text-primary" : "text-ods-text-secondary"
22640
22902
  ), children: initials }),
22641
22903
  imageUrl && /* @__PURE__ */ jsx200(
22642
- Image10,
22904
+ Image11,
22643
22905
  {
22644
22906
  src: imageUrl,
22645
22907
  alt: `${initials}`,
@@ -23191,7 +23453,7 @@ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
23191
23453
  // src/components/ui/error-state.tsx
23192
23454
  init_button2();
23193
23455
  init_cn();
23194
- import { AlertTriangle as AlertTriangle2, RefreshCw, Home } from "lucide-react";
23456
+ import { AlertTriangle as AlertTriangle3, RefreshCw, Home } from "lucide-react";
23195
23457
  import { jsx as jsx208, jsxs as jsxs168 } from "react/jsx-runtime";
23196
23458
  function ErrorState({
23197
23459
  title = "Error",
@@ -23237,7 +23499,7 @@ function ErrorState({
23237
23499
  styles.border,
23238
23500
  className
23239
23501
  ), children: /* @__PURE__ */ jsxs168("div", { className: "flex items-start gap-3", children: [
23240
- 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) }),
23241
23503
  /* @__PURE__ */ jsxs168("div", { className: "flex-1", children: [
23242
23504
  /* @__PURE__ */ jsx208("h3", { className: cn("font-semibold mb-1", styles.text), children: title }),
23243
23505
  /* @__PURE__ */ jsx208("p", { className: cn("text-sm", styles.text), children: message }),
@@ -27779,7 +28041,7 @@ function AuthProvidersList({
27779
28041
  }
27780
28042
 
27781
28043
  // src/components/features/changelog-manager.tsx
27782
- 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";
27783
28045
  import { useState as useState59, useEffect as useEffect44 } from "react";
27784
28046
  import { jsx as jsx249, jsxs as jsxs205 } from "react/jsx-runtime";
27785
28047
  function ChangelogManager({
@@ -27880,7 +28142,7 @@ function ChangelogManager({
27880
28142
  onClick: () => toggleVisibility(index),
27881
28143
  className: "shrink-0",
27882
28144
  title: (entry.visibility ?? "public") === "public" ? "Visible to investors" : "Internal only",
27883
- 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" })
27884
28146
  }
27885
28147
  ),
27886
28148
  /* @__PURE__ */ jsx249(
@@ -29220,7 +29482,7 @@ import {
29220
29482
  GripVertical,
29221
29483
  Plus as Plus4
29222
29484
  } from "lucide-react";
29223
- import Image11 from "next/image";
29485
+ import Image12 from "next/image";
29224
29486
  import { jsx as jsx259, jsxs as jsxs212 } from "react/jsx-runtime";
29225
29487
  function MediaGalleryManager({
29226
29488
  media,
@@ -29316,7 +29578,7 @@ function MediaGalleryManager({
29316
29578
  preload: "metadata"
29317
29579
  }
29318
29580
  ) : /* @__PURE__ */ jsx259(
29319
- Image11,
29581
+ Image12,
29320
29582
  {
29321
29583
  src: mediaItem.media_url,
29322
29584
  alt: mediaItem.title || "Media",
@@ -29444,7 +29706,7 @@ function OSTypeBadgeGroup({
29444
29706
 
29445
29707
  // src/components/features/parallax-image-showcase.tsx
29446
29708
  import { useEffect as useEffect48, useState as useState64, useRef as useRef40 } from "react";
29447
- import Image12 from "next/image";
29709
+ import Image13 from "next/image";
29448
29710
  import { motion as motion2, useScroll, useTransform, useMotionValue, useSpring } from "framer-motion";
29449
29711
  import { jsx as jsx262, jsxs as jsxs214 } from "react/jsx-runtime";
29450
29712
  var ParallaxImageShowcase = ({
@@ -29544,7 +29806,7 @@ var ParallaxImageShowcase = ({
29544
29806
  rotate: rotateGrid
29545
29807
  },
29546
29808
  children: /* @__PURE__ */ jsx262(
29547
- Image12,
29809
+ Image13,
29548
29810
  {
29549
29811
  src: leftImage.src,
29550
29812
  alt: leftImage.alt,
@@ -29566,7 +29828,7 @@ var ParallaxImageShowcase = ({
29566
29828
  rotate: rotateGrid
29567
29829
  },
29568
29830
  children: /* @__PURE__ */ jsx262(
29569
- Image12,
29831
+ Image13,
29570
29832
  {
29571
29833
  src: centerImage.src,
29572
29834
  alt: centerImage.alt,
@@ -29588,7 +29850,7 @@ var ParallaxImageShowcase = ({
29588
29850
  rotate: rotateGrid
29589
29851
  },
29590
29852
  children: /* @__PURE__ */ jsx262(
29591
- Image12,
29853
+ Image13,
29592
29854
  {
29593
29855
  src: rightImage.src,
29594
29856
  alt: rightImage.alt,
@@ -29621,7 +29883,7 @@ var ParallaxImageShowcase = ({
29621
29883
  style: { x, y, rotate },
29622
29884
  children: [
29623
29885
  /* @__PURE__ */ jsx262(
29624
- Image12,
29886
+ Image13,
29625
29887
  {
29626
29888
  src: leftImage.src,
29627
29889
  alt: leftImage.alt,
@@ -29641,7 +29903,7 @@ var ParallaxImageShowcase = ({
29641
29903
  style: { x, y, rotate },
29642
29904
  children: [
29643
29905
  /* @__PURE__ */ jsx262(
29644
- Image12,
29906
+ Image13,
29645
29907
  {
29646
29908
  src: centerImage.src,
29647
29909
  alt: centerImage.alt,
@@ -29675,7 +29937,7 @@ var ParallaxImageShowcase = ({
29675
29937
  rotate
29676
29938
  },
29677
29939
  children: /* @__PURE__ */ jsx262(
29678
- Image12,
29940
+ Image13,
29679
29941
  {
29680
29942
  src: rightImage.src,
29681
29943
  alt: rightImage.alt,
@@ -29696,7 +29958,7 @@ var ParallaxImageShowcase = ({
29696
29958
  rotate
29697
29959
  },
29698
29960
  children: /* @__PURE__ */ jsx262(
29699
- Image12,
29961
+ Image13,
29700
29962
  {
29701
29963
  src: centerImage.src,
29702
29964
  alt: centerImage.alt,
@@ -29717,7 +29979,7 @@ var ParallaxImageShowcase = ({
29717
29979
  rotate
29718
29980
  },
29719
29981
  children: /* @__PURE__ */ jsx262(
29720
- Image12,
29982
+ Image13,
29721
29983
  {
29722
29984
  src: leftImage.src,
29723
29985
  alt: leftImage.alt,
@@ -30124,7 +30386,7 @@ function PushButtonSelector({
30124
30386
  // src/components/features/release-media-manager.tsx
30125
30387
  import { useState as useState65, useRef as useRef41 } from "react";
30126
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";
30127
- import Image13 from "next/image";
30389
+ import Image14 from "next/image";
30128
30390
  import { jsx as jsx267, jsxs as jsxs219 } from "react/jsx-runtime";
30129
30391
  function ReleaseMediaManager({
30130
30392
  media,
@@ -30274,7 +30536,7 @@ function ReleaseMediaManager({
30274
30536
  preload: "metadata"
30275
30537
  }
30276
30538
  ) : /* @__PURE__ */ jsx267(
30277
- Image13,
30539
+ Image14,
30278
30540
  {
30279
30541
  src: item.media_url,
30280
30542
  alt: item.title || "Media",
@@ -30395,8 +30657,8 @@ SelectButton.displayName = "SelectButton";
30395
30657
 
30396
30658
  // src/components/features/seo-editor-preview.tsx
30397
30659
  import { useState as useState66 } from "react";
30398
- import { Globe as Globe3, ExternalLink as ExternalLink5, Upload as Upload5, X as X11, Loader2 as Loader29, Sparkles as Sparkles2 } from "lucide-react";
30399
- 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";
30400
30662
  import { Fragment as Fragment42, jsx as jsx269, jsxs as jsxs221 } from "react/jsx-runtime";
30401
30663
  function SEOEditorPreview({
30402
30664
  seoTitle,
@@ -30448,7 +30710,7 @@ function SEOEditorPreview({
30448
30710
  /* @__PURE__ */ jsx269(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Title" }),
30449
30711
  aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs221(Fragment42, { children: [
30450
30712
  /* @__PURE__ */ jsxs221(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30451
- /* @__PURE__ */ jsx269(Sparkles2, { className: "h-3 w-3" }),
30713
+ /* @__PURE__ */ jsx269(Sparkles4, { className: "h-3 w-3" }),
30452
30714
  "AI Generated"
30453
30715
  ] }),
30454
30716
  /* @__PURE__ */ jsx269(
@@ -30479,7 +30741,7 @@ function SEOEditorPreview({
30479
30741
  /* @__PURE__ */ jsx269(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Keywords" }),
30480
30742
  aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs221(Fragment42, { children: [
30481
30743
  /* @__PURE__ */ jsxs221(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30482
- /* @__PURE__ */ jsx269(Sparkles2, { className: "h-3 w-3" }),
30744
+ /* @__PURE__ */ jsx269(Sparkles4, { className: "h-3 w-3" }),
30483
30745
  "AI Generated"
30484
30746
  ] }),
30485
30747
  /* @__PURE__ */ jsx269(
@@ -30511,7 +30773,7 @@ function SEOEditorPreview({
30511
30773
  /* @__PURE__ */ jsx269(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Description" }),
30512
30774
  aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs221(Fragment42, { children: [
30513
30775
  /* @__PURE__ */ jsxs221(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30514
- /* @__PURE__ */ jsx269(Sparkles2, { className: "h-3 w-3" }),
30776
+ /* @__PURE__ */ jsx269(Sparkles4, { className: "h-3 w-3" }),
30515
30777
  "AI Generated"
30516
30778
  ] }),
30517
30779
  /* @__PURE__ */ jsx269(
@@ -30543,7 +30805,7 @@ function SEOEditorPreview({
30543
30805
  /* @__PURE__ */ jsxs221("div", { className: "flex-1 relative", children: [
30544
30806
  displayImage && !imageError ? /* @__PURE__ */ jsxs221("div", { className: "relative group h-full min-h-[280px]", children: [
30545
30807
  /* @__PURE__ */ jsx269(
30546
- Image14,
30808
+ Image15,
30547
30809
  {
30548
30810
  src: displayImage,
30549
30811
  alt: "OG Image",
@@ -30611,7 +30873,7 @@ function SEOEditorPreview({
30611
30873
  ] }),
30612
30874
  /* @__PURE__ */ jsxs221("div", { className: "bg-ods-bg border border-ods-border rounded-lg overflow-hidden max-w-[500px]", children: [
30613
30875
  /* @__PURE__ */ jsx269("div", { className: "relative w-full h-[260px] bg-ods-bg-active", children: displayImage && !imageError ? /* @__PURE__ */ jsx269(
30614
- Image14,
30876
+ Image15,
30615
30877
  {
30616
30878
  src: displayImage,
30617
30879
  alt: displayTitle,
@@ -31047,7 +31309,7 @@ function TagsSelector({
31047
31309
  // src/components/features/video-source-selector.tsx
31048
31310
  init_button2();
31049
31311
  import { useState as useState68, useCallback as useCallback31 } from "react";
31050
- 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";
31051
31313
  import { jsx as jsx274, jsxs as jsxs225 } from "react/jsx-runtime";
31052
31314
  function VideoSourceSelector({
31053
31315
  videoSourceType,
@@ -31157,7 +31419,7 @@ function VideoSourceSelector({
31157
31419
  /* @__PURE__ */ jsxs225("div", { className: "flex items-center gap-2", children: [
31158
31420
  /* @__PURE__ */ jsx274(Label, { children: uploadLabel }),
31159
31421
  showAIBadge && isAIGenerated && /* @__PURE__ */ jsxs225(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31160
- /* @__PURE__ */ jsx274(Sparkles3, { className: "h-3 w-3" }),
31422
+ /* @__PURE__ */ jsx274(Sparkles5, { className: "h-3 w-3" }),
31161
31423
  "AI Generated"
31162
31424
  ] })
31163
31425
  ] }),
@@ -31234,7 +31496,7 @@ function VideoSourceSelector({
31234
31496
  }
31235
31497
 
31236
31498
  // src/components/features/transcript-summary-editor.tsx
31237
- import { Sparkles as Sparkles4 } from "lucide-react";
31499
+ import { Sparkles as Sparkles6 } from "lucide-react";
31238
31500
 
31239
31501
  // src/components/features/ai-enrich/ConfidenceBadge.tsx
31240
31502
  init_cn();
@@ -31315,7 +31577,7 @@ function TranscriptSummaryEditor({
31315
31577
  /* @__PURE__ */ jsxs227("div", { className: "flex items-center gap-2", children: [
31316
31578
  /* @__PURE__ */ jsx276(Label, { htmlFor: "video-summary", children: videoSummaryLabel }),
31317
31579
  isAIGenerated && /* @__PURE__ */ jsxs227(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31318
- /* @__PURE__ */ jsx276(Sparkles4, { className: "h-3 w-3" }),
31580
+ /* @__PURE__ */ jsx276(Sparkles6, { className: "h-3 w-3" }),
31319
31581
  "AI Generated"
31320
31582
  ] }),
31321
31583
  videoSummaryConfidence !== void 0 && videoSummaryConfidence !== null && /* @__PURE__ */ jsx276(
@@ -31355,7 +31617,7 @@ function TranscriptSummaryEditor({
31355
31617
  /* @__PURE__ */ jsxs227("div", { className: "flex items-center gap-2", children: [
31356
31618
  /* @__PURE__ */ jsx276(Label, { htmlFor: "transcript", children: transcriptLabel }),
31357
31619
  isAIGenerated && /* @__PURE__ */ jsxs227(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31358
- /* @__PURE__ */ jsx276(Sparkles4, { className: "h-3 w-3" }),
31620
+ /* @__PURE__ */ jsx276(Sparkles6, { className: "h-3 w-3" }),
31359
31621
  "AI Generated"
31360
31622
  ] }),
31361
31623
  transcriptConfidence !== void 0 && transcriptConfidence !== null && /* @__PURE__ */ jsx276(
@@ -31426,7 +31688,7 @@ function TranscriptSummaryEditor({
31426
31688
 
31427
31689
  // src/components/features/highlight-video-section.tsx
31428
31690
  import { useState as useState69 } from "react";
31429
- import { Sparkles as Sparkles5, Upload as Upload7 } from "lucide-react";
31691
+ import { Sparkles as Sparkles7, Upload as Upload7 } from "lucide-react";
31430
31692
  init_button2();
31431
31693
 
31432
31694
  // src/components/features/ai-enrich/AIEnrichSection.tsx
@@ -31790,7 +32052,7 @@ function HighlightVideoSection({
31790
32052
  {
31791
32053
  title: "Highlight Video",
31792
32054
  description: `Generate a ${Math.floor(targetDurationSeconds / 60)}-minute summary video using Claude AI + Shotstack`,
31793
- icon: /* @__PURE__ */ jsx280(Sparkles5, { className: "h-5 w-5" }),
32055
+ icon: /* @__PURE__ */ jsx280(Sparkles7, { className: "h-5 w-5" }),
31794
32056
  buttonLabel: hasExistingHighlight ? "Regenerate Highlight" : "Generate Highlight",
31795
32057
  loadingLabel: "Generating highlight...",
31796
32058
  onEnrich: onGenerateHighlight,
@@ -31810,7 +32072,7 @@ function HighlightVideoSection({
31810
32072
  /* @__PURE__ */ jsxs230("div", { className: "flex items-center gap-2", children: [
31811
32073
  /* @__PURE__ */ jsx280(Label, { children: "Highlight Video" }),
31812
32074
  highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs230(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31813
- /* @__PURE__ */ jsx280(Sparkles5, { className: "h-3 w-3" }),
32075
+ /* @__PURE__ */ jsx280(Sparkles7, { className: "h-3 w-3" }),
31814
32076
  "AI Generated"
31815
32077
  ] }),
31816
32078
  highlightVideoDurationMs && /* @__PURE__ */ jsx280(Badge, { variant: "outline", className: "text-xs", children: formatDuration(highlightVideoDurationMs) })
@@ -31916,7 +32178,7 @@ function HighlightConfigSection({
31916
32178
  }
31917
32179
 
31918
32180
  // src/components/features/entity-summary-editor.tsx
31919
- import { Sparkles as Sparkles6 } from "lucide-react";
32181
+ import { Sparkles as Sparkles8 } from "lucide-react";
31920
32182
  import { jsx as jsx282, jsxs as jsxs232 } from "react/jsx-runtime";
31921
32183
  function EntitySummaryEditor({
31922
32184
  summary = "",
@@ -31935,7 +32197,7 @@ function EntitySummaryEditor({
31935
32197
  /* @__PURE__ */ jsxs232("div", { className: "flex items-center gap-2", children: [
31936
32198
  /* @__PURE__ */ jsx282(Label, { htmlFor: "entity-summary", children: label }),
31937
32199
  isAIGenerated && /* @__PURE__ */ jsxs232(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31938
- /* @__PURE__ */ jsx282(Sparkles6, { className: "h-3 w-3" }),
32200
+ /* @__PURE__ */ jsx282(Sparkles8, { className: "h-3 w-3" }),
31939
32201
  "AI Generated"
31940
32202
  ] }),
31941
32203
  summaryConfidence !== void 0 && summaryConfidence !== null && /* @__PURE__ */ jsx282(
@@ -31973,7 +32235,7 @@ function EntitySummaryEditor({
31973
32235
  }
31974
32236
 
31975
32237
  // src/components/features/transcribe-summarize-section.tsx
31976
- import { Sparkles as Sparkles7 } from "lucide-react";
32238
+ import { Sparkles as Sparkles9 } from "lucide-react";
31977
32239
 
31978
32240
  // src/components/features/ai-enrich/AIStatusIndicator.tsx
31979
32241
  init_cn();
@@ -32105,7 +32367,7 @@ function TranscribeSummarizeSection({
32105
32367
  {
32106
32368
  title,
32107
32369
  description,
32108
- icon: /* @__PURE__ */ jsx285(Sparkles7, { className: "h-5 w-5" }),
32370
+ icon: /* @__PURE__ */ jsx285(Sparkles9, { className: "h-5 w-5" }),
32109
32371
  buttonLabel: buttonLabel || defaultButtonLabel,
32110
32372
  loadingLabel,
32111
32373
  onEnrich: onTranscribe,
@@ -32123,7 +32385,7 @@ function TranscribeSummarizeSection({
32123
32385
  }
32124
32386
 
32125
32387
  // src/components/features/video-clips-section.tsx
32126
- import { Sparkles as Sparkles8 } from "lucide-react";
32388
+ import { Sparkles as Sparkles10 } from "lucide-react";
32127
32389
  import { jsx as jsx286 } from "react/jsx-runtime";
32128
32390
  function VideoClipsSection({
32129
32391
  onExtractClips,
@@ -32148,7 +32410,7 @@ function VideoClipsSection({
32148
32410
  {
32149
32411
  title,
32150
32412
  description,
32151
- icon: /* @__PURE__ */ jsx286(Sparkles8, { className: "h-5 w-5" }),
32413
+ icon: /* @__PURE__ */ jsx286(Sparkles10, { className: "h-5 w-5" }),
32152
32414
  buttonLabel: buttonLabel || defaultButtonLabel,
32153
32415
  loadingLabel,
32154
32416
  onEnrich: onExtractClips,
@@ -32166,7 +32428,7 @@ function VideoClipsSection({
32166
32428
  }
32167
32429
 
32168
32430
  // src/components/features/highlight-generation-section.tsx
32169
- import { Sparkles as Sparkles9 } from "lucide-react";
32431
+ import { Sparkles as Sparkles11 } from "lucide-react";
32170
32432
  import { jsx as jsx287 } from "react/jsx-runtime";
32171
32433
  function HighlightGenerationSection({
32172
32434
  onGenerateHighlight,
@@ -32193,7 +32455,7 @@ function HighlightGenerationSection({
32193
32455
  {
32194
32456
  title,
32195
32457
  description: description || defaultDescription,
32196
- icon: /* @__PURE__ */ jsx287(Sparkles9, { className: "h-5 w-5" }),
32458
+ icon: /* @__PURE__ */ jsx287(Sparkles11, { className: "h-5 w-5" }),
32197
32459
  buttonLabel: buttonLabel || defaultButtonLabel,
32198
32460
  loadingLabel,
32199
32461
  onEnrich: onGenerateHighlight,
@@ -32211,7 +32473,7 @@ function HighlightGenerationSection({
32211
32473
  }
32212
32474
 
32213
32475
  // src/components/features/highlight-video-preview.tsx
32214
- import { Upload as Upload8, Sparkles as Sparkles10 } from "lucide-react";
32476
+ import { Upload as Upload8, Sparkles as Sparkles12 } from "lucide-react";
32215
32477
  init_button2();
32216
32478
  import { jsx as jsx288, jsxs as jsxs235 } from "react/jsx-runtime";
32217
32479
  function HighlightVideoPreview({
@@ -32249,7 +32511,7 @@ function HighlightVideoPreview({
32249
32511
  /* @__PURE__ */ jsxs235("div", { className: "flex items-center gap-2", children: [
32250
32512
  /* @__PURE__ */ jsx288(Label, { children: label }),
32251
32513
  highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs235(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32252
- /* @__PURE__ */ jsx288(Sparkles10, { className: "h-3 w-3" }),
32514
+ /* @__PURE__ */ jsx288(Sparkles12, { className: "h-3 w-3" }),
32253
32515
  "AI Generated"
32254
32516
  ] }),
32255
32517
  highlightVideoDurationMs && /* @__PURE__ */ jsx288(Badge, { variant: "outline", className: "text-xs", children: formatDuration(highlightVideoDurationMs) })
@@ -32278,7 +32540,7 @@ function HighlightVideoPreview({
32278
32540
  }
32279
32541
 
32280
32542
  // src/components/features/transcribe-and-summarize-combined-section.tsx
32281
- import { Sparkles as Sparkles11 } from "lucide-react";
32543
+ import { Sparkles as Sparkles13 } from "lucide-react";
32282
32544
  import { jsx as jsx289, jsxs as jsxs236 } from "react/jsx-runtime";
32283
32545
  function TranscribeAndSummarizeCombinedSection({
32284
32546
  // AIEnrichSection props
@@ -32325,7 +32587,7 @@ function TranscribeAndSummarizeCombinedSection({
32325
32587
  {
32326
32588
  title,
32327
32589
  description,
32328
- icon: /* @__PURE__ */ jsx289(Sparkles11, { className: "h-5 w-5" }),
32590
+ icon: /* @__PURE__ */ jsx289(Sparkles13, { className: "h-5 w-5" }),
32329
32591
  buttonLabel: buttonLabel || defaultButtonLabel,
32330
32592
  loadingLabel,
32331
32593
  onEnrich: onTranscribe,
@@ -32366,7 +32628,7 @@ function TranscribeAndSummarizeCombinedSection({
32366
32628
  }
32367
32629
 
32368
32630
  // src/components/features/highlight-video-combined-section.tsx
32369
- import { Sparkles as Sparkles12, Upload as Upload9 } from "lucide-react";
32631
+ import { Sparkles as Sparkles14, Upload as Upload9 } from "lucide-react";
32370
32632
  init_button2();
32371
32633
  import { jsx as jsx290, jsxs as jsxs237 } from "react/jsx-runtime";
32372
32634
  function HighlightVideoCombinedSection({
@@ -32442,7 +32704,7 @@ function HighlightVideoCombinedSection({
32442
32704
  {
32443
32705
  title,
32444
32706
  description: description || defaultDescription,
32445
- icon: /* @__PURE__ */ jsx290(Sparkles12, { className: "h-5 w-5" }),
32707
+ icon: /* @__PURE__ */ jsx290(Sparkles14, { className: "h-5 w-5" }),
32446
32708
  buttonLabel: buttonLabel || defaultButtonLabel,
32447
32709
  loadingLabel,
32448
32710
  onEnrich: onGenerateHighlight,
@@ -32462,7 +32724,7 @@ function HighlightVideoCombinedSection({
32462
32724
  /* @__PURE__ */ jsxs237("div", { className: "flex items-center gap-2", children: [
32463
32725
  /* @__PURE__ */ jsx290(Label, { children: previewLabel }),
32464
32726
  highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs237(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32465
- /* @__PURE__ */ jsx290(Sparkles12, { className: "h-3 w-3" }),
32727
+ /* @__PURE__ */ jsx290(Sparkles14, { className: "h-3 w-3" }),
32466
32728
  "AI Generated"
32467
32729
  ] }),
32468
32730
  highlightVideoDurationMs && /* @__PURE__ */ jsx290(Badge, { variant: "outline", className: "text-xs", children: formatDuration(highlightVideoDurationMs) })
@@ -34465,4 +34727,4 @@ export {
34465
34727
  TMCG_SOCIAL_PLATFORMS,
34466
34728
  assets
34467
34729
  };
34468
- //# sourceMappingURL=chunk-5URU5DHE.js.map
34730
+ //# sourceMappingURL=chunk-ZOM75JOY.js.map