@flamingo-stack/openframe-frontend-core 0.0.321 → 0.0.322-snapshot.20260625154751

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 (93) hide show
  1. package/dist/{chunk-CD56IAXU.cjs → chunk-4HII2ZLE.cjs} +5 -5
  2. package/dist/{chunk-CD56IAXU.cjs.map → chunk-4HII2ZLE.cjs.map} +1 -1
  3. package/dist/{chunk-VNWWOPIY.js → chunk-4PAYSVBL.js} +2 -2
  4. package/dist/{chunk-Y2TJ64S5.cjs → chunk-5YWMPCTD.cjs} +12 -12
  5. package/dist/{chunk-Y2TJ64S5.cjs.map → chunk-5YWMPCTD.cjs.map} +1 -1
  6. package/dist/{chunk-TFCGMQPK.cjs → chunk-6ZCLKEXO.cjs} +25 -25
  7. package/dist/{chunk-TFCGMQPK.cjs.map → chunk-6ZCLKEXO.cjs.map} +1 -1
  8. package/dist/{chunk-NEY347ME.cjs → chunk-7CFMQIAC.cjs} +26 -26
  9. package/dist/{chunk-NEY347ME.cjs.map → chunk-7CFMQIAC.cjs.map} +1 -1
  10. package/dist/{chunk-FNK67HTC.js → chunk-AA2ZKWQV.js} +2 -2
  11. package/dist/{chunk-HALW7FPF.js → chunk-BUJZJN2K.js} +2 -2
  12. package/dist/{chunk-PDOTUMJC.cjs → chunk-FCIMIGVA.cjs} +31 -31
  13. package/dist/{chunk-PDOTUMJC.cjs.map → chunk-FCIMIGVA.cjs.map} +1 -1
  14. package/dist/{chunk-7C5G45KU.cjs → chunk-GLKQDTCI.cjs} +740 -679
  15. package/dist/chunk-GLKQDTCI.cjs.map +1 -0
  16. package/dist/{chunk-DEEBJBFQ.js → chunk-HDTW265W.js} +2 -2
  17. package/dist/{chunk-MN2WQYXS.cjs → chunk-JJS5QJOX.cjs} +15 -15
  18. package/dist/{chunk-MN2WQYXS.cjs.map → chunk-JJS5QJOX.cjs.map} +1 -1
  19. package/dist/{chunk-J65CQLX6.js → chunk-MG72PRRZ.js} +2 -2
  20. package/dist/{chunk-TPJJJ6KC.js → chunk-OI56RVPD.js} +153 -92
  21. package/dist/chunk-OI56RVPD.js.map +1 -0
  22. package/dist/{chunk-7M3QIYFW.cjs → chunk-OUN4V2CV.cjs} +56 -56
  23. package/dist/{chunk-7M3QIYFW.cjs.map → chunk-OUN4V2CV.cjs.map} +1 -1
  24. package/dist/{chunk-GAQAPTBU.cjs → chunk-OYRZCCVO.cjs} +37 -37
  25. package/dist/{chunk-GAQAPTBU.cjs.map → chunk-OYRZCCVO.cjs.map} +1 -1
  26. package/dist/{chunk-WCRJWZUA.js → chunk-RTYIYX6C.js} +4 -4
  27. package/dist/{chunk-TV6VD6LP.js → chunk-S6QURVK4.js} +4 -4
  28. package/dist/{chunk-563D7EB2.js → chunk-SYRZBYKN.js} +4 -4
  29. package/dist/{chunk-V4U7ASRM.js → chunk-WEHLKMBD.js} +2 -2
  30. package/dist/{chunk-BRERE4E5.js → chunk-XPDKUIGS.js} +4 -4
  31. package/dist/{chunk-WCCZGPPP.cjs → chunk-XVBNFRG7.cjs} +62 -62
  32. package/dist/{chunk-WCCZGPPP.cjs.map → chunk-XVBNFRG7.cjs.map} +1 -1
  33. package/dist/{chunk-6DH2TCRH.js → chunk-YLLX3O2D.js} +2 -2
  34. package/dist/{chunk-5HQIFRRE.cjs → chunk-YNMGKOSL.cjs} +7 -7
  35. package/dist/{chunk-5HQIFRRE.cjs.map → chunk-YNMGKOSL.cjs.map} +1 -1
  36. package/dist/{chunk-ZFER75HU.cjs → chunk-ZEDY3IAB.cjs} +9 -9
  37. package/dist/{chunk-ZFER75HU.cjs.map → chunk-ZEDY3IAB.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/embeddable-chat.d.ts +2 -0
  41. package/dist/components/chat/embeddable-chat.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/mingo-chat-history.d.ts +11 -2
  45. package/dist/components/chat/mingo-chat-history.d.ts.map +1 -1
  46. package/dist/components/chat/mingo-welcome.d.ts +5 -1
  47. package/dist/components/chat/mingo-welcome.d.ts.map +1 -1
  48. package/dist/components/contact/index.cjs +3 -3
  49. package/dist/components/contact/index.js +2 -2
  50. package/dist/components/docs/index.cjs +5 -5
  51. package/dist/components/docs/index.js +4 -4
  52. package/dist/components/embeds/index.cjs +3 -3
  53. package/dist/components/embeds/index.js +2 -2
  54. package/dist/components/faq/index.cjs +3 -3
  55. package/dist/components/faq/index.js +2 -2
  56. package/dist/components/features/index.cjs +2 -2
  57. package/dist/components/features/index.js +1 -1
  58. package/dist/components/features/time-tracker/time-tracker-panel.d.ts.map +1 -1
  59. package/dist/components/help-center-pages/index.cjs +20 -20
  60. package/dist/components/help-center-pages/index.js +11 -11
  61. package/dist/components/index.cjs +120 -120
  62. package/dist/components/index.js +9 -9
  63. package/dist/components/navigation/index.cjs +2 -2
  64. package/dist/components/navigation/index.js +1 -1
  65. package/dist/components/onboarding-guides/index.cjs +5 -5
  66. package/dist/components/onboarding-guides/index.js +4 -4
  67. package/dist/components/related-content/index.cjs +3 -3
  68. package/dist/components/related-content/index.js +2 -2
  69. package/dist/components/tickets/index.cjs +5 -5
  70. package/dist/components/tickets/index.js +4 -4
  71. package/dist/components/ui/index.cjs +2 -2
  72. package/dist/components/ui/index.js +1 -1
  73. package/dist/index.cjs +2 -2
  74. package/dist/index.js +1 -1
  75. package/package.json +1 -1
  76. package/src/components/chat/embeddable-chat.tsx +15 -1
  77. package/src/components/chat/mingo-chat-history.tsx +136 -53
  78. package/src/components/chat/mingo-welcome.tsx +6 -1
  79. package/src/components/features/time-tracker/time-tracker-panel.tsx +17 -12
  80. package/src/stories/TimeTracker.stories.tsx +1 -1
  81. package/dist/chunk-7C5G45KU.cjs.map +0 -1
  82. package/dist/chunk-TPJJJ6KC.js.map +0 -1
  83. /package/dist/{chunk-VNWWOPIY.js.map → chunk-4PAYSVBL.js.map} +0 -0
  84. /package/dist/{chunk-FNK67HTC.js.map → chunk-AA2ZKWQV.js.map} +0 -0
  85. /package/dist/{chunk-HALW7FPF.js.map → chunk-BUJZJN2K.js.map} +0 -0
  86. /package/dist/{chunk-DEEBJBFQ.js.map → chunk-HDTW265W.js.map} +0 -0
  87. /package/dist/{chunk-J65CQLX6.js.map → chunk-MG72PRRZ.js.map} +0 -0
  88. /package/dist/{chunk-WCRJWZUA.js.map → chunk-RTYIYX6C.js.map} +0 -0
  89. /package/dist/{chunk-TV6VD6LP.js.map → chunk-S6QURVK4.js.map} +0 -0
  90. /package/dist/{chunk-563D7EB2.js.map → chunk-SYRZBYKN.js.map} +0 -0
  91. /package/dist/{chunk-V4U7ASRM.js.map → chunk-WEHLKMBD.js.map} +0 -0
  92. /package/dist/{chunk-BRERE4E5.js.map → chunk-XPDKUIGS.js.map} +0 -0
  93. /package/dist/{chunk-6DH2TCRH.js.map → chunk-YLLX3O2D.js.map} +0 -0
@@ -6143,12 +6143,15 @@ function MingoChatHistoryRow({
6143
6143
  }
6144
6144
  );
6145
6145
  }
