@flamingo-stack/openframe-frontend-core 0.0.478 → 0.0.479-snapshot.20260724200209

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 (106) hide show
  1. package/dist/{chunk-U6V2QF7M.cjs → chunk-2KQSGCXE.cjs} +9 -9
  2. package/dist/{chunk-U6V2QF7M.cjs.map → chunk-2KQSGCXE.cjs.map} +1 -1
  3. package/dist/{chunk-OKM7RLSC.js → chunk-3KUF3WZA.js} +2 -2
  4. package/dist/{chunk-5KKOLZYY.js → chunk-3RNTIJHB.js} +2 -2
  5. package/dist/{chunk-AEN4VLVL.cjs → chunk-3U63ZV3X.cjs} +812 -800
  6. package/dist/chunk-3U63ZV3X.cjs.map +1 -0
  7. package/dist/{chunk-HSG7UX5A.js → chunk-DERJNBZP.js} +2 -2
  8. package/dist/{chunk-3F34WHMC.js → chunk-DHKIQLI2.js} +2 -2
  9. package/dist/{chunk-JLQJEP7G.cjs → chunk-E7VFCW5W.cjs} +11 -11
  10. package/dist/{chunk-JLQJEP7G.cjs.map → chunk-E7VFCW5W.cjs.map} +1 -1
  11. package/dist/{chunk-EAX7P7U4.cjs → chunk-JF24RU23.cjs} +7 -7
  12. package/dist/{chunk-EAX7P7U4.cjs.map → chunk-JF24RU23.cjs.map} +1 -1
  13. package/dist/{chunk-4G7PVIYP.js → chunk-JFDSGGAK.js} +231 -219
  14. package/dist/chunk-JFDSGGAK.js.map +1 -0
  15. package/dist/{chunk-LULDTIT4.cjs → chunk-LLFHPCSN.cjs} +31 -31
  16. package/dist/{chunk-LULDTIT4.cjs.map → chunk-LLFHPCSN.cjs.map} +1 -1
  17. package/dist/{chunk-ZOY7DX3V.cjs → chunk-MHRVEZCV.cjs} +59 -59
  18. package/dist/{chunk-ZOY7DX3V.cjs.map → chunk-MHRVEZCV.cjs.map} +1 -1
  19. package/dist/{chunk-EDYTAHLO.js → chunk-OW55OP63.js} +4 -4
  20. package/dist/{chunk-ZNW6T7WT.cjs → chunk-P4TRELZZ.cjs} +26 -26
  21. package/dist/{chunk-ZNW6T7WT.cjs.map → chunk-P4TRELZZ.cjs.map} +1 -1
  22. package/dist/{chunk-UH5THVF6.cjs → chunk-Q2M7H2EB.cjs} +62 -62
  23. package/dist/{chunk-UH5THVF6.cjs.map → chunk-Q2M7H2EB.cjs.map} +1 -1
  24. package/dist/{chunk-I5U2ES7I.js → chunk-QPLNXVEQ.js} +4 -4
  25. package/dist/{chunk-6U7ADGNA.js → chunk-R7UD3W7H.js} +2 -2
  26. package/dist/{chunk-AAMKWW6V.cjs → chunk-S2ESE7RO.cjs} +15 -15
  27. package/dist/{chunk-AAMKWW6V.cjs.map → chunk-S2ESE7RO.cjs.map} +1 -1
  28. package/dist/{chunk-2VDF7MHY.js → chunk-U77JKQT4.js} +2 -2
  29. package/dist/{chunk-AH7BJXKI.cjs → chunk-VYPTIGJO.cjs} +37 -37
  30. package/dist/{chunk-AH7BJXKI.cjs.map → chunk-VYPTIGJO.cjs.map} +1 -1
  31. package/dist/{chunk-BJIC5UIR.cjs → chunk-VYX4RQMO.cjs} +26 -26
  32. package/dist/{chunk-BJIC5UIR.cjs.map → chunk-VYX4RQMO.cjs.map} +1 -1
  33. package/dist/{chunk-HT5CKZR2.js → chunk-WFRG5KRR.js} +4 -4
  34. package/dist/{chunk-KTJFEEOH.cjs → chunk-XMP7D4NB.cjs} +5 -5
  35. package/dist/{chunk-KTJFEEOH.cjs.map → chunk-XMP7D4NB.cjs.map} +1 -1
  36. package/dist/{chunk-NDLYYEF6.js → chunk-YHUZ4WSI.js} +4 -4
  37. package/dist/{chunk-XTIANI5N.js → chunk-Z7IFLZ4V.js} +2 -2
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  41. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  42. package/dist/components/chat/index.cjs +2 -2
  43. package/dist/components/chat/index.js +1 -1
  44. package/dist/components/chat/tool-execution-display.d.ts.map +1 -1
  45. package/dist/components/chat/types/component.types.d.ts +6 -0
  46. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  47. package/dist/components/chat/types/message.types.d.ts +10 -0
  48. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  49. package/dist/components/chat/types/network.types.d.ts +2 -0
  50. package/dist/components/chat/types/network.types.d.ts.map +1 -1
  51. package/dist/components/chat/utils/chunk-parser.d.ts.map +1 -1
  52. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
  53. package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
  54. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  55. package/dist/components/contact/index.cjs +3 -3
  56. package/dist/components/contact/index.js +2 -2
  57. package/dist/components/docs/index.cjs +5 -5
  58. package/dist/components/docs/index.js +4 -4
  59. package/dist/components/embeds/index.cjs +3 -3
  60. package/dist/components/embeds/index.js +2 -2
  61. package/dist/components/faq/index.cjs +3 -3
  62. package/dist/components/faq/index.js +2 -2
  63. package/dist/components/features/index.cjs +2 -2
  64. package/dist/components/features/index.js +1 -1
  65. package/dist/components/help-center-pages/index.cjs +20 -20
  66. package/dist/components/help-center-pages/index.js +11 -11
  67. package/dist/components/index.cjs +130 -130
  68. package/dist/components/index.js +9 -9
  69. package/dist/components/navigation/index.cjs +2 -2
  70. package/dist/components/navigation/index.js +1 -1
  71. package/dist/components/onboarding-guides/index.cjs +5 -5
  72. package/dist/components/onboarding-guides/index.js +4 -4
  73. package/dist/components/related-content/index.cjs +3 -3
  74. package/dist/components/related-content/index.js +2 -2
  75. package/dist/components/tickets/index.cjs +5 -5
  76. package/dist/components/tickets/index.js +4 -4
  77. package/dist/components/ui/index.cjs +2 -2
  78. package/dist/components/ui/index.js +1 -1
  79. package/dist/index.cjs +2 -2
  80. package/dist/index.js +1 -1
  81. package/dist/utils/index.cjs.map +1 -1
  82. package/dist/utils/index.js.map +1 -1
  83. package/package.json +1 -1
  84. package/src/components/chat/chat-message-enhanced.tsx +1 -0
  85. package/src/components/chat/hooks/use-nats-chat-adapter.ts +1 -0
  86. package/src/components/chat/tool-execution-display.tsx +98 -62
  87. package/src/components/chat/types/component.types.ts +6 -0
  88. package/src/components/chat/types/message.types.ts +10 -0
  89. package/src/components/chat/types/network.types.ts +2 -0
  90. package/src/components/chat/utils/chunk-parser.ts +1 -0
  91. package/src/components/chat/utils/extract-incomplete-message-state.ts +1 -0
  92. package/src/components/chat/utils/message-segment-accumulator.ts +3 -0
  93. package/src/components/chat/utils/process-historical-messages.ts +1 -0
  94. package/dist/chunk-4G7PVIYP.js.map +0 -1
  95. package/dist/chunk-AEN4VLVL.cjs.map +0 -1
  96. /package/dist/{chunk-OKM7RLSC.js.map → chunk-3KUF3WZA.js.map} +0 -0
  97. /package/dist/{chunk-5KKOLZYY.js.map → chunk-3RNTIJHB.js.map} +0 -0
  98. /package/dist/{chunk-HSG7UX5A.js.map → chunk-DERJNBZP.js.map} +0 -0
  99. /package/dist/{chunk-3F34WHMC.js.map → chunk-DHKIQLI2.js.map} +0 -0
  100. /package/dist/{chunk-EDYTAHLO.js.map → chunk-OW55OP63.js.map} +0 -0
  101. /package/dist/{chunk-I5U2ES7I.js.map → chunk-QPLNXVEQ.js.map} +0 -0
  102. /package/dist/{chunk-6U7ADGNA.js.map → chunk-R7UD3W7H.js.map} +0 -0
  103. /package/dist/{chunk-2VDF7MHY.js.map → chunk-U77JKQT4.js.map} +0 -0
  104. /package/dist/{chunk-HT5CKZR2.js.map → chunk-WFRG5KRR.js.map} +0 -0
  105. /package/dist/{chunk-NDLYYEF6.js.map → chunk-YHUZ4WSI.js.map} +0 -0
  106. /package/dist/{chunk-XTIANI5N.js.map → chunk-Z7IFLZ4V.js.map} +0 -0
@@ -4899,30 +4899,30 @@ var formatTime = (input) => format(input, timeFmt);
4899
4899
  // src/components/chat/tool-execution-display.tsx
4900
4900
  init_cn();
4901
4901
  import { forwardRef as forwardRef10, useMemo as useMemo5, useState as useState9 } from "react";
