@flamingo-stack/openframe-frontend-core 0.0.479 → 0.0.480

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-LJWIWLD3.cjs → chunk-2KQSGCXE.cjs} +9 -9
  2. package/dist/{chunk-LJWIWLD3.cjs.map → chunk-2KQSGCXE.cjs.map} +1 -1
  3. package/dist/{chunk-WTH5WXOH.js → chunk-3KUF3WZA.js} +2 -2
  4. package/dist/{chunk-UTCQZ4IP.js → chunk-3RNTIJHB.js} +2 -2
  5. package/dist/{chunk-I7S4ZLHX.cjs → chunk-3U63ZV3X.cjs} +812 -793
  6. package/dist/chunk-3U63ZV3X.cjs.map +1 -0
  7. package/dist/{chunk-VWHYXVRX.js → chunk-DERJNBZP.js} +2 -2
  8. package/dist/{chunk-AQG6DSFV.js → chunk-DHKIQLI2.js} +2 -2
  9. package/dist/{chunk-FMSKP2SZ.cjs → chunk-E7VFCW5W.cjs} +11 -11
  10. package/dist/{chunk-FMSKP2SZ.cjs.map → chunk-E7VFCW5W.cjs.map} +1 -1
  11. package/dist/{chunk-LZ64BSR5.cjs → chunk-JF24RU23.cjs} +7 -7
  12. package/dist/{chunk-LZ64BSR5.cjs.map → chunk-JF24RU23.cjs.map} +1 -1
  13. package/dist/{chunk-THGA7UZZ.js → chunk-JFDSGGAK.js} +231 -212
  14. package/dist/chunk-JFDSGGAK.js.map +1 -0
  15. package/dist/{chunk-KXUP44QJ.cjs → chunk-LLFHPCSN.cjs} +31 -31
  16. package/dist/{chunk-KXUP44QJ.cjs.map → chunk-LLFHPCSN.cjs.map} +1 -1
  17. package/dist/{chunk-PZYIEVIV.cjs → chunk-MHRVEZCV.cjs} +59 -59
  18. package/dist/{chunk-PZYIEVIV.cjs.map → chunk-MHRVEZCV.cjs.map} +1 -1
  19. package/dist/{chunk-MKLZ6SRA.js → chunk-OW55OP63.js} +4 -4
  20. package/dist/{chunk-XU7AXADL.cjs → chunk-P4TRELZZ.cjs} +26 -26
  21. package/dist/{chunk-XU7AXADL.cjs.map → chunk-P4TRELZZ.cjs.map} +1 -1
  22. package/dist/{chunk-M6NVQVZQ.cjs → chunk-Q2M7H2EB.cjs} +62 -62
  23. package/dist/{chunk-M6NVQVZQ.cjs.map → chunk-Q2M7H2EB.cjs.map} +1 -1
  24. package/dist/{chunk-RYVF3SQE.js → chunk-QPLNXVEQ.js} +4 -4
  25. package/dist/{chunk-7URE6XMT.js → chunk-R7UD3W7H.js} +2 -2
  26. package/dist/{chunk-46C2MVQG.cjs → chunk-S2ESE7RO.cjs} +15 -15
  27. package/dist/{chunk-46C2MVQG.cjs.map → chunk-S2ESE7RO.cjs.map} +1 -1
  28. package/dist/{chunk-ECF7DKWA.js → chunk-U77JKQT4.js} +2 -2
  29. package/dist/{chunk-MXXGD6HW.cjs → chunk-VYPTIGJO.cjs} +37 -37
  30. package/dist/{chunk-MXXGD6HW.cjs.map → chunk-VYPTIGJO.cjs.map} +1 -1
  31. package/dist/{chunk-6MQIGRAR.cjs → chunk-VYX4RQMO.cjs} +26 -26
  32. package/dist/{chunk-6MQIGRAR.cjs.map → chunk-VYX4RQMO.cjs.map} +1 -1
  33. package/dist/{chunk-5VGG3W43.js → chunk-WFRG5KRR.js} +4 -4
  34. package/dist/{chunk-JLRAUI7V.cjs → chunk-XMP7D4NB.cjs} +5 -5
  35. package/dist/{chunk-JLRAUI7V.cjs.map → chunk-XMP7D4NB.cjs.map} +1 -1
  36. package/dist/{chunk-A56QSYYE.js → chunk-YHUZ4WSI.js} +4 -4
  37. package/dist/{chunk-4PIISCMH.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 +97 -54
  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-I7S4ZLHX.cjs.map +0 -1
  95. package/dist/chunk-THGA7UZZ.js.map +0 -1
  96. /package/dist/{chunk-WTH5WXOH.js.map → chunk-3KUF3WZA.js.map} +0 -0
  97. /package/dist/{chunk-UTCQZ4IP.js.map → chunk-3RNTIJHB.js.map} +0 -0
  98. /package/dist/{chunk-VWHYXVRX.js.map → chunk-DERJNBZP.js.map} +0 -0
  99. /package/dist/{chunk-AQG6DSFV.js.map → chunk-DHKIQLI2.js.map} +0 -0
  100. /package/dist/{chunk-MKLZ6SRA.js.map → chunk-OW55OP63.js.map} +0 -0
  101. /package/dist/{chunk-RYVF3SQE.js.map → chunk-QPLNXVEQ.js.map} +0 -0
  102. /package/dist/{chunk-7URE6XMT.js.map → chunk-R7UD3W7H.js.map} +0 -0
  103. /package/dist/{chunk-ECF7DKWA.js.map → chunk-U77JKQT4.js.map} +0 -0
  104. /package/dist/{chunk-5VGG3W43.js.map → chunk-WFRG5KRR.js.map} +0 -0
  105. /package/dist/{chunk-A56QSYYE.js.map → chunk-YHUZ4WSI.js.map} +0 -0
  106. /package/dist/{chunk-4PIISCMH.js.map → chunk-Z7IFLZ4V.js.map} +0 -0
@@ -4899,23 +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 = message2.toolTitle;
4913
+ const previewText = variant === "client" ? message2.toolExplanation?.trim() : message2.toolTitle?.trim();
4913
4914
  const argEntries = useMemo5(() => {
4914
4915
  if (!message2.parameters || typeof message2.parameters !== "object") return [];
4915
- return Object.entries(message2.parameters).filter(
4916
- ([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 !== ""
4917
4918
  );
4918
- }, [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]);
4919
4926
  const hasResult = isExecuted && typeof message2.result === "string" && message2.result.length > 0;
4920
4927
  const hasBody = argEntries.length > 0 || hasResult || isExecuting;
4921
4928
  const renderStatusIcon = () => {
@@ -4924,7 +4931,22 @@ var ToolExecutionDisplay = forwardRef10(
4924
4931
  if (isExecuted && message2.success === false) return /* @__PURE__ */ jsx23(XmarkCircleIcon, { className: "w-4 h-4 text-ods-error" });
4925
4932
  return null;
4926
4933
  };
4927
- 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(
4928
4950
  "div",
4929
4951
  {
4930
4952
  ref,
@@ -4935,28 +4957,18 @@ var ToolExecutionDisplay = forwardRef10(
4935
4957
  className
4936
4958
  ),
4937
4959
  ...props,
4938
- children: [
4939
- /* @__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(
4940
4966
  "button",
4941
4967
  {
4942
4968
  type: "button",
4943
4969
  className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
4944
4970
  onClick: () => setExpanded((prev) => !prev),
4945
- children: [
4946
- !isClient && /* @__PURE__ */ jsx23("div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ jsx23(ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4947
- /* @__PURE__ */ jsx23(
4948
- "div",
4949
- {
4950
- className: cn(
4951
- "flex-1 min-w-0 text-h6",
4952
- expanded ? "text-ods-text-primary whitespace-pre-wrap break-all" : "text-ods-text-secondary line-clamp-2 max-h-10 break-all"
4953
- ),
4954
- children: previewText
4955
- }
4956
- ),
4957
- /* @__PURE__ */ jsx23("div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: renderStatusIcon() }),
4958
- /* @__PURE__ */ jsx23("div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ jsx23(ExpandChevron, { expanded }) })
4959
- ]
4971
+ children: headerContent
4960
4972
  }
4961
4973
  ),
4962
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: [
@@ -4982,7 +4994,7 @@ var ToolExecutionDisplay = forwardRef10(
4982
4994
  }
4983
4995
  )
4984
4996
  ] }) }) })
4985
- ]
4997
+ ] })
4986
4998
  }
4987
4999
  );
4988
5000
  }