6146
- function MingoChatHistorySkeleton({ className }) {
6146
+ function MingoChatHistorySkeleton({
6147
+ className,
6148
+ searchable = false
6149
+ }) {
6147
6150
  const groups = [
6148
6151
  { withBadge: 2, widths: ["w-3/5", "w-4/5", "w-2/5", "w-3/4"] },
6149
6152
  { withBadge: 0, widths: ["w-1/2", "w-3/5", "w-2/3"] }
6150
6153
  ];
6151
- return /* @__PURE__ */ jsx34(
6154
+ return /* @__PURE__ */ jsxs30(
6152
6155
  "div",
6153
6156
  {
6154
6157
  "aria-hidden": true,
@@ -6156,20 +6159,51 @@ function MingoChatHistorySkeleton({ className }) {
6156
6159
  "flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)] overflow-hidden",
6157
6160
  className
6158
6161
  ),
6159
- children: groups.map((group, g) => /* @__PURE__ */ jsxs30("div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
6160
- /* @__PURE__ */ jsx34("div", { className: "h-3 w-16 animate-pulse rounded bg-ods-border" }),
6161
- /* @__PURE__ */ jsx34("div", { className: "overflow-hidden rounded-md border border-ods-border", children: group.widths.map((w, i) => /* @__PURE__ */ jsxs30(
6162
- "div",
6163
- {
6164
- className: "flex h-12 items-center gap-[var(--spacing-system-xsf)] bg-ods-bg border-b border-ods-border px-[var(--spacing-system-s)] last:border-b-0",
6165
- children: [
6166
- i < group.withBadge && /* @__PURE__ */ jsx34("div", { className: "h-8 w-8 shrink-0 animate-pulse rounded-md bg-ods-border" }),
6167
- /* @__PURE__ */ jsx34("div", { className: cn("h-4 animate-pulse rounded bg-ods-border", w) })
6168
- ]
6169
- },
6170
- i
6171
- )) })
6172
- ] }, g))
6162
+ children: [
6163
+ searchable && /* @__PURE__ */ jsxs30("div", { className: "flex h-11 md:h-12 shrink-0 items-center gap-2 rounded-[6px] border border-ods-border bg-ods-card px-3", children: [
6164
+ /* @__PURE__ */ jsx34("div", { className: "size-4 md:size-6 shrink-0 animate-pulse rounded bg-ods-border" }),
6165
+ /* @__PURE__ */ jsx34("div", { className: "h-4 w-32 animate-pulse rounded bg-ods-border" })
6166
+ ] }),
6167
+ groups.map((group, g) => /* @__PURE__ */ jsxs30("div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
6168
+ /* @__PURE__ */ jsx34("div", { className: "h-3 w-16 animate-pulse rounded bg-ods-border" }),
6169
+ /* @__PURE__ */ jsx34("div", { className: "overflow-hidden rounded-md border border-ods-border", children: group.widths.map((w, i) => /* @__PURE__ */ jsxs30(
6170
+ "div",
6171
+ {
6172
+ className: "flex h-12 items-center gap-[var(--spacing-system-xsf)] bg-ods-bg border-b border-ods-border px-[var(--spacing-system-s)] last:border-b-0",
6173
+ children: [
6174
+ i < group.withBadge && /* @__PURE__ */ jsx34("div", { className: "h-8 w-8 shrink-0 animate-pulse rounded-md bg-ods-border" }),
6175
+ /* @__PURE__ */ jsx34("div", { className: cn("h-4 animate-pulse rounded bg-ods-border", w) })
6176
+ ]
6177
+ },
6178
+ i
6179
+ )) })
6180
+ ] }, g))
6181
+ ]
6182
+ }
6183
+ );
6184
+ }
6185
+ function DialogSearchBar({
6186
+ initialValue,
6187
+ onSearchChange
6188
+ }) {
6189
+ const [value, setValue] = React13.useState(initialValue ?? "");
6190
+ const debounced = useDebounce(value, 300);
6191
+ const lastEmitted = React13.useRef(initialValue ?? "");
6192
+ React13.useEffect(() => {
6193
+ if (debounced === lastEmitted.current) return;
6194
+ lastEmitted.current = debounced;
6195
+ onSearchChange(debounced);
6196
+ }, [debounced, onSearchChange]);
6197
+ return /* @__PURE__ */ jsx34(
6198
+ Input,
6199
+ {
6200
+ type: "text",
6201
+ value,
6202
+ onChange: (e) => setValue(e.target.value),
6203
+ placeholder: "Search for Chats",
6204
+ "aria-label": "Search chats",
6205
+ startAdornment: /* @__PURE__ */ jsx34(SearchIcon, {}),
6206
+ className: "shrink-0"
6173
6207
  }
6174
6208
  );
6175
6209
  }
