@flamingo-stack/openframe-frontend-core 0.0.200-snapshot.20260520171313 → 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 (48) hide show
  1. package/dist/{chunk-UCY537V4.cjs → chunk-C3M6R6JH.cjs} +527 -477
  2. package/dist/chunk-C3M6R6JH.cjs.map +1 -0
  3. package/dist/{chunk-55HF462A.js → chunk-TMD44IKJ.js} +2 -2
  4. package/dist/{chunk-3B43AHYE.cjs.map → chunk-TMD44IKJ.js.map} +1 -1
  5. package/dist/{chunk-3B43AHYE.cjs → chunk-V2FNIPZJ.cjs} +2 -2
  6. package/dist/chunk-V2FNIPZJ.cjs.map +1 -0
  7. package/dist/{chunk-CSW5GYBU.js → chunk-ZOM75JOY.js} +765 -715
  8. package/dist/chunk-ZOM75JOY.js.map +1 -0
  9. package/dist/components/features/index.cjs +5 -3
  10. package/dist/components/features/index.cjs.map +1 -1
  11. package/dist/components/features/index.d.ts +1 -0
  12. package/dist/components/features/index.d.ts.map +1 -1
  13. package/dist/components/features/index.js +4 -2
  14. package/dist/components/features/organization-icon.d.ts +80 -0
  15. package/dist/components/features/organization-icon.d.ts.map +1 -0
  16. package/dist/components/index.cjs +3 -3
  17. package/dist/components/index.cjs.map +1 -1
  18. package/dist/components/index.js +4 -4
  19. package/dist/components/layout/title-block.d.ts.map +1 -1
  20. package/dist/components/navigation/index.cjs +3 -3
  21. package/dist/components/navigation/index.js +2 -2
  22. package/dist/components/ui/file-manager/index.cjs +50 -50
  23. package/dist/components/ui/file-manager/index.js +1 -1
  24. package/dist/components/ui/index.cjs +3 -5
  25. package/dist/components/ui/index.cjs.map +1 -1
  26. package/dist/components/ui/index.d.ts +0 -1
  27. package/dist/components/ui/index.d.ts.map +1 -1
  28. package/dist/components/ui/index.js +2 -4
  29. package/dist/components/ui/organization-card.d.ts.map +1 -1
  30. package/dist/index.cjs +3 -3
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.js +4 -4
  33. package/package.json +1 -1
  34. package/src/components/features/index.ts +1 -0
  35. package/src/components/features/organization-icon.tsx +175 -0
  36. package/src/components/layout/title-block.tsx +30 -6
  37. package/src/components/ui/button/button.tsx +1 -1
  38. package/src/components/ui/checkbox-block.tsx +13 -13
  39. package/src/components/ui/index.ts +0 -1
  40. package/src/components/ui/organization-card.tsx +8 -4
  41. package/src/stories/CheckboxBlock.stories.tsx +3 -1
  42. package/src/stories/OrganizationCard.stories.tsx +0 -14
  43. package/dist/chunk-55HF462A.js.map +0 -1
  44. package/dist/chunk-CSW5GYBU.js.map +0 -1
  45. package/dist/chunk-UCY537V4.cjs.map +0 -1
  46. package/dist/components/ui/entity-image.d.ts +0 -9
  47. package/dist/components/ui/entity-image.d.ts.map +0 -1
  48. package/src/components/ui/entity-image.tsx +0 -56
@@ -31,7 +31,7 @@ import {
31
31
  buttonVariants,
32
32
  init_button,
33
33
  init_button2
34
- } from "./chunk-55HF462A.js";
34
+ } from "./chunk-TMD44IKJ.js";
35
35
  import {
36
36
  BashIcon,
37
37
  CmdIcon,
@@ -1289,15 +1289,14 @@ var CheckboxBlock = React4.forwardRef(({ id, checked, defaultChecked, onCheckedC
1289
1289
  {
1290
1290
  htmlFor: id,
1291
1291
  className: cn(
1292
- "flex items-center gap-[var(--spacing-system-s)] rounded-md ring-1 ring-inset w-full",
1292
+ "flex items-center gap-[var(--spacing-system-s)] rounded-[6px] border w-full",
1293
1293
  "p-[var(--spacing-system-sf)]",
1294
- !description && "min-h-[44px] md:min-h-[48px]",
1295
- description && "min-h-[60px] md:min-h-[64px]",
1296
- "bg-ods-card ring-ods-border",
1294
+ !description && "h-11 md:h-12",
1295
+ "bg-ods-card border-ods-border",
1297
1296
  "cursor-pointer transition-colors duration-200",
1298
- "hover:ring-ods-accent/30",
1299
- disabled && "opacity-50 cursor-not-allowed hover:ring-ods-border",
1300
- error && "ring-ods-error"
1297
+ "hover:border-ods-accent/30",
1298
+ disabled && "opacity-50 cursor-not-allowed hover:border-ods-border",
1299
+ error && "border-ods-error"
1301
1300
  ),
1302
1301
  children: [
1303
1302
  /* @__PURE__ */ jsx8(
@@ -1310,7 +1309,7 @@ var CheckboxBlock = React4.forwardRef(({ id, checked, defaultChecked, onCheckedC
1310
1309
  onCheckedChange,
1311
1310
  disabled,
1312
1311
  className: cn(
1313
- "h-4 w-4 md:h-6 md:w-6 shrink-0",
1312
+ "h-6 w-6 shrink-0",
1314
1313
  "rounded-[6px] border-2",
1315
1314
  error ? "border-ods-error" : "border-[var(--color-border-strong)]",
1316
1315
  "bg-ods-card",
@@ -1322,19 +1321,20 @@ var CheckboxBlock = React4.forwardRef(({ id, checked, defaultChecked, onCheckedC
1322
1321
  CheckboxPrimitive.Indicator,
1323
1322
  {
1324
1323
  className: "flex items-center justify-center text-ods-text-on-accent",
1325
- children: /* @__PURE__ */ jsx8(CheckboxCheckmarkIcon, { className: "w-2 h-2 md:w-2.5 md:h-2.5" })
1324
+ children: /* @__PURE__ */ jsx8(CheckboxCheckmarkIcon, { size: 10 })
1326
1325
  }
1327
1326
  )
1328
1327
  }
1329
1328
  ),
1330
1329
  /* @__PURE__ */ jsxs6("div", { className: "flex flex-1 flex-col justify-center min-w-0", children: [
1331
1330
  /* @__PURE__ */ jsx8("span", { className: cn(
1332
- "text-h4 !leading-5 md:!leading-6",
1333
- "text-ods-text-primary select-none break-words"
1331
+ "text-h4",
1332
+ "text-ods-text-primary select-none",
1333
+ !description && "truncate"
1334
1334
  ), children: label }),
1335
1335
  description && /* @__PURE__ */ jsx8("span", { className: cn(
1336
- "text-h6 !leading-4",
1337
- "text-ods-text-secondary select-none break-words"
1336
+ "text-h6",
1337
+ "text-ods-text-secondary select-none"
1338
1338
  ), children: description })
1339
1339
  ] })
1340
1340
  ]
@@ -4044,7 +4044,7 @@ var getInitials = (name) => {
4044
4044
  };
4045
4045
  var SquareAvatar = React10.memo(React10.forwardRef(
4046
4046
  ({ className, src, alt, size = "md", fallback, variant = "square", ...props }, ref) => {
4047
- const sizeClasses4 = {
4047
+ const sizeClasses5 = {
4048
4048
  sm: "h-8 w-8",
4049
4049
  md: "h-10 w-10",
4050
4050
  lg: "h-12 w-12",
@@ -4065,7 +4065,7 @@ var SquareAvatar = React10.memo(React10.forwardRef(
4065
4065
  {
4066
4066
  className: cn(
4067
4067
  "relative flex items-center justify-center shrink-0 overflow-hidden border border-ods-border bg-ods-bg",
4068
- sizeClasses4[size],
4068
+ sizeClasses5[size],
4069
4069
  variantClasses[variant],
4070
4070
  className
4071
4071
  ),
@@ -13078,7 +13078,7 @@ import { jsx as jsx90 } from "react/jsx-runtime";
13078
13078
  var ChevronButton = React35.forwardRef(
13079
13079
  ({ className, direction = "down", size = "md", isExpanded, backgroundColor, borderColor, ...props }, ref) => {
13080
13080
  const Icon2 = (isExpanded ? ChevronUp2 : ChevronDown3) || (direction === "up" ? ChevronUp2 : ChevronDown3);
13081
- const sizeClasses4 = {
13081
+ const sizeClasses5 = {
13082
13082
  sm: "h-4 w-4",
13083
13083
  md: "h-5 w-5",
13084
13084
  lg: "h-6 w-6"
@@ -13097,7 +13097,7 @@ var ChevronButton = React35.forwardRef(
13097
13097
  },
13098
13098
  ref,
13099
13099
  ...props,
13100
- children: /* @__PURE__ */ jsx90(Icon2, { className: sizeClasses4[size] })
13100
+ children: /* @__PURE__ */ jsx90(Icon2, { className: sizeClasses5[size] })
13101
13101
  }
13102
13102
  );
13103
13103
  }
@@ -15261,7 +15261,7 @@ var MediaSkeleton = {
15261
15261
  * Avatar/profile image skeleton
15262
15262
  */
15263
15263
  Avatar: ({ size = "md", className, ...props }) => {
15264
- const sizeClasses4 = {
15264
+ const sizeClasses5 = {
15265
15265
  sm: "h-8 w-8",
15266
15266
  md: "h-12 w-12",
15267
15267
  lg: "h-16 w-16"
@@ -15270,7 +15270,7 @@ var MediaSkeleton = {
15270
15270
  UnifiedSkeleton,
15271
15271
  {
15272
15272
  variant: "circular",
15273
- className: cn(sizeClasses4[size], className),
15273
+ className: cn(sizeClasses5[size], className),
15274
15274
  "aria-label": "Loading profile image",
15275
15275
  ...props
15276
15276
  }
@@ -15292,7 +15292,7 @@ var MediaSkeleton = {
15292
15292
  * Icon skeleton
15293
15293
  */
15294
15294
  Icon: ({ size = "md", className, ...props }) => {
15295
- const sizeClasses4 = {
15295
+ const sizeClasses5 = {
15296
15296
  sm: "h-4 w-4",
15297
15297
  md: "h-6 w-6",
15298
15298
  lg: "h-8 w-8"
@@ -15301,7 +15301,7 @@ var MediaSkeleton = {
15301
15301
  UnifiedSkeleton,
15302
15302
  {
15303
15303
  variant: "default",
15304
- className: cn(sizeClasses4[size], className),
15304
+ className: cn(sizeClasses5[size], className),
15305
15305
  "aria-label": "Loading icon",
15306
15306
  ...props
15307
15307
  }
@@ -18529,7 +18529,7 @@ function renderAdvancedPageContainer({
18529
18529
  md: "p-6",
18530
18530
  lg: "p-8"
18531
18531
  };
18532
- const backgroundClasses3 = {
18532
+ const backgroundClasses4 = {
18533
18533
  default: "bg-ods-bg",
18534
18534
  card: "bg-ods-card",
18535
18535
  transparent: ""
@@ -18614,7 +18614,7 @@ function renderAdvancedPageContainer({
18614
18614
  const getContainerClasses = () => {
18615
18615
  const baseClasses = [
18616
18616
  "flex flex-col w-full",
18617
- backgroundClasses3[background],
18617
+ backgroundClasses4[background],
18618
18618
  paddingClasses[padding]
18619
18619
  ];
18620
18620
  switch (variant) {
@@ -21536,53 +21536,14 @@ init_cn();
21536
21536
 
21537
21537
  // src/components/layout/title-block.tsx
21538
21538
  init_cn();
21539
-
21540
- // src/components/ui/entity-image.tsx
21541
- init_cn();
21542
21539
  import React70 from "react";
21543
- import { jsx as jsx180 } from "react/jsx-runtime";
21540
+ import { jsx as jsx180, jsxs as jsxs146 } from "react/jsx-runtime";
21544
21541
  function getInitials3(name) {
21545
21542
  if (!name) return "";
21546
21543
  const words = name.trim().split(/\s+/);
21547
21544
  if (words.length === 1) return words[0].charAt(0).toUpperCase();
21548
21545
  return (words[0].charAt(0) + words[words.length - 1].charAt(0)).toUpperCase();
21549
21546
  }
21550
- function EntityImage({ src, alt, fallbackText, className }) {
21551
- const [imageFailed, setImageFailed] = React70.useState(false);
21552
- React70.useEffect(() => {
21553
- setImageFailed(false);
21554
- }, [src]);
21555
- const showFallback = imageFailed || !src;
21556
- const initials = getInitials3(fallbackText ?? alt);
21557
- if (showFallback) {
21558
- return /* @__PURE__ */ jsx180(
21559
- "div",
21560
- {
21561
- "aria-label": alt,
21562
- className: cn(
21563
- "size-[52px] md:size-[60px] shrink-0 rounded-md border border-ods-border bg-ods-bg flex items-center justify-center text-ods-text-secondary text-h4 select-none",
21564
- className
21565
- ),
21566
- children: initials || "?"
21567
- }
21568
- );
21569
- }
21570
- return /* @__PURE__ */ jsx180(
21571
- "img",
21572
- {
21573
- src: src ?? void 0,
21574
- alt: alt ?? "",
21575
- onError: () => setImageFailed(true),
21576
- className: cn(
21577
- "size-[52px] md:size-[60px] shrink-0 rounded-md border border-ods-border object-cover",
21578
- className
21579
- )
21580
- }
21581
- );
21582
- }
21583
-
21584
- // src/components/layout/title-block.tsx
21585
- import { jsx as jsx181, jsxs as jsxs146 } from "react/jsx-runtime";
21586
21547
  function TitleBlock({
21587
21548
  title,
21588
21549
  subtitle,
@@ -21596,6 +21557,12 @@ function TitleBlock({
21596
21557
  className
21597
21558
  }) {
21598
21559
  const hasActions = actions && actions.length > 0;
21560
+ const [imageFailed, setImageFailed] = React70.useState(false);
21561
+ React70.useEffect(() => {
21562
+ setImageFailed(false);
21563
+ }, [image?.src]);
21564
+ const showImageFallback = !!image && (imageFailed || !image.src);
21565
+ const initials = getInitials3(image?.alt || title);
21599
21566
  return /* @__PURE__ */ jsxs146(
21600
21567
  "div",
21601
21568
  {
@@ -21614,7 +21581,7 @@ function TitleBlock({
21614
21581
  ),
21615
21582
  children: [
21616
21583
  /* @__PURE__ */ jsxs146("div", { className: "flex flex-col gap-[var(--spacing-system-xs)] flex-1 min-w-0", children: [
21617
- backButton && /* @__PURE__ */ jsx181(
21584
+ backButton && /* @__PURE__ */ jsx180(
21618
21585
  BackButton,
21619
21586
  {
21620
21587
  onClick: backButton.onClick,
@@ -21623,21 +21590,29 @@ function TitleBlock({
21623
21590
  }
21624
21591
  ),
21625
21592
  image || subtitle ? /* @__PURE__ */ jsxs146("div", { className: "flex items-center gap-[var(--spacing-system-m)] min-w-0 w-full", children: [
21626
- image && /* @__PURE__ */ jsx181(
21627
- EntityImage,
21593
+ image && (showImageFallback ? /* @__PURE__ */ jsx180(
21594
+ "div",
21595
+ {
21596
+ "aria-label": image.alt,
21597
+ className: "size-[52px] md:size-[60px] shrink-0 rounded-md border border-ods-border bg-ods-bg flex items-center justify-center text-ods-text-secondary text-h4 select-none",
21598
+ children: initials || "?"
21599
+ }
21600
+ ) : /* @__PURE__ */ jsx180(
21601
+ "img",
21628
21602
  {
21629
21603
  src: image.src,
21630
- alt: image.alt,
21631
- fallbackText: image.alt || title
21604
+ alt: image.alt ?? "",
21605
+ onError: () => setImageFailed(true),
21606
+ className: "size-[52px] md:size-[60px] shrink-0 rounded-md border border-ods-border object-cover"
21632
21607
  }
21633
- ),
21608
+ )),
21634
21609
  /* @__PURE__ */ jsxs146("div", { className: "flex flex-col justify-center min-w-0 flex-1", children: [
21635
- title && /* @__PURE__ */ jsx181("h1", { className: "text-h2 text-ods-text-primary truncate", children: title }),
21636
- subtitle && /* @__PURE__ */ jsx181("p", { className: "text-h6 text-ods-text-secondary truncate", children: subtitle })
21610
+ title && /* @__PURE__ */ jsx180("h1", { className: "text-h2 text-ods-text-primary truncate", children: title }),
21611
+ subtitle && /* @__PURE__ */ jsx180("p", { className: "text-h6 text-ods-text-secondary truncate", children: subtitle })
21637
21612
  ] })
21638
- ] }) : title && /* @__PURE__ */ jsx181("h1", { className: "text-h2 text-ods-text-primary", children: title })
21613
+ ] }) : title && /* @__PURE__ */ jsx180("h1", { className: "text-h2 text-ods-text-primary", children: title })
21639
21614
  ] }),
21640
- (hasActions || selector) && /* @__PURE__ */ jsx181("div", { className: "flex gap-2 items-center shrink-0", children: /* @__PURE__ */ jsx181(
21615
+ (hasActions || selector) && /* @__PURE__ */ jsx180("div", { className: "flex gap-2 items-center shrink-0", children: /* @__PURE__ */ jsx180(
21641
21616
  PageActions,
21642
21617
  {
21643
21618
  variant: actionsVariant,
@@ -21652,7 +21627,7 @@ function TitleBlock({
21652
21627
  }
21653
21628
 
21654
21629
  // src/components/layout/page-layout.tsx
21655
- import { jsx as jsx182, jsxs as jsxs147 } from "react/jsx-runtime";
21630
+ import { jsx as jsx181, jsxs as jsxs147 } from "react/jsx-runtime";
21656
21631
  function PageLayout({
21657
21632
  children,
21658
21633
  title,
@@ -21672,7 +21647,7 @@ function PageLayout({
21672
21647
  const needsBottomPadding = hasActions && actionsVariant === "primary-buttons";
21673
21648
  const hasHeader = showHeader && (title || subtitle || image || backButton || hasActions || selector);
21674
21649
  return /* @__PURE__ */ jsxs147("div", { className: cn("flex flex-col w-full", className), children: [
21675
- hasHeader && /* @__PURE__ */ jsx182(
21650
+ hasHeader && /* @__PURE__ */ jsx181(
21676
21651
  TitleBlock,
21677
21652
  {
21678
21653
  title,
@@ -21686,7 +21661,7 @@ function PageLayout({
21686
21661
  variant: headerVariant
21687
21662
  }
21688
21663
  ),
21689
- /* @__PURE__ */ jsx182("div", { className: cn("flex flex-col flex-1 gap-[var(--spacing-system-l)]", needsBottomPadding && "pb-28 md:pb-0", contentClassName), children })
21664
+ /* @__PURE__ */ jsx181("div", { className: cn("flex flex-col flex-1 gap-[var(--spacing-system-l)]", needsBottomPadding && "pb-28 md:pb-0", contentClassName), children })
21690
21665
  ] });
21691
21666
  }
21692
21667
 
@@ -21700,7 +21675,7 @@ init_cn();
21700
21675
  import * as React71 from "react";
21701
21676
  import * as TogglePrimitive from "@radix-ui/react-toggle";
21702
21677
  import { cva as cva9 } from "class-variance-authority";
21703
- import { jsx as jsx183 } from "react/jsx-runtime";
21678
+ import { jsx as jsx182 } from "react/jsx-runtime";
21704
21679
  var toggleVariants = cva9(
21705
21680
  "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors hover:bg-ods-bg-hover hover:text-ods-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-ods-accent data-[state=on]:text-ods-text-on-accent",
21706
21681
  {
@@ -21721,7 +21696,7 @@ var toggleVariants = cva9(
21721
21696
  }
21722
21697
  }
21723
21698
  );
21724
- var Toggle = React71.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx183(
21699
+ var Toggle = React71.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx182(
21725
21700
  TogglePrimitive.Root,
21726
21701
  {
21727
21702
  ref,
@@ -21732,24 +21707,24 @@ var Toggle = React71.forwardRef(({ className, variant, size, ...props }, ref) =>
21732
21707
  Toggle.displayName = TogglePrimitive.Root.displayName;
21733
21708
 
21734
21709
  // src/components/toggle-group.tsx
21735
- import { jsx as jsx184 } from "react/jsx-runtime";
21710
+ import { jsx as jsx183 } from "react/jsx-runtime";
21736
21711
  var ToggleGroupContext = React72.createContext({
21737
21712
  size: "default",
21738
21713
  variant: "default"
21739
21714
  });
21740
- var ToggleGroup = React72.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx184(
21715
+ var ToggleGroup = React72.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx183(
21741
21716
  ToggleGroupPrimitive.Root,
21742
21717
  {
21743
21718
  ref,
21744
21719
  className: cn("flex items-center justify-center gap-1", className),
21745
21720
  ...props,
21746
- children: /* @__PURE__ */ jsx184(ToggleGroupContext.Provider, { value: { variant, size }, children })
21721
+ children: /* @__PURE__ */ jsx183(ToggleGroupContext.Provider, { value: { variant, size }, children })
21747
21722
  }
21748
21723
  ));
21749
21724
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
21750
21725
  var ToggleGroupItem = React72.forwardRef(({ className, children, variant, size, value, ...props }, ref) => {
21751
21726
  const context = React72.useContext(ToggleGroupContext);
21752
- return /* @__PURE__ */ jsx184(
21727
+ return /* @__PURE__ */ jsx183(
21753
21728
  ToggleGroupPrimitive.Item,
21754
21729
  {
21755
21730
  ref,
@@ -21770,7 +21745,7 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
21770
21745
 
21771
21746
  // src/components/ui/benefit-card.tsx
21772
21747
  import React73 from "react";
21773
- import { jsx as jsx185, jsxs as jsxs148 } from "react/jsx-runtime";
21748
+ import { jsx as jsx184, jsxs as jsxs148 } from "react/jsx-runtime";
21774
21749
  var BenefitCard = ({
21775
21750
  icon,
21776
21751
  title,
@@ -21805,12 +21780,12 @@ var BenefitCard = ({
21805
21780
  styles.container,
21806
21781
  className
21807
21782
  ), children: [
21808
- icon && /* @__PURE__ */ jsx185("div", { children: icon }),
21783
+ icon && /* @__PURE__ */ jsx184("div", { children: icon }),
21809
21784
  /* @__PURE__ */ jsxs148("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
21810
- /* @__PURE__ */ jsx185("h3", { className: cn(
21785
+ /* @__PURE__ */ jsx184("h3", { className: cn(
21811
21786
  styles.title
21812
21787
  ), children: title }),
21813
- /* @__PURE__ */ jsx185("p", { className: cn(
21788
+ /* @__PURE__ */ jsx184("p", { className: cn(
21814
21789
  styles.description
21815
21790
  ), children: description })
21816
21791
  ] })
@@ -21823,7 +21798,7 @@ var BenefitCardGrid = ({
21823
21798
  }) => {
21824
21799
  const childrenArray = React73.Children.toArray(children);
21825
21800
  const gridClass = columns === 4 ? "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4" : columns === 3 ? "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3" : "flex flex-col md:flex-row";
21826
- return /* @__PURE__ */ jsx185("div", { className: cn(
21801
+ return /* @__PURE__ */ jsx184("div", { className: cn(
21827
21802
  "bg-ods-card rounded-lg shadow-ods-card border border-ods-border overflow-hidden",
21828
21803
  gridClass,
21829
21804
  className
@@ -21853,7 +21828,7 @@ var BenefitCardGrid = ({
21853
21828
  init_button2();
21854
21829
  import React74 from "react";
21855
21830
  import { ExternalLink as ExternalLink2 } from "lucide-react";
21856
- import { jsx as jsx186, jsxs as jsxs149 } from "react/jsx-runtime";
21831
+ import { jsx as jsx185, jsxs as jsxs149 } from "react/jsx-runtime";
21857
21832
  function BrandAssociationCard({
21858
21833
  item,
21859
21834
  className = ""
@@ -21863,19 +21838,19 @@ function BrandAssociationCard({
21863
21838
  return item.icon;
21864
21839
  }
21865
21840
  const IconComponent = item.icon;
21866
- return /* @__PURE__ */ jsx186(IconComponent, { size: 120, color: "currentColor", className: "w-20 h-20" });
21841
+ return /* @__PURE__ */ jsx185(IconComponent, { size: 120, color: "currentColor", className: "w-20 h-20" });
21867
21842
  };
21868
- return /* @__PURE__ */ jsx186("div", { className: `bg-ods-bg p-10 relative ${className}`, children: /* @__PURE__ */ jsxs149("div", { className: "space-y-6", children: [
21869
- /* @__PURE__ */ jsx186("div", { className: "w-20 h-20 flex items-center justify-center", children: renderIcon() }),
21870
- /* @__PURE__ */ jsx186("h3", { className: "text-h2 tracking-[-0.64px] text-ods-text-primary", children: item.title }),
21871
- /* @__PURE__ */ jsx186("p", { className: "font-['DM_Sans'] font-normal text-[16px] leading-[1.5] text-ods-text-secondary", children: item.description }),
21843
+ return /* @__PURE__ */ jsx185("div", { className: `bg-ods-bg p-10 relative ${className}`, children: /* @__PURE__ */ jsxs149("div", { className: "space-y-6", children: [
21844
+ /* @__PURE__ */ jsx185("div", { className: "w-20 h-20 flex items-center justify-center", children: renderIcon() }),
21845
+ /* @__PURE__ */ jsx185("h3", { className: "text-h2 tracking-[-0.64px] text-ods-text-primary", children: item.title }),
21846
+ /* @__PURE__ */ jsx185("p", { className: "font-['DM_Sans'] font-normal text-[16px] leading-[1.5] text-ods-text-secondary", children: item.description }),
21872
21847
  /* @__PURE__ */ jsxs149(
21873
21848
  Button,
21874
21849
  {
21875
21850
  variant: "outline",
21876
21851
  href: item.link,
21877
21852
  openInNewTab: true,
21878
- rightIcon: /* @__PURE__ */ jsx186(ExternalLink2, { className: "h-4 w-4" }),
21853
+ rightIcon: /* @__PURE__ */ jsx185(ExternalLink2, { className: "h-4 w-4" }),
21879
21854
  children: [
21880
21855
  "Browse ",
21881
21856
  item.buttonText
@@ -21886,7 +21861,7 @@ function BrandAssociationCard({
21886
21861
  }
21887
21862
 
21888
21863
  // src/components/ui/brand-association-grid.tsx
21889
- import { jsx as jsx187 } from "react/jsx-runtime";
21864
+ import { jsx as jsx186 } from "react/jsx-runtime";
21890
21865
  function BrandAssociationGrid({
21891
21866
  items,
21892
21867
  columns = 2,
@@ -21912,15 +21887,15 @@ function BrandAssociationGrid({
21912
21887
  }
21913
21888
  return classes;
21914
21889
  };
21915
- return /* @__PURE__ */ jsx187("div", { className: `${cardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
21890
+ return /* @__PURE__ */ jsx186("div", { className: `${cardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
21916
21891
  const startIndex = rowIndex * itemsPerRow;
21917
21892
  const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
21918
21893
  const isLastRow = rowIndex === rows - 1;
21919
- return /* @__PURE__ */ jsx187("div", { className: `grid ${gridCols}`, children: rowItems.map((item, itemIndex) => {
21894
+ return /* @__PURE__ */ jsx186("div", { className: `grid ${gridCols}`, children: rowItems.map((item, itemIndex) => {
21920
21895
  const globalIndex = startIndex + itemIndex;
21921
21896
  const isLastInRow = itemIndex === rowItems.length - 1;
21922
21897
  const borderClasses = getBorderClasses(isLastRow, isLastInRow, globalIndex);
21923
- return /* @__PURE__ */ jsx187(
21898
+ return /* @__PURE__ */ jsx186(
21924
21899
  BrandAssociationCard,
21925
21900
  {
21926
21901
  item,
@@ -21933,7 +21908,7 @@ function BrandAssociationGrid({
21933
21908
  }
21934
21909
 
21935
21910
  // src/components/ui/bullet-list.tsx
21936
- import { jsx as jsx188, jsxs as jsxs150 } from "react/jsx-runtime";
21911
+ import { jsx as jsx187, jsxs as jsxs150 } from "react/jsx-runtime";
21937
21912
  var spacingMap = {
21938
21913
  sm: "space-y-2",
21939
21914
  md: "space-y-3",
@@ -21952,15 +21927,15 @@ function BulletList({
21952
21927
  const normalizedItems = items.map(
21953
21928
  (item) => typeof item === "string" ? { text: item, id: void 0 } : item
21954
21929
  );
21955
- return /* @__PURE__ */ jsx188("div", { className: `${spacingMap[spacing]} ${containerClassName}`, children: normalizedItems.map((item, index) => /* @__PURE__ */ jsxs150("div", { className: itemClassName, children: [
21956
- /* @__PURE__ */ jsx188("div", { className: "flex-shrink-0 mt-1", children: /* @__PURE__ */ jsx188(BulletIcon, { size: bulletSize, color: bulletColor }) }),
21957
- /* @__PURE__ */ jsx188("p", { className: textClassName, children: item.text })
21930
+ return /* @__PURE__ */ jsx187("div", { className: `${spacingMap[spacing]} ${containerClassName}`, children: normalizedItems.map((item, index) => /* @__PURE__ */ jsxs150("div", { className: itemClassName, children: [
21931
+ /* @__PURE__ */ jsx187("div", { className: "flex-shrink-0 mt-1", children: /* @__PURE__ */ jsx187(BulletIcon, { size: bulletSize, color: bulletColor }) }),
21932
+ /* @__PURE__ */ jsx187("p", { className: textClassName, children: item.text })
21958
21933
  ] }, item.id || index)) });
21959
21934
  }
21960
21935
 
21961
21936
  // src/components/ui/circular-progress.tsx
21962
21937
  init_cn();
21963
- import { jsx as jsx189, jsxs as jsxs151 } from "react/jsx-runtime";
21938
+ import { jsx as jsx188, jsxs as jsxs151 } from "react/jsx-runtime";
21964
21939
  var SUBTLE_TRACK = "rgba(255, 255, 255, 0.06)";
21965
21940
  var variantColors = {
21966
21941
  success: {
@@ -22016,7 +21991,7 @@ function CircularProgress({
22016
21991
  height: size,
22017
21992
  className: "transform -rotate-90",
22018
21993
  children: [
22019
- /* @__PURE__ */ jsx189(
21994
+ /* @__PURE__ */ jsx188(
22020
21995
  "circle",
22021
21996
  {
22022
21997
  cx: size / 2,
@@ -22027,7 +22002,7 @@ function CircularProgress({
22027
22002
  fill: "none"
22028
22003
  }
22029
22004
  ),
22030
- /* @__PURE__ */ jsx189(
22005
+ /* @__PURE__ */ jsx188(
22031
22006
  "circle",
22032
22007
  {
22033
22008
  cx: size / 2,
@@ -22045,7 +22020,7 @@ function CircularProgress({
22045
22020
  ]
22046
22021
  }
22047
22022
  ),
22048
- showLabel && /* @__PURE__ */ jsx189("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs151("span", { className: "font-medium text-ods-text-primary", style: { fontSize: size <= 40 ? 10 : 12 }, children: [
22023
+ showLabel && /* @__PURE__ */ jsx188("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs151("span", { className: "font-medium text-ods-text-primary", style: { fontSize: size <= 40 ? 10 : 12 }, children: [
22049
22024
  Math.round(labelPercentage),
22050
22025
  labelFormat === "percent" ? "%" : ""
22051
22026
  ] }) })
@@ -22073,7 +22048,7 @@ import {
22073
22048
  safePolygon,
22074
22049
  arrow
22075
22050
  } from "@floating-ui/react";
22076
- import { Fragment as Fragment27, jsx as jsx190, jsxs as jsxs152 } from "react/jsx-runtime";
22051
+ import { Fragment as Fragment27, jsx as jsx189, jsxs as jsxs152 } from "react/jsx-runtime";
22077
22052
  function parseColoredText(text) {
22078
22053
  if (typeof text !== "string") return text;
22079
22054
  const parts = [];
@@ -22084,21 +22059,21 @@ function parseColoredText(text) {
22084
22059
  while ((match = colorRegex.exec(text)) !== null) {
22085
22060
  if (match.index > lastIndex) {
22086
22061
  const beforeText = text.slice(lastIndex, match.index);
22087
- parts.push(/* @__PURE__ */ jsx190("span", { children: beforeText }, `text-${keyIndex++}`));
22062
+ parts.push(/* @__PURE__ */ jsx189("span", { children: beforeText }, `text-${keyIndex++}`));
22088
22063
  }
22089
22064
  const color = match[1].toLowerCase();
22090
22065
  const coloredText = match[2];
22091
22066
  const colorClass = color === "yellow" ? "text-ods-accent" : color === "green" ? "text-ods-success" : color === "red" ? "text-ods-error" : color === "blue" ? "text-ods-info" : color === "pink" ? "text-ods-accent" : color === "cyan" ? "text-ods-info" : "text-ods-accent";
22092
22067
  parts.push(
22093
- /* @__PURE__ */ jsx190("span", { className: cn("font-semibold", colorClass), children: coloredText }, `color-${keyIndex++}`)
22068
+ /* @__PURE__ */ jsx189("span", { className: cn("font-semibold", colorClass), children: coloredText }, `color-${keyIndex++}`)
22094
22069
  );
22095
22070
  lastIndex = match.index + match[0].length;
22096
22071
  }
22097
22072
  if (lastIndex < text.length) {
22098
22073
  const remainingText = text.slice(lastIndex);
22099
- parts.push(/* @__PURE__ */ jsx190("span", { children: remainingText }, `text-${keyIndex++}`));
22074
+ parts.push(/* @__PURE__ */ jsx189("span", { children: remainingText }, `text-${keyIndex++}`));
22100
22075
  }
22101
- return parts.length > 0 ? /* @__PURE__ */ jsx190(Fragment27, { children: parts }) : text;
22076
+ return parts.length > 0 ? /* @__PURE__ */ jsx189(Fragment27, { children: parts }) : text;
22102
22077
  }
22103
22078
  function FloatingTooltip({
22104
22079
  content,
@@ -22151,8 +22126,8 @@ function FloatingTooltip({
22151
22126
  left: "right"
22152
22127
  }[placement.split("-")[0]];
22153
22128
  return /* @__PURE__ */ jsxs152(Fragment27, { children: [
22154
- /* @__PURE__ */ jsx190("div", { ref: refs.setReference, ...getReferenceProps(), children }),
22155
- /* @__PURE__ */ jsx190(FloatingPortal, { children: isOpen && /* @__PURE__ */ jsxs152(
22129
+ /* @__PURE__ */ jsx189("div", { ref: refs.setReference, ...getReferenceProps(), children }),
22130
+ /* @__PURE__ */ jsx189(FloatingPortal, { children: isOpen && /* @__PURE__ */ jsxs152(
22156
22131
  "div",
22157
22132
  {
22158
22133
  ref: refs.setFloating,
@@ -22173,7 +22148,7 @@ function FloatingTooltip({
22173
22148
  ),
22174
22149
  children: [
22175
22150
  parsedContent,
22176
- /* @__PURE__ */ jsx190(
22151
+ /* @__PURE__ */ jsx189(
22177
22152
  "div",
22178
22153
  {
22179
22154
  ref: arrowRef,
@@ -22201,7 +22176,7 @@ function FloatingTooltip({
22201
22176
  }
22202
22177
 
22203
22178
  // src/components/ui/dashboard-info-card.tsx
22204
- import { Fragment as Fragment28, jsx as jsx191, jsxs as jsxs153 } from "react/jsx-runtime";
22179
+ import { Fragment as Fragment28, jsx as jsx190, jsxs as jsxs153 } from "react/jsx-runtime";
22205
22180
  function DashboardInfoCard({
22206
22181
  title,
22207
22182
  value,
@@ -22217,18 +22192,18 @@ function DashboardInfoCard({
22217
22192
  const formattedValue = typeof value === "number" ? value.toLocaleString() : value;
22218
22193
  const cardContent = /* @__PURE__ */ jsxs153(Fragment28, { children: [
22219
22194
  /* @__PURE__ */ jsxs153("div", { className: "flex-1 flex flex-col", children: [
22220
- /* @__PURE__ */ jsx191("p", { className: "text-h5 text-ods-text-secondary", children: title }),
22195
+ /* @__PURE__ */ jsx190("p", { className: "text-h5 text-ods-text-secondary", children: title }),
22221
22196
  /* @__PURE__ */ jsxs153("div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
22222
- /* @__PURE__ */ jsx191("p", { className: cn("text-h2 text-ods-text-primary", valueClassName), children: formattedValue }),
22223
- percentage !== void 0 && (progressVariant === "warning" || progressVariant === "error" ? /* @__PURE__ */ jsx191(Tag, { variant: progressVariant, label: `${percentage}%` }) : /* @__PURE__ */ jsxs153("p", { className: "text-h4 text-ods-text-secondary", children: [
22197
+ /* @__PURE__ */ jsx190("p", { className: cn("text-h2 text-ods-text-primary", valueClassName), children: formattedValue }),
22198
+ percentage !== void 0 && (progressVariant === "warning" || progressVariant === "error" ? /* @__PURE__ */ jsx190(Tag, { variant: progressVariant, label: `${percentage}%` }) : /* @__PURE__ */ jsxs153("p", { className: "text-h4 text-ods-text-secondary", children: [
22224
22199
  "(",
22225
22200
  percentage,
22226
22201
  "%)"
22227
22202
  ] })),
22228
- tooltip && /* @__PURE__ */ jsx191(FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ jsx191("span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ jsx191(QuestionCircleIcon, { size: 20 }) }) })
22203
+ tooltip && /* @__PURE__ */ jsx190(FloatingTooltip, { content: tooltip, side: "top", children: /* @__PURE__ */ jsx190("span", { className: "cursor-help text-ods-text-secondary", children: /* @__PURE__ */ jsx190(QuestionCircleIcon, { size: 20 }) }) })
22229
22204
  ] })
22230
22205
  ] }),
22231
- showProgress && percentage !== void 0 && /* @__PURE__ */ jsx191(
22206
+ showProgress && percentage !== void 0 && /* @__PURE__ */ jsx190(
22232
22207
  CircularProgress,
22233
22208
  {
22234
22209
  percentage,
@@ -22240,7 +22215,7 @@ function DashboardInfoCard({
22240
22215
  ] });
22241
22216
  const baseClassName = "bg-ods-card border border-ods-border rounded-sm p-[var(--spacing-system-m)] flex gap-[var(--spacing-system-s)] items-center transition-all";
22242
22217
  if (href) {
22243
- return /* @__PURE__ */ jsx191(
22218
+ return /* @__PURE__ */ jsx190(
22244
22219
  Link6,
22245
22220
  {
22246
22221
  href,
@@ -22255,7 +22230,7 @@ function DashboardInfoCard({
22255
22230
  }
22256
22231
  );
22257
22232
  }
22258
- return /* @__PURE__ */ jsx191(
22233
+ return /* @__PURE__ */ jsx190(
22259
22234
  "div",
22260
22235
  {
22261
22236
  className: cn(
@@ -22272,7 +22247,7 @@ init_cn();
22272
22247
 
22273
22248
  // src/components/features/os-type-badge.tsx
22274
22249
  init_cn();
22275
- import { jsx as jsx192, jsxs as jsxs154 } from "react/jsx-runtime";
22250
+ import { jsx as jsx191, jsxs as jsxs154 } from "react/jsx-runtime";
22276
22251
  var OSTypeBadge = ({
22277
22252
  osType,
22278
22253
  className = "",
@@ -22283,20 +22258,20 @@ var OSTypeBadge = ({
22283
22258
  rightIcon = null
22284
22259
  }) => {
22285
22260
  if (!osType) {
22286
- return labelOnly ? /* @__PURE__ */ jsx192("span", { className: cn("text-ods-text-secondary", className), children: "Unknown" }) : null;
22261
+ return labelOnly ? /* @__PURE__ */ jsx191("span", { className: cn("text-ods-text-secondary", className), children: "Unknown" }) : null;
22287
22262
  }
22288
22263
  const normalized = normalizeOSType(osType);
22289
22264
  if (!normalized && !labelOnly) return null;
22290
22265
  const label = getOSLabel(osType);
22291
22266
  const IconComponent = getOSIcon(osType);
22292
22267
  if (iconOnly && IconComponent) {
22293
- return /* @__PURE__ */ jsx192(IconComponent, { className: cn(iconSize, "text-ods-text-secondary", className) });
22268
+ return /* @__PURE__ */ jsx191(IconComponent, { className: cn(iconSize, "text-ods-text-secondary", className) });
22294
22269
  }
22295
22270
  if (labelOnly) {
22296
- return /* @__PURE__ */ jsx192("span", { className: cn("text-ods-text-primary", className), children: label });
22271
+ return /* @__PURE__ */ jsx191("span", { className: cn("text-ods-text-primary", className), children: label });
22297
22272
  }
22298
22273
  return /* @__PURE__ */ jsxs154("div", { className: cn("flex items-center gap-1 text-ods-text-primary text-[14px] leading-[20px] md:text-[18px] md:leading-[24px]", className), children: [
22299
- IconComponent && /* @__PURE__ */ jsx192(IconComponent, { className: iconSize, color: iconColor }),
22274
+ IconComponent && /* @__PURE__ */ jsx191(IconComponent, { className: iconSize, color: iconColor }),
22300
22275
  label,
22301
22276
  rightIcon && rightIcon
22302
22277
  ] });
@@ -22307,7 +22282,7 @@ var OSTypeIcon = ({
22307
22282
  size = "w-4 h-4",
22308
22283
  className = ""
22309
22284
  }) => {
22310
- return /* @__PURE__ */ jsx192(
22285
+ return /* @__PURE__ */ jsx191(
22311
22286
  OSTypeBadge,
22312
22287
  {
22313
22288
  osType,
@@ -22322,7 +22297,7 @@ var OSTypeLabel = ({
22322
22297
  osType,
22323
22298
  className = ""
22324
22299
  }) => {
22325
- return /* @__PURE__ */ jsx192(
22300
+ return /* @__PURE__ */ jsx191(
22326
22301
  OSTypeBadge,
22327
22302
  {
22328
22303
  osType,
@@ -22334,7 +22309,7 @@ var OSTypeLabel = ({
22334
22309
  OSTypeLabel.displayName = "OSTypeLabel";
22335
22310
 
22336
22311
  // src/components/ui/device-card.tsx
22337
- import { jsx as jsx193, jsxs as jsxs155 } from "react/jsx-runtime";
22312
+ import { jsx as jsx192, jsxs as jsxs155 } from "react/jsx-runtime";
22338
22313
  function DeviceCard({
22339
22314
  device,
22340
22315
  actions = {
@@ -22368,10 +22343,10 @@ function DeviceCard({
22368
22343
  ...props,
22369
22344
  children: [
22370
22345
  /* @__PURE__ */ jsxs155("div", { className: "flex gap-4 items-center w-full", children: [
22371
- /* @__PURE__ */ jsx193("div", { className: "flex items-center justify-center p-2 rounded-[6px] border border-ods-border shrink-0", children: /* @__PURE__ */ jsx193(MonitorIcon, { className: "text-ods-text-secondary", size: 16 }) }),
22346
+ /* @__PURE__ */ jsx192("div", { className: "flex items-center justify-center p-2 rounded-[6px] border border-ods-border shrink-0", children: /* @__PURE__ */ jsx192(MonitorIcon, { className: "text-ods-text-secondary", size: 16 }) }),
22372
22347
  /* @__PURE__ */ jsxs155("div", { className: "flex-1 min-w-0 flex flex-col justify-center", children: [
22373
22348
  /* @__PURE__ */ jsxs155("div", { className: "flex gap-1 items-center", children: [
22374
- device.operatingSystem && /* @__PURE__ */ jsx193(
22349
+ device.operatingSystem && /* @__PURE__ */ jsx192(
22375
22350
  OSTypeIcon,
22376
22351
  {
22377
22352
  osType: device.operatingSystem === "macos" ? "darwin" : device.operatingSystem,
@@ -22379,11 +22354,11 @@ function DeviceCard({
22379
22354
  className: "shrink-0"
22380
22355
  }
22381
22356
  ),
22382
- /* @__PURE__ */ jsx193("span", { className: "text-h4 text-ods-text-primary truncate", children: device.name })
22357
+ /* @__PURE__ */ jsx192("span", { className: "text-h4 text-ods-text-primary truncate", children: device.name })
22383
22358
  ] }),
22384
- device.organization && /* @__PURE__ */ jsx193("span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", children: device.organization })
22359
+ device.organization && /* @__PURE__ */ jsx192("span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", children: device.organization })
22385
22360
  ] }),
22386
- actions.moreButton?.visible !== false && /* @__PURE__ */ jsx193(
22361
+ actions.moreButton?.visible !== false && /* @__PURE__ */ jsx192(
22387
22362
  "div",
22388
22363
  {
22389
22364
  className: "flex items-center justify-center p-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
@@ -22391,12 +22366,12 @@ function DeviceCard({
22391
22366
  e.stopPropagation();
22392
22367
  actions.moreButton?.onClick?.();
22393
22368
  },
22394
- children: /* @__PURE__ */ jsx193(Ellipsis01Icon, { className: "text-ods-text-primary" })
22369
+ children: /* @__PURE__ */ jsx192(Ellipsis01Icon, { className: "text-ods-text-primary" })
22395
22370
  }
22396
22371
  ),
22397
- actions.detailsButton?.visible !== false && actions.detailsButton?.component && /* @__PURE__ */ jsx193("div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22372
+ actions.detailsButton?.visible !== false && actions.detailsButton?.component && /* @__PURE__ */ jsx192("div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22398
22373
  actions.customActions?.map(
22399
- (action, index) => action.visible !== false && /* @__PURE__ */ jsx193(
22374
+ (action, index) => action.visible !== false && /* @__PURE__ */ jsx192(
22400
22375
  "div",
22401
22376
  {
22402
22377
  className: "flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
@@ -22404,14 +22379,14 @@ function DeviceCard({
22404
22379
  e.stopPropagation();
22405
22380
  action.onClick?.();
22406
22381
  },
22407
- children: /* @__PURE__ */ jsx193("span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
22382
+ children: /* @__PURE__ */ jsx192("span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
22408
22383
  },
22409
22384
  index
22410
22385
  )
22411
22386
  )
22412
22387
  ] }),
22413
22388
  (statusTag || device.lastSeen) && /* @__PURE__ */ jsxs155("div", { className: "flex gap-2 items-center w-full", children: [
22414
- statusTag && /* @__PURE__ */ jsx193(
22389
+ statusTag && /* @__PURE__ */ jsx192(
22415
22390
  Tag,
22416
22391
  {
22417
22392
  variant: statusTag.variant,
@@ -22426,7 +22401,7 @@ function DeviceCard({
22426
22401
  formatLastSeen(device.lastSeen)
22427
22402
  ] })
22428
22403
  ] }),
22429
- device.tags && device.tags.length > 0 && /* @__PURE__ */ jsx193("div", { className: "flex gap-2 items-center w-full flex-wrap", children: device.tags.map((tag, index) => /* @__PURE__ */ jsx193(Tag, { variant: "outline", label: tag }, index)) })
22404
+ device.tags && device.tags.length > 0 && /* @__PURE__ */ jsx192("div", { className: "flex gap-2 items-center w-full flex-wrap", children: device.tags.map((tag, index) => /* @__PURE__ */ jsx192(Tag, { variant: "outline", label: tag }, index)) })
22430
22405
  ]
22431
22406
  }
22432
22407
  );
@@ -22434,7 +22409,7 @@ function DeviceCard({
22434
22409
 
22435
22410
  // src/components/ui/device-card-compact.tsx
22436
22411
  init_cn();
22437
- import { Fragment as Fragment29, jsx as jsx194, jsxs as jsxs156 } from "react/jsx-runtime";
22412
+ import { Fragment as Fragment29, jsx as jsx193, jsxs as jsxs156 } from "react/jsx-runtime";
22438
22413
  function DeviceCardCompact({
22439
22414
  deviceName,
22440
22415
  organization,
@@ -22444,7 +22419,7 @@ function DeviceCardCompact({
22444
22419
  const hasName = deviceName && deviceName !== "-" && deviceName !== "null";
22445
22420
  const hasOrg = organization && organization !== "-" && organization !== "null";
22446
22421
  if (!hasName && !hasOrg) {
22447
- return /* @__PURE__ */ jsx194(Fragment29, {});
22422
+ return /* @__PURE__ */ jsx193(Fragment29, {});
22448
22423
  }
22449
22424
  return /* @__PURE__ */ jsxs156(
22450
22425
  "div",
@@ -22455,15 +22430,15 @@ function DeviceCardCompact({
22455
22430
  ),
22456
22431
  ...props,
22457
22432
  children: [
22458
- hasName && /* @__PURE__ */ jsx194("span", { className: "font-['DM_Sans'] font-medium text-[16px] leading-[20px] text-ods-text-primary truncate", children: deviceName }),
22459
- hasOrg && /* @__PURE__ */ jsx194("span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[18px] text-ods-text-secondary truncate", children: organization })
22433
+ hasName && /* @__PURE__ */ jsx193("span", { className: "font-['DM_Sans'] font-medium text-[16px] leading-[20px] text-ods-text-primary truncate", children: deviceName }),
22434
+ hasOrg && /* @__PURE__ */ jsx193("span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[18px] text-ods-text-secondary truncate", children: organization })
22460
22435
  ]
22461
22436
  }
22462
22437
  );
22463
22438
  }
22464
22439
 
22465
22440
  // src/components/ui/feature-card.tsx
22466
- import { jsx as jsx195, jsxs as jsxs157 } from "react/jsx-runtime";
22441
+ import { jsx as jsx194, jsxs as jsxs157 } from "react/jsx-runtime";
22467
22442
  function FeatureCardGrid({
22468
22443
  items,
22469
22444
  columns = 3,
@@ -22503,11 +22478,11 @@ function FeatureCardGrid({
22503
22478
  if (allCardsHaveNoBorders) {
22504
22479
  finalCardClassName = "bg-transparent p-0 overflow-visible border-0 shadow-none rounded-none";
22505
22480
  }
22506
- return /* @__PURE__ */ jsx195(Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
22481
+ return /* @__PURE__ */ jsx194(Card, { className: `${finalCardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
22507
22482
  const startIndex = rowIndex * itemsPerRow;
22508
22483
  const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
22509
22484
  const isLastRow = rowIndex === rows - 1;
22510
- return /* @__PURE__ */ jsx195("div", { className: `grid ${gridCols} ${cardGap}`, children: rowItems.map((item, itemIndex) => {
22485
+ return /* @__PURE__ */ jsx194("div", { className: `grid ${gridCols} ${cardGap}`, children: rowItems.map((item, itemIndex) => {
22511
22486
  const globalIndex = startIndex + itemIndex;
22512
22487
  const isLastInRow = itemIndex === rowItems.length - 1;
22513
22488
  const borderClasses = getBorderClasses(isLastRow, isLastInRow, globalIndex);
@@ -22524,15 +22499,15 @@ function FeatureCardGrid({
22524
22499
  if (roundedCorners) {
22525
22500
  finalItemClassName += " rounded-lg";
22526
22501
  }
22527
- return /* @__PURE__ */ jsx195(
22502
+ return /* @__PURE__ */ jsx194(
22528
22503
  "div",
22529
22504
  {
22530
22505
  className: `${finalItemClassName}${finalBorderClasses} relative`,
22531
22506
  style: item.customBackground ? { backgroundColor: item.customBackground } : void 0,
22532
22507
  children: /* @__PURE__ */ jsxs157("div", { className: !item.icon && !item.title ? "flex flex-col h-full" : "space-y-6", children: [
22533
22508
  item.icon && /* @__PURE__ */ jsxs157("div", { className: "flex items-start justify-between", children: [
22534
- /* @__PURE__ */ jsx195(item.icon, { size: 80, color: item.iconColor }),
22535
- item.badge && /* @__PURE__ */ jsx195(
22509
+ /* @__PURE__ */ jsx194(item.icon, { size: 80, color: item.iconColor }),
22510
+ item.badge && /* @__PURE__ */ jsx194(
22536
22511
  StatusBadge,
22537
22512
  {
22538
22513
  text: item.badge.text,
@@ -22541,7 +22516,7 @@ function FeatureCardGrid({
22541
22516
  }
22542
22517
  )
22543
22518
  ] }),
22544
- !item.icon && item.badge && /* @__PURE__ */ jsx195("div", { className: "flex items-start justify-end", children: /* @__PURE__ */ jsx195(
22519
+ !item.icon && item.badge && /* @__PURE__ */ jsx194("div", { className: "flex items-start justify-end", children: /* @__PURE__ */ jsx194(
22545
22520
  StatusBadge,
22546
22521
  {
22547
22522
  text: item.badge.text,
@@ -22549,7 +22524,7 @@ function FeatureCardGrid({
22549
22524
  colorScheme: item.badge.colorScheme || "default"
22550
22525
  }
22551
22526
  ) }),
22552
- /* @__PURE__ */ jsx195("h3", { className: "text-h2 tracking-[-0.64px] text-ods-text-primary whitespace-pre-line", children: item.title }),
22527
+ /* @__PURE__ */ jsx194("h3", { className: "text-h2 tracking-[-0.64px] text-ods-text-primary whitespace-pre-line", children: item.title }),
22553
22528
  item.content
22554
22529
  ] })
22555
22530
  },
@@ -22560,13 +22535,13 @@ function FeatureCardGrid({
22560
22535
  }
22561
22536
 
22562
22537
  // src/components/ui/feature-list.tsx
22563
- import { jsx as jsx196, jsxs as jsxs158 } from "react/jsx-runtime";
22538
+ import { jsx as jsx195, jsxs as jsxs158 } from "react/jsx-runtime";
22564
22539
  function FeatureList({
22565
22540
  items,
22566
22541
  className = "",
22567
22542
  iconBoxSize = 72
22568
22543
  }) {
22569
- return /* @__PURE__ */ jsx196(
22544
+ return /* @__PURE__ */ jsx195(
22570
22545
  "div",
22571
22546
  {
22572
22547
  className: `bg-ods-bg border border-ods-border rounded-[6px] flex flex-col overflow-hidden ${className}`,
@@ -22575,7 +22550,7 @@ function FeatureList({
22575
22550
  {
22576
22551
  className: `bg-ods-card flex gap-4 items-start p-4 w-full ${index < items.length - 1 ? "border-b border-ods-border" : ""}`,
22577
22552
  children: [
22578
- /* @__PURE__ */ jsx196(
22553
+ /* @__PURE__ */ jsx195(
22579
22554
  "div",
22580
22555
  {
22581
22556
  className: "bg-ods-bg border border-ods-border flex items-center justify-center rounded-[6px] shrink-0",
@@ -22584,8 +22559,8 @@ function FeatureList({
22584
22559
  }
22585
22560
  ),
22586
22561
  /* @__PURE__ */ jsxs158("div", { className: "flex flex-col gap-1 flex-1 min-w-0", children: [
22587
- /* @__PURE__ */ jsx196("p", { className: "text-h3 text-ods-text-primary", children: item.title }),
22588
- /* @__PURE__ */ jsx196("p", { className: "text-h6 text-ods-text-secondary normal-case tracking-normal", children: item.description })
22562
+ /* @__PURE__ */ jsx195("p", { className: "text-h3 text-ods-text-primary", children: item.title }),
22563
+ /* @__PURE__ */ jsx195("p", { className: "text-h6 text-ods-text-secondary normal-case tracking-normal", children: item.description })
22589
22564
  ] })
22590
22565
  ]
22591
22566
  },
@@ -22596,15 +22571,15 @@ function FeatureList({
22596
22571
  }
22597
22572
 
22598
22573
  // src/components/ui/highlight-card.tsx
22599
- import { jsx as jsx197, jsxs as jsxs159 } from "react/jsx-runtime";
22574
+ import { jsx as jsx196, jsxs as jsxs159 } from "react/jsx-runtime";
22600
22575
  function HighlightCard({
22601
22576
  item,
22602
22577
  className = ""
22603
22578
  }) {
22604
22579
  const mobileWidth = item.category.length * 12;
22605
22580
  const desktopWidth = item.category.length * 14;
22606
- return /* @__PURE__ */ jsx197("div", { className: `bg-ods-bg p-6 md:p-10 relative ${className}`, children: /* @__PURE__ */ jsxs159("div", { className: "relative", children: [
22607
- /* @__PURE__ */ jsx197(
22581
+ return /* @__PURE__ */ jsx196("div", { className: `bg-ods-bg p-6 md:p-10 relative ${className}`, children: /* @__PURE__ */ jsxs159("div", { className: "relative", children: [
22582
+ /* @__PURE__ */ jsx196(
22608
22583
  "div",
22609
22584
  {
22610
22585
  className: "absolute rounded-md h-8 left-[80px] top-0 md:hidden",
@@ -22614,7 +22589,7 @@ function HighlightCard({
22614
22589
  }
22615
22590
  }
22616
22591
  ),
22617
- /* @__PURE__ */ jsx197(
22592
+ /* @__PURE__ */ jsx196(
22618
22593
  "div",
22619
22594
  {
22620
22595
  className: "absolute rounded-md h-10 left-[95px] top-0 hidden md:block",
@@ -22627,7 +22602,7 @@ function HighlightCard({
22627
22602
  /* @__PURE__ */ jsxs159("h3", { className: "font-['Azeret_Mono'] font-semibold text-[24px] md:text-[28px] lg:text-[32px] leading-[1.25] tracking-[-0.64px] text-ods-text-primary relative z-10", children: [
22628
22603
  "Your",
22629
22604
  " ",
22630
- /* @__PURE__ */ jsx197("span", { style: { color: item.categoryColor }, children: item.category }),
22605
+ /* @__PURE__ */ jsx196("span", { style: { color: item.categoryColor }, children: item.category }),
22631
22606
  " ",
22632
22607
  item.description
22633
22608
  ] })
@@ -22658,15 +22633,15 @@ function HighlightCardGrid({
22658
22633
  }
22659
22634
  return classes;
22660
22635
  };
22661
- return /* @__PURE__ */ jsx197("div", { className: `${cardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
22636
+ return /* @__PURE__ */ jsx196("div", { className: `${cardClassName} ${className}`, children: Array.from({ length: rows }, (_, rowIndex) => {
22662
22637
  const startIndex = rowIndex * itemsPerRow;
22663
22638
  const rowItems = items.slice(startIndex, startIndex + itemsPerRow);
22664
22639
  const isLastRow = rowIndex === rows - 1;
22665
- return /* @__PURE__ */ jsx197("div", { className: `grid ${gridCols}`, children: rowItems.map((item, itemIndex) => {
22640
+ return /* @__PURE__ */ jsx196("div", { className: `grid ${gridCols}`, children: rowItems.map((item, itemIndex) => {
22666
22641
  const globalIndex = startIndex + itemIndex;
22667
22642
  const isLastInRow = itemIndex === rowItems.length - 1;
22668
22643
  const borderClasses = getBorderClasses(isLastRow, isLastInRow, globalIndex);
22669
- return /* @__PURE__ */ jsx197(
22644
+ return /* @__PURE__ */ jsx196(
22670
22645
  HighlightCard,
22671
22646
  {
22672
22647
  item,
@@ -22681,15 +22656,15 @@ function HighlightCardGrid({
22681
22656
  // src/components/ui/icons-block.tsx
22682
22657
  init_cn();
22683
22658
  import * as React76 from "react";
22684
- import { jsx as jsx198 } from "react/jsx-runtime";
22659
+ import { jsx as jsx197 } from "react/jsx-runtime";
22685
22660
  var IconsBlock = React76.forwardRef(
22686
22661
  ({ className, icons = [], size = "md", ...props }, ref) => {
22687
- const sizeClasses4 = {
22662
+ const sizeClasses5 = {
22688
22663
  sm: "h-4 w-4",
22689
22664
  md: "h-6 w-6",
22690
22665
  lg: "h-8 w-8"
22691
22666
  };
22692
- return /* @__PURE__ */ jsx198(
22667
+ return /* @__PURE__ */ jsx197(
22693
22668
  "div",
22694
22669
  {
22695
22670
  className: cn(
@@ -22698,14 +22673,14 @@ var IconsBlock = React76.forwardRef(
22698
22673
  ),
22699
22674
  ref,
22700
22675
  ...props,
22701
- children: icons.map((icon, index) => /* @__PURE__ */ jsx198(
22676
+ children: icons.map((icon, index) => /* @__PURE__ */ jsx197(
22702
22677
  "div",
22703
22678
  {
22704
22679
  className: cn(
22705
22680
  "rounded-md bg-secondary p-1",
22706
- sizeClasses4[size]
22681
+ sizeClasses5[size]
22707
22682
  ),
22708
- children: /* @__PURE__ */ jsx198("div", { className: "h-full w-full bg-primary/20 rounded-sm" })
22683
+ children: /* @__PURE__ */ jsx197("div", { className: "h-full w-full bg-primary/20 rounded-sm" })
22709
22684
  },
22710
22685
  index
22711
22686
  ))
@@ -22723,7 +22698,7 @@ import React77 from "react";
22723
22698
  init_cn();
22724
22699
  import Link7 from "next/link";
22725
22700
  init_button2();
22726
- import { Fragment as Fragment30, jsx as jsx199, jsxs as jsxs160 } from "react/jsx-runtime";
22701
+ import { Fragment as Fragment30, jsx as jsx198, jsxs as jsxs160 } from "react/jsx-runtime";
22727
22702
  function MoreActionsMenu({
22728
22703
  items,
22729
22704
  align = "end",
@@ -22736,17 +22711,17 @@ function MoreActionsMenu({
22736
22711
  onOpenChange
22737
22712
  }) {
22738
22713
  return /* @__PURE__ */ jsxs160(DropdownMenu, { open, onOpenChange, children: [
22739
- /* @__PURE__ */ jsx199(DropdownMenuTrigger, { asChild: true, children: trigger || /* @__PURE__ */ jsx199(
22714
+ /* @__PURE__ */ jsx198(DropdownMenuTrigger, { asChild: true, children: trigger || /* @__PURE__ */ jsx198(
22740
22715
  Button,
22741
22716
  {
22742
22717
  variant: "outline",
22743
22718
  size: "icon",
22744
22719
  className: className || "bg-ods-card border-ods-border hover:bg-ods-bg-hover flex items-center justify-center",
22745
22720
  "aria-label": ariaLabel,
22746
- children: /* @__PURE__ */ jsx199(Ellipsis01Icon, { size: 24, className: "text-ods-text-primary" })
22721
+ children: /* @__PURE__ */ jsx198(Ellipsis01Icon, { size: 24, className: "text-ods-text-primary" })
22747
22722
  }
22748
22723
  ) }),
22749
- /* @__PURE__ */ jsx199(
22724
+ /* @__PURE__ */ jsx198(
22750
22725
  DropdownMenuContent,
22751
22726
  {
22752
22727
  align,
@@ -22756,21 +22731,21 @@ function MoreActionsMenu({
22756
22731
  children: items.map((item, idx) => {
22757
22732
  const itemClassName = "flex items-center gap-2 px-4 py-3 bg-ods-bg hover:bg-ods-bg-hover focus:bg-ods-bg-hover border-b border-ods-border last:border-b-0 rounded-none cursor-pointer data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed";
22758
22733
  const content = /* @__PURE__ */ jsxs160(Fragment30, { children: [
22759
- item.icon && /* @__PURE__ */ jsx199("div", { className: cn(item.danger ? "text-ods-error" : "text-ods-text-secondary", "[&_svg]:size-6 [&_svg]:shrink-0"), children: item.icon }),
22760
- /* @__PURE__ */ jsx199("span", { className: "font-medium text-[18px] leading-6 text-ods-text-primary", children: item.label })
22734
+ item.icon && /* @__PURE__ */ jsx198("div", { className: cn(item.danger ? "text-ods-error" : "text-ods-text-secondary", "[&_svg]:size-6 [&_svg]:shrink-0"), children: item.icon }),
22735
+ /* @__PURE__ */ jsx198("span", { className: "font-medium text-[18px] leading-6 text-ods-text-primary", children: item.label })
22761
22736
  ] });
22762
22737
  const handleActivate = (e) => {
22763
22738
  e.stopPropagation();
22764
22739
  if (!item.disabled) item.onClick?.();
22765
22740
  };
22766
22741
  if (item.href) {
22767
- return /* @__PURE__ */ jsx199(
22742
+ return /* @__PURE__ */ jsx198(
22768
22743
  DropdownMenuItem,
22769
22744
  {
22770
22745
  asChild: true,
22771
22746
  disabled: item.disabled,
22772
22747
  className: itemClassName,
22773
- children: /* @__PURE__ */ jsx199(
22748
+ children: /* @__PURE__ */ jsx198(
22774
22749
  Link7,
22775
22750
  {
22776
22751
  href: item.href,
@@ -22793,7 +22768,7 @@ function MoreActionsMenu({
22793
22768
  `${item.label}-${idx}`
22794
22769
  );
22795
22770
  }
22796
- return /* @__PURE__ */ jsx199(
22771
+ return /* @__PURE__ */ jsx198(
22797
22772
  DropdownMenuItem,
22798
22773
  {
22799
22774
  onClick: handleActivate,
@@ -22810,7 +22785,7 @@ function MoreActionsMenu({
22810
22785
  }
22811
22786
 
22812
22787
  // src/components/ui/dropdown-button.tsx
22813
- import { jsx as jsx200, jsxs as jsxs161 } from "react/jsx-runtime";
22788
+ import { jsx as jsx199, jsxs as jsxs161 } from "react/jsx-runtime";
22814
22789
  function DropdownButton({
22815
22790
  label,
22816
22791
  icon,
@@ -22829,7 +22804,7 @@ function DropdownButton({
22829
22804
  },
22830
22805
  [disabled]
22831
22806
  );
22832
- return /* @__PURE__ */ jsx200(
22807
+ return /* @__PURE__ */ jsx199(
22833
22808
  MoreActionsMenu,
22834
22809
  {
22835
22810
  items,
@@ -22856,10 +22831,10 @@ function DropdownButton({
22856
22831
  ),
22857
22832
  children: [
22858
22833
  /* @__PURE__ */ jsxs161("span", { className: "flex items-center gap-[var(--spacing-system-xsf)] px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] text-h3", children: [
22859
- icon && /* @__PURE__ */ jsx200("span", { className: "flex items-center justify-center [&_svg]:w-6 [&_svg]:h-6", children: icon }),
22860
- /* @__PURE__ */ jsx200("span", { className: "whitespace-nowrap", children: label })
22834
+ icon && /* @__PURE__ */ jsx199("span", { className: "flex items-center justify-center [&_svg]:w-6 [&_svg]:h-6", children: icon }),
22835
+ /* @__PURE__ */ jsx199("span", { className: "whitespace-nowrap", children: label })
22861
22836
  ] }),
22862
- /* @__PURE__ */ jsx200("span", { className: "flex items-center justify-center border-l border-ods-border p-[var(--spacing-system-sf)] [&_svg]:w-6 [&_svg]:h-6", children: /* @__PURE__ */ jsx200(
22837
+ /* @__PURE__ */ jsx199("span", { className: "flex items-center justify-center border-l border-ods-border p-[var(--spacing-system-sf)] [&_svg]:w-6 [&_svg]:h-6", children: /* @__PURE__ */ jsx199(
22863
22838
  Chevron02DownIcon,
22864
22839
  {
22865
22840
  className: cn("transition-transform duration-fast", open && "rotate-180")
@@ -22876,7 +22851,78 @@ function DropdownButton({
22876
22851
  init_cn();
22877
22852
  import Link8 from "next/link";
22878
22853
  import { Monitor } from "lucide-react";
22879
- import { jsx as jsx201, jsxs as jsxs162 } from "react/jsx-runtime";
22854
+
22855
+ // src/components/features/organization-icon.tsx
22856
+ init_cn();
22857
+ import Image11 from "next/image";
22858
+ import { jsx as jsx200, jsxs as jsxs162 } from "react/jsx-runtime";
22859
+ var sizeClasses3 = {
22860
+ xs: "w-6 h-6",
22861
+ sm: "w-8 h-8",
22862
+ md: "w-10 h-10",
22863
+ lg: "w-12 h-12",
22864
+ l: "w-14 h-14",
22865
+ xl: "w-16 h-16"
22866
+ };
22867
+ var imageSizeMap2 = {
22868
+ xs: { width: 16, height: 16 },
22869
+ sm: { width: 20, height: 20 },
22870
+ md: { width: 32, height: 32 },
22871
+ lg: { width: 40, height: 40 },
22872
+ l: { width: 38, height: 38 },
22873
+ xl: { width: 40, height: 40 }
22874
+ };
22875
+ var backgroundClasses3 = {
22876
+ dark: "bg-[#161616] border border-ods-border",
22877
+ light: "bg-ods-card border border-ods-border",
22878
+ white: "bg-white border border-[#E5E5E5]"
22879
+ };
22880
+ function OrganizationIcon({
22881
+ imageUrl,
22882
+ organizationName,
22883
+ size = "md",
22884
+ className = "",
22885
+ showBackground = true,
22886
+ backgroundStyle = "dark"
22887
+ }) {
22888
+ const { width, height } = imageSizeMap2[size];
22889
+ const initials = organizationName?.substring(0, 2) || "??";
22890
+ const containerClasses = cn(
22891
+ sizeClasses3[size],
22892
+ "rounded-lg flex items-center justify-center flex-shrink-0 relative",
22893
+ showBackground && backgroundClasses3[backgroundStyle],
22894
+ !showBackground && "overflow-hidden",
22895
+ className
22896
+ );
22897
+ return /* @__PURE__ */ jsxs162("div", { className: containerClasses, children: [
22898
+ /* @__PURE__ */ jsx200("div", { className: cn(
22899
+ "flex items-center justify-center text-xs font-medium uppercase",
22900
+ imageUrl && "hidden",
22901
+ backgroundStyle === "white" ? "text-ods-text-primary" : "text-ods-text-secondary"
22902
+ ), children: initials }),
22903
+ imageUrl && /* @__PURE__ */ jsx200(
22904
+ Image11,
22905
+ {
22906
+ src: imageUrl,
22907
+ alt: `${initials}`,
22908
+ width,
22909
+ height,
22910
+ className: cn(
22911
+ "absolute object-contain",
22912
+ showBackground ? "p-1" : "w-full h-full"
22913
+ ),
22914
+ onError: (e) => {
22915
+ e.currentTarget.style.display = "none";
22916
+ const el = e.currentTarget.previousElementSibling;
22917
+ if (el) el.classList.remove("hidden");
22918
+ }
22919
+ }
22920
+ )
22921
+ ] });
22922
+ }
22923
+
22924
+ // src/components/ui/organization-card.tsx
22925
+ import { jsx as jsx201, jsxs as jsxs163 } from "react/jsx-runtime";
22880
22926
  function OrganizationCard({
22881
22927
  organization,
22882
22928
  fetchedImageUrl,
@@ -22893,7 +22939,7 @@ function OrganizationCard({
22893
22939
  e.stopPropagation();
22894
22940
  actionButton?.onClick(organization, e);
22895
22941
  };
22896
- const card = /* @__PURE__ */ jsxs162(
22942
+ const card = /* @__PURE__ */ jsxs163(
22897
22943
  "div",
22898
22944
  {
22899
22945
  className: cn(
@@ -22903,9 +22949,9 @@ function OrganizationCard({
22903
22949
  className
22904
22950
  ),
22905
22951
  children: [
22906
- deviceCount !== void 0 && /* @__PURE__ */ jsxs162("div", { className: "absolute top-4 right-4 flex items-center gap-2 shrink-0", children: [
22952
+ deviceCount !== void 0 && /* @__PURE__ */ jsxs163("div", { className: "absolute top-4 right-4 flex items-center gap-2 shrink-0", children: [
22907
22953
  /* @__PURE__ */ jsx201(Monitor, { className: "w-4 h-4 text-ods-text-secondary" }),
22908
- /* @__PURE__ */ jsxs162("span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: [
22954
+ /* @__PURE__ */ jsxs163("span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: [
22909
22955
  deviceCount.toLocaleString(),
22910
22956
  " devices"
22911
22957
  ] })
@@ -22923,21 +22969,25 @@ function OrganizationCard({
22923
22969
  children: actionButton.icon
22924
22970
  }
22925
22971
  ),
22926
- /* @__PURE__ */ jsxs162("div", { className: "flex items-start gap-3 w-full", children: [
22972
+ /* @__PURE__ */ jsxs163("div", { className: "flex items-start gap-3 w-full", children: [
22927
22973
  /* @__PURE__ */ jsx201(
22928
- EntityImage,
22974
+ OrganizationIcon,
22929
22975
  {
22930
- src: fetchedImageUrl || organization.imageUrl,
22931
- alt: organization.name
22976
+ imageUrl: fetchedImageUrl || organization.imageUrl,
22977
+ organizationName: organization.name,
22978
+ size: "xl",
22979
+ backgroundStyle: "dark",
22980
+ showBackground: true,
22981
+ className: "w-[60px] h-[60px]"
22932
22982
  }
22933
22983
  ),
22934
- /* @__PURE__ */ jsxs162("div", { className: "flex-1 flex flex-col justify-center py-2 min-w-0", children: [
22984
+ /* @__PURE__ */ jsxs163("div", { className: "flex-1 flex flex-col justify-center py-2 min-w-0", children: [
22935
22985
  /* @__PURE__ */ jsx201("h3", { className: "font-['DM_Sans'] font-bold text-lg leading-[1.33] tracking-[-0.02em] text-ods-text-primary transition-colors truncate", children: organization.name }),
22936
22986
  /* @__PURE__ */ jsx201("p", { className: "font-['DM_Sans'] font-medium text-sm leading-[1.43] text-ods-text-secondary truncate", children: organization.industry || organization.tier || organization.websiteUrl || "Organization" })
22937
22987
  ] })
22938
22988
  ] }),
22939
22989
  organization.description && /* @__PURE__ */ jsx201("div", { className: "w-full h-12 overflow-hidden", children: /* @__PURE__ */ jsx201("p", { className: "font-['DM_Sans'] font-medium text-lg leading-[1.33] text-ods-text-primary line-clamp-2", children: organization.description }) }),
22940
- customFooter ? customFooter : footerStats && footerStats.length > 0 ? /* @__PURE__ */ jsx201("div", { className: "flex items-center justify-between gap-2 w-full min-w-0", children: /* @__PURE__ */ jsx201("div", { className: "flex items-center gap-3 md:gap-4 min-w-0 flex-shrink", children: footerStats.map((stat, index) => /* @__PURE__ */ jsxs162("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
22990
+ customFooter ? customFooter : footerStats && footerStats.length > 0 ? /* @__PURE__ */ jsx201("div", { className: "flex items-center justify-between gap-2 w-full min-w-0", children: /* @__PURE__ */ jsx201("div", { className: "flex items-center gap-3 md:gap-4 min-w-0 flex-shrink", children: footerStats.map((stat, index) => /* @__PURE__ */ jsxs163("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
22941
22991
  stat.icon,
22942
22992
  /* @__PURE__ */ jsx201("span", { className: "font-['DM_Sans'] font-medium text-base text-ods-text-primary", children: typeof stat.value === "number" ? stat.value.toLocaleString() : stat.value }),
22943
22993
  stat.label && /* @__PURE__ */ jsx201("span", { className: "font-['DM_Sans'] font-medium text-sm text-ods-text-secondary", children: stat.label })
@@ -22983,7 +23033,7 @@ var LOG_SEVERITY_LABELS = {
22983
23033
  // src/components/log-severity-dot.tsx
22984
23034
  import { jsx as jsx202 } from "react/jsx-runtime";
22985
23035
  var LogSeverityDot = React78.forwardRef(({ severity, size = "md", className }, ref) => {
22986
- const sizeClasses4 = {
23036
+ const sizeClasses5 = {
22987
23037
  sm: "w-4 h-4",
22988
23038
  md: "w-6 h-6",
22989
23039
  lg: "w-8 h-8"
@@ -22999,7 +23049,7 @@ var LogSeverityDot = React78.forwardRef(({ severity, size = "md", className }, r
22999
23049
  ref,
23000
23050
  className: cn(
23001
23051
  "relative flex items-center justify-center shrink-0",
23002
- sizeClasses4[size],
23052
+ sizeClasses5[size],
23003
23053
  className
23004
23054
  ),
23005
23055
  "aria-label": `${LOG_SEVERITY_LABELS[severity]} severity`,
@@ -23019,7 +23069,7 @@ var LogSeverityDot = React78.forwardRef(({ severity, size = "md", className }, r
23019
23069
  LogSeverityDot.displayName = "LogSeverityDot";
23020
23070
 
23021
23071
  // src/components/logs-list.tsx
23022
- import { jsx as jsx203, jsxs as jsxs163 } from "react/jsx-runtime";
23072
+ import { jsx as jsx203, jsxs as jsxs164 } from "react/jsx-runtime";
23023
23073
  var formatTimestamp = (timestamp) => {
23024
23074
  const date = timestamp instanceof Date ? timestamp : new Date(timestamp);
23025
23075
  const year = date.getFullYear();
@@ -23030,8 +23080,8 @@ var formatTimestamp = (timestamp) => {
23030
23080
  return `${year}/${month}/${day},${hours}:${minutes}`;
23031
23081
  };
23032
23082
  var LogCard = ({ log, isLast, showConnector, onClick }) => {
23033
- return /* @__PURE__ */ jsxs163("div", { className: "relative", children: [
23034
- /* @__PURE__ */ jsxs163(
23083
+ return /* @__PURE__ */ jsxs164("div", { className: "relative", children: [
23084
+ /* @__PURE__ */ jsxs164(
23035
23085
  "div",
23036
23086
  {
23037
23087
  className: cn(
@@ -23049,9 +23099,9 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
23049
23099
  },
23050
23100
  children: [
23051
23101
  /* @__PURE__ */ jsx203(LogSeverityDot, { severity: log.severity, size: "md" }),
23052
- /* @__PURE__ */ jsxs163("div", { className: "flex-1 min-w-0 space-y-1", children: [
23102
+ /* @__PURE__ */ jsxs164("div", { className: "flex-1 min-w-0 space-y-1", children: [
23053
23103
  /* @__PURE__ */ jsx203("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-5 text-white", children: log.title }),
23054
- /* @__PURE__ */ jsxs163("div", { className: "flex items-center gap-2", children: [
23104
+ /* @__PURE__ */ jsxs164("div", { className: "flex items-center gap-2", children: [
23055
23105
  /* @__PURE__ */ jsx203("p", { className: "font-['Azeret_Mono'] font-normal text-[13px] leading-4 text-[#888888] uppercase tracking-wider", children: formatTimestamp(log.timestamp) }),
23056
23106
  log.toolType && /* @__PURE__ */ jsx203(ToolIcon, { toolType: log.toolType, size: 16 })
23057
23107
  ] })
@@ -23228,7 +23278,7 @@ var TMCG_SOCIAL_PLATFORMS = {
23228
23278
  var assets = {};
23229
23279
 
23230
23280
  // src/components/ui/service-card.tsx
23231
- import { jsx as jsx204, jsxs as jsxs164 } from "react/jsx-runtime";
23281
+ import { jsx as jsx204, jsxs as jsxs165 } from "react/jsx-runtime";
23232
23282
  function MaskedValue({ value, isRevealed }) {
23233
23283
  if (isRevealed) return /* @__PURE__ */ jsx204("span", { children: value });
23234
23284
  return /* @__PURE__ */ jsx204("span", { children: "\u2022".repeat(Math.min(value.length, 12)) });
@@ -23242,11 +23292,11 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
23242
23292
  upperPathColor: "var(--color-text-primary)"
23243
23293
  }
23244
23294
  );
23245
- return /* @__PURE__ */ jsxs164("div", { className: cn("bg-ods-card border border-ods-border rounded-lg p-6", className), children: [
23246
- /* @__PURE__ */ jsxs164("div", { className: "flex items-start justify-between gap-4 mb-4", children: [
23247
- /* @__PURE__ */ jsxs164("div", { className: "flex items-center gap-4 min-w-0", children: [
23295
+ return /* @__PURE__ */ jsxs165("div", { className: cn("bg-ods-card border border-ods-border rounded-lg p-6", className), children: [
23296
+ /* @__PURE__ */ jsxs165("div", { className: "flex items-start justify-between gap-4 mb-4", children: [
23297
+ /* @__PURE__ */ jsxs165("div", { className: "flex items-center gap-4 min-w-0", children: [
23248
23298
  /* @__PURE__ */ jsx204("div", { className: "w-12 h-12 flex items-center justify-center bg-ods-bg rounded-md border border-ods-border flex-shrink-0", children: resolvedIcon }),
23249
- /* @__PURE__ */ jsxs164("div", { className: "min-w-0", children: [
23299
+ /* @__PURE__ */ jsxs165("div", { className: "min-w-0", children: [
23250
23300
  /* @__PURE__ */ jsx204("div", { className: "text-xl font-semibold text-ods-text-primary truncate", children: title }),
23251
23301
  subtitle && /* @__PURE__ */ jsx204("div", { className: "text-sm text-ods-text-secondary truncate", children: subtitle })
23252
23302
  ] })
@@ -23266,11 +23316,11 @@ function ServiceCardRowItem({ row }) {
23266
23316
  if (!row.href) return;
23267
23317
  window.open(row.href, "_blank", "noopener,noreferrer");
23268
23318
  };
23269
- return /* @__PURE__ */ jsxs164("div", { className: "flex items-center gap-3 min-w-0", children: [
23319
+ return /* @__PURE__ */ jsxs165("div", { className: "flex items-center gap-3 min-w-0", children: [
23270
23320
  row.label && /* @__PURE__ */ jsx204("div", { className: "w-20 md:w-24 shrink-0 text-sm font-medium text-ods-text-primary", children: row.label }),
23271
- /* @__PURE__ */ jsxs164("div", { className: cn("flex-1 h-12 rounded-md border border-ods-border bg-ods-bg px-3 md:px-4 flex items-center justify-between min-w-0", row.monospace ? "font-mono" : ""), children: [
23321
+ /* @__PURE__ */ jsxs165("div", { className: cn("flex-1 h-12 rounded-md border border-ods-border bg-ods-bg px-3 md:px-4 flex items-center justify-between min-w-0", row.monospace ? "font-mono" : ""), children: [
23272
23322
  /* @__PURE__ */ jsx204("div", { className: "truncate text-ods-text-primary min-w-0", children: displayValue }),
23273
- /* @__PURE__ */ jsxs164("div", { className: "flex items-center gap-2 pl-3 flex-shrink-0", children: [
23323
+ /* @__PURE__ */ jsxs165("div", { className: "flex items-center gap-2 pl-3 flex-shrink-0", children: [
23274
23324
  actions.reveal && /* @__PURE__ */ jsx204(
23275
23325
  "button",
23276
23326
  {
@@ -23308,7 +23358,7 @@ function ServiceCardRowItem({ row }) {
23308
23358
 
23309
23359
  // src/components/ui/tab-selector.tsx
23310
23360
  init_cn();
23311
- import { jsx as jsx205, jsxs as jsxs165 } from "react/jsx-runtime";
23361
+ import { jsx as jsx205, jsxs as jsxs166 } from "react/jsx-runtime";
23312
23362
  function TabSelector({
23313
23363
  value,
23314
23364
  onValueChange,
@@ -23318,7 +23368,7 @@ function TabSelector({
23318
23368
  disabled,
23319
23369
  className
23320
23370
  }) {
23321
- return /* @__PURE__ */ jsxs165(
23371
+ return /* @__PURE__ */ jsxs166(
23322
23372
  "div",
23323
23373
  {
23324
23374
  className: cn("flex flex-col gap-1", disabled && "opacity-50", className),
@@ -23328,7 +23378,7 @@ function TabSelector({
23328
23378
  /* @__PURE__ */ jsx205("div", { className: "flex w-full bg-ods-bg border border-ods-border rounded-md p-1 gap-1 h-12", children: items.map((item) => {
23329
23379
  const isActive = value === item.id;
23330
23380
  const isDisabled = disabled || item.disabled;
23331
- return /* @__PURE__ */ jsxs165(
23381
+ return /* @__PURE__ */ jsxs166(
23332
23382
  "button",
23333
23383
  {
23334
23384
  type: "button",
@@ -23354,7 +23404,7 @@ function TabSelector({
23354
23404
  }
23355
23405
 
23356
23406
  // src/components/ui/title-content-block.tsx
23357
- import { jsx as jsx206, jsxs as jsxs166 } from "react/jsx-runtime";
23407
+ import { jsx as jsx206, jsxs as jsxs167 } from "react/jsx-runtime";
23358
23408
  var spacingMap2 = {
23359
23409
  sm: "space-y-1",
23360
23410
  md: "space-y-2",
@@ -23372,7 +23422,7 @@ function TitleContentBlock({
23372
23422
  spacing = "md"
23373
23423
  }) {
23374
23424
  const titleClasses = `${titleClassName} ${titleColor}`;
23375
- return /* @__PURE__ */ jsxs166("div", { className: `${spacingMap2[spacing]} ${containerClassName}`, children: [
23425
+ return /* @__PURE__ */ jsxs167("div", { className: `${spacingMap2[spacing]} ${containerClassName}`, children: [
23376
23426
  /* @__PURE__ */ jsx206(TitleElement, { className: titleClasses, children: title }),
23377
23427
  /* @__PURE__ */ jsx206(ContentElement, { className: contentClassName, children: content })
23378
23428
  ] });
@@ -23404,7 +23454,7 @@ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
23404
23454
  init_button2();
23405
23455
  init_cn();
23406
23456
  import { AlertTriangle as AlertTriangle3, RefreshCw, Home } from "lucide-react";
23407
- import { jsx as jsx208, jsxs as jsxs167 } from "react/jsx-runtime";
23457
+ import { jsx as jsx208, jsxs as jsxs168 } from "react/jsx-runtime";
23408
23458
  function ErrorState({
23409
23459
  title = "Error",
23410
23460
  message,
@@ -23448,12 +23498,12 @@ function ErrorState({
23448
23498
  styles.bg,
23449
23499
  styles.border,
23450
23500
  className
23451
- ), children: /* @__PURE__ */ jsxs167("div", { className: "flex items-start gap-3", children: [
23501
+ ), children: /* @__PURE__ */ jsxs168("div", { className: "flex items-start gap-3", children: [
23452
23502
  showIcon && /* @__PURE__ */ jsx208(AlertTriangle3, { className: cn("h-5 w-5 mt-0.5 flex-shrink-0", styles.icon) }),
23453
- /* @__PURE__ */ jsxs167("div", { className: "flex-1", children: [
23503
+ /* @__PURE__ */ jsxs168("div", { className: "flex-1", children: [
23454
23504
  /* @__PURE__ */ jsx208("h3", { className: cn("font-semibold mb-1", styles.text), children: title }),
23455
23505
  /* @__PURE__ */ jsx208("p", { className: cn("text-sm", styles.text), children: message }),
23456
- (showRetry || showHome) && /* @__PURE__ */ jsxs167("div", { className: "flex gap-2 mt-3", children: [
23506
+ (showRetry || showHome) && /* @__PURE__ */ jsxs168("div", { className: "flex gap-2 mt-3", children: [
23457
23507
  showRetry && onRetry && /* @__PURE__ */ jsx208(
23458
23508
  Button,
23459
23509
  {
@@ -23521,7 +23571,7 @@ function NotFoundError({ message = "The requested item was not found", onHome })
23521
23571
 
23522
23572
  // src/components/ui/content-loader.tsx
23523
23573
  init_cn();
23524
- import { jsx as jsx209, jsxs as jsxs168 } from "react/jsx-runtime";
23574
+ import { jsx as jsx209, jsxs as jsxs169 } from "react/jsx-runtime";
23525
23575
  function ContentLoader({
23526
23576
  variant = "card",
23527
23577
  items = 4,
@@ -23529,41 +23579,41 @@ function ContentLoader({
23529
23579
  className,
23530
23580
  containerClassName
23531
23581
  }) {
23532
- const renderCardSkeleton = () => /* @__PURE__ */ jsxs168("div", { className: "animate-pulse", children: [
23582
+ const renderCardSkeleton = () => /* @__PURE__ */ jsxs169("div", { className: "animate-pulse", children: [
23533
23583
  showTitle && /* @__PURE__ */ jsx209("div", { className: "h-8 w-64 bg-ods-bg-secondary rounded mb-6" }),
23534
- /* @__PURE__ */ jsxs168("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6", children: [
23535
- /* @__PURE__ */ jsx209("div", { className: "grid grid-cols-1 md:grid-cols-4 gap-6 mb-6", children: Array.from({ length: items }).map((_, i) => /* @__PURE__ */ jsxs168("div", { children: [
23584
+ /* @__PURE__ */ jsxs169("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6", children: [
23585
+ /* @__PURE__ */ jsx209("div", { className: "grid grid-cols-1 md:grid-cols-4 gap-6 mb-6", children: Array.from({ length: items }).map((_, i) => /* @__PURE__ */ jsxs169("div", { children: [
23536
23586
  /* @__PURE__ */ jsx209("div", { className: "h-4 w-20 bg-ods-bg-secondary rounded mb-2" }),
23537
23587
  /* @__PURE__ */ jsx209("div", { className: "h-6 w-32 bg-ods-bg-secondary rounded" })
23538
23588
  ] }, i)) }),
23539
23589
  /* @__PURE__ */ jsx209("div", { className: "border-t border-ods-border pt-4", children: /* @__PURE__ */ jsx209("div", { className: "h-4 w-64 bg-ods-bg-secondary rounded" }) })
23540
23590
  ] })
23541
23591
  ] });
23542
- const renderFormSkeleton = () => /* @__PURE__ */ jsxs168("div", { className: "animate-pulse", children: [
23592
+ const renderFormSkeleton = () => /* @__PURE__ */ jsxs169("div", { className: "animate-pulse", children: [
23543
23593
  showTitle && /* @__PURE__ */ jsx209("div", { className: "h-8 bg-ods-card rounded w-64 mb-6" }),
23544
- /* @__PURE__ */ jsx209("div", { className: "bg-ods-card rounded-lg p-6", children: /* @__PURE__ */ jsx209("div", { className: "space-y-4", children: Array.from({ length: items }).map((_, i) => /* @__PURE__ */ jsxs168("div", { children: [
23594
+ /* @__PURE__ */ jsx209("div", { className: "bg-ods-card rounded-lg p-6", children: /* @__PURE__ */ jsx209("div", { className: "space-y-4", children: Array.from({ length: items }).map((_, i) => /* @__PURE__ */ jsxs169("div", { children: [
23545
23595
  /* @__PURE__ */ jsx209("div", { className: "h-4 bg-ods-bg-secondary rounded w-32 mb-2" }),
23546
23596
  /* @__PURE__ */ jsx209("div", { className: "h-10 bg-ods-bg-secondary rounded" })
23547
23597
  ] }, i)) }) })
23548
23598
  ] });
23549
- const renderDetailSkeleton = () => /* @__PURE__ */ jsxs168("div", { className: "animate-pulse", children: [
23599
+ const renderDetailSkeleton = () => /* @__PURE__ */ jsxs169("div", { className: "animate-pulse", children: [
23550
23600
  showTitle && /* @__PURE__ */ jsx209("div", { className: "h-8 w-64 bg-ods-bg-secondary rounded mb-6" }),
23551
- /* @__PURE__ */ jsx209("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6", children: /* @__PURE__ */ jsxs168("div", { className: "grid grid-cols-1 lg:grid-cols-3 gap-6", children: [
23552
- /* @__PURE__ */ jsxs168("div", { className: "lg:col-span-2", children: [
23601
+ /* @__PURE__ */ jsx209("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6", children: /* @__PURE__ */ jsxs169("div", { className: "grid grid-cols-1 lg:grid-cols-3 gap-6", children: [
23602
+ /* @__PURE__ */ jsxs169("div", { className: "lg:col-span-2", children: [
23553
23603
  /* @__PURE__ */ jsx209("div", { className: "h-64 bg-ods-bg-secondary rounded mb-4" }),
23554
23604
  /* @__PURE__ */ jsx209("div", { className: "space-y-2", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx209("div", { className: "h-4 bg-ods-bg-secondary rounded" }, i)) })
23555
23605
  ] }),
23556
- /* @__PURE__ */ jsxs168("div", { children: [
23606
+ /* @__PURE__ */ jsxs169("div", { children: [
23557
23607
  /* @__PURE__ */ jsx209("div", { className: "h-32 bg-ods-bg-secondary rounded mb-4" }),
23558
23608
  /* @__PURE__ */ jsx209("div", { className: "space-y-2", children: Array.from({ length: items }).map((_, i) => /* @__PURE__ */ jsx209("div", { className: "h-3 bg-ods-bg-secondary rounded" }, i)) })
23559
23609
  ] })
23560
23610
  ] }) })
23561
23611
  ] });
23562
- const renderListSkeleton = () => /* @__PURE__ */ jsxs168("div", { className: "animate-pulse space-y-3", children: [
23612
+ const renderListSkeleton = () => /* @__PURE__ */ jsxs169("div", { className: "animate-pulse space-y-3", children: [
23563
23613
  showTitle && /* @__PURE__ */ jsx209("div", { className: "h-8 w-64 bg-ods-bg-secondary rounded mb-6" }),
23564
- Array.from({ length: items }).map((_, i) => /* @__PURE__ */ jsx209("div", { className: "bg-ods-card border border-ods-border rounded-lg p-4", children: /* @__PURE__ */ jsxs168("div", { className: "flex items-center gap-4", children: [
23614
+ Array.from({ length: items }).map((_, i) => /* @__PURE__ */ jsx209("div", { className: "bg-ods-card border border-ods-border rounded-lg p-4", children: /* @__PURE__ */ jsxs169("div", { className: "flex items-center gap-4", children: [
23565
23615
  /* @__PURE__ */ jsx209("div", { className: "h-12 w-12 bg-ods-bg-secondary rounded" }),
23566
- /* @__PURE__ */ jsxs168("div", { className: "flex-1", children: [
23616
+ /* @__PURE__ */ jsxs169("div", { className: "flex-1", children: [
23567
23617
  /* @__PURE__ */ jsx209("div", { className: "h-4 bg-ods-bg-secondary rounded w-3/4 mb-2" }),
23568
23618
  /* @__PURE__ */ jsx209("div", { className: "h-3 bg-ods-bg-secondary rounded w-1/2" })
23569
23619
  ] }),
@@ -23600,7 +23650,7 @@ init_button2();
23600
23650
  init_cn();
23601
23651
  init_button2();
23602
23652
  import { ChevronLeft as ChevronLeft4, ChevronRight as ChevronRight10, RotateCcw as RotateCcw2, Home as Home2 } from "lucide-react";
23603
- import { jsx as jsx210, jsxs as jsxs169 } from "react/jsx-runtime";
23653
+ import { jsx as jsx210, jsxs as jsxs170 } from "react/jsx-runtime";
23604
23654
  function CursorPagination({
23605
23655
  hasNextPage,
23606
23656
  hasPreviousPage,
@@ -23647,7 +23697,7 @@ function CursorPagination({
23647
23697
  }
23648
23698
  };
23649
23699
  const displayText = getDisplayText();
23650
- return /* @__PURE__ */ jsxs169(
23700
+ return /* @__PURE__ */ jsxs170(
23651
23701
  "div",
23652
23702
  {
23653
23703
  className: cn(
@@ -23657,7 +23707,7 @@ function CursorPagination({
23657
23707
  ),
23658
23708
  children: [
23659
23709
  showInfo && /* @__PURE__ */ jsx210("div", { className: "text-sm text-[#888888]", children: displayText || /* @__PURE__ */ jsx210("span", { children: "\xA0" }) }),
23660
- /* @__PURE__ */ jsxs169("div", { className: "flex items-center gap-2", children: [
23710
+ /* @__PURE__ */ jsxs170("div", { className: "flex items-center gap-2", children: [
23661
23711
  onReset ? /* @__PURE__ */ jsx210(
23662
23712
  Button,
23663
23713
  {
@@ -23717,7 +23767,7 @@ function CursorPaginationSimple({
23717
23767
  loading = false,
23718
23768
  className
23719
23769
  }) {
23720
- return /* @__PURE__ */ jsxs169("div", { className: cn("flex items-center gap-1", className), children: [
23770
+ return /* @__PURE__ */ jsxs170("div", { className: cn("flex items-center gap-1", className), children: [
23721
23771
  onReset ? /* @__PURE__ */ jsx210(
23722
23772
  Button,
23723
23773
  {
@@ -23760,14 +23810,14 @@ function CursorPaginationSimple({
23760
23810
  init_cn();
23761
23811
  init_button2();
23762
23812
  import { FileX2 } from "lucide-react";
23763
- import { jsx as jsx211, jsxs as jsxs170 } from "react/jsx-runtime";
23813
+ import { jsx as jsx211, jsxs as jsxs171 } from "react/jsx-runtime";
23764
23814
  function TableEmptyState({
23765
23815
  message = "No data available",
23766
23816
  icon,
23767
23817
  action,
23768
23818
  className
23769
23819
  }) {
23770
- return /* @__PURE__ */ jsxs170(
23820
+ return /* @__PURE__ */ jsxs171(
23771
23821
  "div",
23772
23822
  {
23773
23823
  className: cn(
@@ -23796,7 +23846,7 @@ init_cn();
23796
23846
 
23797
23847
  // src/components/ui/table/table-column-filter-dropdown.tsx
23798
23848
  init_cn();
23799
- import { jsx as jsx212, jsxs as jsxs171 } from "react/jsx-runtime";
23849
+ import { jsx as jsx212, jsxs as jsxs172 } from "react/jsx-runtime";
23800
23850
  function TableColumnFilterDropdown({
23801
23851
  columnKey,
23802
23852
  columnLabel,
@@ -23810,7 +23860,7 @@ function TableColumnFilterDropdown({
23810
23860
  return /* @__PURE__ */ jsx212(
23811
23861
  FiltersDropdown,
23812
23862
  {
23813
- triggerElement: /* @__PURE__ */ jsxs171(
23863
+ triggerElement: /* @__PURE__ */ jsxs172(
23814
23864
  "div",
23815
23865
  {
23816
23866
  className: "flex items-center gap-1.5 rounded px-1 py-0.5 cursor-pointer hover:bg-ods-bg-active transition-all duration-200",
@@ -23879,7 +23929,7 @@ function getHideClasses(hideAt) {
23879
23929
  }
23880
23930
 
23881
23931
  // src/components/ui/table/table-header.tsx
23882
- import { Fragment as Fragment31, jsx as jsx213, jsxs as jsxs172 } from "react/jsx-runtime";
23932
+ import { Fragment as Fragment31, jsx as jsx213, jsxs as jsxs173 } from "react/jsx-runtime";
23883
23933
  function TableHeader({
23884
23934
  columns,
23885
23935
  className,
@@ -23925,7 +23975,7 @@ function TableHeader({
23925
23975
  return sortDirection === "asc" ? /* @__PURE__ */ jsx213(Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" }) : /* @__PURE__ */ jsx213(Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
23926
23976
  };
23927
23977
  const isLgUp = useLgUp() ?? false;
23928
- return /* @__PURE__ */ jsxs172(
23978
+ return /* @__PURE__ */ jsxs173(
23929
23979
  "div",
23930
23980
  {
23931
23981
  className: cn(
@@ -23962,7 +24012,7 @@ function TableHeader({
23962
24012
  ),
23963
24013
  children: isActionsColumn ? (
23964
24014
  // Render total items count in actions column
23965
- totalItemsCount > 0 && /* @__PURE__ */ jsxs172("span", { className: "text-h6 text-ods-text-secondary whitespace-nowrap", children: [
24015
+ totalItemsCount > 0 && /* @__PURE__ */ jsxs173("span", { className: "text-h6 text-ods-text-secondary whitespace-nowrap", children: [
23966
24016
  "Showing ",
23967
24017
  totalItemsCount,
23968
24018
  " ",
@@ -23990,10 +24040,10 @@ function TableHeader({
23990
24040
  column.sortable && "cursor-pointer hover:text-ods-text-primary transition-colors"
23991
24041
  ),
23992
24042
  onClick: () => handleSort(column),
23993
- children: column.renderHeader ? /* @__PURE__ */ jsxs172(Fragment31, { children: [
24043
+ children: column.renderHeader ? /* @__PURE__ */ jsxs173(Fragment31, { children: [
23994
24044
  column.renderHeader(),
23995
24045
  getSortIcon(column)
23996
- ] }) : /* @__PURE__ */ jsxs172(Fragment31, { children: [
24046
+ ] }) : /* @__PURE__ */ jsxs173(Fragment31, { children: [
23997
24047
  /* @__PURE__ */ jsx213("span", { className: "text-h5 text-ods-text-secondary uppercase whitespace-nowrap", children: column.label }),
23998
24048
  getSortIcon(column)
23999
24049
  ] })
@@ -24048,7 +24098,7 @@ function TableCell({
24048
24098
 
24049
24099
  // src/components/ui/table/table-skeleton.tsx
24050
24100
  init_cn();
24051
- import { Fragment as Fragment32, jsx as jsx215, jsxs as jsxs173 } from "react/jsx-runtime";
24101
+ import { Fragment as Fragment32, jsx as jsx215, jsxs as jsxs174 } from "react/jsx-runtime";
24052
24102
  var ROW_HEIGHT_DESKTOP = "h-[68px] md:h-[80px]";
24053
24103
  var ROW_HEIGHT_MOBILE = "h-[68px]";
24054
24104
  function TableCardSkeleton({
@@ -24059,7 +24109,7 @@ function TableCardSkeleton({
24059
24109
  className,
24060
24110
  rowClassName
24061
24111
  }) {
24062
- return /* @__PURE__ */ jsx215(Fragment32, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs173(
24112
+ return /* @__PURE__ */ jsx215(Fragment32, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs174(
24063
24113
  "div",
24064
24114
  {
24065
24115
  className: cn(
@@ -24067,12 +24117,12 @@ function TableCardSkeleton({
24067
24117
  className
24068
24118
  ),
24069
24119
  children: [
24070
- /* @__PURE__ */ jsxs173("div", { className: cn(
24120
+ /* @__PURE__ */ jsxs174("div", { className: cn(
24071
24121
  "hidden md:flex items-center gap-4 px-4 py-0",
24072
24122
  ROW_HEIGHT_DESKTOP,
24073
24123
  rowClassName
24074
24124
  ), children: [
24075
- columns.map((column) => /* @__PURE__ */ jsxs173(
24125
+ columns.map((column) => /* @__PURE__ */ jsxs174(
24076
24126
  "div",
24077
24127
  {
24078
24128
  className: cn(
@@ -24086,18 +24136,18 @@ function TableCardSkeleton({
24086
24136
  },
24087
24137
  column.key
24088
24138
  )),
24089
- hasActions && /* @__PURE__ */ jsxs173("div", { className: cn("flex gap-2 items-center shrink-0", !hasChevron && "ml-auto"), children: [
24139
+ hasActions && /* @__PURE__ */ jsxs174("div", { className: cn("flex gap-2 items-center shrink-0", !hasChevron && "ml-auto"), children: [
24090
24140
  /* @__PURE__ */ jsx215("div", { className: "h-12 w-12 bg-ods-bg-surface rounded" }),
24091
24141
  /* @__PURE__ */ jsx215("div", { className: "h-12 w-24 bg-ods-bg-surface rounded" })
24092
24142
  ] }),
24093
24143
  hasChevron && /* @__PURE__ */ jsx215("div", { className: cn("flex items-center justify-end shrink-0 w-12", !hasActions && "ml-auto"), children: /* @__PURE__ */ jsx215("div", { className: "h-8 w-8 bg-ods-bg-surface rounded" }) })
24094
24144
  ] }),
24095
- /* @__PURE__ */ jsxs173("div", { className: cn(
24145
+ /* @__PURE__ */ jsxs174("div", { className: cn(
24096
24146
  "flex md:hidden gap-3 items-center justify-start px-3 py-0",
24097
24147
  ROW_HEIGHT_MOBILE,
24098
24148
  rowClassName
24099
24149
  ), children: [
24100
- /* @__PURE__ */ jsxs173("div", { className: "flex-1 flex flex-col justify-center min-w-0 py-3", children: [
24150
+ /* @__PURE__ */ jsxs174("div", { className: "flex-1 flex flex-col justify-center min-w-0 py-3", children: [
24101
24151
  /* @__PURE__ */ jsx215("div", { className: "h-4 bg-ods-bg-surface rounded w-3/4 mb-2" }),
24102
24152
  /* @__PURE__ */ jsx215("div", { className: "h-3 bg-ods-bg-surface rounded w-1/2 opacity-60" })
24103
24153
  ] }),
@@ -24111,7 +24161,7 @@ function TableCardSkeleton({
24111
24161
  }
24112
24162
 
24113
24163
  // src/components/ui/table/table-row.tsx
24114
- import { jsx as jsx216, jsxs as jsxs174 } from "react/jsx-runtime";
24164
+ import { jsx as jsx216, jsxs as jsxs175 } from "react/jsx-runtime";
24115
24165
  function TableRow({
24116
24166
  item,
24117
24167
  columns,
@@ -24159,7 +24209,7 @@ function TableRow({
24159
24209
  }
24160
24210
  return String(value);
24161
24211
  };
24162
- return /* @__PURE__ */ jsxs174(
24212
+ return /* @__PURE__ */ jsxs175(
24163
24213
  "div",
24164
24214
  {
24165
24215
  className: cn(
@@ -24178,7 +24228,7 @@ function TableRow({
24178
24228
  "aria-label": "View details"
24179
24229
  }
24180
24230
  ),
24181
- /* @__PURE__ */ jsxs174(
24231
+ /* @__PURE__ */ jsxs175(
24182
24232
  "div",
24183
24233
  {
24184
24234
  className: cn(
@@ -24214,7 +24264,7 @@ function TableRow({
24214
24264
  }
24215
24265
 
24216
24266
  // src/components/ui/table/table.tsx
24217
- import { Fragment as Fragment33, jsx as jsx217, jsxs as jsxs175 } from "react/jsx-runtime";
24267
+ import { Fragment as Fragment33, jsx as jsx217, jsxs as jsxs176 } from "react/jsx-runtime";
24218
24268
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
24219
24269
  const hasActions = Boolean(rowActions?.length) || Boolean(renderRowActions);
24220
24270
  const result = [...columns];
@@ -24361,15 +24411,15 @@ function Table({
24361
24411
  observer.observe(sentinel);
24362
24412
  return () => observer.disconnect();
24363
24413
  }, [infiniteScroll?.hasNextPage, infiniteScroll?.isFetchingNextPage]);
24364
- return /* @__PURE__ */ jsxs175("div", { className: cn("flex flex-col gap-1 w-full", containerClassName), children: [
24365
- showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ jsxs175("div", { className: "flex items-center justify-between bg-ods-card border border-ods-border rounded-[6px] p-3 mb-2", children: [
24366
- /* @__PURE__ */ jsxs175("span", { className: "text-ods-text-secondary text-sm", children: [
24414
+ return /* @__PURE__ */ jsxs176("div", { className: cn("flex flex-col gap-1 w-full", containerClassName), children: [
24415
+ showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ jsxs176("div", { className: "flex items-center justify-between bg-ods-card border border-ods-border rounded-[6px] p-3 mb-2", children: [
24416
+ /* @__PURE__ */ jsxs176("span", { className: "text-ods-text-secondary text-sm", children: [
24367
24417
  selectedRows.length,
24368
24418
  " item",
24369
24419
  selectedRows.length !== 1 ? "s" : "",
24370
24420
  " selected"
24371
24421
  ] }),
24372
- /* @__PURE__ */ jsx217("div", { className: "flex gap-2", children: bulkActions.map((action, index) => /* @__PURE__ */ jsxs175(
24422
+ /* @__PURE__ */ jsx217("div", { className: "flex gap-2", children: bulkActions.map((action, index) => /* @__PURE__ */ jsxs176(
24373
24423
  "button",
24374
24424
  {
24375
24425
  onClick: () => action.onClick(selectedRows),
@@ -24414,7 +24464,7 @@ function Table({
24414
24464
  hasActions: Boolean(rowActions) && rowActions.length > 0,
24415
24465
  hasChevron: Boolean(rowHref)
24416
24466
  }
24417
- ) : data.length === 0 ? /* @__PURE__ */ jsx217(TableEmptyState, { message: emptyMessage }) : /* @__PURE__ */ jsxs175(Fragment33, { children: [
24467
+ ) : data.length === 0 ? /* @__PURE__ */ jsx217(TableEmptyState, { message: emptyMessage }) : /* @__PURE__ */ jsxs176(Fragment33, { children: [
24418
24468
  data.map((item, index) => /* @__PURE__ */ jsx217(
24419
24469
  TableRow,
24420
24470
  {
@@ -24441,7 +24491,7 @@ function Table({
24441
24491
  }
24442
24492
  ),
24443
24493
  infiniteScroll?.hasNextPage && /* @__PURE__ */ jsx217("div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
24444
- !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ jsxs175(
24494
+ !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ jsxs176(
24445
24495
  "div",
24446
24496
  {
24447
24497
  className: "relative rounded-[6px] overflow-hidden pointer-events-none",
@@ -24521,7 +24571,7 @@ function TableDescriptionCell({
24521
24571
 
24522
24572
  // src/components/ui/table/table-timestamp-cell.tsx
24523
24573
  init_cn();
24524
- import { jsx as jsx219, jsxs as jsxs176 } from "react/jsx-runtime";
24574
+ import { jsx as jsx219, jsxs as jsxs177 } from "react/jsx-runtime";
24525
24575
  function formatTimestampValue(timestamp) {
24526
24576
  if (timestamp instanceof Date) {
24527
24577
  return timestamp.toLocaleString();
@@ -24545,7 +24595,7 @@ function TableTimestampCell({
24545
24595
  formatTimestamp: formatTimestamp2 = true
24546
24596
  }) {
24547
24597
  const displayTimestamp = formatTimestamp2 ? formatTimestampValue(timestamp) : String(timestamp);
24548
- return /* @__PURE__ */ jsxs176("div", { className: cn("flex flex-col justify-center shrink-0", className), children: [
24598
+ return /* @__PURE__ */ jsxs177("div", { className: cn("flex flex-col justify-center shrink-0", className), children: [
24549
24599
  /* @__PURE__ */ jsx219("span", { className: "text-h4 text-ods-text-primary truncate", children: displayTimestamp }),
24550
24600
  /* @__PURE__ */ jsx219("span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", children: idLabel ? `${idLabel}: ${id}` : id })
24551
24601
  ] });
@@ -24559,7 +24609,7 @@ import { useMemo as useMemo18 } from "react";
24559
24609
  // src/components/ui/query-report-table/query-report-table-header.tsx
24560
24610
  init_cn();
24561
24611
  import { useRef as useRef28, useState as useState46, useCallback as useCallback22 } from "react";
24562
- import { jsx as jsx220, jsxs as jsxs177 } from "react/jsx-runtime";
24612
+ import { jsx as jsx220, jsxs as jsxs178 } from "react/jsx-runtime";
24563
24613
  function QueryReportTableHeader({
24564
24614
  columns,
24565
24615
  columnWidth,
@@ -24595,7 +24645,7 @@ function TruncatedHeaderCell({ value, width }) {
24595
24645
  setIsTruncated(el.scrollWidth > el.clientWidth);
24596
24646
  }
24597
24647
  }, []);
24598
- return /* @__PURE__ */ jsx220(TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ jsxs177(Tooltip, { open: isTruncated ? void 0 : false, children: [
24648
+ return /* @__PURE__ */ jsx220(TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ jsxs178(Tooltip, { open: isTruncated ? void 0 : false, children: [
24599
24649
  /* @__PURE__ */ jsx220(TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ jsx220(
24600
24650
  "div",
24601
24651
  {
@@ -24618,7 +24668,7 @@ function TruncatedHeaderCell({ value, width }) {
24618
24668
  // src/components/ui/query-report-table/query-report-table-row.tsx
24619
24669
  init_cn();
24620
24670
  import { useRef as useRef29, useState as useState47, useCallback as useCallback23 } from "react";
24621
- import { jsx as jsx221, jsxs as jsxs178 } from "react/jsx-runtime";
24671
+ import { jsx as jsx221, jsxs as jsxs179 } from "react/jsx-runtime";
24622
24672
  function QueryReportTableRow({
24623
24673
  row,
24624
24674
  columns,
@@ -24671,7 +24721,7 @@ function TruncatedCell({ value, className }) {
24671
24721
  setIsTruncated(el.scrollWidth > el.clientWidth);
24672
24722
  }
24673
24723
  }, []);
24674
- return /* @__PURE__ */ jsx221(TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ jsxs178(Tooltip, { open: isTruncated ? void 0 : false, children: [
24724
+ return /* @__PURE__ */ jsx221(TooltipProvider, { delayDuration: 300, children: /* @__PURE__ */ jsxs179(Tooltip, { open: isTruncated ? void 0 : false, children: [
24675
24725
  /* @__PURE__ */ jsx221(TooltipTrigger, { asChild: true, onMouseEnter: checkTruncation, children: /* @__PURE__ */ jsx221("span", { ref: textRef, className: cn("truncate block", className), children: value }) }),
24676
24726
  /* @__PURE__ */ jsx221(TooltipContent, { side: "top", className: "max-w-xs break-words", children: value })
24677
24727
  ] }) });
@@ -24679,7 +24729,7 @@ function TruncatedCell({ value, className }) {
24679
24729
 
24680
24730
  // src/components/ui/query-report-table/query-report-table-skeleton.tsx
24681
24731
  init_cn();
24682
- import { jsx as jsx222, jsxs as jsxs179 } from "react/jsx-runtime";
24732
+ import { jsx as jsx222, jsxs as jsxs180 } from "react/jsx-runtime";
24683
24733
  function QueryReportTableSkeleton({
24684
24734
  rows,
24685
24735
  columns,
@@ -24688,7 +24738,7 @@ function QueryReportTableSkeleton({
24688
24738
  className
24689
24739
  }) {
24690
24740
  const isCompact = variant === "compact";
24691
- return /* @__PURE__ */ jsxs179("div", { className: cn("flex flex-col", isCompact ? "gap-0" : "gap-2", className), children: [
24741
+ return /* @__PURE__ */ jsxs180("div", { className: cn("flex flex-col", isCompact ? "gap-0" : "gap-2", className), children: [
24692
24742
  /* @__PURE__ */ jsx222("div", { className: cn(
24693
24743
  "flex items-center gap-4 px-4",
24694
24744
  isCompact ? "py-2 border-b border-ods-border" : ""
@@ -24773,7 +24823,7 @@ function exportToCSV(data, columns, filename) {
24773
24823
  }
24774
24824
 
24775
24825
  // src/components/ui/query-report-table/query-report-table.tsx
24776
- import { jsx as jsx223, jsxs as jsxs180 } from "react/jsx-runtime";
24826
+ import { jsx as jsx223, jsxs as jsxs181 } from "react/jsx-runtime";
24777
24827
  function QueryReportTable({
24778
24828
  title,
24779
24829
  data,
@@ -24815,10 +24865,10 @@ function QueryReportTable({
24815
24865
  onThumbPointerMove,
24816
24866
  onThumbPointerUp
24817
24867
  } = useHorizontalScrollbar();
24818
- return /* @__PURE__ */ jsxs180("div", { className: cn("flex flex-col w-full", isCompact ? "gap-0" : "gap-6", className), children: [
24819
- !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ jsxs180("div", { className: "flex items-end justify-between pt-6", children: [
24868
+ return /* @__PURE__ */ jsxs181("div", { className: cn("flex flex-col w-full", isCompact ? "gap-0" : "gap-6", className), children: [
24869
+ !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ jsxs181("div", { className: "flex items-end justify-between pt-6", children: [
24820
24870
  /* @__PURE__ */ jsx223("h2", { className: "font-mono font-semibold text-[32px] leading-[40px] text-ods-text-primary", children: title }),
24821
- /* @__PURE__ */ jsxs180("div", { className: "flex items-center gap-3", children: [
24871
+ /* @__PURE__ */ jsxs181("div", { className: "flex items-center gap-3", children: [
24822
24872
  headerActions,
24823
24873
  showExport && data.length > 0 && /* @__PURE__ */ jsx223(
24824
24874
  Button,
@@ -24843,7 +24893,7 @@ function QueryReportTable({
24843
24893
  }
24844
24894
  ),
24845
24895
  !loading && data.length === 0 && /* @__PURE__ */ jsx223(TableEmptyState, { message: emptyMessage }),
24846
- !loading && data.length > 0 && /* @__PURE__ */ jsxs180("div", { className: "flex flex-col gap-1", children: [
24896
+ !loading && data.length > 0 && /* @__PURE__ */ jsxs181("div", { className: "flex flex-col gap-1", children: [
24847
24897
  !isCompact && thumbRatio > 0 && /* @__PURE__ */ jsx223(
24848
24898
  "div",
24849
24899
  {
@@ -24868,14 +24918,14 @@ function QueryReportTable({
24868
24918
  )
24869
24919
  }
24870
24920
  ),
24871
- /* @__PURE__ */ jsxs180("div", { className: "relative", children: [
24921
+ /* @__PURE__ */ jsxs181("div", { className: "relative", children: [
24872
24922
  /* @__PURE__ */ jsx223(
24873
24923
  "div",
24874
24924
  {
24875
24925
  ref: scrollRef,
24876
24926
  className: cn("overflow-x-auto", tableClassName),
24877
24927
  onScroll,
24878
- children: /* @__PURE__ */ jsxs180("div", { style: { minWidth: tableMinWidth }, children: [
24928
+ children: /* @__PURE__ */ jsxs181("div", { style: { minWidth: tableMinWidth }, children: [
24879
24929
  /* @__PURE__ */ jsx223(
24880
24930
  QueryReportTableHeader,
24881
24931
  {
@@ -24961,7 +25011,7 @@ var multiSelectFilterFn = (row, columnId, filterValue) => {
24961
25011
  };
24962
25012
 
24963
25013
  // src/components/ui/data-table/data-table-column-filter.tsx
24964
- import { jsx as jsx225, jsxs as jsxs181 } from "react/jsx-runtime";
25014
+ import { jsx as jsx225, jsxs as jsxs182 } from "react/jsx-runtime";
24965
25015
  var EMPTY_ARRAY = [];
24966
25016
  function DataTableColumnFilter({
24967
25017
  column,
@@ -25002,7 +25052,7 @@ function DataTableColumnFilter({
25002
25052
  FiltersDropdown,
25003
25053
  {
25004
25054
  className: "!block w-full",
25005
- triggerElement: /* @__PURE__ */ jsxs181(
25055
+ triggerElement: /* @__PURE__ */ jsxs182(
25006
25056
  "div",
25007
25057
  {
25008
25058
  className: cn(
@@ -25035,7 +25085,7 @@ function DataTableColumnFilter({
25035
25085
  }
25036
25086
 
25037
25087
  // src/components/ui/data-table/data-table-header.tsx
25038
- import { Fragment as Fragment34, jsx as jsx226, jsxs as jsxs182 } from "react/jsx-runtime";
25088
+ import { Fragment as Fragment34, jsx as jsx226, jsxs as jsxs183 } from "react/jsx-runtime";
25039
25089
  function DataTableHeader({
25040
25090
  className,
25041
25091
  stickyHeader,
@@ -25061,7 +25111,7 @@ function DataTableHeader({
25061
25111
  stickyHeader && `sticky z-10 bg-ods-bg ${stickyHeaderOffset ?? "top-0"}`,
25062
25112
  className
25063
25113
  ),
25064
- children: /* @__PURE__ */ jsxs182("div", { className: "flex items-stretch gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] relative", children: [
25114
+ children: /* @__PURE__ */ jsxs183("div", { className: "flex items-stretch gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] relative", children: [
25065
25115
  headerGroup.headers.map((header) => /* @__PURE__ */ jsx226(
25066
25116
  HeaderCell,
25067
25117
  {
@@ -25105,7 +25155,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
25105
25155
  label: resolveHeaderLabel(header),
25106
25156
  align
25107
25157
  }
25108
- ) : /* @__PURE__ */ jsxs182(
25158
+ ) : /* @__PURE__ */ jsxs183(
25109
25159
  "div",
25110
25160
  {
25111
25161
  className: cn(
@@ -25148,14 +25198,14 @@ init_cn();
25148
25198
  init_cn();
25149
25199
  init_button2();
25150
25200
  import { FileX2 as FileX22 } from "lucide-react";
25151
- import { jsx as jsx227, jsxs as jsxs183 } from "react/jsx-runtime";
25201
+ import { jsx as jsx227, jsxs as jsxs184 } from "react/jsx-runtime";
25152
25202
  function DataTableEmpty({
25153
25203
  message = "No data available",
25154
25204
  icon,
25155
25205
  action,
25156
25206
  className
25157
25207
  }) {
25158
- return /* @__PURE__ */ jsxs183(
25208
+ return /* @__PURE__ */ jsxs184(
25159
25209
  "div",
25160
25210
  {
25161
25211
  className: cn(
@@ -25187,7 +25237,7 @@ import { flexRender as flexRender2 } from "@tanstack/react-table";
25187
25237
 
25188
25238
  // src/components/ui/data-table/data-table-skeleton.tsx
25189
25239
  init_cn();
25190
- import { Fragment as Fragment35, jsx as jsx228, jsxs as jsxs184 } from "react/jsx-runtime";
25240
+ import { Fragment as Fragment35, jsx as jsx228, jsxs as jsxs185 } from "react/jsx-runtime";
25191
25241
  var ROW_HEIGHT_DESKTOP2 = "h-[68px] md:h-[80px]";
25192
25242
  var ROW_HEIGHT_MOBILE2 = "h-[68px]";
25193
25243
  function DataTableSkeleton({
@@ -25198,7 +25248,7 @@ function DataTableSkeleton({
25198
25248
  const table = useDataTableContext();
25199
25249
  const columns = table.getVisibleFlatColumns();
25200
25250
  const firstColumnId = columns[0]?.id;
25201
- return /* @__PURE__ */ jsx228(Fragment35, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs184(
25251
+ return /* @__PURE__ */ jsx228(Fragment35, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs185(
25202
25252
  "div",
25203
25253
  {
25204
25254
  className: cn(
@@ -25216,7 +25266,7 @@ function DataTableSkeleton({
25216
25266
  ),
25217
25267
  children: columns.map((column) => {
25218
25268
  const meta = column.columnDef.meta;
25219
- return /* @__PURE__ */ jsxs184(
25269
+ return /* @__PURE__ */ jsxs185(
25220
25270
  "div",
25221
25271
  {
25222
25272
  className: cn(
@@ -25241,7 +25291,7 @@ function DataTableSkeleton({
25241
25291
  ROW_HEIGHT_MOBILE2,
25242
25292
  rowClassName
25243
25293
  ),
25244
- children: /* @__PURE__ */ jsxs184("div", { className: "flex-1 flex flex-col justify-center min-w-0 py-[var(--spacing-system-sf)]", children: [
25294
+ children: /* @__PURE__ */ jsxs185("div", { className: "flex-1 flex flex-col justify-center min-w-0 py-[var(--spacing-system-sf)]", children: [
25245
25295
  /* @__PURE__ */ jsx228("div", { className: "h-4 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xsf)]" }),
25246
25296
  /* @__PURE__ */ jsx228("div", { className: "h-3 bg-ods-bg-surface rounded-sm w-1/2 opacity-60" })
25247
25297
  ] })
@@ -25254,7 +25304,7 @@ function DataTableSkeleton({
25254
25304
  }
25255
25305
 
25256
25306
  // src/components/ui/data-table/data-table-row.tsx
25257
- import { Fragment as Fragment36, jsx as jsx229, jsxs as jsxs185 } from "react/jsx-runtime";
25307
+ import { Fragment as Fragment36, jsx as jsx229, jsxs as jsxs186 } from "react/jsx-runtime";
25258
25308
  function DataTableRowImpl({
25259
25309
  row,
25260
25310
  onClick,
@@ -25271,7 +25321,7 @@ function DataTableRowImpl({
25271
25321
  },
25272
25322
  [onClick, row.original]
25273
25323
  );
25274
- return /* @__PURE__ */ jsxs185(
25324
+ return /* @__PURE__ */ jsxs186(
25275
25325
  "div",
25276
25326
  {
25277
25327
  className: cn(
@@ -25330,7 +25380,7 @@ function CellContent({ children }) {
25330
25380
  }
25331
25381
 
25332
25382
  // src/components/ui/data-table/data-table-body.tsx
25333
- import { jsx as jsx230, jsxs as jsxs186 } from "react/jsx-runtime";
25383
+ import { jsx as jsx230, jsxs as jsxs187 } from "react/jsx-runtime";
25334
25384
  function DataTableBody({
25335
25385
  loading,
25336
25386
  emptyMessage = "No data available",
@@ -25351,7 +25401,7 @@ function DataTableBody({
25351
25401
  return /* @__PURE__ */ jsx230("div", { className: cn("flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: /* @__PURE__ */ jsx230(DataTableEmpty, { message: emptyMessage }) });
25352
25402
  }
25353
25403
  const padCount = minRows ? Math.max(0, minRows - rows.length) : 0;
25354
- return /* @__PURE__ */ jsxs186("div", { className: cn("flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
25404
+ return /* @__PURE__ */ jsxs187("div", { className: cn("flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
25355
25405
  rows.map((row, index) => {
25356
25406
  const item = row.original;
25357
25407
  const href = rowHref?.(item) ?? void 0;
@@ -25368,7 +25418,7 @@ function DataTableBody({
25368
25418
  row.id
25369
25419
  );
25370
25420
  }),
25371
- padCount > 0 && Array.from({ length: padCount }).map((_, i) => /* @__PURE__ */ jsxs186(
25421
+ padCount > 0 && Array.from({ length: padCount }).map((_, i) => /* @__PURE__ */ jsxs187(
25372
25422
  "div",
25373
25423
  {
25374
25424
  className: "relative rounded-md overflow-hidden pointer-events-none",
@@ -25401,7 +25451,7 @@ function DataTableBody({
25401
25451
 
25402
25452
  // src/components/ui/data-table/data-table-infinite-footer.tsx
25403
25453
  import { useEffect as useEffect36, useRef as useRef30 } from "react";
25404
- import { Fragment as Fragment37, jsx as jsx231, jsxs as jsxs187 } from "react/jsx-runtime";
25454
+ import { Fragment as Fragment37, jsx as jsx231, jsxs as jsxs188 } from "react/jsx-runtime";
25405
25455
  function DataTableInfiniteFooter({
25406
25456
  hasNextPage,
25407
25457
  isFetchingNextPage,
@@ -25425,7 +25475,7 @@ function DataTableInfiniteFooter({
25425
25475
  observer.observe(sentinel);
25426
25476
  return () => observer.disconnect();
25427
25477
  }, [hasNextPage, isFetchingNextPage, rootMargin]);
25428
- return /* @__PURE__ */ jsxs187(Fragment37, { children: [
25478
+ return /* @__PURE__ */ jsxs188(Fragment37, { children: [
25429
25479
  isFetchingNextPage && /* @__PURE__ */ jsx231(DataTableSkeleton, { rows: skeletonRows }),
25430
25480
  hasNextPage && /* @__PURE__ */ jsx231("div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" })
25431
25481
  ] });
@@ -25455,7 +25505,7 @@ function DataTableCursorFooter({
25455
25505
 
25456
25506
  // src/components/ui/data-table/data-table-row-count.tsx
25457
25507
  init_cn();
25458
- import { jsxs as jsxs188 } from "react/jsx-runtime";
25508
+ import { jsxs as jsxs189 } from "react/jsx-runtime";
25459
25509
  function DataTableRowCount({
25460
25510
  itemName = "result",
25461
25511
  totalCount,
@@ -25467,7 +25517,7 @@ function DataTableRowCount({
25467
25517
  const count = totalCount ?? table.getRowModel().rows.length;
25468
25518
  if (hideWhenEmpty && count === 0) return null;
25469
25519
  const label = pluralize?.(count, itemName) ?? (count === 1 ? itemName : `${itemName}s`);
25470
- return /* @__PURE__ */ jsxs188(
25520
+ return /* @__PURE__ */ jsxs189(
25471
25521
  "span",
25472
25522
  {
25473
25523
  className: cn(
@@ -25538,7 +25588,7 @@ var DataTable = Object.assign(DataTableRoot, {
25538
25588
 
25539
25589
  // src/components/ui/phone-input.tsx
25540
25590
  import { useCallback as useCallback26, useEffect as useEffect37, useMemo as useMemo20, useRef as useRef31, useState as useState48 } from "react";
25541
- import { jsx as jsx233, jsxs as jsxs189 } from "react/jsx-runtime";
25591
+ import { jsx as jsx233, jsxs as jsxs190 } from "react/jsx-runtime";
25542
25592
  function PhoneInput({
25543
25593
  value,
25544
25594
  countryCode,
@@ -25576,8 +25626,8 @@ function PhoneInput({
25576
25626
  if (debounceRef.current) clearTimeout(debounceRef.current);
25577
25627
  };
25578
25628
  }, []);
25579
- return /* @__PURE__ */ jsxs189("div", { className: "flex gap-2 w-full min-w-0", children: [
25580
- /* @__PURE__ */ jsxs189(
25629
+ return /* @__PURE__ */ jsxs190("div", { className: "flex gap-2 w-full min-w-0", children: [
25630
+ /* @__PURE__ */ jsxs190(
25581
25631
  Select,
25582
25632
  {
25583
25633
  value: countryCode,
@@ -25589,11 +25639,11 @@ function PhoneInput({
25589
25639
  },
25590
25640
  disabled,
25591
25641
  children: [
25592
- /* @__PURE__ */ jsx233(SelectTrigger, { className: "w-[130px] shrink-0", children: /* @__PURE__ */ jsx233(SelectValue, { children: selectedCountry && /* @__PURE__ */ jsxs189("span", { className: "flex items-center gap-1.5", children: [
25642
+ /* @__PURE__ */ jsx233(SelectTrigger, { className: "w-[130px] shrink-0", children: /* @__PURE__ */ jsx233(SelectValue, { children: selectedCountry && /* @__PURE__ */ jsxs190("span", { className: "flex items-center gap-1.5", children: [
25593
25643
  /* @__PURE__ */ jsx233("span", { children: selectedCountry.flag }),
25594
25644
  /* @__PURE__ */ jsx233("span", { children: selectedCountry.dialCode })
25595
25645
  ] }) }) }),
25596
- /* @__PURE__ */ jsxs189(SelectContent, { className: "max-h-[300px] !w-[280px]", children: [
25646
+ /* @__PURE__ */ jsxs190(SelectContent, { className: "max-h-[300px] !w-[280px]", children: [
25597
25647
  /* @__PURE__ */ jsx233(SelectGroup, { children: priority.map((country) => /* @__PURE__ */ jsx233(CountryOption, { country }, country.code)) }),
25598
25648
  /* @__PURE__ */ jsx233(SelectSeparator, {}),
25599
25649
  /* @__PURE__ */ jsx233(SelectGroup, { children: others.map((country) => /* @__PURE__ */ jsx233(CountryOption, { country }, country.code)) })
@@ -25628,7 +25678,7 @@ function PhoneInput({
25628
25678
  ] });
25629
25679
  }
25630
25680
  function CountryOption({ country }) {
25631
- return /* @__PURE__ */ jsx233(SelectItem, { value: country.code, textValue: country.name, children: /* @__PURE__ */ jsxs189("span", { className: "flex items-center gap-2", children: [
25681
+ return /* @__PURE__ */ jsx233(SelectItem, { value: country.code, textValue: country.name, children: /* @__PURE__ */ jsxs190("span", { className: "flex items-center gap-2", children: [
25632
25682
  /* @__PURE__ */ jsx233("span", { className: "shrink-0", children: country.flag }),
25633
25683
  /* @__PURE__ */ jsx233("span", { className: "shrink-0 text-ods-text-secondary", children: country.dialCode }),
25634
25684
  /* @__PURE__ */ jsx233("span", { className: "overflow-hidden text-ellipsis whitespace-nowrap max-w-[140px] inline-block", children: country.name })
@@ -25640,7 +25690,7 @@ init_cn();
25640
25690
  import * as PopoverPrimitive3 from "@radix-ui/react-popover";
25641
25691
  import * as ScrollAreaPrimitive3 from "@radix-ui/react-scroll-area";
25642
25692
  import * as React83 from "react";
25643
- import { jsx as jsx234, jsxs as jsxs190 } from "react/jsx-runtime";
25693
+ import { jsx as jsx234, jsxs as jsxs191 } from "react/jsx-runtime";
25644
25694
  var containerStyles = cn(
25645
25695
  // Layout & spacing — matches lib Input component
25646
25696
  "flex items-center gap-2 rounded-[6px] border px-3 h-11 md:h-12 cursor-text",
@@ -25821,9 +25871,9 @@ function SearchInput({
25821
25871
  const handleOpenChange = (open) => {
25822
25872
  setIsOpen(open);
25823
25873
  };
25824
- const defaultRenderResult = (result, isHighlighted) => /* @__PURE__ */ jsxs190("div", { className: "flex items-center gap-3 w-full min-w-0", children: [
25874
+ const defaultRenderResult = (result, isHighlighted) => /* @__PURE__ */ jsxs191("div", { className: "flex items-center gap-3 w-full min-w-0", children: [
25825
25875
  result.icon && /* @__PURE__ */ jsx234("span", { className: "flex-shrink-0 text-ods-text-secondary [&_svg]:size-4", children: result.icon }),
25826
- /* @__PURE__ */ jsxs190("div", { className: "min-w-0 flex-1", children: [
25876
+ /* @__PURE__ */ jsxs191("div", { className: "min-w-0 flex-1", children: [
25827
25877
  /* @__PURE__ */ jsx234("div", { className: cn(
25828
25878
  "text-sm font-medium leading-5 truncate",
25829
25879
  isHighlighted ? "text-ods-accent" : "text-ods-text-primary"
@@ -25860,7 +25910,7 @@ function SearchInput({
25860
25910
  }
25861
25911
  if (groups) {
25862
25912
  let globalIndex = 0;
25863
- return Array.from(groups.entries()).map(([groupLabel, groupResults]) => /* @__PURE__ */ jsxs190("div", { children: [
25913
+ return Array.from(groups.entries()).map(([groupLabel, groupResults]) => /* @__PURE__ */ jsxs191("div", { children: [
25864
25914
  /* @__PURE__ */ jsx234("div", { className: "px-4 py-2 text-[12px] font-semibold text-ods-text-secondary uppercase tracking-wide bg-ods-bg", children: groupLabel }),
25865
25915
  groupResults.map((result) => {
25866
25916
  const idx = globalIndex++;
@@ -25871,9 +25921,9 @@ function SearchInput({
25871
25921
  return flatResults.map((result, index) => renderRow(result, index));
25872
25922
  };
25873
25923
  const hasValue = currentValue.length > 0;
25874
- return /* @__PURE__ */ jsxs190("div", { className: cn("relative", className), ref: containerRef, children: [
25875
- /* @__PURE__ */ jsxs190(PopoverPrimitive3.Root, { open: dropdownVisible, onOpenChange: handleOpenChange, modal: false, children: [
25876
- /* @__PURE__ */ jsx234(PopoverPrimitive3.Anchor, { asChild: true, children: /* @__PURE__ */ jsxs190(
25924
+ return /* @__PURE__ */ jsxs191("div", { className: cn("relative", className), ref: containerRef, children: [
25925
+ /* @__PURE__ */ jsxs191(PopoverPrimitive3.Root, { open: dropdownVisible, onOpenChange: handleOpenChange, modal: false, children: [
25926
+ /* @__PURE__ */ jsx234(PopoverPrimitive3.Anchor, { asChild: true, children: /* @__PURE__ */ jsxs191(
25877
25927
  "div",
25878
25928
  {
25879
25929
  className: cn(
@@ -25887,7 +25937,7 @@ function SearchInput({
25887
25937
  },
25888
25938
  children: [
25889
25939
  /* @__PURE__ */ jsx234("span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ jsx234(SearchIcon, {}) }),
25890
- /* @__PURE__ */ jsxs190("div", { ref: middleRef, className: "flex-1 flex items-center gap-2 min-w-0 overflow-hidden", children: [
25940
+ /* @__PURE__ */ jsxs191("div", { ref: middleRef, className: "flex-1 flex items-center gap-2 min-w-0 overflow-hidden", children: [
25891
25941
  visibleChips.map((chip) => /* @__PURE__ */ jsx234(
25892
25942
  Tag,
25893
25943
  {
@@ -25934,7 +25984,7 @@ function SearchInput({
25934
25984
  }
25935
25985
  )
25936
25986
  ] }),
25937
- /* @__PURE__ */ jsxs190("div", { className: "flex items-center gap-1 shrink-0 ml-auto", children: [
25987
+ /* @__PURE__ */ jsxs191("div", { className: "flex items-center gap-1 shrink-0 ml-auto", children: [
25938
25988
  hasValue && /* @__PURE__ */ jsx234(
25939
25989
  "button",
25940
25990
  {
@@ -25973,7 +26023,7 @@ function SearchInput({
25973
26023
  e.preventDefault();
25974
26024
  }
25975
26025
  },
25976
- children: /* @__PURE__ */ jsxs190(ScrollAreaPrimitive3.Root, { className: "overflow-hidden", children: [
26026
+ children: /* @__PURE__ */ jsxs191(ScrollAreaPrimitive3.Root, { className: "overflow-hidden", children: [
25977
26027
  /* @__PURE__ */ jsx234(ScrollAreaPrimitive3.Viewport, { className: "max-h-[320px] w-full", children: /* @__PURE__ */ jsx234("div", { role: "listbox", children: renderDropdownContent() }) }),
25978
26028
  /* @__PURE__ */ jsx234(ScrollAreaPrimitive3.Scrollbar, { className: "hidden", orientation: "vertical", children: /* @__PURE__ */ jsx234(ScrollAreaPrimitive3.Thumb, {}) })
25979
26029
  ] })
@@ -26029,7 +26079,7 @@ function SearchInput({
26029
26079
  init_cn();
26030
26080
  import * as React84 from "react";
26031
26081
  import * as CheckboxPrimitive4 from "@radix-ui/react-checkbox";
26032
- import { jsx as jsx235, jsxs as jsxs191 } from "react/jsx-runtime";
26082
+ import { jsx as jsx235, jsxs as jsxs192 } from "react/jsx-runtime";
26033
26083
  function FilterListItem({
26034
26084
  title,
26035
26085
  meta,
@@ -26042,7 +26092,7 @@ function FilterListItem({
26042
26092
  if (disabled) return;
26043
26093
  onToggle?.(!selected);
26044
26094
  };
26045
- return /* @__PURE__ */ jsxs191(
26095
+ return /* @__PURE__ */ jsxs192(
26046
26096
  "div",
26047
26097
  {
26048
26098
  role: "button",
@@ -26067,7 +26117,7 @@ function FilterListItem({
26067
26117
  className
26068
26118
  ),
26069
26119
  children: [
26070
- /* @__PURE__ */ jsxs191("div", { className: "flex min-w-0 flex-1 flex-col", children: [
26120
+ /* @__PURE__ */ jsxs192("div", { className: "flex min-w-0 flex-1 flex-col", children: [
26071
26121
  /* @__PURE__ */ jsx235("p", { className: "truncate text-h4 text-ods-text-primary", children: title }),
26072
26122
  meta && meta.length > 0 && /* @__PURE__ */ jsx235(
26073
26123
  "div",
@@ -26076,7 +26126,7 @@ function FilterListItem({
26076
26126
  "flex items-start gap-[var(--spacing-system-xxs)] text-h6",
26077
26127
  selected ? "text-ods-accent" : "text-ods-text-secondary"
26078
26128
  ),
26079
- children: meta.map((item, index) => /* @__PURE__ */ jsxs191(React84.Fragment, { children: [
26129
+ children: meta.map((item, index) => /* @__PURE__ */ jsxs192(React84.Fragment, { children: [
26080
26130
  index > 0 && /* @__PURE__ */ jsx235("span", { "aria-hidden": "true", children: "\u2022" }),
26081
26131
  /* @__PURE__ */ jsx235("span", { children: item })
26082
26132
  ] }, index))
@@ -26147,7 +26197,7 @@ import {
26147
26197
  useState as useState50
26148
26198
  } from "react";
26149
26199
  init_cn();
26150
- import { jsx as jsx236, jsxs as jsxs192 } from "react/jsx-runtime";
26200
+ import { jsx as jsx236, jsxs as jsxs193 } from "react/jsx-runtime";
26151
26201
  function TagSearchInput({
26152
26202
  tags,
26153
26203
  searchValue,
@@ -26210,8 +26260,8 @@ function TagSearchInput({
26210
26260
  onClearAll?.();
26211
26261
  inputRef.current?.focus();
26212
26262
  };
26213
- return /* @__PURE__ */ jsxs192("div", { ref: wrapperRef, className: "relative", children: [
26214
- /* @__PURE__ */ jsxs192(
26263
+ return /* @__PURE__ */ jsxs193("div", { ref: wrapperRef, className: "relative", children: [
26264
+ /* @__PURE__ */ jsxs193(
26215
26265
  "div",
26216
26266
  {
26217
26267
  className: cn(
@@ -26229,7 +26279,7 @@ function TagSearchInput({
26229
26279
  },
26230
26280
  children: [
26231
26281
  /* @__PURE__ */ jsx236("div", { className: "shrink-0 flex items-center pl-3", children: /* @__PURE__ */ jsx236(SearchIcon, { className: "text-ods-text-secondary size-4 md:size-6" }) }),
26232
- /* @__PURE__ */ jsxs192("div", { ref: middleRef, className: "flex-1 flex items-center gap-2 min-w-0 overflow-hidden px-2", children: [
26282
+ /* @__PURE__ */ jsxs193("div", { ref: middleRef, className: "flex-1 flex items-center gap-2 min-w-0 overflow-hidden px-2", children: [
26233
26283
  visibleTags.map((tag) => /* @__PURE__ */ jsx236(
26234
26284
  Tag,
26235
26285
  {
@@ -26341,7 +26391,7 @@ init_cn();
26341
26391
  import { useRef as useRef34, useCallback as useCallback27, useState as useState51, useEffect as useEffect40 } from "react";
26342
26392
  import dynamic from "next/dynamic";
26343
26393
  import { Loader2 as Loader23, Upload as Upload2 } from "lucide-react";
26344
- import { jsx as jsx237, jsxs as jsxs193 } from "react/jsx-runtime";
26394
+ import { jsx as jsx237, jsxs as jsxs194 } from "react/jsx-runtime";
26345
26395
  var MDEditor = dynamic(() => import("@uiw/react-md-editor"), { ssr: false });
26346
26396
  var MARKDOWN_EDITOR_STYLE_ID = "ods-markdown-editor-styles";
26347
26397
  var mdEditorCSS = `
@@ -26551,7 +26601,7 @@ function MarkdownEditor({
26551
26601
  cancelAnimationFrame(rafRef.current);
26552
26602
  };
26553
26603
  }, [scrollLoop, findScrollParent]);
26554
- return /* @__PURE__ */ jsxs193(
26604
+ return /* @__PURE__ */ jsxs194(
26555
26605
  "div",
26556
26606
  {
26557
26607
  ref: wrapperRef,
@@ -26616,7 +26666,7 @@ function MarkdownEditor({
26616
26666
  import * as React86 from "react";
26617
26667
  import { Loader2 as Loader24, X as X10 } from "lucide-react";
26618
26668
  init_cn();
26619
- import { jsx as jsx238, jsxs as jsxs194 } from "react/jsx-runtime";
26669
+ import { jsx as jsx238, jsxs as jsxs195 } from "react/jsx-runtime";
26620
26670
  function formatFileSize(bytes) {
26621
26671
  if (bytes === 0) return "0 B";
26622
26672
  const k = 1024;
@@ -26805,7 +26855,7 @@ function FileUpload({
26805
26855
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
26806
26856
  const fileCount = currentCount;
26807
26857
  const canAddMore = multiple && fileCount < maxFiles;
26808
- return /* @__PURE__ */ jsxs194(FieldWrapper, { label: fieldLabel, error: displayError, className, children: [
26858
+ return /* @__PURE__ */ jsxs195(FieldWrapper, { label: fieldLabel, error: displayError, className, children: [
26809
26859
  /* @__PURE__ */ jsx238(
26810
26860
  "input",
26811
26861
  {
@@ -26818,7 +26868,7 @@ function FileUpload({
26818
26868
  disabled
26819
26869
  }
26820
26870
  ),
26821
- !hasFiles && /* @__PURE__ */ jsxs194(
26871
+ !hasFiles && /* @__PURE__ */ jsxs195(
26822
26872
  "button",
26823
26873
  {
26824
26874
  type: "button",
@@ -26838,14 +26888,14 @@ function FileUpload({
26838
26888
  ),
26839
26889
  children: [
26840
26890
  /* @__PURE__ */ jsx238("div", { className: "flex items-center p-3 rounded-full bg-ods-card border border-ods-border shrink-0", children: icon || /* @__PURE__ */ jsx238(ImagePlusIcon, { className: "size-6 text-ods-text-primary" }) }),
26841
- /* @__PURE__ */ jsxs194("div", { className: "flex flex-1 flex-col font-['DM_Sans'] font-medium min-w-0", children: [
26891
+ /* @__PURE__ */ jsxs195("div", { className: "flex flex-1 flex-col font-['DM_Sans'] font-medium min-w-0", children: [
26842
26892
  /* @__PURE__ */ jsx238("span", { className: "text-heading-4 text-ods-text-primary", children: label }),
26843
26893
  /* @__PURE__ */ jsx238("span", { className: "text-heading-5 text-ods-text-secondary", children: description })
26844
26894
  ] })
26845
26895
  ]
26846
26896
  }
26847
26897
  ),
26848
- hasFiles && /* @__PURE__ */ jsxs194("div", { className: "flex flex-col gap-2", children: [
26898
+ hasFiles && /* @__PURE__ */ jsxs195("div", { className: "flex flex-col gap-2", children: [
26849
26899
  /* @__PURE__ */ jsx238(
26850
26900
  "div",
26851
26901
  {
@@ -26854,7 +26904,7 @@ function FileUpload({
26854
26904
  dragActive && "bg-ods-accent/5"
26855
26905
  ),
26856
26906
  style: maxListHeight ? { maxHeight: typeof maxListHeight === "number" ? `${maxListHeight}px` : maxListHeight, overflowY: "auto" } : void 0,
26857
- children: isManaged ? managedFiles.map((entry) => /* @__PURE__ */ jsxs194(
26907
+ children: isManaged ? managedFiles.map((entry) => /* @__PURE__ */ jsxs195(
26858
26908
  "div",
26859
26909
  {
26860
26910
  className: cn(
@@ -26862,11 +26912,11 @@ function FileUpload({
26862
26912
  entry.status === "error" ? "border-[var(--ods-attention-red-error)]/40" : "border-ods-border"
26863
26913
  ),
26864
26914
  children: [
26865
- /* @__PURE__ */ jsxs194("div", { className: "flex-1 min-w-0", children: [
26915
+ /* @__PURE__ */ jsxs195("div", { className: "flex-1 min-w-0", children: [
26866
26916
  /* @__PURE__ */ jsx238("p", { className: "text-heading-5 font-medium text-ods-text-primary truncate", children: entry.fileName }),
26867
- /* @__PURE__ */ jsxs194("div", { className: "flex items-center gap-2", children: [
26917
+ /* @__PURE__ */ jsxs195("div", { className: "flex items-center gap-2", children: [
26868
26918
  /* @__PURE__ */ jsx238("span", { className: "text-heading-6 text-ods-text-secondary", children: formatFileSize(entry.fileSize) }),
26869
- entry.status === "uploading" && /* @__PURE__ */ jsxs194("span", { className: "flex items-center gap-1 text-heading-6 text-ods-text-secondary", children: [
26919
+ entry.status === "uploading" && /* @__PURE__ */ jsxs195("span", { className: "flex items-center gap-1 text-heading-6 text-ods-text-secondary", children: [
26870
26920
  /* @__PURE__ */ jsx238(Loader24, { className: "size-3 animate-spin" }),
26871
26921
  "Uploading..."
26872
26922
  ] }),
@@ -26886,12 +26936,12 @@ function FileUpload({
26886
26936
  ]
26887
26937
  },
26888
26938
  entry.id
26889
- )) : files.map((file, index) => /* @__PURE__ */ jsxs194(
26939
+ )) : files.map((file, index) => /* @__PURE__ */ jsxs195(
26890
26940
  "div",
26891
26941
  {
26892
26942
  className: "flex items-center gap-3 p-3 rounded-[6px] bg-ods-card border border-ods-border",
26893
26943
  children: [
26894
- /* @__PURE__ */ jsxs194("div", { className: "flex-1 min-w-0", children: [
26944
+ /* @__PURE__ */ jsxs195("div", { className: "flex-1 min-w-0", children: [
26895
26945
  /* @__PURE__ */ jsx238("p", { className: "text-heading-5 font-medium text-ods-text-primary truncate", children: file.name }),
26896
26946
  /* @__PURE__ */ jsx238("p", { className: "text-heading-6 text-ods-text-secondary", children: formatFileSize(file.size) })
26897
26947
  ] }),
@@ -26940,7 +26990,7 @@ function FileUpload({
26940
26990
  import * as React87 from "react";
26941
26991
  import { Loader2 as Loader25 } from "lucide-react";
26942
26992
  init_cn();
26943
- import { Fragment as Fragment39, jsx as jsx239, jsxs as jsxs195 } from "react/jsx-runtime";
26993
+ import { Fragment as Fragment39, jsx as jsx239, jsxs as jsxs196 } from "react/jsx-runtime";
26944
26994
  var DEFAULT_MAX_SIZE = 25 * 1024 * 1024;
26945
26995
  function formatSize(bytes) {
26946
26996
  const mb = bytes / (1024 * 1024);
@@ -27029,7 +27079,7 @@ function ImageUploader({
27029
27079
  }
27030
27080
  };
27031
27081
  const isActionState = dragActive || pressed && !hasImage;
27032
- return /* @__PURE__ */ jsxs195(FieldWrapper, { label: fieldLabel, error: displayError, className, children: [
27082
+ return /* @__PURE__ */ jsxs196(FieldWrapper, { label: fieldLabel, error: displayError, className, children: [
27033
27083
  /* @__PURE__ */ jsx239(
27034
27084
  "input",
27035
27085
  {
@@ -27066,7 +27116,7 @@ function ImageUploader({
27066
27116
  !interactive && "opacity-60",
27067
27117
  !hasImage && !interactive && "cursor-not-allowed"
27068
27118
  ),
27069
- children: hasImage ? /* @__PURE__ */ jsxs195(Fragment39, { children: [
27119
+ children: hasImage ? /* @__PURE__ */ jsxs196(Fragment39, { children: [
27070
27120
  /* @__PURE__ */ jsx239("div", { className: "relative min-h-0 w-full flex-1 overflow-hidden rounded-md", children: /* @__PURE__ */ jsx239(
27071
27121
  "img",
27072
27122
  {
@@ -27082,7 +27132,7 @@ function ImageUploader({
27082
27132
  )
27083
27133
  }
27084
27134
  ) }),
27085
- /* @__PURE__ */ jsxs195("div", { className: "absolute left-1/2 top-1/2 flex -translate-x-1/2 -translate-y-1/2 items-center gap-4", children: [
27135
+ /* @__PURE__ */ jsxs196("div", { className: "absolute left-1/2 top-1/2 flex -translate-x-1/2 -translate-y-1/2 items-center gap-4", children: [
27086
27136
  /* @__PURE__ */ jsx239(
27087
27137
  ActionIconButton,
27088
27138
  {
@@ -27103,9 +27153,9 @@ function ImageUploader({
27103
27153
  )
27104
27154
  ] }),
27105
27155
  loading && /* @__PURE__ */ jsx239("div", { className: "absolute inset-0 flex items-center justify-center rounded-md bg-ods-overlay", children: /* @__PURE__ */ jsx239(Loader25, { className: "size-8 animate-spin text-ods-text-on-dark" }) })
27106
- ] }) : loading ? /* @__PURE__ */ jsx239(Loader25, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs195(Fragment39, { children: [
27156
+ ] }) : loading ? /* @__PURE__ */ jsx239(Loader25, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs196(Fragment39, { children: [
27107
27157
  /* @__PURE__ */ jsx239("div", { className: "flex shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-card p-[var(--spacing-system-s)]", children: /* @__PURE__ */ jsx239(ImagePlusIcon, { className: "size-6 text-ods-text-primary" }) }),
27108
- /* @__PURE__ */ jsxs195("div", { className: "flex w-full flex-col items-center text-center", children: [
27158
+ /* @__PURE__ */ jsxs196("div", { className: "flex w-full flex-col items-center text-center", children: [
27109
27159
  /* @__PURE__ */ jsx239("p", { className: "text-h4 text-ods-text-primary", children: label }),
27110
27160
  /* @__PURE__ */ jsx239("p", { className: "text-h6 text-ods-text-secondary", children: description }),
27111
27161
  resolvedHint && /* @__PURE__ */ jsx239("p", { className: "text-h6 text-ods-text-secondary", children: resolvedHint })
@@ -27144,7 +27194,7 @@ function ActionIconButton({ onClick, disabled, ariaLabel, children }) {
27144
27194
  import * as PopoverPrimitive4 from "@radix-ui/react-popover";
27145
27195
  import * as React88 from "react";
27146
27196
  init_cn();
27147
- import { jsx as jsx240, jsxs as jsxs196 } from "react/jsx-runtime";
27197
+ import { jsx as jsx240, jsxs as jsxs197 } from "react/jsx-runtime";
27148
27198
  function AssigneeDropdown(props) {
27149
27199
  if (props.variant === "compact") {
27150
27200
  return /* @__PURE__ */ jsx240(CompactAssigneeDropdown, { ...props });
@@ -27214,9 +27264,9 @@ function CompactAssigneeDropdown({
27214
27264
  children: /* @__PURE__ */ jsx240(UserPlusIcon, { className: "size-4" })
27215
27265
  }
27216
27266
  );
27217
- return /* @__PURE__ */ jsxs196(PopoverPrimitive4.Root, { open: isOpen, onOpenChange: setIsOpen, modal: false, children: [
27267
+ return /* @__PURE__ */ jsxs197(PopoverPrimitive4.Root, { open: isOpen, onOpenChange: setIsOpen, modal: false, children: [
27218
27268
  /* @__PURE__ */ jsx240(PopoverPrimitive4.Trigger, { asChild: true, children: trigger }),
27219
- /* @__PURE__ */ jsx240(PopoverPrimitive4.Portal, { children: /* @__PURE__ */ jsxs196(
27269
+ /* @__PURE__ */ jsx240(PopoverPrimitive4.Portal, { children: /* @__PURE__ */ jsxs197(
27220
27270
  PopoverPrimitive4.Content,
27221
27271
  {
27222
27272
  align: "end",
@@ -27242,7 +27292,7 @@ function CompactAssigneeDropdown({
27242
27292
  ) }),
27243
27293
  /* @__PURE__ */ jsx240("div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ jsx240("div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "Loading\u2026" }) : orderedOptions.length === 0 ? /* @__PURE__ */ jsx240("div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "No users found" }) : orderedOptions.map((opt) => {
27244
27294
  const isCurrent = currentAssignee?.id === opt.value;
27245
- return /* @__PURE__ */ jsxs196(
27295
+ return /* @__PURE__ */ jsxs197(
27246
27296
  "button",
27247
27297
  {
27248
27298
  type: "button",
@@ -27289,7 +27339,7 @@ function DefaultAssigneeDropdown({
27289
27339
  const hasAssignee = !!currentAssignee;
27290
27340
  const renderOption = React88.useCallback((option) => {
27291
27341
  const opt = option;
27292
- return /* @__PURE__ */ jsxs196("div", { className: "flex items-center gap-[var(--spacing-system-sf)] w-full min-w-0", children: [
27342
+ return /* @__PURE__ */ jsxs197("div", { className: "flex items-center gap-[var(--spacing-system-sf)] w-full min-w-0", children: [
27293
27343
  /* @__PURE__ */ jsx240(
27294
27344
  SquareAvatar,
27295
27345
  {
@@ -27305,7 +27355,7 @@ function DefaultAssigneeDropdown({
27305
27355
  ] });
27306
27356
  }, []);
27307
27357
  if (isEditing) {
27308
- return /* @__PURE__ */ jsxs196("div", { className: cn("min-w-0", className), children: [
27358
+ return /* @__PURE__ */ jsxs197("div", { className: cn("min-w-0", className), children: [
27309
27359
  /* @__PURE__ */ jsx240(
27310
27360
  Autocomplete,
27311
27361
  {
@@ -27336,7 +27386,7 @@ function DefaultAssigneeDropdown({
27336
27386
  ] });
27337
27387
  }
27338
27388
  if (hasAssignee) {
27339
- return /* @__PURE__ */ jsxs196("div", { className: cn("flex items-center gap-[var(--spacing-system-xs)] min-w-0", className), children: [
27389
+ return /* @__PURE__ */ jsxs197("div", { className: cn("flex items-center gap-[var(--spacing-system-xs)] min-w-0", className), children: [
27340
27390
  /* @__PURE__ */ jsx240(
27341
27391
  SquareAvatar,
27342
27392
  {
@@ -27348,8 +27398,8 @@ function DefaultAssigneeDropdown({
27348
27398
  className: "shrink-0"
27349
27399
  }
27350
27400
  ),
27351
- /* @__PURE__ */ jsx240("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ jsxs196("div", { className: "flex flex-col justify-center", children: [
27352
- /* @__PURE__ */ jsx240("div", { className: "flex items-center gap-[var(--spacing-system-xxs)] w-full min-w-0", children: /* @__PURE__ */ jsxs196(
27401
+ /* @__PURE__ */ jsx240("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ jsxs197("div", { className: "flex flex-col justify-center", children: [
27402
+ /* @__PURE__ */ jsx240("div", { className: "flex items-center gap-[var(--spacing-system-xxs)] w-full min-w-0", children: /* @__PURE__ */ jsxs197(
27353
27403
  "button",
27354
27404
  {
27355
27405
  type: "button",
@@ -27365,8 +27415,8 @@ function DefaultAssigneeDropdown({
27365
27415
  ] }) })
27366
27416
  ] });
27367
27417
  }
27368
- return /* @__PURE__ */ jsxs196("div", { className: cn("min-w-0", className), children: [
27369
- /* @__PURE__ */ jsxs196(
27418
+ return /* @__PURE__ */ jsxs197("div", { className: cn("min-w-0", className), children: [
27419
+ /* @__PURE__ */ jsxs197(
27370
27420
  "button",
27371
27421
  {
27372
27422
  type: "button",
@@ -27387,9 +27437,9 @@ init_cn();
27387
27437
 
27388
27438
  // src/components/ui/ticket-detail-section.tsx
27389
27439
  init_cn();
27390
- import { jsx as jsx241, jsxs as jsxs197 } from "react/jsx-runtime";
27440
+ import { jsx as jsx241, jsxs as jsxs198 } from "react/jsx-runtime";
27391
27441
  function TicketDetailSection({ label, children, className }) {
27392
- return /* @__PURE__ */ jsxs197("div", { className: cn("flex flex-col gap-1", className), children: [
27442
+ return /* @__PURE__ */ jsxs198("div", { className: cn("flex flex-col gap-1", className), children: [
27393
27443
  /* @__PURE__ */ jsx241("p", { className: "text-h5 text-ods-text-secondary", children: label }),
27394
27444
  children
27395
27445
  ] });
@@ -27398,10 +27448,10 @@ function TicketDetailSection({ label, children, className }) {
27398
27448
  // src/components/ui/ticket-attachments-list.tsx
27399
27449
  init_cn();
27400
27450
  import { Download, FileIcon } from "lucide-react";
27401
- import { jsx as jsx242, jsxs as jsxs198 } from "react/jsx-runtime";
27451
+ import { jsx as jsx242, jsxs as jsxs199 } from "react/jsx-runtime";
27402
27452
  function TicketAttachmentsList({ attachments, className }) {
27403
27453
  if (attachments.length === 0) return null;
27404
- return /* @__PURE__ */ jsx242("div", { className: cn("rounded-[6px] border border-ods-border overflow-hidden", className), children: attachments.map((attachment, index) => /* @__PURE__ */ jsxs198(
27454
+ return /* @__PURE__ */ jsx242("div", { className: cn("rounded-[6px] border border-ods-border overflow-hidden", className), children: attachments.map((attachment, index) => /* @__PURE__ */ jsxs199(
27405
27455
  "div",
27406
27456
  {
27407
27457
  className: cn(
@@ -27418,7 +27468,7 @@ function TicketAttachmentsList({ attachments, className }) {
27418
27468
  className: "shrink-0"
27419
27469
  }
27420
27470
  ) : /* @__PURE__ */ jsx242("div", { className: "shrink-0 size-10 flex items-center justify-center rounded-[6px] bg-ods-card border border-ods-border", children: /* @__PURE__ */ jsx242(FileIcon, { className: "size-6 text-ods-text-secondary" }) }),
27421
- /* @__PURE__ */ jsxs198("div", { className: "flex-1 min-w-0 overflow-hidden", children: [
27471
+ /* @__PURE__ */ jsxs199("div", { className: "flex-1 min-w-0 overflow-hidden", children: [
27422
27472
  /* @__PURE__ */ jsx242("p", { className: "text-h4 text-ods-text-primary truncate", children: attachment.fileName }),
27423
27473
  /* @__PURE__ */ jsx242("p", { className: "text-h6 text-ods-text-secondary", children: attachment.fileSize })
27424
27474
  ] }),
@@ -27445,7 +27495,7 @@ init_cn();
27445
27495
  // src/components/ui/ticket-note-card.tsx
27446
27496
  import * as React89 from "react";
27447
27497
  init_cn();
27448
- import { Fragment as Fragment40, jsx as jsx243, jsxs as jsxs199 } from "react/jsx-runtime";
27498
+ import { Fragment as Fragment40, jsx as jsx243, jsxs as jsxs200 } from "react/jsx-runtime";
27449
27499
  function TicketNoteCard({ note, onEdit, onDelete, className }) {
27450
27500
  const [isEditing, setIsEditing] = React89.useState(false);
27451
27501
  const [editText, setEditText] = React89.useState(note.text);
@@ -27468,7 +27518,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
27468
27518
  handleCancel();
27469
27519
  }
27470
27520
  };
27471
- return /* @__PURE__ */ jsxs199(
27521
+ return /* @__PURE__ */ jsxs200(
27472
27522
  "div",
27473
27523
  {
27474
27524
  className: cn(
@@ -27488,7 +27538,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
27488
27538
  className: "shrink-0"
27489
27539
  }
27490
27540
  ),
27491
- /* @__PURE__ */ jsx243("div", { className: "flex-1 min-w-0 overflow-hidden", children: isEditing ? /* @__PURE__ */ jsxs199("div", { className: "flex items-center gap-2", children: [
27541
+ /* @__PURE__ */ jsx243("div", { className: "flex-1 min-w-0 overflow-hidden", children: isEditing ? /* @__PURE__ */ jsxs200("div", { className: "flex items-center gap-2", children: [
27492
27542
  /* @__PURE__ */ jsx243("div", { className: "flex-1", children: /* @__PURE__ */ jsx243(
27493
27543
  Input,
27494
27544
  {
@@ -27519,15 +27569,15 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
27519
27569
  children: /* @__PURE__ */ jsx243(XmarkIcon, { className: "size-5" })
27520
27570
  }
27521
27571
  )
27522
- ] }) : /* @__PURE__ */ jsxs199(Fragment40, { children: [
27572
+ ] }) : /* @__PURE__ */ jsxs200(Fragment40, { children: [
27523
27573
  /* @__PURE__ */ jsx243("p", { className: "text-h4 text-ods-text-primary", children: note.text }),
27524
- /* @__PURE__ */ jsxs199("p", { className: "text-h6 text-ods-text-secondary truncate", children: [
27574
+ /* @__PURE__ */ jsxs200("p", { className: "text-h6 text-ods-text-secondary truncate", children: [
27525
27575
  note.authorName,
27526
27576
  " \u2022 ",
27527
27577
  note.createdAt
27528
27578
  ] })
27529
27579
  ] }) }),
27530
- note.isOwn && !isEditing && /* @__PURE__ */ jsxs199("div", { className: "flex items-center gap-4 shrink-0", children: [
27580
+ note.isOwn && !isEditing && /* @__PURE__ */ jsxs200("div", { className: "flex items-center gap-4 shrink-0", children: [
27531
27581
  onDelete && /* @__PURE__ */ jsx243(
27532
27582
  "button",
27533
27583
  {
@@ -27555,7 +27605,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
27555
27605
  }
27556
27606
 
27557
27607
  // src/components/ui/ticket-notes-section.tsx
27558
- import { jsx as jsx244, jsxs as jsxs200 } from "react/jsx-runtime";
27608
+ import { jsx as jsx244, jsxs as jsxs201 } from "react/jsx-runtime";
27559
27609
  function TicketNotesSection({
27560
27610
  notes,
27561
27611
  onAddNote,
@@ -27577,7 +27627,7 @@ function TicketNotesSection({
27577
27627
  handleSend();
27578
27628
  }
27579
27629
  };
27580
- return /* @__PURE__ */ jsxs200("div", { className: cn("flex flex-col gap-2", className), children: [
27630
+ return /* @__PURE__ */ jsxs201("div", { className: cn("flex flex-col gap-2", className), children: [
27581
27631
  notes.map((note) => /* @__PURE__ */ jsx244(
27582
27632
  TicketNoteCard,
27583
27633
  {
@@ -27587,7 +27637,7 @@ function TicketNotesSection({
27587
27637
  },
27588
27638
  note.id
27589
27639
  )),
27590
- onAddNote && /* @__PURE__ */ jsxs200("div", { className: "flex items-center gap-2", children: [
27640
+ onAddNote && /* @__PURE__ */ jsxs201("div", { className: "flex items-center gap-2", children: [
27591
27641
  /* @__PURE__ */ jsx244("div", { className: "flex-1", children: /* @__PURE__ */ jsx244(
27592
27642
  Input,
27593
27643
  {
@@ -27619,10 +27669,10 @@ function TicketNotesSection({
27619
27669
  }
27620
27670
 
27621
27671
  // src/components/ui/ticket-info-section.tsx
27622
- import { Fragment as Fragment41, jsx as jsx245, jsxs as jsxs201 } from "react/jsx-runtime";
27672
+ import { Fragment as Fragment41, jsx as jsx245, jsxs as jsxs202 } from "react/jsx-runtime";
27623
27673
  function InfoCell2({ value, label, icon, onClick }) {
27624
- return /* @__PURE__ */ jsx245("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ jsxs201("div", { className: "flex flex-col justify-center", children: [
27625
- /* @__PURE__ */ jsxs201("div", { className: "flex items-center gap-1 w-full min-w-0", children: [
27674
+ return /* @__PURE__ */ jsx245("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ jsxs202("div", { className: "flex flex-col justify-center", children: [
27675
+ /* @__PURE__ */ jsxs202("div", { className: "flex items-center gap-1 w-full min-w-0", children: [
27626
27676
  icon && /* @__PURE__ */ jsx245("span", { className: "shrink-0 size-4 flex items-center justify-center text-ods-text-secondary", children: icon }),
27627
27677
  onClick ? /* @__PURE__ */ jsx245(
27628
27678
  "button",
@@ -27655,7 +27705,7 @@ function TicketInfoSection({
27655
27705
  onDeleteNote,
27656
27706
  isAddingNote
27657
27707
  }) {
27658
- return /* @__PURE__ */ jsxs201(
27708
+ return /* @__PURE__ */ jsxs202(
27659
27709
  "div",
27660
27710
  {
27661
27711
  className: cn(
@@ -27663,8 +27713,8 @@ function TicketInfoSection({
27663
27713
  className
27664
27714
  ),
27665
27715
  children: [
27666
- /* @__PURE__ */ jsxs201("div", { className: "grid grid-cols-2 lg:grid-cols-[1fr_1fr_1fr_auto] gap-4 px-4 py-3 bg-ods-card border-b border-ods-border items-center", children: [
27667
- /* @__PURE__ */ jsxs201("div", { className: "flex items-center gap-2 min-w-0", children: [
27716
+ /* @__PURE__ */ jsxs202("div", { className: "grid grid-cols-2 lg:grid-cols-[1fr_1fr_1fr_auto] gap-4 px-4 py-3 bg-ods-card border-b border-ods-border items-center", children: [
27717
+ /* @__PURE__ */ jsxs202("div", { className: "flex items-center gap-2 min-w-0", children: [
27668
27718
  /* @__PURE__ */ jsx245(
27669
27719
  SquareAvatar,
27670
27720
  {
@@ -27686,8 +27736,8 @@ function TicketInfoSection({
27686
27736
  isPending: assigned.isPending,
27687
27737
  onAssign: assigned.onAssign
27688
27738
  }
27689
- ) : /* @__PURE__ */ jsxs201("div", { className: "min-w-0", children: [
27690
- /* @__PURE__ */ jsxs201("div", { className: "flex items-center gap-1 text-h4 text-ods-text-secondary", children: [
27739
+ ) : /* @__PURE__ */ jsxs202("div", { className: "min-w-0", children: [
27740
+ /* @__PURE__ */ jsxs202("div", { className: "flex items-center gap-1 text-h4 text-ods-text-secondary", children: [
27691
27741
  /* @__PURE__ */ jsx245(UserIcon2, { className: "size-4 shrink-0" }),
27692
27742
  /* @__PURE__ */ jsx245("span", { className: "truncate", children: "Unassigned" })
27693
27743
  ] }),
@@ -27702,7 +27752,7 @@ function TicketInfoSection({
27702
27752
  onClick: device?.onClick
27703
27753
  }
27704
27754
  ),
27705
- /* @__PURE__ */ jsxs201("div", { className: "flex items-center gap-4 min-w-0", children: [
27755
+ /* @__PURE__ */ jsxs202("div", { className: "flex items-center gap-4 min-w-0", children: [
27706
27756
  status && /* @__PURE__ */ jsx245("div", { className: "min-w-0", children: /* @__PURE__ */ jsx245(TicketStatusTag, { status }) }),
27707
27757
  onExpand && /* @__PURE__ */ jsx245(
27708
27758
  "button",
@@ -27728,9 +27778,9 @@ function TicketInfoSection({
27728
27778
  )
27729
27779
  ] })
27730
27780
  ] }),
27731
- expanded && /* @__PURE__ */ jsxs201(Fragment41, { children: [
27781
+ expanded && /* @__PURE__ */ jsxs202(Fragment41, { children: [
27732
27782
  createdAt && /* @__PURE__ */ jsx245("div", { className: "grid grid-cols-2 gap-4 px-4 py-3 bg-ods-bg border-b border-ods-border items-center", children: /* @__PURE__ */ jsx245(InfoCell2, { value: createdAt, label: "Created" }) }),
27733
- /* @__PURE__ */ jsxs201("div", { className: "flex flex-col gap-4 p-4 bg-ods-bg border-b border-ods-border", children: [
27783
+ /* @__PURE__ */ jsxs202("div", { className: "flex flex-col gap-4 p-4 bg-ods-bg border-b border-ods-border", children: [
27734
27784
  description && /* @__PURE__ */ jsx245(SimpleMarkdownRenderer, { content: description }),
27735
27785
  attachments && attachments.length > 0 && /* @__PURE__ */ jsx245(TicketDetailSection, { label: "Attachments", children: /* @__PURE__ */ jsx245(TicketAttachmentsList, { attachments }) }),
27736
27786
  tags && tags.length > 0 && /* @__PURE__ */ jsx245(TicketDetailSection, { label: "Tags", children: /* @__PURE__ */ jsx245("div", { className: "flex flex-wrap gap-2 min-w-0", children: tags.map((tag) => /* @__PURE__ */ jsx245(Tag, { label: tag, variant: "outline", className: "max-w-full" }, tag)) }) }),
@@ -27753,7 +27803,7 @@ function TicketInfoSection({
27753
27803
 
27754
27804
  // src/components/features/array-entry-manager.tsx
27755
27805
  import { Trash2 as Trash22, Plus as Plus2, Save, Loader2 as Loader26 } from "lucide-react";
27756
- import { jsx as jsx246, jsxs as jsxs202 } from "react/jsx-runtime";
27806
+ import { jsx as jsx246, jsxs as jsxs203 } from "react/jsx-runtime";
27757
27807
  function ArrayEntryManager({
27758
27808
  title,
27759
27809
  items,
@@ -27823,10 +27873,10 @@ function ArrayEntryManager({
27823
27873
  }
27824
27874
  onChange(newItems);
27825
27875
  };
27826
- return /* @__PURE__ */ jsxs202("div", { className: `space-y-3 ${className}`, children: [
27827
- /* @__PURE__ */ jsxs202("div", { className: "flex items-center justify-between", children: [
27876
+ return /* @__PURE__ */ jsxs203("div", { className: `space-y-3 ${className}`, children: [
27877
+ /* @__PURE__ */ jsxs203("div", { className: "flex items-center justify-between", children: [
27828
27878
  /* @__PURE__ */ jsx246(Label, { className: "text-[14px] text-ods-text-primary", children: title }),
27829
- /* @__PURE__ */ jsxs202("div", { className: "flex items-center gap-2", children: [
27879
+ /* @__PURE__ */ jsxs203("div", { className: "flex items-center gap-2", children: [
27830
27880
  requireSave && isDirty && /* @__PURE__ */ jsx246(
27831
27881
  Button,
27832
27882
  {
@@ -27853,9 +27903,9 @@ function ArrayEntryManager({
27853
27903
  )
27854
27904
  ] })
27855
27905
  ] }),
27856
- workingItems.map((item, index) => /* @__PURE__ */ jsxs202("div", { className: "flex items-center gap-3 p-3 bg-ods-bg-secondary rounded-lg border border-ods-border", children: [
27906
+ workingItems.map((item, index) => /* @__PURE__ */ jsxs203("div", { className: "flex items-center gap-3 p-3 bg-ods-bg-secondary rounded-lg border border-ods-border", children: [
27857
27907
  icon && /* @__PURE__ */ jsx246("div", { className: "w-8 h-8 flex items-center justify-center", children: icon }),
27858
- /* @__PURE__ */ jsxs202("div", { className: "flex-1 space-y-2", children: [
27908
+ /* @__PURE__ */ jsxs203("div", { className: "flex-1 space-y-2", children: [
27859
27909
  renderLabel && renderLabel(item, index),
27860
27910
  /* @__PURE__ */ jsx246(
27861
27911
  Input,
@@ -27953,7 +28003,7 @@ function ProviderButton({ provider, onClick, disabled = false, loading = false }
27953
28003
  }
27954
28004
 
27955
28005
  // src/components/features/auth-providers-list.tsx
27956
- import { jsx as jsx248, jsxs as jsxs203 } from "react/jsx-runtime";
28006
+ import { jsx as jsx248, jsxs as jsxs204 } from "react/jsx-runtime";
27957
28007
  function AuthProvidersList({
27958
28008
  enabledProviders,
27959
28009
  onProviderClick,
@@ -27972,8 +28022,8 @@ function AuthProvidersList({
27972
28022
  console.error(`\u274C Auth Providers List: Error with ${provider}:`, error);
27973
28023
  }
27974
28024
  };
27975
- return /* @__PURE__ */ jsxs203("div", { className: "space-y-3", children: [
27976
- showDivider && /* @__PURE__ */ jsxs203("div", { className: "relative", children: [
28025
+ return /* @__PURE__ */ jsxs204("div", { className: "space-y-3", children: [
28026
+ showDivider && /* @__PURE__ */ jsxs204("div", { className: "relative", children: [
27977
28027
  /* @__PURE__ */ jsx248("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsx248("div", { className: "w-full border-t border-ods-border" }) }),
27978
28028
  /* @__PURE__ */ jsx248("div", { className: "relative flex justify-center text-sm", children: /* @__PURE__ */ jsx248("span", { className: "px-2 bg-ods-card text-ods-text-secondary", children: dividerText }) })
27979
28029
  ] }),
@@ -27993,7 +28043,7 @@ function AuthProvidersList({
27993
28043
  // src/components/features/changelog-manager.tsx
27994
28044
  import { Trash2 as Trash23, Plus as Plus3, ChevronDown as ChevronDown7, ChevronUp as ChevronUp3, Eye as Eye2, EyeOff } from "lucide-react";
27995
28045
  import { useState as useState59, useEffect as useEffect44 } from "react";
27996
- import { jsx as jsx249, jsxs as jsxs204 } from "react/jsx-runtime";
28046
+ import { jsx as jsx249, jsxs as jsxs205 } from "react/jsx-runtime";
27997
28047
  function ChangelogManager({
27998
28048
  title,
27999
28049
  entries,
@@ -28050,8 +28100,8 @@ function ChangelogManager({
28050
28100
  return newSet;
28051
28101
  });
28052
28102
  };
28053
- return /* @__PURE__ */ jsxs204("div", { className: `space-y-3 ${className}`, children: [
28054
- /* @__PURE__ */ jsxs204("div", { className: "flex items-center justify-between", children: [
28103
+ return /* @__PURE__ */ jsxs205("div", { className: `space-y-3 ${className}`, children: [
28104
+ /* @__PURE__ */ jsxs205("div", { className: "flex items-center justify-between", children: [
28055
28105
  /* @__PURE__ */ jsx249(Label, { className: "text-[14px] text-ods-text-primary", children: title }),
28056
28106
  /* @__PURE__ */ jsx249(
28057
28107
  Button,
@@ -28069,8 +28119,8 @@ function ChangelogManager({
28069
28119
  entries.map((entry, index) => {
28070
28120
  const isExpanded = expandedIndices.has(index);
28071
28121
  const hasContent = entry.title.trim().length > 0;
28072
- return /* @__PURE__ */ jsxs204("div", { className: "bg-ods-bg-secondary rounded-lg border border-ods-border overflow-hidden", children: [
28073
- /* @__PURE__ */ jsxs204("div", { className: "flex items-center gap-3 p-3", children: [
28122
+ return /* @__PURE__ */ jsxs205("div", { className: "bg-ods-bg-secondary rounded-lg border border-ods-border overflow-hidden", children: [
28123
+ /* @__PURE__ */ jsxs205("div", { className: "flex items-center gap-3 p-3", children: [
28074
28124
  /* @__PURE__ */ jsx249(
28075
28125
  Button,
28076
28126
  {
@@ -28107,8 +28157,8 @@ function ChangelogManager({
28107
28157
  }
28108
28158
  )
28109
28159
  ] }),
28110
- isExpanded && /* @__PURE__ */ jsxs204("div", { className: "px-3 pb-3 space-y-3 border-t border-ods-border pt-3", children: [
28111
- /* @__PURE__ */ jsxs204("div", { className: "space-y-1", children: [
28160
+ isExpanded && /* @__PURE__ */ jsxs205("div", { className: "px-3 pb-3 space-y-3 border-t border-ods-border pt-3", children: [
28161
+ /* @__PURE__ */ jsxs205("div", { className: "space-y-1", children: [
28112
28162
  /* @__PURE__ */ jsx249(Label, { className: "text-[12px] text-ods-text-secondary", children: "Title *" }),
28113
28163
  /* @__PURE__ */ jsx249(
28114
28164
  Input,
@@ -28121,7 +28171,7 @@ function ChangelogManager({
28121
28171
  }
28122
28172
  )
28123
28173
  ] }),
28124
- /* @__PURE__ */ jsxs204("div", { className: "space-y-1", children: [
28174
+ /* @__PURE__ */ jsxs205("div", { className: "space-y-1", children: [
28125
28175
  /* @__PURE__ */ jsx249(Label, { className: "text-[12px] text-ods-text-secondary", children: "Description" }),
28126
28176
  /* @__PURE__ */ jsx249(
28127
28177
  Textarea,
@@ -28137,7 +28187,7 @@ function ChangelogManager({
28137
28187
  ] })
28138
28188
  ] }, index);
28139
28189
  }),
28140
- entries.length === 0 && /* @__PURE__ */ jsx249("div", { className: "text-center py-4 px-4 bg-ods-bg-secondary border border-ods-border rounded-lg", children: /* @__PURE__ */ jsxs204("p", { className: "text-ods-text-secondary text-sm font-['DM_Sans']", children: [
28190
+ entries.length === 0 && /* @__PURE__ */ jsx249("div", { className: "text-center py-4 px-4 bg-ods-bg-secondary border border-ods-border rounded-lg", children: /* @__PURE__ */ jsxs205("p", { className: "text-ods-text-secondary text-sm font-['DM_Sans']", children: [
28141
28191
  'No entries added. Click "Add Entry" to create ',
28142
28192
  title.toLowerCase(),
28143
28193
  "."
@@ -28146,7 +28196,7 @@ function ChangelogManager({
28146
28196
  }
28147
28197
 
28148
28198
  // src/components/features/changelog-sections-manager.tsx
28149
- import { jsx as jsx250, jsxs as jsxs205 } from "react/jsx-runtime";
28199
+ import { jsx as jsx250, jsxs as jsxs206 } from "react/jsx-runtime";
28150
28200
  function ChangelogSectionsManager({
28151
28201
  featuresAdded,
28152
28202
  bugsFixed,
@@ -28159,7 +28209,7 @@ function ChangelogSectionsManager({
28159
28209
  className = "",
28160
28210
  expandAll = false
28161
28211
  }) {
28162
- return /* @__PURE__ */ jsxs205("div", { className: `space-y-6 p-6 bg-ods-card border border-ods-border rounded-lg ${className}`, children: [
28212
+ return /* @__PURE__ */ jsxs206("div", { className: `space-y-6 p-6 bg-ods-card border border-ods-border rounded-lg ${className}`, children: [
28163
28213
  /* @__PURE__ */ jsx250("h3", { className: "text-h5 text-ods-text-primary", children: "Changelog" }),
28164
28214
  /* @__PURE__ */ jsx250(
28165
28215
  ChangelogManager,
@@ -28229,7 +28279,7 @@ function ClickUpTasksManager({
28229
28279
  // src/components/features/command-box.tsx
28230
28280
  init_button2();
28231
28281
  init_cn();
28232
- import { jsx as jsx252, jsxs as jsxs206 } from "react/jsx-runtime";
28282
+ import { jsx as jsx252, jsxs as jsxs207 } from "react/jsx-runtime";
28233
28283
  var lineClampClasses = {
28234
28284
  1: "line-clamp-1",
28235
28285
  2: "line-clamp-2",
@@ -28248,9 +28298,9 @@ function CommandBox({
28248
28298
  maxLines = 0
28249
28299
  }) {
28250
28300
  const lineClampClass = maxLines > 0 ? lineClampClasses[maxLines] : void 0;
28251
- return /* @__PURE__ */ jsxs206("div", { className: cn("flex flex-col gap-2", className), children: [
28301
+ return /* @__PURE__ */ jsxs207("div", { className: cn("flex flex-col gap-2", className), children: [
28252
28302
  title && /* @__PURE__ */ jsx252("div", { className: "text-ods-text-primary text-[18px] font-medium", children: title }),
28253
- /* @__PURE__ */ jsxs206("div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-4", children: [
28303
+ /* @__PURE__ */ jsxs207("div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-4", children: [
28254
28304
  /* @__PURE__ */ jsx252(
28255
28305
  "div",
28256
28306
  {
@@ -28262,7 +28312,7 @@ function CommandBox({
28262
28312
  children: command
28263
28313
  }
28264
28314
  ),
28265
- (primaryAction || secondaryAction) && /* @__PURE__ */ jsxs206("div", { className: "flex flex-col md:flex-row gap-3 md:justify-end mt-4", children: [
28315
+ (primaryAction || secondaryAction) && /* @__PURE__ */ jsxs207("div", { className: "flex flex-col md:flex-row gap-3 md:justify-end mt-4", children: [
28266
28316
  secondaryAction && /* @__PURE__ */ jsx252(
28267
28317
  Button,
28268
28318
  {
@@ -28320,7 +28370,7 @@ import { useState as useState60, useRef as useRef37, useEffect as useEffect45, u
28320
28370
  // src/components/features/section-selector.tsx
28321
28371
  init_cn();
28322
28372
  init_button2();
28323
- import { jsx as jsx253, jsxs as jsxs207 } from "react/jsx-runtime";
28373
+ import { jsx as jsx253, jsxs as jsxs208 } from "react/jsx-runtime";
28324
28374
  var SectionButton = ({
28325
28375
  section,
28326
28376
  isActive,
@@ -28361,11 +28411,11 @@ var SectionButton = ({
28361
28411
  },
28362
28412
  children: layout === "vertical" ? (
28363
28413
  // Vertical layout with optional number prefix and leftIcon
28364
- /* @__PURE__ */ jsxs207("div", { className: "flex gap-3 items-start w-full", children: [
28414
+ /* @__PURE__ */ jsxs208("div", { className: "flex gap-3 items-start w-full", children: [
28365
28415
  section.leftIcon && /* @__PURE__ */ jsx253("div", { className: "shrink-0 text-ods-text-primary opacity-70 mt-0.5", children: section.leftIcon }),
28366
28416
  section.number && /* @__PURE__ */ jsx253("span", { className: cn(numberClasses, "text-lg tracking-[-0.36px] leading-[24px] shrink-0"), children: section.number }),
28367
- /* @__PURE__ */ jsxs207("div", { className: "flex-1 text-left min-w-0", children: [
28368
- /* @__PURE__ */ jsxs207("div", { className: "flex items-center gap-2 flex-wrap", children: [
28417
+ /* @__PURE__ */ jsxs208("div", { className: "flex-1 text-left min-w-0", children: [
28418
+ /* @__PURE__ */ jsxs208("div", { className: "flex items-center gap-2 flex-wrap", children: [
28369
28419
  /* @__PURE__ */ jsx253("p", { className: cn(titleClasses, "font-medium text-lg leading-[24px] whitespace-normal break-words"), children: section.title }),
28370
28420
  section.badge && /* @__PURE__ */ jsx253(
28371
28421
  StatusBadge,
@@ -28381,10 +28431,10 @@ var SectionButton = ({
28381
28431
  ] })
28382
28432
  ) : (
28383
28433
  // Wrap layout with title, subtitle, and optional leftIcon
28384
- /* @__PURE__ */ jsxs207("div", { className: "flex gap-3 items-start justify-start w-full h-full", style: { textAlign: "left" }, children: [
28434
+ /* @__PURE__ */ jsxs208("div", { className: "flex gap-3 items-start justify-start w-full h-full", style: { textAlign: "left" }, children: [
28385
28435
  section.leftIcon && /* @__PURE__ */ jsx253("div", { className: "shrink-0 text-ods-text-primary opacity-70 mt-0.5", children: section.leftIcon }),
28386
- /* @__PURE__ */ jsxs207("div", { className: "flex flex-col items-start justify-start flex-1 gap-1", children: [
28387
- /* @__PURE__ */ jsxs207("div", { className: "flex items-start gap-2 flex-wrap w-full", children: [
28436
+ /* @__PURE__ */ jsxs208("div", { className: "flex flex-col items-start justify-start flex-1 gap-1", children: [
28437
+ /* @__PURE__ */ jsxs208("div", { className: "flex items-start gap-2 flex-wrap w-full", children: [
28388
28438
  /* @__PURE__ */ jsx253("span", { className: cn(titleClasses, "font-bold text-[18px] leading-[24px] tracking-[-0.36px]"), style: { textAlign: "left" }, children: section.title }),
28389
28439
  section.badge && /* @__PURE__ */ jsx253(
28390
28440
  StatusBadge,
@@ -28449,7 +28499,7 @@ var SectionSelector = ({
28449
28499
  };
28450
28500
 
28451
28501
  // src/components/features/figma-prototype-viewer.tsx
28452
- import { jsx as jsx254, jsxs as jsxs208 } from "react/jsx-runtime";
28502
+ import { jsx as jsx254, jsxs as jsxs209 } from "react/jsx-runtime";
28453
28503
  var DESKTOP_BREAKPOINT = 768;
28454
28504
  var getContentDimensions = (config) => {
28455
28505
  const defaultMobile = { width: 343, height: 600 };
@@ -28559,7 +28609,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
28559
28609
  embedUrl,
28560
28610
  iframeKey
28561
28611
  } = state;
28562
- return /* @__PURE__ */ jsxs208("div", { className: cn(
28612
+ return /* @__PURE__ */ jsxs209("div", { className: cn(
28563
28613
  config.hideControls ? "" : "grid grid-cols-1 lg:grid-cols-[296px_1fr] gap-10",
28564
28614
  config.className
28565
28615
  ), children: [
@@ -28582,7 +28632,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
28582
28632
  minHeight: viewMode !== "DESKTOP" ? "76px" : "96px"
28583
28633
  }
28584
28634
  ) }),
28585
- /* @__PURE__ */ jsxs208(
28635
+ /* @__PURE__ */ jsxs209(
28586
28636
  "div",
28587
28637
  {
28588
28638
  className: cn(
@@ -28663,8 +28713,8 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
28663
28713
  },
28664
28714
  iframeKey
28665
28715
  ),
28666
- showSkeleton && /* @__PURE__ */ jsx254("div", { className: "absolute inset-0 w-full h-full bg-ods-skeleton animate-pulse rounded-lg z-10 flex items-center justify-center", children: /* @__PURE__ */ jsxs208("div", { className: "text-center", children: [
28667
- /* @__PURE__ */ jsxs208("div", { className: "text-xl md:text-2xl font-['Azeret_Mono'] font-semibold text-ods-text-primary", children: [
28716
+ showSkeleton && /* @__PURE__ */ jsx254("div", { className: "absolute inset-0 w-full h-full bg-ods-skeleton animate-pulse rounded-lg z-10 flex items-center justify-center", children: /* @__PURE__ */ jsxs209("div", { className: "text-center", children: [
28717
+ /* @__PURE__ */ jsxs209("div", { className: "text-xl md:text-2xl font-['Azeret_Mono'] font-semibold text-ods-text-primary", children: [
28668
28718
  "Warming up ",
28669
28719
  /* @__PURE__ */ jsx254("span", { className: "text-[var(--ods-open-yellow-base)]", children: "Fae" }),
28670
28720
  " and ",
@@ -28881,62 +28931,62 @@ var FigmaPrototypeViewer = ({
28881
28931
  if (touchTimerRef.current) clearTimeout(touchTimerRef.current);
28882
28932
  };
28883
28933
  }, []);
28884
- return /* @__PURE__ */ jsxs208("div", { ref: containerRef, children: [
28934
+ return /* @__PURE__ */ jsxs209("div", { ref: containerRef, children: [
28885
28935
  renderUnifiedUI(unifiedState, {
28886
28936
  onSectionClick: handleSectionClick,
28887
28937
  onTouchStart: handleTouchStart
28888
28938
  }, config, iframeRef),
28889
- showDebugPanel && /* @__PURE__ */ jsxs208("div", { className: "mt-6 p-4 bg-ods-card border border-ods-border rounded-md", children: [
28939
+ showDebugPanel && /* @__PURE__ */ jsxs209("div", { className: "mt-6 p-4 bg-ods-card border border-ods-border rounded-md", children: [
28890
28940
  /* @__PURE__ */ jsx254("h3", { className: "font-semibold text-ods-text-primary mb-3", children: "\u{1F50D} Debug Panel" }),
28891
- /* @__PURE__ */ jsxs208("div", { className: "grid grid-cols-2 gap-4 text-sm", children: [
28892
- /* @__PURE__ */ jsxs208("div", { children: [
28941
+ /* @__PURE__ */ jsxs209("div", { className: "grid grid-cols-2 gap-4 text-sm", children: [
28942
+ /* @__PURE__ */ jsxs209("div", { children: [
28893
28943
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-secondary", children: "View Mode:" }),
28894
28944
  " ",
28895
28945
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-primary font-mono", children: viewMode })
28896
28946
  ] }),
28897
- /* @__PURE__ */ jsxs208("div", { children: [
28947
+ /* @__PURE__ */ jsxs209("div", { children: [
28898
28948
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-secondary", children: "Iframe State:" }),
28899
28949
  " ",
28900
28950
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-primary font-mono", children: iframeState })
28901
28951
  ] }),
28902
- /* @__PURE__ */ jsxs208("div", { children: [
28952
+ /* @__PURE__ */ jsxs209("div", { children: [
28903
28953
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-secondary", children: "Screen:" }),
28904
28954
  " ",
28905
- /* @__PURE__ */ jsxs208("span", { className: "text-ods-text-primary", children: [
28955
+ /* @__PURE__ */ jsxs209("span", { className: "text-ods-text-primary", children: [
28906
28956
  screenWidth,
28907
28957
  "px"
28908
28958
  ] })
28909
28959
  ] }),
28910
- /* @__PURE__ */ jsxs208("div", { children: [
28960
+ /* @__PURE__ */ jsxs209("div", { children: [
28911
28961
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-secondary", children: "Touch:" }),
28912
28962
  " ",
28913
28963
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-primary", children: isTouchDevice ? "Yes" : "No" })
28914
28964
  ] }),
28915
- /* @__PURE__ */ jsxs208("div", { children: [
28965
+ /* @__PURE__ */ jsxs209("div", { children: [
28916
28966
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-secondary", children: "Scale:" }),
28917
28967
  " ",
28918
28968
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-primary", children: scaling.scale.toFixed(2) })
28919
28969
  ] }),
28920
- /* @__PURE__ */ jsxs208("div", { children: [
28970
+ /* @__PURE__ */ jsxs209("div", { children: [
28921
28971
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-secondary", children: "Section:" }),
28922
28972
  " ",
28923
28973
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-primary", children: activeSection })
28924
28974
  ] }),
28925
- /* @__PURE__ */ jsxs208("div", { className: "col-span-2", children: [
28975
+ /* @__PURE__ */ jsxs209("div", { className: "col-span-2", children: [
28926
28976
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-secondary", children: "Active Node ID:" }),
28927
28977
  " ",
28928
28978
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-primary font-mono", children: currentNodeId || "Not detected" })
28929
28979
  ] })
28930
28980
  ] }),
28931
- /* @__PURE__ */ jsxs208("div", { className: "mt-3 text-xs text-ods-text-secondary", children: [
28981
+ /* @__PURE__ */ jsxs209("div", { className: "mt-3 text-xs text-ods-text-secondary", children: [
28932
28982
  "Margins: ",
28933
28983
  scaling.marginX.toFixed(0),
28934
28984
  "px \xD7 ",
28935
28985
  scaling.marginY.toFixed(0),
28936
28986
  "px"
28937
28987
  ] }),
28938
- /* @__PURE__ */ jsx254("div", { className: "mt-3 pt-3 border-t border-ods-border", children: /* @__PURE__ */ jsxs208("div", { className: "text-xs text-ods-text-secondary space-y-1", children: [
28939
- /* @__PURE__ */ jsxs208("div", { children: [
28988
+ /* @__PURE__ */ jsx254("div", { className: "mt-3 pt-3 border-t border-ods-border", children: /* @__PURE__ */ jsxs209("div", { className: "text-xs text-ods-text-secondary space-y-1", children: [
28989
+ /* @__PURE__ */ jsxs209("div", { children: [
28940
28990
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-secondary", children: "File Key:" }),
28941
28991
  " ",
28942
28992
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-primary font-mono", children: (() => {
@@ -28947,7 +28997,7 @@ var FigmaPrototypeViewer = ({
28947
28997
  }
28948
28998
  })() })
28949
28999
  ] }),
28950
- /* @__PURE__ */ jsxs208("div", { children: [
29000
+ /* @__PURE__ */ jsxs209("div", { children: [
28951
29001
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-secondary", children: "Starting Point:" }),
28952
29002
  " ",
28953
29003
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-primary font-mono", children: (() => {
@@ -28958,7 +29008,7 @@ var FigmaPrototypeViewer = ({
28958
29008
  }
28959
29009
  })() })
28960
29010
  ] }),
28961
- /* @__PURE__ */ jsxs208("div", { children: [
29011
+ /* @__PURE__ */ jsxs209("div", { children: [
28962
29012
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-secondary", children: "Content Dimensions:" }),
28963
29013
  " ",
28964
29014
  /* @__PURE__ */ jsx254("span", { className: "text-ods-text-primary font-mono", children: (() => {
@@ -28979,7 +29029,7 @@ var FigmaPrototypeViewer = ({
28979
29029
  // src/components/features/filters-dropdown.tsx
28980
29030
  init_cn();
28981
29031
  import { useEffect as useEffect46, useRef as useRef38, useState as useState61 } from "react";
28982
- import { jsx as jsx255, jsxs as jsxs209 } from "react/jsx-runtime";
29032
+ import { jsx as jsx255, jsxs as jsxs210 } from "react/jsx-runtime";
28983
29033
  var FilterCheckbox = ({ checked, disabled = false, className }) => {
28984
29034
  return /* @__PURE__ */ jsx255(
28985
29035
  "div",
@@ -29175,8 +29225,8 @@ var FiltersDropdown = ({
29175
29225
  };
29176
29226
  return desktopClasses[actualPlacement];
29177
29227
  };
29178
- return /* @__PURE__ */ jsxs209("div", { ref: containerRef, className: cn("relative inline-block", className), children: [
29179
- triggerElement ? /* @__PURE__ */ jsx255("div", { ref: triggerRef, onClick: () => setIsOpen(!isOpen), children: triggerElement }) : /* @__PURE__ */ jsxs209(
29228
+ return /* @__PURE__ */ jsxs210("div", { ref: containerRef, className: cn("relative inline-block", className), children: [
29229
+ triggerElement ? /* @__PURE__ */ jsx255("div", { ref: triggerRef, onClick: () => setIsOpen(!isOpen), children: triggerElement }) : /* @__PURE__ */ jsxs210(
29180
29230
  "button",
29181
29231
  {
29182
29232
  ref: triggerRef,
@@ -29209,17 +29259,17 @@ var FiltersDropdown = ({
29209
29259
  style: isMobile ? {
29210
29260
  top: triggerRef.current ? triggerRef.current.getBoundingClientRect().bottom + window.scrollY + 8 : 0
29211
29261
  } : void 0,
29212
- children: /* @__PURE__ */ jsxs209("div", { className: "bg-ods-bg rounded-md border border-ods-border p-4 shadow-xl flex flex-col overflow-hidden", children: [
29262
+ children: /* @__PURE__ */ jsxs210("div", { className: "bg-ods-bg rounded-md border border-ods-border p-4 shadow-xl flex flex-col overflow-hidden", children: [
29213
29263
  /* @__PURE__ */ jsx255("div", { className: "flex-1 min-h-0 overflow-y-auto max-h-[250px]", children: sections.map((section, sectionIndex) => {
29214
29264
  const sectionSelection = selectedFilters[section.id] || [];
29215
29265
  const allSelected = section.options.every(
29216
29266
  (opt) => sectionSelection.includes(opt.id)
29217
29267
  );
29218
- return /* @__PURE__ */ jsxs209("div", { className: cn(
29268
+ return /* @__PURE__ */ jsxs210("div", { className: cn(
29219
29269
  "space-y-2",
29220
29270
  sectionIndex > 0 && "mt-4"
29221
29271
  ), children: [
29222
- /* @__PURE__ */ jsxs209("div", { className: "sticky top-0 z-10 bg-ods-bg flex items-center justify-between pb-2", children: [
29272
+ /* @__PURE__ */ jsxs210("div", { className: "sticky top-0 z-10 bg-ods-bg flex items-center justify-between pb-2", children: [
29223
29273
  /* @__PURE__ */ jsx255("h3", { className: "text-h5 text-ods-text-secondary", children: section.title }),
29224
29274
  section.allowSelectAll && section.type === "checkbox" && /* @__PURE__ */ jsx255(
29225
29275
  "button",
@@ -29242,7 +29292,7 @@ var FiltersDropdown = ({
29242
29292
  }
29243
29293
  const isSelected = sectionSelection.includes(option.id);
29244
29294
  const isLast = index === section.options.length - 1;
29245
- return /* @__PURE__ */ jsxs209(
29295
+ return /* @__PURE__ */ jsxs210(
29246
29296
  "button",
29247
29297
  {
29248
29298
  type: "button",
@@ -29264,7 +29314,7 @@ var FiltersDropdown = ({
29264
29314
  }) })
29265
29315
  ] }, section.id);
29266
29316
  }) }),
29267
- /* @__PURE__ */ jsxs209("div", { className: "flex gap-3 mt-4 shrink-0", children: [
29317
+ /* @__PURE__ */ jsxs210("div", { className: "flex gap-3 mt-4 shrink-0", children: [
29268
29318
  /* @__PURE__ */ jsx255(
29269
29319
  Button,
29270
29320
  {
@@ -29372,7 +29422,7 @@ function KnowledgeBaseLinksManager({
29372
29422
 
29373
29423
  // src/components/features/loading-provider.tsx
29374
29424
  import { createContext as createContext7, useContext as useContext7, useState as useState62, useEffect as useEffect47 } from "react";
29375
- import { jsx as jsx258, jsxs as jsxs210 } from "react/jsx-runtime";
29425
+ import { jsx as jsx258, jsxs as jsxs211 } from "react/jsx-runtime";
29376
29426
  var LoadingContext = createContext7(void 0);
29377
29427
  function LoadingProvider({ children }) {
29378
29428
  const [isLoading, setIsLoading] = useState62(false);
@@ -29401,7 +29451,7 @@ function LoadingProvider({ children }) {
29401
29451
  if (interval) clearInterval(interval);
29402
29452
  };
29403
29453
  }, [isLoading]);
29404
- return /* @__PURE__ */ jsxs210(LoadingContext.Provider, { value: { isLoading, setIsLoading }, children: [
29454
+ return /* @__PURE__ */ jsxs211(LoadingContext.Provider, { value: { isLoading, setIsLoading }, children: [
29405
29455
  progress > 0 && /* @__PURE__ */ jsx258(
29406
29456
  Progress,
29407
29457
  {
@@ -29432,8 +29482,8 @@ import {
29432
29482
  GripVertical,
29433
29483
  Plus as Plus4
29434
29484
  } from "lucide-react";
29435
- import Image11 from "next/image";
29436
- import { jsx as jsx259, jsxs as jsxs211 } from "react/jsx-runtime";
29485
+ import Image12 from "next/image";
29486
+ import { jsx as jsx259, jsxs as jsxs212 } from "react/jsx-runtime";
29437
29487
  function MediaGalleryManager({
29438
29488
  media,
29439
29489
  onChange,
@@ -29497,7 +29547,7 @@ function MediaGalleryManager({
29497
29547
  }, [media, draggedIndex, onChange]);
29498
29548
  const renderMediaItem = useCallback30((mediaItem, index) => {
29499
29549
  const isDeleting = deletingIndex === index;
29500
- return /* @__PURE__ */ jsxs211(
29550
+ return /* @__PURE__ */ jsxs212(
29501
29551
  Card,
29502
29552
  {
29503
29553
  className: "relative group border-ods-border hover:border-[#FFC008]/30 transition-colors",
@@ -29528,7 +29578,7 @@ function MediaGalleryManager({
29528
29578
  preload: "metadata"
29529
29579
  }
29530
29580
  ) : /* @__PURE__ */ jsx259(
29531
- Image11,
29581
+ Image12,
29532
29582
  {
29533
29583
  src: mediaItem.media_url,
29534
29584
  alt: mediaItem.title || "Media",
@@ -29537,8 +29587,8 @@ function MediaGalleryManager({
29537
29587
  sizes: "(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw"
29538
29588
  }
29539
29589
  ) }),
29540
- /* @__PURE__ */ jsxs211("div", { className: "p-3", children: [
29541
- /* @__PURE__ */ jsxs211("div", { className: "flex items-center gap-2 mb-1", children: [
29590
+ /* @__PURE__ */ jsxs212("div", { className: "p-3", children: [
29591
+ /* @__PURE__ */ jsxs212("div", { className: "flex items-center gap-2 mb-1", children: [
29542
29592
  mediaItem.media_type === "video" || mediaItem.media_type === "demo" ? /* @__PURE__ */ jsx259(Video4, { className: "h-4 w-4 text-ods-text-secondary" }) : /* @__PURE__ */ jsx259(ImageIcon2, { className: "h-4 w-4 text-ods-text-secondary" }),
29543
29593
  /* @__PURE__ */ jsx259("span", { className: "text-sm font-medium text-ods-text-primary capitalize", children: mediaItem.media_type })
29544
29594
  ] }),
@@ -29549,10 +29599,10 @@ function MediaGalleryManager({
29549
29599
  index
29550
29600
  );
29551
29601
  }, [deletingIndex, handleDragStart, handleDragOver, handleDrop, handleDeleteMedia]);
29552
- const content = /* @__PURE__ */ jsxs211("div", { className: `space-y-6 ${className}`, children: [
29553
- /* @__PURE__ */ jsx259("div", { className: "border-2 border-dashed border-ods-border rounded-lg p-6 text-center hover:border-[#FFC008]/50 transition-colors", children: /* @__PURE__ */ jsxs211("div", { className: "flex flex-col items-center gap-4", children: [
29602
+ const content = /* @__PURE__ */ jsxs212("div", { className: `space-y-6 ${className}`, children: [
29603
+ /* @__PURE__ */ jsx259("div", { className: "border-2 border-dashed border-ods-border rounded-lg p-6 text-center hover:border-[#FFC008]/50 transition-colors", children: /* @__PURE__ */ jsxs212("div", { className: "flex flex-col items-center gap-4", children: [
29554
29604
  /* @__PURE__ */ jsx259("div", { className: "w-12 h-12 rounded-full bg-ods-card flex items-center justify-center", children: isUploading ? /* @__PURE__ */ jsx259(Loader27, { className: "h-6 w-6 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsx259(Upload3, { className: "h-6 w-6 text-ods-accent" }) }),
29555
- /* @__PURE__ */ jsxs211("div", { children: [
29605
+ /* @__PURE__ */ jsxs212("div", { children: [
29556
29606
  /* @__PURE__ */ jsx259("h3", { className: "font-['DM_Sans'] font-semibold text-ods-text-primary mb-1", children: isUploading ? "Uploading..." : "Upload Media" }),
29557
29607
  /* @__PURE__ */ jsx259("p", { className: "text-sm text-ods-text-secondary", children: "Drag and drop or click to select images and videos" }),
29558
29608
  /* @__PURE__ */ jsx259("p", { className: "text-xs text-ods-text-secondary mt-1", children: "Maximum file size: 50MB" })
@@ -29581,13 +29631,13 @@ function MediaGalleryManager({
29581
29631
  disabled: isUploading
29582
29632
  }
29583
29633
  ),
29584
- media.length === 0 ? /* @__PURE__ */ jsxs211("div", { className: "text-center py-8", children: [
29634
+ media.length === 0 ? /* @__PURE__ */ jsxs212("div", { className: "text-center py-8", children: [
29585
29635
  /* @__PURE__ */ jsx259(ImageIcon2, { className: "h-12 w-12 text-ods-text-secondary mx-auto mb-4" }),
29586
29636
  /* @__PURE__ */ jsx259("h3", { className: "font-['DM_Sans'] font-semibold text-ods-text-primary mb-2", children: "No media uploaded yet" }),
29587
29637
  /* @__PURE__ */ jsx259("p", { className: "text-sm text-ods-text-secondary", children: "Upload your first image or video to get started" })
29588
- ] }) : /* @__PURE__ */ jsxs211("div", { children: [
29589
- /* @__PURE__ */ jsxs211("div", { className: "flex items-center justify-between mb-4", children: [
29590
- /* @__PURE__ */ jsxs211("h3", { className: "font-['DM_Sans'] font-semibold text-ods-text-primary", children: [
29638
+ ] }) : /* @__PURE__ */ jsxs212("div", { children: [
29639
+ /* @__PURE__ */ jsxs212("div", { className: "flex items-center justify-between mb-4", children: [
29640
+ /* @__PURE__ */ jsxs212("h3", { className: "font-['DM_Sans'] font-semibold text-ods-text-primary", children: [
29591
29641
  "Media Gallery (",
29592
29642
  media.length,
29593
29643
  ")"
@@ -29624,7 +29674,7 @@ var MoreAboutButton = ({
29624
29674
 
29625
29675
  // src/components/features/os-type-badge-group.tsx
29626
29676
  init_cn();
29627
- import { jsx as jsx261, jsxs as jsxs212 } from "react/jsx-runtime";
29677
+ import { jsx as jsx261, jsxs as jsxs213 } from "react/jsx-runtime";
29628
29678
  function OSTypeBadgeGroup({
29629
29679
  osTypes,
29630
29680
  className = "",
@@ -29636,7 +29686,7 @@ function OSTypeBadgeGroup({
29636
29686
  }
29637
29687
  const displayOsTypes = maxDisplay && osTypes.length > maxDisplay ? osTypes.slice(0, maxDisplay) : osTypes;
29638
29688
  const remainingCount = maxDisplay && osTypes.length > maxDisplay ? osTypes.length - maxDisplay : 0;
29639
- return /* @__PURE__ */ jsxs212("div", { className: cn("flex items-center gap-2 flex-wrap", className), children: [
29689
+ return /* @__PURE__ */ jsxs213("div", { className: cn("flex items-center gap-2 flex-wrap", className), children: [
29640
29690
  displayOsTypes.map((osType, index) => /* @__PURE__ */ jsx261(
29641
29691
  OSTypeBadge,
29642
29692
  {
@@ -29646,7 +29696,7 @@ function OSTypeBadgeGroup({
29646
29696
  },
29647
29697
  `${osType}-${index}`
29648
29698
  )),
29649
- remainingCount > 0 && /* @__PURE__ */ jsxs212("span", { className: "text-ods-text-secondary text-sm font-medium", children: [
29699
+ remainingCount > 0 && /* @__PURE__ */ jsxs213("span", { className: "text-ods-text-secondary text-sm font-medium", children: [
29650
29700
  "+",
29651
29701
  remainingCount,
29652
29702
  " more"
@@ -29656,9 +29706,9 @@ function OSTypeBadgeGroup({
29656
29706
 
29657
29707
  // src/components/features/parallax-image-showcase.tsx
29658
29708
  import { useEffect as useEffect48, useState as useState64, useRef as useRef40 } from "react";
29659
- import Image12 from "next/image";
29709
+ import Image13 from "next/image";
29660
29710
  import { motion as motion2, useScroll, useTransform, useMotionValue, useSpring } from "framer-motion";
29661
- import { jsx as jsx262, jsxs as jsxs213 } from "react/jsx-runtime";
29711
+ import { jsx as jsx262, jsxs as jsxs214 } from "react/jsx-runtime";
29662
29712
  var ParallaxImageShowcase = ({
29663
29713
  images,
29664
29714
  className = "",
@@ -29746,7 +29796,7 @@ var ParallaxImageShowcase = ({
29746
29796
  {
29747
29797
  ref: componentRef,
29748
29798
  className: `relative w-full h-full flex items-center ${className}`,
29749
- children: /* @__PURE__ */ jsxs213("div", { className: "w-full grid grid-cols-1 md:grid-cols-3 gap-4", children: [
29799
+ children: /* @__PURE__ */ jsxs214("div", { className: "w-full grid grid-cols-1 md:grid-cols-3 gap-4", children: [
29750
29800
  leftImage && /* @__PURE__ */ jsx262(
29751
29801
  motion2.div,
29752
29802
  {
@@ -29756,7 +29806,7 @@ var ParallaxImageShowcase = ({
29756
29806
  rotate: rotateGrid
29757
29807
  },
29758
29808
  children: /* @__PURE__ */ jsx262(
29759
- Image12,
29809
+ Image13,
29760
29810
  {
29761
29811
  src: leftImage.src,
29762
29812
  alt: leftImage.alt,
@@ -29778,7 +29828,7 @@ var ParallaxImageShowcase = ({
29778
29828
  rotate: rotateGrid
29779
29829
  },
29780
29830
  children: /* @__PURE__ */ jsx262(
29781
- Image12,
29831
+ Image13,
29782
29832
  {
29783
29833
  src: centerImage.src,
29784
29834
  alt: centerImage.alt,
@@ -29800,7 +29850,7 @@ var ParallaxImageShowcase = ({
29800
29850
  rotate: rotateGrid
29801
29851
  },
29802
29852
  children: /* @__PURE__ */ jsx262(
29803
- Image12,
29853
+ Image13,
29804
29854
  {
29805
29855
  src: rightImage.src,
29806
29856
  alt: rightImage.alt,
@@ -29818,22 +29868,22 @@ var ParallaxImageShowcase = ({
29818
29868
  );
29819
29869
  }
29820
29870
  if (layout === "boxed") {
29821
- return /* @__PURE__ */ jsxs213(
29871
+ return /* @__PURE__ */ jsxs214(
29822
29872
  "div",
29823
29873
  {
29824
29874
  ref: componentRef,
29825
29875
  className: `relative w-full h-full overflow-hidden ${className}`,
29826
29876
  children: [
29827
29877
  logoElement && /* @__PURE__ */ jsx262("div", { className: "absolute top-4 left-1/2 -translate-x-1/2 z-30 scale-50", children: logoElement }),
29828
- /* @__PURE__ */ jsxs213("div", { className: "absolute top-32 inset-x-0 h-80", children: [
29829
- leftImage && /* @__PURE__ */ jsxs213(
29878
+ /* @__PURE__ */ jsxs214("div", { className: "absolute top-32 inset-x-0 h-80", children: [
29879
+ leftImage && /* @__PURE__ */ jsxs214(
29830
29880
  motion2.div,
29831
29881
  {
29832
29882
  className: "absolute left-20 lg:w-1/2 w-full h-full z-10",
29833
29883
  style: { x, y, rotate },
29834
29884
  children: [
29835
29885
  /* @__PURE__ */ jsx262(
29836
- Image12,
29886
+ Image13,
29837
29887
  {
29838
29888
  src: leftImage.src,
29839
29889
  alt: leftImage.alt,
@@ -29846,14 +29896,14 @@ var ParallaxImageShowcase = ({
29846
29896
  ]
29847
29897
  }
29848
29898
  ),
29849
- centerImage && /* @__PURE__ */ jsxs213(
29899
+ centerImage && /* @__PURE__ */ jsxs214(
29850
29900
  motion2.div,
29851
29901
  {
29852
29902
  className: "absolute top-20 right-20 lg:w-1/2 w-full h-full z-20",
29853
29903
  style: { x, y, rotate },
29854
29904
  children: [
29855
29905
  /* @__PURE__ */ jsx262(
29856
- Image12,
29906
+ Image13,
29857
29907
  {
29858
29908
  src: centerImage.src,
29859
29909
  alt: centerImage.alt,
@@ -29871,7 +29921,7 @@ var ParallaxImageShowcase = ({
29871
29921
  }
29872
29922
  );
29873
29923
  }
29874
- return /* @__PURE__ */ jsxs213(
29924
+ return /* @__PURE__ */ jsxs214(
29875
29925
  "div",
29876
29926
  {
29877
29927
  ref: componentRef,
@@ -29887,7 +29937,7 @@ var ParallaxImageShowcase = ({
29887
29937
  rotate
29888
29938
  },
29889
29939
  children: /* @__PURE__ */ jsx262(
29890
- Image12,
29940
+ Image13,
29891
29941
  {
29892
29942
  src: rightImage.src,
29893
29943
  alt: rightImage.alt,
@@ -29908,7 +29958,7 @@ var ParallaxImageShowcase = ({
29908
29958
  rotate
29909
29959
  },
29910
29960
  children: /* @__PURE__ */ jsx262(
29911
- Image12,
29961
+ Image13,
29912
29962
  {
29913
29963
  src: centerImage.src,
29914
29964
  alt: centerImage.alt,
@@ -29929,7 +29979,7 @@ var ParallaxImageShowcase = ({
29929
29979
  rotate
29930
29980
  },
29931
29981
  children: /* @__PURE__ */ jsx262(
29932
- Image12,
29982
+ Image13,
29933
29983
  {
29934
29984
  src: leftImage.src,
29935
29985
  alt: leftImage.alt,
@@ -29949,7 +29999,7 @@ var ParallaxImageShowcase = ({
29949
29999
  init_button2();
29950
30000
  init_cn();
29951
30001
  import { Copy } from "lucide-react";
29952
- import { jsx as jsx263, jsxs as jsxs214 } from "react/jsx-runtime";
30002
+ import { jsx as jsx263, jsxs as jsxs215 } from "react/jsx-runtime";
29953
30003
  function PathsDisplay({
29954
30004
  paths,
29955
30005
  onCopyPath,
@@ -29962,10 +30012,10 @@ function PathsDisplay({
29962
30012
  if (!paths || paths.length === 0) {
29963
30013
  return null;
29964
30014
  }
29965
- return /* @__PURE__ */ jsxs214("div", { className: cn("flex flex-col gap-3", className), children: [
30015
+ return /* @__PURE__ */ jsxs215("div", { className: cn("flex flex-col gap-3", className), children: [
29966
30016
  title && /* @__PURE__ */ jsx263("div", { className: "text-ods-text-primary text-[16px] md:text-[18px]", children: title }),
29967
30017
  description && /* @__PURE__ */ jsx263("div", { className: "text-ods-text-secondary text-[14px] md:text-[16px]", children: description }),
29968
- /* @__PURE__ */ jsx263("div", { className: "bg-ods-bg border border-ods-border rounded-[6px] overflow-hidden", children: paths.map((path) => /* @__PURE__ */ jsxs214(
30018
+ /* @__PURE__ */ jsx263("div", { className: "bg-ods-bg border border-ods-border rounded-[6px] overflow-hidden", children: paths.map((path) => /* @__PURE__ */ jsxs215(
29969
30019
  "div",
29970
30020
  {
29971
30021
  className: "flex items-center justify-between p-4 border-b border-ods-border last:border-b-0",
@@ -30013,8 +30063,8 @@ function getOpenFramePaths(platform) {
30013
30063
  // src/components/features/platform-badge.tsx
30014
30064
  init_cn();
30015
30065
  import { Globe as Globe2 } from "lucide-react";
30016
- import { jsx as jsx264, jsxs as jsxs215 } from "react/jsx-runtime";
30017
- var sizeClasses3 = {
30066
+ import { jsx as jsx264, jsxs as jsxs216 } from "react/jsx-runtime";
30067
+ var sizeClasses4 = {
30018
30068
  xs: {
30019
30069
  container: "gap-1 px-1.5 py-0.5",
30020
30070
  icon: "h-3 w-3",
@@ -30120,9 +30170,9 @@ function PlatformBadge({
30120
30170
  if (!platform) {
30121
30171
  return null;
30122
30172
  }
30123
- const sizes = sizeClasses3[size];
30173
+ const sizes = sizeClasses4[size];
30124
30174
  const colors = platformColors[platform.name] || platformColors.universal;
30125
- return /* @__PURE__ */ jsxs215(
30175
+ return /* @__PURE__ */ jsxs216(
30126
30176
  "div",
30127
30177
  {
30128
30178
  className: cn(
@@ -30144,7 +30194,7 @@ function PlatformBadge({
30144
30194
 
30145
30195
  // src/components/features/platform-filter.tsx
30146
30196
  init_button2();
30147
- import { jsx as jsx265, jsxs as jsxs216 } from "react/jsx-runtime";
30197
+ import { jsx as jsx265, jsxs as jsxs217 } from "react/jsx-runtime";
30148
30198
  function PlatformFilterComponent({
30149
30199
  selectedPlatform,
30150
30200
  onPlatformChange,
@@ -30153,7 +30203,7 @@ function PlatformFilterComponent({
30153
30203
  showIcons = true,
30154
30204
  size = "small-legacy"
30155
30205
  }) {
30156
- return /* @__PURE__ */ jsxs216("div", { className: `flex items-center gap-2 flex-wrap ${className}`, children: [
30206
+ return /* @__PURE__ */ jsxs217("div", { className: `flex items-center gap-2 flex-wrap ${className}`, children: [
30157
30207
  /* @__PURE__ */ jsx265(
30158
30208
  Button,
30159
30209
  {
@@ -30183,14 +30233,14 @@ function PlatformFilterComponent({
30183
30233
 
30184
30234
  // src/components/features/push-button-selector.tsx
30185
30235
  import { Check as Check4 } from "lucide-react";
30186
- import { jsx as jsx266, jsxs as jsxs217 } from "react/jsx-runtime";
30236
+ import { jsx as jsx266, jsxs as jsxs218 } from "react/jsx-runtime";
30187
30237
  function PushButtonSelectorSkeleton({ count = 3, hasTitle }) {
30188
- return /* @__PURE__ */ jsxs217("div", { className: "space-y-3", children: [
30238
+ return /* @__PURE__ */ jsxs218("div", { className: "space-y-3", children: [
30189
30239
  hasTitle && /* @__PURE__ */ jsx266("div", { className: "h-5 w-20 bg-ods-bg-secondary rounded animate-pulse" }),
30190
- /* @__PURE__ */ jsx266("div", { className: "space-y-3", children: [...Array(count)].map((_, i) => /* @__PURE__ */ jsx266("div", { className: "p-4 rounded-lg border border-ods-border bg-ods-bg-secondary animate-pulse", children: /* @__PURE__ */ jsxs217("div", { className: "flex items-center justify-between", children: [
30191
- /* @__PURE__ */ jsxs217("div", { className: "flex items-center gap-3", children: [
30240
+ /* @__PURE__ */ jsx266("div", { className: "space-y-3", children: [...Array(count)].map((_, i) => /* @__PURE__ */ jsx266("div", { className: "p-4 rounded-lg border border-ods-border bg-ods-bg-secondary animate-pulse", children: /* @__PURE__ */ jsxs218("div", { className: "flex items-center justify-between", children: [
30241
+ /* @__PURE__ */ jsxs218("div", { className: "flex items-center gap-3", children: [
30192
30242
  /* @__PURE__ */ jsx266("div", { className: "w-8 h-8 bg-ods-bg-primary rounded" }),
30193
- /* @__PURE__ */ jsxs217("div", { children: [
30243
+ /* @__PURE__ */ jsxs218("div", { children: [
30194
30244
  /* @__PURE__ */ jsx266("div", { className: "h-4 w-20 bg-ods-bg-primary rounded mb-1" }),
30195
30245
  /* @__PURE__ */ jsx266("div", { className: "h-3 w-32 bg-ods-bg-primary rounded" })
30196
30246
  ] })
@@ -30200,9 +30250,9 @@ function PushButtonSelectorSkeleton({ count = 3, hasTitle }) {
30200
30250
  ] });
30201
30251
  }
30202
30252
  function PushButtonSelectorError({ message, title }) {
30203
- return /* @__PURE__ */ jsxs217("div", { className: "space-y-3", children: [
30253
+ return /* @__PURE__ */ jsxs218("div", { className: "space-y-3", children: [
30204
30254
  title && /* @__PURE__ */ jsx266("h3", { className: "text-h5 text-ods-text-primary", children: title }),
30205
- /* @__PURE__ */ jsx266("div", { className: "p-4 bg-ods-attention-red-error-secondary border border-ods-attention-red-error/30 rounded-lg", children: /* @__PURE__ */ jsxs217("div", { className: "font-['DM_Sans'] text-[14px] text-ods-attention-red-error", children: [
30255
+ /* @__PURE__ */ jsx266("div", { className: "p-4 bg-ods-attention-red-error-secondary border border-ods-attention-red-error/30 rounded-lg", children: /* @__PURE__ */ jsxs218("div", { className: "font-['DM_Sans'] text-[14px] text-ods-attention-red-error", children: [
30206
30256
  "\u26A0\uFE0F ",
30207
30257
  message
30208
30258
  ] }) })
@@ -30257,10 +30307,10 @@ function PushButtonSelector({
30257
30307
  ${option.disabled ? "cursor-not-allowed opacity-40 bg-ods-card border-ods-border" : isSelected ? "cursor-pointer bg-ods-bg-secondary border-ods-accent shadow-sm" : "cursor-pointer bg-ods-bg-primary border-ods-border hover:border-ods-border-hover hover:bg-ods-bg-hover"}
30258
30308
  `,
30259
30309
  onClick: () => !option.disabled && toggleSelection(option.id),
30260
- children: /* @__PURE__ */ jsxs217("div", { className: "flex items-center justify-between gap-4", children: [
30261
- /* @__PURE__ */ jsxs217("div", { className: "flex items-center gap-3 flex-1 min-w-0", children: [
30310
+ children: /* @__PURE__ */ jsxs218("div", { className: "flex items-center justify-between gap-4", children: [
30311
+ /* @__PURE__ */ jsxs218("div", { className: "flex items-center gap-3 flex-1 min-w-0", children: [
30262
30312
  option.icon && /* @__PURE__ */ jsx266("div", { className: `flex-shrink-0 transition-transform duration-200 ${isSelected ? "scale-110" : "group-hover:scale-105"}`, children: option.icon }),
30263
- /* @__PURE__ */ jsxs217("div", { className: "flex-1 min-w-0", children: [
30313
+ /* @__PURE__ */ jsxs218("div", { className: "flex-1 min-w-0", children: [
30264
30314
  /* @__PURE__ */ jsx266("div", { className: "font-['DM_Sans'] text-[16px] font-semibold text-ods-text-primary", children: option.displayName || option.name }),
30265
30315
  option.description && /* @__PURE__ */ jsx266("div", { className: "font-['DM_Sans'] text-[12px] text-ods-text-secondary line-clamp-2", children: option.description })
30266
30316
  ] })
@@ -30288,14 +30338,14 @@ function PushButtonSelector({
30288
30338
  ungroupedOptions.push(option);
30289
30339
  }
30290
30340
  });
30291
- return /* @__PURE__ */ jsxs217("div", { className: "space-y-4", children: [
30341
+ return /* @__PURE__ */ jsxs218("div", { className: "space-y-4", children: [
30292
30342
  sections.map((section) => {
30293
30343
  const sectionOptions = optionsBySection.get(section.id) || [];
30294
30344
  if (sectionOptions.length === 0) return null;
30295
- return /* @__PURE__ */ jsxs217("div", { className: "space-y-2", children: [
30296
- /* @__PURE__ */ jsxs217("div", { className: "flex items-center gap-2 px-1", children: [
30345
+ return /* @__PURE__ */ jsxs218("div", { className: "space-y-2", children: [
30346
+ /* @__PURE__ */ jsxs218("div", { className: "flex items-center gap-2 px-1", children: [
30297
30347
  section.icon && /* @__PURE__ */ jsx266("div", { className: "text-ods-text-secondary", children: section.icon }),
30298
- /* @__PURE__ */ jsxs217("div", { children: [
30348
+ /* @__PURE__ */ jsxs218("div", { children: [
30299
30349
  /* @__PURE__ */ jsx266("div", { className: "font-['DM_Sans'] text-[14px] font-semibold text-ods-text-primary", children: section.label }),
30300
30350
  section.description && /* @__PURE__ */ jsx266("div", { className: "font-['DM_Sans'] text-[11px] text-ods-text-tertiary", children: section.description })
30301
30351
  ] })
@@ -30306,13 +30356,13 @@ function PushButtonSelector({
30306
30356
  ungroupedOptions.length > 0 && /* @__PURE__ */ jsx266("div", { className: "space-y-2", children: ungroupedOptions.map(renderOption) })
30307
30357
  ] });
30308
30358
  };
30309
- return /* @__PURE__ */ jsxs217("div", { className: `space-y-4 ${className}`, children: [
30359
+ return /* @__PURE__ */ jsxs218("div", { className: `space-y-4 ${className}`, children: [
30310
30360
  title && /* @__PURE__ */ jsx266("h3", { className: "text-h5 text-ods-text-primary", children: title }),
30311
30361
  renderOptionsContent(),
30312
- selectionSummary && validSelectedIds.length > 0 && /* @__PURE__ */ jsxs217("div", { className: "p-4 bg-ods-attention-green-success-secondary border border-ods-attention-green-success/30 rounded-lg", children: [
30313
- /* @__PURE__ */ jsxs217("div", { className: "flex items-center gap-2 mb-2", children: [
30362
+ selectionSummary && validSelectedIds.length > 0 && /* @__PURE__ */ jsxs218("div", { className: "p-4 bg-ods-attention-green-success-secondary border border-ods-attention-green-success/30 rounded-lg", children: [
30363
+ /* @__PURE__ */ jsxs218("div", { className: "flex items-center gap-2 mb-2", children: [
30314
30364
  /* @__PURE__ */ jsx266("div", { className: "w-2 h-2 bg-ods-attention-green-success rounded-full" }),
30315
- /* @__PURE__ */ jsxs217("span", { className: "font-['DM_Sans'] text-[14px] text-ods-attention-green-success font-medium", children: [
30365
+ /* @__PURE__ */ jsxs218("span", { className: "font-['DM_Sans'] text-[14px] text-ods-attention-green-success font-medium", children: [
30316
30366
  validSelectedIds.length,
30317
30367
  " ",
30318
30368
  multiSelect ? "items" : "item",
@@ -30336,8 +30386,8 @@ function PushButtonSelector({
30336
30386
  // src/components/features/release-media-manager.tsx
30337
30387
  import { useState as useState65, useRef as useRef41 } from "react";
30338
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";
30339
- import Image13 from "next/image";
30340
- import { jsx as jsx267, jsxs as jsxs218 } from "react/jsx-runtime";
30389
+ import Image14 from "next/image";
30390
+ import { jsx as jsx267, jsxs as jsxs219 } from "react/jsx-runtime";
30341
30391
  function ReleaseMediaManager({
30342
30392
  media,
30343
30393
  onChange,
@@ -30414,10 +30464,10 @@ function ReleaseMediaManager({
30414
30464
  return /* @__PURE__ */ jsx267(ImageIcon3, { className: "w-5 h-5 text-ods-text-secondary" });
30415
30465
  }
30416
30466
  };
30417
- return /* @__PURE__ */ jsxs218("div", { className: `space-y-4 ${className}`, children: [
30418
- /* @__PURE__ */ jsx267("div", { className: "border-2 border-dashed border-ods-border rounded-lg p-6 text-center hover:border-[#FFC008]/50 transition-colors", children: /* @__PURE__ */ jsxs218("div", { className: "flex flex-col items-center gap-4", children: [
30467
+ return /* @__PURE__ */ jsxs219("div", { className: `space-y-4 ${className}`, children: [
30468
+ /* @__PURE__ */ jsx267("div", { className: "border-2 border-dashed border-ods-border rounded-lg p-6 text-center hover:border-[#FFC008]/50 transition-colors", children: /* @__PURE__ */ jsxs219("div", { className: "flex flex-col items-center gap-4", children: [
30419
30469
  /* @__PURE__ */ jsx267("div", { className: "w-12 h-12 rounded-full bg-ods-card flex items-center justify-center", children: uploadingIndex !== null ? /* @__PURE__ */ jsx267(Loader28, { className: "h-6 w-6 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsx267(Upload4, { className: "h-6 w-6 text-ods-accent" }) }),
30420
- /* @__PURE__ */ jsxs218("div", { children: [
30470
+ /* @__PURE__ */ jsxs219("div", { children: [
30421
30471
  /* @__PURE__ */ jsx267("h3", { className: "font-['DM_Sans'] font-semibold text-ods-text-primary mb-1", children: uploadingIndex !== null ? "Uploading..." : "Upload Media" }),
30422
30472
  /* @__PURE__ */ jsx267("p", { className: "text-sm text-ods-text-secondary", children: "Drag and drop or click to select images and videos" }),
30423
30473
  /* @__PURE__ */ jsx267("p", { className: "text-xs text-ods-text-secondary mt-1", children: "Maximum file size: 50MB" })
@@ -30446,16 +30496,16 @@ function ReleaseMediaManager({
30446
30496
  disabled: uploadingIndex !== null
30447
30497
  }
30448
30498
  ),
30449
- media.length > 0 && /* @__PURE__ */ jsxs218("div", { children: [
30450
- /* @__PURE__ */ jsxs218("div", { className: "flex items-center justify-between mb-4", children: [
30451
- /* @__PURE__ */ jsxs218(Label, { className: "text-[14px] text-ods-text-primary", children: [
30499
+ media.length > 0 && /* @__PURE__ */ jsxs219("div", { children: [
30500
+ /* @__PURE__ */ jsxs219("div", { className: "flex items-center justify-between mb-4", children: [
30501
+ /* @__PURE__ */ jsxs219(Label, { className: "text-[14px] text-ods-text-primary", children: [
30452
30502
  "Media Gallery (",
30453
30503
  media.length,
30454
30504
  ")"
30455
30505
  ] }),
30456
30506
  /* @__PURE__ */ jsx267("p", { className: "text-xs text-ods-text-secondary", children: "Drag to reorder" })
30457
30507
  ] }),
30458
- /* @__PURE__ */ jsx267("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: media.map((item, index) => /* @__PURE__ */ jsxs218(
30508
+ /* @__PURE__ */ jsx267("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: media.map((item, index) => /* @__PURE__ */ jsxs219(
30459
30509
  "div",
30460
30510
  {
30461
30511
  draggable: !item._uploading,
@@ -30486,7 +30536,7 @@ function ReleaseMediaManager({
30486
30536
  preload: "metadata"
30487
30537
  }
30488
30538
  ) : /* @__PURE__ */ jsx267(
30489
- Image13,
30539
+ Image14,
30490
30540
  {
30491
30541
  src: item.media_url,
30492
30542
  alt: item.title || "Media",
@@ -30495,14 +30545,14 @@ function ReleaseMediaManager({
30495
30545
  sizes: "(max-width: 768px) 100vw, 50vw"
30496
30546
  }
30497
30547
  ) }),
30498
- item._uploading && /* @__PURE__ */ jsx267("div", { className: "aspect-video bg-[#1A1A1A] flex items-center justify-center", children: /* @__PURE__ */ jsxs218("div", { className: "flex flex-col items-center gap-2", children: [
30548
+ item._uploading && /* @__PURE__ */ jsx267("div", { className: "aspect-video bg-[#1A1A1A] flex items-center justify-center", children: /* @__PURE__ */ jsxs219("div", { className: "flex flex-col items-center gap-2", children: [
30499
30549
  /* @__PURE__ */ jsx267(Loader28, { className: "h-8 w-8 animate-spin text-ods-accent" }),
30500
30550
  /* @__PURE__ */ jsx267("span", { className: "text-sm text-ods-text-secondary", children: "Uploading..." })
30501
30551
  ] }) }),
30502
- /* @__PURE__ */ jsxs218("div", { className: "p-3 space-y-2", children: [
30503
- /* @__PURE__ */ jsxs218("div", { className: "flex items-center gap-2", children: [
30552
+ /* @__PURE__ */ jsxs219("div", { className: "p-3 space-y-2", children: [
30553
+ /* @__PURE__ */ jsxs219("div", { className: "flex items-center gap-2", children: [
30504
30554
  getIcon(item.media_type),
30505
- /* @__PURE__ */ jsxs218(
30555
+ /* @__PURE__ */ jsxs219(
30506
30556
  Select,
30507
30557
  {
30508
30558
  value: item.media_type,
@@ -30510,7 +30560,7 @@ function ReleaseMediaManager({
30510
30560
  disabled: item._uploading,
30511
30561
  children: [
30512
30562
  /* @__PURE__ */ jsx267(SelectTrigger, { className: "bg-[#161616] h-8 text-xs", children: /* @__PURE__ */ jsx267(SelectValue, {}) }),
30513
- /* @__PURE__ */ jsxs218(SelectContent, { className: "bg-ods-card", children: [
30563
+ /* @__PURE__ */ jsxs219(SelectContent, { className: "bg-ods-card", children: [
30514
30564
  /* @__PURE__ */ jsx267(SelectItem, { value: "image", children: "Image" }),
30515
30565
  /* @__PURE__ */ jsx267(SelectItem, { value: "video", children: "Video" }),
30516
30566
  /* @__PURE__ */ jsx267(SelectItem, { value: "screenshot", children: "Screenshot" }),
@@ -30537,7 +30587,7 @@ function ReleaseMediaManager({
30537
30587
  index
30538
30588
  )) })
30539
30589
  ] }),
30540
- media.length === 0 && /* @__PURE__ */ jsxs218("div", { className: "text-center py-8 px-4 bg-ods-bg-secondary border border-ods-border rounded-lg", children: [
30590
+ media.length === 0 && /* @__PURE__ */ jsxs219("div", { className: "text-center py-8 px-4 bg-ods-bg-secondary border border-ods-border rounded-lg", children: [
30541
30591
  /* @__PURE__ */ jsx267(ImageIcon3, { className: "h-12 w-12 text-ods-text-secondary mx-auto mb-4" }),
30542
30592
  /* @__PURE__ */ jsx267("h3", { className: "font-['DM_Sans'] font-semibold text-ods-text-primary mb-2", children: "No media uploaded yet" }),
30543
30593
  /* @__PURE__ */ jsx267("p", { className: "text-sm text-ods-text-secondary", children: "Upload your first image or video to get started" })
@@ -30548,10 +30598,10 @@ function ReleaseMediaManager({
30548
30598
  // src/components/features/select-button.tsx
30549
30599
  init_cn();
30550
30600
  import React94 from "react";
30551
- import { jsx as jsx268, jsxs as jsxs219 } from "react/jsx-runtime";
30601
+ import { jsx as jsx268, jsxs as jsxs220 } from "react/jsx-runtime";
30552
30602
  var SelectButton = React94.forwardRef(
30553
30603
  ({ title, description, selected = false, disabled = false, icon, image, tag, tagVariant = "outline", onClick, className }, ref) => {
30554
- return /* @__PURE__ */ jsxs219(
30604
+ return /* @__PURE__ */ jsxs220(
30555
30605
  "button",
30556
30606
  {
30557
30607
  ref,
@@ -30578,7 +30628,7 @@ var SelectButton = React94.forwardRef(
30578
30628
  className: "size-full object-cover"
30579
30629
  }
30580
30630
  ) }),
30581
- /* @__PURE__ */ jsxs219("span", { className: "flex flex-1 flex-col justify-center min-w-0 overflow-hidden", children: [
30631
+ /* @__PURE__ */ jsxs220("span", { className: "flex flex-1 flex-col justify-center min-w-0 overflow-hidden", children: [
30582
30632
  /* @__PURE__ */ jsx268("span", { className: "md:text-[18px] text-[14px] font-medium text-ods-text-primary truncate", children: title }),
30583
30633
  description && /* @__PURE__ */ jsx268(
30584
30634
  "span",
@@ -30608,8 +30658,8 @@ SelectButton.displayName = "SelectButton";
30608
30658
  // src/components/features/seo-editor-preview.tsx
30609
30659
  import { useState as useState66 } from "react";
30610
30660
  import { Globe as Globe3, ExternalLink as ExternalLink5, Upload as Upload5, X as X11, Loader2 as Loader29, Sparkles as Sparkles4 } from "lucide-react";
30611
- import Image14 from "next/image";
30612
- import { Fragment as Fragment42, jsx as jsx269, jsxs as jsxs220 } from "react/jsx-runtime";
30661
+ import Image15 from "next/image";
30662
+ import { Fragment as Fragment42, jsx as jsx269, jsxs as jsxs221 } from "react/jsx-runtime";
30613
30663
  function SEOEditorPreview({
30614
30664
  seoTitle,
30615
30665
  seoDescription,
@@ -30652,14 +30702,14 @@ function SEOEditorPreview({
30652
30702
  setIsUploading(false);
30653
30703
  }
30654
30704
  };
30655
- return /* @__PURE__ */ jsxs220("div", { className: cn("space-y-6 p-6 bg-ods-card border border-ods-border rounded-lg", className), children: [
30705
+ return /* @__PURE__ */ jsxs221("div", { className: cn("space-y-6 p-6 bg-ods-card border border-ods-border rounded-lg", className), children: [
30656
30706
  /* @__PURE__ */ jsx269("h3", { className: "text-h5 text-ods-text-primary", children: "SEO & Open Graph" }),
30657
- /* @__PURE__ */ jsxs220("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-4", children: [
30658
- /* @__PURE__ */ jsxs220("div", { className: "space-y-2", children: [
30659
- /* @__PURE__ */ jsxs220("div", { className: "flex items-center gap-2", children: [
30707
+ /* @__PURE__ */ jsxs221("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-4", children: [
30708
+ /* @__PURE__ */ jsxs221("div", { className: "space-y-2", children: [
30709
+ /* @__PURE__ */ jsxs221("div", { className: "flex items-center gap-2", children: [
30660
30710
  /* @__PURE__ */ jsx269(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Title" }),
30661
- aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs220(Fragment42, { children: [
30662
- /* @__PURE__ */ jsxs220(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30711
+ aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs221(Fragment42, { children: [
30712
+ /* @__PURE__ */ jsxs221(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30663
30713
  /* @__PURE__ */ jsx269(Sparkles4, { className: "h-3 w-3" }),
30664
30714
  "AI Generated"
30665
30715
  ] }),
@@ -30686,11 +30736,11 @@ function SEOEditorPreview({
30686
30736
  ),
30687
30737
  !seoTitle && title && /* @__PURE__ */ jsx269("p", { className: "text-[11px] text-ods-accent font-['DM_Sans']", children: "Auto-populated from title" })
30688
30738
  ] }),
30689
- /* @__PURE__ */ jsxs220("div", { className: "space-y-2", children: [
30690
- /* @__PURE__ */ jsxs220("div", { className: "flex items-center gap-2", children: [
30739
+ /* @__PURE__ */ jsxs221("div", { className: "space-y-2", children: [
30740
+ /* @__PURE__ */ jsxs221("div", { className: "flex items-center gap-2", children: [
30691
30741
  /* @__PURE__ */ jsx269(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Keywords" }),
30692
- aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs220(Fragment42, { children: [
30693
- /* @__PURE__ */ jsxs220(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30742
+ aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs221(Fragment42, { children: [
30743
+ /* @__PURE__ */ jsxs221(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30694
30744
  /* @__PURE__ */ jsx269(Sparkles4, { className: "h-3 w-3" }),
30695
30745
  "AI Generated"
30696
30746
  ] }),
@@ -30717,12 +30767,12 @@ function SEOEditorPreview({
30717
30767
  )
30718
30768
  ] })
30719
30769
  ] }),
30720
- /* @__PURE__ */ jsxs220("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-4", children: [
30721
- /* @__PURE__ */ jsxs220("div", { className: "space-y-2 flex flex-col h-full", children: [
30722
- /* @__PURE__ */ jsxs220("div", { className: "flex items-center gap-2", children: [
30770
+ /* @__PURE__ */ jsxs221("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-4", children: [
30771
+ /* @__PURE__ */ jsxs221("div", { className: "space-y-2 flex flex-col h-full", children: [
30772
+ /* @__PURE__ */ jsxs221("div", { className: "flex items-center gap-2", children: [
30723
30773
  /* @__PURE__ */ jsx269(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "SEO Description" }),
30724
- aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs220(Fragment42, { children: [
30725
- /* @__PURE__ */ jsxs220(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30774
+ aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs221(Fragment42, { children: [
30775
+ /* @__PURE__ */ jsxs221(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
30726
30776
  /* @__PURE__ */ jsx269(Sparkles4, { className: "h-3 w-3" }),
30727
30777
  "AI Generated"
30728
30778
  ] }),
@@ -30750,12 +30800,12 @@ function SEOEditorPreview({
30750
30800
  ),
30751
30801
  !seoDescription && summary && /* @__PURE__ */ jsx269("p", { className: "text-[11px] text-ods-accent font-['DM_Sans']", children: "Auto-populated from summary" })
30752
30802
  ] }),
30753
- /* @__PURE__ */ jsxs220("div", { className: "space-y-2 flex flex-col h-full", children: [
30803
+ /* @__PURE__ */ jsxs221("div", { className: "space-y-2 flex flex-col h-full", children: [
30754
30804
  /* @__PURE__ */ jsx269(Label, { className: "font-['DM_Sans'] text-[14px] font-medium text-ods-text-primary", children: "OG Image" }),
30755
- /* @__PURE__ */ jsxs220("div", { className: "flex-1 relative", children: [
30756
- displayImage && !imageError ? /* @__PURE__ */ jsxs220("div", { className: "relative group h-full min-h-[280px]", children: [
30805
+ /* @__PURE__ */ jsxs221("div", { className: "flex-1 relative", children: [
30806
+ displayImage && !imageError ? /* @__PURE__ */ jsxs221("div", { className: "relative group h-full min-h-[280px]", children: [
30757
30807
  /* @__PURE__ */ jsx269(
30758
- Image14,
30808
+ Image15,
30759
30809
  {
30760
30810
  src: displayImage,
30761
30811
  alt: "OG Image",
@@ -30764,7 +30814,7 @@ function SEOEditorPreview({
30764
30814
  onError: () => setImageError(true)
30765
30815
  }
30766
30816
  ),
30767
- /* @__PURE__ */ jsxs220("div", { className: "absolute inset-0 bg-black bg-opacity-0 group-hover:bg-opacity-40 transition-all rounded-lg flex items-center justify-center gap-2", children: [
30817
+ /* @__PURE__ */ jsxs221("div", { className: "absolute inset-0 bg-black bg-opacity-0 group-hover:bg-opacity-40 transition-all rounded-lg flex items-center justify-center gap-2", children: [
30768
30818
  onOgImageUpload && /* @__PURE__ */ jsx269(
30769
30819
  Button,
30770
30820
  {
@@ -30795,7 +30845,7 @@ function SEOEditorPreview({
30795
30845
  {
30796
30846
  className: "h-full min-h-[280px] border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover",
30797
30847
  onClick: () => onOgImageUpload && fileInputRef?.click(),
30798
- children: isUploading ? /* @__PURE__ */ jsx269(Loader29, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs220(Fragment42, { children: [
30848
+ children: isUploading ? /* @__PURE__ */ jsx269(Loader29, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs221(Fragment42, { children: [
30799
30849
  /* @__PURE__ */ jsx269(Upload5, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
30800
30850
  /* @__PURE__ */ jsx269("span", { className: "text-sm text-ods-text-secondary font-['DM_Sans']", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
30801
30851
  ] })
@@ -30816,14 +30866,14 @@ function SEOEditorPreview({
30816
30866
  !ogImageUrl && featuredImage && /* @__PURE__ */ jsx269("p", { className: "text-[11px] text-ods-accent font-['DM_Sans']", children: "Using featured image" })
30817
30867
  ] })
30818
30868
  ] }),
30819
- /* @__PURE__ */ jsxs220("div", { className: "pt-4 border-t border-ods-border", children: [
30820
- /* @__PURE__ */ jsxs220("div", { className: "flex items-center gap-2 mb-3", children: [
30869
+ /* @__PURE__ */ jsxs221("div", { className: "pt-4 border-t border-ods-border", children: [
30870
+ /* @__PURE__ */ jsxs221("div", { className: "flex items-center gap-2 mb-3", children: [
30821
30871
  /* @__PURE__ */ jsx269(Globe3, { className: "w-4 h-4 text-ods-text-secondary" }),
30822
30872
  /* @__PURE__ */ jsx269("span", { className: "font-['DM_Sans'] text-[12px] font-medium text-ods-text-secondary", children: "Social Media Preview" })
30823
30873
  ] }),
30824
- /* @__PURE__ */ jsxs220("div", { className: "bg-ods-bg border border-ods-border rounded-lg overflow-hidden max-w-[500px]", children: [
30874
+ /* @__PURE__ */ jsxs221("div", { className: "bg-ods-bg border border-ods-border rounded-lg overflow-hidden max-w-[500px]", children: [
30825
30875
  /* @__PURE__ */ jsx269("div", { className: "relative w-full h-[260px] bg-ods-bg-active", children: displayImage && !imageError ? /* @__PURE__ */ jsx269(
30826
- Image14,
30876
+ Image15,
30827
30877
  {
30828
30878
  src: displayImage,
30829
30879
  alt: displayTitle,
@@ -30831,12 +30881,12 @@ function SEOEditorPreview({
30831
30881
  className: "object-cover",
30832
30882
  onError: () => setImageError(true)
30833
30883
  }
30834
- ) : /* @__PURE__ */ jsx269("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs220("div", { className: "text-center", children: [
30884
+ ) : /* @__PURE__ */ jsx269("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsxs221("div", { className: "text-center", children: [
30835
30885
  /* @__PURE__ */ jsx269(Globe3, { className: "w-12 h-12 text-ods-text-secondary mx-auto mb-2" }),
30836
30886
  /* @__PURE__ */ jsx269("p", { className: "text-ods-text-secondary text-sm font-['DM_Sans']", children: "No preview image" })
30837
30887
  ] }) }) }),
30838
- /* @__PURE__ */ jsxs220("div", { className: "p-4 space-y-2", children: [
30839
- /* @__PURE__ */ jsxs220("div", { className: "flex items-center gap-1", children: [
30888
+ /* @__PURE__ */ jsxs221("div", { className: "p-4 space-y-2", children: [
30889
+ /* @__PURE__ */ jsxs221("div", { className: "flex items-center gap-1", children: [
30840
30890
  /* @__PURE__ */ jsx269(ExternalLink5, { className: "w-3 h-3 text-ods-text-secondary" }),
30841
30891
  /* @__PURE__ */ jsx269("span", { className: "font-['DM_Sans'] text-[11px] text-ods-text-secondary uppercase tracking-wide", children: domain })
30842
30892
  ] }),
@@ -30844,7 +30894,7 @@ function SEOEditorPreview({
30844
30894
  /* @__PURE__ */ jsx269("p", { className: "font-['DM_Sans'] text-[14px] text-ods-text-secondary leading-[1.4] line-clamp-3", children: displayDescription })
30845
30895
  ] })
30846
30896
  ] }),
30847
- /* @__PURE__ */ jsxs220("div", { className: "space-y-1 mt-3", children: [
30897
+ /* @__PURE__ */ jsxs221("div", { className: "space-y-1 mt-3", children: [
30848
30898
  !seoTitle.trim() && title && /* @__PURE__ */ jsx269("p", { className: "font-['DM_Sans'] text-[11px] text-ods-accent", children: "\u2022 Using title as SEO title" }),
30849
30899
  !seoDescription.trim() && summary && /* @__PURE__ */ jsx269("p", { className: "font-['DM_Sans'] text-[11px] text-ods-accent", children: "\u2022 Using summary as SEO description" }),
30850
30900
  !ogImageUrl.trim() && featuredImage.trim() && /* @__PURE__ */ jsx269("p", { className: "font-['DM_Sans'] text-[11px] text-ods-accent", children: "\u2022 Using featured image as OG image" })
@@ -30855,7 +30905,7 @@ function SEOEditorPreview({
30855
30905
 
30856
30906
  // src/components/features/social-links-manager.tsx
30857
30907
  import { Trash2 as Trash26, User, Globe as Globe4, Youtube, Instagram, Facebook, MessageCircle as MessageCircle2, Send as Send2, Music } from "lucide-react";
30858
- import { jsx as jsx270, jsxs as jsxs221 } from "react/jsx-runtime";
30908
+ import { jsx as jsx270, jsxs as jsxs222 } from "react/jsx-runtime";
30859
30909
  var defaultPlatforms = [];
30860
30910
  var iconMap = {
30861
30911
  linkedin: LinkedInIcon,
@@ -30895,14 +30945,14 @@ function SocialLinksManager({
30895
30945
  const IconComponent = iconMap[iconKey];
30896
30946
  return IconComponent ? /* @__PURE__ */ jsx270(IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
30897
30947
  };
30898
- return /* @__PURE__ */ jsxs221("div", { className: `space-y-3 ${className}`, children: [
30948
+ return /* @__PURE__ */ jsxs222("div", { className: `space-y-3 ${className}`, children: [
30899
30949
  links.map((link, index) => {
30900
30950
  const platform = platforms.find((p) => p.name === link.platform);
30901
30951
  const Icon2 = getIcon(link, platform);
30902
- return /* @__PURE__ */ jsxs221("div", { className: "flex items-center gap-3 p-3 bg-ods-bg-secondary rounded-lg border border-ods-border", children: [
30952
+ return /* @__PURE__ */ jsxs222("div", { className: "flex items-center gap-3 p-3 bg-ods-bg-secondary rounded-lg border border-ods-border", children: [
30903
30953
  /* @__PURE__ */ jsx270("div", { className: "w-8 h-8 flex items-center justify-center", children: Icon2 }),
30904
- /* @__PURE__ */ jsxs221("div", { className: "flex-1 grid grid-cols-2 gap-3", children: [
30905
- /* @__PURE__ */ jsx270("div", { children: /* @__PURE__ */ jsxs221(
30954
+ /* @__PURE__ */ jsxs222("div", { className: "flex-1 grid grid-cols-2 gap-3", children: [
30955
+ /* @__PURE__ */ jsx270("div", { children: /* @__PURE__ */ jsxs222(
30906
30956
  Select,
30907
30957
  {
30908
30958
  value: link.platform,
@@ -31030,7 +31080,7 @@ StartWithOpenFrameButton.displayName = "StartWithOpenFrameButton";
31030
31080
  // src/components/features/status-filter-component.tsx
31031
31081
  init_button2();
31032
31082
  import { Filter } from "lucide-react";
31033
- import { jsx as jsx272, jsxs as jsxs222 } from "react/jsx-runtime";
31083
+ import { jsx as jsx272, jsxs as jsxs223 } from "react/jsx-runtime";
31034
31084
  function StatusFilterComponent({
31035
31085
  selectedStatus,
31036
31086
  onStatusChange,
@@ -31040,8 +31090,8 @@ function StatusFilterComponent({
31040
31090
  className = ""
31041
31091
  }) {
31042
31092
  const filteredOptions = statusOptions.filter((option) => option.value !== "all");
31043
- return /* @__PURE__ */ jsxs222("div", { className: `flex flex-wrap items-center gap-3 p-4 bg-ods-card border border-ods-border rounded-lg ${className}`, children: [
31044
- /* @__PURE__ */ jsxs222("div", { className: "flex items-center gap-2", children: [
31093
+ return /* @__PURE__ */ jsxs223("div", { className: `flex flex-wrap items-center gap-3 p-4 bg-ods-card border border-ods-border rounded-lg ${className}`, children: [
31094
+ /* @__PURE__ */ jsxs223("div", { className: "flex items-center gap-2", children: [
31045
31095
  /* @__PURE__ */ jsx272(Filter, { className: "h-4 w-4 text-ods-accent" }),
31046
31096
  /* @__PURE__ */ jsx272("span", { className: "text-h5 text-ods-text-secondary", children: "Status" })
31047
31097
  ] }),
@@ -31068,7 +31118,7 @@ function StatusFilterComponent({
31068
31118
  },
31069
31119
  option.value
31070
31120
  )),
31071
- showCount && /* @__PURE__ */ jsxs222("div", { className: "ml-auto text-[12px] font-['DM_Sans'] text-ods-text-secondary shrink-0", children: [
31121
+ showCount && /* @__PURE__ */ jsxs223("div", { className: "ml-auto text-[12px] font-['DM_Sans'] text-ods-text-secondary shrink-0", children: [
31072
31122
  count,
31073
31123
  " items"
31074
31124
  ] })
@@ -31078,7 +31128,7 @@ function StatusFilterComponent({
31078
31128
  // src/components/features/tags-selector.tsx
31079
31129
  import { useState as useState67 } from "react";
31080
31130
  import { Search as Search2, X as X12, Plus as Plus6, Loader2 as Loader210 } from "lucide-react";
31081
- import { jsx as jsx273, jsxs as jsxs223 } from "react/jsx-runtime";
31131
+ import { jsx as jsx273, jsxs as jsxs224 } from "react/jsx-runtime";
31082
31132
  function TagsSelector({
31083
31133
  availableTags,
31084
31134
  selectedTagIds,
@@ -31131,16 +31181,16 @@ function TagsSelector({
31131
31181
  };
31132
31182
  const canCreateNewTag = allowCreate && onCreateTag && searchQuery.trim() && !tagExistsWithName(searchQuery.trim());
31133
31183
  const filteredTags = getFilteredTagsForAutocomplete();
31134
- return /* @__PURE__ */ jsxs223("div", { className: cn("space-y-2", className), children: [
31135
- /* @__PURE__ */ jsxs223("div", { className: "relative", children: [
31184
+ return /* @__PURE__ */ jsxs224("div", { className: cn("space-y-2", className), children: [
31185
+ /* @__PURE__ */ jsxs224("div", { className: "relative", children: [
31136
31186
  /* @__PURE__ */ jsx273("div", { className: "absolute top-3 left-3 flex items-center pointer-events-none z-10", children: /* @__PURE__ */ jsx273(Search2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
31137
- /* @__PURE__ */ jsxs223("div", { className: cn(
31187
+ /* @__PURE__ */ jsxs224("div", { className: cn(
31138
31188
  "w-full bg-ods-bg border border-ods-border rounded-lg",
31139
31189
  "focus-within:ring-2 focus-within:ring-ods-accent focus-within:border-ods-accent",
31140
31190
  "transition-all duration-200 flex flex-wrap items-center gap-1.5 p-2 pl-10 min-h-[42px]",
31141
31191
  disabled && "opacity-50 cursor-not-allowed"
31142
31192
  ), children: [
31143
- getSelectedTags().map((tag) => /* @__PURE__ */ jsxs223(
31193
+ getSelectedTags().map((tag) => /* @__PURE__ */ jsxs224(
31144
31194
  "span",
31145
31195
  {
31146
31196
  className: "inline-flex items-center gap-1 px-2 py-0.5 rounded bg-ods-accent text-ods-bg text-xs font-medium font-['DM_Sans']",
@@ -31211,8 +31261,8 @@ function TagsSelector({
31211
31261
  }
31212
31262
  )
31213
31263
  ] }),
31214
- showDropdown && !disabled && /* @__PURE__ */ jsx273("div", { className: "absolute z-50 w-full mt-1 bg-ods-card border border-ods-border rounded-lg shadow-lg max-h-60 overflow-y-auto", children: /* @__PURE__ */ jsxs223("div", { className: "p-3", children: [
31215
- canCreateNewTag && /* @__PURE__ */ jsxs223(
31264
+ showDropdown && !disabled && /* @__PURE__ */ jsx273("div", { className: "absolute z-50 w-full mt-1 bg-ods-card border border-ods-border rounded-lg shadow-lg max-h-60 overflow-y-auto", children: /* @__PURE__ */ jsxs224("div", { className: "p-3", children: [
31265
+ canCreateNewTag && /* @__PURE__ */ jsxs224(
31216
31266
  Button,
31217
31267
  {
31218
31268
  variant: "outline",
@@ -31223,7 +31273,7 @@ function TagsSelector({
31223
31273
  className: "w-full flex flex-row items-center gap-1.5 px-2 py-1 mb-2 h-auto rounded border-dashed border-ods-accent bg-ods-bg hover:bg-ods-card text-ods-accent font-['DM_Sans'] !text-xs !font-medium",
31224
31274
  children: [
31225
31275
  "Create tag: ",
31226
- /* @__PURE__ */ jsxs223("strong", { children: [
31276
+ /* @__PURE__ */ jsxs224("strong", { children: [
31227
31277
  '"',
31228
31278
  searchQuery.trim(),
31229
31279
  '"'
@@ -31244,8 +31294,8 @@ function TagsSelector({
31244
31294
  )) }) : !canCreateNewTag ? /* @__PURE__ */ jsx273("div", { className: "py-4 px-4 text-center w-full", children: /* @__PURE__ */ jsx273("p", { className: "text-ods-text-secondary text-sm font-['DM_Sans']", children: searchQuery.trim() ? `No tags found for "${searchQuery}"` : "No tags available" }) }) : null
31245
31295
  ] }) })
31246
31296
  ] }),
31247
- /* @__PURE__ */ jsxs223("div", { className: "flex items-center justify-between", children: [
31248
- /* @__PURE__ */ jsxs223("div", { className: "text-[11px] text-ods-text-secondary font-['DM_Sans']", children: [
31297
+ /* @__PURE__ */ jsxs224("div", { className: "flex items-center justify-between", children: [
31298
+ /* @__PURE__ */ jsxs224("div", { className: "text-[11px] text-ods-text-secondary font-['DM_Sans']", children: [
31249
31299
  selectedTagIds.length,
31250
31300
  " / ",
31251
31301
  maxTags,
@@ -31260,7 +31310,7 @@ function TagsSelector({
31260
31310
  init_button2();
31261
31311
  import { useState as useState68, useCallback as useCallback31 } from "react";
31262
31312
  import { Upload as Upload6, Sparkles as Sparkles5, X as X13, Video as Video6 } from "lucide-react";
31263
- import { jsx as jsx274, jsxs as jsxs224 } from "react/jsx-runtime";
31313
+ import { jsx as jsx274, jsxs as jsxs225 } from "react/jsx-runtime";
31264
31314
  function VideoSourceSelector({
31265
31315
  videoSourceType,
31266
31316
  onVideoSourceTypeChange,
@@ -31321,12 +31371,12 @@ function VideoSourceSelector({
31321
31371
  const handleDeleteVideo = useCallback31(() => {
31322
31372
  onMainVideoUrlChange("");
31323
31373
  }, [onMainVideoUrlChange]);
31324
- return /* @__PURE__ */ jsxs224("div", { className: `space-y-4 p-6 bg-ods-card border border-ods-border rounded-lg ${className}`, children: [
31325
- showTitle && /* @__PURE__ */ jsxs224("h3", { className: "font-['Azeret_Mono'] text-[18px] font-semibold uppercase text-ods-text-primary flex items-center gap-2", children: [
31374
+ return /* @__PURE__ */ jsxs225("div", { className: `space-y-4 p-6 bg-ods-card border border-ods-border rounded-lg ${className}`, children: [
31375
+ showTitle && /* @__PURE__ */ jsxs225("h3", { className: "font-['Azeret_Mono'] text-[18px] font-semibold uppercase text-ods-text-primary flex items-center gap-2", children: [
31326
31376
  /* @__PURE__ */ jsx274(Video6, { className: "h-5 w-5" }),
31327
31377
  title
31328
31378
  ] }),
31329
- /* @__PURE__ */ jsxs224("div", { className: "flex gap-2", children: [
31379
+ /* @__PURE__ */ jsxs225("div", { className: "flex gap-2", children: [
31330
31380
  /* @__PURE__ */ jsx274(
31331
31381
  Button,
31332
31382
  {
@@ -31350,7 +31400,7 @@ function VideoSourceSelector({
31350
31400
  }
31351
31401
  )
31352
31402
  ] }),
31353
- videoSourceType === "youtube" && /* @__PURE__ */ jsxs224("div", { className: "space-y-2", children: [
31403
+ videoSourceType === "youtube" && /* @__PURE__ */ jsxs225("div", { className: "space-y-2", children: [
31354
31404
  /* @__PURE__ */ jsx274(Label, { children: youtubeLabel }),
31355
31405
  /* @__PURE__ */ jsx274(
31356
31406
  Input,
@@ -31364,11 +31414,11 @@ function VideoSourceSelector({
31364
31414
  ),
31365
31415
  youtubeHelperText && /* @__PURE__ */ jsx274("p", { className: "text-xs text-ods-text-secondary", children: youtubeHelperText })
31366
31416
  ] }),
31367
- videoSourceType === "uploaded" && /* @__PURE__ */ jsxs224("div", { children: [
31368
- /* @__PURE__ */ jsxs224("div", { className: "flex items-center justify-between mb-2", children: [
31369
- /* @__PURE__ */ jsxs224("div", { className: "flex items-center gap-2", children: [
31417
+ videoSourceType === "uploaded" && /* @__PURE__ */ jsxs225("div", { children: [
31418
+ /* @__PURE__ */ jsxs225("div", { className: "flex items-center justify-between mb-2", children: [
31419
+ /* @__PURE__ */ jsxs225("div", { className: "flex items-center gap-2", children: [
31370
31420
  /* @__PURE__ */ jsx274(Label, { children: uploadLabel }),
31371
- showAIBadge && isAIGenerated && /* @__PURE__ */ jsxs224(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31421
+ showAIBadge && isAIGenerated && /* @__PURE__ */ jsxs225(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31372
31422
  /* @__PURE__ */ jsx274(Sparkles5, { className: "h-3 w-3" }),
31373
31423
  "AI Generated"
31374
31424
  ] })
@@ -31394,8 +31444,8 @@ function VideoSourceSelector({
31394
31444
  className: "mb-3"
31395
31445
  }
31396
31446
  ),
31397
- isUploading && !UploadProgressComponent && /* @__PURE__ */ jsxs224("div", { className: "mb-3", children: [
31398
- /* @__PURE__ */ jsxs224("div", { className: "flex items-center gap-2 mb-1", children: [
31447
+ isUploading && !UploadProgressComponent && /* @__PURE__ */ jsxs225("div", { className: "mb-3", children: [
31448
+ /* @__PURE__ */ jsxs225("div", { className: "flex items-center gap-2 mb-1", children: [
31399
31449
  /* @__PURE__ */ jsx274("div", { className: "flex-1 h-2 bg-ods-border rounded-full overflow-hidden", children: /* @__PURE__ */ jsx274(
31400
31450
  "div",
31401
31451
  {
@@ -31403,7 +31453,7 @@ function VideoSourceSelector({
31403
31453
  style: { width: `${uploadProgress}%` }
31404
31454
  }
31405
31455
  ) }),
31406
- /* @__PURE__ */ jsxs224("span", { className: "text-xs text-ods-text-secondary", children: [
31456
+ /* @__PURE__ */ jsxs225("span", { className: "text-xs text-ods-text-secondary", children: [
31407
31457
  uploadProgress,
31408
31458
  "%"
31409
31459
  ] })
@@ -31420,7 +31470,7 @@ function VideoSourceSelector({
31420
31470
  }
31421
31471
  ) : (
31422
31472
  // Default simple preview
31423
- /* @__PURE__ */ jsxs224("div", { className: "relative rounded-lg border border-ods-border overflow-hidden", children: [
31473
+ /* @__PURE__ */ jsxs225("div", { className: "relative rounded-lg border border-ods-border overflow-hidden", children: [
31424
31474
  /* @__PURE__ */ jsx274(
31425
31475
  "video",
31426
31476
  {
@@ -31450,7 +31500,7 @@ import { Sparkles as Sparkles6 } from "lucide-react";
31450
31500
 
31451
31501
  // src/components/features/ai-enrich/ConfidenceBadge.tsx
31452
31502
  init_cn();
31453
- import { jsx as jsx275, jsxs as jsxs225 } from "react/jsx-runtime";
31503
+ import { jsx as jsx275, jsxs as jsxs226 } from "react/jsx-runtime";
31454
31504
  var sizeStyles = {
31455
31505
  sm: "text-xs px-1.5 py-0.5",
31456
31506
  md: "text-sm px-2 py-1",
@@ -31471,7 +31521,7 @@ var ConfidenceBadge = ({
31471
31521
  const borderClass = getConfidenceBorderClass(confidence);
31472
31522
  const textClass = getConfidenceTextClass(confidence);
31473
31523
  const bgClass = getConfidenceBgClass(confidence);
31474
- return /* @__PURE__ */ jsxs225(
31524
+ return /* @__PURE__ */ jsxs226(
31475
31525
  "span",
31476
31526
  {
31477
31527
  className: cn(
@@ -31484,7 +31534,7 @@ var ConfidenceBadge = ({
31484
31534
  ),
31485
31535
  children: [
31486
31536
  showLabel && /* @__PURE__ */ jsx275("span", { children: label }),
31487
- showPercentage && confidence !== void 0 && /* @__PURE__ */ jsxs225("span", { className: "opacity-75", children: [
31537
+ showPercentage && confidence !== void 0 && /* @__PURE__ */ jsxs226("span", { className: "opacity-75", children: [
31488
31538
  "(",
31489
31539
  confidence,
31490
31540
  "%)"
@@ -31495,7 +31545,7 @@ var ConfidenceBadge = ({
31495
31545
  };
31496
31546
 
31497
31547
  // src/components/features/transcript-summary-editor.tsx
31498
- import { jsx as jsx276, jsxs as jsxs226 } from "react/jsx-runtime";
31548
+ import { jsx as jsx276, jsxs as jsxs227 } from "react/jsx-runtime";
31499
31549
  function TranscriptSummaryEditor({
31500
31550
  videoSummary = "",
31501
31551
  onVideoSummaryChange,
@@ -31521,12 +31571,12 @@ function TranscriptSummaryEditor({
31521
31571
  disabled = false,
31522
31572
  className = ""
31523
31573
  }) {
31524
- return /* @__PURE__ */ jsxs226("div", { className: `space-y-4 ${className}`, children: [
31525
- /* @__PURE__ */ jsxs226("div", { children: [
31526
- /* @__PURE__ */ jsxs226("div", { className: "mb-2", children: [
31527
- /* @__PURE__ */ jsxs226("div", { className: "flex items-center gap-2", children: [
31574
+ return /* @__PURE__ */ jsxs227("div", { className: `space-y-4 ${className}`, children: [
31575
+ /* @__PURE__ */ jsxs227("div", { children: [
31576
+ /* @__PURE__ */ jsxs227("div", { className: "mb-2", children: [
31577
+ /* @__PURE__ */ jsxs227("div", { className: "flex items-center gap-2", children: [
31528
31578
  /* @__PURE__ */ jsx276(Label, { htmlFor: "video-summary", children: videoSummaryLabel }),
31529
- isAIGenerated && /* @__PURE__ */ jsxs226(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31579
+ isAIGenerated && /* @__PURE__ */ jsxs227(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31530
31580
  /* @__PURE__ */ jsx276(Sparkles6, { className: "h-3 w-3" }),
31531
31581
  "AI Generated"
31532
31582
  ] }),
@@ -31562,11 +31612,11 @@ function TranscriptSummaryEditor({
31562
31612
  }
31563
31613
  )
31564
31614
  ] }),
31565
- /* @__PURE__ */ jsxs226("div", { children: [
31566
- /* @__PURE__ */ jsxs226("div", { className: "mb-2", children: [
31567
- /* @__PURE__ */ jsxs226("div", { className: "flex items-center gap-2", children: [
31615
+ /* @__PURE__ */ jsxs227("div", { children: [
31616
+ /* @__PURE__ */ jsxs227("div", { className: "mb-2", children: [
31617
+ /* @__PURE__ */ jsxs227("div", { className: "flex items-center gap-2", children: [
31568
31618
  /* @__PURE__ */ jsx276(Label, { htmlFor: "transcript", children: transcriptLabel }),
31569
- isAIGenerated && /* @__PURE__ */ jsxs226(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31619
+ isAIGenerated && /* @__PURE__ */ jsxs227(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31570
31620
  /* @__PURE__ */ jsx276(Sparkles6, { className: "h-3 w-3" }),
31571
31621
  "AI Generated"
31572
31622
  ] }),
@@ -31602,11 +31652,11 @@ function TranscriptSummaryEditor({
31602
31652
  }
31603
31653
  )
31604
31654
  ] }),
31605
- (subtitles || onSubtitlesChange) && /* @__PURE__ */ jsxs226("div", { children: [
31606
- /* @__PURE__ */ jsxs226("div", { className: "mb-2", children: [
31607
- /* @__PURE__ */ jsxs226("div", { className: "flex items-center gap-2", children: [
31655
+ (subtitles || onSubtitlesChange) && /* @__PURE__ */ jsxs227("div", { children: [
31656
+ /* @__PURE__ */ jsxs227("div", { className: "mb-2", children: [
31657
+ /* @__PURE__ */ jsxs227("div", { className: "flex items-center gap-2", children: [
31608
31658
  /* @__PURE__ */ jsx276(Label, { htmlFor: "subtitles", children: subtitlesLabel }),
31609
- isAIGenerated && subtitles && /* @__PURE__ */ jsxs226(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31659
+ isAIGenerated && subtitles && /* @__PURE__ */ jsxs227(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
31610
31660
  /* @__PURE__ */ jsx276(StandardCcIcon, { size: 12 }),
31611
31661
  "AI Generated"
31612
31662
  ] })
@@ -31686,7 +31736,7 @@ var AIEnrichButton = ({
31686
31736
 
31687
31737
  // src/components/features/ai-enrich/AIWarningsSection.tsx
31688
31738
  init_cn();
31689
- import { jsx as jsx278, jsxs as jsxs227 } from "react/jsx-runtime";
31739
+ import { jsx as jsx278, jsxs as jsxs228 } from "react/jsx-runtime";
31690
31740
  var AIWarningsSection = ({
31691
31741
  warnings,
31692
31742
  title = "AI Warnings",
@@ -31702,7 +31752,7 @@ var AIWarningsSection = ({
31702
31752
  "rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-4",
31703
31753
  className
31704
31754
  ),
31705
- children: /* @__PURE__ */ jsxs227("div", { className: "flex items-start gap-2", children: [
31755
+ children: /* @__PURE__ */ jsxs228("div", { className: "flex items-start gap-2", children: [
31706
31756
  /* @__PURE__ */ jsx278(
31707
31757
  "svg",
31708
31758
  {
@@ -31721,7 +31771,7 @@ var AIWarningsSection = ({
31721
31771
  )
31722
31772
  }
31723
31773
  ),
31724
- /* @__PURE__ */ jsxs227("div", { className: "flex-1", children: [
31774
+ /* @__PURE__ */ jsxs228("div", { className: "flex-1", children: [
31725
31775
  /* @__PURE__ */ jsx278("h4", { className: "text-sm font-semibold text-yellow-500 mb-2", children: title }),
31726
31776
  /* @__PURE__ */ jsx278("ul", { className: "space-y-1", children: warnings.map((warning, index) => /* @__PURE__ */ jsx278(
31727
31777
  "li",
@@ -31740,7 +31790,7 @@ var AIWarningsSection = ({
31740
31790
  // src/components/features/ai-enrich/AIEnrichSection.tsx
31741
31791
  init_button2();
31742
31792
  import { CheckCircle as CheckCircle4, AlertCircle as AlertCircle2, Loader2 as Loader211, X as X14 } from "lucide-react";
31743
- import { jsx as jsx279, jsxs as jsxs228 } from "react/jsx-runtime";
31793
+ import { jsx as jsx279, jsxs as jsxs229 } from "react/jsx-runtime";
31744
31794
  var AIEnrichSection = ({
31745
31795
  onEnrich,
31746
31796
  loading = false,
@@ -31777,7 +31827,7 @@ var AIEnrichSection = ({
31777
31827
  const hasResults = status === "success" || status === "error";
31778
31828
  const shouldDisable = disabled || !canEnrich;
31779
31829
  const unfilledFields = requiredFields?.filter((f) => !f.isFilled) || [];
31780
- return /* @__PURE__ */ jsxs228(
31830
+ return /* @__PURE__ */ jsxs229(
31781
31831
  "div",
31782
31832
  {
31783
31833
  className: cn(
@@ -31786,15 +31836,15 @@ var AIEnrichSection = ({
31786
31836
  className
31787
31837
  ),
31788
31838
  children: [
31789
- /* @__PURE__ */ jsxs228("div", { className: "flex items-center gap-3", children: [
31839
+ /* @__PURE__ */ jsxs229("div", { className: "flex items-center gap-3", children: [
31790
31840
  icon || /* @__PURE__ */ jsx279(SparklesIcon, { size: 20, className: "text-ods-text-secondary" }),
31791
- /* @__PURE__ */ jsxs228("div", { className: "flex-1", children: [
31841
+ /* @__PURE__ */ jsxs229("div", { className: "flex-1", children: [
31792
31842
  /* @__PURE__ */ jsx279("h3", { className: "text-h5 text-ods-text-primary", children: title }),
31793
31843
  description && /* @__PURE__ */ jsx279("p", { className: "text-ods-text-secondary text-sm font-['DM_Sans'] mt-1", children: description })
31794
31844
  ] })
31795
31845
  ] }),
31796
- showCustomInstructions && /* @__PURE__ */ jsxs228("div", { className: "space-y-1.5", children: [
31797
- /* @__PURE__ */ jsxs228("div", { className: "flex items-center justify-between", children: [
31846
+ showCustomInstructions && /* @__PURE__ */ jsxs229("div", { className: "space-y-1.5", children: [
31847
+ /* @__PURE__ */ jsxs229("div", { className: "flex items-center justify-between", children: [
31798
31848
  /* @__PURE__ */ jsx279(
31799
31849
  "label",
31800
31850
  {
@@ -31803,7 +31853,7 @@ var AIEnrichSection = ({
31803
31853
  children: customInstructionsLabel
31804
31854
  }
31805
31855
  ),
31806
- customInstructionsMaxLength !== void 0 && /* @__PURE__ */ jsxs228("span", { className: "text-xs text-ods-text-secondary font-['DM_Sans']", children: [
31856
+ customInstructionsMaxLength !== void 0 && /* @__PURE__ */ jsxs229("span", { className: "text-xs text-ods-text-secondary font-['DM_Sans']", children: [
31807
31857
  (customInstructions ?? "").length,
31808
31858
  "/",
31809
31859
  customInstructionsMaxLength
@@ -31824,7 +31874,7 @@ var AIEnrichSection = ({
31824
31874
  ),
31825
31875
  customInstructionsHelperText && /* @__PURE__ */ jsx279("p", { className: "text-xs text-ods-text-secondary font-['DM_Sans']", children: customInstructionsHelperText })
31826
31876
  ] }),
31827
- /* @__PURE__ */ jsxs228("div", { className: "flex flex-col gap-3", children: [
31877
+ /* @__PURE__ */ jsxs229("div", { className: "flex flex-col gap-3", children: [
31828
31878
  /* @__PURE__ */ jsx279(
31829
31879
  AIEnrichButton,
31830
31880
  {
@@ -31857,9 +31907,9 @@ var AIEnrichSection = ({
31857
31907
  }
31858
31908
  )
31859
31909
  ] }),
31860
- shouldDisable && !loading && /* @__PURE__ */ jsxs228("div", { className: "space-y-2", children: [
31910
+ shouldDisable && !loading && /* @__PURE__ */ jsxs229("div", { className: "space-y-2", children: [
31861
31911
  /* @__PURE__ */ jsx279("p", { className: "text-ods-text-secondary text-sm font-['DM_Sans']", children: disabledMessage }),
31862
- unfilledFields.length > 0 && /* @__PURE__ */ jsx279("div", { className: "flex flex-wrap gap-2", children: unfilledFields.map((field) => /* @__PURE__ */ jsxs228(
31912
+ unfilledFields.length > 0 && /* @__PURE__ */ jsx279("div", { className: "flex flex-wrap gap-2", children: unfilledFields.map((field) => /* @__PURE__ */ jsxs229(
31863
31913
  "span",
31864
31914
  {
31865
31915
  className: "inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[--ods-flamingo-cyan-base]/10 text-[--ods-flamingo-cyan-base]/70 font-['DM_Sans']",
@@ -31871,12 +31921,12 @@ var AIEnrichSection = ({
31871
31921
  field.key
31872
31922
  )) })
31873
31923
  ] }),
31874
- loading && statusMessage && /* @__PURE__ */ jsxs228("div", { className: "flex items-center gap-3 p-3 rounded-lg bg-ods-card-secondary", children: [
31924
+ loading && statusMessage && /* @__PURE__ */ jsxs229("div", { className: "flex items-center gap-3 p-3 rounded-lg bg-ods-card-secondary", children: [
31875
31925
  /* @__PURE__ */ jsx279(Loader211, { className: "h-5 w-5 text-ods-accent animate-spin" }),
31876
31926
  /* @__PURE__ */ jsx279("span", { className: "text-sm text-ods-text-primary font-['DM_Sans']", children: statusMessage })
31877
31927
  ] }),
31878
- hasResults && /* @__PURE__ */ jsxs228("div", { className: "space-y-4", children: [
31879
- /* @__PURE__ */ jsxs228("div", { className: cn(
31928
+ hasResults && /* @__PURE__ */ jsxs229("div", { className: "space-y-4", children: [
31929
+ /* @__PURE__ */ jsxs229("div", { className: cn(
31880
31930
  "flex items-center gap-3 p-3 rounded-lg",
31881
31931
  status === "success" ? "bg-[--ods-attention-green-success]/10" : "bg-[--ods-attention-red-error]/10"
31882
31932
  ), children: [
@@ -31885,7 +31935,7 @@ var AIEnrichSection = ({
31885
31935
  "text-sm font-medium",
31886
31936
  status === "success" ? "text-[--ods-attention-green-success]" : "text-[--ods-attention-red-error]"
31887
31937
  ), children: statusMessage || (status === "success" ? "Enrichment complete" : "Enrichment failed") }),
31888
- overallConfidence !== void 0 && status === "success" && /* @__PURE__ */ jsxs228(Badge, { variant: "success", className: "ml-auto", children: [
31938
+ overallConfidence !== void 0 && status === "success" && /* @__PURE__ */ jsxs229(Badge, { variant: "success", className: "ml-auto", children: [
31889
31939
  overallConfidence,
31890
31940
  "% confidence"
31891
31941
  ] })
@@ -31908,7 +31958,7 @@ var AIEnrichSection = ({
31908
31958
  };
31909
31959
 
31910
31960
  // src/components/features/highlight-video-section.tsx
31911
- import { jsx as jsx280, jsxs as jsxs229 } from "react/jsx-runtime";
31961
+ import { jsx as jsx280, jsxs as jsxs230 } from "react/jsx-runtime";
31912
31962
  function HighlightVideoSection({
31913
31963
  highlightVideoUrl,
31914
31964
  highlightVideoThumbnail,
@@ -31959,11 +32009,11 @@ function HighlightVideoSection({
31959
32009
  const seconds = Math.floor(ms % 6e4 / 1e3);
31960
32010
  return `${minutes}:${String(seconds).padStart(2, "0")}`;
31961
32011
  };
31962
- return /* @__PURE__ */ jsxs229("div", { className: `space-y-4 ${className}`, children: [
31963
- /* @__PURE__ */ jsx280("div", { className: "space-y-3 p-4 bg-ods-background-secondary rounded-lg border border-ods-border", children: /* @__PURE__ */ jsxs229("div", { className: "flex items-center gap-4", children: [
31964
- /* @__PURE__ */ jsxs229("div", { className: "flex-1", children: [
32012
+ return /* @__PURE__ */ jsxs230("div", { className: `space-y-4 ${className}`, children: [
32013
+ /* @__PURE__ */ jsx280("div", { className: "space-y-3 p-4 bg-ods-background-secondary rounded-lg border border-ods-border", children: /* @__PURE__ */ jsxs230("div", { className: "flex items-center gap-4", children: [
32014
+ /* @__PURE__ */ jsxs230("div", { className: "flex-1", children: [
31965
32015
  /* @__PURE__ */ jsx280(Label, { className: "text-sm", children: "Target Duration" }),
31966
- /* @__PURE__ */ jsxs229(
32016
+ /* @__PURE__ */ jsxs230(
31967
32017
  Select,
31968
32018
  {
31969
32019
  value: targetDurationSeconds.toString(),
@@ -31971,7 +32021,7 @@ function HighlightVideoSection({
31971
32021
  disabled,
31972
32022
  children: [
31973
32023
  /* @__PURE__ */ jsx280(SelectTrigger, { className: "bg-ods-background-tertiary mt-1", children: /* @__PURE__ */ jsx280(SelectValue, {}) }),
31974
- /* @__PURE__ */ jsxs229(SelectContent, { className: "bg-ods-card", children: [
32024
+ /* @__PURE__ */ jsxs230(SelectContent, { className: "bg-ods-card", children: [
31975
32025
  /* @__PURE__ */ jsx280(SelectItem, { value: "60", children: "1 minute" }),
31976
32026
  /* @__PURE__ */ jsx280(SelectItem, { value: "120", children: "2 minutes" }),
31977
32027
  /* @__PURE__ */ jsx280(SelectItem, { value: "180", children: "3 minutes (Recommended)" }),
@@ -31982,7 +32032,7 @@ function HighlightVideoSection({
31982
32032
  }
31983
32033
  )
31984
32034
  ] }),
31985
- /* @__PURE__ */ jsxs229("div", { className: "flex items-center gap-2 pt-5", children: [
32035
+ /* @__PURE__ */ jsxs230("div", { className: "flex items-center gap-2 pt-5", children: [
31986
32036
  /* @__PURE__ */ jsx280(
31987
32037
  "input",
31988
32038
  {
@@ -32017,11 +32067,11 @@ function HighlightVideoSection({
32017
32067
  isCancelling
32018
32068
  }
32019
32069
  ),
32020
- /* @__PURE__ */ jsxs229("div", { className: "space-y-2", children: [
32021
- /* @__PURE__ */ jsxs229("div", { className: "flex items-center justify-between mb-2", children: [
32022
- /* @__PURE__ */ jsxs229("div", { className: "flex items-center gap-2", children: [
32070
+ /* @__PURE__ */ jsxs230("div", { className: "space-y-2", children: [
32071
+ /* @__PURE__ */ jsxs230("div", { className: "flex items-center justify-between mb-2", children: [
32072
+ /* @__PURE__ */ jsxs230("div", { className: "flex items-center gap-2", children: [
32023
32073
  /* @__PURE__ */ jsx280(Label, { children: "Highlight Video" }),
32024
- highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs229(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32074
+ highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs230(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32025
32075
  /* @__PURE__ */ jsx280(Sparkles7, { className: "h-3 w-3" }),
32026
32076
  "AI Generated"
32027
32077
  ] }),
@@ -32050,7 +32100,7 @@ function HighlightVideoSection({
32050
32100
  }
32051
32101
  ) : (
32052
32102
  // Default simple preview
32053
- /* @__PURE__ */ jsxs229("div", { className: "relative rounded-lg border border-ods-border overflow-hidden bg-black", children: [
32103
+ /* @__PURE__ */ jsxs230("div", { className: "relative rounded-lg border border-ods-border overflow-hidden bg-black", children: [
32054
32104
  /* @__PURE__ */ jsx280(
32055
32105
  "video",
32056
32106
  {
@@ -32060,7 +32110,7 @@ function HighlightVideoSection({
32060
32110
  controls: true
32061
32111
  }
32062
32112
  ),
32063
- onDeleteHighlight && /* @__PURE__ */ jsxs229(
32113
+ onDeleteHighlight && /* @__PURE__ */ jsxs230(
32064
32114
  "button",
32065
32115
  {
32066
32116
  type: "button",
@@ -32079,7 +32129,7 @@ function HighlightVideoSection({
32079
32129
  }
32080
32130
 
32081
32131
  // src/components/features/highlight-config-section.tsx
32082
- import { jsx as jsx281, jsxs as jsxs230 } from "react/jsx-runtime";
32132
+ import { jsx as jsx281, jsxs as jsxs231 } from "react/jsx-runtime";
32083
32133
  function HighlightConfigSection({
32084
32134
  targetDurationSeconds,
32085
32135
  onTargetDurationChange,
@@ -32088,10 +32138,10 @@ function HighlightConfigSection({
32088
32138
  disabled = false,
32089
32139
  className = ""
32090
32140
  }) {
32091
- return /* @__PURE__ */ jsx281("div", { className: `space-y-3 p-4 bg-[#1a1a1a] rounded-lg border border-ods-border ${className}`, children: /* @__PURE__ */ jsxs230("div", { className: "flex items-center gap-4", children: [
32092
- /* @__PURE__ */ jsxs230("div", { className: "flex-1", children: [
32141
+ return /* @__PURE__ */ jsx281("div", { className: `space-y-3 p-4 bg-[#1a1a1a] rounded-lg border border-ods-border ${className}`, children: /* @__PURE__ */ jsxs231("div", { className: "flex items-center gap-4", children: [
32142
+ /* @__PURE__ */ jsxs231("div", { className: "flex-1", children: [
32093
32143
  /* @__PURE__ */ jsx281(Label, { className: "text-sm", children: "Target Duration" }),
32094
- /* @__PURE__ */ jsxs230(
32144
+ /* @__PURE__ */ jsxs231(
32095
32145
  Select,
32096
32146
  {
32097
32147
  value: targetDurationSeconds.toString(),
@@ -32099,7 +32149,7 @@ function HighlightConfigSection({
32099
32149
  disabled,
32100
32150
  children: [
32101
32151
  /* @__PURE__ */ jsx281(SelectTrigger, { className: "bg-[#161616] mt-1", children: /* @__PURE__ */ jsx281(SelectValue, {}) }),
32102
- /* @__PURE__ */ jsxs230(SelectContent, { className: "bg-ods-card", children: [
32152
+ /* @__PURE__ */ jsxs231(SelectContent, { className: "bg-ods-card", children: [
32103
32153
  /* @__PURE__ */ jsx281(SelectItem, { value: "60", children: "1 minute" }),
32104
32154
  /* @__PURE__ */ jsx281(SelectItem, { value: "120", children: "2 minutes" }),
32105
32155
  /* @__PURE__ */ jsx281(SelectItem, { value: "180", children: "3 minutes (Recommended)" }),
@@ -32110,7 +32160,7 @@ function HighlightConfigSection({
32110
32160
  }
32111
32161
  )
32112
32162
  ] }),
32113
- /* @__PURE__ */ jsxs230("div", { className: "flex items-center gap-2 pt-5", children: [
32163
+ /* @__PURE__ */ jsxs231("div", { className: "flex items-center gap-2 pt-5", children: [
32114
32164
  /* @__PURE__ */ jsx281(
32115
32165
  "input",
32116
32166
  {
@@ -32129,7 +32179,7 @@ function HighlightConfigSection({
32129
32179
 
32130
32180
  // src/components/features/entity-summary-editor.tsx
32131
32181
  import { Sparkles as Sparkles8 } from "lucide-react";
32132
- import { jsx as jsx282, jsxs as jsxs231 } from "react/jsx-runtime";
32182
+ import { jsx as jsx282, jsxs as jsxs232 } from "react/jsx-runtime";
32133
32183
  function EntitySummaryEditor({
32134
32184
  summary = "",
32135
32185
  onSummaryChange,
@@ -32142,11 +32192,11 @@ function EntitySummaryEditor({
32142
32192
  disabled = false,
32143
32193
  className = ""
32144
32194
  }) {
32145
- return /* @__PURE__ */ jsxs231("div", { className, children: [
32146
- /* @__PURE__ */ jsxs231("div", { className: "mb-2", children: [
32147
- /* @__PURE__ */ jsxs231("div", { className: "flex items-center gap-2", children: [
32195
+ return /* @__PURE__ */ jsxs232("div", { className, children: [
32196
+ /* @__PURE__ */ jsxs232("div", { className: "mb-2", children: [
32197
+ /* @__PURE__ */ jsxs232("div", { className: "flex items-center gap-2", children: [
32148
32198
  /* @__PURE__ */ jsx282(Label, { htmlFor: "entity-summary", children: label }),
32149
- isAIGenerated && /* @__PURE__ */ jsxs231(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32199
+ isAIGenerated && /* @__PURE__ */ jsxs232(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32150
32200
  /* @__PURE__ */ jsx282(Sparkles8, { className: "h-3 w-3" }),
32151
32201
  "AI Generated"
32152
32202
  ] }),
@@ -32189,7 +32239,7 @@ import { Sparkles as Sparkles9 } from "lucide-react";
32189
32239
 
32190
32240
  // src/components/features/ai-enrich/AIStatusIndicator.tsx
32191
32241
  init_cn();
32192
- import { jsx as jsx283, jsxs as jsxs232 } from "react/jsx-runtime";
32242
+ import { jsx as jsx283, jsxs as jsxs233 } from "react/jsx-runtime";
32193
32243
  var statusConfig = {
32194
32244
  idle: {
32195
32245
  color: "text-ods-text-secondary",
@@ -32222,7 +32272,7 @@ var AIStatusIndicator = ({
32222
32272
  const config = statusConfig[status];
32223
32273
  const displayText = message || config.label;
32224
32274
  const confidenceLabel = showConfidence && confidence !== void 0 ? `${getConfidenceLabel(confidence)} (${confidence}%)` : null;
32225
- return /* @__PURE__ */ jsxs232(
32275
+ return /* @__PURE__ */ jsxs233(
32226
32276
  "div",
32227
32277
  {
32228
32278
  className: cn(
@@ -32269,12 +32319,12 @@ var AIStatusIndicator = ({
32269
32319
 
32270
32320
  // src/components/features/ai-enrich/AIRequiredBadge.tsx
32271
32321
  init_cn();
32272
- import { jsx as jsx284, jsxs as jsxs233 } from "react/jsx-runtime";
32322
+ import { jsx as jsx284, jsxs as jsxs234 } from "react/jsx-runtime";
32273
32323
  var AIRequiredBadge = ({
32274
32324
  className,
32275
32325
  size = "sm"
32276
32326
  }) => {
32277
- return /* @__PURE__ */ jsxs233(
32327
+ return /* @__PURE__ */ jsxs234(
32278
32328
  "span",
32279
32329
  {
32280
32330
  className: cn(
@@ -32425,7 +32475,7 @@ function HighlightGenerationSection({
32425
32475
  // src/components/features/highlight-video-preview.tsx
32426
32476
  import { Upload as Upload8, Sparkles as Sparkles12 } from "lucide-react";
32427
32477
  init_button2();
32428
- import { jsx as jsx288, jsxs as jsxs234 } from "react/jsx-runtime";
32478
+ import { jsx as jsx288, jsxs as jsxs235 } from "react/jsx-runtime";
32429
32479
  function HighlightVideoPreview({
32430
32480
  highlightVideoUrl,
32431
32481
  highlightVideoThumbnail,
@@ -32456,11 +32506,11 @@ function HighlightVideoPreview({
32456
32506
  const seconds = Math.floor(ms % 6e4 / 1e3);
32457
32507
  return `${minutes}:${String(seconds).padStart(2, "0")}`;
32458
32508
  };
32459
- return /* @__PURE__ */ jsxs234("div", { className: "space-y-2", children: [
32460
- /* @__PURE__ */ jsxs234("div", { className: "flex items-center justify-between mb-2", children: [
32461
- /* @__PURE__ */ jsxs234("div", { className: "flex items-center gap-2", children: [
32509
+ return /* @__PURE__ */ jsxs235("div", { className: "space-y-2", children: [
32510
+ /* @__PURE__ */ jsxs235("div", { className: "flex items-center justify-between mb-2", children: [
32511
+ /* @__PURE__ */ jsxs235("div", { className: "flex items-center gap-2", children: [
32462
32512
  /* @__PURE__ */ jsx288(Label, { children: label }),
32463
- highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs234(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32513
+ highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs235(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32464
32514
  /* @__PURE__ */ jsx288(Sparkles12, { className: "h-3 w-3" }),
32465
32515
  "AI Generated"
32466
32516
  ] }),
@@ -32491,7 +32541,7 @@ function HighlightVideoPreview({
32491
32541
 
32492
32542
  // src/components/features/transcribe-and-summarize-combined-section.tsx
32493
32543
  import { Sparkles as Sparkles13 } from "lucide-react";
32494
- import { jsx as jsx289, jsxs as jsxs235 } from "react/jsx-runtime";
32544
+ import { jsx as jsx289, jsxs as jsxs236 } from "react/jsx-runtime";
32495
32545
  function TranscribeAndSummarizeCombinedSection({
32496
32546
  // AIEnrichSection props
32497
32547
  onTranscribe,
@@ -32531,7 +32581,7 @@ function TranscribeAndSummarizeCombinedSection({
32531
32581
  hasSubtitles = false
32532
32582
  }) {
32533
32583
  const defaultButtonLabel = hasResult ? "Regenerate" : "Generate";
32534
- return /* @__PURE__ */ jsxs235("div", { className: `space-y-4 ${className}`, children: [
32584
+ return /* @__PURE__ */ jsxs236("div", { className: `space-y-4 ${className}`, children: [
32535
32585
  /* @__PURE__ */ jsx289(
32536
32586
  AIEnrichSection,
32537
32587
  {
@@ -32580,7 +32630,7 @@ function TranscribeAndSummarizeCombinedSection({
32580
32630
  // src/components/features/highlight-video-combined-section.tsx
32581
32631
  import { Sparkles as Sparkles14, Upload as Upload9 } from "lucide-react";
32582
32632
  init_button2();
32583
- import { jsx as jsx290, jsxs as jsxs236 } from "react/jsx-runtime";
32633
+ import { jsx as jsx290, jsxs as jsxs237 } from "react/jsx-runtime";
32584
32634
  function HighlightVideoCombinedSection({
32585
32635
  // Config props
32586
32636
  targetDurationSeconds,
@@ -32638,7 +32688,7 @@ function HighlightVideoCombinedSection({
32638
32688
  };
32639
32689
  input.click();
32640
32690
  };
32641
- return /* @__PURE__ */ jsxs236("div", { className: `space-y-4 ${className}`, children: [
32691
+ return /* @__PURE__ */ jsxs237("div", { className: `space-y-4 ${className}`, children: [
32642
32692
  /* @__PURE__ */ jsx290(
32643
32693
  HighlightConfigSection,
32644
32694
  {
@@ -32669,11 +32719,11 @@ function HighlightVideoCombinedSection({
32669
32719
  isCancelling
32670
32720
  }
32671
32721
  ),
32672
- /* @__PURE__ */ jsxs236("div", { className: "space-y-2", children: [
32673
- /* @__PURE__ */ jsxs236("div", { className: "flex items-center justify-between mb-2", children: [
32674
- /* @__PURE__ */ jsxs236("div", { className: "flex items-center gap-2", children: [
32722
+ /* @__PURE__ */ jsxs237("div", { className: "space-y-2", children: [
32723
+ /* @__PURE__ */ jsxs237("div", { className: "flex items-center justify-between mb-2", children: [
32724
+ /* @__PURE__ */ jsxs237("div", { className: "flex items-center gap-2", children: [
32675
32725
  /* @__PURE__ */ jsx290(Label, { children: previewLabel }),
32676
- highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs236(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32726
+ highlightVideoSource === "ai_generated" && /* @__PURE__ */ jsxs237(Badge, { variant: "secondary", className: "flex items-center gap-1", children: [
32677
32727
  /* @__PURE__ */ jsx290(Sparkles14, { className: "h-3 w-3" }),
32678
32728
  "AI Generated"
32679
32729
  ] }),
@@ -32705,7 +32755,7 @@ function HighlightVideoCombinedSection({
32705
32755
 
32706
32756
  // src/components/features/view-toggle.tsx
32707
32757
  init_cn();
32708
- import { jsx as jsx291, jsxs as jsxs237 } from "react/jsx-runtime";
32758
+ import { jsx as jsx291, jsxs as jsxs238 } from "react/jsx-runtime";
32709
32759
  function ViewToggle({
32710
32760
  value,
32711
32761
  onValueChange,
@@ -32714,7 +32764,7 @@ function ViewToggle({
32714
32764
  size = "default",
32715
32765
  "aria-label": ariaLabel = "Switch between grid and table view"
32716
32766
  }) {
32717
- return /* @__PURE__ */ jsxs237(
32767
+ return /* @__PURE__ */ jsxs238(
32718
32768
  ToggleGroup,
32719
32769
  {
32720
32770
  type: "single",
@@ -32789,10 +32839,10 @@ init_cn();
32789
32839
  import * as React98 from "react";
32790
32840
  import * as DropdownMenuPrimitive2 from "@radix-ui/react-dropdown-menu";
32791
32841
  import { Check as Check5, ChevronRight as ChevronRight11, Circle as Circle2 } from "lucide-react";
32792
- import { jsx as jsx292, jsxs as jsxs238 } from "react/jsx-runtime";
32842
+ import { jsx as jsx292, jsxs as jsxs239 } from "react/jsx-runtime";
32793
32843
  var DropdownMenu2 = DropdownMenuPrimitive2.Root;
32794
32844
  var DropdownMenuTrigger2 = DropdownMenuPrimitive2.Trigger;
32795
- var DropdownMenuSubTrigger = React98.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs238(
32845
+ var DropdownMenuSubTrigger = React98.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs239(
32796
32846
  DropdownMenuPrimitive2.SubTrigger,
32797
32847
  {
32798
32848
  ref,
@@ -32847,7 +32897,7 @@ var DropdownMenuItem2 = React98.forwardRef(({ className, inset, ...props }, ref)
32847
32897
  }
32848
32898
  ));
32849
32899
  DropdownMenuItem2.displayName = DropdownMenuPrimitive2.Item.displayName;
32850
- var DropdownMenuCheckboxItem = React98.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs238(
32900
+ var DropdownMenuCheckboxItem = React98.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs239(
32851
32901
  DropdownMenuPrimitive2.CheckboxItem,
32852
32902
  {
32853
32903
  ref,
@@ -32864,7 +32914,7 @@ var DropdownMenuCheckboxItem = React98.forwardRef(({ className, children, checke
32864
32914
  }
32865
32915
  ));
32866
32916
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive2.CheckboxItem.displayName;
32867
- var DropdownMenuRadioItem = React98.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs238(
32917
+ var DropdownMenuRadioItem = React98.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs239(
32868
32918
  DropdownMenuPrimitive2.RadioItem,
32869
32919
  {
32870
32920
  ref,
@@ -32917,7 +32967,7 @@ var DropdownMenuShortcut = ({
32917
32967
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
32918
32968
 
32919
32969
  // src/components/features/policy-configuration-panel.tsx
32920
- import { Fragment as Fragment43, jsx as jsx293, jsxs as jsxs239 } from "react/jsx-runtime";
32970
+ import { Fragment as Fragment43, jsx as jsx293, jsxs as jsxs240 } from "react/jsx-runtime";
32921
32971
  var approvalLevelOptions = [
32922
32972
  { value: "ALLOW", label: "Allow" },
32923
32973
  { value: "ASK_USER", label: "Ask User" },
@@ -32932,13 +32982,13 @@ var getApprovalLevelLabel = (level, editMode = false) => {
32932
32982
  return option?.label || level;
32933
32983
  };
32934
32984
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
32935
- return /* @__PURE__ */ jsxs239("div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
32985
+ return /* @__PURE__ */ jsxs240("div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
32936
32986
  /* @__PURE__ */ jsx293("div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ jsx293(ToolIcon, { toolType: policy.toolName, size: 16 }) }),
32937
- /* @__PURE__ */ jsxs239("div", { className: "flex-1 flex flex-col min-w-0", children: [
32987
+ /* @__PURE__ */ jsxs240("div", { className: "flex-1 flex flex-col min-w-0", children: [
32938
32988
  /* @__PURE__ */ jsx293("p", { className: "text-[16px] font-medium text-ods-text-primary truncate", children: policy.name }),
32939
32989
  /* @__PURE__ */ jsx293("p", { className: "text-[12px] text-ods-text-secondary break-all font-mono", children: policy.commandPattern })
32940
32990
  ] }),
32941
- editMode ? /* @__PURE__ */ jsxs239(DropdownMenu2, { children: [
32991
+ editMode ? /* @__PURE__ */ jsxs240(DropdownMenu2, { children: [
32942
32992
  /* @__PURE__ */ jsx293(DropdownMenuTrigger2, { asChild: true, children: /* @__PURE__ */ jsx293(
32943
32993
  Button,
32944
32994
  {
@@ -32979,22 +33029,22 @@ var CategorySection = ({
32979
33029
  onPolicyPermissionChange
32980
33030
  }) => {
32981
33031
  const { contentRef, height } = useAnimatedHeight(category.isExpanded);
32982
- return /* @__PURE__ */ jsxs239(Fragment43, { children: [
32983
- /* @__PURE__ */ jsxs239(
33032
+ return /* @__PURE__ */ jsxs240(Fragment43, { children: [
33033
+ /* @__PURE__ */ jsxs240(
32984
33034
  "div",
32985
33035
  {
32986
33036
  className: "bg-ods-card border-t border-ods-border flex gap-4 items-center pl-4 pr-2 py-3 cursor-pointer hover:bg-ods-bg-hover transition-colors",
32987
33037
  onClick: () => onCategoryToggle(category.id),
32988
33038
  children: [
32989
33039
  /* @__PURE__ */ jsx293("div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ jsx293("div", { className: "text-ods-text-secondary", children: category.icon }) }),
32990
- /* @__PURE__ */ jsxs239("div", { className: "flex-1 flex flex-col", children: [
33040
+ /* @__PURE__ */ jsxs240("div", { className: "flex-1 flex flex-col", children: [
32991
33041
  /* @__PURE__ */ jsx293("p", { className: "md:!text-sm font-medium text-ods-text-primary", children: category.name }),
32992
- /* @__PURE__ */ jsxs239("p", { className: "text-[14px] text-ods-text-secondary", children: [
33042
+ /* @__PURE__ */ jsxs240("p", { className: "text-[14px] text-ods-text-secondary", children: [
32993
33043
  category.configurationsCount,
32994
33044
  " Configurations"
32995
33045
  ] })
32996
33046
  ] }),
32997
- editMode ? /* @__PURE__ */ jsx293("div", { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxs239(DropdownMenu2, { children: [
33047
+ editMode ? /* @__PURE__ */ jsx293("div", { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxs240(DropdownMenu2, { children: [
32998
33048
  /* @__PURE__ */ jsx293(DropdownMenuTrigger2, { asChild: true, children: /* @__PURE__ */ jsx293(
32999
33049
  Button,
33000
33050
  {
@@ -33007,7 +33057,7 @@ var CategorySection = ({
33007
33057
  ), children: getApprovalLevelLabel(category.globalPermission, editMode) })
33008
33058
  }
33009
33059
  ) }),
33010
- /* @__PURE__ */ jsxs239(DropdownMenuContent2, { align: "end", className: "w-[256px]", children: [
33060
+ /* @__PURE__ */ jsxs240(DropdownMenuContent2, { align: "end", className: "w-[256px]", children: [
33011
33061
  /* @__PURE__ */ jsx293(
33012
33062
  DropdownMenuItem2,
33013
33063
  {
@@ -33120,7 +33170,7 @@ init_button2();
33120
33170
  init_cn();
33121
33171
  import { getCountries as getCountries2 } from "libphonenumber-js";
33122
33172
  import { useEffect as useEffect50, useState as useState71 } from "react";
33123
- import { Fragment as Fragment44, jsx as jsx294, jsxs as jsxs240 } from "react/jsx-runtime";
33173
+ import { Fragment as Fragment44, jsx as jsx294, jsxs as jsxs241 } from "react/jsx-runtime";
33124
33174
  function WaitlistForm({
33125
33175
  id = "waitlist-form",
33126
33176
  className,
@@ -33185,16 +33235,16 @@ function WaitlistForm({
33185
33235
  }
33186
33236
  };
33187
33237
  if (!isClient) {
33188
- return /* @__PURE__ */ jsxs240("div", { className: cn(
33238
+ return /* @__PURE__ */ jsxs241("div", { className: cn(
33189
33239
  "flex flex-col gap-[var(--spacing-system-l)] rounded-[6px] border border-ods-border bg-ods-bg p-[var(--spacing-system-m)]",
33190
33240
  className
33191
33241
  ), children: [
33192
33242
  /* @__PURE__ */ jsx294("div", { className: "w-full h-12 bg-ods-card border border-ods-border rounded-[6px] animate-pulse" }),
33193
- /* @__PURE__ */ jsxs240("div", { className: "flex gap-[var(--spacing-system-xs)] w-full", children: [
33243
+ /* @__PURE__ */ jsxs241("div", { className: "flex gap-[var(--spacing-system-xs)] w-full", children: [
33194
33244
  /* @__PURE__ */ jsx294("div", { className: "w-[130px] h-12 bg-ods-card border border-ods-border rounded-[6px] animate-pulse shrink-0" }),
33195
33245
  /* @__PURE__ */ jsx294("div", { className: "flex-1 h-12 bg-ods-card border border-ods-border rounded-[6px] animate-pulse" })
33196
33246
  ] }),
33197
- /* @__PURE__ */ jsxs240("div", { className: "flex flex-col gap-[var(--spacing-system-m)] items-end w-full", children: [
33247
+ /* @__PURE__ */ jsxs241("div", { className: "flex flex-col gap-[var(--spacing-system-m)] items-end w-full", children: [
33198
33248
  /* @__PURE__ */ jsx294("div", { className: "w-full rounded-[6px] border border-ods-border bg-ods-bg animate-pulse py-6 px-4" }),
33199
33249
  /* @__PURE__ */ jsx294("div", { className: "h-12 w-[200px] bg-ods-card border border-ods-border rounded-[6px] animate-pulse" })
33200
33250
  ] })
@@ -33208,7 +33258,7 @@ function WaitlistForm({
33208
33258
  handleSubmit();
33209
33259
  }
33210
33260
  };
33211
- return /* @__PURE__ */ jsxs240(
33261
+ return /* @__PURE__ */ jsxs241(
33212
33262
  "div",
33213
33263
  {
33214
33264
  id,
@@ -33231,7 +33281,7 @@ function WaitlistForm({
33231
33281
  errorVariant: "warning"
33232
33282
  }
33233
33283
  ),
33234
- /* @__PURE__ */ jsxs240("div", { className: "relative w-full", children: [
33284
+ /* @__PURE__ */ jsxs241("div", { className: "relative w-full", children: [
33235
33285
  /* @__PURE__ */ jsx294(
33236
33286
  PhoneInput,
33237
33287
  {
@@ -33250,7 +33300,7 @@ function WaitlistForm({
33250
33300
  ),
33251
33301
  showPhoneWarning && /* @__PURE__ */ jsx294("p", { className: "text-h6 absolute bottom-0 left-0 translate-y-full text-[var(--ods-attention-yellow-warning)] truncate", children: invalidPhoneHint })
33252
33302
  ] }),
33253
- /* @__PURE__ */ jsxs240("div", { className: "flex flex-col gap-[var(--spacing-system-l)] items-end w-full", children: [
33303
+ /* @__PURE__ */ jsxs241("div", { className: "flex flex-col gap-[var(--spacing-system-l)] items-end w-full", children: [
33254
33304
  /* @__PURE__ */ jsx294(
33255
33305
  CheckboxBlock,
33256
33306
  {
@@ -33262,7 +33312,7 @@ function WaitlistForm({
33262
33312
  error: showConsentError ? "Please agree to SMS notifications to continue." : void 0,
33263
33313
  disabled: isSubmitting,
33264
33314
  label: smsCheckboxLabel,
33265
- description: /* @__PURE__ */ jsxs240(Fragment44, { children: [
33315
+ description: /* @__PURE__ */ jsxs241(Fragment44, { children: [
33266
33316
  consentText,
33267
33317
  " View our ",
33268
33318
  /* @__PURE__ */ jsx294(
@@ -33334,7 +33384,7 @@ init_cn();
33334
33384
 
33335
33385
  // src/components/features/board/board-column-header.tsx
33336
33386
  init_button();
33337
- import { jsx as jsx295, jsxs as jsxs241 } from "react/jsx-runtime";
33387
+ import { jsx as jsx295, jsxs as jsxs242 } from "react/jsx-runtime";
33338
33388
  function BoardColumnHeader({
33339
33389
  column,
33340
33390
  collapsed = false,
@@ -33344,7 +33394,7 @@ function BoardColumnHeader({
33344
33394
  const count = column.total ?? column.tickets.length;
33345
33395
  const useStatusVariant = !!getTicketStatusConfig(column.id).icon;
33346
33396
  if (collapsed) {
33347
- return /* @__PURE__ */ jsxs241("div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
33397
+ return /* @__PURE__ */ jsxs242("div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
33348
33398
  /* @__PURE__ */ jsx295(
33349
33399
  Button,
33350
33400
  {
@@ -33368,8 +33418,8 @@ function BoardColumnHeader({
33368
33418
  /* @__PURE__ */ jsx295("span", { className: "text-h5", style: { color: column.color }, children: count })
33369
33419
  ] });
33370
33420
  }
33371
- return /* @__PURE__ */ jsxs241("div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
33372
- /* @__PURE__ */ jsxs241("div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
33421
+ return /* @__PURE__ */ jsxs242("div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
33422
+ /* @__PURE__ */ jsxs242("div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
33373
33423
  /* @__PURE__ */ jsx295(
33374
33424
  TicketStatusTag,
33375
33425
  {
@@ -33387,7 +33437,7 @@ function BoardColumnHeader({
33387
33437
  }
33388
33438
  )
33389
33439
  ] }),
33390
- /* @__PURE__ */ jsxs241("div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
33440
+ /* @__PURE__ */ jsxs242("div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
33391
33441
  /* @__PURE__ */ jsx295(
33392
33442
  Button,
33393
33443
  {
@@ -33431,7 +33481,7 @@ import { CSS } from "@dnd-kit/utilities";
33431
33481
  import Link11 from "next/link";
33432
33482
  import * as React99 from "react";
33433
33483
  init_cn();
33434
- import { Fragment as Fragment45, jsx as jsx296, jsxs as jsxs242 } from "react/jsx-runtime";
33484
+ import { Fragment as Fragment45, jsx as jsx296, jsxs as jsxs243 } from "react/jsx-runtime";
33435
33485
  var PRIORITY_COLOR_CLASS = {
33436
33486
  low: "text-ods-text-secondary",
33437
33487
  medium: "text-ods-info",
@@ -33470,7 +33520,7 @@ function TicketCard({
33470
33520
  if (sortable.isDragging) e.preventDefault();
33471
33521
  };
33472
33522
  const hasRightSection = !!(ticket.priority || ticket.assignees?.length || renderAssignSlot);
33473
- const rightSection = hasRightSection ? /* @__PURE__ */ jsxs242("div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
33523
+ const rightSection = hasRightSection ? /* @__PURE__ */ jsxs243("div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
33474
33524
  ticket.priority && /* @__PURE__ */ jsx296(
33475
33525
  Flag02Icon,
33476
33526
  {
@@ -33478,7 +33528,7 @@ function TicketCard({
33478
33528
  "aria-label": `Priority: ${ticket.priority}`
33479
33529
  }
33480
33530
  ),
33481
- renderAssignSlot ? renderAssignSlot(ticket) : ticket.assignees?.length ? /* @__PURE__ */ jsxs242("div", { className: "flex -space-x-2", children: [
33531
+ renderAssignSlot ? renderAssignSlot(ticket) : ticket.assignees?.length ? /* @__PURE__ */ jsxs243("div", { className: "flex -space-x-2", children: [
33482
33532
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ jsx296(
33483
33533
  SquareAvatar,
33484
33534
  {
@@ -33490,17 +33540,17 @@ function TicketCard({
33490
33540
  },
33491
33541
  a.id
33492
33542
  )),
33493
- ticket.assignees.length > MAX_VISIBLE_ASSIGNEES && /* @__PURE__ */ jsxs242("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-bg text-xs font-medium text-ods-text-secondary", children: [
33543
+ ticket.assignees.length > MAX_VISIBLE_ASSIGNEES && /* @__PURE__ */ jsxs243("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-ods-border bg-ods-bg text-xs font-medium text-ods-text-secondary", children: [
33494
33544
  "+",
33495
33545
  ticket.assignees.length - MAX_VISIBLE_ASSIGNEES
33496
33546
  ] })
33497
33547
  ] }) : null
33498
33548
  ] }) : null;
33499
- const body = /* @__PURE__ */ jsxs242(Fragment45, { children: [
33500
- /* @__PURE__ */ jsxs242("div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
33501
- /* @__PURE__ */ jsxs242("div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", children: [
33549
+ const body = /* @__PURE__ */ jsxs243(Fragment45, { children: [
33550
+ /* @__PURE__ */ jsxs243("div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
33551
+ /* @__PURE__ */ jsxs243("div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", children: [
33502
33552
  /* @__PURE__ */ jsx296("p", { className: "text-h3 truncate text-ods-text-primary", children: ticket.title }),
33503
- showDeviceRow && /* @__PURE__ */ jsxs242("div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)] text-h6 text-ods-text-secondary", children: [
33553
+ showDeviceRow && /* @__PURE__ */ jsxs243("div", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)] text-h6 text-ods-text-secondary", children: [
33504
33554
  /* @__PURE__ */ jsx296(LaptopIcon, { className: "size-4 shrink-0" }),
33505
33555
  /* @__PURE__ */ jsx296("span", { className: "truncate", children: deviceText })
33506
33556
  ] })
@@ -33527,7 +33577,7 @@ function TicketCard({
33527
33577
  return /* @__PURE__ */ jsx296("div", { ...outerProps, children: /* @__PURE__ */ jsx296("div", { className: innerWrapperClass, children: body }) });
33528
33578
  }
33529
33579
  if (href) {
33530
- return /* @__PURE__ */ jsxs242("div", { ...outerProps, children: [
33580
+ return /* @__PURE__ */ jsxs243("div", { ...outerProps, children: [
33531
33581
  /* @__PURE__ */ jsx296(
33532
33582
  Link11,
33533
33583
  {
@@ -33542,7 +33592,7 @@ function TicketCard({
33542
33592
  /* @__PURE__ */ jsx296("div", { className: cn("pointer-events-none", innerWrapperClass), children: body })
33543
33593
  ] });
33544
33594
  }
33545
- return /* @__PURE__ */ jsxs242("div", { ...outerProps, children: [
33595
+ return /* @__PURE__ */ jsxs243("div", { ...outerProps, children: [
33546
33596
  /* @__PURE__ */ jsx296(
33547
33597
  "button",
33548
33598
  {
@@ -33558,7 +33608,7 @@ function TicketCard({
33558
33608
  function TicketTagRow({ tags }) {
33559
33609
  const visible = tags.slice(0, MAX_VISIBLE_TAGS);
33560
33610
  const hidden = tags.length - visible.length;
33561
- return /* @__PURE__ */ jsxs242("div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
33611
+ return /* @__PURE__ */ jsxs243("div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
33562
33612
  visible.map((tag) => /* @__PURE__ */ jsx296(Tag, { variant: "outline", label: tag }, tag)),
33563
33613
  hidden > 0 && /* @__PURE__ */ jsx296(Tag, { variant: "outline", label: `+${hidden}` })
33564
33614
  ] });
@@ -33567,9 +33617,9 @@ function TicketTagRow({ tags }) {
33567
33617
  // src/components/features/board/ticket-card-skeleton.tsx
33568
33618
  import * as React100 from "react";
33569
33619
  init_cn();
33570
- import { jsx as jsx297, jsxs as jsxs243 } from "react/jsx-runtime";
33620
+ import { jsx as jsx297, jsxs as jsxs244 } from "react/jsx-runtime";
33571
33621
  var TicketCardSkeleton = React100.forwardRef(
33572
- ({ className, ...props }, ref) => /* @__PURE__ */ jsxs243(
33622
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxs244(
33573
33623
  "div",
33574
33624
  {
33575
33625
  ref,
@@ -33579,20 +33629,20 @@ var TicketCardSkeleton = React100.forwardRef(
33579
33629
  ),
33580
33630
  ...props,
33581
33631
  children: [
33582
- /* @__PURE__ */ jsxs243("div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
33583
- /* @__PURE__ */ jsxs243("div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]", children: [
33632
+ /* @__PURE__ */ jsxs244("div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
33633
+ /* @__PURE__ */ jsxs244("div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]", children: [
33584
33634
  /* @__PURE__ */ jsx297("div", { className: "text-h3 flex items-center", children: /* @__PURE__ */ jsx297(Skeleton, { className: "h-4 w-3/4" }) }),
33585
- /* @__PURE__ */ jsxs243("div", { className: "text-h6 flex items-center gap-[var(--spacing-system-xxs)]", children: [
33635
+ /* @__PURE__ */ jsxs244("div", { className: "text-h6 flex items-center gap-[var(--spacing-system-xxs)]", children: [
33586
33636
  /* @__PURE__ */ jsx297(Skeleton, { className: "size-4 shrink-0 rounded-sm" }),
33587
33637
  /* @__PURE__ */ jsx297(Skeleton, { className: "h-3 w-1/2" })
33588
33638
  ] })
33589
33639
  ] }),
33590
- /* @__PURE__ */ jsxs243("div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
33640
+ /* @__PURE__ */ jsxs244("div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
33591
33641
  /* @__PURE__ */ jsx297(Skeleton, { className: "size-4 rounded-sm" }),
33592
33642
  /* @__PURE__ */ jsx297(Skeleton, { className: "size-8 rounded-full" })
33593
33643
  ] })
33594
33644
  ] }),
33595
- /* @__PURE__ */ jsxs243("div", { className: "flex h-8 items-center gap-[var(--spacing-system-xxs)]", children: [
33645
+ /* @__PURE__ */ jsxs244("div", { className: "flex h-8 items-center gap-[var(--spacing-system-xxs)]", children: [
33596
33646
  /* @__PURE__ */ jsx297(Skeleton, { className: "h-8 w-16 rounded-md" }),
33597
33647
  /* @__PURE__ */ jsx297(Skeleton, { className: "h-8 w-12 rounded-md" })
33598
33648
  ] })
@@ -33603,7 +33653,7 @@ var TicketCardSkeleton = React100.forwardRef(
33603
33653
  TicketCardSkeleton.displayName = "TicketCardSkeleton";
33604
33654
 
33605
33655
  // src/components/features/board/board-column.tsx
33606
- import { Fragment as Fragment46, jsx as jsx298, jsxs as jsxs244 } from "react/jsx-runtime";
33656
+ import { Fragment as Fragment46, jsx as jsx298, jsxs as jsxs245 } from "react/jsx-runtime";
33607
33657
  function BoardColumn({
33608
33658
  column,
33609
33659
  collapsed = false,
@@ -33616,7 +33666,7 @@ function BoardColumn({
33616
33666
  joinLeft = false,
33617
33667
  joinRight = false
33618
33668
  }) {
33619
- return /* @__PURE__ */ jsxs244(
33669
+ return /* @__PURE__ */ jsxs245(
33620
33670
  "div",
33621
33671
  {
33622
33672
  className: cn(
@@ -33638,7 +33688,7 @@ function BoardColumn({
33638
33688
  onAddTicket: !collapsed && onAddTicket ? () => onAddTicket(column.id) : void 0
33639
33689
  }
33640
33690
  ),
33641
- !collapsed && /* @__PURE__ */ jsxs244(Fragment46, { children: [
33691
+ !collapsed && /* @__PURE__ */ jsxs245(Fragment46, { children: [
33642
33692
  /* @__PURE__ */ jsx298("div", { "aria-hidden": true, className: "-mx-[var(--spacing-system-sf)] h-px shrink-0 bg-ods-border" }),
33643
33693
  /* @__PURE__ */ jsx298(
33644
33694
  ColumnBody,
@@ -33695,7 +33745,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
33695
33745
  },
33696
33746
  [setDroppableRef]
33697
33747
  );
33698
- return /* @__PURE__ */ jsxs244(
33748
+ return /* @__PURE__ */ jsxs245(
33699
33749
  "div",
33700
33750
  {
33701
33751
  ref: setBodyRef,
@@ -33729,9 +33779,9 @@ function SkeletonStack({ count = 4 }) {
33729
33779
  return /* @__PURE__ */ jsx298(Fragment46, { children: keys.map((k) => /* @__PURE__ */ jsx298(TicketCardSkeleton, {}, k)) });
33730
33780
  }
33731
33781
  function EmptyState3() {
33732
- return /* @__PURE__ */ jsxs244("div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-lf)] p-[var(--spacing-system-lf)] text-center text-ods-text-secondary", children: [
33782
+ return /* @__PURE__ */ jsxs245("div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-lf)] p-[var(--spacing-system-lf)] text-center text-ods-text-secondary", children: [
33733
33783
  /* @__PURE__ */ jsx298(TagIcon, { className: "h-6 w-6 shrink-0" }),
33734
- /* @__PURE__ */ jsxs244("div", { className: "flex w-full flex-col", children: [
33784
+ /* @__PURE__ */ jsxs245("div", { className: "flex w-full flex-col", children: [
33735
33785
  /* @__PURE__ */ jsx298("p", { className: "text-h4", children: "No tickets here" }),
33736
33786
  /* @__PURE__ */ jsx298("p", { className: "text-h6", children: "Drag a ticket here or change its status to move it to this column" })
33737
33787
  ] })
@@ -33764,7 +33814,7 @@ function useBoardCollapse(storageKey) {
33764
33814
  }
33765
33815
 
33766
33816
  // src/components/features/board/board.tsx
33767
- import { jsx as jsx299, jsxs as jsxs245 } from "react/jsx-runtime";
33817
+ import { jsx as jsx299, jsxs as jsxs246 } from "react/jsx-runtime";
33768
33818
  function Board({
33769
33819
  columns,
33770
33820
  onChange,
@@ -33931,7 +33981,7 @@ function Board({
33931
33981
  isDraggingRef.current = false;
33932
33982
  setItems(columns);
33933
33983
  };
33934
- return /* @__PURE__ */ jsxs245(
33984
+ return /* @__PURE__ */ jsxs246(
33935
33985
  DndContext,
33936
33986
  {
33937
33987
  sensors,
@@ -33941,7 +33991,7 @@ function Board({
33941
33991
  onDragEnd: handleDragEnd,
33942
33992
  onDragCancel: handleDragCancel,
33943
33993
  children: [
33944
- /* @__PURE__ */ jsxs245("div", { className: cn("flex flex-col h-full", className), children: [
33994
+ /* @__PURE__ */ jsxs246("div", { className: cn("flex flex-col h-full", className), children: [
33945
33995
  /* @__PURE__ */ jsx299(
33946
33996
  "div",
33947
33997
  {
@@ -33954,7 +34004,7 @@ function Board({
33954
34004
  const joinLeft = !!(column.system && prev?.system);
33955
34005
  const joinRight = !!(column.system && next?.system);
33956
34006
  const showGap = i > 0 && !joinLeft;
33957
- return /* @__PURE__ */ jsxs245(React102.Fragment, { children: [
34007
+ return /* @__PURE__ */ jsxs246(React102.Fragment, { children: [
33958
34008
  showGap && /* @__PURE__ */ jsx299("div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
33959
34009
  /* @__PURE__ */ jsx299(
33960
34010
  BoardColumn,
@@ -34251,6 +34301,7 @@ export {
34251
34301
  useLoading,
34252
34302
  MediaGalleryManager,
34253
34303
  MoreAboutButton,
34304
+ OrganizationIcon,
34254
34305
  OSTypeBadge,
34255
34306
  OSTypeIcon,
34256
34307
  OSTypeLabel,
@@ -34566,7 +34617,6 @@ export {
34566
34617
  TagKeyValueFilter,
34567
34618
  FilterModal,
34568
34619
  ListPageLayout,
34569
- EntityImage,
34570
34620
  TitleBlock,
34571
34621
  PageLayout,
34572
34622
  toggleVariants,
@@ -34677,4 +34727,4 @@ export {
34677
34727
  TMCG_SOCIAL_PLATFORMS,
34678
34728
  assets
34679
34729
  };
34680
- //# sourceMappingURL=chunk-CSW5GYBU.js.map
34730
+ //# sourceMappingURL=chunk-ZOM75JOY.js.map