@@ -5076,13 +5088,13 @@ function BlockCard(_props) {
5076
5088
 
5077
5089
  // src/components/chat/chat-context-picker.tsx
5078
5090
  import { QueryErrorResetBoundary } from "@tanstack/react-query";
5079
- 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";
5080
5092
  init_cn();
5081
5093
 
5082
5094
  // src/components/chat/context-items-list.tsx
5083
5095
  import * as React9 from "react";
5084
5096
  init_cn();
5085
- 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";
5086
5098
  var itemKey = (i) => `${i.type}:${i.id}`;
5087
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";
5088
5100
  var CONTEXT_ICON_CLASS = "flex size-4 shrink-0 items-center justify-center text-ods-text-secondary md:size-6";
@@ -5118,7 +5130,7 @@ function ContextMenuRow({
5118
5130
  );
5119
5131
  }
5120
5132
  function ContextItemsSkeleton({ count }) {
5121
- 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(
5122
5134
  "div",
5123
5135
  {
5124
5136
  className: "flex items-center border-b border-ods-border bg-ods-bg py-3 pl-4 pr-2 last:border-b-0",
@@ -5201,7 +5213,7 @@ var ContextErrorBoundary = class extends React9.Component {
5201
5213
  };
5202
5214
 
5203
5215
  // src/components/chat/chat-context-picker.tsx
5204
- 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";
5205
5217
  var CHAT_CONTEXT_ITEMS_DEFAULT_MAX = 10;
5206
5218
  var ITEMS_SKELETON_ROWS = 10;
5207
5219
  var SEARCH_DEBOUNCE_MS = 300;
@@ -5387,7 +5399,7 @@ function ChatContextPicker({
5387
5399
  ] })
5388
5400
  ) : activeType ? (
5389
5401
  /* Level 2 — Back + search + HOST-rendered items (Figma 31:29102). */
5390
- /* @__PURE__ */ jsxs21(Fragment6, { children: [
5402
+ /* @__PURE__ */ jsxs21(Fragment7, { children: [
5391
5403
  /* @__PURE__ */ jsxs21("button", { type: "button", onClick: backToTypes, className: cn(CONTEXT_BACK_CLASS, "sticky top-0 z-10"), children: [
5392
5404
  /* @__PURE__ */ jsx25(Chevron02LeftIcon, { size: 24, className: "shrink-0" }),
5393
5405
  /* @__PURE__ */ jsx25("span", { className: "truncate", children: "Back" })
@@ -5458,7 +5470,7 @@ function ChatContextChipStrip({
5458
5470
  // uppercase label, 16px lead icon + xmark-circle remove. Wraps to new rows.
5459
5471
  /* @__PURE__ */ jsx25("div", { className: cn("flex flex-wrap content-center items-center gap-2", className), children: items.map((item) => {
5460
5472
  const hostNode = renderItem?.(item);
5461
- if (hostNode != null) return /* @__PURE__ */ jsx25(Fragment5, { children: hostNode }, itemKey2(item));
5473
+ if (hostNode != null) return /* @__PURE__ */ jsx25(Fragment6, { children: hostNode }, itemKey2(item));
5462
5474
  return /* @__PURE__ */ jsxs21(
5463
5475
  "div",
5464
5476
  {
@@ -5495,7 +5507,7 @@ function ChatContextChipStrip({
5495
5507
  }
5496
5508
 
5497
5509
  // src/components/chat/chat-message-enhanced.tsx
5498
- 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";
5499
5511
  var MENTION_MARKER_REGEX = /(^|[^\w@])@[a-z]+:([A-Za-z0-9_.+/=-]*[A-Za-z0-9_+/=])/g;
5500
5512
  var CARD_MARKER_REGEX = /\[card:\/\/([a-zA-Z0-9_-]+):([a-zA-Z0-9_-]+)[\])]/g;
5501
5513
  function formatMessageTimestamp(timestamp) {
@@ -5627,7 +5639,7 @@ var ChatMessageEnhanced = forwardRef11(
5627
5639
  const marker = sepIdx === -1 ? stripped : stripped.slice(0, sepIdx);
5628
5640
  const id = sepIdx === -1 ? "" : stripped.slice(sepIdx + 1);
5629
5641
  const node = renderMention?.({ marker, id });
5630
- if (node != null) return /* @__PURE__ */ jsx26(Fragment7, { children: node });
5642
+ if (node != null) return /* @__PURE__ */ jsx26(Fragment8, { children: node });
5631
5643
  return /* @__PURE__ */ jsx26("span", { className: "text-ods-text-secondary opacity-60", children });
5632
5644
  }
5633
5645
  if (typeof href === "string" && href.startsWith("card://")) {
@@ -5741,7 +5753,8 @@ var ChatMessageEnhanced = forwardRef11(
5741
5753
  ToolExecutionDisplay,
5742
5754
  {
5743
5755
  message: segment.data,
5744
- assistantType
5756
+ assistantType,
5757
+ variant: approvalVariant
5745
5758
  },
5746
5759
  index
5747
5760
  );
@@ -6517,7 +6530,7 @@ function EntityIcon({
6517
6530
  }
6518
6531
 
6519
6532
  // src/components/chat/quick-action-chip.tsx
6520
- 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";
6521
6534
  var AGENT_ACCENTS = { fae: "pink", mingo: "cyan" };
6522
6535
  function getAgentAccent(slug) {
6523
6536
  return slug === "fae" || slug === "mingo" ? AGENT_ACCENTS[slug] : void 0;
@@ -6552,7 +6565,7 @@ function renderQuickActionIcon(icon) {
6552
6565
  }
6553
6566
  function composeChipLabel(label, lozenge) {
6554
6567
  if (!lozenge) return label;
6555
- return /* @__PURE__ */ jsxs27(Fragment8, { children: [
6568
+ return /* @__PURE__ */ jsxs27(Fragment9, { children: [
6556
6569
  /* @__PURE__ */ jsx33(
6557
6570
  "span",
6558
6571
  {
@@ -6583,7 +6596,7 @@ function QuickActionChipSkeleton({ labelCh = 16, icon = true, lozenge = false, s
6583
6596
  size: size2,
6584
6597
  className,
6585
6598
  icon: icon ? /* @__PURE__ */ jsx33(ChipSkelBar, { className: size2 === "large" ? "block size-5" : "block size-4" }) : void 0,
6586
- label: /* @__PURE__ */ jsxs27(Fragment8, { children: [
6599
+ label: /* @__PURE__ */ jsxs27(Fragment9, { children: [
6587
6600
  lozenge && /* @__PURE__ */ jsx33(ChipSkelBar, { className: "mr-2 inline-block h-[16px] w-[26px] translate-y-[2px]" }),
6588
6601
  /* @__PURE__ */ jsx33(ChipSkelBar, { className: "inline-block h-[0.9em] translate-y-[0.08em]", style: { width: `${labelCh}ch` } })
6589
6602
  ] })
@@ -6667,7 +6680,7 @@ import * as React13 from "react";
6667
6680
  // src/components/ui/marquee-wall.tsx
6668
6681
  init_cn();
6669
6682
  import * as React12 from "react";
6670
- 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";
6671
6684
  function normalizeFades(fade) {
6672
6685
  return fade ? Array.isArray(fade) ? fade : [fade] : [];
6673
6686
  }
@@ -6711,7 +6724,7 @@ function MarqueeWallFades({
6711
6724
  fadeColor = "var(--color-bg)",
6712
6725
  fadeSize
6713
6726
  }) {
6714
- return /* @__PURE__ */ jsx34(Fragment9, { children: normalizeFades(fade).map((edge) => {
6727
+ return /* @__PURE__ */ jsx34(Fragment10, { children: normalizeFades(fade).map((edge) => {
6715
6728
  const size2 = (typeof fadeSize === "object" && fadeSize !== null ? fadeSize[edge] : fadeSize) ?? DEFAULT_FADE_SIZE[edge];
6716
6729
  const px = typeof size2 === "number" ? `${size2}px` : size2;
6717
6730
  const isY = edge === "top" || edge === "bottom";
@@ -7811,7 +7824,7 @@ function MingoChatHistory({
7811
7824
 
7812
7825
  // src/components/chat/mingo-welcome.tsx
7813
7826
  init_button2();
7814
- 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";
7815
7828
  var DEFAULT_SUBTITLE = "Ready to help with your technical tasks. What can I do for you?";
7816
7829
  var DEFAULT_PROMO = {
7817
7830
  title: "New to OpenFrame?",
@@ -7884,7 +7897,7 @@ function MingoWelcome({
7884
7897
  children: "Try again"
7885
7898
  }
7886
7899
  )
7887
- ] }) : 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: [
7888
7901
  /* @__PURE__ */ jsx43(
7889
7902
  "div",
7890
7903
  {
@@ -8442,7 +8455,7 @@ var ModalFooter = React23.forwardRef(
8442
8455
  ModalFooter.displayName = "ModalV2Footer";
8443
8456
 
8444
8457
  // src/components/chat/mingo-chat-modals.tsx
8445
- 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";
8446
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";
8447
8460
  var cancelBtn = cn(
8448
8461
  footerBtn,
@@ -8533,7 +8546,7 @@ function ChatDialogModals({
8533
8546
  setRestoreTarget,
8534
8547
  onConfirmRestore
8535
8548
  }) {
8536
- return /* @__PURE__ */ jsxs41(Fragment11, { children: [
8549
+ return /* @__PURE__ */ jsxs41(Fragment12, { children: [
8537
8550
  /* @__PURE__ */ jsx50(
8538
8551
  RenameChatModal,
8539
8552
  {
@@ -8757,7 +8770,7 @@ function ChatPanelHeaderMobile({
8757
8770
  }
8758
8771
 
8759
8772
  // src/components/chat/chat-panel-header.tsx
8760
- 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";
8761
8774
  function ChatPanelHeader({
8762
8775
  showBack = false,
8763
8776
  title,
@@ -8782,7 +8795,7 @@ function ChatPanelHeader({
8782
8795
  onRename && { id: "rename", label: "Rename chat", onClick: onRename },
8783
8796
  onArchive && { id: "archive", label: "Archive chat", onClick: onArchive }
8784
8797
  ].filter(Boolean);
8785
- return /* @__PURE__ */ jsxs44(Fragment12, { children: [
8798
+ return /* @__PURE__ */ jsxs44(Fragment13, { children: [
8786
8799
  !compact && /* @__PURE__ */ jsx54(
8787
8800
  ChatPanelHeaderMobile,
8788
8801
  {
@@ -8941,7 +8954,7 @@ function stripChatAttachmentMarkdown(text) {
8941
8954
  }
8942
8955
 
8943
8956
  // src/components/chat/chat-attachment-bar.tsx
8944
- 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";
8945
8958
  var CHAT_ATTACHMENT_MIME_TYPES = [
8946
8959
  "image/jpeg",
8947
8960
  "image/png",
@@ -8974,7 +8987,7 @@ function ChatAttachmentAddButton({
8974
8987
  if (!canAddMore) return;
8975
8988
  fileInputRef.current?.click();
8976
8989
  };
8977
- return /* @__PURE__ */ jsxs45(Fragment13, { children: [
8990
+ return /* @__PURE__ */ jsxs45(Fragment14, { children: [
8978
8991
  /* @__PURE__ */ jsx55(
8979
8992
  "input",
8980
8993
  {
@@ -9564,7 +9577,7 @@ function ChatComposer({
9564
9577
  }
9565
9578
 
9566
9579
  // src/components/chat/chat-archive-page.tsx
9567
- 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";
9568
9581
  function ChatArchivePage(props) {
9569
9582
  const {
9570
9583
  dialogs,
@@ -9574,7 +9587,7 @@ function ChatArchivePage(props) {
9574
9587
  hasMore = false,
9575
9588
  onLoadMore
9576
9589
  } = props;
9577
- return /* @__PURE__ */ jsxs49(Fragment14, { children: [
9590
+ return /* @__PURE__ */ jsxs49(Fragment15, { children: [
9578
9591
  !props.embedded && /* @__PURE__ */ jsx60(
9579
9592
  ChatPanelHeaderMobile,
9580
9593
  {
@@ -9694,7 +9707,7 @@ var ChatSidebarSkeleton = React30.forwardRef(
9694
9707
  ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
9695
9708
 
9696
9709
  // src/components/chat/chat-sidebar.tsx
9697
- 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";
9698
9711
  var DialogListItem = forwardRef20(
9699
9712
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
9700
9713
  const handleClick = (e) => {
@@ -9823,7 +9836,7 @@ var ChatSidebar = forwardRef20(
9823
9836
  },
9824
9837
  dialog.id
9825
9838
  )),
9826
- 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: [
9827
9840
  /* @__PURE__ */ jsx62(DialogListItemSkeleton, {}),
9828
9841
  /* @__PURE__ */ jsx62(DialogListItemSkeleton, {}),
9829
9842
  /* @__PURE__ */ jsx62(DialogListItemSkeleton, {})
@@ -10704,7 +10717,7 @@ function PlatformBadge({
10704
10717
  }
10705
10718
 
10706
10719
  // src/components/chat/entity-cards/admin-content-card.tsx
10707
- 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";
10708
10721
  function AdminContentCard({
10709
10722
  imageUrl,
10710
10723
  placeholderUrl,
@@ -10738,7 +10751,7 @@ function AdminContentCard({
10738
10751
  {
10739
10752
  className: "relative aspect-[3/2] w-full overflow-hidden shrink-0",
10740
10753
  style: { backgroundColor: imageBgColor },
10741
- children: displayUrl ? /* @__PURE__ */ jsxs57(Fragment16, { children: [
10754
+ children: displayUrl ? /* @__PURE__ */ jsxs57(Fragment17, { children: [
10742
10755
  !imageLoaded && /* @__PURE__ */ jsx73("div", { className: "absolute inset-0 animate-pulse bg-ods-border/20" }),
10743
10756
  /* @__PURE__ */ jsx73(
10744
10757
  next_image_default,
@@ -10798,7 +10811,7 @@ function getProxiedImageUrl2(imageUrl) {
10798
10811
  }
10799
10812
 
10800
10813
  // src/components/chat/entity-cards/what-i-shipped-card.tsx
10801
- 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";
10802
10815
  var STATUS_BADGE_CLASS = {
10803
10816
  published: "bg-ods-success-secondary text-ods-success",
10804
10817
  draft: "bg-ods-warning-secondary text-ods-warning",
@@ -10820,7 +10833,7 @@ function WhatIShippedCard({ entry, placeholderUrl, actions, anchorProps, classNa
10820
10833
  children: entry.status
10821
10834
  }
10822
10835
  ) : null,
10823
- meta: /* @__PURE__ */ jsxs58(Fragment17, { children: [
10836
+ meta: /* @__PURE__ */ jsxs58(Fragment18, { children: [
10824
10837
  /* @__PURE__ */ jsxs58("span", { className: "flex items-center gap-2 min-w-0", children: [
10825
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,
10826
10839
  /* @__PURE__ */ jsx74("span", { className: "truncate", children: entry.author?.full_name ?? "" })
@@ -11539,7 +11552,7 @@ init_cn();
11539
11552
  import { useMemo as useMemo17, useRef as useRef19, useState as useState28, useEffect as useEffect23 } from "react";
11540
11553
 
11541
11554
  // src/components/features/video-ratio-tabs.tsx
11542
- 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";
11543
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";
11544
11557
  var RATIO_GRID_CLASS = {
11545
11558
  portrait: "grid grid-cols-2 md:grid-cols-3 gap-4",
@@ -11564,7 +11577,7 @@ function RatioTabs({
11564
11577
  const activeTabs = RATIO_TAB_CONFIG.filter((t) => groups[t.key].count > 0);
11565
11578
  if (activeTabs.length <= 1) {
11566
11579
  const active = activeTabs[0];
11567
- return active ? /* @__PURE__ */ jsx78(Fragment18, { children: groups[active.key].render() }) : null;
11580
+ return active ? /* @__PURE__ */ jsx78(Fragment19, { children: groups[active.key].render() }) : null;
11568
11581
  }
11569
11582
  const firstTab = defaultTab && groups[defaultTab].count > 0 ? defaultTab : activeTabs[0].key;
11570
11583
  return /* @__PURE__ */ jsxs60(Tabs, { defaultValue: firstTab, className: `w-full ${className}`, children: [
@@ -11638,7 +11651,7 @@ import React37, { useCallback as useCallback14, useEffect as useEffect22, useMem
11638
11651
  init_button2();
11639
11652
 
11640
11653
  // src/components/layout/page-heading.tsx
11641
- 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";
11642
11655
  var PAGE_HEADING_CLASS = "text-h1 text-ods-text-primary";
11643
11656
  var SECTION_HEADING_CLASS = "text-h2 text-ods-text-primary";
11644
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";
@@ -11652,14 +11665,14 @@ function PageHeading({
11652
11665
  const headingClass = className ? `${PAGE_HEADING_CLASS} ${className}` : PAGE_HEADING_CLASS;
11653
11666
  const descClass = descriptionClassName ? `${DESCRIPTION_CLASS} ${descriptionClassName}` : DESCRIPTION_CLASS;
11654
11667
  const hasDescription = description != null && description !== "" && typeof description !== "boolean";
11655
- return /* @__PURE__ */ jsxs61(Fragment19, { children: [
11668
+ return /* @__PURE__ */ jsxs61(Fragment20, { children: [
11656
11669
  /* @__PURE__ */ jsx79(Tag2, { className: headingClass, children }),
11657
11670
  hasDescription && /* @__PURE__ */ jsx79("p", { className: descClass, children: description })
11658
11671
  ] });
11659
11672
  }
11660
11673
 
11661
11674
  // src/components/features/cards-strip.tsx
11662
- 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";
11663
11676
  var TRACK_GAP_PX = 16;
11664
11677
  var CHEVRON_SUPPRESS_MS = 4e3;
11665
11678
  var USER_SCROLL_SUPPRESS_MS = 3e3;
@@ -12027,7 +12040,7 @@ function CardsStrip(props) {
12027
12040
  ) })
12028
12041
  }
12029
12042
  ),
12030
- showChevrons && overflows && /* @__PURE__ */ jsxs62(Fragment20, { children: [
12043
+ showChevrons && overflows && /* @__PURE__ */ jsxs62(Fragment21, { children: [
12031
12044
  /* @__PURE__ */ jsx80(
12032
12045
  Button,
12033
12046
  {
@@ -12087,7 +12100,7 @@ function UserDisplay({ name, avatarUrl, subtitle, size: size2 = 32, shape = "squ
12087
12100
  }
12088
12101
 
12089
12102
  // src/components/features/video-bites-strip.tsx
12090
- 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";
12091
12104
  function VideoBitesStrip({
12092
12105
  bites,
12093
12106
  title = DEFAULT_VIDEO_BITES_TITLE,
@@ -12210,7 +12223,7 @@ function VideoBiteCard({
12210
12223
  if (isTouch && !isActive) activate();
12211
12224
  };
12212
12225
  const titleClass = "text-h6 text-ods-text-primary";
12213
- const overlayContent = /* @__PURE__ */ jsxs64(Fragment21, { children: [
12226
+ const overlayContent = /* @__PURE__ */ jsxs64(Fragment22, { children: [
12214
12227
  titleEditable ? (
12215
12228
  // Textarea, not input: the public title wraps to two lines
12216
12229
  // (line-clamp-2) and the editor must render identically. rows=1 +
@@ -12356,7 +12369,7 @@ function VideoBiteCard({
12356
12369
  }
12357
12370
 
12358
12371
  // src/components/features/entity-video-section.tsx
12359
- 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";
12360
12373
  function EntityVideoSection({
12361
12374
  mainVideoUrl,
12362
12375
  youtubeUrl,
@@ -12386,7 +12399,7 @@ function EntityVideoSection({
12386
12399
  }
12387
12400
  const fullVideoUrl = youtubeUrl || mainVideoUrl || null;
12388
12401
  const fullVideoKind = youtubeUrl ? "youtube" : "auto";
12389
- return /* @__PURE__ */ jsxs65(Fragment22, { children: [
12402
+ return /* @__PURE__ */ jsxs65(Fragment23, { children: [
12390
12403
  hasVideo && (hasFullVideo && hasHighlight ? /* @__PURE__ */ jsxs65(Tabs, { defaultValue: "full-video", className: "w-full", children: [
12391
12404
  /* @__PURE__ */ jsxs65(TabsList, { className: "inline-flex justify-start rounded-none bg-transparent h-auto p-0 gap-0", children: [
12392
12405
  /* @__PURE__ */ jsx83(
@@ -12584,7 +12597,7 @@ import {
12584
12597
  TrendingUp as TrendingUp2,
12585
12598
  Wrench
12586
12599
  } from "lucide-react";
12587
- 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";
12588
12601
  function ProductReleaseCard({
12589
12602
  title,
12590
12603
  summary,
@@ -12635,7 +12648,7 @@ function ProductReleaseCard({
12635
12648
  "no-underline",
12636
12649
  className
12637
12650
  );
12638
- const innerLayout = /* @__PURE__ */ jsxs66(Fragment23, { children: [
12651
+ const innerLayout = /* @__PURE__ */ jsxs66(Fragment24, { children: [
12639
12652
  /* @__PURE__ */ jsxs66("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
12640
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: [
12641
12654
  coverImage ? /* @__PURE__ */ jsx86(
@@ -12660,7 +12673,7 @@ function ProductReleaseCard({
12660
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 ?? "" }) })
12661
12674
  ] })
12662
12675
  ] }),
12663
- /* @__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: [
12664
12677
  changelogCounts.features > 0 && /* @__PURE__ */ jsxs66("span", { className: "inline-flex items-center gap-1.5", children: [
12665
12678
  /* @__PURE__ */ jsx86(Sparkles, { className: "w-3.5 h-3.5" }),
12666
12679
  changelogCounts.features,
@@ -12793,7 +12806,7 @@ function ProductReleaseCard({
12793
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",
12794
12807
  className
12795
12808
  );
12796
- const innerChildren = /* @__PURE__ */ jsxs66(Fragment23, { children: [
12809
+ const innerChildren = /* @__PURE__ */ jsxs66(Fragment24, { children: [
12797
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: [
12798
12811
  coverImage ? /* @__PURE__ */ jsx86(
12799
12812
  next_image_default,
@@ -13113,7 +13126,7 @@ function safeHref(url) {
13113
13126
  }
13114
13127
 
13115
13128
  // src/components/chat/entity-cards/blog-card.tsx
13116
- 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";
13117
13130
  function BlogCardSkeleton({ size: size2 = "default" }) {
13118
13131
  if (size2 === "sm") {
13119
13132
  return /* @__PURE__ */ jsxs68("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
@@ -13304,7 +13317,7 @@ function BlogCard({
13304
13317
  ) : null,
13305
13318
  /* @__PURE__ */ jsxs68("span", { className: "truncate", children: [
13306
13319
  post.author_name || "Anonymous",
13307
- dateStr ? /* @__PURE__ */ jsxs68(Fragment24, { children: [
13320
+ dateStr ? /* @__PURE__ */ jsxs68(Fragment25, { children: [
13308
13321
  " \xB7 ",
13309
13322
  dateStr
13310
13323
  ] }) : null
@@ -13478,7 +13491,7 @@ function CaseStudyCard({
13478
13491
  // src/components/chat/entity-cards/customer-interview-card.tsx
13479
13492
  init_cn();
13480
13493
  import { Video as Video3 } from "lucide-react";
13481
- 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";
13482
13495
  function CustomerInterviewCardSkeleton({ size: size2 = "default" }) {
13483
13496
  if (size2 === "sm") {
13484
13497
  return /* @__PURE__ */ jsxs70("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
@@ -13577,7 +13590,7 @@ function CustomerInterviewCard({
13577
13590
  );
13578
13591
  }
13579
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: [
13580
- /* @__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: [
13581
13594
  /* @__PURE__ */ jsx90(
13582
13595
  "img",
13583
13596
  {
@@ -14329,7 +14342,7 @@ var HiddenTagsPopup = forwardRef25(function HiddenTagsPopup2({ items, onRemove,
14329
14342
  });
14330
14343
 
14331
14344
  // src/components/ui/autocomplete.tsx
14332
- 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";
14333
14346
  var innerInputStyles = cn(
14334
14347
  "flex-1 min-w-[60px] bg-transparent border-none outline-none",
14335
14348
  "text-h4",
@@ -14789,7 +14802,7 @@ function AutocompleteInner(props, ref) {
14789
14802
  }
14790
14803
  }
14791
14804
  ),
14792
- multiple && /* @__PURE__ */ jsxs76(Fragment26, { children: [
14805
+ multiple && /* @__PURE__ */ jsxs76(Fragment27, { children: [
14793
14806
  /* @__PURE__ */ jsx98(
14794
14807
  "span",
14795
14808
  {
@@ -16013,7 +16026,7 @@ function DateFilterMenu({
16013
16026
 
16014
16027
  // src/components/ui/duration-input.tsx
16015
16028
  init_cn();
16016
- 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";
16017
16030
  import { jsx as jsx103, jsxs as jsxs81 } from "react/jsx-runtime";
16018
16031
  var SEGMENT_META = [
16019
16032
  { label: "Hours", placeholder: "HH", max: 99 },
@@ -16098,7 +16111,7 @@ function DurationInput({ value, onChange, invalid, className }) {
16098
16111
  invalid && "border-ods-error focus-within:border-ods-error",
16099
16112
  className
16100
16113
  ),
16101
- children: SEGMENT_META.map((meta, i) => /* @__PURE__ */ jsxs81(Fragment27, { children: [
16114
+ children: SEGMENT_META.map((meta, i) => /* @__PURE__ */ jsxs81(Fragment28, { children: [
16102
16115
  i > 0 && /* @__PURE__ */ jsx103("span", { className: "text-ods-text-secondary", children: ":" }),
16103
16116
  /* @__PURE__ */ jsx103(
16104
16117
  "input",
@@ -16577,12 +16590,12 @@ function DefaultAssigneeDropdown({
16577
16590
  }
16578
16591
 
16579
16592
  // src/components/ui/info-section.tsx
16580
- 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";
16581
16594
  function TextValue({ value }) {
16582
16595
  const { text, imageSrc, imageFallback, imageVariant = "round", icon, onClick, href, openInNewTab } = value;
16583
16596
  const hasImage = imageSrc !== void 0 || imageFallback !== void 0;
16584
16597
  const interactiveClass = "truncate text-left text-h4 text-ods-text-primary transition-colors hover:text-ods-accent";
16585
- return /* @__PURE__ */ jsxs85(Fragment28, { children: [
16598
+ return /* @__PURE__ */ jsxs85(Fragment29, { children: [
16586
16599
  icon && /* @__PURE__ */ jsx109("span", { className: "flex size-4 shrink-0 items-center justify-center text-ods-text-secondary", children: icon }),
16587
16600
  href ? /* @__PURE__ */ jsx109(
16588
16601
  next_link_default,
@@ -16619,7 +16632,7 @@ function RowValue({ value }) {
16619
16632
  return /* @__PURE__ */ jsx109(TicketStatusTag, { ...props });
16620
16633
  }
16621
16634
  case "custom":
16622
- return /* @__PURE__ */ jsx109(Fragment28, { children: value.content });
16635
+ return /* @__PURE__ */ jsx109(Fragment29, { children: value.content });
16623
16636
  default:
16624
16637
  return /* @__PURE__ */ jsx109(TextValue, { value });
16625
16638
  }
@@ -19150,7 +19163,7 @@ function TabContent({
19150
19163
  init_next_navigation();
19151
19164
  init_cn();
19152
19165
  import { useState as useState41, useEffect as useEffect34, useMemo as useMemo23, useRef as useRef26, useCallback as useCallback19 } from "react";
19153
- 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";
19154
19167
  function TabNavigation({
19155
19168
  activeTab: controlledActiveTab,
19156
19169
  onTabChange: controlledOnTabChange,
@@ -19266,7 +19279,7 @@ function TabNavigation({
19266
19279
  }
19267
19280
  return { background: c };
19268
19281
  })();
19269
- return /* @__PURE__ */ jsxs107(Fragment29, { children: [
19282
+ return /* @__PURE__ */ jsxs107(Fragment30, { children: [
19270
19283
  /* @__PURE__ */ jsxs107("div", { className: cn("relative w-full", className), children: [
19271
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) => {
19272
19285
  const isActive = activeTab === tab.id;
@@ -19394,7 +19407,7 @@ function AIGeneratedBadge({ className }) {
19394
19407
  // src/components/ui/fade-preview.tsx
19395
19408
  import { useState as useState42, useRef as useRef27, useEffect as useEffect35 } from "react";
19396
19409
  import { ChevronDown as ChevronDown4 } from "lucide-react";
19397
- 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";
19398
19411
  function FadePreview({
19399
19412
  hiddenCount,
19400
19413
  collapsedHeight = 120,
@@ -19407,7 +19420,7 @@ function FadePreview({
19407
19420
  setExpanded(false);
19408
19421
  }, [resetKey]);
19409
19422
  const needsFade = hiddenCount > 0;
19410
- if (!needsFade) return /* @__PURE__ */ jsx138(Fragment30, { children });
19423
+ if (!needsFade) return /* @__PURE__ */ jsx138(Fragment31, { children });
19411
19424
  return /* @__PURE__ */ jsxs109("div", { className: "relative", children: [
19412
19425
  /* @__PURE__ */ jsx138(
19413
19426
  "div",
@@ -19764,7 +19777,7 @@ var socialCache = SocialEmbedCache.getInstance();
19764
19777
  init_cn();
19765
19778
  import { useState as useState43, useRef as useRef28, useEffect as useEffect36, memo as memo4, useCallback as useCallback20 } from "react";
19766
19779
  init_button2();
19767
- 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";
19768
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" }) });
19769
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" }) });
19770
19783
  var MediaCarousel = memo4(function MediaCarousel2({
@@ -19948,7 +19961,7 @@ var MediaCarousel = memo4(function MediaCarousel2({
19948
19961
  "aria-label": media.length > 1 ? "Media carousel, use arrow keys to navigate" : void 0,
19949
19962
  children: [
19950
19963
  renderMainMedia(currentItem, currentIndex),
19951
- showArrows && media.length > 1 && /* @__PURE__ */ jsxs110(Fragment31, { children: [
19964
+ showArrows && media.length > 1 && /* @__PURE__ */ jsxs110(Fragment32, { children: [
19952
19965
  /* @__PURE__ */ jsx140(
19953
19966
  Button,
19954
19967
  {
@@ -21070,7 +21083,7 @@ function toFigmaOriginalUrl(url) {
21070
21083
 
21071
21084
  // src/components/embeds/embed-iframe.tsx
21072
21085
  import { useState as useState48, useCallback as useCallback21, useRef as useRef31, useEffect as useEffect40 } from "react";
21073
- 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";
21074
21087
  function EmbedLoadingSkeleton({ height }) {
21075
21088
  return /* @__PURE__ */ jsx147(
21076
21089
  "div",
@@ -21108,7 +21121,7 @@ function EmbedIframe({
21108
21121
  };
21109
21122
  }, [src]);
21110
21123
  const resolvedHeight = height || "calc(100vh - 250px)";
21111
- return /* @__PURE__ */ jsxs115(Fragment32, { children: [
21124
+ return /* @__PURE__ */ jsxs115(Fragment33, { children: [
21112
21125
  !isLoaded && /* @__PURE__ */ jsx147(EmbedLoadingSkeleton, { height: resolvedHeight }),
21113
21126
  /* @__PURE__ */ jsx147(
21114
21127
  "div",
@@ -22193,7 +22206,7 @@ function ChangelogEntryList({
22193
22206
 
22194
22207
  // src/components/ui/stacked-rows-panel.tsx
22195
22208
  init_cn();
22196
- 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";
22197
22210
  var ALIGN_CLASS = {
22198
22211
  left: "justify-start items-start",
22199
22212
  center: "justify-center items-center",
@@ -22219,7 +22232,7 @@ function CellValue({ column }) {
22219
22232
  children: column.value
22220
22233
  }
22221
22234
  );
22222
- return /* @__PURE__ */ jsxs119(Fragment33, { children: [
22235
+ return /* @__PURE__ */ jsxs119(Fragment34, { children: [
22223
22236
  /* @__PURE__ */ jsxs119("div", { className: "flex items-center gap-[var(--spacing-system-xxs)] min-w-0", children: [
22224
22237
  column.icon && /* @__PURE__ */ jsx152("span", { className: "shrink-0", children: column.icon }),
22225
22238
  column.href ? /* @__PURE__ */ jsx152(
@@ -22325,7 +22338,7 @@ function StatusIndicator({ status, label, href }) {
22325
22338
 
22326
22339
  // src/components/ui/hover-dropdown.tsx
22327
22340
  import { useState as useState53, useRef as useRef33, useCallback as useCallback23 } from "react";
22328
- 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";
22329
22342
  function DefaultAnchor({
22330
22343
  href,
22331
22344
  className,
@@ -22351,7 +22364,7 @@ function HoverDropdown({
22351
22364
  const hide = useCallback23(() => {
22352
22365
  timeoutRef.current = setTimeout(() => setOpen(false), hideDelay);
22353
22366
  }, [hideDelay]);
22354
- if (items.length === 0) return /* @__PURE__ */ jsx155(Fragment34, { children });
22367
+ if (items.length === 0) return /* @__PURE__ */ jsx155(Fragment35, { children });
22355
22368
  const toggle = useCallback23((e) => {
22356
22369
  e.stopPropagation();
22357
22370
  clearTimeout(timeoutRef.current);
@@ -22398,7 +22411,7 @@ function HoverDropdown({
22398
22411
  }
22399
22412
  },
22400
22413
  children: items.map((item, i) => {
22401
- const content = /* @__PURE__ */ jsxs122(Fragment34, { children: [
22414
+ const content = /* @__PURE__ */ jsxs122(Fragment35, { children: [
22402
22415
  item.icon && /* @__PURE__ */ jsx155("span", { className: "flex-shrink-0 [&_svg]:size-3.5", children: item.icon }),
22403
22416
  /* @__PURE__ */ jsx155("span", { className: "truncate flex-1 min-w-0", children: item.label })
22404
22417
  ] });
@@ -22629,7 +22642,7 @@ function TagKeyValueFilter({
22629
22642
  }
22630
22643
 
22631
22644
  // src/components/ui/filter-modal.tsx
22632
- 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";
22633
22646
  function FilterModal({
22634
22647
  isOpen,
22635
22648
  onClose,
@@ -22721,7 +22734,7 @@ function FilterModal({
22721
22734
  ref: scrollRef,
22722
22735
  onScroll: updateFade,
22723
22736
  className: "flex-1 min-h-0 overflow-y-auto flex flex-col gap-4 md:py-3",
22724
- 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: [
22725
22738
  /* @__PURE__ */ jsx159(Skeleton, { className: "h-5 w-24" }),
22726
22739
  /* @__PURE__ */ jsx159("div", { className: "rounded-md border border-ods-border overflow-hidden", children: [0, 1, 2].map((row) => /* @__PURE__ */ jsxs126(
22727
22740
  "div",
@@ -22741,7 +22754,7 @@ function FilterModal({
22741
22754
  /* @__PURE__ */ jsx159("p", { className: "text-h4", children: emptyStateTitle }),
22742
22755
  /* @__PURE__ */ jsx159("p", { className: "text-h6", children: emptyStateDescription })
22743
22756
  ] })
22744
- ] }) : /* @__PURE__ */ jsxs126(Fragment35, { children: [
22757
+ ] }) : /* @__PURE__ */ jsxs126(Fragment36, { children: [
22745
22758
  sortConfig && sortConfig.columns.length > 0 && /* @__PURE__ */ jsxs126("div", { className: "flex flex-col gap-1", children: [
22746
22759
  /* @__PURE__ */ jsx159("span", { className: "text-h5 text-ods-text-secondary", children: sortConfig.title || "Sort By" }),
22747
22760
  /* @__PURE__ */ jsx159("div", { className: "rounded-md border border-ods-border overflow-hidden", children: sortConfig.columns.map((column) => /* @__PURE__ */ jsx159(
@@ -22820,7 +22833,7 @@ init_cn();
22820
22833
  init_cn();
22821
22834
  import React79 from "react";
22822
22835
  init_button2();
22823
- 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";
22824
22837
  function actionKey(action, idx) {
22825
22838
  return `${action.label ?? action.ariaLabel ?? "action"}-${idx}`;
22826
22839
  }
@@ -22964,7 +22977,7 @@ function IconButtonsVariant({
22964
22977
  ...menuActions ?? []
22965
22978
  ];
22966
22979
  const hasMobileMenuItems = mobileMenuGroups.some((g) => g.items.length > 0);
22967
- return /* @__PURE__ */ jsxs127(Fragment36, { children: [
22980
+ return /* @__PURE__ */ jsxs127(Fragment37, { children: [
22968
22981
  /* @__PURE__ */ jsxs127("div", { className: cn("hidden md:flex items-center", ACTIONS_GAP, className), children: [
22969
22982
  selector,
22970
22983
  desktopActions.map((action, idx) => /* @__PURE__ */ jsx160(React79.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
@@ -22983,7 +22996,7 @@ function PrimaryButtonsVariant({
22983
22996
  return 0;
22984
22997
  });
22985
22998
  const desktopActions = sortedActions.filter((a) => !a.showOnlyMobile);
22986
- return /* @__PURE__ */ jsxs127(Fragment36, { children: [
22999
+ return /* @__PURE__ */ jsxs127(Fragment37, { children: [
22987
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)}`)) }),
22988
23001
  /* @__PURE__ */ jsx160(MobileBottomActions, { actions: sortedActions })
22989
23002
  ] });
@@ -23001,7 +23014,7 @@ function MenuPrimaryVariant({
23001
23014
  ...menuActions
23002
23015
  ];
23003
23016
  const hasMobileMenuItems = mobileMenuGroups.some((g) => g.items.length > 0);
23004
- return /* @__PURE__ */ jsxs127(Fragment36, { children: [
23017
+ return /* @__PURE__ */ jsxs127(Fragment37, { children: [
23005
23018
  /* @__PURE__ */ jsxs127("div", { className: cn("hidden md:flex items-center", ACTIONS_GAP, className), children: [
23006
23019
  selector,
23007
23020
  hasMenuActions && /* @__PURE__ */ jsx160(ActionsMenuDropdown, { groups: menuActions }),
@@ -25567,7 +25580,7 @@ import {
25567
25580
  safePolygon,
25568
25581
  arrow
25569
25582
  } from "@floating-ui/react";
25570
- 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";
25571
25584
  function parseColoredText(text) {
25572
25585
  if (typeof text !== "string") return text;
25573
25586
  const parts = [];
@@ -25592,7 +25605,7 @@ function parseColoredText(text) {
25592
25605
  const remainingText = text.slice(lastIndex);
25593
25606
  parts.push(/* @__PURE__ */ jsx177("span", { children: remainingText }, `text-${keyIndex++}`));
25594
25607
  }
25595
- return parts.length > 0 ? /* @__PURE__ */ jsx177(Fragment37, { children: parts }) : text;
25608
+ return parts.length > 0 ? /* @__PURE__ */ jsx177(Fragment38, { children: parts }) : text;
25596
25609
  }
25597
25610
  function FloatingTooltip({
25598
25611
  content,
@@ -25656,7 +25669,7 @@ function FloatingTooltip({
25656
25669
  bottom: "top",
25657
25670
  left: "right"
25658
25671
  }[placement.split("-")[0]];
25659
- return /* @__PURE__ */ jsxs139(Fragment37, { children: [
25672
+ return /* @__PURE__ */ jsxs139(Fragment38, { children: [
25660
25673
  /* @__PURE__ */ jsx177("div", { ref: refs.setReference, ...getReferenceProps(), children }),
25661
25674
  /* @__PURE__ */ jsx177(FloatingPortal, { children: isOpen && /* @__PURE__ */ jsxs139(
25662
25675
  "div",
@@ -25706,7 +25719,7 @@ function FloatingTooltip({
25706
25719
  }
25707
25720
 
25708
25721
  // src/components/ui/dashboard-info-card.tsx
25709
- 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";
25710
25723
  function DashboardInfoCard({
25711
25724
  title,
25712
25725
  titleSlot,
@@ -25759,7 +25772,7 @@ function DashboardInfoCard({
25759
25772
  if (lg !== void 0) {
25760
25773
  rings.push({ key: "lg", size: lg, className: "hidden lg:block" });
25761
25774
  }
25762
- return /* @__PURE__ */ jsx178(Fragment38, { children: rings.map((ring) => /* @__PURE__ */ jsx178(
25775
+ return /* @__PURE__ */ jsx178(Fragment39, { children: rings.map((ring) => /* @__PURE__ */ jsx178(
25763
25776
  CircularProgress,
25764
25777
  {
25765
25778
  ...common,
@@ -25770,7 +25783,7 @@ function DashboardInfoCard({
25770
25783
  ring.key
25771
25784
  )) });
25772
25785
  };
25773
- const cardContent = /* @__PURE__ */ jsxs140(Fragment38, { children: [
25786
+ const cardContent = /* @__PURE__ */ jsxs140(Fragment39, { children: [
25774
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 }) }),
25775
25788
  /* @__PURE__ */ jsxs140("div", { className: "flex-1 min-w-0 flex flex-col", children: [
25776
25789
  /* @__PURE__ */ jsxs140("div", { className: "flex items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -26022,7 +26035,7 @@ function DeviceCard({
26022
26035
 
26023
26036
  // src/components/ui/device-card-compact.tsx
26024
26037
  init_cn();
26025
- 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";
26026
26039
  function DeviceCardCompact({
26027
26040
  deviceName,
26028
26041
  organization,
@@ -26032,7 +26045,7 @@ function DeviceCardCompact({
26032
26045
  const hasName = deviceName && deviceName !== "-" && deviceName !== "null";
26033
26046
  const hasOrg = organization && organization !== "-" && organization !== "null";
26034
26047
  if (!hasName && !hasOrg) {
26035
- return /* @__PURE__ */ jsx182(Fragment39, {});
26048
+ return /* @__PURE__ */ jsx182(Fragment40, {});
26036
26049
  }
26037
26050
  return /* @__PURE__ */ jsxs144(
26038
26051
  "div",
@@ -26446,7 +26459,7 @@ function DropdownButton({
26446
26459
  init_next_link();
26447
26460
  init_cn();
26448
26461
  init_button2();
26449
- 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";
26450
26463
  function MoreActionsMenu({
26451
26464
  items,
26452
26465
  align = "end",
@@ -26484,7 +26497,7 @@ function MoreActionsMenu({
26484
26497
  ),
26485
26498
  children: items.map((item, idx) => {
26486
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";
26487
- const content = /* @__PURE__ */ jsxs149(Fragment40, { children: [
26500
+ const content = /* @__PURE__ */ jsxs149(Fragment41, { children: [
26488
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 }),
26489
26502
  /* @__PURE__ */ jsx189("span", { className: "text-h4 text-ods-text-primary", children: item.label })
26490
26503
  ] });
@@ -27067,7 +27080,7 @@ function SsoProviderButtons({
27067
27080
  }
27068
27081
 
27069
27082
  // src/components/features/auth/complete-account-form.tsx
27070
- 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";
27071
27084
  function CompleteAccountForm({
27072
27085
  firstName,
27073
27086
  lastName,
@@ -27116,7 +27129,7 @@ function CompleteAccountForm({
27116
27129
  /* @__PURE__ */ jsx200("h1", { className: "text-h2 text-ods-text-primary tracking-[-0.64px]", children: title }),
27117
27130
  /* @__PURE__ */ jsx200("p", { className: "text-h4 text-ods-text-secondary", children: subtitle })
27118
27131
  ] }),
27119
- ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ jsxs155(Fragment41, { children: [
27132
+ ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ jsxs155(Fragment42, { children: [
27120
27133
  /* @__PURE__ */ jsx200(
27121
27134
  SsoProviderButtons,
27122
27135
  {
@@ -27257,7 +27270,7 @@ function TermsAgreementLabel({ termsUrl = "#", privacyPolicyUrl = "#" }) {
27257
27270
  }
27258
27271
 
27259
27272
  // src/components/features/auth/create-organization-form.tsx
27260
- 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";
27261
27274
  function CreateOrganizationForm({
27262
27275
  email,
27263
27276
  organizationName,
@@ -27379,7 +27392,7 @@ function CreateOrganizationForm({
27379
27392
  children: submitLabel
27380
27393
  }
27381
27394
  ),
27382
- hasSso && /* @__PURE__ */ jsxs157(Fragment42, { children: [
27395
+ hasSso && /* @__PURE__ */ jsxs157(Fragment43, { children: [
27383
27396
  /* @__PURE__ */ jsxs157("div", { className: "flex items-center gap-[var(--spacing-system-s)]", children: [
27384
27397
  /* @__PURE__ */ jsx202("div", { className: "h-px flex-1 bg-ods-border" }),
27385
27398
  /* @__PURE__ */ jsx202("span", { className: "text-h6 text-ods-text-secondary", children: dividerLabel }),
@@ -30499,7 +30512,7 @@ SelectButton.displayName = "SelectButton";
30499
30512
  // src/components/features/seo-editor-preview.tsx
30500
30513
  import { useState as useState70 } from "react";
30501
30514
  import { Globe as Globe3, ExternalLink as ExternalLink6, Upload as Upload3, X as X6, Loader2 as Loader25 } from "lucide-react";
30502
- 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";
30503
30516
  function SEOEditorPreview({
30504
30517
  seoTitle,
30505
30518
  seoDescription,
@@ -30552,7 +30565,7 @@ function SEOEditorPreview({
30552
30565
  /* @__PURE__ */ jsxs181("div", { className: "space-y-2", children: [
30553
30566
  /* @__PURE__ */ jsxs181("div", { className: "flex items-center gap-2", children: [
30554
30567
  /* @__PURE__ */ jsx231(Label, { className: "text-h6 text-ods-text-primary", children: "SEO Title" }),
30555
- aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs181(Fragment43, { children: [
30568
+ aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs181(Fragment44, { children: [
30556
30569
  /* @__PURE__ */ jsx231(AIGeneratedBadge, {}),
30557
30570
  /* @__PURE__ */ jsx231(
30558
30571
  ConfidenceBadge,
@@ -30599,7 +30612,7 @@ function SEOEditorPreview({
30599
30612
  /* @__PURE__ */ jsxs181("div", { className: "space-y-2", children: [
30600
30613
  /* @__PURE__ */ jsxs181("div", { className: "flex items-center gap-2", children: [
30601
30614
  /* @__PURE__ */ jsx231(Label, { className: "text-h6 text-ods-text-primary", children: "SEO Keywords" }),
30602
- aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs181(Fragment43, { children: [
30615
+ aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs181(Fragment44, { children: [
30603
30616
  /* @__PURE__ */ jsx231(AIGeneratedBadge, {}),
30604
30617
  /* @__PURE__ */ jsx231(
30605
30618
  ConfidenceBadge,
@@ -30628,7 +30641,7 @@ function SEOEditorPreview({
30628
30641
  /* @__PURE__ */ jsxs181("div", { className: "space-y-2 flex flex-col h-full", children: [
30629
30642
  /* @__PURE__ */ jsxs181("div", { className: "flex items-center gap-2", children: [
30630
30643
  /* @__PURE__ */ jsx231(Label, { className: "text-h6 text-ods-text-primary", children: "SEO Description" }),
30631
- aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs181(Fragment43, { children: [
30644
+ aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs181(Fragment44, { children: [
30632
30645
  /* @__PURE__ */ jsx231(AIGeneratedBadge, {}),
30633
30646
  /* @__PURE__ */ jsx231(
30634
30647
  ConfidenceBadge,
@@ -30718,7 +30731,7 @@ function SEOEditorPreview({
30718
30731
  {
30719
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",
30720
30733
  onClick: () => onOgImageUpload && fileInputRef?.click(),
30721
- 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: [
30722
30735
  /* @__PURE__ */ jsx231(Upload3, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
30723
30736
  /* @__PURE__ */ jsx231("span", { className: "text-h6 text-ods-text-secondary", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
30724
30737
  ] })
@@ -32750,7 +32763,7 @@ init_cn();
32750
32763
  import { useEffect as useEffect54, useState as useState74 } from "react";
32751
32764
  import { ChevronDown as ChevronDown8, Shield as Shield2 } from "lucide-react";
32752
32765
  init_button2();
32753
- 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";
32754
32767
  var approvalLevelLabels = {
32755
32768
  ALLOW: "Allow",
32756
32769
  ASK_USER: "Ask User",
@@ -32831,7 +32844,7 @@ var CategorySection = ({
32831
32844
  }) => {
32832
32845
  const { innerRef, containerStyle } = useCollapsible({ expanded: isExpanded, durationMs: 300 });
32833
32846
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
32834
- return /* @__PURE__ */ jsxs200(Fragment44, { children: [
32847
+ return /* @__PURE__ */ jsxs200(Fragment45, { children: [
32835
32848
  /* @__PURE__ */ jsxs200(
32836
32849
  "div",
32837
32850
  {
@@ -33067,7 +33080,7 @@ function CountryOption({ country }) {
33067
33080
  init_cn();
33068
33081
  import { getCountries as getCountries2 } from "libphonenumber-js";
33069
33082
  import { useEffect as useEffect56, useState as useState76 } from "react";
33070
- 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";
33071
33084
  function WaitlistForm({
33072
33085
  id = "waitlist-form",
33073
33086
  className,
@@ -33212,7 +33225,7 @@ function WaitlistForm({
33212
33225
  error: showConsentError ? "Please agree to SMS notifications to continue." : void 0,
33213
33226
  disabled: isSubmitting,
33214
33227
  label: smsCheckboxLabel,
33215
- description: /* @__PURE__ */ jsxs202(Fragment45, { children: [
33228
+ description: /* @__PURE__ */ jsxs202(Fragment46, { children: [
33216
33229
  consentText,
33217
33230
  " View our ",
33218
33231
  /* @__PURE__ */ jsx258(
@@ -34138,7 +34151,7 @@ function NotificationTile({
34138
34151
  }
34139
34152
 
34140
34153
  // src/components/features/notifications/notification-drawer.tsx
34141
- 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";
34142
34155
  function NotificationDrawer({
34143
34156
  className,
34144
34157
  liveDurationMs,
@@ -34171,7 +34184,7 @@ function NotificationDrawer({
34171
34184
  } = ctx;
34172
34185
  const renderTile = renderTileProp ?? ctxRenderTile;
34173
34186
  const unreadNotifications = notifications.filter((n) => !n.read);
34174
- const content = /* @__PURE__ */ jsxs205(Fragment46, { children: [
34187
+ const content = /* @__PURE__ */ jsxs205(Fragment47, { children: [
34175
34188
  /* @__PURE__ */ jsx262("div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ jsx262(
34176
34189
  DrawerTitle,
34177
34190
  {
@@ -34281,7 +34294,7 @@ function DrawerScrollList({
34281
34294
  {
34282
34295
  ref: scrollRef,
34283
34296
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
34284
- children: isEmpty && !isLoadingMore ? /* @__PURE__ */ jsx262(EmptyState, {}) : /* @__PURE__ */ jsxs205(Fragment46, { children: [
34297
+ children: isEmpty && !isLoadingMore ? /* @__PURE__ */ jsx262(EmptyState, {}) : /* @__PURE__ */ jsxs205(Fragment47, { children: [
34285
34298
  unreadNotifications.map((n) => {
34286
34299
  const custom = renderTile?.(n, { onComplete, onSettle, liveDurationMs });
34287
34300
  if (custom) return /* @__PURE__ */ jsx262("div", { children: custom }, n.id);
@@ -34303,7 +34316,7 @@ function DrawerScrollList({
34303
34316
  );
34304
34317
  }
34305
34318
  function DrawerLoadingTiles() {
34306
- return /* @__PURE__ */ jsxs205(Fragment46, { children: [
34319
+ return /* @__PURE__ */ jsxs205(Fragment47, { children: [
34307
34320
  /* @__PURE__ */ jsx262(
34308
34321
  "div",
34309
34322
  {
@@ -34686,7 +34699,7 @@ function approvalMetaToBatchData(approval) {
34686
34699
  }
34687
34700
 
34688
34701
  // src/components/features/notifications/approval-request-notification-tile.tsx
34689
- 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";
34690
34703
  function ApprovalRequestNotificationTile({
34691
34704
  notification,
34692
34705
  onApprove,
@@ -34736,7 +34749,7 @@ function ApprovalRequestNotificationTile({
34736
34749
  className,
34737
34750
  paused: pinned || processing,
34738
34751
  actions: /* @__PURE__ */ jsxs206("div", { className: "flex w-full items-center gap-[var(--spacing-system-xs)]", children: [
34739
- status === "pending" ? /* @__PURE__ */ jsxs206(Fragment47, { children: [
34752
+ status === "pending" ? /* @__PURE__ */ jsxs206(Fragment48, { children: [
34740
34753
  /* @__PURE__ */ jsx264(Button, { variant: "accent", size: "small", onClick: () => resolve("approved", onApprove), disabled: processing, children: "Approve" }),
34741
34754
  /* @__PURE__ */ jsx264(Button, { variant: "outline", size: "small", onClick: () => resolve("rejected", onReject), disabled: processing, children: "Reject" })
34742
34755
  ] }) : /* @__PURE__ */ jsxs206("span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
@@ -35156,7 +35169,7 @@ function HeaderButton({
35156
35169
  }
35157
35170
 
35158
35171
  // src/components/features/time-tracker/time-tracker-header-button.tsx
35159
- 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";
35160
35173
  function TimeTrackerHeaderButton({ className, disabled }) {
35161
35174
  const ctx = useOptionalTimeTracker();
35162
35175
  const elapsedLabel = useTrackerClock({
@@ -35202,7 +35215,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
35202
35215
  isActive && "w-auto gap-[var(--spacing-system-xsf)] px-[var(--spacing-system-sf)] md:w-auto",
35203
35216
  className
35204
35217
  ),
35205
- icon: /* @__PURE__ */ jsxs208(Fragment48, { children: [
35218
+ icon: /* @__PURE__ */ jsxs208(Fragment49, { children: [
35206
35219
  /* @__PURE__ */ jsx268(
35207
35220
  ClockHistoryIcon,
35208
35221
  {
@@ -35444,7 +35457,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
35444
35457
  }
35445
35458
 
35446
35459
  // src/components/features/board/ticket-card.tsx
35447
- 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";
35448
35461
  var PRIORITY_COLOR_CLASS = {
35449
35462
  low: "text-ods-text-secondary",
35450
35463
  medium: "text-ods-info",
@@ -35488,7 +35501,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
35488
35501
  ] }) : null;
35489
35502
  const timestampLabel = ticket.createdAt ? formatTicketRelativeTime(ticket.createdAt) : null;
35490
35503
  const tooltipLabel = ticket.createdAt ? formatTicketFullTimestamp(ticket.createdAt) : null;
35491
- return /* @__PURE__ */ jsxs211(Fragment49, { children: [
35504
+ return /* @__PURE__ */ jsxs211(Fragment50, { children: [
35492
35505
  /* @__PURE__ */ jsxs211("div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
35493
35506
  /* @__PURE__ */ jsxs211("div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", title: ticket.title, children: [
35494
35507
  /* @__PURE__ */ jsx271("p", { className: "text-h3 truncate text-ods-text-primary", children: ticket.title }),
@@ -35654,7 +35667,7 @@ var TicketCardSkeleton = React105.forwardRef(
35654
35667
  TicketCardSkeleton.displayName = "TicketCardSkeleton";
35655
35668
 
35656
35669
  // src/components/features/board/board-column.tsx
35657
- 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";
35658
35671
  function BoardColumn({
35659
35672
  column,
35660
35673
  collapsed = false,
@@ -35693,7 +35706,7 @@ function BoardColumn({
35693
35706
  onArchive: !collapsed && column.archivable && onArchive ? () => onArchive(column.id) : void 0
35694
35707
  }
35695
35708
  ),
35696
- !collapsed && /* @__PURE__ */ jsxs213(Fragment50, { children: [
35709
+ !collapsed && /* @__PURE__ */ jsxs213(Fragment51, { children: [
35697
35710
  /* @__PURE__ */ jsx273("div", { "aria-hidden": true, className: "-mx-[var(--spacing-system-sf)] h-px shrink-0 bg-ods-border" }),
35698
35711
  /* @__PURE__ */ jsx273(
35699
35712
  ColumnBody,
@@ -35786,7 +35799,7 @@ function SkeletonStack({ count = 4 }) {
35786
35799
  () => Array.from({ length: count }, () => Math.random().toString(36).slice(2)),
35787
35800
  [count]
35788
35801
  );
35789
- 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)) });
35790
35803
  }
35791
35804
  function EmptyState2() {
35792
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: [
@@ -36208,7 +36221,7 @@ import { useRef as useRef48 } from "react";
36208
36221
  import { usePreventScroll as usePreventScroll3 } from "@react-aria/overlays";
36209
36222
  init_button2();
36210
36223
  import { X as X10 } from "lucide-react";
36211
- 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";
36212
36225
  var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
36213
36226
  function MobileNavPanel({ isOpen, config }) {
36214
36227
  const panelRef = useRef48(null);
@@ -36264,7 +36277,7 @@ function MobileNavPanel({ isOpen, config }) {
36264
36277
  item.id
36265
36278
  );
36266
36279
  };
36267
- return /* @__PURE__ */ jsxs215(Fragment52, { children: [
36280
+ return /* @__PURE__ */ jsxs215(Fragment53, { children: [
36268
36281
  /* @__PURE__ */ jsx276(
36269
36282
  "div",
36270
36283
  {
@@ -36367,7 +36380,7 @@ function MingoAiButton({ source, icon, label = "Mingo AI", className, onClick, .
36367
36380
  }
36368
36381
 
36369
36382
  // src/components/navigation/header.tsx
36370
- 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";
36371
36384
  function Header2({ config, platform }) {
36372
36385
  const [show, setShow] = useState87(true);
36373
36386
  const [lastScrollY, setLastScrollY] = useState87(0);
@@ -36512,7 +36525,7 @@ function Header2({ config, platform }) {
36512
36525
  },
36513
36526
  child.id
36514
36527
  )) }),
36515
- item.dropdownContent && /* @__PURE__ */ jsxs217(Fragment53, { children: [
36528
+ item.dropdownContent && /* @__PURE__ */ jsxs217(Fragment54, { children: [
36516
36529
  item.showDropdownDivider !== false && /* @__PURE__ */ jsx278("div", { className: "h-px my-2 mx-2 bg-ods-border" }),
36517
36530
  /* @__PURE__ */ jsx278("div", { className: "px-2 pb-2", children: item.dropdownContent })
36518
36531
  ] })
@@ -36714,7 +36727,7 @@ import { useState as useState89, useEffect as useEffect68, useRef as useRef50 }
36714
36727
  import { motion as motion2, AnimatePresence, useReducedMotion } from "framer-motion";
36715
36728
  import { usePreventScroll as usePreventScroll4 } from "@react-aria/overlays";
36716
36729
  init_button2();
36717
- 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";
36718
36731
  function SlidingSidebar({ config }) {
36719
36732
  const [expandedItems, setExpandedItems] = useState89(/* @__PURE__ */ new Set());
36720
36733
  const [mounted, setMounted] = useState89(false);
@@ -36840,7 +36853,7 @@ function SlidingSidebar({ config }) {
36840
36853
  if (!mounted) {
36841
36854
  return null;
36842
36855
  }
36843
- return /* @__PURE__ */ jsxs219(Fragment54, { children: [
36856
+ return /* @__PURE__ */ jsxs219(Fragment55, { children: [
36844
36857
  /* @__PURE__ */ jsx281(AnimatePresence, { children: config.isOpen && /* @__PURE__ */ jsx281(
36845
36858
  motion2.div,
36846
36859
  {
@@ -37141,7 +37154,7 @@ function NavigationSidebarToggle({
37141
37154
  }
37142
37155
 
37143
37156
  // src/components/navigation/navigation-sidebar.tsx
37144
- 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";
37145
37158
  var MINIMIZED_WIDTH = 56;
37146
37159
  var EXPANDED_WIDTH = 224;
37147
37160
  var STORAGE_KEY = "of.navigationSidebar.minimized";
@@ -37206,7 +37219,7 @@ function NavigationSidebar({ config, disabled = false }) {
37206
37219
  return () => cancelAnimationFrame(id);
37207
37220
  }
37208
37221
  }, [isHydrated, transitionsEnabled]);
37209
- return /* @__PURE__ */ jsxs224(Fragment55, { children: [
37222
+ return /* @__PURE__ */ jsxs224(Fragment56, { children: [
37210
37223
  /* @__PURE__ */ jsx286(
37211
37224
  "div",
37212
37225
  {
@@ -37245,7 +37258,7 @@ function NavigationSidebar({ config, disabled = false }) {
37245
37258
  ),
37246
37259
  style: { width: sidebarWidth },
37247
37260
  "aria-label": "Main navigation sidebar",
37248
- children: isHydrated && /* @__PURE__ */ jsxs224(Fragment55, { children: [
37261
+ children: isHydrated && /* @__PURE__ */ jsxs224(Fragment56, { children: [
37249
37262
  /* @__PURE__ */ jsx286(NavigationSidebarHeader, { minimized }),
37250
37263
  /* @__PURE__ */ jsxs224("div", { className: "flex-1 flex flex-col justify-between py-4 overflow-y-auto", children: [
37251
37264
  /* @__PURE__ */ jsx286("nav", { className: "flex flex-col", "aria-label": "Primary navigation", children: primaryItems.map((item) => /* @__PURE__ */ jsx286(
@@ -37658,7 +37671,7 @@ import { Suspense as Suspense2, useCallback as useCallback38, useMemo as useMemo
37658
37671
  // src/components/navigation/mobile-burger-menu.tsx
37659
37672
  import React115, { useCallback as useCallback37, useRef as useRef52 } from "react";
37660
37673
  import { usePreventScroll as usePreventScroll5 } from "@react-aria/overlays";
37661
- 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";
37662
37675
  var HEADER_HEIGHT = 48;
37663
37676
  var MobileBurgerMenu = React115.memo(function MobileBurgerMenu2({
37664
37677
  isOpen,
@@ -37718,7 +37731,7 @@ var MobileBurgerMenu = React115.memo(function MobileBurgerMenu2({
37718
37731
  );
37719
37732
  };
37720
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)) });
37721
- return /* @__PURE__ */ jsxs229(Fragment56, { children: [
37734
+ return /* @__PURE__ */ jsxs229(Fragment57, { children: [
37722
37735
  /* @__PURE__ */ jsx291(
37723
37736
  "div",
37724
37737
  {
@@ -38482,7 +38495,7 @@ import React117, { useRef as useRef54, useCallback as useCallback39 } from "reac
38482
38495
  import React116 from "react";
38483
38496
  init_button2();
38484
38497
  init_cn();
38485
- 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";
38486
38499
  function OnboardingStepCard({
38487
38500
  step,
38488
38501
  isCompleted,
@@ -38524,10 +38537,10 @@ function OnboardingStepCard({
38524
38537
  /* @__PURE__ */ jsx301("h3", { className: "text-h4 text-ods-text-primary truncate", title: step.title, children: step.title }),
38525
38538
  /* @__PURE__ */ jsx301("p", { className: "text-h6 text-ods-text-secondary truncate h-[20px]", title: step.description, children: step.description })
38526
38539
  ] }),
38527
- /* @__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: [
38528
38541
  /* @__PURE__ */ jsx301("div", { className: "h-[32px] w-[100px] bg-ods-border rounded-[6px] animate-pulse" }),
38529
38542
  /* @__PURE__ */ jsx301("div", { className: "h-[32px] w-[120px] bg-ods-border rounded-[6px] animate-pulse" })
38530
- ] }) : isCompleted ? /* @__PURE__ */ jsxs239(Fragment57, { children: [
38543
+ ] }) : isCompleted ? /* @__PURE__ */ jsxs239(Fragment58, { children: [
38531
38544
  /* @__PURE__ */ jsx301(
38532
38545
  StatusBadge,
38533
38546
  {
@@ -38546,14 +38559,14 @@ function OnboardingStepCard({
38546
38559
  children: step.completedText
38547
38560
  }
38548
38561
  )
38549
- ] }) : isSkipped ? /* @__PURE__ */ jsx301(Fragment57, { children: /* @__PURE__ */ jsx301(
38562
+ ] }) : isSkipped ? /* @__PURE__ */ jsx301(Fragment58, { children: /* @__PURE__ */ jsx301(
38550
38563
  StatusBadge,
38551
38564
  {
38552
38565
  text: "SKIPPED",
38553
38566
  variant: "card",
38554
38567
  colorScheme: "default"
38555
38568
  }
38556
- ) }) : /* @__PURE__ */ jsxs239(Fragment57, { children: [
38569
+ ) }) : /* @__PURE__ */ jsxs239(Fragment58, { children: [
38557
38570
  /* @__PURE__ */ jsx301(
38558
38571
  Button,
38559
38572
  {
@@ -39513,7 +39526,7 @@ function getHideClasses(hideAt) {
39513
39526
  }
39514
39527
 
39515
39528
  // src/components/ui/table/table-header.tsx
39516
- 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";
39517
39530
  function TableHeader({
39518
39531
  columns,
39519
39532
  className,
@@ -39624,10 +39637,10 @@ function TableHeader({
39624
39637
  column.sortable && "cursor-pointer hover:text-ods-text-primary transition-colors"
39625
39638
  ),
39626
39639
  onClick: () => handleSort(column),
39627
- children: column.renderHeader ? /* @__PURE__ */ jsxs249(Fragment58, { children: [
39640
+ children: column.renderHeader ? /* @__PURE__ */ jsxs249(Fragment59, { children: [
39628
39641
  column.renderHeader(),
39629
39642
  getSortIcon(column)
39630
- ] }) : /* @__PURE__ */ jsxs249(Fragment58, { children: [
39643
+ ] }) : /* @__PURE__ */ jsxs249(Fragment59, { children: [
39631
39644
  /* @__PURE__ */ jsx314("span", { className: "text-h5 text-ods-text-secondary uppercase whitespace-nowrap", children: column.label }),
39632
39645
  getSortIcon(column)
39633
39646
  ] })
@@ -39682,7 +39695,7 @@ function TableCell({
39682
39695
 
39683
39696
  // src/components/ui/table/table-skeleton.tsx
39684
39697
  init_cn();
39685
- 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";
39686
39699
  var ROW_HEIGHT_DESKTOP = "h-[68px] md:h-[80px]";
39687
39700
  var ROW_HEIGHT_MOBILE = "h-[68px]";
39688
39701
  function TableCardSkeleton({
@@ -39694,7 +39707,7 @@ function TableCardSkeleton({
39694
39707
  rowClassName
39695
39708
  }) {
39696
39709
  const primaryKey = (columns.find((c) => /flex-(1|\[)/.test(c.width || "")) ?? columns[0])?.key;
39697
- 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(
39698
39711
  "div",
39699
39712
  {
39700
39713
  className: cn(
@@ -39873,7 +39886,7 @@ function useTableMotion(enabled) {
39873
39886
  }
39874
39887
 
39875
39888
  // src/components/ui/table/table.tsx
39876
- 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";
39877
39890
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
39878
39891
  const hasActions = Boolean(rowActions?.length) || Boolean(renderRowActions);
39879
39892
  const result = [...columns];
@@ -40075,7 +40088,7 @@ function Table({
40075
40088
  hasActions: Boolean(rowActions) && rowActions.length > 0,
40076
40089
  hasChevron: Boolean(rowHref)
40077
40090
  }
40078
- ) : 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: [
40079
40092
  (() => {
40080
40093
  const rows = data.map((item, index) => /* @__PURE__ */ jsx318(
40081
40094
  TableRow,
@@ -40702,7 +40715,7 @@ function DataTableColumnFilter({
40702
40715
  }
40703
40716
 
40704
40717
  // src/components/ui/data-table/data-table-header.tsx
40705
- 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";
40706
40719
  function DataTableHeader({
40707
40720
  className,
40708
40721
  stickyHeader,
@@ -40798,7 +40811,7 @@ function HeaderLabel({ header }) {
40798
40811
  if (typeof headerDef === "string") {
40799
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 });
40800
40813
  }
40801
- return /* @__PURE__ */ jsx327(Fragment61, { children: flexRender(headerDef, header.getContext()) });
40814
+ return /* @__PURE__ */ jsx327(Fragment62, { children: flexRender(headerDef, header.getContext()) });
40802
40815
  }
40803
40816
  function SortIcon({ sorted }) {
40804
40817
  if (sorted === "asc") return /* @__PURE__ */ jsx327(Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" });
@@ -40837,7 +40850,7 @@ import { flexRender as flexRender2 } from "@tanstack/react-table";
40837
40850
 
40838
40851
  // src/components/ui/data-table/data-table-skeleton.tsx
40839
40852
  init_cn();
40840
- 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";
40841
40854
  var ROW_HEIGHT_DESKTOP2 = "h-[68px] md:h-[80px]";
40842
40855
  var ROW_HEIGHT_MOBILE2 = "h-[68px]";
40843
40856
  function DataTableSkeleton({
@@ -40848,7 +40861,7 @@ function DataTableSkeleton({
40848
40861
  const table = useDataTableContext();
40849
40862
  const columns = table.getVisibleFlatColumns();
40850
40863
  const firstColumnId = columns[0]?.id;
40851
- 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(
40852
40865
  "div",
40853
40866
  {
40854
40867
  className: cn(
@@ -40904,7 +40917,7 @@ function DataTableSkeleton({
40904
40917
  }
40905
40918
 
40906
40919
  // src/components/ui/data-table/data-table-row.tsx
40907
- 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";
40908
40921
  function DataTableRowImpl({
40909
40922
  row,
40910
40923
  onClick,
@@ -41006,7 +41019,7 @@ function CellContent({ children }) {
41006
41019
  if (typeof children === "string" || typeof children === "number") {
41007
41020
  return /* @__PURE__ */ jsx330("span", { className: "text-h4 text-ods-text-primary truncate", title: String(children), children });
41008
41021
  }
41009
- return /* @__PURE__ */ jsx330(Fragment63, { children });
41022
+ return /* @__PURE__ */ jsx330(Fragment64, { children });
41010
41023
  }
41011
41024
 
41012
41025
  // src/components/ui/data-table/data-table-body.tsx
@@ -41086,7 +41099,7 @@ function DataTableBody({
41086
41099
 
41087
41100
  // src/components/ui/data-table/data-table-infinite-footer.tsx
41088
41101
  import { useEffect as useEffect73, useRef as useRef60 } from "react";
41089
- 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";
41090
41103
  function DataTableInfiniteFooter({
41091
41104
  hasNextPage,
41092
41105
  isFetchingNextPage,
@@ -41110,7 +41123,7 @@ function DataTableInfiniteFooter({
41110
41123
  observer.observe(sentinel);
41111
41124
  return () => observer.disconnect();
41112
41125
  }, [hasNextPage, isFetchingNextPage, rootMargin]);
41113
- return /* @__PURE__ */ jsxs263(Fragment64, { children: [
41126
+ return /* @__PURE__ */ jsxs263(Fragment65, { children: [
41114
41127
  isFetchingNextPage && /* @__PURE__ */ jsx332(DataTableSkeleton, { rows: skeletonRows }),
41115
41128
  hasNextPage && /* @__PURE__ */ jsx332("div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" })
41116
41129
  ] });
@@ -42520,7 +42533,7 @@ function FileUpload({
42520
42533
  import * as React128 from "react";
42521
42534
  import { Loader2 as Loader210 } from "lucide-react";
42522
42535
  init_cn();
42523
- 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";
42524
42537
  var DEFAULT_MAX_SIZE = 25 * 1024 * 1024;
42525
42538
  function formatSize(bytes) {
42526
42539
  const mb = bytes / (1024 * 1024);
@@ -42649,7 +42662,7 @@ function ImageUploader({
42649
42662
  !hasImage && !interactive && "cursor-not-allowed",
42650
42663
  dropzoneClassName
42651
42664
  ),
42652
- children: hasImage ? /* @__PURE__ */ jsxs270(Fragment66, { children: [
42665
+ children: hasImage ? /* @__PURE__ */ jsxs270(Fragment67, { children: [
42653
42666
  /* @__PURE__ */ jsx339("div", { className: "relative min-h-0 w-full flex-1 overflow-hidden rounded-md", children: resolvedValue && /* @__PURE__ */ jsx339(
42654
42667
  "img",
42655
42668
  {
@@ -42686,7 +42699,7 @@ function ImageUploader({
42686
42699
  )
42687
42700
  ] }),
42688
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" }) })
42689
- ] }) : 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: [
42690
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" }) }),
42691
42704
  /* @__PURE__ */ jsxs270("div", { className: "flex w-full flex-col items-center text-center", children: [
42692
42705
  /* @__PURE__ */ jsx339("p", { className: "text-h4 text-ods-text-primary", children: label }),
@@ -42756,7 +42769,7 @@ PopoverContent.displayName = PopoverPrimitive7.Content.displayName;
42756
42769
 
42757
42770
  // src/components/ui/color-preset-select.tsx
42758
42771
  init_cn();
42759
- 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";
42760
42773
  var TICKET_STATUS_COLOR_PRESETS = [
42761
42774
  { key: "green", label: "Green", color: "#5ea62e" },
42762
42775
  { key: "lime", label: "Lime", color: "#8bc34a" },
@@ -42907,7 +42920,7 @@ function RgbInputs({ value, onChange }) {
42907
42920
  const b = next.b ?? rgb.b;
42908
42921
  onChange(rgbToHex(r, g, b));
42909
42922
  };
42910
- return /* @__PURE__ */ jsxs271(Fragment67, { children: [
42923
+ return /* @__PURE__ */ jsxs271(Fragment68, { children: [
42911
42924
  /* @__PURE__ */ jsx341(ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
42912
42925
  /* @__PURE__ */ jsx341(ChannelInput, { value: rgb.g, min: 0, max: 255, ariaLabel: "Green", onCommit: (g) => update({ g }) }),
42913
42926
  /* @__PURE__ */ jsx341(ChannelInput, { value: rgb.b, min: 0, max: 255, ariaLabel: "Blue", onCommit: (b) => update({ b }) })
@@ -42923,7 +42936,7 @@ function HslInputs({ value, onChange }) {
42923
42936
  const out = hslToRgb(h, s, l);
42924
42937
  onChange(rgbToHex(out.r, out.g, out.b));
42925
42938
  };
42926
- return /* @__PURE__ */ jsxs271(Fragment67, { children: [
42939
+ return /* @__PURE__ */ jsxs271(Fragment68, { children: [
42927
42940
  /* @__PURE__ */ jsx341(ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
42928
42941
  /* @__PURE__ */ jsx341(ChannelInput, { value: hsl.s, min: 0, max: 100, ariaLabel: "Saturation", onCommit: (s) => update({ s }) }),
42929
42942
  /* @__PURE__ */ jsx341(ChannelInput, { value: hsl.l, min: 0, max: 100, ariaLabel: "Lightness", onCommit: (l) => update({ l }) })
@@ -43220,7 +43233,7 @@ init_cn();
43220
43233
  // src/components/ui/ticket-note-card.tsx
43221
43234
  import * as React132 from "react";
43222
43235
  init_cn();
43223
- 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";
43224
43237
  function TicketNoteCard({ note, onEdit, onDelete, className }) {
43225
43238
  const [isEditing, setIsEditing] = React132.useState(false);
43226
43239
  const [editText, setEditText] = React132.useState(note.text);
@@ -43294,7 +43307,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
43294
43307
  children: /* @__PURE__ */ jsx345(XmarkIcon, { className: "size-5" })
43295
43308
  }
43296
43309
  )
43297
- ] }) : /* @__PURE__ */ jsxs275(Fragment68, { children: [
43310
+ ] }) : /* @__PURE__ */ jsxs275(Fragment69, { children: [
43298
43311
  /* @__PURE__ */ jsx345("p", { className: "text-h4 text-ods-text-primary", children: note.text }),
43299
43312
  /* @__PURE__ */ jsxs275(
43300
43313
  "p",
@@ -43401,7 +43414,7 @@ function TicketNotesSection({
43401
43414
  }
43402
43415
 
43403
43416
  // src/components/ui/ticket-info-section.tsx
43404
- 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";
43405
43418
  function InfoCell2({ value, label, icon, onClick }) {
43406
43419
  return /* @__PURE__ */ jsx347("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ jsxs277("div", { className: "flex flex-col justify-center", children: [
43407
43420
  /* @__PURE__ */ jsxs277("div", { className: "flex items-center gap-1 w-full min-w-0", children: [
@@ -43526,7 +43539,7 @@ function TicketInfoSection({
43526
43539
  )
43527
43540
  ] })
43528
43541
  ] }),
43529
- expanded && /* @__PURE__ */ jsxs277(Fragment69, { children: [
43542
+ expanded && /* @__PURE__ */ jsxs277(Fragment70, { children: [
43530
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" }) }),
43531
43544
  /* @__PURE__ */ jsxs277("div", { className: "flex flex-col gap-4 p-4 bg-ods-bg border-b border-ods-border", children: [
43532
43545
  description && /* @__PURE__ */ jsx347(SimpleMarkdownRenderer, { content: description }),
@@ -43584,7 +43597,7 @@ function FilterPillRow({
43584
43597
 
43585
43598
  // src/components/ui/image-gallery-modal.tsx
43586
43599
  import { ChevronLeft as ChevronLeft4, ChevronRight as ChevronRight8 } from "lucide-react";
43587
- 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";
43588
43601
  function ImageGalleryModal({
43589
43602
  images,
43590
43603
  isOpen,
@@ -43640,7 +43653,7 @@ function ImageGalleryModal({
43640
43653
  onClose,
43641
43654
  className: "max-w-[95vw]",
43642
43655
  children: /* @__PURE__ */ jsxs279("div", { className: "relative flex items-center justify-center bg-black rounded-lg", children: [
43643
- images.length > 1 && /* @__PURE__ */ jsxs279(Fragment70, { children: [
43656
+ images.length > 1 && /* @__PURE__ */ jsxs279(Fragment71, { children: [
43644
43657
  selectedImageIndex > 0 && /* @__PURE__ */ jsx349("div", { className: "absolute left-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx349(
43645
43658
  Button,
43646
43659
  {
@@ -43758,7 +43771,7 @@ function TaskTypeIcon({ customItemId, className = "h-5 w-5" }) {
43758
43771
  }
43759
43772
 
43760
43773
  // src/components/chat/entity-cards/roadmap-card.tsx
43761
- 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";
43762
43775
  function RoadmapCardSkeleton({ size: size2 = "default" }) {
43763
43776
  if (size2 === "sm") {
43764
43777
  return /* @__PURE__ */ jsxs280("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
@@ -43820,7 +43833,7 @@ function RoadmapCard({
43820
43833
  const hasScreenshots = (item.screenshots?.length ?? 0) > 0;
43821
43834
  const typeLabel = getTaskTypeLabel(item.customItemId);
43822
43835
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
43823
- const body = /* @__PURE__ */ jsxs280(Fragment71, { children: [
43836
+ const body = /* @__PURE__ */ jsxs280(Fragment72, { children: [
43824
43837
  /* @__PURE__ */ jsx351(
43825
43838
  "span",
43826
43839
  {
@@ -44012,7 +44025,7 @@ function RoadmapCard({
44012
44025
  // src/components/chat/entity-cards/github-activity-card.tsx
44013
44026
  import React135 from "react";
44014
44027
  import { GitPullRequest, Eye as Eye4, ExternalLink as ExternalLink8 } from "lucide-react";
44015
- 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";
44016
44029
  function parseRepoFromUrl(url) {
44017
44030
  if (!url) return null;
44018
44031
  try {
@@ -44144,7 +44157,7 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
44144
44157
  if (repo) metaParts.push(/* @__PURE__ */ jsx352("span", { className: "font-mono truncate", children: repo }, "repo"));
44145
44158
  if (dateText) metaParts.push(/* @__PURE__ */ jsx352("span", { className: "whitespace-nowrap", children: dateText }, "date"));
44146
44159
  const href = safeHref(item.url);
44147
- const body = /* @__PURE__ */ jsxs281(Fragment72, { children: [
44160
+ const body = /* @__PURE__ */ jsxs281(Fragment73, { children: [
44148
44161
  /* @__PURE__ */ jsx352("span", { className: COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
44149
44162
  /* @__PURE__ */ jsxs281("span", { className: COMPACT_CARD_TEXT_COL, children: [
44150
44163
  /* @__PURE__ */ jsxs281("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
@@ -44199,7 +44212,7 @@ function GitHubActivityCardSkeleton({ variant = "compact", className }) {
44199
44212
  // src/components/chat/entity-cards/slack-message-card.tsx
44200
44213
  import React136 from "react";
44201
44214
  import { ExternalLink as ExternalLink9, Hash } from "lucide-react";
44202
- 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";
44203
44216
  function parseChannelFromUrl(url) {
44204
44217
  if (!url) return null;
44205
44218
  try {
@@ -44238,7 +44251,7 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
44238
44251
  }
44239
44252
  if (dateText) metaParts.push(/* @__PURE__ */ jsx353("span", { className: "whitespace-nowrap", children: dateText }, "date"));
44240
44253
  const href = safeHref(item.url);
44241
- const body = /* @__PURE__ */ jsxs282(Fragment73, { children: [
44254
+ const body = /* @__PURE__ */ jsxs282(Fragment74, { children: [
44242
44255
  /* @__PURE__ */ jsx353("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx353(SlackIcon, { className: "h-5 w-5" }) }),
44243
44256
  /* @__PURE__ */ jsxs282("span", { className: COMPACT_CARD_TEXT_COL, children: [
44244
44257
  /* @__PURE__ */ jsx353("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx353("span", { className: COMPACT_CARD_TITLE, children: item.title }) }),
@@ -44288,7 +44301,7 @@ function SlackMessageCardSkeleton({ variant = "compact", className }) {
44288
44301
  // src/components/chat/entity-cards/hubspot-ticket-card.tsx
44289
44302
  import React137 from "react";
44290
44303
  import { ExternalLink as ExternalLink10 } from "lucide-react";
44291
- 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";
44292
44305
  function formatToken(token) {
44293
44306
  if (!token) return null;
44294
44307
  const lower = token.toLowerCase().replace(/_/g, " ");
@@ -44327,7 +44340,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
44327
44340
  }
44328
44341
  if (dateText) metaParts.push(/* @__PURE__ */ jsx354("span", { className: "whitespace-nowrap", children: dateText }, "date"));
44329
44342
  const href = safeHref(item.url);
44330
- const body = /* @__PURE__ */ jsxs283(Fragment74, { children: [
44343
+ const body = /* @__PURE__ */ jsxs283(Fragment75, { children: [
44331
44344
  /* @__PURE__ */ jsxs283("span", { className: COMPACT_CARD_TEXT_COL, children: [
44332
44345
  /* @__PURE__ */ jsxs283("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
44333
44346
  /* @__PURE__ */ jsx354("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
@@ -44407,9 +44420,9 @@ function HubspotTicketCardSkeleton({ variant = "compact", className }) {
44407
44420
 
44408
44421
  // src/components/chat/entity-cards/data-room-doc-card.tsx
44409
44422
  import { ExternalLink as ExternalLink11 } from "lucide-react";
44410
- 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";
44411
44424
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
44412
- const body = /* @__PURE__ */ jsxs284(Fragment75, { children: [
44425
+ const body = /* @__PURE__ */ jsxs284(Fragment76, { children: [
44413
44426
  /* @__PURE__ */ jsxs284("span", { className: COMPACT_CARD_TEXT_COL, children: [
44414
44427
  /* @__PURE__ */ jsxs284("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
44415
44428
  /* @__PURE__ */ jsx355("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
@@ -46019,7 +46032,7 @@ function cleanEscapedString(input) {
46019
46032
  init_button();
46020
46033
  import { ExternalLink as ExternalLink12, Clock as Clock2, Play as Play4, Video as Video5 } from "lucide-react";
46021
46034
  init_cn();
46022
- 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";
46023
46036
  function formatUtc(date, fmt) {
46024
46037
  return format2(new Date(date.getTime() + date.getTimezoneOffset() * 6e4), fmt);
46025
46038
  }
@@ -46094,7 +46107,7 @@ function MediaGallery({ images, title }) {
46094
46107
  setIsModalOpen(false);
46095
46108
  setSelectedImageIndex(null);
46096
46109
  };
46097
- return /* @__PURE__ */ jsxs285(Fragment76, { children: [
46110
+ return /* @__PURE__ */ jsxs285(Fragment77, { children: [
46098
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(
46099
46112
  "div",
46100
46113
  {
@@ -46236,7 +46249,7 @@ function ProgramCard({
46236
46249
  const dateFormat = formatUtc(itemDate, "EEEE d MMMM");
46237
46250
  const defaultRenderMeta = () => {
46238
46251
  if (config.type === "podcast" && "duration_seconds" in item && !isScheduled) {
46239
- return /* @__PURE__ */ jsxs285(Fragment76, { children: [
46252
+ return /* @__PURE__ */ jsxs285(Fragment77, { children: [
46240
46253
  /* @__PURE__ */ jsx356(Clock2, { className: "w-4 h-4 text-ods-text-secondary" }),
46241
46254
  /* @__PURE__ */ jsx356("span", { className: "font-body text-ods-text-secondary", children: formatDurationCompact(item.duration_seconds) })
46242
46255
  ] });
@@ -46247,7 +46260,7 @@ function ProgramCard({
46247
46260
  if (config.type === "webinar" && "start_at" in item) {
46248
46261
  const webinarItem = item;
46249
46262
  const duration = formatDurationFromRange(webinarItem.start_at, webinarItem.end_at);
46250
- return /* @__PURE__ */ jsxs285(Fragment76, { children: [
46263
+ return /* @__PURE__ */ jsxs285(Fragment77, { children: [
46251
46264
  /* @__PURE__ */ jsx356(Video5, { className: "w-4 h-4 text-ods-text-secondary" }),
46252
46265
  /* @__PURE__ */ jsxs285("span", { className: "font-body text-ods-text-secondary", children: [
46253
46266
  formatTimeWithTimezone(webinarItem.start_at, webinarItem.timezone ?? null),
@@ -46281,10 +46294,10 @@ function ProgramCard({
46281
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 }),
46282
46295
  /* @__PURE__ */ jsxs285("div", { className: "flex flex-col md:flex-row md:items-center gap-2 md:gap-4 mb-4", children: [
46283
46296
  /* @__PURE__ */ jsx356("span", { className: "text-h6", style: { color: accentColor }, children: dateFormat }),
46284
- renderMeta ? /* @__PURE__ */ jsxs285(Fragment76, { children: [
46297
+ renderMeta ? /* @__PURE__ */ jsxs285(Fragment77, { children: [
46285
46298
  /* @__PURE__ */ jsx356("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
46286
46299
  renderMeta(item)
46287
- ] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs285(Fragment76, { children: [
46300
+ ] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs285(Fragment77, { children: [
46288
46301
  /* @__PURE__ */ jsx356("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
46289
46302
  /* @__PURE__ */ jsx356("div", { className: "flex items-center gap-2", children: defaultRenderMeta() })
46290
46303
  ] })
@@ -46361,10 +46374,10 @@ function ProgramCard({
46361
46374
 
46362
46375
  // src/components/chat/entity-cards/campaign-card-admin.tsx
46363
46376
  import { Megaphone as Megaphone3 } from "lucide-react";
46364
- 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";
46365
46378
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
46366
46379
  const goalsCount = campaign.goals?.length || 0;
46367
- const innerChildren = /* @__PURE__ */ jsxs286(Fragment77, { children: [
46380
+ const innerChildren = /* @__PURE__ */ jsxs286(Fragment78, { children: [
46368
46381
  /* @__PURE__ */ jsx357("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx357(Megaphone3, { className: "h-5 w-5" }) }),
46369
46382
  /* @__PURE__ */ jsxs286("span", { className: COMPACT_CARD_TEXT_COL, children: [
46370
46383
  /* @__PURE__ */ jsx357("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx357("span", { className: COMPACT_CARD_TITLE, children: campaign.name }) }),
@@ -46394,11 +46407,11 @@ function CampaignCardAdminSkeleton({ className }) {
46394
46407
 
46395
46408
  // src/components/chat/entity-cards/generic-entity-card.tsx
46396
46409
  import { ExternalLink as ExternalLink13 } from "lucide-react";
46397
- 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";
46398
46411
  function GenericEntityCard({ item, className, anchorProps }) {
46399
46412
  const href = safeHref(item.url);
46400
46413
  const dateText = formatDateUTC(item.dateUpdated, { fallback: "", timezone: "local" });
46401
- const body = /* @__PURE__ */ jsxs287(Fragment78, { children: [
46414
+ const body = /* @__PURE__ */ jsxs287(Fragment79, { children: [
46402
46415
  /* @__PURE__ */ jsxs287("span", { className: COMPACT_CARD_TEXT_COL, children: [
46403
46416
  /* @__PURE__ */ jsxs287("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
46404
46417
  /* @__PURE__ */ jsx358("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
@@ -46583,7 +46596,7 @@ function resolveSourceIcon(input, ctx = {}) {
46583
46596
 
46584
46597
  // src/components/chat/mingo-info-card.tsx
46585
46598
  init_cn();
46586
- 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";
46587
46600
  function CardMedia({
46588
46601
  imageSrc,
46589
46602
  imageAlt,
@@ -46627,7 +46640,7 @@ function MingoInfoCard({
46627
46640
  const hasMenu = !!menuGroups && menuGroups.length > 0;
46628
46641
  const isAnchor = !!anchorProps;
46629
46642
  const isInteractive = isAnchor || !!onClick;
46630
- const content = /* @__PURE__ */ jsxs288(Fragment79, { children: [
46643
+ const content = /* @__PURE__ */ jsxs288(Fragment80, { children: [
46631
46644
  hasMedia && /* @__PURE__ */ jsx359(CardMedia, { imageSrc, imageAlt, icon }),
46632
46645
  /* @__PURE__ */ jsxs288("span", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
46633
46646
  /* @__PURE__ */ jsx359("span", { className: "truncate text-h4 text-ods-text-primary", children: title }),
@@ -46676,7 +46689,7 @@ function MingoInfoCard({
46676
46689
  }
46677
46690
 
46678
46691
  // src/components/chat/entity-cards/dispatch.tsx
46679
- 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";
46680
46693
  function githubKindIcon(kind) {
46681
46694
  switch (kind) {
46682
46695
  case "pull_request":
@@ -47644,10 +47657,10 @@ function ChatCardLoader({
47644
47657
  }
47645
47658
  );
47646
47659
  }
47647
- if (isLoading) return /* @__PURE__ */ jsx360(Fragment80, { children: entry.skeleton() });
47660
+ if (isLoading) return /* @__PURE__ */ jsx360(Fragment81, { children: entry.skeleton() });
47648
47661
  if (!item) return null;
47649
47662
  if (entry.bareInline) {
47650
- return /* @__PURE__ */ jsx360(Fragment80, { children: navWrap(entry.render(item, finalChatRef, renderOpts)) });
47663
+ return /* @__PURE__ */ jsx360(Fragment81, { children: navWrap(entry.render(item, finalChatRef, renderOpts)) });
47651
47664
  }
47652
47665
  return /* @__PURE__ */ jsx360(
47653
47666
  ChatCardWithDiscuss,
@@ -48570,6 +48583,7 @@ function parseChunkToAction(chunk) {
48570
48583
  integratedToolType: data.integratedToolType || "",
48571
48584
  toolFunction: data.toolFunction || "",
48572
48585
  toolTitle: typeof data.title === "string" ? data.title : void 0,
48586
+ toolExplanation: typeof data.toolExplanation === "string" ? data.toolExplanation : void 0,
48573
48587
  parameters: data.parameters,
48574
48588
  toolExecutionRequestId: typeof data.toolExecutionRequestId === "string" ? data.toolExecutionRequestId : void 0
48575
48589
  }
@@ -48820,6 +48834,7 @@ var MessageSegmentAccumulator = class {
48820
48834
  integratedToolType: toolData.integratedToolType,
48821
48835
  toolFunction: toolData.toolFunction,
48822
48836
  toolTitle: toolData.toolTitle,
48837
+ toolExplanation: toolData.toolExplanation,
48823
48838
  parameters: toolData.parameters
48824
48839
  });
48825
48840
  this.segments.push(segment);
@@ -48834,6 +48849,7 @@ var MessageSegmentAccumulator = class {
48834
48849
  data: {
48835
48850
  ...toolData,
48836
48851
  toolTitle: toolData.toolTitle ?? existingExecuting?.data.toolTitle ?? executingTool?.toolTitle,
48852
+ toolExplanation: toolData.toolExplanation ?? existingExecuting?.data.toolExplanation ?? executingTool?.toolExplanation,
48837
48853
  parameters: toolData.parameters || executingTool?.parameters
48838
48854
  }
48839
48855
  };
@@ -51118,6 +51134,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
51118
51134
  integratedToolType: data.integratedToolType || "",
51119
51135
  toolFunction: data.toolFunction || "",
51120
51136
  toolTitle: typeof data.title === "string" ? data.title : void 0,
51137
+ toolExplanation: typeof data.toolExplanation === "string" ? data.toolExplanation : void 0,
51121
51138
  parameters: data.parameters,
51122
51139
  toolExecutionRequestId: data.toolExecutionRequestId
51123
51140
  }
@@ -51416,6 +51433,7 @@ function extractIncompleteMessageState(lastMessage) {
51416
51433
  integratedToolType: segment.data.integratedToolType,
51417
51434
  toolFunction: segment.data.toolFunction,
51418
51435
  toolTitle: segment.data.toolTitle,
51436
+ toolExplanation: segment.data.toolExplanation,
51419
51437
  parameters: segment.data.parameters
51420
51438
  });
51421
51439
  hasIncompleteState = true;
@@ -51572,6 +51590,7 @@ function applyToolExecutionToMessages(prev, segment) {
51572
51590
  data: {
51573
51591
  ...toolData,
51574
51592
  toolTitle: toolData.toolTitle ?? seg.data.toolTitle,
51593
+ toolExplanation: toolData.toolExplanation ?? seg.data.toolExplanation,
51575
51594
  parameters: toolData.parameters || seg.data.parameters
51576
51595
  }
51577
51596
  };
@@ -53000,7 +53019,7 @@ function useChatDialogManager({
53000
53019
 
53001
53020
  // src/components/chat/embeddable-chat.tsx
53002
53021
  init_next_navigation();
53003
- 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";
53004
53023
  var DRAWER_DEFAULT_WIDTH_RATIO = 0.5;
53005
53024
  var DRAWER_WIDTH_KEY = "mingo-chat-width-v3";
53006
53025
  var DRAWER_DEFAULT_WIDTH_PX = 750;
@@ -53172,7 +53191,7 @@ function SourceChip({
53172
53191
  );
53173
53192
  }
53174
53193
  const displayName = src.name || formatRelativePath(src.path);
53175
- const chipBody = (label) => /* @__PURE__ */ jsxs290(Fragment81, { children: [
53194
+ const chipBody = (label) => /* @__PURE__ */ jsxs290(Fragment82, { children: [
53176
53195
  icon,
53177
53196
  /* @__PURE__ */ jsxs290("span", { className: "truncate max-w-[160px]", children: [
53178
53197
  "[",
@@ -53979,7 +53998,7 @@ function EmbeddableChatInner({
53979
53998
  // renders in the rail below); the chat block is untouched.
53980
53999
  // Back is a full-height leading cell, matching the other
53981
54000
  // header cells (not a small inline chevron).
53982
- /* @__PURE__ */ jsxs290(Fragment81, { children: [
54001
+ /* @__PURE__ */ jsxs290(Fragment82, { children: [
53983
54002
  /* @__PURE__ */ jsx364(
53984
54003
  ChatHeaderIconButton,
53985
54004
  {
@@ -53996,7 +54015,7 @@ function EmbeddableChatInner({
53996
54015
  // search + archive controls. When search is open the
53997
54016
  // inline field takes over the title area in place
53998
54017
  // (Figma 116:51217) and the magnifier toggle is hidden.
53999
- /* @__PURE__ */ jsxs290(Fragment81, { children: [
54018
+ /* @__PURE__ */ jsxs290(Fragment82, { children: [
54000
54019
  railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ jsx364(
54001
54020
  ChatHeaderSearchField,
54002
54021
  {
@@ -54004,7 +54023,7 @@ function EmbeddableChatInner({
54004
54023
  onSearchChange: mingoCaps.onSearchChange,
54005
54024
  onCollapse: () => setRailSearchOpen(false)
54006
54025
  }
54007
- ) : /* @__PURE__ */ jsxs290(Fragment81, { children: [
54026
+ ) : /* @__PURE__ */ jsxs290(Fragment82, { children: [
54008
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" }) }),
54009
54028
  mingoCaps.onSearchChange && /* @__PURE__ */ jsx364(
54010
54029
  ChatHeaderIconButton,
@@ -54150,7 +54169,7 @@ function EmbeddableChatInner({
54150
54169
  onRetry: reloadDialogs
54151
54170
  }
54152
54171
  )
54153
- ) : /* @__PURE__ */ jsxs290(Fragment81, { children: [
54172
+ ) : /* @__PURE__ */ jsxs290(Fragment82, { children: [
54154
54173
  /* @__PURE__ */ jsx364(
54155
54174
  "div",
54156
54175
  {
@@ -54396,7 +54415,7 @@ function EmbeddableChatInner({
54396
54415
  ]
54397
54416
  }
54398
54417
  ) }) });
54399
- return /* @__PURE__ */ jsxs290(Fragment81, { children: [
54418
+ return /* @__PURE__ */ jsxs290(Fragment82, { children: [
54400
54419
  showInternalTrigger && !shellLess && /* @__PURE__ */ jsx364(
54401
54420
  "div",
54402
54421
  {
@@ -55416,4 +55435,4 @@ export {
55416
55435
  LogsList,
55417
55436
  assets
55418
55437
  };
55419
- //# sourceMappingURL=chunk-THGA7UZZ.js.map
55438
+ //# sourceMappingURL=chunk-JFDSGGAK.js.map