@@ -6179,12 +6213,15 @@ function MingoChatHistory({
6179
6213
  onSelectDialog,
6180
6214
  onRequestRename,
6181
6215
  onRequestArchive,
6216
+ searchQuery,
6217
+ onSearchChange,
6182
6218
  hasMore = false,
6183
6219
  isLoadingMore = false,
6184
6220
  onLoadMore,
6185
6221
  className
6186
6222
  }) {
6187
6223
  const groups = React13.useMemo(() => groupDialogs(dialogs), [dialogs]);
6224
+ const noSearchResults = groups.length === 0 && !!searchQuery?.trim();
6188
6225
  const scrollRef = React13.useRef(null);
6189
6226
  const [fade, setFade] = React13.useState({ top: false, bottom: false });
6190
6227
  const updateFade = React13.useCallback(() => {
@@ -6223,65 +6260,68 @@ function MingoChatHistory({
6223
6260
  io.observe(sentinel);
6224
6261
  return () => io.disconnect();
6225
6262
  }, [hasMore]);
6226
- return /* @__PURE__ */ jsxs30("div", { className: cn("relative flex flex-1 min-h-0 flex-col", className), children: [
6227
- /* @__PURE__ */ jsxs30(
6228
- "div",
6229
- {
6230
- ref: scrollRef,
6231
- onScroll: updateFade,
6232
- className: "flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)] overflow-y-auto",
6233
- children: [
6234
- groups.map((group) => /* @__PURE__ */ jsxs30(
6235
- "div",
6236
- {
6237
- className: "flex flex-col gap-[var(--spacing-system-xxs)]",
6238
- children: [
6239
- /* @__PURE__ */ jsx34("p", { className: "text-h5 text-ods-text-secondary", children: group.label }),
6240
- /* @__PURE__ */ jsx34("div", { className: "overflow-hidden rounded-md border border-ods-border", children: group.items.map((dialog) => /* @__PURE__ */ jsx34(
6241
- MingoChatHistoryRow,
6242
- {
6243
- dialog,
6244
- isActive: dialog.id === activeDialogId,
6245
- onSelect: onSelectDialog,
6246
- onRequestRename,
6247
- onRequestArchive
6248
- },
6249
- dialog.id
6250
- )) })
6251
- ]
6252
- },
6253
- group.key
6254
- )),
6255
- hasMore ? /* @__PURE__ */ jsx34("div", { ref: sentinelRef, className: "h-px shrink-0" }) : null
6256
- ]
6257
- }
6258
- ),
6259
- /* @__PURE__ */ jsx34(
6260
- "div",
6261
- {
6262
- "aria-hidden": true,
6263
- className: cn(
6264
- "pointer-events-none absolute inset-x-0 top-0 h-12 transition-opacity duration-150",
6265
- fade.top ? "opacity-100" : "opacity-0"
6266
- ),
6267
- style: {
6268
- background: "linear-gradient(0deg, transparent 0%, var(--color-bg-card) 100%)"
6263
+ return /* @__PURE__ */ jsxs30("div", { className: cn("relative flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)]", className), children: [
6264
+ onSearchChange ? /* @__PURE__ */ jsx34(DialogSearchBar, { initialValue: searchQuery, onSearchChange }) : null,
6265
+ /* @__PURE__ */ jsxs30("div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
6266
+ /* @__PURE__ */ jsxs30(
6267
+ "div",
6268
+ {
6269
+ ref: scrollRef,
6270
+ onScroll: updateFade,
6271
+ className: "flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)] overflow-y-auto",
6272
+ children: [
6273
+ noSearchResults ? /* @__PURE__ */ jsx34("p", { className: "py-[var(--spacing-system-m)] text-center text-h5 text-ods-text-secondary", children: "No chats found" }) : groups.map((group) => /* @__PURE__ */ jsxs30(
6274
+ "div",
6275
+ {
6276
+ className: "flex flex-col gap-[var(--spacing-system-xxs)]",
6277
+ children: [
6278
+ /* @__PURE__ */ jsx34("p", { className: "text-h5 text-ods-text-secondary", children: group.label }),
6279
+ /* @__PURE__ */ jsx34("div", { className: "overflow-hidden rounded-md border border-ods-border", children: group.items.map((dialog) => /* @__PURE__ */ jsx34(
6280
+ MingoChatHistoryRow,
6281
+ {
6282
+ dialog,
6283
+ isActive: dialog.id === activeDialogId,
6284
+ onSelect: onSelectDialog,
6285
+ onRequestRename,
6286
+ onRequestArchive
6287
+ },
6288
+ dialog.id
6289
+ )) })
6290
+ ]
6291
+ },
6292
+ group.key
6293
+ )),
6294
+ hasMore ? /* @__PURE__ */ jsx34("div", { ref: sentinelRef, className: "h-px shrink-0" }) : null
6295
+ ]
6269
6296
  }
6270
- }
6271
- ),
6272
- /* @__PURE__ */ jsx34(
6273
- "div",
6274
- {
6275
- "aria-hidden": true,
6276
- className: cn(
6277
- "pointer-events-none absolute inset-x-0 bottom-0 h-12 transition-opacity duration-150",
6278
- fade.bottom ? "opacity-100" : "opacity-0"
6279
- ),
6280
- style: {
6281
- background: "linear-gradient(180deg, transparent 0%, var(--color-bg-card) 100%)"
6297
+ ),
6298
+ /* @__PURE__ */ jsx34(
6299
+ "div",
6300
+ {
6301
+ "aria-hidden": true,
6302
+ className: cn(
6303
+ "pointer-events-none absolute inset-x-0 top-0 h-12 transition-opacity duration-150",
6304
+ fade.top ? "opacity-100" : "opacity-0"
6305
+ ),
6306
+ style: {
6307
+ background: "linear-gradient(0deg, transparent 0%, var(--color-bg-card) 100%)"
6308
+ }
6282
6309
  }
6283
- }
6284
- )
6310
+ ),
6311
+ /* @__PURE__ */ jsx34(
6312
+ "div",
6313
+ {
6314
+ "aria-hidden": true,
6315
+ className: cn(
6316
+ "pointer-events-none absolute inset-x-0 bottom-0 h-12 transition-opacity duration-150",
6317
+ fade.bottom ? "opacity-100" : "opacity-0"
6318
+ ),
6319
+ style: {
6320
+ background: "linear-gradient(180deg, transparent 0%, var(--color-bg-card) 100%)"
6321
+ }
6322
+ }
6323
+ )
6324
+ ] })
6285
6325
  ] });
6286
6326
  }
6287
6327
 
@@ -6330,6 +6370,7 @@ function MingoWelcome({
6330
6370
  isLoadingHistory = false,
6331
6371
  loadError = false,
6332
6372
  onRetry,
6373
+ historySearchable = false,
6333
6374
  onStartGuideChat,
6334
6375
  className
6335
6376
  }) {
@@ -6401,7 +6442,7 @@ function MingoWelcome({
6401
6442
  children: "Try again"
6402
6443
  }
6403
6444
  )
6404
- ] }) : isLoadingHistory ? /* @__PURE__ */ jsx35(MingoChatHistorySkeleton, {}) : /* @__PURE__ */ jsx35(Fragment7, { children: /* @__PURE__ */ jsxs31("div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
6445
+ ] }) : isLoadingHistory ? /* @__PURE__ */ jsx35(MingoChatHistorySkeleton, { searchable: historySearchable }) : /* @__PURE__ */ jsx35(Fragment7, { children: /* @__PURE__ */ jsxs31("div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
6405
6446
  /* @__PURE__ */ jsxs31(
6406
6447
  "div",
6407
6448
  {
@@ -29738,9 +29779,15 @@ function TimeTrackerPanel({
29738
29779
  }
29739
29780
  ),
29740
29781
  /* @__PURE__ */ jsxs177("div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
29741
- /* @__PURE__ */ jsxs177("div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
29782
+ visibleEntries.length === 0 ? /* @__PURE__ */ jsxs177("div", { className: "flex min-h-[268px] flex-col items-center justify-center gap-[var(--spacing-system-l)] p-[var(--spacing-system-l)] text-center text-ods-text-secondary", children: [
29783
+ /* @__PURE__ */ jsx226(ClockHistoryIcon, { className: "size-6" }),
29784
+ /* @__PURE__ */ jsxs177("div", { className: "flex flex-col", children: [
29785
+ /* @__PURE__ */ jsx226("p", { className: "text-h4 font-medium", children: "No time logged" }),
29786
+ /* @__PURE__ */ jsx226("p", { className: "text-h6", children: "Last entries will appear here" })
29787
+ ] })
29788
+ ] }) : /* @__PURE__ */ jsxs177("div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
29742
29789
  /* @__PURE__ */ jsx226("p", { className: "font-mono text-h6 uppercase tracking-wide text-ods-text-secondary", children: "Last Entries" }),
29743
- /* @__PURE__ */ jsx226("div", { className: "overflow-hidden rounded-md border border-ods-border bg-ods-card", children: visibleEntries.length === 0 ? /* @__PURE__ */ jsx226("div", { className: "flex items-center justify-center px-[var(--spacing-system-m)] py-[var(--spacing-system-l)]", children: /* @__PURE__ */ jsx226("p", { className: "text-h6 text-ods-text-secondary", children: "No tracked sessions yet" }) }) : visibleEntries.map((entry) => /* @__PURE__ */ jsx226(LastEntryRow, { entry, onClick: handleEntryClick }, entry.id)) })
29790
+ /* @__PURE__ */ jsx226("div", { className: "overflow-hidden rounded-md border border-ods-border bg-ods-card", children: visibleEntries.map((entry) => /* @__PURE__ */ jsx226(LastEntryRow, { entry, onClick: handleEntryClick }, entry.id)) })
29744
29791
  ] }),
29745
29792
  /* @__PURE__ */ jsxs177("div", { className: "grid grid-cols-2 gap-[var(--spacing-system-m)]", children: [
29746
29793
  /* @__PURE__ */ jsx226(
@@ -47960,14 +48007,18 @@ function EmbeddableChatInner({
47960
48007
  canRename: mingoDialogCapabilities?.canRename ?? false,
47961
48008
  canArchive: mingoDialogCapabilities?.canArchive ?? false,
47962
48009
  fetchArchivedDialogs: mingoDialogCapabilities?.fetchArchivedDialogs,
47963
- unarchiveDialog: mingoDialogCapabilities?.unarchiveDialog
48010
+ unarchiveDialog: mingoDialogCapabilities?.unarchiveDialog,
48011
+ searchQuery: mingoDialogCapabilities?.searchQuery,
48012
+ onSearchChange: mingoDialogCapabilities?.onSearchChange
47964
48013
  };
47965
48014
  }
47966
48015
  return {
47967
48016
  canRename: !!effectiveModes.mingo?.renameDialog,
47968
48017
  canArchive: !!effectiveModes.mingo?.archiveDialog,
47969
48018
  fetchArchivedDialogs: effectiveModes.mingo?.fetchArchivedDialogs,
47970
- unarchiveDialog: effectiveModes.mingo?.unarchiveDialog
48019
+ unarchiveDialog: effectiveModes.mingo?.unarchiveDialog,
48020
+ searchQuery: void 0,
48021
+ onSearchChange: void 0
47971
48022
  };
47972
48023
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
47973
48024
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -48420,20 +48471,30 @@ function EmbeddableChatInner({
48420
48471
  isLoadingHistory: dialogsInitialLoading,
48421
48472
  loadError: dialogsLoadError,
48422
48473
  onRetry: reloadDialogs,
48423
- dialogHistory: dialogs.length > 0 ? /* @__PURE__ */ jsx326(
48424
- MingoChatHistory,
48425
- {
48426
- dialogs,
48427
- onSelectDialog: handleSelectDialog,
48428
- onRequestRename: mingoCaps.canRename ? setRenameTarget : void 0,
48429
- onRequestArchive: mingoCaps.canArchive ? setArchiveTarget : void 0,
48430
- hasMore: hasMoreDialogs,
48431
- isLoadingMore: isDialogsLoading && dialogs.length > 0,
48432
- onLoadMore: () => {
48433
- void loadMoreDialogs();
48474
+ historySearchable: !!mingoCaps.onSearchChange,
48475
+ dialogHistory: (
48476
+ // Keep the history (and its search bar) mounted during an
48477
+ // active search even at 0 results — otherwise a no-match
48478
+ // query would unmount the bar and flash the new-user
48479
+ // greeting. `MingoWelcome` renders `dialogHistory` with top
48480
+ // priority, so this wins over the greeting.
48481
+ dialogs.length > 0 || !!mingoCaps.searchQuery ? /* @__PURE__ */ jsx326(
48482
+ MingoChatHistory,
48483
+ {
48484
+ dialogs,
48485
+ onSelectDialog: handleSelectDialog,
48486
+ onRequestRename: mingoCaps.canRename ? setRenameTarget : void 0,
48487
+ onRequestArchive: mingoCaps.canArchive ? setArchiveTarget : void 0,
48488
+ searchQuery: mingoCaps.searchQuery,
48489
+ onSearchChange: mingoCaps.onSearchChange,
48490
+ hasMore: hasMoreDialogs,
48491
+ isLoadingMore: isDialogsLoading && dialogs.length > 0,
48492
+ onLoadMore: () => {
48493
+ void loadMoreDialogs();
48494
+ }
48434
48495
  }
48435
- }
48436
- ) : void 0
48496
+ ) : void 0
48497
+ )
48437
48498
  }
48438
48499
  )
48439
48500
  ) : (
@@ -49516,4 +49577,4 @@ export {
49516
49577
  LogsList,
49517
49578
  assets
49518
49579
  };
49519
- //# sourceMappingURL=chunk-TPJJJ6KC.js.map
49580
+ //# sourceMappingURL=chunk-OI56RVPD.js.map