@flamingo-stack/openframe-frontend-core 0.0.479 → 0.0.480-snapshot.20260724201901

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 (108) hide show
  1. package/dist/{chunk-A56QSYYE.js → chunk-2DIOV7BR.js} +4 -4
  2. package/dist/{chunk-4PIISCMH.js → chunk-4SMRQ4SN.js} +2 -2
  3. package/dist/{chunk-MKLZ6SRA.js → chunk-66BNAFO6.js} +4 -4
  4. package/dist/{chunk-PZYIEVIV.cjs → chunk-AN47EIIJ.cjs} +59 -59
  5. package/dist/{chunk-PZYIEVIV.cjs.map → chunk-AN47EIIJ.cjs.map} +1 -1
  6. package/dist/{chunk-THGA7UZZ.js → chunk-BBUEY73L.js} +235 -213
  7. package/dist/chunk-BBUEY73L.js.map +1 -0
  8. package/dist/{chunk-7URE6XMT.js → chunk-DEHZ5CTC.js} +2 -2
  9. package/dist/{chunk-VWHYXVRX.js → chunk-FP4H6Y5O.js} +2 -2
  10. package/dist/{chunk-M6NVQVZQ.cjs → chunk-H6DFCF44.cjs} +62 -62
  11. package/dist/{chunk-M6NVQVZQ.cjs.map → chunk-H6DFCF44.cjs.map} +1 -1
  12. package/dist/{chunk-LZ64BSR5.cjs → chunk-INDFIVDV.cjs} +7 -7
  13. package/dist/{chunk-LZ64BSR5.cjs.map → chunk-INDFIVDV.cjs.map} +1 -1
  14. package/dist/{chunk-46C2MVQG.cjs → chunk-JUJY3HQS.cjs} +15 -15
  15. package/dist/{chunk-46C2MVQG.cjs.map → chunk-JUJY3HQS.cjs.map} +1 -1
  16. package/dist/{chunk-LJWIWLD3.cjs → chunk-LK623WCC.cjs} +9 -9
  17. package/dist/{chunk-LJWIWLD3.cjs.map → chunk-LK623WCC.cjs.map} +1 -1
  18. package/dist/{chunk-JLRAUI7V.cjs → chunk-LNKWY74S.cjs} +5 -5
  19. package/dist/{chunk-JLRAUI7V.cjs.map → chunk-LNKWY74S.cjs.map} +1 -1
  20. package/dist/{chunk-KXUP44QJ.cjs → chunk-M7O74OWG.cjs} +31 -31
  21. package/dist/{chunk-KXUP44QJ.cjs.map → chunk-M7O74OWG.cjs.map} +1 -1
  22. package/dist/{chunk-WTH5WXOH.js → chunk-MGKCS6KS.js} +2 -2
  23. package/dist/{chunk-FMSKP2SZ.cjs → chunk-MMCBQJKE.cjs} +11 -11
  24. package/dist/{chunk-FMSKP2SZ.cjs.map → chunk-MMCBQJKE.cjs.map} +1 -1
  25. package/dist/{chunk-XU7AXADL.cjs → chunk-N2JZ33V7.cjs} +26 -26
  26. package/dist/{chunk-XU7AXADL.cjs.map → chunk-N2JZ33V7.cjs.map} +1 -1
  27. package/dist/{chunk-I7S4ZLHX.cjs → chunk-OWMLWJQY.cjs} +816 -794
  28. package/dist/chunk-OWMLWJQY.cjs.map +1 -0
  29. package/dist/{chunk-MXXGD6HW.cjs → chunk-OZJN54R5.cjs} +37 -37
  30. package/dist/{chunk-MXXGD6HW.cjs.map → chunk-OZJN54R5.cjs.map} +1 -1
  31. package/dist/{chunk-RYVF3SQE.js → chunk-PSPWT2Q5.js} +4 -4
  32. package/dist/{chunk-5VGG3W43.js → chunk-R5WJJL4V.js} +4 -4
  33. package/dist/{chunk-AQG6DSFV.js → chunk-VTSRDC4W.js} +2 -2
  34. package/dist/{chunk-UTCQZ4IP.js → chunk-Y3Y2DLNO.js} +2 -2
  35. package/dist/{chunk-ECF7DKWA.js → chunk-ZRANZNEA.js} +2 -2
  36. package/dist/{chunk-6MQIGRAR.cjs → chunk-ZV6E3U3C.cjs} +26 -26
  37. package/dist/{chunk-6MQIGRAR.cjs.map → chunk-ZV6E3U3C.cjs.map} +1 -1
  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/components/ui/select.d.ts.map +1 -1
  80. package/dist/index.cjs +2 -2
  81. package/dist/index.js +1 -1
  82. package/dist/utils/index.cjs.map +1 -1
  83. package/dist/utils/index.js.map +1 -1
  84. package/package.json +1 -1
  85. package/src/components/chat/chat-message-enhanced.tsx +1 -0
  86. package/src/components/chat/hooks/use-nats-chat-adapter.ts +1 -0
  87. package/src/components/chat/tool-execution-display.tsx +97 -54
  88. package/src/components/chat/types/component.types.ts +6 -0
  89. package/src/components/chat/types/message.types.ts +10 -0
  90. package/src/components/chat/types/network.types.ts +2 -0
  91. package/src/components/chat/utils/chunk-parser.ts +1 -0
  92. package/src/components/chat/utils/extract-incomplete-message-state.ts +1 -0
  93. package/src/components/chat/utils/message-segment-accumulator.ts +3 -0
  94. package/src/components/chat/utils/process-historical-messages.ts +1 -0
  95. package/src/components/ui/select.tsx +4 -1
  96. package/dist/chunk-I7S4ZLHX.cjs.map +0 -1
  97. package/dist/chunk-THGA7UZZ.js.map +0 -1
  98. /package/dist/{chunk-A56QSYYE.js.map → chunk-2DIOV7BR.js.map} +0 -0
  99. /package/dist/{chunk-4PIISCMH.js.map → chunk-4SMRQ4SN.js.map} +0 -0
  100. /package/dist/{chunk-MKLZ6SRA.js.map → chunk-66BNAFO6.js.map} +0 -0
  101. /package/dist/{chunk-7URE6XMT.js.map → chunk-DEHZ5CTC.js.map} +0 -0
  102. /package/dist/{chunk-VWHYXVRX.js.map → chunk-FP4H6Y5O.js.map} +0 -0
  103. /package/dist/{chunk-WTH5WXOH.js.map → chunk-MGKCS6KS.js.map} +0 -0
  104. /package/dist/{chunk-RYVF3SQE.js.map → chunk-PSPWT2Q5.js.map} +0 -0
  105. /package/dist/{chunk-5VGG3W43.js.map → chunk-R5WJJL4V.js.map} +0 -0
  106. /package/dist/{chunk-AQG6DSFV.js.map → chunk-VTSRDC4W.js.map} +0 -0
  107. /package/dist/{chunk-UTCQZ4IP.js.map → chunk-Y3Y2DLNO.js.map} +0 -0
  108. /package/dist/{chunk-ECF7DKWA.js.map → chunk-ZRANZNEA.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
  {
@@ -14979,7 +14992,10 @@ var SelectTrigger = React44.forwardRef(({ className, children, invalid, label, e
14979
14992
  "data-invalid": isInvalid || void 0,
14980
14993
  className: cn(
14981
14994
  // Layout & spacing - match Input
14982
- "flex w-full items-center justify-between gap-2 rounded-[6px] border px-3 h-11 md:h-12 outline-none",
14995
+ // text-left resets the <button> UA default text-align:center, which the
14996
+ // SelectValue span inherits and would otherwise center short values,
14997
+ // reading as spurious left indentation on the selected value.
14998
+ "flex w-full items-center justify-between gap-2 rounded-[6px] border px-3 h-11 md:h-12 outline-none text-left",
14983
14999
  // Typography - match Input exactly
14984
15000
  "text-h4",
14985
15001
  // Theme palette - match Input exactly
@@ -16013,7 +16029,7 @@ function DateFilterMenu({
16013
16029
 
16014
16030
  // src/components/ui/duration-input.tsx
16015
16031
  init_cn();
16016
- import { Fragment as Fragment27, useEffect as useEffect26, useRef as useRef22, useState as useState32 } from "react";
16032
+ import { Fragment as Fragment28, useEffect as useEffect26, useRef as useRef22, useState as useState32 } from "react";
16017
16033
  import { jsx as jsx103, jsxs as jsxs81 } from "react/jsx-runtime";
16018
16034
  var SEGMENT_META = [
16019
16035
  { label: "Hours", placeholder: "HH", max: 99 },
@@ -16098,7 +16114,7 @@ function DurationInput({ value, onChange, invalid, className }) {
16098
16114
  invalid && "border-ods-error focus-within:border-ods-error",
16099
16115
  className
16100
16116
  ),
16101
- children: SEGMENT_META.map((meta, i) => /* @__PURE__ */ jsxs81(Fragment27, { children: [
16117
+ children: SEGMENT_META.map((meta, i) => /* @__PURE__ */ jsxs81(Fragment28, { children: [
16102
16118
  i > 0 && /* @__PURE__ */ jsx103("span", { className: "text-ods-text-secondary", children: ":" }),
16103
16119
  /* @__PURE__ */ jsx103(
16104
16120
  "input",
@@ -16577,12 +16593,12 @@ function DefaultAssigneeDropdown({
16577
16593
  }
16578
16594
 
16579
16595
  // src/components/ui/info-section.tsx
16580
- import { Fragment as Fragment28, jsx as jsx109, jsxs as jsxs85 } from "react/jsx-runtime";
16596
+ import { Fragment as Fragment29, jsx as jsx109, jsxs as jsxs85 } from "react/jsx-runtime";
16581
16597
  function TextValue({ value }) {
16582
16598
  const { text, imageSrc, imageFallback, imageVariant = "round", icon, onClick, href, openInNewTab } = value;
16583
16599
  const hasImage = imageSrc !== void 0 || imageFallback !== void 0;
16584
16600
  const interactiveClass = "truncate text-left text-h4 text-ods-text-primary transition-colors hover:text-ods-accent";
16585
- return /* @__PURE__ */ jsxs85(Fragment28, { children: [
16601
+ return /* @__PURE__ */ jsxs85(Fragment29, { children: [
16586
16602
  icon && /* @__PURE__ */ jsx109("span", { className: "flex size-4 shrink-0 items-center justify-center text-ods-text-secondary", children: icon }),
16587
16603
  href ? /* @__PURE__ */ jsx109(
16588
16604
  next_link_default,
@@ -16619,7 +16635,7 @@ function RowValue({ value }) {
16619
16635
  return /* @__PURE__ */ jsx109(TicketStatusTag, { ...props });
16620
16636
  }
16621
16637
  case "custom":
16622
- return /* @__PURE__ */ jsx109(Fragment28, { children: value.content });
16638
+ return /* @__PURE__ */ jsx109(Fragment29, { children: value.content });
16623
16639
  default:
16624
16640
  return /* @__PURE__ */ jsx109(TextValue, { value });
16625
16641
  }
@@ -19150,7 +19166,7 @@ function TabContent({
19150
19166
  init_next_navigation();
19151
19167
  init_cn();
19152
19168
  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";
19169
+ import { Fragment as Fragment30, jsx as jsx135, jsxs as jsxs107 } from "react/jsx-runtime";
19154
19170
  function TabNavigation({
19155
19171
  activeTab: controlledActiveTab,
19156
19172
  onTabChange: controlledOnTabChange,
@@ -19266,7 +19282,7 @@ function TabNavigation({
19266
19282
  }
19267
19283
  return { background: c };
19268
19284
  })();
19269
- return /* @__PURE__ */ jsxs107(Fragment29, { children: [
19285
+ return /* @__PURE__ */ jsxs107(Fragment30, { children: [
19270
19286
  /* @__PURE__ */ jsxs107("div", { className: cn("relative w-full", className), children: [
19271
19287
  /* @__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
19288
  const isActive = activeTab === tab.id;
@@ -19394,7 +19410,7 @@ function AIGeneratedBadge({ className }) {
19394
19410
  // src/components/ui/fade-preview.tsx
19395
19411
  import { useState as useState42, useRef as useRef27, useEffect as useEffect35 } from "react";
19396
19412
  import { ChevronDown as ChevronDown4 } from "lucide-react";
19397
- import { Fragment as Fragment30, jsx as jsx138, jsxs as jsxs109 } from "react/jsx-runtime";
19413
+ import { Fragment as Fragment31, jsx as jsx138, jsxs as jsxs109 } from "react/jsx-runtime";
19398
19414
  function FadePreview({
19399
19415
  hiddenCount,
19400
19416
  collapsedHeight = 120,
@@ -19407,7 +19423,7 @@ function FadePreview({
19407
19423
  setExpanded(false);
19408
19424
  }, [resetKey]);
19409
19425
  const needsFade = hiddenCount > 0;
19410
- if (!needsFade) return /* @__PURE__ */ jsx138(Fragment30, { children });
19426
+ if (!needsFade) return /* @__PURE__ */ jsx138(Fragment31, { children });
19411
19427
  return /* @__PURE__ */ jsxs109("div", { className: "relative", children: [
19412
19428
  /* @__PURE__ */ jsx138(
19413
19429
  "div",
@@ -19764,7 +19780,7 @@ var socialCache = SocialEmbedCache.getInstance();
19764
19780
  init_cn();
19765
19781
  import { useState as useState43, useRef as useRef28, useEffect as useEffect36, memo as memo4, useCallback as useCallback20 } from "react";
19766
19782
  init_button2();
19767
- import { Fragment as Fragment31, jsx as jsx140, jsxs as jsxs110 } from "react/jsx-runtime";
19783
+ import { Fragment as Fragment32, jsx as jsx140, jsxs as jsxs110 } from "react/jsx-runtime";
19768
19784
  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
19785
  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
19786
  var MediaCarousel = memo4(function MediaCarousel2({
@@ -19948,7 +19964,7 @@ var MediaCarousel = memo4(function MediaCarousel2({
19948
19964
  "aria-label": media.length > 1 ? "Media carousel, use arrow keys to navigate" : void 0,
19949
19965
  children: [
19950
19966
  renderMainMedia(currentItem, currentIndex),
19951
- showArrows && media.length > 1 && /* @__PURE__ */ jsxs110(Fragment31, { children: [
19967
+ showArrows && media.length > 1 && /* @__PURE__ */ jsxs110(Fragment32, { children: [
19952
19968
  /* @__PURE__ */ jsx140(
19953
19969
  Button,
19954
19970
  {
@@ -21070,7 +21086,7 @@ function toFigmaOriginalUrl(url) {
21070
21086
 
21071
21087
  // src/components/embeds/embed-iframe.tsx
21072
21088
  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";
21089
+ import { Fragment as Fragment33, jsx as jsx147, jsxs as jsxs115 } from "react/jsx-runtime";
21074
21090
  function EmbedLoadingSkeleton({ height }) {
21075
21091
  return /* @__PURE__ */ jsx147(
21076
21092
  "div",
@@ -21108,7 +21124,7 @@ function EmbedIframe({
21108
21124
  };
21109
21125
  }, [src]);
21110
21126
  const resolvedHeight = height || "calc(100vh - 250px)";
21111
- return /* @__PURE__ */ jsxs115(Fragment32, { children: [
21127
+ return /* @__PURE__ */ jsxs115(Fragment33, { children: [
21112
21128
  !isLoaded && /* @__PURE__ */ jsx147(EmbedLoadingSkeleton, { height: resolvedHeight }),
21113
21129
  /* @__PURE__ */ jsx147(
21114
21130
  "div",
@@ -22193,7 +22209,7 @@ function ChangelogEntryList({
22193
22209
 
22194
22210
  // src/components/ui/stacked-rows-panel.tsx
22195
22211
  init_cn();
22196
- import { Fragment as Fragment33, jsx as jsx152, jsxs as jsxs119 } from "react/jsx-runtime";
22212
+ import { Fragment as Fragment34, jsx as jsx152, jsxs as jsxs119 } from "react/jsx-runtime";
22197
22213
  var ALIGN_CLASS = {
22198
22214
  left: "justify-start items-start",
22199
22215
  center: "justify-center items-center",
@@ -22219,7 +22235,7 @@ function CellValue({ column }) {
22219
22235
  children: column.value
22220
22236
  }
22221
22237
  );
22222
- return /* @__PURE__ */ jsxs119(Fragment33, { children: [
22238
+ return /* @__PURE__ */ jsxs119(Fragment34, { children: [
22223
22239
  /* @__PURE__ */ jsxs119("div", { className: "flex items-center gap-[var(--spacing-system-xxs)] min-w-0", children: [
22224
22240
  column.icon && /* @__PURE__ */ jsx152("span", { className: "shrink-0", children: column.icon }),
22225
22241
  column.href ? /* @__PURE__ */ jsx152(
@@ -22325,7 +22341,7 @@ function StatusIndicator({ status, label, href }) {
22325
22341
 
22326
22342
  // src/components/ui/hover-dropdown.tsx
22327
22343
  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";
22344
+ import { Fragment as Fragment35, jsx as jsx155, jsxs as jsxs122 } from "react/jsx-runtime";
22329
22345
  function DefaultAnchor({
22330
22346
  href,
22331
22347
  className,
@@ -22351,7 +22367,7 @@ function HoverDropdown({
22351
22367
  const hide = useCallback23(() => {
22352
22368
  timeoutRef.current = setTimeout(() => setOpen(false), hideDelay);
22353
22369
  }, [hideDelay]);
22354
- if (items.length === 0) return /* @__PURE__ */ jsx155(Fragment34, { children });
22370
+ if (items.length === 0) return /* @__PURE__ */ jsx155(Fragment35, { children });
22355
22371
  const toggle = useCallback23((e) => {
22356
22372
  e.stopPropagation();
22357
22373
  clearTimeout(timeoutRef.current);
@@ -22398,7 +22414,7 @@ function HoverDropdown({
22398
22414
  }
22399
22415
  },
22400
22416
  children: items.map((item, i) => {
22401
- const content = /* @__PURE__ */ jsxs122(Fragment34, { children: [
22417
+ const content = /* @__PURE__ */ jsxs122(Fragment35, { children: [
22402
22418
  item.icon && /* @__PURE__ */ jsx155("span", { className: "flex-shrink-0 [&_svg]:size-3.5", children: item.icon }),
22403
22419
  /* @__PURE__ */ jsx155("span", { className: "truncate flex-1 min-w-0", children: item.label })
22404
22420
  ] });
@@ -22629,7 +22645,7 @@ function TagKeyValueFilter({
22629
22645
  }
22630
22646
 
22631
22647
  // src/components/ui/filter-modal.tsx
22632
- import { Fragment as Fragment35, jsx as jsx159, jsxs as jsxs126 } from "react/jsx-runtime";
22648
+ import { Fragment as Fragment36, jsx as jsx159, jsxs as jsxs126 } from "react/jsx-runtime";
22633
22649
  function FilterModal({
22634
22650
  isOpen,
22635
22651
  onClose,
@@ -22721,7 +22737,7 @@ function FilterModal({
22721
22737
  ref: scrollRef,
22722
22738
  onScroll: updateFade,
22723
22739
  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: [
22740
+ children: isLoading ? /* @__PURE__ */ jsx159(Fragment36, { children: [0, 1].map((group) => /* @__PURE__ */ jsxs126("div", { className: "flex flex-col gap-1", children: [
22725
22741
  /* @__PURE__ */ jsx159(Skeleton, { className: "h-5 w-24" }),
22726
22742
  /* @__PURE__ */ jsx159("div", { className: "rounded-md border border-ods-border overflow-hidden", children: [0, 1, 2].map((row) => /* @__PURE__ */ jsxs126(
22727
22743
  "div",
@@ -22741,7 +22757,7 @@ function FilterModal({
22741
22757
  /* @__PURE__ */ jsx159("p", { className: "text-h4", children: emptyStateTitle }),
22742
22758
  /* @__PURE__ */ jsx159("p", { className: "text-h6", children: emptyStateDescription })
22743
22759
  ] })
22744
- ] }) : /* @__PURE__ */ jsxs126(Fragment35, { children: [
22760
+ ] }) : /* @__PURE__ */ jsxs126(Fragment36, { children: [
22745
22761
  sortConfig && sortConfig.columns.length > 0 && /* @__PURE__ */ jsxs126("div", { className: "flex flex-col gap-1", children: [
22746
22762
  /* @__PURE__ */ jsx159("span", { className: "text-h5 text-ods-text-secondary", children: sortConfig.title || "Sort By" }),
22747
22763
  /* @__PURE__ */ jsx159("div", { className: "rounded-md border border-ods-border overflow-hidden", children: sortConfig.columns.map((column) => /* @__PURE__ */ jsx159(
@@ -22820,7 +22836,7 @@ init_cn();
22820
22836
  init_cn();
22821
22837
  import React79 from "react";
22822
22838
  init_button2();
22823
- import { Fragment as Fragment36, jsx as jsx160, jsxs as jsxs127 } from "react/jsx-runtime";
22839
+ import { Fragment as Fragment37, jsx as jsx160, jsxs as jsxs127 } from "react/jsx-runtime";
22824
22840
  function actionKey(action, idx) {
22825
22841
  return `${action.label ?? action.ariaLabel ?? "action"}-${idx}`;
22826
22842
  }
@@ -22964,7 +22980,7 @@ function IconButtonsVariant({
22964
22980
  ...menuActions ?? []
22965
22981
  ];
22966
22982
  const hasMobileMenuItems = mobileMenuGroups.some((g) => g.items.length > 0);
22967
- return /* @__PURE__ */ jsxs127(Fragment36, { children: [
22983
+ return /* @__PURE__ */ jsxs127(Fragment37, { children: [
22968
22984
  /* @__PURE__ */ jsxs127("div", { className: cn("hidden md:flex items-center", ACTIONS_GAP, className), children: [
22969
22985
  selector,
22970
22986
  desktopActions.map((action, idx) => /* @__PURE__ */ jsx160(React79.Fragment, { children: renderActionButton(action) }, actionKey(action, idx))),
@@ -22983,7 +22999,7 @@ function PrimaryButtonsVariant({
22983
22999
  return 0;
22984
23000
  });
22985
23001
  const desktopActions = sortedActions.filter((a) => !a.showOnlyMobile);
22986
- return /* @__PURE__ */ jsxs127(Fragment36, { children: [
23002
+ return /* @__PURE__ */ jsxs127(Fragment37, { children: [
22987
23003
  /* @__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
23004
  /* @__PURE__ */ jsx160(MobileBottomActions, { actions: sortedActions })
22989
23005
  ] });
@@ -23001,7 +23017,7 @@ function MenuPrimaryVariant({
23001
23017
  ...menuActions
23002
23018
  ];
23003
23019
  const hasMobileMenuItems = mobileMenuGroups.some((g) => g.items.length > 0);
23004
- return /* @__PURE__ */ jsxs127(Fragment36, { children: [
23020
+ return /* @__PURE__ */ jsxs127(Fragment37, { children: [
23005
23021
  /* @__PURE__ */ jsxs127("div", { className: cn("hidden md:flex items-center", ACTIONS_GAP, className), children: [
23006
23022
  selector,
23007
23023
  hasMenuActions && /* @__PURE__ */ jsx160(ActionsMenuDropdown, { groups: menuActions }),
@@ -25567,7 +25583,7 @@ import {
25567
25583
  safePolygon,
25568
25584
  arrow
25569
25585
  } from "@floating-ui/react";
25570
- import { Fragment as Fragment37, jsx as jsx177, jsxs as jsxs139 } from "react/jsx-runtime";
25586
+ import { Fragment as Fragment38, jsx as jsx177, jsxs as jsxs139 } from "react/jsx-runtime";
25571
25587
  function parseColoredText(text) {
25572
25588
  if (typeof text !== "string") return text;
25573
25589
  const parts = [];
@@ -25592,7 +25608,7 @@ function parseColoredText(text) {
25592
25608
  const remainingText = text.slice(lastIndex);
25593
25609
  parts.push(/* @__PURE__ */ jsx177("span", { children: remainingText }, `text-${keyIndex++}`));
25594
25610
  }
25595
- return parts.length > 0 ? /* @__PURE__ */ jsx177(Fragment37, { children: parts }) : text;
25611
+ return parts.length > 0 ? /* @__PURE__ */ jsx177(Fragment38, { children: parts }) : text;
25596
25612
  }
25597
25613
  function FloatingTooltip({
25598
25614
  content,
@@ -25656,7 +25672,7 @@ function FloatingTooltip({
25656
25672
  bottom: "top",
25657
25673
  left: "right"
25658
25674
  }[placement.split("-")[0]];
25659
- return /* @__PURE__ */ jsxs139(Fragment37, { children: [
25675
+ return /* @__PURE__ */ jsxs139(Fragment38, { children: [
25660
25676
  /* @__PURE__ */ jsx177("div", { ref: refs.setReference, ...getReferenceProps(), children }),
25661
25677
  /* @__PURE__ */ jsx177(FloatingPortal, { children: isOpen && /* @__PURE__ */ jsxs139(
25662
25678
  "div",
@@ -25706,7 +25722,7 @@ function FloatingTooltip({
25706
25722
  }
25707
25723
 
25708
25724
  // src/components/ui/dashboard-info-card.tsx
25709
- import { Fragment as Fragment38, jsx as jsx178, jsxs as jsxs140 } from "react/jsx-runtime";
25725
+ import { Fragment as Fragment39, jsx as jsx178, jsxs as jsxs140 } from "react/jsx-runtime";
25710
25726
  function DashboardInfoCard({
25711
25727
  title,
25712
25728
  titleSlot,
@@ -25759,7 +25775,7 @@ function DashboardInfoCard({
25759
25775
  if (lg !== void 0) {
25760
25776
  rings.push({ key: "lg", size: lg, className: "hidden lg:block" });
25761
25777
  }
25762
- return /* @__PURE__ */ jsx178(Fragment38, { children: rings.map((ring) => /* @__PURE__ */ jsx178(
25778
+ return /* @__PURE__ */ jsx178(Fragment39, { children: rings.map((ring) => /* @__PURE__ */ jsx178(
25763
25779
  CircularProgress,
25764
25780
  {
25765
25781
  ...common,
@@ -25770,7 +25786,7 @@ function DashboardInfoCard({
25770
25786
  ring.key
25771
25787
  )) });
25772
25788
  };
25773
- const cardContent = /* @__PURE__ */ jsxs140(Fragment38, { children: [
25789
+ const cardContent = /* @__PURE__ */ jsxs140(Fragment39, { children: [
25774
25790
  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
25791
  /* @__PURE__ */ jsxs140("div", { className: "flex-1 min-w-0 flex flex-col", children: [
25776
25792
  /* @__PURE__ */ jsxs140("div", { className: "flex items-center gap-[var(--spacing-system-xxs)]", children: [
@@ -26022,7 +26038,7 @@ function DeviceCard({
26022
26038
 
26023
26039
  // src/components/ui/device-card-compact.tsx
26024
26040
  init_cn();
26025
- import { Fragment as Fragment39, jsx as jsx182, jsxs as jsxs144 } from "react/jsx-runtime";
26041
+ import { Fragment as Fragment40, jsx as jsx182, jsxs as jsxs144 } from "react/jsx-runtime";
26026
26042
  function DeviceCardCompact({
26027
26043
  deviceName,
26028
26044
  organization,
@@ -26032,7 +26048,7 @@ function DeviceCardCompact({
26032
26048
  const hasName = deviceName && deviceName !== "-" && deviceName !== "null";
26033
26049
  const hasOrg = organization && organization !== "-" && organization !== "null";
26034
26050
  if (!hasName && !hasOrg) {
26035
- return /* @__PURE__ */ jsx182(Fragment39, {});
26051
+ return /* @__PURE__ */ jsx182(Fragment40, {});
26036
26052
  }
26037
26053
  return /* @__PURE__ */ jsxs144(
26038
26054
  "div",
@@ -26446,7 +26462,7 @@ function DropdownButton({
26446
26462
  init_next_link();
26447
26463
  init_cn();
26448
26464
  init_button2();
26449
- import { Fragment as Fragment40, jsx as jsx189, jsxs as jsxs149 } from "react/jsx-runtime";
26465
+ import { Fragment as Fragment41, jsx as jsx189, jsxs as jsxs149 } from "react/jsx-runtime";
26450
26466
  function MoreActionsMenu({
26451
26467
  items,
26452
26468
  align = "end",
@@ -26484,7 +26500,7 @@ function MoreActionsMenu({
26484
26500
  ),
26485
26501
  children: items.map((item, idx) => {
26486
26502
  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: [
26503
+ const content = /* @__PURE__ */ jsxs149(Fragment41, { children: [
26488
26504
  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
26505
  /* @__PURE__ */ jsx189("span", { className: "text-h4 text-ods-text-primary", children: item.label })
26490
26506
  ] });
@@ -27067,7 +27083,7 @@ function SsoProviderButtons({
27067
27083
  }
27068
27084
 
27069
27085
  // src/components/features/auth/complete-account-form.tsx
27070
- import { Fragment as Fragment41, jsx as jsx200, jsxs as jsxs155 } from "react/jsx-runtime";
27086
+ import { Fragment as Fragment42, jsx as jsx200, jsxs as jsxs155 } from "react/jsx-runtime";
27071
27087
  function CompleteAccountForm({
27072
27088
  firstName,
27073
27089
  lastName,
@@ -27116,7 +27132,7 @@ function CompleteAccountForm({
27116
27132
  /* @__PURE__ */ jsx200("h1", { className: "text-h2 text-ods-text-primary tracking-[-0.64px]", children: title }),
27117
27133
  /* @__PURE__ */ jsx200("p", { className: "text-h4 text-ods-text-secondary", children: subtitle })
27118
27134
  ] }),
27119
- ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ jsxs155(Fragment41, { children: [
27135
+ ssoProviders && ssoProviders.length > 0 && /* @__PURE__ */ jsxs155(Fragment42, { children: [
27120
27136
  /* @__PURE__ */ jsx200(
27121
27137
  SsoProviderButtons,
27122
27138
  {
@@ -27257,7 +27273,7 @@ function TermsAgreementLabel({ termsUrl = "#", privacyPolicyUrl = "#" }) {
27257
27273
  }
27258
27274
 
27259
27275
  // src/components/features/auth/create-organization-form.tsx
27260
- import { Fragment as Fragment42, jsx as jsx202, jsxs as jsxs157 } from "react/jsx-runtime";
27276
+ import { Fragment as Fragment43, jsx as jsx202, jsxs as jsxs157 } from "react/jsx-runtime";
27261
27277
  function CreateOrganizationForm({
27262
27278
  email,
27263
27279
  organizationName,
@@ -27379,7 +27395,7 @@ function CreateOrganizationForm({
27379
27395
  children: submitLabel
27380
27396
  }
27381
27397
  ),
27382
- hasSso && /* @__PURE__ */ jsxs157(Fragment42, { children: [
27398
+ hasSso && /* @__PURE__ */ jsxs157(Fragment43, { children: [
27383
27399
  /* @__PURE__ */ jsxs157("div", { className: "flex items-center gap-[var(--spacing-system-s)]", children: [
27384
27400
  /* @__PURE__ */ jsx202("div", { className: "h-px flex-1 bg-ods-border" }),
27385
27401
  /* @__PURE__ */ jsx202("span", { className: "text-h6 text-ods-text-secondary", children: dividerLabel }),
@@ -30499,7 +30515,7 @@ SelectButton.displayName = "SelectButton";
30499
30515
  // src/components/features/seo-editor-preview.tsx
30500
30516
  import { useState as useState70 } from "react";
30501
30517
  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";
30518
+ import { Fragment as Fragment44, jsx as jsx231, jsxs as jsxs181 } from "react/jsx-runtime";
30503
30519
  function SEOEditorPreview({
30504
30520
  seoTitle,
30505
30521
  seoDescription,
@@ -30552,7 +30568,7 @@ function SEOEditorPreview({
30552
30568
  /* @__PURE__ */ jsxs181("div", { className: "space-y-2", children: [
30553
30569
  /* @__PURE__ */ jsxs181("div", { className: "flex items-center gap-2", children: [
30554
30570
  /* @__PURE__ */ jsx231(Label, { className: "text-h6 text-ods-text-primary", children: "SEO Title" }),
30555
- aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs181(Fragment43, { children: [
30571
+ aiConfidenceSeoTitle !== void 0 && /* @__PURE__ */ jsxs181(Fragment44, { children: [
30556
30572
  /* @__PURE__ */ jsx231(AIGeneratedBadge, {}),
30557
30573
  /* @__PURE__ */ jsx231(
30558
30574
  ConfidenceBadge,
@@ -30599,7 +30615,7 @@ function SEOEditorPreview({
30599
30615
  /* @__PURE__ */ jsxs181("div", { className: "space-y-2", children: [
30600
30616
  /* @__PURE__ */ jsxs181("div", { className: "flex items-center gap-2", children: [
30601
30617
  /* @__PURE__ */ jsx231(Label, { className: "text-h6 text-ods-text-primary", children: "SEO Keywords" }),
30602
- aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs181(Fragment43, { children: [
30618
+ aiConfidenceSeoKeywords !== void 0 && /* @__PURE__ */ jsxs181(Fragment44, { children: [
30603
30619
  /* @__PURE__ */ jsx231(AIGeneratedBadge, {}),
30604
30620
  /* @__PURE__ */ jsx231(
30605
30621
  ConfidenceBadge,
@@ -30628,7 +30644,7 @@ function SEOEditorPreview({
30628
30644
  /* @__PURE__ */ jsxs181("div", { className: "space-y-2 flex flex-col h-full", children: [
30629
30645
  /* @__PURE__ */ jsxs181("div", { className: "flex items-center gap-2", children: [
30630
30646
  /* @__PURE__ */ jsx231(Label, { className: "text-h6 text-ods-text-primary", children: "SEO Description" }),
30631
- aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs181(Fragment43, { children: [
30647
+ aiConfidenceSeoDescription !== void 0 && /* @__PURE__ */ jsxs181(Fragment44, { children: [
30632
30648
  /* @__PURE__ */ jsx231(AIGeneratedBadge, {}),
30633
30649
  /* @__PURE__ */ jsx231(
30634
30650
  ConfidenceBadge,
@@ -30718,7 +30734,7 @@ function SEOEditorPreview({
30718
30734
  {
30719
30735
  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
30736
  onClick: () => onOgImageUpload && fileInputRef?.click(),
30721
- children: isUploading ? /* @__PURE__ */ jsx231(Loader25, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs181(Fragment43, { children: [
30737
+ children: isUploading ? /* @__PURE__ */ jsx231(Loader25, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs181(Fragment44, { children: [
30722
30738
  /* @__PURE__ */ jsx231(Upload3, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
30723
30739
  /* @__PURE__ */ jsx231("span", { className: "text-h6 text-ods-text-secondary", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
30724
30740
  ] })
@@ -32750,7 +32766,7 @@ init_cn();
32750
32766
  import { useEffect as useEffect54, useState as useState74 } from "react";
32751
32767
  import { ChevronDown as ChevronDown8, Shield as Shield2 } from "lucide-react";
32752
32768
  init_button2();
32753
- import { Fragment as Fragment44, jsx as jsx256, jsxs as jsxs200 } from "react/jsx-runtime";
32769
+ import { Fragment as Fragment45, jsx as jsx256, jsxs as jsxs200 } from "react/jsx-runtime";
32754
32770
  var approvalLevelLabels = {
32755
32771
  ALLOW: "Allow",
32756
32772
  ASK_USER: "Ask User",
@@ -32831,7 +32847,7 @@ var CategorySection = ({
32831
32847
  }) => {
32832
32848
  const { innerRef, containerStyle } = useCollapsible({ expanded: isExpanded, durationMs: 300 });
32833
32849
  const handleBulkChange = (level) => onBulkLevelChange(category.id, level);
32834
- return /* @__PURE__ */ jsxs200(Fragment44, { children: [
32850
+ return /* @__PURE__ */ jsxs200(Fragment45, { children: [
32835
32851
  /* @__PURE__ */ jsxs200(
32836
32852
  "div",
32837
32853
  {
@@ -33067,7 +33083,7 @@ function CountryOption({ country }) {
33067
33083
  init_cn();
33068
33084
  import { getCountries as getCountries2 } from "libphonenumber-js";
33069
33085
  import { useEffect as useEffect56, useState as useState76 } from "react";
33070
- import { Fragment as Fragment45, jsx as jsx258, jsxs as jsxs202 } from "react/jsx-runtime";
33086
+ import { Fragment as Fragment46, jsx as jsx258, jsxs as jsxs202 } from "react/jsx-runtime";
33071
33087
  function WaitlistForm({
33072
33088
  id = "waitlist-form",
33073
33089
  className,
@@ -33212,7 +33228,7 @@ function WaitlistForm({
33212
33228
  error: showConsentError ? "Please agree to SMS notifications to continue." : void 0,
33213
33229
  disabled: isSubmitting,
33214
33230
  label: smsCheckboxLabel,
33215
- description: /* @__PURE__ */ jsxs202(Fragment45, { children: [
33231
+ description: /* @__PURE__ */ jsxs202(Fragment46, { children: [
33216
33232
  consentText,
33217
33233
  " View our ",
33218
33234
  /* @__PURE__ */ jsx258(
@@ -34138,7 +34154,7 @@ function NotificationTile({
34138
34154
  }
34139
34155
 
34140
34156
  // src/components/features/notifications/notification-drawer.tsx
34141
- import { Fragment as Fragment46, jsx as jsx262, jsxs as jsxs205 } from "react/jsx-runtime";
34157
+ import { Fragment as Fragment47, jsx as jsx262, jsxs as jsxs205 } from "react/jsx-runtime";
34142
34158
  function NotificationDrawer({
34143
34159
  className,
34144
34160
  liveDurationMs,
@@ -34171,7 +34187,7 @@ function NotificationDrawer({
34171
34187
  } = ctx;
34172
34188
  const renderTile = renderTileProp ?? ctxRenderTile;
34173
34189
  const unreadNotifications = notifications.filter((n) => !n.read);
34174
- const content = /* @__PURE__ */ jsxs205(Fragment46, { children: [
34190
+ const content = /* @__PURE__ */ jsxs205(Fragment47, { children: [
34175
34191
  /* @__PURE__ */ jsx262("div", { className: "px-[var(--spacing-system-m)] pt-[var(--spacing-system-m)]", children: /* @__PURE__ */ jsx262(
34176
34192
  DrawerTitle,
34177
34193
  {
@@ -34281,7 +34297,7 @@ function DrawerScrollList({
34281
34297
  {
34282
34298
  ref: scrollRef,
34283
34299
  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: [
34300
+ children: isEmpty && !isLoadingMore ? /* @__PURE__ */ jsx262(EmptyState, {}) : /* @__PURE__ */ jsxs205(Fragment47, { children: [
34285
34301
  unreadNotifications.map((n) => {
34286
34302
  const custom = renderTile?.(n, { onComplete, onSettle, liveDurationMs });
34287
34303
  if (custom) return /* @__PURE__ */ jsx262("div", { children: custom }, n.id);
@@ -34303,7 +34319,7 @@ function DrawerScrollList({
34303
34319
  );
34304
34320
  }
34305
34321
  function DrawerLoadingTiles() {
34306
- return /* @__PURE__ */ jsxs205(Fragment46, { children: [
34322
+ return /* @__PURE__ */ jsxs205(Fragment47, { children: [
34307
34323
  /* @__PURE__ */ jsx262(
34308
34324
  "div",
34309
34325
  {
@@ -34686,7 +34702,7 @@ function approvalMetaToBatchData(approval) {
34686
34702
  }
34687
34703
 
34688
34704
  // src/components/features/notifications/approval-request-notification-tile.tsx
34689
- import { Fragment as Fragment47, jsx as jsx264, jsxs as jsxs206 } from "react/jsx-runtime";
34705
+ import { Fragment as Fragment48, jsx as jsx264, jsxs as jsxs206 } from "react/jsx-runtime";
34690
34706
  function ApprovalRequestNotificationTile({
34691
34707
  notification,
34692
34708
  onApprove,
@@ -34736,7 +34752,7 @@ function ApprovalRequestNotificationTile({
34736
34752
  className,
34737
34753
  paused: pinned || processing,
34738
34754
  actions: /* @__PURE__ */ jsxs206("div", { className: "flex w-full items-center gap-[var(--spacing-system-xs)]", children: [
34739
- status === "pending" ? /* @__PURE__ */ jsxs206(Fragment47, { children: [
34755
+ status === "pending" ? /* @__PURE__ */ jsxs206(Fragment48, { children: [
34740
34756
  /* @__PURE__ */ jsx264(Button, { variant: "accent", size: "small", onClick: () => resolve("approved", onApprove), disabled: processing, children: "Approve" }),
34741
34757
  /* @__PURE__ */ jsx264(Button, { variant: "outline", size: "small", onClick: () => resolve("rejected", onReject), disabled: processing, children: "Reject" })
34742
34758
  ] }) : /* @__PURE__ */ jsxs206("span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xsf)]", children: [
@@ -35156,7 +35172,7 @@ function HeaderButton({
35156
35172
  }
35157
35173
 
35158
35174
  // 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";
35175
+ import { Fragment as Fragment49, jsx as jsx268, jsxs as jsxs208 } from "react/jsx-runtime";
35160
35176
  function TimeTrackerHeaderButton({ className, disabled }) {
35161
35177
  const ctx = useOptionalTimeTracker();
35162
35178
  const elapsedLabel = useTrackerClock({
@@ -35202,7 +35218,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
35202
35218
  isActive && "w-auto gap-[var(--spacing-system-xsf)] px-[var(--spacing-system-sf)] md:w-auto",
35203
35219
  className
35204
35220
  ),
35205
- icon: /* @__PURE__ */ jsxs208(Fragment48, { children: [
35221
+ icon: /* @__PURE__ */ jsxs208(Fragment49, { children: [
35206
35222
  /* @__PURE__ */ jsx268(
35207
35223
  ClockHistoryIcon,
35208
35224
  {
@@ -35444,7 +35460,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
35444
35460
  }
35445
35461
 
35446
35462
  // src/components/features/board/ticket-card.tsx
35447
- import { Fragment as Fragment49, jsx as jsx271, jsxs as jsxs211 } from "react/jsx-runtime";
35463
+ import { Fragment as Fragment50, jsx as jsx271, jsxs as jsxs211 } from "react/jsx-runtime";
35448
35464
  var PRIORITY_COLOR_CLASS = {
35449
35465
  low: "text-ods-text-secondary",
35450
35466
  medium: "text-ods-info",
@@ -35488,7 +35504,7 @@ function TicketCardBody({ ticket, columnColor, renderAssignSlot, onApprove, onRe
35488
35504
  ] }) : null;
35489
35505
  const timestampLabel = ticket.createdAt ? formatTicketRelativeTime(ticket.createdAt) : null;
35490
35506
  const tooltipLabel = ticket.createdAt ? formatTicketFullTimestamp(ticket.createdAt) : null;
35491
- return /* @__PURE__ */ jsxs211(Fragment49, { children: [
35507
+ return /* @__PURE__ */ jsxs211(Fragment50, { children: [
35492
35508
  /* @__PURE__ */ jsxs211("div", { className: "flex items-start gap-[var(--spacing-system-sf)]", children: [
35493
35509
  /* @__PURE__ */ jsxs211("div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]", title: ticket.title, children: [
35494
35510
  /* @__PURE__ */ jsx271("p", { className: "text-h3 truncate text-ods-text-primary", children: ticket.title }),
@@ -35654,7 +35670,7 @@ var TicketCardSkeleton = React105.forwardRef(
35654
35670
  TicketCardSkeleton.displayName = "TicketCardSkeleton";
35655
35671
 
35656
35672
  // src/components/features/board/board-column.tsx
35657
- import { Fragment as Fragment50, jsx as jsx273, jsxs as jsxs213 } from "react/jsx-runtime";
35673
+ import { Fragment as Fragment51, jsx as jsx273, jsxs as jsxs213 } from "react/jsx-runtime";
35658
35674
  function BoardColumn({
35659
35675
  column,
35660
35676
  collapsed = false,
@@ -35693,7 +35709,7 @@ function BoardColumn({
35693
35709
  onArchive: !collapsed && column.archivable && onArchive ? () => onArchive(column.id) : void 0
35694
35710
  }
35695
35711
  ),
35696
- !collapsed && /* @__PURE__ */ jsxs213(Fragment50, { children: [
35712
+ !collapsed && /* @__PURE__ */ jsxs213(Fragment51, { children: [
35697
35713
  /* @__PURE__ */ jsx273("div", { "aria-hidden": true, className: "-mx-[var(--spacing-system-sf)] h-px shrink-0 bg-ods-border" }),
35698
35714
  /* @__PURE__ */ jsx273(
35699
35715
  ColumnBody,
@@ -35786,7 +35802,7 @@ function SkeletonStack({ count = 4 }) {
35786
35802
  () => Array.from({ length: count }, () => Math.random().toString(36).slice(2)),
35787
35803
  [count]
35788
35804
  );
35789
- return /* @__PURE__ */ jsx273(Fragment50, { children: keys.map((k) => /* @__PURE__ */ jsx273(TicketCardSkeleton, {}, k)) });
35805
+ return /* @__PURE__ */ jsx273(Fragment51, { children: keys.map((k) => /* @__PURE__ */ jsx273(TicketCardSkeleton, {}, k)) });
35790
35806
  }
35791
35807
  function EmptyState2() {
35792
35808
  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 +36224,7 @@ import { useRef as useRef48 } from "react";
36208
36224
  import { usePreventScroll as usePreventScroll3 } from "@react-aria/overlays";
36209
36225
  init_button2();
36210
36226
  import { X as X10 } from "lucide-react";
36211
- import { Fragment as Fragment52, jsx as jsx276, jsxs as jsxs215 } from "react/jsx-runtime";
36227
+ import { Fragment as Fragment53, jsx as jsx276, jsxs as jsxs215 } from "react/jsx-runtime";
36212
36228
  var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
36213
36229
  function MobileNavPanel({ isOpen, config }) {
36214
36230
  const panelRef = useRef48(null);
@@ -36264,7 +36280,7 @@ function MobileNavPanel({ isOpen, config }) {
36264
36280
  item.id
36265
36281
  );
36266
36282
  };
36267
- return /* @__PURE__ */ jsxs215(Fragment52, { children: [
36283
+ return /* @__PURE__ */ jsxs215(Fragment53, { children: [
36268
36284
  /* @__PURE__ */ jsx276(
36269
36285
  "div",
36270
36286
  {
@@ -36367,7 +36383,7 @@ function MingoAiButton({ source, icon, label = "Mingo AI", className, onClick, .
36367
36383
  }
36368
36384
 
36369
36385
  // src/components/navigation/header.tsx
36370
- import { Fragment as Fragment53, jsx as jsx278, jsxs as jsxs217 } from "react/jsx-runtime";
36386
+ import { Fragment as Fragment54, jsx as jsx278, jsxs as jsxs217 } from "react/jsx-runtime";
36371
36387
  function Header2({ config, platform }) {
36372
36388
  const [show, setShow] = useState87(true);
36373
36389
  const [lastScrollY, setLastScrollY] = useState87(0);
@@ -36512,7 +36528,7 @@ function Header2({ config, platform }) {
36512
36528
  },
36513
36529
  child.id
36514
36530
  )) }),
36515
- item.dropdownContent && /* @__PURE__ */ jsxs217(Fragment53, { children: [
36531
+ item.dropdownContent && /* @__PURE__ */ jsxs217(Fragment54, { children: [
36516
36532
  item.showDropdownDivider !== false && /* @__PURE__ */ jsx278("div", { className: "h-px my-2 mx-2 bg-ods-border" }),
36517
36533
  /* @__PURE__ */ jsx278("div", { className: "px-2 pb-2", children: item.dropdownContent })
36518
36534
  ] })
@@ -36714,7 +36730,7 @@ import { useState as useState89, useEffect as useEffect68, useRef as useRef50 }
36714
36730
  import { motion as motion2, AnimatePresence, useReducedMotion } from "framer-motion";
36715
36731
  import { usePreventScroll as usePreventScroll4 } from "@react-aria/overlays";
36716
36732
  init_button2();
36717
- import { Fragment as Fragment54, jsx as jsx281, jsxs as jsxs219 } from "react/jsx-runtime";
36733
+ import { Fragment as Fragment55, jsx as jsx281, jsxs as jsxs219 } from "react/jsx-runtime";
36718
36734
  function SlidingSidebar({ config }) {
36719
36735
  const [expandedItems, setExpandedItems] = useState89(/* @__PURE__ */ new Set());
36720
36736
  const [mounted, setMounted] = useState89(false);
@@ -36840,7 +36856,7 @@ function SlidingSidebar({ config }) {
36840
36856
  if (!mounted) {
36841
36857
  return null;
36842
36858
  }
36843
- return /* @__PURE__ */ jsxs219(Fragment54, { children: [
36859
+ return /* @__PURE__ */ jsxs219(Fragment55, { children: [
36844
36860
  /* @__PURE__ */ jsx281(AnimatePresence, { children: config.isOpen && /* @__PURE__ */ jsx281(
36845
36861
  motion2.div,
36846
36862
  {
@@ -37141,7 +37157,7 @@ function NavigationSidebarToggle({
37141
37157
  }
37142
37158
 
37143
37159
  // src/components/navigation/navigation-sidebar.tsx
37144
- import { Fragment as Fragment55, jsx as jsx286, jsxs as jsxs224 } from "react/jsx-runtime";
37160
+ import { Fragment as Fragment56, jsx as jsx286, jsxs as jsxs224 } from "react/jsx-runtime";
37145
37161
  var MINIMIZED_WIDTH = 56;
37146
37162
  var EXPANDED_WIDTH = 224;
37147
37163
  var STORAGE_KEY = "of.navigationSidebar.minimized";
@@ -37206,7 +37222,7 @@ function NavigationSidebar({ config, disabled = false }) {
37206
37222
  return () => cancelAnimationFrame(id);
37207
37223
  }
37208
37224
  }, [isHydrated, transitionsEnabled]);
37209
- return /* @__PURE__ */ jsxs224(Fragment55, { children: [
37225
+ return /* @__PURE__ */ jsxs224(Fragment56, { children: [
37210
37226
  /* @__PURE__ */ jsx286(
37211
37227
  "div",
37212
37228
  {
@@ -37245,7 +37261,7 @@ function NavigationSidebar({ config, disabled = false }) {
37245
37261
  ),
37246
37262
  style: { width: sidebarWidth },
37247
37263
  "aria-label": "Main navigation sidebar",
37248
- children: isHydrated && /* @__PURE__ */ jsxs224(Fragment55, { children: [
37264
+ children: isHydrated && /* @__PURE__ */ jsxs224(Fragment56, { children: [
37249
37265
  /* @__PURE__ */ jsx286(NavigationSidebarHeader, { minimized }),
37250
37266
  /* @__PURE__ */ jsxs224("div", { className: "flex-1 flex flex-col justify-between py-4 overflow-y-auto", children: [
37251
37267
  /* @__PURE__ */ jsx286("nav", { className: "flex flex-col", "aria-label": "Primary navigation", children: primaryItems.map((item) => /* @__PURE__ */ jsx286(
@@ -37658,7 +37674,7 @@ import { Suspense as Suspense2, useCallback as useCallback38, useMemo as useMemo
37658
37674
  // src/components/navigation/mobile-burger-menu.tsx
37659
37675
  import React115, { useCallback as useCallback37, useRef as useRef52 } from "react";
37660
37676
  import { usePreventScroll as usePreventScroll5 } from "@react-aria/overlays";
37661
- import { Fragment as Fragment56, jsx as jsx291, jsxs as jsxs229 } from "react/jsx-runtime";
37677
+ import { Fragment as Fragment57, jsx as jsx291, jsxs as jsxs229 } from "react/jsx-runtime";
37662
37678
  var HEADER_HEIGHT = 48;
37663
37679
  var MobileBurgerMenu = React115.memo(function MobileBurgerMenu2({
37664
37680
  isOpen,
@@ -37718,7 +37734,7 @@ var MobileBurgerMenu = React115.memo(function MobileBurgerMenu2({
37718
37734
  );
37719
37735
  };
37720
37736
  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: [
37737
+ return /* @__PURE__ */ jsxs229(Fragment57, { children: [
37722
37738
  /* @__PURE__ */ jsx291(
37723
37739
  "div",
37724
37740
  {
@@ -38482,7 +38498,7 @@ import React117, { useRef as useRef54, useCallback as useCallback39 } from "reac
38482
38498
  import React116 from "react";
38483
38499
  init_button2();
38484
38500
  init_cn();
38485
- import { Fragment as Fragment57, jsx as jsx301, jsxs as jsxs239 } from "react/jsx-runtime";
38501
+ import { Fragment as Fragment58, jsx as jsx301, jsxs as jsxs239 } from "react/jsx-runtime";
38486
38502
  function OnboardingStepCard({
38487
38503
  step,
38488
38504
  isCompleted,
@@ -38524,10 +38540,10 @@ function OnboardingStepCard({
38524
38540
  /* @__PURE__ */ jsx301("h3", { className: "text-h4 text-ods-text-primary truncate", title: step.title, children: step.title }),
38525
38541
  /* @__PURE__ */ jsx301("p", { className: "text-h6 text-ods-text-secondary truncate h-[20px]", title: step.description, children: step.description })
38526
38542
  ] }),
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: [
38543
+ /* @__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
38544
  /* @__PURE__ */ jsx301("div", { className: "h-[32px] w-[100px] bg-ods-border rounded-[6px] animate-pulse" }),
38529
38545
  /* @__PURE__ */ jsx301("div", { className: "h-[32px] w-[120px] bg-ods-border rounded-[6px] animate-pulse" })
38530
- ] }) : isCompleted ? /* @__PURE__ */ jsxs239(Fragment57, { children: [
38546
+ ] }) : isCompleted ? /* @__PURE__ */ jsxs239(Fragment58, { children: [
38531
38547
  /* @__PURE__ */ jsx301(
38532
38548
  StatusBadge,
38533
38549
  {
@@ -38546,14 +38562,14 @@ function OnboardingStepCard({
38546
38562
  children: step.completedText
38547
38563
  }
38548
38564
  )
38549
- ] }) : isSkipped ? /* @__PURE__ */ jsx301(Fragment57, { children: /* @__PURE__ */ jsx301(
38565
+ ] }) : isSkipped ? /* @__PURE__ */ jsx301(Fragment58, { children: /* @__PURE__ */ jsx301(
38550
38566
  StatusBadge,
38551
38567
  {
38552
38568
  text: "SKIPPED",
38553
38569
  variant: "card",
38554
38570
  colorScheme: "default"
38555
38571
  }
38556
- ) }) : /* @__PURE__ */ jsxs239(Fragment57, { children: [
38572
+ ) }) : /* @__PURE__ */ jsxs239(Fragment58, { children: [
38557
38573
  /* @__PURE__ */ jsx301(
38558
38574
  Button,
38559
38575
  {
@@ -39513,7 +39529,7 @@ function getHideClasses(hideAt) {
39513
39529
  }
39514
39530
 
39515
39531
  // src/components/ui/table/table-header.tsx
39516
- import { Fragment as Fragment58, jsx as jsx314, jsxs as jsxs249 } from "react/jsx-runtime";
39532
+ import { Fragment as Fragment59, jsx as jsx314, jsxs as jsxs249 } from "react/jsx-runtime";
39517
39533
  function TableHeader({
39518
39534
  columns,
39519
39535
  className,
@@ -39624,10 +39640,10 @@ function TableHeader({
39624
39640
  column.sortable && "cursor-pointer hover:text-ods-text-primary transition-colors"
39625
39641
  ),
39626
39642
  onClick: () => handleSort(column),
39627
- children: column.renderHeader ? /* @__PURE__ */ jsxs249(Fragment58, { children: [
39643
+ children: column.renderHeader ? /* @__PURE__ */ jsxs249(Fragment59, { children: [
39628
39644
  column.renderHeader(),
39629
39645
  getSortIcon(column)
39630
- ] }) : /* @__PURE__ */ jsxs249(Fragment58, { children: [
39646
+ ] }) : /* @__PURE__ */ jsxs249(Fragment59, { children: [
39631
39647
  /* @__PURE__ */ jsx314("span", { className: "text-h5 text-ods-text-secondary uppercase whitespace-nowrap", children: column.label }),
39632
39648
  getSortIcon(column)
39633
39649
  ] })
@@ -39682,7 +39698,7 @@ function TableCell({
39682
39698
 
39683
39699
  // src/components/ui/table/table-skeleton.tsx
39684
39700
  init_cn();
39685
- import { Fragment as Fragment59, jsx as jsx316, jsxs as jsxs250 } from "react/jsx-runtime";
39701
+ import { Fragment as Fragment60, jsx as jsx316, jsxs as jsxs250 } from "react/jsx-runtime";
39686
39702
  var ROW_HEIGHT_DESKTOP = "h-[68px] md:h-[80px]";
39687
39703
  var ROW_HEIGHT_MOBILE = "h-[68px]";
39688
39704
  function TableCardSkeleton({
@@ -39694,7 +39710,7 @@ function TableCardSkeleton({
39694
39710
  rowClassName
39695
39711
  }) {
39696
39712
  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(
39713
+ return /* @__PURE__ */ jsx316(Fragment60, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs250(
39698
39714
  "div",
39699
39715
  {
39700
39716
  className: cn(
@@ -39873,7 +39889,7 @@ function useTableMotion(enabled) {
39873
39889
  }
39874
39890
 
39875
39891
  // src/components/ui/table/table.tsx
39876
- import { Fragment as Fragment60, jsx as jsx318, jsxs as jsxs252 } from "react/jsx-runtime";
39892
+ import { Fragment as Fragment61, jsx as jsx318, jsxs as jsxs252 } from "react/jsx-runtime";
39877
39893
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
39878
39894
  const hasActions = Boolean(rowActions?.length) || Boolean(renderRowActions);
39879
39895
  const result = [...columns];
@@ -40075,7 +40091,7 @@ function Table({
40075
40091
  hasActions: Boolean(rowActions) && rowActions.length > 0,
40076
40092
  hasChevron: Boolean(rowHref)
40077
40093
  }
40078
- ) : data.length === 0 ? /* @__PURE__ */ jsx318(TableEmptyState, { message: emptyMessage }) : /* @__PURE__ */ jsxs252(Fragment60, { children: [
40094
+ ) : data.length === 0 ? /* @__PURE__ */ jsx318(TableEmptyState, { message: emptyMessage }) : /* @__PURE__ */ jsxs252(Fragment61, { children: [
40079
40095
  (() => {
40080
40096
  const rows = data.map((item, index) => /* @__PURE__ */ jsx318(
40081
40097
  TableRow,
@@ -40702,7 +40718,7 @@ function DataTableColumnFilter({
40702
40718
  }
40703
40719
 
40704
40720
  // src/components/ui/data-table/data-table-header.tsx
40705
- import { Fragment as Fragment61, jsx as jsx327, jsxs as jsxs259 } from "react/jsx-runtime";
40721
+ import { Fragment as Fragment62, jsx as jsx327, jsxs as jsxs259 } from "react/jsx-runtime";
40706
40722
  function DataTableHeader({
40707
40723
  className,
40708
40724
  stickyHeader,
@@ -40798,7 +40814,7 @@ function HeaderLabel({ header }) {
40798
40814
  if (typeof headerDef === "string") {
40799
40815
  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
40816
  }
40801
- return /* @__PURE__ */ jsx327(Fragment61, { children: flexRender(headerDef, header.getContext()) });
40817
+ return /* @__PURE__ */ jsx327(Fragment62, { children: flexRender(headerDef, header.getContext()) });
40802
40818
  }
40803
40819
  function SortIcon({ sorted }) {
40804
40820
  if (sorted === "asc") return /* @__PURE__ */ jsx327(Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" });
@@ -40837,7 +40853,7 @@ import { flexRender as flexRender2 } from "@tanstack/react-table";
40837
40853
 
40838
40854
  // src/components/ui/data-table/data-table-skeleton.tsx
40839
40855
  init_cn();
40840
- import { Fragment as Fragment62, jsx as jsx329, jsxs as jsxs260 } from "react/jsx-runtime";
40856
+ import { Fragment as Fragment63, jsx as jsx329, jsxs as jsxs260 } from "react/jsx-runtime";
40841
40857
  var ROW_HEIGHT_DESKTOP2 = "h-[68px] md:h-[80px]";
40842
40858
  var ROW_HEIGHT_MOBILE2 = "h-[68px]";
40843
40859
  function DataTableSkeleton({
@@ -40848,7 +40864,7 @@ function DataTableSkeleton({
40848
40864
  const table = useDataTableContext();
40849
40865
  const columns = table.getVisibleFlatColumns();
40850
40866
  const firstColumnId = columns[0]?.id;
40851
- return /* @__PURE__ */ jsx329(Fragment62, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs260(
40867
+ return /* @__PURE__ */ jsx329(Fragment63, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ jsxs260(
40852
40868
  "div",
40853
40869
  {
40854
40870
  className: cn(
@@ -40904,7 +40920,7 @@ function DataTableSkeleton({
40904
40920
  }
40905
40921
 
40906
40922
  // src/components/ui/data-table/data-table-row.tsx
40907
- import { Fragment as Fragment63, jsx as jsx330, jsxs as jsxs261 } from "react/jsx-runtime";
40923
+ import { Fragment as Fragment64, jsx as jsx330, jsxs as jsxs261 } from "react/jsx-runtime";
40908
40924
  function DataTableRowImpl({
40909
40925
  row,
40910
40926
  onClick,
@@ -41006,7 +41022,7 @@ function CellContent({ children }) {
41006
41022
  if (typeof children === "string" || typeof children === "number") {
41007
41023
  return /* @__PURE__ */ jsx330("span", { className: "text-h4 text-ods-text-primary truncate", title: String(children), children });
41008
41024
  }
41009
- return /* @__PURE__ */ jsx330(Fragment63, { children });
41025
+ return /* @__PURE__ */ jsx330(Fragment64, { children });
41010
41026
  }
41011
41027
 
41012
41028
  // src/components/ui/data-table/data-table-body.tsx
@@ -41086,7 +41102,7 @@ function DataTableBody({
41086
41102
 
41087
41103
  // src/components/ui/data-table/data-table-infinite-footer.tsx
41088
41104
  import { useEffect as useEffect73, useRef as useRef60 } from "react";
41089
- import { Fragment as Fragment64, jsx as jsx332, jsxs as jsxs263 } from "react/jsx-runtime";
41105
+ import { Fragment as Fragment65, jsx as jsx332, jsxs as jsxs263 } from "react/jsx-runtime";
41090
41106
  function DataTableInfiniteFooter({
41091
41107
  hasNextPage,
41092
41108
  isFetchingNextPage,
@@ -41110,7 +41126,7 @@ function DataTableInfiniteFooter({
41110
41126
  observer.observe(sentinel);
41111
41127
  return () => observer.disconnect();
41112
41128
  }, [hasNextPage, isFetchingNextPage, rootMargin]);
41113
- return /* @__PURE__ */ jsxs263(Fragment64, { children: [
41129
+ return /* @__PURE__ */ jsxs263(Fragment65, { children: [
41114
41130
  isFetchingNextPage && /* @__PURE__ */ jsx332(DataTableSkeleton, { rows: skeletonRows }),
41115
41131
  hasNextPage && /* @__PURE__ */ jsx332("div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" })
41116
41132
  ] });
@@ -42520,7 +42536,7 @@ function FileUpload({
42520
42536
  import * as React128 from "react";
42521
42537
  import { Loader2 as Loader210 } from "lucide-react";
42522
42538
  init_cn();
42523
- import { Fragment as Fragment66, jsx as jsx339, jsxs as jsxs270 } from "react/jsx-runtime";
42539
+ import { Fragment as Fragment67, jsx as jsx339, jsxs as jsxs270 } from "react/jsx-runtime";
42524
42540
  var DEFAULT_MAX_SIZE = 25 * 1024 * 1024;
42525
42541
  function formatSize(bytes) {
42526
42542
  const mb = bytes / (1024 * 1024);
@@ -42649,7 +42665,7 @@ function ImageUploader({
42649
42665
  !hasImage && !interactive && "cursor-not-allowed",
42650
42666
  dropzoneClassName
42651
42667
  ),
42652
- children: hasImage ? /* @__PURE__ */ jsxs270(Fragment66, { children: [
42668
+ children: hasImage ? /* @__PURE__ */ jsxs270(Fragment67, { children: [
42653
42669
  /* @__PURE__ */ jsx339("div", { className: "relative min-h-0 w-full flex-1 overflow-hidden rounded-md", children: resolvedValue && /* @__PURE__ */ jsx339(
42654
42670
  "img",
42655
42671
  {
@@ -42686,7 +42702,7 @@ function ImageUploader({
42686
42702
  )
42687
42703
  ] }),
42688
42704
  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: [
42705
+ ] }) : loading ? /* @__PURE__ */ jsx339(Loader210, { className: "size-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs270(Fragment67, { children: [
42690
42706
  /* @__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
42707
  /* @__PURE__ */ jsxs270("div", { className: "flex w-full flex-col items-center text-center", children: [
42692
42708
  /* @__PURE__ */ jsx339("p", { className: "text-h4 text-ods-text-primary", children: label }),
@@ -42756,7 +42772,7 @@ PopoverContent.displayName = PopoverPrimitive7.Content.displayName;
42756
42772
 
42757
42773
  // src/components/ui/color-preset-select.tsx
42758
42774
  init_cn();
42759
- import { Fragment as Fragment67, jsx as jsx341, jsxs as jsxs271 } from "react/jsx-runtime";
42775
+ import { Fragment as Fragment68, jsx as jsx341, jsxs as jsxs271 } from "react/jsx-runtime";
42760
42776
  var TICKET_STATUS_COLOR_PRESETS = [
42761
42777
  { key: "green", label: "Green", color: "#5ea62e" },
42762
42778
  { key: "lime", label: "Lime", color: "#8bc34a" },
@@ -42907,7 +42923,7 @@ function RgbInputs({ value, onChange }) {
42907
42923
  const b = next.b ?? rgb.b;
42908
42924
  onChange(rgbToHex(r, g, b));
42909
42925
  };
42910
- return /* @__PURE__ */ jsxs271(Fragment67, { children: [
42926
+ return /* @__PURE__ */ jsxs271(Fragment68, { children: [
42911
42927
  /* @__PURE__ */ jsx341(ChannelInput, { value: rgb.r, min: 0, max: 255, ariaLabel: "Red", onCommit: (r) => update({ r }) }),
42912
42928
  /* @__PURE__ */ jsx341(ChannelInput, { value: rgb.g, min: 0, max: 255, ariaLabel: "Green", onCommit: (g) => update({ g }) }),
42913
42929
  /* @__PURE__ */ jsx341(ChannelInput, { value: rgb.b, min: 0, max: 255, ariaLabel: "Blue", onCommit: (b) => update({ b }) })
@@ -42923,7 +42939,7 @@ function HslInputs({ value, onChange }) {
42923
42939
  const out = hslToRgb(h, s, l);
42924
42940
  onChange(rgbToHex(out.r, out.g, out.b));
42925
42941
  };
42926
- return /* @__PURE__ */ jsxs271(Fragment67, { children: [
42942
+ return /* @__PURE__ */ jsxs271(Fragment68, { children: [
42927
42943
  /* @__PURE__ */ jsx341(ChannelInput, { value: hsl.h, min: 0, max: 360, ariaLabel: "Hue", onCommit: (h) => update({ h }) }),
42928
42944
  /* @__PURE__ */ jsx341(ChannelInput, { value: hsl.s, min: 0, max: 100, ariaLabel: "Saturation", onCommit: (s) => update({ s }) }),
42929
42945
  /* @__PURE__ */ jsx341(ChannelInput, { value: hsl.l, min: 0, max: 100, ariaLabel: "Lightness", onCommit: (l) => update({ l }) })
@@ -43220,7 +43236,7 @@ init_cn();
43220
43236
  // src/components/ui/ticket-note-card.tsx
43221
43237
  import * as React132 from "react";
43222
43238
  init_cn();
43223
- import { Fragment as Fragment68, jsx as jsx345, jsxs as jsxs275 } from "react/jsx-runtime";
43239
+ import { Fragment as Fragment69, jsx as jsx345, jsxs as jsxs275 } from "react/jsx-runtime";
43224
43240
  function TicketNoteCard({ note, onEdit, onDelete, className }) {
43225
43241
  const [isEditing, setIsEditing] = React132.useState(false);
43226
43242
  const [editText, setEditText] = React132.useState(note.text);
@@ -43294,7 +43310,7 @@ function TicketNoteCard({ note, onEdit, onDelete, className }) {
43294
43310
  children: /* @__PURE__ */ jsx345(XmarkIcon, { className: "size-5" })
43295
43311
  }
43296
43312
  )
43297
- ] }) : /* @__PURE__ */ jsxs275(Fragment68, { children: [
43313
+ ] }) : /* @__PURE__ */ jsxs275(Fragment69, { children: [
43298
43314
  /* @__PURE__ */ jsx345("p", { className: "text-h4 text-ods-text-primary", children: note.text }),
43299
43315
  /* @__PURE__ */ jsxs275(
43300
43316
  "p",
@@ -43401,7 +43417,7 @@ function TicketNotesSection({
43401
43417
  }
43402
43418
 
43403
43419
  // src/components/ui/ticket-info-section.tsx
43404
- import { Fragment as Fragment69, jsx as jsx347, jsxs as jsxs277 } from "react/jsx-runtime";
43420
+ import { Fragment as Fragment70, jsx as jsx347, jsxs as jsxs277 } from "react/jsx-runtime";
43405
43421
  function InfoCell2({ value, label, icon, onClick }) {
43406
43422
  return /* @__PURE__ */ jsx347("div", { className: "flex-1 min-w-0 overflow-hidden", children: /* @__PURE__ */ jsxs277("div", { className: "flex flex-col justify-center", children: [
43407
43423
  /* @__PURE__ */ jsxs277("div", { className: "flex items-center gap-1 w-full min-w-0", children: [
@@ -43526,7 +43542,7 @@ function TicketInfoSection({
43526
43542
  )
43527
43543
  ] })
43528
43544
  ] }),
43529
- expanded && /* @__PURE__ */ jsxs277(Fragment69, { children: [
43545
+ expanded && /* @__PURE__ */ jsxs277(Fragment70, { children: [
43530
43546
  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
43547
  /* @__PURE__ */ jsxs277("div", { className: "flex flex-col gap-4 p-4 bg-ods-bg border-b border-ods-border", children: [
43532
43548
  description && /* @__PURE__ */ jsx347(SimpleMarkdownRenderer, { content: description }),
@@ -43584,7 +43600,7 @@ function FilterPillRow({
43584
43600
 
43585
43601
  // src/components/ui/image-gallery-modal.tsx
43586
43602
  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";
43603
+ import { Fragment as Fragment71, jsx as jsx349, jsxs as jsxs279 } from "react/jsx-runtime";
43588
43604
  function ImageGalleryModal({
43589
43605
  images,
43590
43606
  isOpen,
@@ -43640,7 +43656,7 @@ function ImageGalleryModal({
43640
43656
  onClose,
43641
43657
  className: "max-w-[95vw]",
43642
43658
  children: /* @__PURE__ */ jsxs279("div", { className: "relative flex items-center justify-center bg-black rounded-lg", children: [
43643
- images.length > 1 && /* @__PURE__ */ jsxs279(Fragment70, { children: [
43659
+ images.length > 1 && /* @__PURE__ */ jsxs279(Fragment71, { children: [
43644
43660
  selectedImageIndex > 0 && /* @__PURE__ */ jsx349("div", { className: "absolute left-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx349(
43645
43661
  Button,
43646
43662
  {
@@ -43758,7 +43774,7 @@ function TaskTypeIcon({ customItemId, className = "h-5 w-5" }) {
43758
43774
  }
43759
43775
 
43760
43776
  // src/components/chat/entity-cards/roadmap-card.tsx
43761
- import { Fragment as Fragment71, jsx as jsx351, jsxs as jsxs280 } from "react/jsx-runtime";
43777
+ import { Fragment as Fragment72, jsx as jsx351, jsxs as jsxs280 } from "react/jsx-runtime";
43762
43778
  function RoadmapCardSkeleton({ size: size2 = "default" }) {
43763
43779
  if (size2 === "sm") {
43764
43780
  return /* @__PURE__ */ jsxs280("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
@@ -43820,7 +43836,7 @@ function RoadmapCard({
43820
43836
  const hasScreenshots = (item.screenshots?.length ?? 0) > 0;
43821
43837
  const typeLabel = getTaskTypeLabel(item.customItemId);
43822
43838
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
43823
- const body = /* @__PURE__ */ jsxs280(Fragment71, { children: [
43839
+ const body = /* @__PURE__ */ jsxs280(Fragment72, { children: [
43824
43840
  /* @__PURE__ */ jsx351(
43825
43841
  "span",
43826
43842
  {
@@ -44012,7 +44028,7 @@ function RoadmapCard({
44012
44028
  // src/components/chat/entity-cards/github-activity-card.tsx
44013
44029
  import React135 from "react";
44014
44030
  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";
44031
+ import { Fragment as Fragment73, jsx as jsx352, jsxs as jsxs281 } from "react/jsx-runtime";
44016
44032
  function parseRepoFromUrl(url) {
44017
44033
  if (!url) return null;
44018
44034
  try {
@@ -44144,7 +44160,7 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
44144
44160
  if (repo) metaParts.push(/* @__PURE__ */ jsx352("span", { className: "font-mono truncate", children: repo }, "repo"));
44145
44161
  if (dateText) metaParts.push(/* @__PURE__ */ jsx352("span", { className: "whitespace-nowrap", children: dateText }, "date"));
44146
44162
  const href = safeHref(item.url);
44147
- const body = /* @__PURE__ */ jsxs281(Fragment72, { children: [
44163
+ const body = /* @__PURE__ */ jsxs281(Fragment73, { children: [
44148
44164
  /* @__PURE__ */ jsx352("span", { className: COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
44149
44165
  /* @__PURE__ */ jsxs281("span", { className: COMPACT_CARD_TEXT_COL, children: [
44150
44166
  /* @__PURE__ */ jsxs281("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
@@ -44199,7 +44215,7 @@ function GitHubActivityCardSkeleton({ variant = "compact", className }) {
44199
44215
  // src/components/chat/entity-cards/slack-message-card.tsx
44200
44216
  import React136 from "react";
44201
44217
  import { ExternalLink as ExternalLink9, Hash } from "lucide-react";
44202
- import { Fragment as Fragment73, jsx as jsx353, jsxs as jsxs282 } from "react/jsx-runtime";
44218
+ import { Fragment as Fragment74, jsx as jsx353, jsxs as jsxs282 } from "react/jsx-runtime";
44203
44219
  function parseChannelFromUrl(url) {
44204
44220
  if (!url) return null;
44205
44221
  try {
@@ -44238,7 +44254,7 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
44238
44254
  }
44239
44255
  if (dateText) metaParts.push(/* @__PURE__ */ jsx353("span", { className: "whitespace-nowrap", children: dateText }, "date"));
44240
44256
  const href = safeHref(item.url);
44241
- const body = /* @__PURE__ */ jsxs282(Fragment73, { children: [
44257
+ const body = /* @__PURE__ */ jsxs282(Fragment74, { children: [
44242
44258
  /* @__PURE__ */ jsx353("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx353(SlackIcon, { className: "h-5 w-5" }) }),
44243
44259
  /* @__PURE__ */ jsxs282("span", { className: COMPACT_CARD_TEXT_COL, children: [
44244
44260
  /* @__PURE__ */ jsx353("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx353("span", { className: COMPACT_CARD_TITLE, children: item.title }) }),
@@ -44288,7 +44304,7 @@ function SlackMessageCardSkeleton({ variant = "compact", className }) {
44288
44304
  // src/components/chat/entity-cards/hubspot-ticket-card.tsx
44289
44305
  import React137 from "react";
44290
44306
  import { ExternalLink as ExternalLink10 } from "lucide-react";
44291
- import { Fragment as Fragment74, jsx as jsx354, jsxs as jsxs283 } from "react/jsx-runtime";
44307
+ import { Fragment as Fragment75, jsx as jsx354, jsxs as jsxs283 } from "react/jsx-runtime";
44292
44308
  function formatToken(token) {
44293
44309
  if (!token) return null;
44294
44310
  const lower = token.toLowerCase().replace(/_/g, " ");
@@ -44327,7 +44343,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
44327
44343
  }
44328
44344
  if (dateText) metaParts.push(/* @__PURE__ */ jsx354("span", { className: "whitespace-nowrap", children: dateText }, "date"));
44329
44345
  const href = safeHref(item.url);
44330
- const body = /* @__PURE__ */ jsxs283(Fragment74, { children: [
44346
+ const body = /* @__PURE__ */ jsxs283(Fragment75, { children: [
44331
44347
  /* @__PURE__ */ jsxs283("span", { className: COMPACT_CARD_TEXT_COL, children: [
44332
44348
  /* @__PURE__ */ jsxs283("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
44333
44349
  /* @__PURE__ */ jsx354("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
@@ -44407,9 +44423,9 @@ function HubspotTicketCardSkeleton({ variant = "compact", className }) {
44407
44423
 
44408
44424
  // src/components/chat/entity-cards/data-room-doc-card.tsx
44409
44425
  import { ExternalLink as ExternalLink11 } from "lucide-react";
44410
- import { Fragment as Fragment75, jsx as jsx355, jsxs as jsxs284 } from "react/jsx-runtime";
44426
+ import { Fragment as Fragment76, jsx as jsx355, jsxs as jsxs284 } from "react/jsx-runtime";
44411
44427
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
44412
- const body = /* @__PURE__ */ jsxs284(Fragment75, { children: [
44428
+ const body = /* @__PURE__ */ jsxs284(Fragment76, { children: [
44413
44429
  /* @__PURE__ */ jsxs284("span", { className: COMPACT_CARD_TEXT_COL, children: [
44414
44430
  /* @__PURE__ */ jsxs284("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
44415
44431
  /* @__PURE__ */ jsx355("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
@@ -46019,7 +46035,7 @@ function cleanEscapedString(input) {
46019
46035
  init_button();
46020
46036
  import { ExternalLink as ExternalLink12, Clock as Clock2, Play as Play4, Video as Video5 } from "lucide-react";
46021
46037
  init_cn();
46022
- import { Fragment as Fragment76, jsx as jsx356, jsxs as jsxs285 } from "react/jsx-runtime";
46038
+ import { Fragment as Fragment77, jsx as jsx356, jsxs as jsxs285 } from "react/jsx-runtime";
46023
46039
  function formatUtc(date, fmt) {
46024
46040
  return format2(new Date(date.getTime() + date.getTimezoneOffset() * 6e4), fmt);
46025
46041
  }
@@ -46094,7 +46110,7 @@ function MediaGallery({ images, title }) {
46094
46110
  setIsModalOpen(false);
46095
46111
  setSelectedImageIndex(null);
46096
46112
  };
46097
- return /* @__PURE__ */ jsxs285(Fragment76, { children: [
46113
+ return /* @__PURE__ */ jsxs285(Fragment77, { children: [
46098
46114
  /* @__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
46115
  "div",
46100
46116
  {
@@ -46236,7 +46252,7 @@ function ProgramCard({
46236
46252
  const dateFormat = formatUtc(itemDate, "EEEE d MMMM");
46237
46253
  const defaultRenderMeta = () => {
46238
46254
  if (config.type === "podcast" && "duration_seconds" in item && !isScheduled) {
46239
- return /* @__PURE__ */ jsxs285(Fragment76, { children: [
46255
+ return /* @__PURE__ */ jsxs285(Fragment77, { children: [
46240
46256
  /* @__PURE__ */ jsx356(Clock2, { className: "w-4 h-4 text-ods-text-secondary" }),
46241
46257
  /* @__PURE__ */ jsx356("span", { className: "font-body text-ods-text-secondary", children: formatDurationCompact(item.duration_seconds) })
46242
46258
  ] });
@@ -46247,7 +46263,7 @@ function ProgramCard({
46247
46263
  if (config.type === "webinar" && "start_at" in item) {
46248
46264
  const webinarItem = item;
46249
46265
  const duration = formatDurationFromRange(webinarItem.start_at, webinarItem.end_at);
46250
- return /* @__PURE__ */ jsxs285(Fragment76, { children: [
46266
+ return /* @__PURE__ */ jsxs285(Fragment77, { children: [
46251
46267
  /* @__PURE__ */ jsx356(Video5, { className: "w-4 h-4 text-ods-text-secondary" }),
46252
46268
  /* @__PURE__ */ jsxs285("span", { className: "font-body text-ods-text-secondary", children: [
46253
46269
  formatTimeWithTimezone(webinarItem.start_at, webinarItem.timezone ?? null),
@@ -46281,10 +46297,10 @@ function ProgramCard({
46281
46297
  /* @__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
46298
  /* @__PURE__ */ jsxs285("div", { className: "flex flex-col md:flex-row md:items-center gap-2 md:gap-4 mb-4", children: [
46283
46299
  /* @__PURE__ */ jsx356("span", { className: "text-h6", style: { color: accentColor }, children: dateFormat }),
46284
- renderMeta ? /* @__PURE__ */ jsxs285(Fragment76, { children: [
46300
+ renderMeta ? /* @__PURE__ */ jsxs285(Fragment77, { children: [
46285
46301
  /* @__PURE__ */ jsx356("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
46286
46302
  renderMeta(item)
46287
- ] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs285(Fragment76, { children: [
46303
+ ] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs285(Fragment77, { children: [
46288
46304
  /* @__PURE__ */ jsx356("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
46289
46305
  /* @__PURE__ */ jsx356("div", { className: "flex items-center gap-2", children: defaultRenderMeta() })
46290
46306
  ] })
@@ -46361,10 +46377,10 @@ function ProgramCard({
46361
46377
 
46362
46378
  // src/components/chat/entity-cards/campaign-card-admin.tsx
46363
46379
  import { Megaphone as Megaphone3 } from "lucide-react";
46364
- import { Fragment as Fragment77, jsx as jsx357, jsxs as jsxs286 } from "react/jsx-runtime";
46380
+ import { Fragment as Fragment78, jsx as jsx357, jsxs as jsxs286 } from "react/jsx-runtime";
46365
46381
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
46366
46382
  const goalsCount = campaign.goals?.length || 0;
46367
- const innerChildren = /* @__PURE__ */ jsxs286(Fragment77, { children: [
46383
+ const innerChildren = /* @__PURE__ */ jsxs286(Fragment78, { children: [
46368
46384
  /* @__PURE__ */ jsx357("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx357(Megaphone3, { className: "h-5 w-5" }) }),
46369
46385
  /* @__PURE__ */ jsxs286("span", { className: COMPACT_CARD_TEXT_COL, children: [
46370
46386
  /* @__PURE__ */ jsx357("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx357("span", { className: COMPACT_CARD_TITLE, children: campaign.name }) }),
@@ -46394,11 +46410,11 @@ function CampaignCardAdminSkeleton({ className }) {
46394
46410
 
46395
46411
  // src/components/chat/entity-cards/generic-entity-card.tsx
46396
46412
  import { ExternalLink as ExternalLink13 } from "lucide-react";
46397
- import { Fragment as Fragment78, jsx as jsx358, jsxs as jsxs287 } from "react/jsx-runtime";
46413
+ import { Fragment as Fragment79, jsx as jsx358, jsxs as jsxs287 } from "react/jsx-runtime";
46398
46414
  function GenericEntityCard({ item, className, anchorProps }) {
46399
46415
  const href = safeHref(item.url);
46400
46416
  const dateText = formatDateUTC(item.dateUpdated, { fallback: "", timezone: "local" });
46401
- const body = /* @__PURE__ */ jsxs287(Fragment78, { children: [
46417
+ const body = /* @__PURE__ */ jsxs287(Fragment79, { children: [
46402
46418
  /* @__PURE__ */ jsxs287("span", { className: COMPACT_CARD_TEXT_COL, children: [
46403
46419
  /* @__PURE__ */ jsxs287("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
46404
46420
  /* @__PURE__ */ jsx358("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
@@ -46583,7 +46599,7 @@ function resolveSourceIcon(input, ctx = {}) {
46583
46599
 
46584
46600
  // src/components/chat/mingo-info-card.tsx
46585
46601
  init_cn();
46586
- import { Fragment as Fragment79, jsx as jsx359, jsxs as jsxs288 } from "react/jsx-runtime";
46602
+ import { Fragment as Fragment80, jsx as jsx359, jsxs as jsxs288 } from "react/jsx-runtime";
46587
46603
  function CardMedia({
46588
46604
  imageSrc,
46589
46605
  imageAlt,
@@ -46627,7 +46643,7 @@ function MingoInfoCard({
46627
46643
  const hasMenu = !!menuGroups && menuGroups.length > 0;
46628
46644
  const isAnchor = !!anchorProps;
46629
46645
  const isInteractive = isAnchor || !!onClick;
46630
- const content = /* @__PURE__ */ jsxs288(Fragment79, { children: [
46646
+ const content = /* @__PURE__ */ jsxs288(Fragment80, { children: [
46631
46647
  hasMedia && /* @__PURE__ */ jsx359(CardMedia, { imageSrc, imageAlt, icon }),
46632
46648
  /* @__PURE__ */ jsxs288("span", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
46633
46649
  /* @__PURE__ */ jsx359("span", { className: "truncate text-h4 text-ods-text-primary", children: title }),
@@ -46676,7 +46692,7 @@ function MingoInfoCard({
46676
46692
  }
46677
46693
 
46678
46694
  // src/components/chat/entity-cards/dispatch.tsx
46679
- import { Fragment as Fragment80, jsx as jsx360, jsxs as jsxs289 } from "react/jsx-runtime";
46695
+ import { Fragment as Fragment81, jsx as jsx360, jsxs as jsxs289 } from "react/jsx-runtime";
46680
46696
  function githubKindIcon(kind) {
46681
46697
  switch (kind) {
46682
46698
  case "pull_request":
@@ -47644,10 +47660,10 @@ function ChatCardLoader({
47644
47660
  }
47645
47661
  );
47646
47662
  }
47647
- if (isLoading) return /* @__PURE__ */ jsx360(Fragment80, { children: entry.skeleton() });
47663
+ if (isLoading) return /* @__PURE__ */ jsx360(Fragment81, { children: entry.skeleton() });
47648
47664
  if (!item) return null;
47649
47665
  if (entry.bareInline) {
47650
- return /* @__PURE__ */ jsx360(Fragment80, { children: navWrap(entry.render(item, finalChatRef, renderOpts)) });
47666
+ return /* @__PURE__ */ jsx360(Fragment81, { children: navWrap(entry.render(item, finalChatRef, renderOpts)) });
47651
47667
  }
47652
47668
  return /* @__PURE__ */ jsx360(
47653
47669
  ChatCardWithDiscuss,
@@ -48570,6 +48586,7 @@ function parseChunkToAction(chunk) {
48570
48586
  integratedToolType: data.integratedToolType || "",
48571
48587
  toolFunction: data.toolFunction || "",
48572
48588
  toolTitle: typeof data.title === "string" ? data.title : void 0,
48589
+ toolExplanation: typeof data.toolExplanation === "string" ? data.toolExplanation : void 0,
48573
48590
  parameters: data.parameters,
48574
48591
  toolExecutionRequestId: typeof data.toolExecutionRequestId === "string" ? data.toolExecutionRequestId : void 0
48575
48592
  }
@@ -48820,6 +48837,7 @@ var MessageSegmentAccumulator = class {
48820
48837
  integratedToolType: toolData.integratedToolType,
48821
48838
  toolFunction: toolData.toolFunction,
48822
48839
  toolTitle: toolData.toolTitle,
48840
+ toolExplanation: toolData.toolExplanation,
48823
48841
  parameters: toolData.parameters
48824
48842
  });
48825
48843
  this.segments.push(segment);
@@ -48834,6 +48852,7 @@ var MessageSegmentAccumulator = class {
48834
48852
  data: {
48835
48853
  ...toolData,
48836
48854
  toolTitle: toolData.toolTitle ?? existingExecuting?.data.toolTitle ?? executingTool?.toolTitle,
48855
+ toolExplanation: toolData.toolExplanation ?? existingExecuting?.data.toolExplanation ?? executingTool?.toolExplanation,
48837
48856
  parameters: toolData.parameters || executingTool?.parameters
48838
48857
  }
48839
48858
  };
@@ -51118,6 +51137,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
51118
51137
  integratedToolType: data.integratedToolType || "",
51119
51138
  toolFunction: data.toolFunction || "",
51120
51139
  toolTitle: typeof data.title === "string" ? data.title : void 0,
51140
+ toolExplanation: typeof data.toolExplanation === "string" ? data.toolExplanation : void 0,
51121
51141
  parameters: data.parameters,
51122
51142
  toolExecutionRequestId: data.toolExecutionRequestId
51123
51143
  }
@@ -51416,6 +51436,7 @@ function extractIncompleteMessageState(lastMessage) {
51416
51436
  integratedToolType: segment.data.integratedToolType,
51417
51437
  toolFunction: segment.data.toolFunction,
51418
51438
  toolTitle: segment.data.toolTitle,
51439
+ toolExplanation: segment.data.toolExplanation,
51419
51440
  parameters: segment.data.parameters
51420
51441
  });
51421
51442
  hasIncompleteState = true;
@@ -51572,6 +51593,7 @@ function applyToolExecutionToMessages(prev, segment) {
51572
51593
  data: {
51573
51594
  ...toolData,
51574
51595
  toolTitle: toolData.toolTitle ?? seg.data.toolTitle,
51596
+ toolExplanation: toolData.toolExplanation ?? seg.data.toolExplanation,
51575
51597
  parameters: toolData.parameters || seg.data.parameters
51576
51598
  }
51577
51599
  };
@@ -53000,7 +53022,7 @@ function useChatDialogManager({
53000
53022
 
53001
53023
  // src/components/chat/embeddable-chat.tsx
53002
53024
  init_next_navigation();
53003
- import { Fragment as Fragment81, jsx as jsx364, jsxs as jsxs290 } from "react/jsx-runtime";
53025
+ import { Fragment as Fragment82, jsx as jsx364, jsxs as jsxs290 } from "react/jsx-runtime";
53004
53026
  var DRAWER_DEFAULT_WIDTH_RATIO = 0.5;
53005
53027
  var DRAWER_WIDTH_KEY = "mingo-chat-width-v3";
53006
53028
  var DRAWER_DEFAULT_WIDTH_PX = 750;
@@ -53172,7 +53194,7 @@ function SourceChip({
53172
53194
  );
53173
53195
  }
53174
53196
  const displayName = src.name || formatRelativePath(src.path);
53175
- const chipBody = (label) => /* @__PURE__ */ jsxs290(Fragment81, { children: [
53197
+ const chipBody = (label) => /* @__PURE__ */ jsxs290(Fragment82, { children: [
53176
53198
  icon,
53177
53199
  /* @__PURE__ */ jsxs290("span", { className: "truncate max-w-[160px]", children: [
53178
53200
  "[",
@@ -53979,7 +54001,7 @@ function EmbeddableChatInner({
53979
54001
  // renders in the rail below); the chat block is untouched.
53980
54002
  // Back is a full-height leading cell, matching the other
53981
54003
  // header cells (not a small inline chevron).
53982
- /* @__PURE__ */ jsxs290(Fragment81, { children: [
54004
+ /* @__PURE__ */ jsxs290(Fragment82, { children: [
53983
54005
  /* @__PURE__ */ jsx364(
53984
54006
  ChatHeaderIconButton,
53985
54007
  {
@@ -53996,7 +54018,7 @@ function EmbeddableChatInner({
53996
54018
  // search + archive controls. When search is open the
53997
54019
  // inline field takes over the title area in place
53998
54020
  // (Figma 116:51217) and the magnifier toggle is hidden.
53999
- /* @__PURE__ */ jsxs290(Fragment81, { children: [
54021
+ /* @__PURE__ */ jsxs290(Fragment82, { children: [
54000
54022
  railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ jsx364(
54001
54023
  ChatHeaderSearchField,
54002
54024
  {
@@ -54004,7 +54026,7 @@ function EmbeddableChatInner({
54004
54026
  onSearchChange: mingoCaps.onSearchChange,
54005
54027
  onCollapse: () => setRailSearchOpen(false)
54006
54028
  }
54007
- ) : /* @__PURE__ */ jsxs290(Fragment81, { children: [
54029
+ ) : /* @__PURE__ */ jsxs290(Fragment82, { children: [
54008
54030
  /* @__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
54031
  mingoCaps.onSearchChange && /* @__PURE__ */ jsx364(
54010
54032
  ChatHeaderIconButton,
@@ -54150,7 +54172,7 @@ function EmbeddableChatInner({
54150
54172
  onRetry: reloadDialogs
54151
54173
  }
54152
54174
  )
54153
- ) : /* @__PURE__ */ jsxs290(Fragment81, { children: [
54175
+ ) : /* @__PURE__ */ jsxs290(Fragment82, { children: [
54154
54176
  /* @__PURE__ */ jsx364(
54155
54177
  "div",
54156
54178
  {
@@ -54396,7 +54418,7 @@ function EmbeddableChatInner({
54396
54418
  ]
54397
54419
  }
54398
54420
  ) }) });
54399
- return /* @__PURE__ */ jsxs290(Fragment81, { children: [
54421
+ return /* @__PURE__ */ jsxs290(Fragment82, { children: [
54400
54422
  showInternalTrigger && !shellLess && /* @__PURE__ */ jsx364(
54401
54423
  "div",
54402
54424
  {
@@ -55416,4 +55438,4 @@ export {
55416
55438
  LogsList,
55417
55439
  assets
55418
55440
  };
55419
- //# sourceMappingURL=chunk-THGA7UZZ.js.map
55441
+ //# sourceMappingURL=chunk-BBUEY73L.js.map