4902
- import { jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
4902
+ import { Fragment as Fragment4, jsx as jsx23, jsxs as jsxs19 } from "react/jsx-runtime";
4903
4903
  var COMMAND_BODY_KEYS2 = new Set(COMMAND_BODY_ARG_KEYS);
4904
4904
  var ToolExecutionDisplay = forwardRef10(
4905
- ({ className, message: message2, assistantType, ...props }, ref) => {
4905
+ ({ className, message: message2, assistantType, variant = "admin", ...props }, ref) => {
4906
4906
  const [expanded, setExpanded] = useState9(false);
4907
4907
  const { innerRef, containerStyle } = useCollapsible({ expanded });
4908
4908
  const isClient = assistantType === "fae";
4909
+ const isClientView = variant === "client";
4909
4910
  const isExecuting = message2.type === "EXECUTING_TOOL";
4910
4911
  const isExecuted = message2.type === "EXECUTED_TOOL";
4911
4912
  const integratedToolType = message2.integratedToolType || "OPENFRAME";
4912
- const previewText = useMemo5(
4913
- () => getToolCallTitle({
4914
- args: message2.parameters,
4915
- title: message2.toolTitle,
4916
- name: message2.toolFunction
4917
- }),
4918
- [message2.parameters, message2.toolTitle, message2.toolFunction]
4919
- );
4913
+ const previewText = variant === "client" ? message2.toolExplanation?.trim() : message2.toolTitle?.trim();
4920
4914
  const argEntries = useMemo5(() => {
4921
4915
  if (!message2.parameters || typeof message2.parameters !== "object") return [];
4922
- return Object.entries(message2.parameters).filter(
4923
- ([k, v]) => !COMMAND_BODY_KEYS2.has(k) && v !== null && v !== void 0 && v !== ""
4916
+ const entries = Object.entries(message2.parameters).filter(
4917
+ ([, v]) => v !== null && v !== void 0 && v !== ""
4924
4918
  );
4925
- }, [message2.parameters]);
4919
+ if (variant === "client") {
4920
+ return entries.filter(([k]) => !COMMAND_BODY_KEYS2.has(k));
4921
+ }
4922
+ const commandEntries = entries.filter(([k]) => COMMAND_BODY_KEYS2.has(k));
4923
+ const otherEntries = entries.filter(([k]) => !COMMAND_BODY_KEYS2.has(k));
4924
+ return [...commandEntries, ...otherEntries];
4925
+ }, [message2.parameters, variant]);
4926
4926
  const hasResult = isExecuted && typeof message2.result === "string" && message2.result.length > 0;
4927
4927
  const hasBody = argEntries.length > 0 || hasResult || isExecuting;
4928
4928
  const renderStatusIcon = () => {
@@ -4931,7 +4931,22 @@ var ToolExecutionDisplay = forwardRef10(
4931
4931
  if (isExecuted && message2.success === false) return /* @__PURE__ */ jsx23(XmarkCircleIcon, { className: "w-4 h-4 text-ods-error" });
4932
4932
  return null;
4933
4933
  };
4934
- return /* @__PURE__ */ jsxs19(
4934
+ const headerContent = /* @__PURE__ */ jsxs19(Fragment4, { children: [
4935
+ !isClient && /* @__PURE__ */ jsx23("div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ jsx23(ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4936
+ /* @__PURE__ */ jsx23(
4937
+ "div",
4938
+ {
4939
+ className: cn(
4940
+ "flex-1 min-w-0 text-h6",
4941
+ isClientView ? "text-ods-text-primary whitespace-pre-wrap break-words" : expanded ? "text-ods-text-primary whitespace-pre-wrap break-all" : "text-ods-text-secondary line-clamp-2 max-h-10 break-all"
4942
+ ),
4943
+ children: previewText
4944
+ }
4945
+ ),
4946
+ /* @__PURE__ */ jsx23("div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: renderStatusIcon() }),
4947
+ !isClientView && /* @__PURE__ */ jsx23("div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ jsx23(ExpandChevron, { expanded }) })
4948
+ ] });
4949
+ return /* @__PURE__ */ jsx23(
4935
4950
  "div",
4936
4951
  {
4937
4952
  ref,
@@ -4942,28 +4957,18 @@ var ToolExecutionDisplay = forwardRef10(
4942
4957
  className
4943
4958
  ),
4944
4959
  ...props,
4945
- children: [
4946
- /* @__PURE__ */ jsxs19(
4960
+ children: isClientView ? (
4961
+ // Client (Fae end-user): static, non-expandable row — no chevron, no
4962
+ // body. Just the explanation + status; command/args/result are hidden.
4963
+ /* @__PURE__ */ jsx23("div", { className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] w-full text-left", children: headerContent })
4964
+ ) : /* @__PURE__ */ jsxs19(Fragment4, { children: [
4965
+ /* @__PURE__ */ jsx23(
4947
4966
  "button",
4948
4967
  {
4949
4968
  type: "button",
4950
4969
  className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
4951
4970
  onClick: () => setExpanded((prev) => !prev),
4952
- children: [
4953
- !isClient && /* @__PURE__ */ jsx23("div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ jsx23(ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4954
- /* @__PURE__ */ jsx23(
4955
- "div",
4956
- {
4957
- className: cn(
4958
- "flex-1 min-w-0 text-h6",
4959
- expanded ? "text-ods-text-primary whitespace-pre-wrap break-all" : "text-ods-text-secondary line-clamp-2 max-h-10 break-all"
4960
- ),
4961
- children: previewText
4962
- }
4963
- ),
4964
- /* @__PURE__ */ jsx23("div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: renderStatusIcon() }),
4965
- /* @__PURE__ */ jsx23("div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ jsx23(ExpandChevron, { expanded }) })
4966
- ]
4971
+ children: headerContent
4967
4972
  }
4968
4973
  ),
4969
4974
  /* @__PURE__ */ jsx23("div", { className: "w-full", style: containerStyle, children: /* @__PURE__ */ jsx23("div", { ref: innerRef, children: hasBody && /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-0 items-start w-full text-h6 p-[var(--spacing-system-sf)] bg-ods-card", children: [
@@ -4989,7 +4994,7 @@ var ToolExecutionDisplay = forwardRef10(
4989
4994
  }
4990
4995
  )
4991
4996
  ] }) }) })
4992
- ]
4997
+ ] })
4993
4998
  }
4994
4999
  );
4995
5000
  }
@@ -5083,13 +5088,13 @@ function BlockCard(_props) {
5083
5088
 
5084
5089
  // src/components/chat/chat-context-picker.tsx
5085
5090
  import { QueryErrorResetBoundary } from "@tanstack/react-query";
5086
- import { Fragment as Fragment5, Suspense, useCallback as useCallback6, useEffect as useEffect5, useLayoutEffect as useLayoutEffect3, useMemo as useMemo6, useRef as useRef6, useState as useState10 } from "react";
5091
+ import { Fragment as Fragment6, Suspense, useCallback as useCallback6, useEffect as useEffect5, useLayoutEffect as useLayoutEffect3, useMemo as useMemo6, useRef as useRef6, useState as useState10 } from "react";
5087
5092
  init_cn();
5088
5093
 
5089
5094
  // src/components/chat/context-items-list.tsx
5090
5095
  import * as React9 from "react";
5091
5096
  init_cn();
5092
- import { Fragment as Fragment4, jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
5097
+ import { Fragment as Fragment5, jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
5093
5098
  var itemKey = (i) => `${i.type}:${i.id}`;
5094
5099
  var CONTEXT_ROW_CLASS = "flex w-full items-center gap-2 border-b border-ods-border bg-ods-bg py-3 pl-4 pr-2 text-left outline-none transition-colors last:border-b-0 hover:bg-ods-bg-hover focus-visible:bg-ods-bg-hover [&_svg]:size-4 md:[&_svg]:size-6";
5095
5100
  var CONTEXT_ICON_CLASS = "flex size-4 shrink-0 items-center justify-center text-ods-text-secondary md:size-6";
@@ -5125,7 +5130,7 @@ function ContextMenuRow({
5125
5130
  );
5126
5131
  }
5127
5132
  function ContextItemsSkeleton({ count }) {
5128
- return /* @__PURE__ */ jsx24(Fragment4, { children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ jsx24(
5133
+ return /* @__PURE__ */ jsx24(Fragment5, { children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ jsx24(
5129
5134
  "div",
5130
5135
  {
5131
5136
  className: "flex items-center border-b border-ods-border bg-ods-bg py-3 pl-4 pr-2 last:border-b-0",
@@ -5208,7 +5213,7 @@ var ContextErrorBoundary = class extends React9.Component {
5208
5213
  };
5209
5214
 
5210
5215
  // src/components/chat/chat-context-picker.tsx
5211
- import { Fragment as Fragment6, jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
5216
+ import { Fragment as Fragment7, jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
5212
5217
  var CHAT_CONTEXT_ITEMS_DEFAULT_MAX = 10;
5213
5218
  var ITEMS_SKELETON_ROWS = 10;
5214
5219
  var SEARCH_DEBOUNCE_MS = 300;
@@ -5394,7 +5399,7 @@ function ChatContextPicker({
5394
5399
  ] })
5395
5400
  ) : activeType ? (
5396
5401
  /* Level 2 — Back + search + HOST-rendered items (Figma 31:29102). */
5397
- /* @__PURE__ */ jsxs21(Fragment6, { children: [
5402
+ /* @__PURE__ */ jsxs21(Fragment7, { children: [
5398
5403
  /* @__PURE__ */ jsxs21("button", { type: "button", onClick: backToTypes, className: cn(CONTEXT_BACK_CLASS, "sticky top-0 z-10"), children: [
5399
5404
  /* @__PURE__ */ jsx25(Chevron02LeftIcon, { size: 24, className: "shrink-0" }),
5400
5405
  /* @__PURE__ */ jsx25("span", { className: "truncate", children: "Back" })
@@ -5465,7 +5470,7 @@ function ChatContextChipStrip({
5465
5470
  // uppercase label, 16px lead icon + xmark-circle remove. Wraps to new rows.
5466
5471
  /* @__PURE__ */ jsx25("div", { className: cn("flex flex-wrap content-center items-center gap-2", className), children: items.map((item) => {
5467
5472
  const hostNode = renderItem?.(item);
5468
- if (hostNode != null) return /* @__PURE__ */ jsx25(Fragment5, { children: hostNode }, itemKey2(item));
5473
+ if (hostNode != null) return /* @__PURE__ */ jsx25(Fragment6, { children: hostNode }, itemKey2(item));
5469
5474
  return /* @__PURE__ */ jsxs21(
5470
5475
  "div",
5471
5476
  {
@@ -5502,7 +5507,7 @@ function ChatContextChipStrip({
5502
5507
  }
5503
5508
 
5504
5509
  // src/components/chat/chat-message-enhanced.tsx
5505
- import { Fragment as Fragment7, jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
5510
+ import { Fragment as Fragment8, jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
5506
5511
  var MENTION_MARKER_REGEX = /(^|[^\w@])@[a-z]+:([A-Za-z0-9_.+/=-]*[A-Za-z0-9_+/=])/g;
5507
5512
  var CARD_MARKER_REGEX = /\[card:\/\/([a-zA-Z0-9_-]+):([a-zA-Z0-9_-]+)[\])]/g;
5508
5513
  function formatMessageTimestamp(timestamp) {
@@ -5634,7 +5639,7 @@ var ChatMessageEnhanced = forwardRef11(
5634
5639
  const marker = sepIdx === -1 ? stripped : stripped.slice(0, sepIdx);
5635
5640
  const id = sepIdx === -1 ? "" : stripped.slice(sepIdx + 1);
5636
5641
  const node = renderMention?.({ marker, id });
5637
- if (node != null) return /* @__PURE__ */ jsx26(Fragment7, { children: node });
5642
+ if (node != null) return /* @__PURE__ */ jsx26(Fragment8, { children: node });
5638
5643
  return /* @__PURE__ */ jsx26("span", { className: "text-ods-text-secondary opacity-60", children });
5639
5644
  }
5640
5645
  if (typeof href === "string" && href.startsWith("card://")) {
@@ -5748,7 +5753,8 @@ var ChatMessageEnhanced = forwardRef11(
5748
5753
  ToolExecutionDisplay,
5749
5754
  {
5750
5755
  message: segment.data,
5751
- assistantType
5756
+ assistantType,
5757
+ variant: approvalVariant
5752
5758
  },
5753
5759
  index
5754
5760
  );
@@ -6524,7 +6530,7 @@ function EntityIcon({
6524
6530
  }
6525
6531
 
6526
6532
  // src/components/chat/quick-action-chip.tsx
6527
- import { Fragment as Fragment8, jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
6533
+ import { Fragment as Fragment9, jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
6528
6534
  var AGENT_ACCENTS = { fae: "pink", mingo: "cyan" };
6529
6535
  function getAgentAccent(slug) {
6530
6536
  return slug === "fae" || slug === "mingo" ? AGENT_ACCENTS[slug] : void 0;
@@ -6559,7 +6565,7 @@ function renderQuickActionIcon(icon) {
6559
6565
  }
6560
6566
  function composeChipLabel(label, lozenge) {
6561
6567
  if (!lozenge) return label;
6562
- return /* @__PURE__ */ jsxs27(Fragment8, { children: [
6568
+ return /* @__PURE__ */ jsxs27(Fragment9, { children: [
6563
6569
  /* @__PURE__ */ jsx33(
6564
6570
  "span",
6565
6571
  {
@@ -6590,7 +6596,7 @@ function QuickActionChipSkeleton({ labelCh = 16, icon = true, lozenge = false, s
6590
6596
  size: size2,
6591
6597
  className,
6592
6598
  icon: icon ? /* @__PURE__ */ jsx33(ChipSkelBar, { className: size2 === "large" ? "block size-5" : "block size-4" }) : void 0,
6593
- label: /* @__PURE__ */ jsxs27(Fragment8, { children: [
6599
+ label: /* @__PURE__ */ jsxs27(Fragment9, { children: [
6594
6600
  lozenge && /* @__PURE__ */ jsx33(ChipSkelBar, { className: "mr-2 inline-block h-[16px] w-[26px] translate-y-[2px]" }),
6595
6601
  /* @__PURE__ */ jsx33(ChipSkelBar, { className: "inline-block h-[0.9em] translate-y-[0.08em]", style: { width: `${labelCh}ch` } })
6596
6602
  ] })
@@ -6674,7 +6680,7 @@ import * as React13 from "react";
6674
6680
  // src/components/ui/marquee-wall.tsx
6675
6681
  init_cn();
6676
6682
  import * as React12 from "react";
6677
- import { Fragment as Fragment9, jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime";
6683
+ import { Fragment as Fragment10, jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime";
6678
6684
  function normalizeFades(fade) {
6679
6685
  return fade ? Array.isArray(fade) ? fade : [fade] : [];
6680
6686
  }
@@ -6718,7 +6724,7 @@ function MarqueeWallFades({
6718
6724
  fadeColor = "var(--color-bg)",
6719
6725
  fadeSize
6720
6726
  }) {
6721
- return /* @__PURE__ */ jsx34(Fragment9, { children: normalizeFades(fade).map((edge) => {
6727
+ return /* @__PURE__ */ jsx34(Fragment10, { children: normalizeFades(fade).map((edge) => {
6722
6728
  const size2 = (typeof fadeSize === "object" && fadeSize !== null ? fadeSize[edge] : fadeSize) ?? DEFAULT_FADE_SIZE[edge];
6723
6729
  const px = typeof size2 === "number" ? `${size2}px` : size2;
6724
6730
  const isY = edge === "top" || edge === "bottom";
@@ -7818,7 +7824,7 @@ function MingoChatHistory({
7818
7824
 
7819
7825
  // src/components/chat/mingo-welcome.tsx
7820
7826
  init_button2();
7821
- import { Fragment as Fragment10, jsx as jsx43, jsxs as jsxs35 } from "react/jsx-runtime";
7827
+ import { Fragment as Fragment11, jsx as jsx43, jsxs as jsxs35 } from "react/jsx-runtime";
7822
7828
  var DEFAULT_SUBTITLE = "Ready to help with your technical tasks. What can I do for you?";
7823
7829
  var DEFAULT_PROMO = {
7824
7830
  title: "New to OpenFrame?",
@@ -7891,7 +7897,7 @@ function MingoWelcome({
7891
7897
  children: "Try again"
7892
7898
  }
7893
7899
  )
7894
- ] }) : isLoadingHistory ? /* @__PURE__ */ jsx43(MingoChatHistorySkeleton, {}) : /* @__PURE__ */ jsx43(Fragment10, { children: /* @__PURE__ */ jsxs35("div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
7900
+ ] }) : isLoadingHistory ? /* @__PURE__ */ jsx43(MingoChatHistorySkeleton, {}) : /* @__PURE__ */ jsx43(Fragment11, { children: /* @__PURE__ */ jsxs35("div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
7895
7901
  /* @__PURE__ */ jsx43(
7896
7902
  "div",
7897
7903
  {
@@ -8449,7 +8455,7 @@ var ModalFooter = React23.forwardRef(
8449
8455
  ModalFooter.displayName = "ModalV2Footer";
8450
8456
 
8451
8457
  // src/components/chat/mingo-chat-modals.tsx
8452
- import { Fragment as Fragment11, jsx as jsx50, jsxs as jsxs41 } from "react/jsx-runtime";
8458
+ import { Fragment as Fragment12, jsx as jsx50, jsxs as jsxs41 } from "react/jsx-runtime";
8453
8459
  var footerBtn = "flex-1 min-w-0 rounded-md px-[var(--spacing-system-m)] py-[var(--spacing-system-sf)] text-h3 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent disabled:opacity-50 disabled:cursor-not-allowed";
8454
8460
  var cancelBtn = cn(
8455
8461
  footerBtn,
@@ -8540,7 +8546,7 @@ function ChatDialogModals({
8540
8546
  setRestoreTarget,
8541
8547
  onConfirmRestore
8542
8548
  }) {
8543
- return /* @__PURE__ */ jsxs41(Fragment11, { children: [
8549
+ return /* @__PURE__ */ jsxs41(Fragment12, { children: [
8544
8550
  /* @__PURE__ */ jsx50(
8545
8551
  RenameChatModal,
8546
8552
  {
@@ -8764,7 +8770,7 @@ function ChatPanelHeaderMobile({
8764
8770
  }
8765
8771
 
8766
8772
  // src/components/chat/chat-panel-header.tsx
8767
- import { Fragment as Fragment12, jsx as jsx54, jsxs as jsxs44 } from "react/jsx-runtime";
8773
+ import { Fragment as Fragment13, jsx as jsx54, jsxs as jsxs44 } from "react/jsx-runtime";
8768
8774
  function ChatPanelHeader({
8769
8775
  showBack = false,
8770
8776
  title,
@@ -8789,7 +8795,7 @@ function ChatPanelHeader({
8789
8795
  onRename && { id: "rename", label: "Rename chat", onClick: onRename },
8790
8796
  onArchive && { id: "archive", label: "Archive chat", onClick: onArchive }
8791
8797
  ].filter(Boolean);
8792
- return /* @__PURE__ */ jsxs44(Fragment12, { children: [
8798
+ return /* @__PURE__ */ jsxs44(Fragment13, { children: [
8793
8799
  !compact && /* @__PURE__ */ jsx54(
8794
8800
  ChatPanelHeaderMobile,
8795
8801
  {
@@ -8948,7 +8954,7 @@ function stripChatAttachmentMarkdown(text) {
8948
8954
  }
8949
8955
 
8950
8956
  // src/components/chat/chat-attachment-bar.tsx
8951
- import { Fragment as Fragment13, jsx as jsx55, jsxs as jsxs45 } from "react/jsx-runtime";
8957
+ import { Fragment as Fragment14, jsx as jsx55, jsxs as jsxs45 } from "react/jsx-runtime";
8952
8958
  var CHAT_ATTACHMENT_MIME_TYPES = [
8953
8959
  "image/jpeg",
8954
8960
  "image/png",
@@ -8981,7 +8987,7 @@ function ChatAttachmentAddButton({
8981
8987
  if (!canAddMore) return;
8982
8988
  fileInputRef.current?.click();
8983
8989
  };
8984
- return /* @__PURE__ */ jsxs45(Fragment13, { children: [
8990
+ return /* @__PURE__ */ jsxs45(Fragment14, { children: [
8985
8991
  /* @__PURE__ */ jsx55(
8986
8992
  "input",
8987
8993
  {
@@ -9571,7 +9577,7 @@ function ChatComposer({
9571
9577
  }
9572
9578
 
9573
9579
  // src/components/chat/chat-archive-page.tsx
9574
- import { Fragment as Fragment14, jsx as jsx60, jsxs as jsxs49 } from "react/jsx-runtime";
9580
+ import { Fragment as Fragment15, jsx as jsx60, jsxs as jsxs49 } from "react/jsx-runtime";
9575
9581
  function ChatArchivePage(props) {
9576
9582
  const {
9577
9583
  dialogs,
@@ -9581,7 +9587,7 @@ function ChatArchivePage(props) {
9581
9587
  hasMore = false,
9582
9588
  onLoadMore
9583
9589
  } = props;
9584
- return /* @__PURE__ */ jsxs49(Fragment14, { children: [
9590
+ return /* @__PURE__ */ jsxs49(Fragment15, { children: [
9585
9591
  !props.embedded && /* @__PURE__ */ jsx60(
9586
9592
  ChatPanelHeaderMobile,
9587
9593
  {
@@ -9701,7 +9707,7 @@ var ChatSidebarSkeleton = React30.forwardRef(
9701
9707
  ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
9702
9708
 
9703
9709
  // src/components/chat/chat-sidebar.tsx
9704
- import { Fragment as Fragment15, jsx as jsx62, jsxs as jsxs51 } from "react/jsx-runtime";
9710
+ import { Fragment as Fragment16, jsx as jsx62, jsxs as jsxs51 } from "react/jsx-runtime";
9705
9711
  var DialogListItem = forwardRef20(
9706
9712
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
9707
9713
  const handleClick = (e) => {
@@ -9830,7 +9836,7 @@ var ChatSidebar = forwardRef20(
9830
9836
  },
9831
9837
  dialog.id
9832
9838
  )),
9833
- hasNextPage && /* @__PURE__ */ jsx62("div", { ref: loadMoreRef, children: isFetchingNextPage && /* @__PURE__ */ jsxs51(Fragment15, { children: [
9839
+ hasNextPage && /* @__PURE__ */ jsx62("div", { ref: loadMoreRef, children: isFetchingNextPage && /* @__PURE__ */ jsxs51(Fragment16, { children: [
9834
9840
  /* @__PURE__ */ jsx62(DialogListItemSkeleton, {}),
9835
9841
  /* @__PURE__ */ jsx62(DialogListItemSkeleton, {}),
9836
9842
  /* @__PURE__ */ jsx62(DialogListItemSkeleton, {})
@@ -10711,7 +10717,7 @@ function PlatformBadge({
10711
10717
  }
10712
10718
 
10713
10719
  // src/components/chat/entity-cards/admin-content-card.tsx
10714
- import { Fragment as Fragment16, jsx as jsx73, jsxs as jsxs57 } from "react/jsx-runtime";
10720
+ import { Fragment as Fragment17, jsx as jsx73, jsxs as jsxs57 } from "react/jsx-runtime";
10715
10721
  function AdminContentCard({
10716
10722
  imageUrl,
10717
10723
  placeholderUrl,
@@ -10745,7 +10751,7 @@ function AdminContentCard({
10745
10751
  {
10746
10752
  className: "relative aspect-[3/2] w-full overflow-hidden shrink-0",
10747
10753
  style: { backgroundColor: imageBgColor },
10748
- children: displayUrl ? /* @__PURE__ */ jsxs57(Fragment16, { children: [
10754
+ children: displayUrl ? /* @__PURE__ */ jsxs57(Fragment17, { children: [
10749
10755
  !imageLoaded && /* @__PURE__ */ jsx73("div", { className: "absolute inset-0 animate-pulse bg-ods-border/20" }),
10750
10756
  /* @__PURE__ */ jsx73(
10751
10757
  next_image_default,
@@ -10805,7 +10811,7 @@ function getProxiedImageUrl2(imageUrl) {
10805
10811
  }
10806
10812
 
10807
10813
  // src/components/chat/entity-cards/what-i-shipped-card.tsx
10808
- import { Fragment as Fragment17, jsx as jsx74, jsxs as jsxs58 } from "react/jsx-runtime";
10814
+ import { Fragment as Fragment18, jsx as jsx74, jsxs as jsxs58 } from "react/jsx-runtime";
10809
10815
  var STATUS_BADGE_CLASS = {
10810
10816
  published: "bg-ods-success-secondary text-ods-success",
10811
10817
  draft: "bg-ods-warning-secondary text-ods-warning",
@@ -10827,7 +10833,7 @@ function WhatIShippedCard({ entry, placeholderUrl, actions, anchorProps, classNa
10827
10833
  children: entry.status
10828
10834
  }
10829
10835
  ) : null,
10830
- meta: /* @__PURE__ */ jsxs58(Fragment17, { children: [
10836
+ meta: /* @__PURE__ */ jsxs58(Fragment18, { children: [
10831
10837
  /* @__PURE__ */ jsxs58("span", { className: "flex items-center gap-2 min-w-0", children: [
10832
10838
  entry.author?.avatar_url ? /* @__PURE__ */ jsx74("img", { src: getProxiedImageUrl2(entry.author.avatar_url) ?? entry.author.avatar_url, alt: "", className: "h-5 w-5 rounded-full object-cover shrink-0" }) : null,
10833
10839
  /* @__PURE__ */ jsx74("span", { className: "truncate", children: entry.author?.full_name ?? "" })
@@ -11546,7 +11552,7 @@ init_cn();
11546
11552
  import { useMemo as useMemo17, useRef as useRef19, useState as useState28, useEffect as useEffect23 } from "react";
11547
11553
 
11548
11554
  // src/components/features/video-ratio-tabs.tsx
11549
- import { Fragment as Fragment18, jsx as jsx78, jsxs as jsxs60 } from "react/jsx-runtime";
11555
+ import { Fragment as Fragment19, jsx as jsx78, jsxs as jsxs60 } from "react/jsx-runtime";
11550
11556
  var TAB_TRIGGER_CLASS = "rounded-none border-b-2 border-transparent data-[state=active]:border-ods-accent data-[state=active]:bg-transparent data-[state=active]:shadow-none px-4 py-2 text-h6 text-ods-text-secondary data-[state=active]:text-ods-text-primary";
11551
11557
  var RATIO_GRID_CLASS = {
11552
11558
  portrait: "grid grid-cols-2 md:grid-cols-3 gap-4",
@@ -11571,7 +11577,7 @@ function RatioTabs({
11571
11577
  const activeTabs = RATIO_TAB_CONFIG.filter((t) => groups[t.key].count > 0);
11572
11578
  if (activeTabs.length <= 1) {
11573
11579
  const active = activeTabs[0];
11574
- return active ? /* @__PURE__ */ jsx78(Fragment18, { children: groups[active.key].render() }) : null;
11580
+ return active ? /* @__PURE__ */ jsx78(Fragment19, { children: groups[active.key].render() }) : null;
11575
11581
  }
11576
11582
  const firstTab = defaultTab && groups[defaultTab].count > 0 ? defaultTab : activeTabs[0].key;
11577
11583
  return /* @__PURE__ */ jsxs60(Tabs, { defaultValue: firstTab, className: `w-full ${className}`, children: [
@@ -11645,7 +11651,7 @@ import React37, { useCallback as useCallback14, useEffect as useEffect22, useMem
11645
11651
  init_button2();
11646
11652
 
11647
11653
  // src/components/layout/page-heading.tsx
11648
- import { Fragment as Fragment19, jsx as jsx79, jsxs as jsxs61 } from "react/jsx-runtime";
11654
+ import { Fragment as Fragment20, jsx as jsx79, jsxs as jsxs61 } from "react/jsx-runtime";
11649
11655
  var PAGE_HEADING_CLASS = "text-h1 text-ods-text-primary";
11650
11656
  var SECTION_HEADING_CLASS = "text-h2 text-ods-text-primary";
11651
11657
  var DESCRIPTION_CLASS = "mt-6 max-w-[640px] font-body text-[16px] md:text-[18px] leading-[24px] md:leading-[28px] text-ods-text-secondary";
@@ -11659,14 +11665,14 @@ function PageHeading({
11659
11665
  const headingClass = className ? `${PAGE_HEADING_CLASS} ${className}` : PAGE_HEADING_CLASS;
11660
11666
  const descClass = descriptionClassName ? `${DESCRIPTION_CLASS} ${descriptionClassName}` : DESCRIPTION_CLASS;
11661
11667
  const hasDescription = description != null && description !== "" && typeof description !== "boolean";
11662
- return /* @__PURE__ */ jsxs61(Fragment19, { children: [
11668
+ return /* @__PURE__ */ jsxs61(Fragment20, { children: [
11663
11669
  /* @__PURE__ */ jsx79(Tag2, { className: headingClass, children }),
11664
11670
  hasDescription && /* @__PURE__ */ jsx79("p", { className: descClass, children: description })
11665
11671
  ] });
11666
11672
  }
11667
11673
 
11668
11674
  // src/components/features/cards-strip.tsx
11669
- import { Fragment as Fragment20, jsx as jsx80, jsxs as jsxs62 } from "react/jsx-runtime";
11675
+ import { Fragment as Fragment21, jsx as jsx80, jsxs as jsxs62 } from "react/jsx-runtime";
11670
11676
  var TRACK_GAP_PX = 16;
11671
11677
  var CHEVRON_SUPPRESS_MS = 4e3;
11672
11678
  var USER_SCROLL_SUPPRESS_MS = 3e3;
@@ -12034,7 +12040,7 @@ function CardsStrip(props) {
12034
12040
  ) })
12035
12041
  }
12036
12042
  ),
12037
- showChevrons && overflows && /* @__PURE__ */ jsxs62(Fragment20, { children: [
12043
+ showChevrons && overflows && /* @__PURE__ */ jsxs62(Fragment21, { children: [
12038
12044
  /* @__PURE__ */ jsx80(
12039
12045
  Button,
12040
12046
  {
@@ -12094,7 +12100,7 @@ function UserDisplay({ name, avatarUrl, subtitle, size: size2 = 32, shape = "squ
12094
12100
  }
12095
12101
 
12096
12102
  // src/components/features/video-bites-strip.tsx
12097
- import { Fragment as Fragment21, jsx as jsx82, jsxs as jsxs64 } from "react/jsx-runtime";
12103
+ import { Fragment as Fragment22, jsx as jsx82, jsxs as jsxs64 } from "react/jsx-runtime";
12098
12104
  function VideoBitesStrip({
12099
12105
  bites,
12100
12106
  title = DEFAULT_VIDEO_BITES_TITLE,
@@ -12217,7 +12223,7 @@ function VideoBiteCard({
12217
12223
  if (isTouch && !isActive) activate();
12218
12224
  };
12219
12225
  const titleClass = "text-h6 text-ods-text-primary";
12220
- const overlayContent = /* @__PURE__ */ jsxs64(Fragment21, { children: [
12226
+ const overlayContent = /* @__PURE__ */ jsxs64(Fragment22, { children: [
12221
12227
  titleEditable ? (
12222
12228
  // Textarea, not input: the public title wraps to two lines
12223
12229
  // (line-clamp-2) and the editor must render identically. rows=1 +
@@ -12363,7 +12369,7 @@ function VideoBiteCard({
12363
12369
  }
12364
12370
 
12365
12371
  // src/components/features/entity-video-section.tsx
12366
- import { Fragment as Fragment22, jsx as jsx83, jsxs as jsxs65 } from "react/jsx-runtime";
12372
+ import { Fragment as Fragment23, jsx as jsx83, jsxs as jsxs65 } from "react/jsx-runtime";
12367
12373
  function EntityVideoSection({
12368
12374
  mainVideoUrl,
12369
12375
  youtubeUrl,
@@ -12393,7 +12399,7 @@ function EntityVideoSection({
12393
12399
  }
12394
12400
  const fullVideoUrl = youtubeUrl || mainVideoUrl || null;
12395
12401
  const fullVideoKind = youtubeUrl ? "youtube" : "auto";
12396
- return /* @__PURE__ */ jsxs65(Fragment22, { children: [
12402
+ return /* @__PURE__ */ jsxs65(Fragment23, { children: [
12397
12403
  hasVideo && (hasFullVideo && hasHighlight ? /* @__PURE__ */ jsxs65(Tabs, { defaultValue: "full-video", className: "w-full", children: [
12398
12404
  /* @__PURE__ */ jsxs65(TabsList, { className: "inline-flex justify-start rounded-none bg-transparent h-auto p-0 gap-0", children: [
12399
12405
  /* @__PURE__ */ jsx83(
@@ -12591,7 +12597,7 @@ import {
12591
12597
  TrendingUp as TrendingUp2,
12592
12598
  Wrench
12593
12599
  } from "lucide-react";
12594
- import { Fragment as Fragment23, jsx as jsx86, jsxs as jsxs66 } from "react/jsx-runtime";
12600
+ import { Fragment as Fragment24, jsx as jsx86, jsxs as jsxs66 } from "react/jsx-runtime";
12595
12601
  function ProductReleaseCard({
12596
12602
  title,
12597
12603
  summary,
@@ -12642,7 +12648,7 @@ function ProductReleaseCard({
12642
12648
  "no-underline",
12643
12649
  className
12644
12650
  );
12645
- const innerLayout = /* @__PURE__ */ jsxs66(Fragment23, { children: [
12651
+ const innerLayout = /* @__PURE__ */ jsxs66(Fragment24, { children: [
12646
12652
  /* @__PURE__ */ jsxs66("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
12647
12653
  /* @__PURE__ */ jsx86("div", { className: "w-full md:w-[256px] flex-shrink-0", children: /* @__PURE__ */ jsxs66("div", { className: "relative rounded-lg overflow-hidden w-full aspect-[1200/630] bg-ods-bg", children: [
12648
12654
  coverImage ? /* @__PURE__ */ jsx86(
@@ -12667,7 +12673,7 @@ function ProductReleaseCard({
12667
12673
  /* @__PURE__ */ jsx86("div", { className: "min-h-[68px] md:min-h-[78px]", children: /* @__PURE__ */ jsx86("p", { className: "font-['DM_Sans'] text-sm md:text-base text-ods-text-secondary leading-relaxed line-clamp-3", children: summary ?? "" }) })
12668
12674
  ] })
12669
12675
  ] }),
12670
- /* @__PURE__ */ jsx86("div", { className: "border-t border-ods-border pt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-h6 text-ods-text-secondary", children: totalChangelog > 0 && changelogCounts ? /* @__PURE__ */ jsxs66(Fragment23, { children: [
12676
+ /* @__PURE__ */ jsx86("div", { className: "border-t border-ods-border pt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-h6 text-ods-text-secondary", children: totalChangelog > 0 && changelogCounts ? /* @__PURE__ */ jsxs66(Fragment24, { children: [
12671
12677
  changelogCounts.features > 0 && /* @__PURE__ */ jsxs66("span", { className: "inline-flex items-center gap-1.5", children: [
12672
12678
  /* @__PURE__ */ jsx86(Sparkles, { className: "w-3.5 h-3.5" }),
12673
12679
  changelogCounts.features,
@@ -12800,7 +12806,7 @@ function ProductReleaseCard({
12800
12806
  isInteractive ? "transition-colors hover:border-ods-text-secondary/40 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-offset-1 focus-visible:ring-offset-ods-card" : "cursor-default",
12801
12807
  className
12802
12808
  );
12803
- const innerChildren = /* @__PURE__ */ jsxs66(Fragment23, { children: [
12809
+ const innerChildren = /* @__PURE__ */ jsxs66(Fragment24, { children: [
12804
12810
  /* @__PURE__ */ jsxs66("span", { className: "relative flex h-14 w-14 aspect-square shrink-0 self-start items-center justify-center overflow-hidden rounded-md bg-ods-bg text-ods-accent", children: [
12805
12811
  coverImage ? /* @__PURE__ */ jsx86(
12806
12812
  next_image_default,
@@ -13120,7 +13126,7 @@ function safeHref(url) {
13120
13126
  }
13121
13127
 
13122
13128
  // src/components/chat/entity-cards/blog-card.tsx
13123
- import { Fragment as Fragment24, jsx as jsx88, jsxs as jsxs68 } from "react/jsx-runtime";
13129
+ import { Fragment as Fragment25, jsx as jsx88, jsxs as jsxs68 } from "react/jsx-runtime";
13124
13130
  function BlogCardSkeleton({ size: size2 = "default" }) {
13125
13131
  if (size2 === "sm") {
13126
13132
  return /* @__PURE__ */ jsxs68("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
@@ -13311,7 +13317,7 @@ function BlogCard({
13311
13317
  ) : null,
13312
13318
  /* @__PURE__ */ jsxs68("span", { className: "truncate", children: [
13313
13319
  post.author_name || "Anonymous",
13314
- dateStr ? /* @__PURE__ */ jsxs68(Fragment24, { children: [
13320
+ dateStr ? /* @__PURE__ */ jsxs68(Fragment25, { children: [
13315
13321
  " \xB7 ",
13316
13322
  dateStr
13317
13323
  ] }) : null
@@ -13485,7 +13491,7 @@ function CaseStudyCard({
13485
13491
  // src/components/chat/entity-cards/customer-interview-card.tsx
13486
13492
  init_cn();
13487
13493
  import { Video as Video3 } from "lucide-react";
13488
- import { Fragment as Fragment25, jsx as jsx90, jsxs as jsxs70 } from "react/jsx-runtime";
13494
+ import { Fragment as Fragment26, jsx as jsx90, jsxs as jsxs70 } from "react/jsx-runtime";
13489
13495
  function CustomerInterviewCardSkeleton({ size: size2 = "default" }) {
13490
13496
  if (size2 === "sm") {
13491
13497
  return /* @__PURE__ */ jsxs70("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
@@ -13584,7 +13590,7 @@ function CustomerInterviewCard({
13584
13590
  );
13585
13591
  }
13586
13592
  return /* @__PURE__ */ jsx90("a", { href, target, rel, className: cn("block h-full", className), children: /* @__PURE__ */ jsxs70(Card, { className: "bg-ods-card border border-ods-border hover:border-ods-accent transition-colors p-6 flex flex-col gap-6 overflow-hidden", children: [
13587
- /* @__PURE__ */ jsx90("div", { className: "w-full aspect-[1200/630] rounded-sm overflow-hidden bg-ods-bg shrink-0 relative", children: thumbnailUrl ? /* @__PURE__ */ jsxs70(Fragment25, { children: [
13593
+ /* @__PURE__ */ jsx90("div", { className: "w-full aspect-[1200/630] rounded-sm overflow-hidden bg-ods-bg shrink-0 relative", children: thumbnailUrl ? /* @__PURE__ */ jsxs70(Fragment26, { children: [
13588
13594
  /* @__PURE__ */ jsx90(
13589
13595
  "img",
13590
13596
  {
@@ -14336,7 +14342,7 @@ var HiddenTagsPopup = forwardRef25(function HiddenTagsPopup2({ items, onRemove,
14336
14342
  });
14337
14343
 
14338
14344
  // src/components/ui/autocomplete.tsx
14339
- import { Fragment as Fragment26, jsx as jsx98, jsxs as jsxs76 } from "react/jsx-runtime";
14345
+ import { Fragment as Fragment27, jsx as jsx98, jsxs as jsxs76 } from "react/jsx-runtime";
14340
14346
  var innerInputStyles = cn(
14341
14347
  "flex-1 min-w-[60px] bg-transparent border-none outline-none",
14342
14348
  "text-h4",
@@ -14796,7 +14802,7 @@ function AutocompleteInner(props, ref) {
14796
14802
  }
14797
14803
  }
14798
14804
  ),
14799
- multiple && /* @__PURE__ */ jsxs76(Fragment26, { children: [
14805
+ multiple && /* @__PURE__ */ jsxs76(Fragment27, { children: [
14800
14806
  /* @__PURE__ */ jsx98(
14801
14807
  "span",
14802
14808
  {
@@ -16020,7 +16026,7 @@ function DateFilterMenu({
16020
16026
 
16021
16027
  // src/components/ui/duration-input.tsx
16022
16028
  init_cn();
16023
- import { Fragment as Fragment27, useEffect as useEffect26, useRef as useRef22, useState as useState32 } from "react";
16029
+ import { Fragment as Fragment28, useEffect as useEffect26, useRef as useRef22, useState as useState32 } from "react";
16024
16030
  import { jsx as jsx103, jsxs as jsxs81 } from "react/jsx-runtime";
16025
16031
  var SEGMENT_META = [
16026
16032
  { label: "Hours", placeholder: "HH", max: 99 },
@@ -16105,7 +16111,7 @@ function DurationInput({ value, onChange, invalid, className }) {
16105
16111
  invalid && "border-ods-error focus-within:border-ods-error",
16106
16112
  className
16107
16113
  ),
16108
- children: SEGMENT_META.map((meta, i) => /* @__PURE__ */ jsxs81(Fragment27, { children: [
16114
+ children: SEGMENT_META.map((meta, i) => /* @__PURE__ */ jsxs81(Fragment28, { children: [
16109
16115
  i > 0 && /* @__PURE__ */ jsx103("span", { className: "text-ods-text-secondary", children: ":" }),
16110
16116
  /* @__PURE__ */ jsx103(
16111
16117
  "input",
@@ -16584,12 +16590,12 @@ function DefaultAssigneeDropdown({
16584
16590
  }
16585
16591
 
16586
16592
  // src/components/ui/info-section.tsx
16587
- import { Fragment as Fragment28, jsx as jsx109, jsxs as jsxs85 } from "react/jsx-runtime";
16593
+ import { Fragment as Fragment29, jsx as jsx109, jsxs as jsxs85 } from "react/jsx-runtime";
16588
16594
  function TextValue({ value }) {
16589
16595
  const { text, imageSrc, imageFallback, imageVariant = "round", icon, onClick, href, openInNewTab } = value;
16590
16596
  const hasImage = imageSrc !== void 0 || imageFallback !== void 0;
16591
16597
  const interactiveClass = "truncate text-left text-h4 text-ods-text-primary transition-colors hover:text-ods-accent";
16592
- return /* @__PURE__ */ jsxs85(Fragment28, { children: [
16598
+ return /* @__PURE__ */ jsxs85(Fragment29, { children: [
16593
16599
  icon && /* @__PURE__ */ jsx109("span", { className: "flex size-4 shrink-0 items-center justify-center text-ods-text-secondary", children: icon }),
16594
16600
  href ? /* @__PURE__ */ jsx109(
16595
16601
  next_link_default,
@@ -16626,7 +16632,7 @@ function RowValue({ value }) {
16626
16632
  return /* @__PURE__ */ jsx109(TicketStatusTag, { ...props });
16627
16633
  }
16628
16634
  case "custom":
16629
- return /* @__PURE__ */ jsx109(Fragment28, { children: value.content });
16635
+ return /* @__PURE__ */ jsx109(Fragment29, { children: value.content });
16630
16636
  default:
16631
16637
  return /* @__PURE__ */ jsx109(TextValue, { value });
16632
16638
  }
@@ -19157,7 +19163,7 @@ function TabContent({
19157
19163
  init_next_navigation();
19158
19164
  init_cn();
19159
19165
  import { useState as useState41, useEffect as useEffect34, useMemo as useMemo23, useRef as useRef26, useCallback as useCallback19 } from "react";
19160
- import { Fragment as Fragment29, jsx as jsx135, jsxs as jsxs107 } from "react/jsx-runtime";
19166
+ import { Fragment as Fragment30, jsx as jsx135, jsxs as jsxs107 } from "react/jsx-runtime";
19161
19167
  function TabNavigation({
19162
19168
  activeTab: controlledActiveTab,
19163
19169
  onTabChange: controlledOnTabChange,
@@ -19273,7 +19279,7 @@ function TabNavigation({
19273
19279
  }
19274
19280
  return { background: c };
19275
19281
  })();
19276
- return /* @__PURE__ */ jsxs107(Fragment29, { children: [
19282
+ return /* @__PURE__ */ jsxs107(Fragment30, { children: [
19277
19283
  /* @__PURE__ */ jsxs107("div", { className: cn("relative w-full", className), children: [
19278
19284
  /* @__PURE__ */ jsx135("div", { ref: scrollRef, className: "flex gap-[var(--spacing-system-xxs)] items-center justify-start h-full overflow-x-auto overflow-y-hidden scrollbar-hide", children: tabs.map((tab) => {
19279
19285
  const isActive = activeTab === tab.id;
@@ -19401,7 +19407,7 @@ function AIGeneratedBadge({ className }) {
19401
19407
  // src/components/ui/fade-preview.tsx
19402
19408
  import { useState as useState42, useRef as useRef27, useEffect as useEffect35 } from "react";
19403
19409
  import { ChevronDown as ChevronDown4 } from "lucide-react";
19404
- import { Fragment as Fragment30, jsx as jsx138, jsxs as jsxs109 } from "react/jsx-runtime";
19410
+ import { Fragment as Fragment31, jsx as jsx138, jsxs as jsxs109 } from "react/jsx-runtime";
19405
19411
  function FadePreview({
19406
19412
  hiddenCount,
19407
19413
  collapsedHeight = 120,
@@ -19414,7 +19420,7 @@ function FadePreview({
19414
19420
  setExpanded(false);
19415
19421
  }, [resetKey]);
19416
19422
  const needsFade = hiddenCount > 0;
19417
- if (!needsFade) return /* @__PURE__ */ jsx138(Fragment30, { children });
19423
+ if (!needsFade) return /* @__PURE__ */ jsx138(Fragment31, { children });
19418
19424
  return /* @__PURE__ */ jsxs109("div", { className: "relative", children: [
19419
19425
  /* @__PURE__ */ jsx138(
19420
19426
  "div",
@@ -19771,7 +19777,7 @@ var socialCache = SocialEmbedCache.getInstance();
19771
19777
  init_cn();
19772
19778
  import { useState as useState43, useRef as useRef28, useEffect as useEffect36, memo as memo4, useCallback as useCallback20 } from "react";
19773
19779
  init_button2();
19774
- import { Fragment as Fragment31, jsx as jsx140, jsxs as jsxs110 } from "react/jsx-runtime";
19780
+ import { Fragment as Fragment32, jsx as jsx140, jsxs as jsxs110 } from "react/jsx-runtime";
19775
19781
  var ChevronLeftIcon = () => /* @__PURE__ */ jsx140("svg", { width: "24", height: "24", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx140("polyline", { points: "15,18 9,12 15,6" }) });
19776
19782
  var ChevronRightIcon = () => /* @__PURE__ */ jsx140("svg", { width: "24", height: "24", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx140("polyline", { points: "9,18 15,12 9,6" }) });
19777
19783
  var MediaCarousel = memo4(function MediaCarousel2({
@@ -19955,7 +19961,7 @@ var MediaCarousel = memo4(function MediaCarousel2({
19955
19961
  "aria-label": media.length > 1 ? "Media carousel, use arrow keys to navigate" : void 0,
19956
19962
  children: [
19957
19963
  renderMainMedia(currentItem, currentIndex),
19958
- showArrows && media.length > 1 && /* @__PURE__ */ jsxs110(Fragment31, { children: [
19964
+ showArrows && media.length > 1 && /* @__PURE__ */ jsxs110(Fragment32, { children: [
19959
19965
  /* @__PURE__ */ jsx140(
19960
19966
  Button,
19961
19967
  {
@@ -21077,7 +21083,7 @@ function toFigmaOriginalUrl(url) {
21077
21083
 
21078
21084
  // src/components/embeds/embed-iframe.tsx
21079
21085
  import { useState as useState48, useCallback as useCallback21, useRef as useRef31, useEffect as useEffect40 } from "react";
21080
- import { Fragment as Fragment32, jsx as jsx147, jsxs as jsxs115 } from "react/jsx-runtime";
21086
+ import { Fragment as Fragment33, jsx as jsx147, jsxs as jsxs115 } from "react/jsx-runtime";
21081
21087
  function EmbedLoadingSkeleton({ height }) {
21082
21088
  return /* @__PURE__ */ jsx147(
21083
21089
  "div",
@@ -21115,7 +21121,7 @@ function EmbedIframe({
21115
21121
  };
21116
21122
  }, [src]);
21117
21123
  const resolvedHeight = height || "calc(100vh - 250px)";
21118
- return /* @__PURE__ */ jsxs115(Fragment32, { children: [
21124
+ return /* @__PURE__ */ jsxs115(Fragment33, { children: [
21119
21125
  !isLoaded && /* @__PURE__ */ jsx147(EmbedLoadingSkeleton, { height: resolvedHeight }),
21120
21126
  /* @__PURE__ */ jsx147(
21121
21127
  "div",
@@ -22200,7 +22206,7 @@ function ChangelogEntryList({
22200
22206
 
22201
22207
  // src/components/ui/stacked-rows-panel.tsx
22202
22208
  init_cn();
22203
- import { Fragment as Fragment33, jsx as jsx152, jsxs as jsxs119 } from "react/jsx-runtime";
22209
+ import { Fragment as Fragment34, jsx as jsx152, jsxs as jsxs119 } from "react/jsx-runtime";
22204
22210
  var ALIGN_CLASS = {
22205
22211
  left: "justify-start items-start",
22206
22212
  center: "justify-center items-center",
@@ -22226,7 +22232,7 @@ function CellValue({ column }) {
22226
22232
  children: column.value
22227
22233
  }
22228
22234
  );
22229
- return /* @__PURE__ */ jsxs119(Fragment33, { children: [
22235
+ return /* @__PURE__ */ jsxs119(Fragment34, { children: [
22230
22236
  /* @__PURE__ */ jsxs119("div", { className: "flex items-center gap-[var(--spacing-system-xxs)] min-w-0", children: [
22231
22237
  column.icon && /* @__PURE__ */ jsx152("span", { className: "shrink-0", children: column.icon }),
22232
22238
  column.href ? /* @__PURE__ */ jsx152(
@@ -22332,7 +22338,7 @@ function StatusIndicator({ status, label, href }) {
22332
22338
 
22333
22339
  // src/components/ui/hover-dropdown.tsx
22334
22340
  import { useState as useState53, useRef as useRef33, useCallback as useCallback23 } from "react";
22335
- import { Fragment as Fragment34, jsx as jsx155, jsxs as jsxs122 } from "react/jsx-runtime";
22341
+ import { Fragment as Fragment35, jsx as jsx155, jsxs as jsxs122 } from "react/jsx-runtime";
22336
22342
  function DefaultAnchor({
22337
22343
  href,
22338
22344
  className,
@@ -22358,7 +22364,7 @@ function HoverDropdown({
22358
22364
  const hide = useCallback23(() => {
22359
22365
  timeoutRef.current = setTimeout(() => setOpen(false), hideDelay);
22360
22366
  }, [hideDelay]);
22361
- if (items.length === 0) return /* @__PURE__ */ jsx155(Fragment34, { children });
22367
+ if (items.length === 0) return /* @__PURE__ */ jsx155(Fragment35, { children });
22362
22368
  const toggle = useCallback23((e) => {
22363
22369
  e.stopPropagation();
22364
22370
  clearTimeout(timeoutRef.current);
@@ -22405,7 +22411,7 @@ function HoverDropdown({
22405
22411
  }
22406
22412
  },
22407
22413
  children: items.map((item, i) => {
22408
- const content = /* @__PURE__ */ jsxs122(Fragment34, { children: [
22414
+ const content = /* @__PURE__ */ jsxs122(Fragment35, { children: [
22409
22415
  item.icon && /* @__PURE__ */ jsx155("span", { className: "flex-shrink-0 [&_svg]:size-3.5", children: item.icon }),
22410
22416
  /* @__PURE__ */ jsx155("span", { className: "truncate flex-1 min-w-0", children: item.label })
22411
22417
  ] });
@@ -22636,7 +22642,7 @@ function TagKeyValueFilter({
22636
22642
  }
22637
22643
 
22638
22644
  // src/components/ui/filter-modal.tsx
22639
- import { Fragment as Fragment35, jsx as jsx159, jsxs as jsxs126 } from "react/jsx-runtime";
22645
+ import { Fragment as Fragment36, jsx as jsx159, jsxs as jsxs126 } from "react/jsx-runtime";
22640
22646
  function FilterModal({
22641
22647
  isOpen,
22642
22648
  onClose,
@@ -22728,7 +22734,7 @@ function FilterModal({
22728
22734
  ref: scrollRef,
22729
22735
  onScroll: updateFade,
22730
22736
  className: "flex-1 min-h-0 overflow-y-auto flex flex-col gap-4 md:py-3",
22731
- children: isLoading ? /* @__PURE__ */ jsx159(Fragment35, { children: [0, 1].map((group) => /* @__PURE__ */ jsxs126("div", { className: "flex flex-col gap-1", children: [
22737
+ children: isLoading ? /* @__PURE__ */ jsx159(Fragment36, { children: [0, 1].map((group) => /* @__PURE__ */ jsxs126("div", { className: "flex flex-col gap-1", children: [
22732
22738
  /* @__PURE__ */ jsx159(Skeleton, { className: "h-5 w-24" }),
22733
22739
  /* @__PURE__ */ jsx159("div", { className: "rounded-md border border-ods-border overflow-hidden", children: [0, 1, 2].map((row) => /* @__PURE__ */ jsxs126(
22734
22740
  "div",
@@ -22748,7 +22754,7 @@ function FilterModal({
22748
22754
  /* @__PURE__ */ jsx159("p", { className: "text-h4", children: emptyStateTitle }),
22749
22755
  /* @__PURE__ */ jsx159("p", { className: "text-h6", children: emptyStateDescription })
22750
22756
  ] })
22751
- ] }) : /* @__PURE__ */ jsxs126(Fragment35, { children: [
22757
+ ] }) : /* @__PURE__ */ jsxs126(Fragment36, { children: [
22752
22758
  sortConfig && sortConfig.columns.length > 0 && /* @__PURE__ */ jsxs126("div", { className: "flex flex-col gap-1", children: [
22753
22759
  /* @__PURE__ */ jsx159("span", { className: "text-h5 text-ods-text-secondary", children: sortConfig.title || "Sort By" }),
22754
22760
  /* @__PURE__ */ jsx159("div", { className: "rounded-md border border-ods-border overflow-hidden", children: sortConfig.columns.map((column) => /* @__PURE__ */ jsx159(
@@ -22827,7 +22833,7 @@ init_cn();
22827
22833
  init_cn();
22828
22834
  import React79 from "react";
22829
22835
  init_button2();
22830
- import { Fragment as Fragment36, jsx as jsx160, jsxs as jsxs127 } from "react/jsx-runtime";
22836
+ import { Fragment as Fragment37, jsx as jsx160, jsxs as jsxs127 } from "react/jsx-runtime";
22831
22837
  function actionKey(action, idx) {
22832
22838
  return `${action.label ?? action.ariaLabel ?? "action"}-${idx}`;
22833
22839
  }
@@ -22971,7 +22977,7 @@ function IconButtonsVariant({
22971
22977
  ...menuActions ?? []
22972
22978
  ];
22973
22979
  const hasMobileMenuItems = mobileMenuGroups.some((g) => g.items.length > 0);
22974
- return /* @__PURE__ */ jsxs127(Fragment36, { children: [
22980
+ return /* @__PURE__ */ jsxs127(Fragment37, { children: [
22975
22981
  /* @__PURE__ */ jsxs127("div", { className: cn("hidden md:flex items-center", ACTIONS_GAP, className), children: [
22976
22982
  selector,
22977
22983
  desktopActions.map((action, idx) => /* @__PURE__ */ jsx160(React79.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
@@ -22990,7 +22996,7 @@ function PrimaryButtonsVariant({
22990
22996
  return 0;
22991
22997
  });
22992
22998
  const desktopActions = sortedActions.filter((a) => !a.showOnlyMobile);
22993
- return /* @__PURE__ */ jsxs127(Fragment36, { children: [
22999
+ return /* @__PURE__ */ jsxs127(Fragment37, { children: [
22994
23000
  /* @__PURE__ */ jsx160("div", { className: cn("hidden md:flex items-center", ACTIONS_GAP, className), children: desktopActions.map((action, idx) => /* @__PURE__ */ jsx160(React79.Fragment, { children: renderActionButton(action) }, `desktop-${actionKey(action, idx)}`)) }),
22995
23001
  /* @__PURE__ */ jsx160(MobileBottomActions, { actions: sortedActions })
22996
23002
  ] });
@@ -23008,7 +23014,7 @@ function MenuPrimaryVariant({
23008
23014
  ...menuActions
23009
23015
  ];
23010
23016
  const hasMobileMenuItems = mobileMenuGroups.some((g) => g.items.length > 0);
23011
- return /* @__PURE__ */ jsxs127(Fragment36, { children: [
23017
+ return /* @__PURE__ */ jsxs127(Fragment37, { children: [
23012
23018
  /* @__PURE__ */ jsxs127("div", { className: cn("hidden md:flex items-center", ACTIONS_GAP, className), children: [
23013
23019
  selector,
23014
23020
  hasMenuActions && /* @__PURE__ */ jsx160(ActionsMenuDropdown, { groups: menuActions }),
@@ -25574,7 +25580,7 @@ import {
25574
25580
  safePolygon,
25575
25581
  arrow
25576
25582
  } from "@floating-ui/react";
25577
- import { Fragment as Fragment37, jsx as jsx177, jsxs as jsxs139 } from "react/jsx-runtime";
25583
+ import { Fragment as Fragment38, jsx as jsx177, jsxs as jsxs139 } from "react/jsx-runtime";
25578
25584
  function parseColoredText(text) {
25579
25585
  if (typeof text !== "string") return text;
25580
25586
  const parts = [];
@@ -25599,7 +25605,7 @@ function parseColoredText(text) {
25599
25605
  const remainingText = text.slice(lastIndex);
25600
25606
  parts.push(/* @__PURE__ */ jsx177("span", { children: remainingText }, `text-${keyIndex++}`));
25601
25607
  }
25602
- return parts.length > 0 ? /* @__PURE__ */ jsx177(Fragment37, { children: parts }) : text;
25608
+ return parts.length > 0 ? /* @__PURE__ */ jsx177(Fragment38, { children: parts }) : text;
25603
25609
  }
25604
25610
  function FloatingTooltip({
25605
25611
  content,
@@ -25663,7 +25669,7 @@ function FloatingTooltip({
25663
25669
  bottom: "top",
25664
25670
  left: "right"
25665
25671
  }[placement.split("-")[0]];
25666
- return /* @__PURE__ */ jsxs139(Fragment37, { children: [
25672
+ return /* @__PURE__ */ jsxs139(Fragment38, { children: [
25667
25673
  /* @__PURE__ */ jsx177("div", { ref: refs.setReference, ...getReferenceProps(), children }),
25668
25674
  /* @__PURE__ */ jsx177(FloatingPortal, { children: isOpen && /* @__PURE__ */ jsxs139(
25669
25675
  "div",
@@ -25713,7 +25719,7 @@ function FloatingTooltip({
25713
25719
  }
25714
25720
 
25715
25721
  // src/components/ui/dashboard-info-card.tsx
25716
- import { Fragment as Fragment38, jsx as jsx178, jsxs as jsxs140 } from "react/jsx-runtime";
25722
+ import { Fragment as Fragment39, jsx as jsx178, jsxs as jsxs140 } from "react/jsx-runtime";
25717
25723
  function DashboardInfoCard({
25718
25724
  title,
25719
25725
  titleSlot,
@@ -25766,7 +25772,7 @@ function DashboardInfoCard({
25766
25772
  if (lg !== void 0) {
25767
25773
  rings.push({ key: "lg", size: lg, className: "hidden lg:block" });
25768
25774
  }
25769
- return /* @__PURE__ */ jsx178(Fragment38, { children: rings.map((ring) => /* @__PURE__ */ jsx178(
25775
+ return /* @__PURE__ */ jsx178(Fragment39, { children: rings.map((ring) => /* @__PURE__ */ jsx178(
25770
25776
  CircularProgress,
25771
25777
  {
25772
25778
  ...common,
@@ -25777,7 +25783,7 @@ function DashboardInfoCard({
25777
25783
  ring.key
25778
25784
  )) });
25779
25785
  };
25780
- const cardContent = /* @__PURE__ */ jsxs140(Fragment38, { children: [
25786
+ const cardContent = /* @__PURE__ */ jsxs140(Fragment39, { children: [
25781
25787
  icon && /* @__PURE__ */ jsx178("div", { className: "shrink-0 size-8 md:size-14 p-[var(--spacing-system-xxs)] bg-ods-bg border border-ods-border rounded-sm flex items-center justify-center text-ods-text-primary", children: /* @__PURE__ */ jsx178("span", { className: "size-4 md:size-6 flex items-center justify-center [&>*]:size-full", children: icon }) }),
25782
25788
  /* @__PURE__ */ jsxs140("div", { className: "flex-1 min-w-0 flex flex-col", children: [
25783
25789
  /* @__PURE__ */ jsxs140("div", { className: "flex items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -26029,7 +26035,7 @@ function DeviceCard({
26029
26035
 
26030
26036
  // src/components/ui/device-card-compact.tsx
26031
26037
  init_cn();
26032
- import { Fragment as Fragment39, jsx as jsx182, jsxs as jsxs144 } from "react/jsx-runtime";
26038
+ import { Fragment as Fragment40, jsx as jsx182, jsxs as jsxs144 } from "react/jsx-runtime";
26033
26039
  function DeviceCardCompact({
26034
26040
  deviceName,
26035
26041
  organization,
@@ -26039,7 +26045,7 @@ function DeviceCardCompact({
26039
26045
  const hasName = deviceName && deviceName !== "-" && deviceName !== "null";
26040
26046
  const hasOrg = organization && organization !== "-" && organization !== "null";
26041
26047
  if (!hasName && !hasOrg) {
26042
- return /* @__PURE__ */ jsx182(Fragment39, {});
26048
+ return /* @__PURE__ */ jsx182(Fragment40, {});
26043
26049
  }
26044
26050
  return /* @__PURE__ */ jsxs144(
26045
26051
  "div",
@@ -26453,7 +26459,7 @@ function DropdownButton({
26453
26459
  init_next_link();
26454
26460
  init_cn();
26455
26461
  init_button2();
26456
- import { Fragment as Fragment40, jsx as jsx189, jsxs as jsxs149 } from "react/jsx-runtime";
26462
+ import { Fragment as Fragment41, jsx as jsx189, jsxs as jsxs149 } from "react/jsx-runtime";
26457
26463
  function MoreActionsMenu({
26458
26464
  items,
26459
26465
  align = "end",
@@ -26491,7 +26497,7 @@ function MoreActionsMenu({
26491
26497
  ),
26492
26498
  children: items.map((item, idx) => {
26493
26499
  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";
26494
- const content = /* @__PURE__ */ jsxs149(Fragment40, { children: [
26500
+ const content = /* @__PURE__ */ jsxs149(Fragment41, { children: [
26495
26501
  item.icon && /* @__PURE__ */ jsx189("div", { className: cn(item.danger ? "text-ods-error" : "text-ods-text-secondary", "[&_svg]:size-6 [&_svg]:shrink-0"), children: item.icon }),
26496
26502
  /* @__PURE__ */ jsx189("span", { className: "text-h4 text-ods-text-primary", children: item.label })
26497
26503
  ] });
@@ -27074,7 +27080,7 @@ function SsoProviderButtons({
27074
27080
  }
27075
27081
 
27076
27082
  // src/components/features/auth/complete-account-form.tsx
27077
- import { Fragment as Fragment41, jsx as jsx200, jsxs as jsxs155 } from "react/jsx-runtime";
27083
+ import { Fragment as Fragment42, jsx as jsx200, jsxs as jsxs155 } from "react/jsx-runtime";
27078
27084
  function CompleteAccountForm({
27079
27085
  firstName,
27080
27086
  lastName,
@@ -27123,7 +27129,7 @@ function CompleteAccountForm({
27123
27129
  /* @__PURE__ */ jsx200("h1", { className: "text-h2 text-ods-text-primary tracking-[-0.64px]", children: title }),
27124
27130
  /* @__PURE__ */ jsx200("p", { className: "text-h4 text-ods-text-secondary", children: subtitle })
27125
27131
  ] }),
27126
- ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ jsxs155(Fragment41, { children: [
27132
+ ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ jsxs155(Fragment42, { children: [
27127
27133
  /* @__PURE__ */ jsx200(
27128
27134
  SsoProviderButtons,
27129
27135
  {
@@ -27264,7 +27270,7 @@ function TermsAgreementLabel({ termsUrl = "#", privacyPolicyUrl = "#" }) {
27264
27270
  }
27265
27271
 
27266
27272
  // src/components/features/auth/create-organization-form.tsx
27267
- import { Fragment as Fragment42, jsx as jsx202, jsxs as jsxs157 } from "react/jsx-runtime";
27273
+ import { Fragment as Fragment43, jsx as jsx202, jsxs as jsxs157 } from "react/jsx-runtime";
27268
27274
  function CreateOrganizationForm({
27269
27275
  email,
27270
27276
  organizationName,
@@ -27386,7 +27392,7 @@ function CreateOrganizationForm({
27386
27392
  children: submitLabel
27387
27393
  }
27388
27394
  ),
27389
- hasSso && /* @__PURE__ */ jsxs157(Fragment42, { children: [
27395
+ hasSso && /* @__PURE__ */ jsxs157(Fragment43, { children: [
27390
27396
  /* @__PURE__ */ jsxs157("div", { className: "flex items-center gap-[var(--spacing-system-s)]", children: [
27391
27397
  /* @__PURE__ */ jsx202("div", { className: "h-px flex-1 bg-ods-border" }),
27392
27398
  /* @__PURE__ */ jsx202("span", { className: "text-h6 text-ods-text-secondary", children: dividerLabel }),
@@ -30506,7 +30512,7 @@ SelectButton.displayName = "SelectButton";
30506
30512
  // src/components/features/seo-editor-preview.tsx
30507
30513
  import { useState as useState70 } from "react";
30508
30514
  import { Globe as Globe3, ExternalLink as ExternalLink6, Upload as Upload3, X as X6, Loader2 as Loader25 } from "lucide-react";
30509
- import { Fragment as Fragment43, jsx as jsx231, jsxs as jsxs181 } from "react/jsx-runtime";
30515
+ import { Fragment as Fragment44, jsx as jsx231, jsxs as jsxs181 } from "react/jsx-runtime";
30510
30516
  function SEOEditorPreview({
30511
30517
  seoTitle,
30512
30518
  seoDescription,
@@ -30559,7 +30565,7 @@ function SEOEditorPreview({
30559
30565
  /* @__PURE__ */ jsxs181("div", { className: "space-y-2", children: [
30560
30566
  /* @__PURE__ */ jsxs181("div", { className: "flex items-center gap-2", children: [
30561
30567
  /* @__PURE__ */ jsx231(Label, { className: "text-h6 text-ods-text-primary", children: "SEO Title" }),
30562
- aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs181(Fragment43, { children: [
30568
+ aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs181(Fragment44, { children: [
30563
30569
  /* @__PURE__ */ jsx231(AIGeneratedBadge, {}),
30564
30570
  /* @__PURE__ */ jsx231(
30565
30571
  ConfidenceBadge,
@@ -30606,7 +30612,7 @@ function SEOEditorPreview({
30606
30612
  /* @__PURE__ */ jsxs181("div", { className: "space-y-2", children: [
30607
30613
  /* @__PURE__ */ jsxs181("div", { className: "flex items-center gap-2", children: [
30608
30614
  /* @__PURE__ */ jsx231(Label, { className: "text-h6 text-ods-text-primary", children: "SEO Keywords" }),
30609
- aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs181(Fragment43, { children: [
30615
+ aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs181(Fragment44, { children: [
30610
30616
  /* @__PURE__ */ jsx231(AIGeneratedBadge, {}),
30611
30617
  /* @__PURE__ */ jsx231(
30612
30618
  ConfidenceBadge,
@@ -30635,7 +30641,7 @@ function SEOEditorPreview({
30635
30641
  /* @__PURE__ */ jsxs181("div", { className: "space-y-2 flex flex-col h-full", children: [
30636
30642
  /* @__PURE__ */ jsxs181("div", { className: "flex items-center gap-2", children: [
30637
30643
  /* @__PURE__ */ jsx231(Label, { className: "text-h6 text-ods-text-primary", children: "SEO Description" }),
30638
- aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs181(Fragment43, { children: [
30644
+ aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs181(Fragment44, { children: [
30639
30645
  /* @__PURE__ */ jsx231(AIGeneratedBadge, {}),
30640
30646
  /* @__PURE__ */ jsx231(
30641
30647
  ConfidenceBadge,
@@ -30725,7 +30731,7 @@ function SEOEditorPreview({
30725
30731
  {
30726
30732
  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",
30727
30733
  onClick: () => onOgImageUpload && fileInputRef?.click(),
30728
- children: isUploading ? /* @__PURE__ */ jsx231(Loader25, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs181(Fragment43, { children: [
30734
+ children: isUploading ? /* @__PURE__ */ jsx231(Loader25, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs181(Fragment44, { children: [
30729
30735
  /* @__PURE__ */ jsx231(Upload3, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
30730
30736
  /* @__PURE__ */ jsx231("span", { className: "text-h6 text-ods-text-secondary", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
30731
30737
  ] })
@@ -32757,7 +32763,7 @@ init_cn();
32757
32763
  import { useEffect as useEffect54, useState as useState74 } from "react";
32758
32764
  import { ChevronDown as ChevronDown8, Shield as Shield2 } from "lucide-react";
32759
32765
  init_button2();
32760
- import { Fragment as Fragment44, jsx as jsx256, jsxs as jsxs200 } from "react/jsx-runtime";
32766
+ import { Fragment as Fragment45, jsx as jsx256, jsxs as jsxs200 } from "react/jsx-runtime";
32761
32767
  var approvalLevelLabels = {
32762
32768
  ALLOW: "Allow",
32763
32769
  ASK_USER: "Ask User",
@@ -32838,7 +32844,7 @@ var CategorySection = ({
32838
32844
  }) => {
32839
32845
  const { innerRef, containerStyle } = useCollapsible({ expanded: isExpanded, durationMs: 300 });
32840
32846
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
32841
- return /* @__PURE__ */ jsxs200(Fragment44, { children: [
32847
+ return /* @__PURE__ */ jsxs200(Fragment45, { children: [
32842
32848
  /* @__PURE__ */ jsxs200(
32843
32849
  "div",
32844
32850
  {
@@ -33074,7 +33080,7 @@ function CountryOption({ country }) {
33074
33080
  init_cn();
33075
33081
  import { getCountries as getCountries2 } from "libphonenumber-js";
33076
33082
  import { useEffect as useEffect56, useState as useState76 } from "react";
33077
- import { Fragment as Fragment45, jsx as jsx258, jsxs as jsxs202 } from "react/jsx-runtime";
33083
+ import { Fragment as Fragment46, jsx as jsx258, jsxs as jsxs202 } from "react/jsx-runtime";
33078
33084
  function WaitlistForm({
33079
33085
  id = "waitlist-form",
33080
33086
  className,
@@ -33219,7 +33225,7 @@ function WaitlistForm({
33219
33225
  error: showConsentError ? "Please agree to SMS notifications to continue." : void 0,
33220
33226
  disabled: isSubmitting,
33221
33227
  label: smsCheckboxLabel,
33222
- description: /* @__PURE__ */ jsxs202(Fragment45, { children: [
33228
+ description: /* @__PURE__ */ jsxs202(Fragment46, { children: [
33223
33229
  consentText,
33224
33230
  " View our ",
33225
33231
  /* @__PURE__ */ jsx258(
@@ -34145,7 +34151,7 @@ function NotificationTile({
34145
34151
  }
34146
34152
 
34147
34153
  // src/components/features/notifications/notification-drawer.tsx
34148
- import { Fragment as Fragment46, jsx as jsx262, jsxs as jsxs205 } from "react/jsx-runtime";
34154
+ import { Fragment as Fragment47, jsx as jsx262, jsxs as jsxs205 } from "react/jsx-runtime";
34149
34155
  function NotificationDrawer({
34150
34156
  className,
34151
34157
  liveDurationMs,
@@ -34178,7 +34184,7 @@ function NotificationDrawer({
34178
34184
  } = ctx;
34179
34185
  const renderTile = renderTileProp ?? ctxRenderTile;
34180
34186
  const unreadNotifications = notifications.filter((n) => !n.read);
34181
- const content = /* @__PURE__ */ jsxs205(Fragment46, { children: [
34187
+ const content = /* @__PURE__ */ jsxs205(Fragment47, { children: [
34182
34188
  /* @__PURE__ */ jsx262("div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ jsx262(
34183
34189
  DrawerTitle,
34184
34190
  {
@@ -34288,7 +34294,7 @@ function DrawerScrollList({
34288
34294
  {
34289
34295
  ref: scrollRef,
34290
34296
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
34291
- children: isEmpty && !isLoadingMore ? /* @__PURE__ */ jsx262(EmptyState, {}) : /* @__PURE__ */ jsxs205(Fragment46, { children: [
34297
+ children: isEmpty && !isLoadingMore ? /* @__PURE__ */ jsx262(EmptyState, {}) : /* @__PURE__ */ jsxs205(Fragment47, { children: [
34292
34298
  unreadNotifications.map((n) => {
34293
34299
  const custom = renderTile?.(n, { onComplete, onSettle, liveDurationMs });
34294
34300
  if (custom) return /* @__PURE__ */ jsx262("div", { children: custom }, n.id);
@@ -34310,7 +34316,7 @@ function DrawerScrollList({
34310
34316
  );
34311
34317
  }
34312
34318
  function DrawerLoadingTiles() {
34313
- return /* @__PURE__ */ jsxs205(Fragment46, { children: [
34319
+ return /* @__PURE__ */ jsxs205(Fragment47, { children: [
34314
34320
  /* @__PURE__ */ jsx262(
34315
34321
  "div",
34316
34322
  {
@@ -34693,7 +34699,7 @@ function approvalMetaToBatchData(approval) {
34693
34699
  }
34694
34700
 
34695
34701
  // src/components/features/notifications/approval-request-notification-tile.tsx
34696
- import { Fragment as Fragment47, jsx as jsx264, jsxs as jsxs206 } from "react/jsx-runtime";
34702
+ import { Fragment as Fragment48, jsx as jsx264, jsxs as jsxs206 } from "react/jsx-runtime";
34697
34703
  function ApprovalRequestNotificationTile({
34698
34704
  notification,
34699
34705
  onApprove,
@@ -34743,7 +34749,7 @@ function ApprovalRequestNotificationTile({
34743
34749
  className,
34744
34750
  paused: pinned || processing,
34745
34751
  actions: /* @__PURE__ */ jsxs206("div", { className: "flex w-full items-center gap-[var(--spacing-system-xs)]", children: [
34746
- status === "pending" ? /* @__PURE__ */ jsxs206(Fragment47, { children: [
34752
+ status === "pending" ? /* @__PURE__ */ jsxs206(Fragment48, { children: [
34747
34753
  /* @__PURE__ */ jsx264(Button, { variant: "accent", size: "small", onClick: () => resolve("approved", onApprove), disabled: processing, children: "Approve" }),
34748
34754
  /* @__PURE__ */ jsx264(Button, { variant: "outline", size: "small", onClick: () => resolve("rejected", onReject), disabled: processing, children: "Reject" })
34749
34755
  ] }) : /* @__PURE__ */ jsxs206("span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
@@ -35163,7 +35169,7 @@ function HeaderButton({
35163
35169
  }
35164
35170
 
35165
35171
  // src/components/features/time-tracker/time-tracker-header-button.tsx
35166
- import { Fragment as Fragment48, jsx as jsx268, jsxs as jsxs208 } from "react/jsx-runtime";
35172
+ import { Fragment as Fragment49, jsx as jsx268, jsxs as jsxs208 } from "react/jsx-runtime";
35167
35173
  function TimeTrackerHeaderButton({ className, disabled }) {
35168
35174
  const ctx = useOptionalTimeTracker();
35169
35175
  const elapsedLabel = useTrackerClock({
@@ -35209,7 +35215,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
35209
35215
  isActive && "w-auto gap-[var(--spacing-system-xsf)] px-[var(--spacing-system-sf)] md:w-auto",
35210
35216
  className
35211
35217
  ),
35212
- icon: /* @__PURE__ */ jsxs208(Fragment48, { children: [
35218
+ icon: /* @__PURE__ */ jsxs208(Fragment49, { children: [
35213
35219
  /* @__PURE__ */ jsx268(
35214
35220
  ClockHistoryIcon,
35215
35221
  {
@@ -35451,7 +35457,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
35451
35457
  }
35452
35458
 
35453
35459
  // src/components/features/board/ticket-card.tsx
35454
- import { Fragment as Fragment49, jsx as jsx271, jsxs as jsxs211 } from "react/jsx-runtime";
35460
+ import { Fragment as Fragment50, jsx as jsx271, jsxs as jsxs211 } from "react/jsx-runtime";
35455
35461
  var PRIORITY_COLOR_CLASS = {
35456
35462
  low: "text-ods-text-secondary",
35457
35463
  medium: "text-ods-info",
@@ -35495,7 +35501,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
35495
35501
  ] }) : null;
35496
35502
  const timestampLabel = ticket.createdAt ? formatTicketRelativeTime(ticket.createdAt) : null;
35497
35503
  const tooltipLabel = ticket.createdAt ? formatTicketFullTimestamp(ticket.createdAt) : null;
35498
- return /* @__PURE__ */ jsxs211(Fragment49, { children: [
35504
+ return /* @__PURE__ */ jsxs211(Fragment50, { children: [
35499
35505
  /* @__PURE__ */ jsxs211("div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
35500
35506
  /* @__PURE__ */ jsxs211("div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", title: ticket.title, children: [
35501
35507
  /* @__PURE__ */ jsx271("p", { className: "text-h3 truncate text-ods-text-primary", children: ticket.title }),
@@ -35661,7 +35667,7 @@ var TicketCardSkeleton = React105.forwardRef(
35661
35667
  TicketCardSkeleton.displayName = "TicketCardSkeleton";
35662
35668
 
35663
35669
  // src/components/features/board/board-column.tsx
35664
- import { Fragment as Fragment50, jsx as jsx273, jsxs as jsxs213 } from "react/jsx-runtime";
35670
+ import { Fragment as Fragment51, jsx as jsx273, jsxs as jsxs213 } from "react/jsx-runtime";
35665
35671
  function BoardColumn({
35666
35672
  column,
35667
35673
  collapsed = false,
@@ -35700,7 +35706,7 @@ function BoardColumn({
35700
35706
  onArchive: !collapsed && column.archivable && onArchive ? () => onArchive(column.id) : void 0
35701
35707
  }
35702
35708
  ),
35703
- !collapsed && /* @__PURE__ */ jsxs213(Fragment50, { children: [
35709
+ !collapsed && /* @__PURE__ */ jsxs213(Fragment51, { children: [
35704
35710
  /* @__PURE__ */ jsx273("div", { "aria-hidden": true, className: "-mx-[var(--spacing-system-sf)] h-px shrink-0 bg-ods-border" }),
35705
35711
  /* @__PURE__ */ jsx273(
35706
35712
  ColumnBody,
@@ -35793,7 +35799,7 @@ function SkeletonStack({ count = 4 }) {
35793
35799
  () => Array.from({ length: count }, () => Math.random().toString(36).slice(2)),
35794
35800
  [count]
35795
35801
  );
35796
- return /* @__PURE__ */ jsx273(Fragment50, { children: keys.map((k) => /* @__PURE__ */ jsx273(TicketCardSkeleton, {}, k)) });
35802
+ return /* @__PURE__ */ jsx273(Fragment51, { children: keys.map((k) => /* @__PURE__ */ jsx273(TicketCardSkeleton, {}, k)) });
35797
35803
  }
35798
35804
  function EmptyState2() {
35799
35805
  return /* @__PURE__ */ jsxs213("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: [
@@ -36215,7 +36221,7 @@ import { useRef as useRef48 } from "react";
36215
36221
  import { usePreventScroll as usePreventScroll3 } from "@react-aria/overlays";
36216
36222
  init_button2();
36217
36223
  import { X as X10 } from "lucide-react";
36218
- import { Fragment as Fragment52, jsx as jsx276, jsxs as jsxs215 } from "react/jsx-runtime";
36224
+ import { Fragment as Fragment53, jsx as jsx276, jsxs as jsxs215 } from "react/jsx-runtime";
36219
36225
  var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
36220
36226
  function MobileNavPanel({ isOpen, config }) {
36221
36227
  const panelRef = useRef48(null);
@@ -36271,7 +36277,7 @@ function MobileNavPanel({ isOpen, config }) {
36271
36277
  item.id
36272
36278
  );
36273
36279
  };
36274
- return /* @__PURE__ */ jsxs215(Fragment52, { children: [
36280
+ return /* @__PURE__ */ jsxs215(Fragment53, { children: [
36275
36281
  /* @__PURE__ */ jsx276(
36276
36282
  "div",
36277
36283
  {
@@ -36374,7 +36380,7 @@ function MingoAiButton({ source, icon, label = "Mingo AI", className, onClick, .
36374
36380
  }
36375
36381
 
36376
36382
  // src/components/navigation/header.tsx
36377
- import { Fragment as Fragment53, jsx as jsx278, jsxs as jsxs217 } from "react/jsx-runtime";
36383
+ import { Fragment as Fragment54, jsx as jsx278, jsxs as jsxs217 } from "react/jsx-runtime";
36378
36384
  function Header2({ config, platform }) {
36379
36385
  const [show, setShow] = useState87(true);
36380
36386
  const [lastScrollY, setLastScrollY] = useState87(0);
@@ -36519,7 +36525,7 @@ function Header2({ config, platform }) {
36519
36525
  },
36520
36526
  child.id
36521
36527
  )) }),
36522
- item.dropdownContent && /* @__PURE__ */ jsxs217(Fragment53, { children: [
36528
+ item.dropdownContent && /* @__PURE__ */ jsxs217(Fragment54, { children: [
36523
36529
  item.showDropdownDivider !== false && /* @__PURE__ */ jsx278("div", { className: "h-px my-2 mx-2 bg-ods-border" }),
36524
36530
  /* @__PURE__ */ jsx278("div", { className: "px-2 pb-2", children: item.dropdownContent })
36525
36531
  ] })
@@ -36721,7 +36727,7 @@ import { useState as useState89, useEffect as useEffect68, useRef as useRef50 }
36721
36727
  import { motion as motion2, AnimatePresence, useReducedMotion } from "framer-motion";
36722
36728
  import { usePreventScroll as usePreventScroll4 } from "@react-aria/overlays";
36723
36729
  init_button2();
36724
- import { Fragment as Fragment54, jsx as jsx281, jsxs as jsxs219 } from "react/jsx-runtime";
36730
+ import { Fragment as Fragment55, jsx as jsx281, jsxs as jsxs219 } from "react/jsx-runtime";
36725
36731
  function SlidingSidebar({ config }) {
36726
36732
  const [expandedItems, setExpandedItems] = useState89(/* @__PURE__ */ new Set());
36727
36733
  const [mounted, setMounted] = useState89(false);
@@ -36847,7 +36853,7 @@ function SlidingSidebar({ config }) {
36847
36853
  if (!mounted) {
36848
36854
  return null;
36849
36855
  }
36850
- return /* @__PURE__ */ jsxs219(Fragment54, { children: [
36856
+ return /* @__PURE__ */ jsxs219(Fragment55, { children: [
36851
36857
  /* @__PURE__ */ jsx281(AnimatePresence, { children: config.isOpen && /* @__PURE__ */ jsx281(
36852
36858
  motion2.div,
36853
36859
  {
@@ -37148,7 +37154,7 @@ function NavigationSidebarToggle({
37148
37154
  }
37149
37155
 
37150
37156
  // src/components/navigation/navigation-sidebar.tsx
37151
- import { Fragment as Fragment55, jsx as jsx286, jsxs as jsxs224 } from "react/jsx-runtime";
37157
+ import { Fragment as Fragment56, jsx as jsx286, jsxs as jsxs224 } from "react/jsx-runtime";
37152
37158
  var MINIMIZED_WIDTH = 56;
37153
37159
  var EXPANDED_WIDTH = 224;
37154
37160
  var STORAGE_KEY = "of.navigationSidebar.minimized";
@@ -37213,7 +37219,7 @@ function NavigationSidebar({ config, disabled = false }) {
37213
37219
  return () => cancelAnimationFrame(id);
37214
37220
  }
37215
37221
  }, [isHydrated, transitionsEnabled]);
37216
- return /* @__PURE__ */ jsxs224(Fragment55, { children: [
37222
+ return /* @__PURE__ */ jsxs224(Fragment56, { children: [
37217
37223
  /* @__PURE__ */ jsx286(
37218
37224
  "div",
37219
37225
  {
@@ -37252,7 +37258,7 @@ function NavigationSidebar({ config, disabled = false }) {
37252
37258
  ),
37253
37259
  style: { width: sidebarWidth },
37254
37260
  "aria-label": "Main navigation sidebar",
37255
- children: isHydrated && /* @__PURE__ */ jsxs224(Fragment55, { children: [
37261
+ children: isHydrated && /* @__PURE__ */ jsxs224(Fragment56, { children: [
37256
37262
  /* @__PURE__ */ jsx286(NavigationSidebarHeader, { minimized }),
37257
37263
  /* @__PURE__ */ jsxs224("div", { className: "flex-1 flex flex-col justify-between py-4 overflow-y-auto", children: [
37258
37264
  /* @__PURE__ */ jsx286("nav", { className: "flex flex-col", "aria-label": "Primary navigation", children: primaryItems.map((item) => /* @__PURE__ */ jsx286(
@@ -37665,7 +37671,7 @@ import { Suspense as Suspense2, useCallback as useCallback38, useMemo as useMemo
37665
37671
  // src/components/navigation/mobile-burger-menu.tsx
37666
37672
  import React115, { useCallback as useCallback37, useRef as useRef52 } from "react";
37667
37673
  import { usePreventScroll as usePreventScroll5 } from "@react-aria/overlays";
37668
- import { Fragment as Fragment56, jsx as jsx291, jsxs as jsxs229 } from "react/jsx-runtime";
37674
+ import { Fragment as Fragment57, jsx as jsx291, jsxs as jsxs229 } from "react/jsx-runtime";
37669
37675
  var HEADER_HEIGHT = 48;
37670
37676
  var MobileBurgerMenu = React115.memo(function MobileBurgerMenu2({
37671
37677
  isOpen,
@@ -37725,7 +37731,7 @@ var MobileBurgerMenu = React115.memo(function MobileBurgerMenu2({
37725
37731
  );
37726
37732
  };
37727
37733
  const renderNavigationGrid = (items) => /* @__PURE__ */ jsx291("div", { className: "grid grid-cols-2 gap-3", children: items.map((item) => /* @__PURE__ */ jsx291(React115.Fragment, { children: renderNavigationItem(item, true) }, item.id)) });
37728
- return /* @__PURE__ */ jsxs229(Fragment56, { children: [
37734
+ return /* @__PURE__ */ jsxs229(Fragment57, { children: [
37729
37735
  /* @__PURE__ */ jsx291(
37730
37736
  "div",
37731
37737
  {
@@ -38489,7 +38495,7 @@ import React117, { useRef as useRef54, useCallback as useCallback39 } from "reac
38489
38495
  import React116 from "react";
38490
38496
  init_button2();
38491
38497
  init_cn();
38492
- import { Fragment as Fragment57, jsx as jsx301, jsxs as jsxs239 } from "react/jsx-runtime";
38498
+ import { Fragment as Fragment58, jsx as jsx301, jsxs as jsxs239 } from "react/jsx-runtime";
38493
38499
  function OnboardingStepCard({
38494
38500
  step,
38495
38501
  isCompleted,
@@ -38531,10 +38537,10 @@ function OnboardingStepCard({
38531
38537
  /* @__PURE__ */ jsx301("h3", { className: "text-h4 text-ods-text-primary truncate", title: step.title, children: step.title }),
38532
38538
  /* @__PURE__ */ jsx301("p", { className: "text-h6 text-ods-text-secondary truncate h-[20px]", title: step.description, children: step.description })
38533
38539
  ] }),
38534
- /* @__PURE__ */ jsx301("div", { className: "flex items-center gap-2 w-full md:w-auto justify-start md:justify-end shrink-0", onClick: (e) => e.stopPropagation(), children: isCheckingCompletion ? /* @__PURE__ */ jsxs239(Fragment57, { children: [
38540
+ /* @__PURE__ */ jsx301("div", { className: "flex items-center gap-2 w-full md:w-auto justify-start md:justify-end shrink-0", onClick: (e) => e.stopPropagation(), children: isCheckingCompletion ? /* @__PURE__ */ jsxs239(Fragment58, { children: [
38535
38541
  /* @__PURE__ */ jsx301("div", { className: "h-[32px] w-[100px] bg-ods-border rounded-[6px] animate-pulse" }),
38536
38542
  /* @__PURE__ */ jsx301("div", { className: "h-[32px] w-[120px] bg-ods-border rounded-[6px] animate-pulse" })
38537
- ] }) : isCompleted ? /* @__PURE__ */ jsxs239(Fragment57, { children: [
38543
+ ] }) : isCompleted ? /* @__PURE__ */ jsxs239(Fragment58, { children: [
38538
38544
  /* @__PURE__ */ jsx301(
38539
38545
  StatusBadge,
38540
38546
  {
@@ -38553,14 +38559,14 @@ function OnboardingStepCard({
38553
38559
  children: step.completedText
38554
38560
  }
38555
38561
  )
38556
- ] }) : isSkipped ? /* @__PURE__ */ jsx301(Fragment57, { children: /* @__PURE__ */ jsx301(
38562
+ ] }) : isSkipped ? /* @__PURE__ */ jsx301(Fragment58, { children: /* @__PURE__ */ jsx301(
38557
38563
  StatusBadge,
38558
38564
  {
38559
38565
  text: "SKIPPED",
38560
38566
  variant: "card",
38561
38567
  colorScheme: "default"
38562
38568
  }
38563
- ) }) : /* @__PURE__ */ jsxs239(Fragment57, { children: [
38569
+ ) }) : /* @__PURE__ */ jsxs239(Fragment58, { children: [
38564
38570
  /* @__PURE__ */ jsx301(
38565
38571
  Button,
38566
38572
  {
@@ -39520,7 +39526,7 @@ function getHideClasses(hideAt) {
39520
39526
  }
39521
39527
 
39522
39528
  // src/components/ui/table/table-header.tsx
39523
- import { Fragment as Fragment58, jsx as jsx314, jsxs as jsxs249 } from "react/jsx-runtime";
39529
+ import { Fragment as Fragment59, jsx as jsx314, jsxs as jsxs249 } from "react/jsx-runtime";
39524
39530
  function TableHeader({
39525
39531
  columns,
39526
39532
  className,
@@ -39631,10 +39637,10 @@ function TableHeader({
39631
39637
  column.sortable && "cursor-pointer hover:text-ods-text-primary transition-colors"
39632
39638
  ),
39633
39639
  onClick: () => handleSort(column),
39634
- children: column.renderHeader ? /* @__PURE__ */ jsxs249(Fragment58, { children: [
39640
+ children: column.renderHeader ? /* @__PURE__ */ jsxs249(Fragment59, { children: [
39635
39641
  column.renderHeader(),
39636
39642
  getSortIcon(column)
39637
- ] }) : /* @__PURE__ */ jsxs249(Fragment58, { children: [
39643
+ ] }) : /* @__PURE__ */ jsxs249(Fragment59, { children: [
39638
39644
  /* @__PURE__ */ jsx314("span", { className: "text-h5 text-ods-text-secondary uppercase whitespace-nowrap", children: column.label }),
39639
39645
  getSortIcon(column)
39640
39646
  ] })
@@ -39689,7 +39695,7 @@ function TableCell({
39689
39695
 
39690
39696
  // src/components/ui/table/table-skeleton.tsx
39691
39697
  init_cn();
39692
- import { Fragment as Fragment59, jsx as jsx316, jsxs as jsxs250 } from "react/jsx-runtime";
39698
+ import { Fragment as Fragment60, jsx as jsx316, jsxs as jsxs250 } from "react/jsx-runtime";
39693
39699
  var ROW_HEIGHT_DESKTOP = "h-[68px] md:h-[80px]";
39694
39700
  var ROW_HEIGHT_MOBILE = "h-[68px]";
39695
39701
  function TableCardSkeleton({
@@ -39701,7 +39707,7 @@ function TableCardSkeleton({
39701
39707
  rowClassName
39702
39708
  }) {
39703
39709
  const primaryKey = (columns.find((c) => /flex-(1|\[)/.test(c.width || "")) ?? columns[0])?.key;
39704
- return /* @__PURE__ */ jsx316(Fragment59, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs250(
39710
+ return /* @__PURE__ */ jsx316(Fragment60, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs250(
39705
39711
  "div",
39706
39712
  {
39707
39713
  className: cn(
@@ -39880,7 +39886,7 @@ function useTableMotion(enabled) {
39880
39886
  }
39881
39887
 
39882
39888
  // src/components/ui/table/table.tsx
39883
- import { Fragment as Fragment60, jsx as jsx318, jsxs as jsxs252 } from "react/jsx-runtime";
39889
+ import { Fragment as Fragment61, jsx as jsx318, jsxs as jsxs252 } from "react/jsx-runtime";
39884
39890
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
39885
39891
  const hasActions = Boolean(rowActions?.length) || Boolean(renderRowActions);
39886
39892
  const result = [...columns];
@@ -40082,7 +40088,7 @@ function Table({
40082
40088
  hasActions: Boolean(rowActions) && rowActions.length > 0,
40083
40089
  hasChevron: Boolean(rowHref)
40084
40090
  }
40085
- ) : data.length === 0 ? /* @__PURE__ */ jsx318(TableEmptyState, { message: emptyMessage }) : /* @__PURE__ */ jsxs252(Fragment60, { children: [
40091
+ ) : data.length === 0 ? /* @__PURE__ */ jsx318(TableEmptyState, { message: emptyMessage }) : /* @__PURE__ */ jsxs252(Fragment61, { children: [
40086
40092
  (() => {
40087
40093
  const rows = data.map((item, index) => /* @__PURE__ */ jsx318(
40088
40094
  TableRow,
@@ -40709,7 +40715,7 @@ function DataTableColumnFilter({
40709
40715
  }
40710
40716
 
40711
40717
  // src/components/ui/data-table/data-table-header.tsx
40712
- import { Fragment as Fragment61, jsx as jsx327, jsxs as jsxs259 } from "react/jsx-runtime";
40718
+ import { Fragment as Fragment62, jsx as jsx327, jsxs as jsxs259 } from "react/jsx-runtime";
40713
40719
  function DataTableHeader({
40714
40720
  className,
40715
40721
  stickyHeader,
@@ -40805,7 +40811,7 @@ function HeaderLabel({ header }) {
40805
40811
  if (typeof headerDef === "string") {
40806
40812
  return /* @__PURE__ */ jsx327("span", { className: "text-h5 text-ods-text-secondary uppercase whitespace-nowrap transition-colors duration-200 group-hover:text-ods-text-primary", children: headerDef });
40807
40813
  }
40808
- return /* @__PURE__ */ jsx327(Fragment61, { children: flexRender(headerDef, header.getContext()) });
40814
+ return /* @__PURE__ */ jsx327(Fragment62, { children: flexRender(headerDef, header.getContext()) });
40809
40815
  }
40810
40816
  function SortIcon({ sorted }) {
40811
40817
  if (sorted === "asc") return /* @__PURE__ */ jsx327(Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" });
@@ -40844,7 +40850,7 @@ import { flexRender as flexRender2 } from "@tanstack/react-table";
40844
40850
 
40845
40851
  // src/components/ui/data-table/data-table-skeleton.tsx
40846
40852
  init_cn();
40847
- import { Fragment as Fragment62, jsx as jsx329, jsxs as jsxs260 } from "react/jsx-runtime";
40853
+ import { Fragment as Fragment63, jsx as jsx329, jsxs as jsxs260 } from "react/jsx-runtime";
40848
40854
  var ROW_HEIGHT_DESKTOP2 = "h-[68px] md:h-[80px]";
40849
40855
  var ROW_HEIGHT_MOBILE2 = "h-[68px]";
40850
40856
  function DataTableSkeleton({
@@ -40855,7 +40861,7 @@ function DataTableSkeleton({
40855
40861
  const table = useDataTableContext();
40856
40862
  const columns = table.getVisibleFlatColumns();
40857
40863
  const firstColumnId = columns[0]?.id;
40858
- return /* @__PURE__ */ jsx329(Fragment62, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs260(
40864
+ return /* @__PURE__ */ jsx329(Fragment63, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs260(
40859
40865
  "div",
40860
40866
  {
40861
40867
  className: cn(
@@ -40911,7 +40917,7 @@ function DataTableSkeleton({
40911
40917
  }
40912
40918
 
40913
40919
  // src/components/ui/data-table/data-table-row.tsx
40914
- import { Fragment as Fragment63, jsx as jsx330, jsxs as jsxs261 } from "react/jsx-runtime";
40920
+ import { Fragment as Fragment64, jsx as jsx330, jsxs as jsxs261 } from "react/jsx-runtime";
40915
40921
  function DataTableRowImpl({
40916
40922
  row,
40917
40923
  onClick,
@@ -41013,7 +41019,7 @@ function CellContent({ children }) {
41013
41019
  if (typeof children === "string" || typeof children === "number") {
41014
41020
  return /* @__PURE__ */ jsx330("span", { className: "text-h4 text-ods-text-primary truncate", title: String(children), children });
41015
41021
  }
41016
- return /* @__PURE__ */ jsx330(Fragment63, { children });
41022
+ return /* @__PURE__ */ jsx330(Fragment64, { children });
41017
41023
  }
41018
41024
 
41019
41025
  // src/components/ui/data-table/data-table-body.tsx
@@ -41093,7 +41099,7 @@ function DataTableBody({
41093
41099
 
41094
41100
  // src/components/ui/data-table/data-table-infinite-footer.tsx
41095
41101
  import { useEffect as useEffect73, useRef as useRef60 } from "react";
41096
- import { Fragment as Fragment64, jsx as jsx332, jsxs as jsxs263 } from "react/jsx-runtime";
41102
+ import { Fragment as Fragment65, jsx as jsx332, jsxs as jsxs263 } from "react/jsx-runtime";
41097
41103
  function DataTableInfiniteFooter({
41098
41104
  hasNextPage,
41099
41105
  isFetchingNextPage,
@@ -41117,7 +41123,7 @@ function DataTableInfiniteFooter({
41117
41123
  observer.observe(sentinel);
41118
41124
  return () => observer.disconnect();
41119
41125
  }, [hasNextPage, isFetchingNextPage, rootMargin]);
41120
- return /* @__PURE__ */ jsxs263(Fragment64, { children: [
41126
+ return /* @__PURE__ */ jsxs263(Fragment65, { children: [
41121
41127
  isFetchingNextPage && /* @__PURE__ */ jsx332(DataTableSkeleton, { rows: skeletonRows }),
41122
41128
  hasNextPage && /* @__PURE__ */ jsx332("div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" })
41123
41129
  ] });
@@ -42527,7 +42533,7 @@ function FileUpload({
42527
42533
  import * as React128 from "react";
42528
42534
  import { Loader2 as Loader210 } from "lucide-react";
42529
42535
  init_cn();
42530
- import { Fragment as Fragment66, jsx as jsx339, jsxs as jsxs270 } from "react/jsx-runtime";
42536
+ import { Fragment as Fragment67, jsx as jsx339, jsxs as jsxs270 } from "react/jsx-runtime";
42531
42537
  var DEFAULT_MAX_SIZE = 25 * 1024 * 1024;
42532
42538
  function formatSize(bytes) {
42533
42539
  const mb = bytes / (1024 * 1024);
@@ -42656,7 +42662,7 @@ function ImageUploader({
42656
42662
  !hasImage && !interactive && "cursor-not-allowed",
42657
42663
  dropzoneClassName
42658
42664
  ),
42659
- children: hasImage ? /* @__PURE__ */ jsxs270(Fragment66, { children: [
42665
+ children: hasImage ? /* @__PURE__ */ jsxs270(Fragment67, { children: [
42660
42666
  /* @__PURE__ */ jsx339("div", { className: "relative min-h-0 w-full flex-1 overflow-hidden rounded-md", children: resolvedValue && /* @__PURE__ */ jsx339(
42661
42667
  "img",
42662
42668
  {
@@ -42693,7 +42699,7 @@ function ImageUploader({
42693
42699
  )
42694
42700
  ] }),
42695
42701
  loading && /* @__PURE__ */ jsx339("div", { className: "absolute inset-0 flex items-center justify-center rounded-md bg-ods-overlay", children: /* @__PURE__ */ jsx339(Loader210, { className: "size-8 animate-spin text-ods-text-on-dark" }) })
42696
- ] }) : loading ? /* @__PURE__ */ jsx339(Loader210, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs270(Fragment66, { children: [
42702
+ ] }) : loading ? /* @__PURE__ */ jsx339(Loader210, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs270(Fragment67, { children: [
42697
42703
  /* @__PURE__ */ jsx339("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__ */ jsx339(ImagePlusIcon, { className: "size-6 text-ods-text-primary" }) }),
42698
42704
  /* @__PURE__ */ jsxs270("div", { className: "flex w-full flex-col items-center text-center", children: [
42699
42705
  /* @__PURE__ */ jsx339("p", { className: "text-h4 text-ods-text-primary", children: label }),
@@ -42763,7 +42769,7 @@ PopoverContent.displayName = PopoverPrimitive7.Content.displayName;
42763
42769
 
42764
42770
  // src/components/ui/color-preset-select.tsx
42765
42771
  init_cn();
42766
- import { Fragment as Fragment67, jsx as jsx341, jsxs as jsxs271 } from "react/jsx-runtime";
42772
+ import { Fragment as Fragment68, jsx as jsx341, jsxs as jsxs271 } from "react/jsx-runtime";
42767
42773
  var TICKET_STATUS_COLOR_PRESETS = [
42768
42774
  { key: "green", label: "Green", color: "#5ea62e" },
42769
42775
  { key: "lime", label: "Lime", color: "#8bc34a" },
@@ -42914,7 +42920,7 @@ function RgbInputs({ value, onChange }) {
42914
42920
  const b = next.b ?? rgb.b;
42915
42921
  onChange(rgbToHex(r, g, b));
42916
42922
  };
42917
- return /* @__PURE__ */ jsxs271(Fragment67, { children: [
42923
+ return /* @__PURE__ */ jsxs271(Fragment68, { children: [
42918
42924
  /* @__PURE__ */ jsx341(ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
42919
42925
  /* @__PURE__ */ jsx341(ChannelInput, { value: rgb.g, min: 0, max: 255, ariaLabel: "Green", onCommit: (g) => update({ g }) }),
42920
42926
  /* @__PURE__ */ jsx341(ChannelInput, { value: rgb.b, min: 0, max: 255, ariaLabel: "Blue", onCommit: (b) => update({ b }) })
@@ -42930,7 +42936,7 @@ function HslInputs({ value, onChange }) {
42930
42936
  const out = hslToRgb(h, s, l);
42931
42937
  onChange(rgbToHex(out.r, out.g, out.b));
42932
42938
  };
42933
- return /* @__PURE__ */ jsxs271(Fragment67, { children: [
42939
+ return /* @__PURE__ */ jsxs271(Fragment68, { children: [
42934
42940
  /* @__PURE__ */ jsx341(ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
42935
42941
  /* @__PURE__ */ jsx341(ChannelInput, { value: hsl.s, min: 0, max: 100, ariaLabel: "Saturation", onCommit: (s) => update({ s }) }),
42936
42942
  /* @__PURE__ */ jsx341(ChannelInput, { value: hsl.l, min: 0, max: 100, ariaLabel: "Lightness", onCommit: (l) => update({ l }) })
@@ -43227,7 +43233,7 @@ init_cn();
43227
43233
  // src/components/ui/ticket-note-card.tsx
43228
43234
  import * as React132 from "react";
43229
43235
  init_cn();
43230
- import { Fragment as Fragment68, jsx as jsx345, jsxs as jsxs275 } from "react/jsx-runtime";
43236
+ import { Fragment as Fragment69, jsx as jsx345, jsxs as jsxs275 } from "react/jsx-runtime";
43231
43237
  function TicketNoteCard({ note, onEdit, onDelete, className }) {
43232
43238
  const [isEditing, setIsEditing] = React132.useState(false);
43233
43239
  const [editText, setEditText] = React132.useState(note.text);
@@ -43301,7 +43307,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
43301
43307
  children: /* @__PURE__ */ jsx345(XmarkIcon, { className: "size-5" })
43302
43308
  }
43303
43309
  )
43304
- ] }) : /* @__PURE__ */ jsxs275(Fragment68, { children: [
43310
+ ] }) : /* @__PURE__ */ jsxs275(Fragment69, { children: [
43305
43311
  /* @__PURE__ */ jsx345("p", { className: "text-h4 text-ods-text-primary", children: note.text }),
43306
43312
  /* @__PURE__ */ jsxs275(
43307
43313
  "p",
@@ -43408,7 +43414,7 @@ function TicketNotesSection({
43408
43414
  }
43409
43415
 
43410
43416
  // src/components/ui/ticket-info-section.tsx
43411
- import { Fragment as Fragment69, jsx as jsx347, jsxs as jsxs277 } from "react/jsx-runtime";
43417
+ import { Fragment as Fragment70, jsx as jsx347, jsxs as jsxs277 } from "react/jsx-runtime";
43412
43418
  function InfoCell2({ value, label, icon, onClick }) {
43413
43419
  return /* @__PURE__ */ jsx347("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ jsxs277("div", { className: "flex flex-col justify-center", children: [
43414
43420
  /* @__PURE__ */ jsxs277("div", { className: "flex items-center gap-1 w-full min-w-0", children: [
@@ -43533,7 +43539,7 @@ function TicketInfoSection({
43533
43539
  )
43534
43540
  ] })
43535
43541
  ] }),
43536
- expanded && /* @__PURE__ */ jsxs277(Fragment69, { children: [
43542
+ expanded && /* @__PURE__ */ jsxs277(Fragment70, { children: [
43537
43543
  createdAt && /* @__PURE__ */ jsx347("div", { className: "grid grid-cols-2 gap-4 px-4 py-3 bg-ods-bg border-b border-ods-border items-center", children: /* @__PURE__ */ jsx347(InfoCell2, { value: createdAt, label: "Created" }) }),
43538
43544
  /* @__PURE__ */ jsxs277("div", { className: "flex flex-col gap-4 p-4 bg-ods-bg border-b border-ods-border", children: [
43539
43545
  description && /* @__PURE__ */ jsx347(SimpleMarkdownRenderer, { content: description }),
@@ -43591,7 +43597,7 @@ function FilterPillRow({
43591
43597
 
43592
43598
  // src/components/ui/image-gallery-modal.tsx
43593
43599
  import { ChevronLeft as ChevronLeft4, ChevronRight as ChevronRight8 } from "lucide-react";
43594
- import { Fragment as Fragment70, jsx as jsx349, jsxs as jsxs279 } from "react/jsx-runtime";
43600
+ import { Fragment as Fragment71, jsx as jsx349, jsxs as jsxs279 } from "react/jsx-runtime";
43595
43601
  function ImageGalleryModal({
43596
43602
  images,
43597
43603
  isOpen,
@@ -43647,7 +43653,7 @@ function ImageGalleryModal({
43647
43653
  onClose,
43648
43654
  className: "max-w-[95vw]",
43649
43655
  children: /* @__PURE__ */ jsxs279("div", { className: "relative flex items-center justify-center bg-black rounded-lg", children: [
43650
- images.length > 1 && /* @__PURE__ */ jsxs279(Fragment70, { children: [
43656
+ images.length > 1 && /* @__PURE__ */ jsxs279(Fragment71, { children: [
43651
43657
  selectedImageIndex > 0 && /* @__PURE__ */ jsx349("div", { className: "absolute left-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx349(
43652
43658
  Button,
43653
43659
  {
@@ -43765,7 +43771,7 @@ function TaskTypeIcon({ customItemId, className = "h-5 w-5" }) {
43765
43771
  }
43766
43772
 
43767
43773
  // src/components/chat/entity-cards/roadmap-card.tsx
43768
- import { Fragment as Fragment71, jsx as jsx351, jsxs as jsxs280 } from "react/jsx-runtime";
43774
+ import { Fragment as Fragment72, jsx as jsx351, jsxs as jsxs280 } from "react/jsx-runtime";
43769
43775
  function RoadmapCardSkeleton({ size: size2 = "default" }) {
43770
43776
  if (size2 === "sm") {
43771
43777
  return /* @__PURE__ */ jsxs280("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
@@ -43827,7 +43833,7 @@ function RoadmapCard({
43827
43833
  const hasScreenshots = (item.screenshots?.length ?? 0) > 0;
43828
43834
  const typeLabel = getTaskTypeLabel(item.customItemId);
43829
43835
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
43830
- const body = /* @__PURE__ */ jsxs280(Fragment71, { children: [
43836
+ const body = /* @__PURE__ */ jsxs280(Fragment72, { children: [
43831
43837
  /* @__PURE__ */ jsx351(
43832
43838
  "span",
43833
43839
  {
@@ -44019,7 +44025,7 @@ function RoadmapCard({
44019
44025
  // src/components/chat/entity-cards/github-activity-card.tsx
44020
44026
  import React135 from "react";
44021
44027
  import { GitPullRequest, Eye as Eye4, ExternalLink as ExternalLink8 } from "lucide-react";
44022
- import { Fragment as Fragment72, jsx as jsx352, jsxs as jsxs281 } from "react/jsx-runtime";
44028
+ import { Fragment as Fragment73, jsx as jsx352, jsxs as jsxs281 } from "react/jsx-runtime";
44023
44029
  function parseRepoFromUrl(url) {
44024
44030
  if (!url) return null;
44025
44031
  try {
@@ -44151,7 +44157,7 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
44151
44157
  if (repo) metaParts.push(/* @__PURE__ */ jsx352("span", { className: "font-mono truncate", children: repo }, "repo"));
44152
44158
  if (dateText) metaParts.push(/* @__PURE__ */ jsx352("span", { className: "whitespace-nowrap", children: dateText }, "date"));
44153
44159
  const href = safeHref(item.url);
44154
- const body = /* @__PURE__ */ jsxs281(Fragment72, { children: [
44160
+ const body = /* @__PURE__ */ jsxs281(Fragment73, { children: [
44155
44161
  /* @__PURE__ */ jsx352("span", { className: COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
44156
44162
  /* @__PURE__ */ jsxs281("span", { className: COMPACT_CARD_TEXT_COL, children: [
44157
44163
  /* @__PURE__ */ jsxs281("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
@@ -44206,7 +44212,7 @@ function GitHubActivityCardSkeleton({ variant = "compact", className }) {
44206
44212
  // src/components/chat/entity-cards/slack-message-card.tsx
44207
44213
  import React136 from "react";
44208
44214
  import { ExternalLink as ExternalLink9, Hash } from "lucide-react";
44209
- import { Fragment as Fragment73, jsx as jsx353, jsxs as jsxs282 } from "react/jsx-runtime";
44215
+ import { Fragment as Fragment74, jsx as jsx353, jsxs as jsxs282 } from "react/jsx-runtime";
44210
44216
  function parseChannelFromUrl(url) {
44211
44217
  if (!url) return null;
44212
44218
  try {
@@ -44245,7 +44251,7 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
44245
44251
  }
44246
44252
  if (dateText) metaParts.push(/* @__PURE__ */ jsx353("span", { className: "whitespace-nowrap", children: dateText }, "date"));
44247
44253
  const href = safeHref(item.url);
44248
- const body = /* @__PURE__ */ jsxs282(Fragment73, { children: [
44254
+ const body = /* @__PURE__ */ jsxs282(Fragment74, { children: [
44249
44255
  /* @__PURE__ */ jsx353("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx353(SlackIcon, { className: "h-5 w-5" }) }),
44250
44256
  /* @__PURE__ */ jsxs282("span", { className: COMPACT_CARD_TEXT_COL, children: [
44251
44257
  /* @__PURE__ */ jsx353("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx353("span", { className: COMPACT_CARD_TITLE, children: item.title }) }),
@@ -44295,7 +44301,7 @@ function SlackMessageCardSkeleton({ variant = "compact", className }) {
44295
44301
  // src/components/chat/entity-cards/hubspot-ticket-card.tsx
44296
44302
  import React137 from "react";
44297
44303
  import { ExternalLink as ExternalLink10 } from "lucide-react";
44298
- import { Fragment as Fragment74, jsx as jsx354, jsxs as jsxs283 } from "react/jsx-runtime";
44304
+ import { Fragment as Fragment75, jsx as jsx354, jsxs as jsxs283 } from "react/jsx-runtime";
44299
44305
  function formatToken(token) {
44300
44306
  if (!token) return null;
44301
44307
  const lower = token.toLowerCase().replace(/_/g, " ");
@@ -44334,7 +44340,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
44334
44340
  }
44335
44341
  if (dateText) metaParts.push(/* @__PURE__ */ jsx354("span", { className: "whitespace-nowrap", children: dateText }, "date"));
44336
44342
  const href = safeHref(item.url);
44337
- const body = /* @__PURE__ */ jsxs283(Fragment74, { children: [
44343
+ const body = /* @__PURE__ */ jsxs283(Fragment75, { children: [
44338
44344
  /* @__PURE__ */ jsxs283("span", { className: COMPACT_CARD_TEXT_COL, children: [
44339
44345
  /* @__PURE__ */ jsxs283("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
44340
44346
  /* @__PURE__ */ jsx354("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
@@ -44414,9 +44420,9 @@ function HubspotTicketCardSkeleton({ variant = "compact", className }) {
44414
44420
 
44415
44421
  // src/components/chat/entity-cards/data-room-doc-card.tsx
44416
44422
  import { ExternalLink as ExternalLink11 } from "lucide-react";
44417
- import { Fragment as Fragment75, jsx as jsx355, jsxs as jsxs284 } from "react/jsx-runtime";
44423
+ import { Fragment as Fragment76, jsx as jsx355, jsxs as jsxs284 } from "react/jsx-runtime";
44418
44424
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
44419
- const body = /* @__PURE__ */ jsxs284(Fragment75, { children: [
44425
+ const body = /* @__PURE__ */ jsxs284(Fragment76, { children: [
44420
44426
  /* @__PURE__ */ jsxs284("span", { className: COMPACT_CARD_TEXT_COL, children: [
44421
44427
  /* @__PURE__ */ jsxs284("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
44422
44428
  /* @__PURE__ */ jsx355("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
@@ -46026,7 +46032,7 @@ function cleanEscapedString(input) {
46026
46032
  init_button();
46027
46033
  import { ExternalLink as ExternalLink12, Clock as Clock2, Play as Play4, Video as Video5 } from "lucide-react";
46028
46034
  init_cn();
46029
- import { Fragment as Fragment76, jsx as jsx356, jsxs as jsxs285 } from "react/jsx-runtime";
46035
+ import { Fragment as Fragment77, jsx as jsx356, jsxs as jsxs285 } from "react/jsx-runtime";
46030
46036
  function formatUtc(date, fmt) {
46031
46037
  return format2(new Date(date.getTime() + date.getTimezoneOffset() * 6e4), fmt);
46032
46038
  }
@@ -46101,7 +46107,7 @@ function MediaGallery({ images, title }) {
46101
46107
  setIsModalOpen(false);
46102
46108
  setSelectedImageIndex(null);
46103
46109
  };
46104
- return /* @__PURE__ */ jsxs285(Fragment76, { children: [
46110
+ return /* @__PURE__ */ jsxs285(Fragment77, { children: [
46105
46111
  /* @__PURE__ */ jsx356("div", { className: "p-6 pt-4", children: /* @__PURE__ */ jsx356("div", { className: "overflow-x-auto mb-4", children: /* @__PURE__ */ jsx356("div", { className: "flex gap-3 pb-2", style: { width: "max-content" }, children: images.map((mediaItem, index) => /* @__PURE__ */ jsxs285(
46106
46112
  "div",
46107
46113
  {
@@ -46243,7 +46249,7 @@ function ProgramCard({
46243
46249
  const dateFormat = formatUtc(itemDate, "EEEE d MMMM");
46244
46250
  const defaultRenderMeta = () => {
46245
46251
  if (config.type === "podcast" && "duration_seconds" in item && !isScheduled) {
46246
- return /* @__PURE__ */ jsxs285(Fragment76, { children: [
46252
+ return /* @__PURE__ */ jsxs285(Fragment77, { children: [
46247
46253
  /* @__PURE__ */ jsx356(Clock2, { className: "w-4 h-4 text-ods-text-secondary" }),
46248
46254
  /* @__PURE__ */ jsx356("span", { className: "font-body text-ods-text-secondary", children: formatDurationCompact(item.duration_seconds) })
46249
46255
  ] });
@@ -46254,7 +46260,7 @@ function ProgramCard({
46254
46260
  if (config.type === "webinar" && "start_at" in item) {
46255
46261
  const webinarItem = item;
46256
46262
  const duration = formatDurationFromRange(webinarItem.start_at, webinarItem.end_at);
46257
- return /* @__PURE__ */ jsxs285(Fragment76, { children: [
46263
+ return /* @__PURE__ */ jsxs285(Fragment77, { children: [
46258
46264
  /* @__PURE__ */ jsx356(Video5, { className: "w-4 h-4 text-ods-text-secondary" }),
46259
46265
  /* @__PURE__ */ jsxs285("span", { className: "font-body text-ods-text-secondary", children: [
46260
46266
  formatTimeWithTimezone(webinarItem.start_at, webinarItem.timezone ?? null),
@@ -46288,10 +46294,10 @@ function ProgramCard({
46288
46294
  /* @__PURE__ */ jsx356("h3", { className: "text-h2 text-ods-text-primary mb-3 min-h-[3rem] md:min-h-[3.5rem] line-clamp-2 flex items-center", children: item.title }),
46289
46295
  /* @__PURE__ */ jsxs285("div", { className: "flex flex-col md:flex-row md:items-center gap-2 md:gap-4 mb-4", children: [
46290
46296
  /* @__PURE__ */ jsx356("span", { className: "text-h6", style: { color: accentColor }, children: dateFormat }),
46291
- renderMeta ? /* @__PURE__ */ jsxs285(Fragment76, { children: [
46297
+ renderMeta ? /* @__PURE__ */ jsxs285(Fragment77, { children: [
46292
46298
  /* @__PURE__ */ jsx356("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
46293
46299
  renderMeta(item)
46294
- ] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs285(Fragment76, { children: [
46300
+ ] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs285(Fragment77, { children: [
46295
46301
  /* @__PURE__ */ jsx356("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
46296
46302
  /* @__PURE__ */ jsx356("div", { className: "flex items-center gap-2", children: defaultRenderMeta() })
46297
46303
  ] })
@@ -46368,10 +46374,10 @@ function ProgramCard({
46368
46374
 
46369
46375
  // src/components/chat/entity-cards/campaign-card-admin.tsx
46370
46376
  import { Megaphone as Megaphone3 } from "lucide-react";
46371
- import { Fragment as Fragment77, jsx as jsx357, jsxs as jsxs286 } from "react/jsx-runtime";
46377
+ import { Fragment as Fragment78, jsx as jsx357, jsxs as jsxs286 } from "react/jsx-runtime";
46372
46378
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
46373
46379
  const goalsCount = campaign.goals?.length || 0;
46374
- const innerChildren = /* @__PURE__ */ jsxs286(Fragment77, { children: [
46380
+ const innerChildren = /* @__PURE__ */ jsxs286(Fragment78, { children: [
46375
46381
  /* @__PURE__ */ jsx357("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx357(Megaphone3, { className: "h-5 w-5" }) }),
46376
46382
  /* @__PURE__ */ jsxs286("span", { className: COMPACT_CARD_TEXT_COL, children: [
46377
46383
  /* @__PURE__ */ jsx357("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx357("span", { className: COMPACT_CARD_TITLE, children: campaign.name }) }),
@@ -46401,11 +46407,11 @@ function CampaignCardAdminSkeleton({ className }) {
46401
46407
 
46402
46408
  // src/components/chat/entity-cards/generic-entity-card.tsx
46403
46409
  import { ExternalLink as ExternalLink13 } from "lucide-react";
46404
- import { Fragment as Fragment78, jsx as jsx358, jsxs as jsxs287 } from "react/jsx-runtime";
46410
+ import { Fragment as Fragment79, jsx as jsx358, jsxs as jsxs287 } from "react/jsx-runtime";
46405
46411
  function GenericEntityCard({ item, className, anchorProps }) {
46406
46412
  const href = safeHref(item.url);
46407
46413
  const dateText = formatDateUTC(item.dateUpdated, { fallback: "", timezone: "local" });
46408
- const body = /* @__PURE__ */ jsxs287(Fragment78, { children: [
46414
+ const body = /* @__PURE__ */ jsxs287(Fragment79, { children: [
46409
46415
  /* @__PURE__ */ jsxs287("span", { className: COMPACT_CARD_TEXT_COL, children: [
46410
46416
  /* @__PURE__ */ jsxs287("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
46411
46417
  /* @__PURE__ */ jsx358("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
@@ -46590,7 +46596,7 @@ function resolveSourceIcon(input, ctx = {}) {
46590
46596
 
46591
46597
  // src/components/chat/mingo-info-card.tsx
46592
46598
  init_cn();
46593
- import { Fragment as Fragment79, jsx as jsx359, jsxs as jsxs288 } from "react/jsx-runtime";
46599
+ import { Fragment as Fragment80, jsx as jsx359, jsxs as jsxs288 } from "react/jsx-runtime";
46594
46600
  function CardMedia({
46595
46601
  imageSrc,
46596
46602
  imageAlt,
@@ -46634,7 +46640,7 @@ function MingoInfoCard({
46634
46640
  const hasMenu = !!menuGroups && menuGroups.length > 0;
46635
46641
  const isAnchor = !!anchorProps;
46636
46642
  const isInteractive = isAnchor || !!onClick;
46637
- const content = /* @__PURE__ */ jsxs288(Fragment79, { children: [
46643
+ const content = /* @__PURE__ */ jsxs288(Fragment80, { children: [
46638
46644
  hasMedia && /* @__PURE__ */ jsx359(CardMedia, { imageSrc, imageAlt, icon }),
46639
46645
  /* @__PURE__ */ jsxs288("span", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
46640
46646
  /* @__PURE__ */ jsx359("span", { className: "truncate text-h4 text-ods-text-primary", children: title }),
@@ -46683,7 +46689,7 @@ function MingoInfoCard({
46683
46689
  }
46684
46690
 
46685
46691
  // src/components/chat/entity-cards/dispatch.tsx
46686
- import { Fragment as Fragment80, jsx as jsx360, jsxs as jsxs289 } from "react/jsx-runtime";
46692
+ import { Fragment as Fragment81, jsx as jsx360, jsxs as jsxs289 } from "react/jsx-runtime";
46687
46693
  function githubKindIcon(kind) {
46688
46694
  switch (kind) {
46689
46695
  case "pull_request":
@@ -47651,10 +47657,10 @@ function ChatCardLoader({
47651
47657
  }
47652
47658
  );
47653
47659
  }
47654
- if (isLoading) return /* @__PURE__ */ jsx360(Fragment80, { children: entry.skeleton() });
47660
+ if (isLoading) return /* @__PURE__ */ jsx360(Fragment81, { children: entry.skeleton() });
47655
47661
  if (!item) return null;
47656
47662
  if (entry.bareInline) {
47657
- return /* @__PURE__ */ jsx360(Fragment80, { children: navWrap(entry.render(item, finalChatRef, renderOpts)) });
47663
+ return /* @__PURE__ */ jsx360(Fragment81, { children: navWrap(entry.render(item, finalChatRef, renderOpts)) });
47658
47664
  }
47659
47665
  return /* @__PURE__ */ jsx360(
47660
47666
  ChatCardWithDiscuss,
@@ -48577,6 +48583,7 @@ function parseChunkToAction(chunk) {
48577
48583
  integratedToolType: data.integratedToolType || "",
48578
48584
  toolFunction: data.toolFunction || "",
48579
48585
  toolTitle: typeof data.title === "string" ? data.title : void 0,
48586
+ toolExplanation: typeof data.toolExplanation === "string" ? data.toolExplanation : void 0,
48580
48587
  parameters: data.parameters,
48581
48588
  toolExecutionRequestId: typeof data.toolExecutionRequestId === "string" ? data.toolExecutionRequestId : void 0
48582
48589
  }
@@ -48827,6 +48834,7 @@ var MessageSegmentAccumulator = class {
48827
48834
  integratedToolType: toolData.integratedToolType,
48828
48835
  toolFunction: toolData.toolFunction,
48829
48836
  toolTitle: toolData.toolTitle,
48837
+ toolExplanation: toolData.toolExplanation,
48830
48838
  parameters: toolData.parameters
48831
48839
  });
48832
48840
  this.segments.push(segment);
@@ -48841,6 +48849,7 @@ var MessageSegmentAccumulator = class {
48841
48849
  data: {
48842
48850
  ...toolData,
48843
48851
  toolTitle: toolData.toolTitle ?? existingExecuting?.data.toolTitle ?? executingTool?.toolTitle,
48852
+ toolExplanation: toolData.toolExplanation ?? existingExecuting?.data.toolExplanation ?? executingTool?.toolExplanation,
48844
48853
  parameters: toolData.parameters || executingTool?.parameters
48845
48854
  }
48846
48855
  };
@@ -51125,6 +51134,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
51125
51134
  integratedToolType: data.integratedToolType || "",
51126
51135
  toolFunction: data.toolFunction || "",
51127
51136
  toolTitle: typeof data.title === "string" ? data.title : void 0,
51137
+ toolExplanation: typeof data.toolExplanation === "string" ? data.toolExplanation : void 0,
51128
51138
  parameters: data.parameters,
51129
51139
  toolExecutionRequestId: data.toolExecutionRequestId
51130
51140
  }
@@ -51423,6 +51433,7 @@ function extractIncompleteMessageState(lastMessage) {
51423
51433
  integratedToolType: segment.data.integratedToolType,
51424
51434
  toolFunction: segment.data.toolFunction,
51425
51435
  toolTitle: segment.data.toolTitle,
51436
+ toolExplanation: segment.data.toolExplanation,
51426
51437
  parameters: segment.data.parameters
51427
51438
  });
51428
51439
  hasIncompleteState = true;
@@ -51579,6 +51590,7 @@ function applyToolExecutionToMessages(prev, segment) {
51579
51590
  data: {
51580
51591
  ...toolData,
51581
51592
  toolTitle: toolData.toolTitle ?? seg.data.toolTitle,
51593
+ toolExplanation: toolData.toolExplanation ?? seg.data.toolExplanation,
51582
51594
  parameters: toolData.parameters || seg.data.parameters
51583
51595
  }
51584
51596
  };
@@ -53007,7 +53019,7 @@ function useChatDialogManager({
53007
53019
 
53008
53020
  // src/components/chat/embeddable-chat.tsx
53009
53021
  init_next_navigation();
53010
- import { Fragment as Fragment81, jsx as jsx364, jsxs as jsxs290 } from "react/jsx-runtime";
53022
+ import { Fragment as Fragment82, jsx as jsx364, jsxs as jsxs290 } from "react/jsx-runtime";
53011
53023
  var DRAWER_DEFAULT_WIDTH_RATIO = 0.5;
53012
53024
  var DRAWER_WIDTH_KEY = "mingo-chat-width-v3";
53013
53025
  var DRAWER_DEFAULT_WIDTH_PX = 750;
@@ -53179,7 +53191,7 @@ function SourceChip({
53179
53191
  );
53180
53192
  }
53181
53193
  const displayName = src.name || formatRelativePath(src.path);
53182
- const chipBody = (label) => /* @__PURE__ */ jsxs290(Fragment81, { children: [
53194
+ const chipBody = (label) => /* @__PURE__ */ jsxs290(Fragment82, { children: [
53183
53195
  icon,
53184
53196
  /* @__PURE__ */ jsxs290("span", { className: "truncate max-w-[160px]", children: [
53185
53197
  "[",
@@ -53986,7 +53998,7 @@ function EmbeddableChatInner({
53986
53998
  // renders in the rail below); the chat block is untouched.
53987
53999
  // Back is a full-height leading cell, matching the other
53988
54000
  // header cells (not a small inline chevron).
53989
- /* @__PURE__ */ jsxs290(Fragment81, { children: [
54001
+ /* @__PURE__ */ jsxs290(Fragment82, { children: [
53990
54002
  /* @__PURE__ */ jsx364(
53991
54003
  ChatHeaderIconButton,
53992
54004
  {
@@ -54003,7 +54015,7 @@ function EmbeddableChatInner({
54003
54015
  // search + archive controls. When search is open the
54004
54016
  // inline field takes over the title area in place
54005
54017
  // (Figma 116:51217) and the magnifier toggle is hidden.
54006
- /* @__PURE__ */ jsxs290(Fragment81, { children: [
54018
+ /* @__PURE__ */ jsxs290(Fragment82, { children: [
54007
54019
  railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ jsx364(
54008
54020
  ChatHeaderSearchField,
54009
54021
  {
@@ -54011,7 +54023,7 @@ function EmbeddableChatInner({
54011
54023
  onSearchChange: mingoCaps.onSearchChange,
54012
54024
  onCollapse: () => setRailSearchOpen(false)
54013
54025
  }
54014
- ) : /* @__PURE__ */ jsxs290(Fragment81, { children: [
54026
+ ) : /* @__PURE__ */ jsxs290(Fragment82, { children: [
54015
54027
  /* @__PURE__ */ jsx364("div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ jsx364("span", { className: "min-w-0 flex-1 truncate text-h3 text-ods-text-primary", children: "Current Chats" }) }),
54016
54028
  mingoCaps.onSearchChange && /* @__PURE__ */ jsx364(
54017
54029
  ChatHeaderIconButton,
@@ -54157,7 +54169,7 @@ function EmbeddableChatInner({
54157
54169
  onRetry: reloadDialogs
54158
54170
  }
54159
54171
  )
54160
- ) : /* @__PURE__ */ jsxs290(Fragment81, { children: [
54172
+ ) : /* @__PURE__ */ jsxs290(Fragment82, { children: [
54161
54173
  /* @__PURE__ */ jsx364(
54162
54174
  "div",
54163
54175
  {
@@ -54403,7 +54415,7 @@ function EmbeddableChatInner({
54403
54415
  ]
54404
54416
  }
54405
54417
  ) }) });
54406
- return /* @__PURE__ */ jsxs290(Fragment81, { children: [
54418
+ return /* @__PURE__ */ jsxs290(Fragment82, { children: [
54407
54419
  showInternalTrigger && !shellLess && /* @__PURE__ */ jsx364(
54408
54420
  "div",
54409
54421
  {
@@ -55423,4 +55435,4 @@ export {
55423
55435
  LogsList,
55424
55436
  assets
55425
55437
  };
55426
- //# sourceMappingURL=chunk-4G7PVIYP.js.map
55438
+ //# sourceMappingURL=chunk-JFDSGGAK.js.map