@flamingo-stack/openframe-frontend-core 0.0.663 → 0.0.664-2366.7030.1

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 (135) hide show
  1. package/dist/{chunk-HK7R7HSW.cjs → chunk-3SS37SNM.cjs} +10 -10
  2. package/dist/{chunk-HK7R7HSW.cjs.map → chunk-3SS37SNM.cjs.map} +1 -1
  3. package/dist/{chunk-BASKR3Z4.cjs → chunk-5R4QMTML.cjs} +8 -4
  4. package/dist/chunk-5R4QMTML.cjs.map +1 -0
  5. package/dist/{chunk-B5DZ37OG.cjs → chunk-6FD7ZEBY.cjs} +248 -248
  6. package/dist/{chunk-B5DZ37OG.cjs.map → chunk-6FD7ZEBY.cjs.map} +1 -1
  7. package/dist/{chunk-ARMNWO4M.cjs → chunk-6W5N23LC.cjs} +38 -38
  8. package/dist/{chunk-ARMNWO4M.cjs.map → chunk-6W5N23LC.cjs.map} +1 -1
  9. package/dist/{chunk-EPV6XTB5.js → chunk-77WMNQTE.js} +3 -3
  10. package/dist/{chunk-B2LSPZFR.js → chunk-BKCPXDOE.js} +3 -3
  11. package/dist/{chunk-IXLJIH6U.js → chunk-BPKEDLGR.js} +7 -7
  12. package/dist/{chunk-OZTH6T4W.js → chunk-CJ5CFXYX.js} +2 -2
  13. package/dist/{chunk-PW5QV4FH.js → chunk-CQJXOBWK.js} +5 -5
  14. package/dist/{chunk-WB32HEBY.js → chunk-DNFC6RYF.js} +4 -4
  15. package/dist/{chunk-ISPIEV7D.cjs → chunk-EMJAT6IK.cjs} +44 -44
  16. package/dist/{chunk-ISPIEV7D.cjs.map → chunk-EMJAT6IK.cjs.map} +1 -1
  17. package/dist/{chunk-K56K55H2.cjs → chunk-FGQSSFP4.cjs} +10 -10
  18. package/dist/{chunk-K56K55H2.cjs.map → chunk-FGQSSFP4.cjs.map} +1 -1
  19. package/dist/{chunk-WDE7ETA5.cjs → chunk-FJNGXGJW.cjs} +5 -5
  20. package/dist/{chunk-WDE7ETA5.cjs.map → chunk-FJNGXGJW.cjs.map} +1 -1
  21. package/dist/{chunk-MRBXYWEX.js → chunk-GDTFJ5QN.js} +2 -2
  22. package/dist/{chunk-A3L5AJNX.js → chunk-JHAS6Y7P.js} +6 -6
  23. package/dist/{chunk-4IQC3VKQ.cjs → chunk-JHH7NETU.cjs} +5 -5
  24. package/dist/{chunk-4IQC3VKQ.cjs.map → chunk-JHH7NETU.cjs.map} +1 -1
  25. package/dist/{chunk-XCA5HIVS.cjs → chunk-KBUYG5N6.cjs} +33 -33
  26. package/dist/{chunk-XCA5HIVS.cjs.map → chunk-KBUYG5N6.cjs.map} +1 -1
  27. package/dist/{chunk-SAM7XUKM.cjs → chunk-L4ZNA3NX.cjs} +3 -3
  28. package/dist/{chunk-SAM7XUKM.cjs.map → chunk-L4ZNA3NX.cjs.map} +1 -1
  29. package/dist/{chunk-67DMHSF7.cjs → chunk-LCYYTWRF.cjs} +7 -7
  30. package/dist/{chunk-67DMHSF7.cjs.map → chunk-LCYYTWRF.cjs.map} +1 -1
  31. package/dist/{chunk-4AAPEV7A.cjs → chunk-LTW2GWJ2.cjs} +25 -25
  32. package/dist/{chunk-4AAPEV7A.cjs.map → chunk-LTW2GWJ2.cjs.map} +1 -1
  33. package/dist/{chunk-UGR37VMX.cjs → chunk-LXL3PZE2.cjs} +12 -12
  34. package/dist/{chunk-UGR37VMX.cjs.map → chunk-LXL3PZE2.cjs.map} +1 -1
  35. package/dist/{chunk-TXKAFOSY.js → chunk-MBLACUCE.js} +5 -5
  36. package/dist/{chunk-BSETJKSW.cjs → chunk-MNUR6PAJ.cjs} +105 -68
  37. package/dist/chunk-MNUR6PAJ.cjs.map +1 -0
  38. package/dist/{chunk-JOBTZDZZ.js → chunk-O3GB7JFL.js} +4 -4
  39. package/dist/{chunk-J75M5PKR.js → chunk-OLCI3UA5.js} +7 -7
  40. package/dist/{chunk-RP4TSHMY.js → chunk-OMTLCMQB.js} +768 -731
  41. package/dist/chunk-OMTLCMQB.js.map +1 -0
  42. package/dist/{chunk-6IU4FW4G.js → chunk-QR3NUFA5.js} +2 -2
  43. package/dist/{chunk-RZ4UO3OK.js → chunk-RM4S53GB.js} +2 -2
  44. package/dist/{chunk-SHUKF2HE.js → chunk-RT5JNTCN.js} +4 -4
  45. package/dist/{chunk-KU7HL52F.js → chunk-VQZXJIPY.js} +8 -4
  46. package/dist/chunk-VQZXJIPY.js.map +1 -0
  47. package/dist/{chunk-XWQOOMT2.cjs → chunk-X32X52VN.cjs} +75 -75
  48. package/dist/{chunk-XWQOOMT2.cjs.map → chunk-X32X52VN.cjs.map} +1 -1
  49. package/dist/{chunk-KPXGWKFF.cjs → chunk-XCACXPCM.cjs} +22 -22
  50. package/dist/{chunk-KPXGWKFF.cjs.map → chunk-XCACXPCM.cjs.map} +1 -1
  51. package/dist/{chunk-2MRQ3XK2.js → chunk-YRMKUDOE.js} +5 -5
  52. package/dist/{chunk-UZMPTJ5B.js → chunk-Z2MJPTIB.js} +3 -3
  53. package/dist/{chunk-KYOOTRYM.cjs → chunk-ZGPST26T.cjs} +51 -51
  54. package/dist/{chunk-KYOOTRYM.cjs.map → chunk-ZGPST26T.cjs.map} +1 -1
  55. package/dist/{chunk-RDYUPNDO.cjs → chunk-ZMZUF6FX.cjs} +3 -3
  56. package/dist/{chunk-RDYUPNDO.cjs.map → chunk-ZMZUF6FX.cjs.map} +1 -1
  57. package/dist/components/case-studies/index.cjs +20 -20
  58. package/dist/components/case-studies/index.js +5 -5
  59. package/dist/components/chat/chat-dialog-menu-items.d.ts +15 -0
  60. package/dist/components/chat/chat-dialog-menu-items.d.ts.map +1 -0
  61. package/dist/components/chat/chat-panel-header-mobile.d.ts +1 -1
  62. package/dist/components/chat/chat-panel-header-mobile.d.ts.map +1 -1
  63. package/dist/components/chat/chat-panel-header.d.ts +6 -4
  64. package/dist/components/chat/chat-panel-header.d.ts.map +1 -1
  65. package/dist/components/chat/embeddable-chat.d.ts +2 -1
  66. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  67. package/dist/components/chat/index.cjs +3 -3
  68. package/dist/components/chat/index.js +2 -2
  69. package/dist/components/chat/mingo-chat-history.d.ts +6 -4
  70. package/dist/components/chat/mingo-chat-history.d.ts.map +1 -1
  71. package/dist/components/chat/mingo-history-rail.d.ts +6 -4
  72. package/dist/components/chat/mingo-history-rail.d.ts.map +1 -1
  73. package/dist/components/chat/types/unified-chat-state.types.d.ts +9 -3
  74. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -1
  75. package/dist/components/contact/index.cjs +6 -6
  76. package/dist/components/contact/index.js +5 -5
  77. package/dist/components/docs/index.cjs +9 -9
  78. package/dist/components/docs/index.js +8 -8
  79. package/dist/components/embeds/index.cjs +6 -6
  80. package/dist/components/embeds/index.js +5 -5
  81. package/dist/components/faq/index.cjs +6 -6
  82. package/dist/components/faq/index.js +5 -5
  83. package/dist/components/features/index.cjs +5 -5
  84. package/dist/components/features/index.js +4 -4
  85. package/dist/components/help-center-pages/index.cjs +25 -25
  86. package/dist/components/help-center-pages/index.js +16 -16
  87. package/dist/components/icons/empty-vendor-icon.d.ts.map +1 -1
  88. package/dist/components/icons/index.cjs +2 -2
  89. package/dist/components/icons/index.js +1 -1
  90. package/dist/components/index.cjs +42 -42
  91. package/dist/components/index.js +15 -15
  92. package/dist/components/meeting-scheduler/index.cjs +28 -28
  93. package/dist/components/meeting-scheduler/index.js +4 -4
  94. package/dist/components/navigation/index.cjs +8 -8
  95. package/dist/components/navigation/index.js +7 -7
  96. package/dist/components/onboarding-guides/index.cjs +8 -8
  97. package/dist/components/onboarding-guides/index.js +7 -7
  98. package/dist/components/tickets/index.cjs +9 -9
  99. package/dist/components/tickets/index.js +8 -8
  100. package/dist/components/ui/index.cjs +5 -5
  101. package/dist/components/ui/index.js +4 -4
  102. package/dist/hooks/index.cjs +3 -3
  103. package/dist/hooks/index.js +2 -2
  104. package/dist/index.cjs +9 -9
  105. package/dist/index.js +8 -8
  106. package/package.json +1 -1
  107. package/src/components/chat/__tests__/chat-dialog-menu-items.test.tsx +39 -0
  108. package/src/components/chat/chat-dialog-menu-items.tsx +51 -0
  109. package/src/components/chat/chat-panel-header-mobile.tsx +7 -7
  110. package/src/components/chat/chat-panel-header.tsx +11 -10
  111. package/src/components/chat/embeddable-chat.tsx +17 -7
  112. package/src/components/chat/mingo-chat-history.tsx +18 -22
  113. package/src/components/chat/mingo-history-rail.tsx +7 -3
  114. package/src/components/chat/types/unified-chat-state.types.ts +9 -3
  115. package/src/components/icons/empty-vendor-icon.tsx +10 -4
  116. package/dist/chunk-BASKR3Z4.cjs.map +0 -1
  117. package/dist/chunk-BSETJKSW.cjs.map +0 -1
  118. package/dist/chunk-KU7HL52F.js.map +0 -1
  119. package/dist/chunk-RP4TSHMY.js.map +0 -1
  120. /package/dist/{chunk-EPV6XTB5.js.map → chunk-77WMNQTE.js.map} +0 -0
  121. /package/dist/{chunk-B2LSPZFR.js.map → chunk-BKCPXDOE.js.map} +0 -0
  122. /package/dist/{chunk-IXLJIH6U.js.map → chunk-BPKEDLGR.js.map} +0 -0
  123. /package/dist/{chunk-OZTH6T4W.js.map → chunk-CJ5CFXYX.js.map} +0 -0
  124. /package/dist/{chunk-PW5QV4FH.js.map → chunk-CQJXOBWK.js.map} +0 -0
  125. /package/dist/{chunk-WB32HEBY.js.map → chunk-DNFC6RYF.js.map} +0 -0
  126. /package/dist/{chunk-MRBXYWEX.js.map → chunk-GDTFJ5QN.js.map} +0 -0
  127. /package/dist/{chunk-A3L5AJNX.js.map → chunk-JHAS6Y7P.js.map} +0 -0
  128. /package/dist/{chunk-TXKAFOSY.js.map → chunk-MBLACUCE.js.map} +0 -0
  129. /package/dist/{chunk-JOBTZDZZ.js.map → chunk-O3GB7JFL.js.map} +0 -0
  130. /package/dist/{chunk-J75M5PKR.js.map → chunk-OLCI3UA5.js.map} +0 -0
  131. /package/dist/{chunk-6IU4FW4G.js.map → chunk-QR3NUFA5.js.map} +0 -0
  132. /package/dist/{chunk-RZ4UO3OK.js.map → chunk-RM4S53GB.js.map} +0 -0
  133. /package/dist/{chunk-SHUKF2HE.js.map → chunk-RT5JNTCN.js.map} +0 -0
  134. /package/dist/{chunk-2MRQ3XK2.js.map → chunk-YRMKUDOE.js.map} +0 -0
  135. /package/dist/{chunk-UZMPTJ5B.js.map → chunk-Z2MJPTIB.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkB5DZ37OGcjs = require('./chunk-B5DZ37OG.cjs');
4
+ var _chunk6FD7ZEBYcjs = require('./chunk-6FD7ZEBY.cjs');
5
5
 
6
6
 
7
7
  var _chunkTLLJIGTPcjs = require('./chunk-TLLJIGTP.cjs');
@@ -129,7 +129,7 @@ function useSectionNavigation(sections, options) {
129
129
  // src/components/navigation/multi-level-navigation.tsx
130
130
  var _lucidereact = require('lucide-react');
131
131
 
132
- var DEFAULT_FOLDER_INDEX_FILE2 = _chunkB5DZ37OGcjs.DEFAULT_FOLDER_INDEX_FILE;
132
+ var DEFAULT_FOLDER_INDEX_FILE2 = _chunk6FD7ZEBYcjs.DEFAULT_FOLDER_INDEX_FILE;
133
133
  function isNodeVisuallySelected(node, selectedPath, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE2) {
134
134
  const FOLDER_INDEX_FILE = folderIndexFile.toLowerCase();
135
135
  if (selectedPath === node.path) {
@@ -357,4 +357,4 @@ function MobileNavigationItem({
357
357
 
358
358
 
359
359
  exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown;
360
- //# sourceMappingURL=chunk-RDYUPNDO.cjs.map
360
+ //# sourceMappingURL=chunk-ZMZUF6FX.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-RDYUPNDO.cjs","../src/components/navigation/sticky-section-nav.tsx","../src/components/navigation/multi-level-navigation.tsx"],"names":["jsx","DEFAULT_FOLDER_INDEX_FILE"],"mappings":"AAAA,6rBAAY;AACZ;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACRA,8BAAyD;AAmCnD,+CAAA;AAbC,SAAS,gBAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA,EAAiB,MAAA;AAAA,EACjB,YAAA,EAAc;AAChB,CAAA,EAA0B;AACxB,EAAA,MAAM,UAAA,EAAY,QAAA,CAAS,OAAA,EAAS,EAAA;AAEpC,EAAA,uBACE,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAW,kCAAA,oBAAG,EAAsB,SAAS,CAAA,EAEhD,QAAA,EAAA;AAAA,oBAAA,6BAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,wBAAA;AAAA,QACV,KAAA,EAAO;AAAA,UACL,KAAA,EAAO,KAAA;AAAA,UACP,MAAA,EAAQ,CAAA,EAAA;AACP,UAAA;AACI,UAAA;AACP,QAAA;AAAA,MAAA;AACF,IAAA;AAEc,IAAA;AAGT,MAAA;AACE,QAAA;AAAA,QAAA;AACC,UAAA;AACO,UAAA;AACL,YAAA;AACO,YAAA;AACP,YAAA;AACC,YAAA;AACI,YAAA;AACL,YAAA;AACF,UAAA;AAAA,QAAA;AACF,MAAA;AAIF,sBAAA;AAAC,QAAA;AAAA,QAAA;AACU,UAAA;AACT,UAAA;AAEA,UAAA;AAAC,YAAA;AAAA,YAAA;AACC,cAAA;AACE,gBAAA;AACA,gBAAA;AAGF,cAAA;AAEC,cAAA;AAAQ,YAAA;AACX,UAAA;AAAA,QAAA;AACF,MAAA;AACF,IAAA;AAEJ,EAAA;AAEJ;AAKgB;AAMP,EAAA;AACD,EAAA;AACW,EAAA;AAMX,EAAA;AACmB,IAAA;AACf,MAAA;AACD,MAAA;AAGL,MAAA;AACA,MAAA;AAEA,MAAA;AAGW,MAAA;AACT,QAAA;AACI,MAAA;AACR,IAAA;AACO,IAAA;AACT,EAAA;AAGgB,EAAA;AACL,IAAA;AACI,MAAA;AACA,MAAA;AACD,QAAA;AACV,MAAA;AACD,IAAA;AACU,EAAA;AAGG,EAAA;AACR,IAAA;AACA,MAAA;AAEE,MAAA;AAGF,MAAA;AAES,MAAA;AACL,QAAA;AACF,QAAA;AACF,UAAA;AACA,UAAA;AACF,QAAA;AACF,MAAA;AAEA,MAAA;AACF,IAAA;AAGI,IAAA;AACE,IAAA;AACS,MAAA;AACb,MAAA;AACF,IAAA;AAEO,IAAA;AACM,IAAA;AAEA,IAAA;AACJ,MAAA;AACM,MAAA;AACf,IAAA;AACY,EAAA;AAEP,EAAA;AACL,IAAA;AACA,IAAA;AACF,EAAA;AACF;AD/CmB;AACA;AE9HV;AA6FCA;AAxDJC;AAaG;AAKD,EAAA;AAKF,EAAA;AAEY,IAAA;AAChB,EAAA;AACS,EAAA;AACH,EAAA;AAEF,EAAA;AACK,IAAA;AACT,EAAA;AAII,EAAA;AACK,IAAA;AACT,EAAA;AACO,EAAA;AACT;AAEgB;AACd,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AAC4B;AACb,EAAA;AAEX,IAAA;AAMJ,EAAA;AAGE,EAAA;AAEK,IAAA;AAAA,IAAA;AAEC,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACO,MAAA;AACP,MAAA;AAAA,IAAA;AAPU,IAAA;AAUhB,EAAA;AAEJ;AAYS;AACP,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACsB;AAChB,EAAA;AACA,EAAA;AAGW,EAAA;AACX,EAAA;AAGJ,EAAA;AACE,oBAAA;AACG,MAAA;AAAA,MAAA;AACY,QAAA;AACT,UAAA;AACA,UAAA;AACF,QAAA;AAEA,QAAA;AAAA,0BAAA;AACE,4BAAA;AAAC,cAAA;AAAA,cAAA;AACC,gBAAA;AACE,kBAAA;AACC,kBAAA;AACD,kBAAA;AACF,gBAAA;AACA,gBAAA;AACA,gBAAA;AAEA,gBAAA;AAAA,kCAAA;AAWA,kCAAA;AAGC,kBAAA;AAGC,gBAAA;AAAA,cAAA;AAEJ,YAAA;AAEC,YAAA;AACE,cAAA;AAAA,cAAA;AACC,gBAAA;AACA,gBAAA;AACE,kBAAA;AACA,kBAAA;AACE,oBAAA;AACF,kBAAA;AACE,oBAAA;AACF,kBAAA;AACF,gBAAA;AACA,gBAAA;AAEC,gBAAA;AAAkF,cAAA;AACrF,YAAA;AAEJ,UAAA;AAEC,UAAA;AAC2G,QAAA;AAAA,MAAA;AAGhH,IAAA;AAEgB,IAAA;AAGT,MAAA;AAAA,MAAA;AAEO,QAAA;AACN,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACO,QAAA;AACP,QAAA;AAAA,MAAA;AAPW,MAAA;AAUjB,IAAA;AAEJ,EAAA;AAEJ;AAEgB;AACd,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AAC4B;AACb,EAAA;AAEX,IAAA;AAMJ,EAAA;AAGE,EAAA;AAEK,IAAA;AAAA,IAAA;AAEC,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACO,MAAA;AACP,MAAA;AAAA,IAAA;AAPU,IAAA;AAUhB,EAAA;AAEJ;AAES;AACP,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACsB;AAChB,EAAA;AACA,EAAA;AAEW,EAAA;AACX,EAAA;AAGJ,EAAA;AACE,oBAAA;AACG,MAAA;AAAA,MAAA;AACY,QAAA;AACT,UAAA;AACA,UAAA;AACF,QAAA;AAEA,QAAA;AAAA,0BAAA;AACE,4BAAA;AAAC,cAAA;AAAA,cAAA;AACC,gBAAA;AACE,kBAAA;AACC,kBAAA;AACD,kBAAA;AACF,gBAAA;AACA,gBAAA;AAEA,gBAAA;AAAA,kCAAA;AAWA,kCAAA;AAGC,kBAAA;AAGC,gBAAA;AAAA,cAAA;AAEJ,YAAA;AAEC,YAAA;AACE,cAAA;AAAA,cAAA;AACC,gBAAA;AACA,gBAAA;AACE,kBAAA;AACA,kBAAA;AACE,oBAAA;AACF,kBAAA;AACE,oBAAA;AACF,kBAAA;AACF,gBAAA;AACA,gBAAA;AAEC,gBAAA;AAA0F,cAAA;AAC7F,YAAA;AAEJ,UAAA;AAEC,UAAA;AAC2G,QAAA;AAAA,MAAA;AAGhH,IAAA;AAEgB,IAAA;AAGT,MAAA;AAAA,MAAA;AAEO,QAAA;AACN,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACO,QAAA;AACP,QAAA;AAAA,MAAA;AAPW,MAAA;AAUjB,IAAA;AAEJ,EAAA;AAEJ;AFXmB;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-RDYUPNDO.cjs","sourcesContent":[null,"'use client';\n\nimport type React from 'react';\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { cn } from '../../utils';\nimport { scrollElementIntoView } from '../../utils/scroll-into-view';\n\nexport interface StickyNavSection {\n id: string;\n label: string;\n}\n\ninterface StickySectionNavProps {\n sections: StickyNavSection[];\n activeSection: string;\n onSectionClick: (sectionId: string) => void;\n className?: string;\n ribbonPosition?: 'left' | 'right';\n ribbonColor?: string;\n}\n\n/**\n * Reusable sticky navigation component for section-based navigation\n * Used in vendor detail pages, knowledge base, documentation, etc.\n */\nexport function StickySectionNav({\n sections,\n activeSection,\n onSectionClick,\n className,\n ribbonPosition = 'left',\n ribbonColor = 'var(--color-accent-primary)',\n}: StickySectionNavProps) {\n const navHeight = sections.length * 40; // 40px per item (h-10)\n\n return (\n <nav className={cn('relative bg-ods-bg', className)}>\n {/* Background gray vertical line for all nav items */}\n <div\n className=\"absolute bg-ods-border\"\n style={{\n width: '1px',\n height: `${navHeight}px`,\n [ribbonPosition === 'left' ? 'left' : 'right']: '-2px',\n top: '0px',\n }}\n />\n\n {sections.map(section => (\n <div key={section.id} className=\"relative flex h-10 w-full items-stretch transition-all duration-200\">\n {/* Yellow ribbon for active state */}\n {activeSection === section.id && (\n <div\n className=\"absolute z-10 transition-all duration-200\"\n style={{\n backgroundColor: ribbonColor,\n width: '4px',\n height: '24px',\n [ribbonPosition === 'left' ? 'left' : 'right']: '-2px',\n top: '8px',\n borderRadius: '2px',\n }}\n />\n )}\n\n {/* Navigation button */}\n <button\n onClick={() => onSectionClick(section.id)}\n className=\"relative flex flex-1 cursor-pointer items-center gap-2 px-3 py-2\"\n >\n <span\n className={cn(\n 'text-left transition-all duration-200 text-h6',\n activeSection === section.id\n ? 'text-ods-text-primary'\n : 'text-ods-text-secondary hover:text-ods-text-primary',\n )}\n >\n {section.label}\n </span>\n </button>\n </div>\n ))}\n </nav>\n );\n}\n\n/**\n * SIMPLEST POSSIBLE IMPLEMENTATION - Just make it work\n */\nexport function useSectionNavigation(\n sections: { id: string; ref: React.RefObject<HTMLElement> }[],\n options?: {\n offset?: number;\n },\n) {\n const [activeSection, setActiveSection] = useState(sections[0]?.id || '');\n const isScrollingFromClick = useRef(false);\n const { offset = 100 } = options || {};\n\n // Handle click - scroll to the element via the canonical helper.\n // The `offset` prop maps to `headerOffset` (sticky chrome above the\n // section nav); same smooth-scroll mechanics every other anchor\n // surface in the app uses.\n const handleSectionClick = useCallback(\n (sectionId: string) => {\n const targetElement = document.getElementById(sectionId);\n if (!targetElement) return;\n\n // Prevent scroll spy while we're scrolling\n isScrollingFromClick.current = true;\n setActiveSection(sectionId);\n\n scrollElementIntoView(targetElement, { headerOffset: offset });\n\n // Allow scroll spy again after scroll completes\n setTimeout(() => {\n isScrollingFromClick.current = false;\n }, 500);\n },\n [offset],\n );\n\n // Make sure elements have IDs\n useEffect(() => {\n sections.forEach(section => {\n const el = section.ref.current;\n if (el && !el.id) {\n el.id = section.id;\n }\n });\n }, [sections]);\n\n // Simple scroll spy\n useEffect(() => {\n const handleScroll = () => {\n if (isScrollingFromClick.current) return;\n\n const scrollPosition = window.scrollY + offset + 50;\n\n // Find which section we're in\n let currentSection = sections[0]?.id || '';\n\n for (let i = sections.length - 1; i >= 0; i--) {\n const element = document.getElementById(sections[i].id);\n if (element && scrollPosition >= element.offsetTop) {\n currentSection = sections[i].id;\n break;\n }\n }\n\n setActiveSection(currentSection);\n };\n\n // Throttle the scroll handler\n let scrollTimer: NodeJS.Timeout;\n const throttledScroll = () => {\n clearTimeout(scrollTimer);\n scrollTimer = setTimeout(handleScroll, 100);\n };\n\n window.addEventListener('scroll', throttledScroll);\n handleScroll(); // Check initial position\n\n return () => {\n window.removeEventListener('scroll', throttledScroll);\n clearTimeout(scrollTimer);\n };\n }, [sections, offset]);\n\n return {\n activeSection,\n handleSectionClick,\n };\n}\n","'use client';\n\nimport { ChevronDown, ChevronUp, FileText, Folder, FolderOpen } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { DEFAULT_FOLDER_INDEX_FILE as CANONICAL_FOLDER_INDEX_FILE } from '../../utils/doc-tree-nav';\n\nexport interface NavigationNode {\n id: string;\n name: string;\n path: string;\n type: 'file' | 'folder';\n hasReadme?: boolean;\n children?: NavigationNode[];\n slug?: string;\n // Mirror DocNode's extra optional fields so a DocNode tree is structurally\n // assignable to NavigationNode[] without an `as` cast. NavigationNode\n // intentionally never reads these — they're carried for type-compat only.\n documentType?: 'markdown' | 'pdf' | 'google_sheet' | 'figma' | 'file';\n sortOrder?: number;\n}\n\ninterface MultiLevelNavigationProps {\n nodes: NavigationNode[];\n selectedPath: string;\n expandedNodes: Set<string>;\n onNodeClick: (node: NavigationNode) => void;\n onToggleExpand?: (nodeId: string) => void;\n isLoading?: boolean;\n className?: string;\n /** Folder-index filename (default `'README.md'`, case-insensitive). When the\n * selectedPath is a folder with this file, the visual ribbon moves to the\n * child file. */\n folderIndexFile?: string;\n}\n\n// SSOT lives in `doc-tree-nav` (canonical case `'README.md'`). The visual\n// comparator below lowercases both sides, so re-exporting the canonical\n// constant under the same local name preserves call-site syntax without\n// drifting from the SSOT.\nconst DEFAULT_FOLDER_INDEX_FILE = CANONICAL_FOLDER_INDEX_FILE;\n\n/**\n * Compute the visual \"selected\" state for a navigation node.\n *\n * Folder-with-README convention: when `selectedPath` is a folder that has a\n * README, the FOLDER doesn't get the ribbon — its README child does. The folder\n * is just a container; the README is the actual document being viewed.\n *\n * Mirror case: a README file whose parent folder is the `selectedPath` gets the\n * visual selection ribbon (implicit). This handles both the auto-select-first-\n * folder landing path AND the user-clicks-folder case.\n */\nfunction isNodeVisuallySelected(\n node: NavigationNode,\n selectedPath: string,\n folderIndexFile: string = DEFAULT_FOLDER_INDEX_FILE,\n): boolean {\n const FOLDER_INDEX_FILE = folderIndexFile.toLowerCase();\n // Path comparisons keyed on `node.path` (raw, includes `.md`). Do NOT use\n // `node.name` — the tree-builder runs it through `formatDocName` which strips\n // the `.md` extension, so `node.name.toLowerCase() === 'readme.md'` is always\n // false.\n if (selectedPath === node.path) {\n // Explicit match — but folder-with-README defers to its README child.\n return !(node.type === 'folder' && node.hasReadme);\n }\n if (node.type !== 'file') return false;\n const pathLower = node.path.toLowerCase();\n // Implicit: README child whose parent folder is the selectedPath.\n if (selectedPath !== '' && pathLower === `${selectedPath.toLowerCase()}/${FOLDER_INDEX_FILE}`) {\n return true;\n }\n // Implicit: ROOT README on the landing page (selectedPath === '' means\n // \"no explicit doc selected\" — the viewer falls back to the root folder-\n // index file, so that file IS the active document).\n if (selectedPath === '' && pathLower === FOLDER_INDEX_FILE) {\n return true;\n }\n return false;\n}\n\nexport function MultiLevelNavigation({\n nodes,\n selectedPath,\n expandedNodes,\n onNodeClick,\n onToggleExpand,\n isLoading,\n className,\n folderIndexFile = DEFAULT_FOLDER_INDEX_FILE,\n}: MultiLevelNavigationProps) {\n if (isLoading) {\n return (\n <div className={cn('space-y-2', className)}>\n {[1, 2, 3, 4].map(i => (\n <div key={i} className=\"h-12 animate-pulse rounded-lg bg-ods-skeleton p-3\" />\n ))}\n </div>\n );\n }\n\n return (\n <div className={cn('space-y-2', className)} role=\"list\" aria-label=\"Navigation list\">\n {nodes.map(node => (\n <NavigationItem\n key={node.id}\n node={node}\n selectedPath={selectedPath}\n expandedNodes={expandedNodes}\n onNodeClick={onNodeClick}\n onToggleExpand={onToggleExpand}\n level={0}\n folderIndexFile={folderIndexFile}\n />\n ))}\n </div>\n );\n}\n\ninterface NavigationItemProps {\n node: NavigationNode;\n selectedPath: string;\n expandedNodes: Set<string>;\n onNodeClick: (node: NavigationNode) => void;\n onToggleExpand?: (nodeId: string) => void;\n level: number;\n folderIndexFile: string;\n}\n\nfunction NavigationItem({\n node,\n selectedPath,\n expandedNodes,\n onNodeClick,\n onToggleExpand,\n level,\n folderIndexFile,\n}: NavigationItemProps) {\n const isExpanded = expandedNodes.has(node.id);\n const isSelected = isNodeVisuallySelected(node, selectedPath, folderIndexFile);\n // Bind the (optional) child list once so the render below maps a real array\n // rather than re-deriving `hasChildren` and asserting it away.\n const children = node.children ?? [];\n const hasChildren = children.length > 0;\n\n return (\n <div className=\"space-y-1\" role=\"listitem\">\n <div className={cn('px-2', level > 0 && 'ml-4')}>\n <div\n className={cn(\n 'relative w-full rounded-lg border transition-all duration-150',\n isSelected ? 'border-ods-border bg-ods-border' : 'border-ods-border bg-ods-card',\n )}\n >\n <div className=\"relative flex items-center\">\n <button\n className={cn(\n 'flex h-12 w-full items-center rounded-lg px-2 text-ods-text-primary transition-all duration-150 text-h6',\n !isSelected && 'hover:bg-ods-bg-hover',\n hasChildren && 'pr-12',\n )}\n onClick={() => onNodeClick(node)}\n aria-label={`${isSelected ? 'Selected' : 'Select'} ${node.name}`}\n >\n <span className=\"mr-2 flex-shrink-0\">\n {node.type === 'folder' ? (\n isExpanded ? (\n <FolderOpen className=\"h-4 w-4\" />\n ) : (\n <Folder className=\"h-4 w-4\" />\n )\n ) : (\n <FileText className=\"h-4 w-4\" />\n )}\n </span>\n <span className=\"min-w-0 flex-1 truncate text-left\">\n {node.name.endsWith('.md') ? node.name.replace('.md', '') : node.name}\n </span>\n {node.type === 'folder' && node.hasReadme && (\n <span className=\"mr-2 rounded bg-ods-bg-surface px-1.5 py-0.5 text-ods-text-secondary text-h6\">\n README\n </span>\n )}\n </button>\n\n {hasChildren && (\n <button\n className=\"absolute right-0 top-0 flex h-12 w-12 items-center justify-center text-ods-text-secondary transition-colors duration-150 hover:text-ods-text-primary\"\n onClick={e => {\n e.stopPropagation();\n if (onToggleExpand) {\n onToggleExpand(node.id);\n } else {\n onNodeClick(node);\n }\n }}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${node.name}`}\n >\n {isExpanded ? <ChevronUp className=\"h-4 w-4\" /> : <ChevronDown className=\"h-4 w-4\" />}\n </button>\n )}\n </div>\n\n {isSelected && (\n <div className=\"absolute right-0 top-1/2 h-[calc(100%-8px)] w-1 -translate-y-1/2 rounded-l bg-ods-accent\" />\n )}\n </div>\n </div>\n\n {hasChildren && isExpanded && (\n <div className=\"space-y-1\">\n {children.map(child => (\n <NavigationItem\n key={child.id}\n node={child}\n selectedPath={selectedPath}\n expandedNodes={expandedNodes}\n onNodeClick={onNodeClick}\n onToggleExpand={onToggleExpand}\n level={level + 1}\n folderIndexFile={folderIndexFile}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n\nexport function MobileNavigationDropdown({\n nodes,\n selectedPath,\n expandedNodes,\n onNodeClick,\n onToggleExpand,\n isLoading,\n className,\n folderIndexFile = DEFAULT_FOLDER_INDEX_FILE,\n}: MultiLevelNavigationProps) {\n if (isLoading) {\n return (\n <div className={cn('space-y-2', className)}>\n {[1, 2, 3].map(i => (\n <div key={i} className=\"h-10 animate-pulse rounded-lg bg-ods-skeleton p-3\" />\n ))}\n </div>\n );\n }\n\n return (\n <div className={cn('space-y-2', className)}>\n {nodes.map(node => (\n <MobileNavigationItem\n key={node.id}\n node={node}\n selectedPath={selectedPath}\n expandedNodes={expandedNodes}\n onNodeClick={onNodeClick}\n onToggleExpand={onToggleExpand}\n level={0}\n folderIndexFile={folderIndexFile}\n />\n ))}\n </div>\n );\n}\n\nfunction MobileNavigationItem({\n node,\n selectedPath,\n expandedNodes,\n onNodeClick,\n onToggleExpand,\n level,\n folderIndexFile,\n}: NavigationItemProps) {\n const isExpanded = expandedNodes.has(node.id);\n const isSelected = isNodeVisuallySelected(node, selectedPath, folderIndexFile);\n // Same binding as the desktop item above — a real array to map, no assertion.\n const children = node.children ?? [];\n const hasChildren = children.length > 0;\n\n return (\n <div className=\"space-y-1\">\n <div className={cn('px-2', level > 0 && 'ml-3')}>\n <div\n className={cn(\n 'relative w-full rounded-lg border transition-all duration-150',\n isSelected ? 'border-ods-border bg-ods-border' : 'border-ods-border bg-ods-card',\n )}\n >\n <div className=\"relative flex items-center\">\n <button\n className={cn(\n 'flex h-11 w-full items-center rounded-lg px-2 text-ods-text-primary transition-all duration-150 text-h6',\n !isSelected && 'hover:bg-ods-bg-hover',\n hasChildren && 'pr-11',\n )}\n onClick={() => onNodeClick(node)}\n >\n <span className=\"mr-2 flex-shrink-0\">\n {node.type === 'folder' ? (\n isExpanded ? (\n <FolderOpen className=\"h-4 w-4\" />\n ) : (\n <Folder className=\"h-4 w-4\" />\n )\n ) : (\n <FileText className=\"h-4 w-4\" />\n )}\n </span>\n <span className=\"min-w-0 flex-1 truncate text-left\">\n {node.name.endsWith('.md') ? node.name.replace('.md', '') : node.name}\n </span>\n {node.type === 'folder' && node.hasReadme && (\n <span className=\"mr-2 rounded bg-ods-bg-surface px-1.5 py-0.5 text-ods-text-secondary text-h6\">\n README\n </span>\n )}\n </button>\n\n {hasChildren && (\n <button\n className=\"absolute right-0 top-0 flex h-11 w-11 items-center justify-center text-ods-text-secondary transition-colors duration-150 hover:text-ods-text-primary\"\n onClick={e => {\n e.stopPropagation();\n if (onToggleExpand) {\n onToggleExpand(node.id);\n } else {\n onNodeClick(node);\n }\n }}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${node.name}`}\n >\n {isExpanded ? <ChevronUp className=\"h-3.5 w-3.5\" /> : <ChevronDown className=\"h-3.5 w-3.5\" />}\n </button>\n )}\n </div>\n\n {isSelected && (\n <div className=\"absolute right-0 top-1/2 h-[calc(100%-8px)] w-1 -translate-y-1/2 rounded-l bg-ods-accent\" />\n )}\n </div>\n </div>\n\n {hasChildren && isExpanded && (\n <div className=\"space-y-1\">\n {children.map(child => (\n <MobileNavigationItem\n key={child.id}\n node={child}\n selectedPath={selectedPath}\n expandedNodes={expandedNodes}\n onNodeClick={onNodeClick}\n onToggleExpand={onToggleExpand}\n level={level + 1}\n folderIndexFile={folderIndexFile}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-ZMZUF6FX.cjs","../src/components/navigation/sticky-section-nav.tsx","../src/components/navigation/multi-level-navigation.tsx"],"names":["jsx","DEFAULT_FOLDER_INDEX_FILE"],"mappings":"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","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-ZMZUF6FX.cjs","sourcesContent":[null,"'use client';\n\nimport type React from 'react';\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { cn } from '../../utils';\nimport { scrollElementIntoView } from '../../utils/scroll-into-view';\n\nexport interface StickyNavSection {\n id: string;\n label: string;\n}\n\ninterface StickySectionNavProps {\n sections: StickyNavSection[];\n activeSection: string;\n onSectionClick: (sectionId: string) => void;\n className?: string;\n ribbonPosition?: 'left' | 'right';\n ribbonColor?: string;\n}\n\n/**\n * Reusable sticky navigation component for section-based navigation\n * Used in vendor detail pages, knowledge base, documentation, etc.\n */\nexport function StickySectionNav({\n sections,\n activeSection,\n onSectionClick,\n className,\n ribbonPosition = 'left',\n ribbonColor = 'var(--color-accent-primary)',\n}: StickySectionNavProps) {\n const navHeight = sections.length * 40; // 40px per item (h-10)\n\n return (\n <nav className={cn('relative bg-ods-bg', className)}>\n {/* Background gray vertical line for all nav items */}\n <div\n className=\"absolute bg-ods-border\"\n style={{\n width: '1px',\n height: `${navHeight}px`,\n [ribbonPosition === 'left' ? 'left' : 'right']: '-2px',\n top: '0px',\n }}\n />\n\n {sections.map(section => (\n <div key={section.id} className=\"relative flex h-10 w-full items-stretch transition-all duration-200\">\n {/* Yellow ribbon for active state */}\n {activeSection === section.id && (\n <div\n className=\"absolute z-10 transition-all duration-200\"\n style={{\n backgroundColor: ribbonColor,\n width: '4px',\n height: '24px',\n [ribbonPosition === 'left' ? 'left' : 'right']: '-2px',\n top: '8px',\n borderRadius: '2px',\n }}\n />\n )}\n\n {/* Navigation button */}\n <button\n onClick={() => onSectionClick(section.id)}\n className=\"relative flex flex-1 cursor-pointer items-center gap-2 px-3 py-2\"\n >\n <span\n className={cn(\n 'text-left transition-all duration-200 text-h6',\n activeSection === section.id\n ? 'text-ods-text-primary'\n : 'text-ods-text-secondary hover:text-ods-text-primary',\n )}\n >\n {section.label}\n </span>\n </button>\n </div>\n ))}\n </nav>\n );\n}\n\n/**\n * SIMPLEST POSSIBLE IMPLEMENTATION - Just make it work\n */\nexport function useSectionNavigation(\n sections: { id: string; ref: React.RefObject<HTMLElement> }[],\n options?: {\n offset?: number;\n },\n) {\n const [activeSection, setActiveSection] = useState(sections[0]?.id || '');\n const isScrollingFromClick = useRef(false);\n const { offset = 100 } = options || {};\n\n // Handle click - scroll to the element via the canonical helper.\n // The `offset` prop maps to `headerOffset` (sticky chrome above the\n // section nav); same smooth-scroll mechanics every other anchor\n // surface in the app uses.\n const handleSectionClick = useCallback(\n (sectionId: string) => {\n const targetElement = document.getElementById(sectionId);\n if (!targetElement) return;\n\n // Prevent scroll spy while we're scrolling\n isScrollingFromClick.current = true;\n setActiveSection(sectionId);\n\n scrollElementIntoView(targetElement, { headerOffset: offset });\n\n // Allow scroll spy again after scroll completes\n setTimeout(() => {\n isScrollingFromClick.current = false;\n }, 500);\n },\n [offset],\n );\n\n // Make sure elements have IDs\n useEffect(() => {\n sections.forEach(section => {\n const el = section.ref.current;\n if (el && !el.id) {\n el.id = section.id;\n }\n });\n }, [sections]);\n\n // Simple scroll spy\n useEffect(() => {\n const handleScroll = () => {\n if (isScrollingFromClick.current) return;\n\n const scrollPosition = window.scrollY + offset + 50;\n\n // Find which section we're in\n let currentSection = sections[0]?.id || '';\n\n for (let i = sections.length - 1; i >= 0; i--) {\n const element = document.getElementById(sections[i].id);\n if (element && scrollPosition >= element.offsetTop) {\n currentSection = sections[i].id;\n break;\n }\n }\n\n setActiveSection(currentSection);\n };\n\n // Throttle the scroll handler\n let scrollTimer: NodeJS.Timeout;\n const throttledScroll = () => {\n clearTimeout(scrollTimer);\n scrollTimer = setTimeout(handleScroll, 100);\n };\n\n window.addEventListener('scroll', throttledScroll);\n handleScroll(); // Check initial position\n\n return () => {\n window.removeEventListener('scroll', throttledScroll);\n clearTimeout(scrollTimer);\n };\n }, [sections, offset]);\n\n return {\n activeSection,\n handleSectionClick,\n };\n}\n","'use client';\n\nimport { ChevronDown, ChevronUp, FileText, Folder, FolderOpen } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { DEFAULT_FOLDER_INDEX_FILE as CANONICAL_FOLDER_INDEX_FILE } from '../../utils/doc-tree-nav';\n\nexport interface NavigationNode {\n id: string;\n name: string;\n path: string;\n type: 'file' | 'folder';\n hasReadme?: boolean;\n children?: NavigationNode[];\n slug?: string;\n // Mirror DocNode's extra optional fields so a DocNode tree is structurally\n // assignable to NavigationNode[] without an `as` cast. NavigationNode\n // intentionally never reads these — they're carried for type-compat only.\n documentType?: 'markdown' | 'pdf' | 'google_sheet' | 'figma' | 'file';\n sortOrder?: number;\n}\n\ninterface MultiLevelNavigationProps {\n nodes: NavigationNode[];\n selectedPath: string;\n expandedNodes: Set<string>;\n onNodeClick: (node: NavigationNode) => void;\n onToggleExpand?: (nodeId: string) => void;\n isLoading?: boolean;\n className?: string;\n /** Folder-index filename (default `'README.md'`, case-insensitive). When the\n * selectedPath is a folder with this file, the visual ribbon moves to the\n * child file. */\n folderIndexFile?: string;\n}\n\n// SSOT lives in `doc-tree-nav` (canonical case `'README.md'`). The visual\n// comparator below lowercases both sides, so re-exporting the canonical\n// constant under the same local name preserves call-site syntax without\n// drifting from the SSOT.\nconst DEFAULT_FOLDER_INDEX_FILE = CANONICAL_FOLDER_INDEX_FILE;\n\n/**\n * Compute the visual \"selected\" state for a navigation node.\n *\n * Folder-with-README convention: when `selectedPath` is a folder that has a\n * README, the FOLDER doesn't get the ribbon — its README child does. The folder\n * is just a container; the README is the actual document being viewed.\n *\n * Mirror case: a README file whose parent folder is the `selectedPath` gets the\n * visual selection ribbon (implicit). This handles both the auto-select-first-\n * folder landing path AND the user-clicks-folder case.\n */\nfunction isNodeVisuallySelected(\n node: NavigationNode,\n selectedPath: string,\n folderIndexFile: string = DEFAULT_FOLDER_INDEX_FILE,\n): boolean {\n const FOLDER_INDEX_FILE = folderIndexFile.toLowerCase();\n // Path comparisons keyed on `node.path` (raw, includes `.md`). Do NOT use\n // `node.name` — the tree-builder runs it through `formatDocName` which strips\n // the `.md` extension, so `node.name.toLowerCase() === 'readme.md'` is always\n // false.\n if (selectedPath === node.path) {\n // Explicit match — but folder-with-README defers to its README child.\n return !(node.type === 'folder' && node.hasReadme);\n }\n if (node.type !== 'file') return false;\n const pathLower = node.path.toLowerCase();\n // Implicit: README child whose parent folder is the selectedPath.\n if (selectedPath !== '' && pathLower === `${selectedPath.toLowerCase()}/${FOLDER_INDEX_FILE}`) {\n return true;\n }\n // Implicit: ROOT README on the landing page (selectedPath === '' means\n // \"no explicit doc selected\" — the viewer falls back to the root folder-\n // index file, so that file IS the active document).\n if (selectedPath === '' && pathLower === FOLDER_INDEX_FILE) {\n return true;\n }\n return false;\n}\n\nexport function MultiLevelNavigation({\n nodes,\n selectedPath,\n expandedNodes,\n onNodeClick,\n onToggleExpand,\n isLoading,\n className,\n folderIndexFile = DEFAULT_FOLDER_INDEX_FILE,\n}: MultiLevelNavigationProps) {\n if (isLoading) {\n return (\n <div className={cn('space-y-2', className)}>\n {[1, 2, 3, 4].map(i => (\n <div key={i} className=\"h-12 animate-pulse rounded-lg bg-ods-skeleton p-3\" />\n ))}\n </div>\n );\n }\n\n return (\n <div className={cn('space-y-2', className)} role=\"list\" aria-label=\"Navigation list\">\n {nodes.map(node => (\n <NavigationItem\n key={node.id}\n node={node}\n selectedPath={selectedPath}\n expandedNodes={expandedNodes}\n onNodeClick={onNodeClick}\n onToggleExpand={onToggleExpand}\n level={0}\n folderIndexFile={folderIndexFile}\n />\n ))}\n </div>\n );\n}\n\ninterface NavigationItemProps {\n node: NavigationNode;\n selectedPath: string;\n expandedNodes: Set<string>;\n onNodeClick: (node: NavigationNode) => void;\n onToggleExpand?: (nodeId: string) => void;\n level: number;\n folderIndexFile: string;\n}\n\nfunction NavigationItem({\n node,\n selectedPath,\n expandedNodes,\n onNodeClick,\n onToggleExpand,\n level,\n folderIndexFile,\n}: NavigationItemProps) {\n const isExpanded = expandedNodes.has(node.id);\n const isSelected = isNodeVisuallySelected(node, selectedPath, folderIndexFile);\n // Bind the (optional) child list once so the render below maps a real array\n // rather than re-deriving `hasChildren` and asserting it away.\n const children = node.children ?? [];\n const hasChildren = children.length > 0;\n\n return (\n <div className=\"space-y-1\" role=\"listitem\">\n <div className={cn('px-2', level > 0 && 'ml-4')}>\n <div\n className={cn(\n 'relative w-full rounded-lg border transition-all duration-150',\n isSelected ? 'border-ods-border bg-ods-border' : 'border-ods-border bg-ods-card',\n )}\n >\n <div className=\"relative flex items-center\">\n <button\n className={cn(\n 'flex h-12 w-full items-center rounded-lg px-2 text-ods-text-primary transition-all duration-150 text-h6',\n !isSelected && 'hover:bg-ods-bg-hover',\n hasChildren && 'pr-12',\n )}\n onClick={() => onNodeClick(node)}\n aria-label={`${isSelected ? 'Selected' : 'Select'} ${node.name}`}\n >\n <span className=\"mr-2 flex-shrink-0\">\n {node.type === 'folder' ? (\n isExpanded ? (\n <FolderOpen className=\"h-4 w-4\" />\n ) : (\n <Folder className=\"h-4 w-4\" />\n )\n ) : (\n <FileText className=\"h-4 w-4\" />\n )}\n </span>\n <span className=\"min-w-0 flex-1 truncate text-left\">\n {node.name.endsWith('.md') ? node.name.replace('.md', '') : node.name}\n </span>\n {node.type === 'folder' && node.hasReadme && (\n <span className=\"mr-2 rounded bg-ods-bg-surface px-1.5 py-0.5 text-ods-text-secondary text-h6\">\n README\n </span>\n )}\n </button>\n\n {hasChildren && (\n <button\n className=\"absolute right-0 top-0 flex h-12 w-12 items-center justify-center text-ods-text-secondary transition-colors duration-150 hover:text-ods-text-primary\"\n onClick={e => {\n e.stopPropagation();\n if (onToggleExpand) {\n onToggleExpand(node.id);\n } else {\n onNodeClick(node);\n }\n }}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${node.name}`}\n >\n {isExpanded ? <ChevronUp className=\"h-4 w-4\" /> : <ChevronDown className=\"h-4 w-4\" />}\n </button>\n )}\n </div>\n\n {isSelected && (\n <div className=\"absolute right-0 top-1/2 h-[calc(100%-8px)] w-1 -translate-y-1/2 rounded-l bg-ods-accent\" />\n )}\n </div>\n </div>\n\n {hasChildren && isExpanded && (\n <div className=\"space-y-1\">\n {children.map(child => (\n <NavigationItem\n key={child.id}\n node={child}\n selectedPath={selectedPath}\n expandedNodes={expandedNodes}\n onNodeClick={onNodeClick}\n onToggleExpand={onToggleExpand}\n level={level + 1}\n folderIndexFile={folderIndexFile}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n\nexport function MobileNavigationDropdown({\n nodes,\n selectedPath,\n expandedNodes,\n onNodeClick,\n onToggleExpand,\n isLoading,\n className,\n folderIndexFile = DEFAULT_FOLDER_INDEX_FILE,\n}: MultiLevelNavigationProps) {\n if (isLoading) {\n return (\n <div className={cn('space-y-2', className)}>\n {[1, 2, 3].map(i => (\n <div key={i} className=\"h-10 animate-pulse rounded-lg bg-ods-skeleton p-3\" />\n ))}\n </div>\n );\n }\n\n return (\n <div className={cn('space-y-2', className)}>\n {nodes.map(node => (\n <MobileNavigationItem\n key={node.id}\n node={node}\n selectedPath={selectedPath}\n expandedNodes={expandedNodes}\n onNodeClick={onNodeClick}\n onToggleExpand={onToggleExpand}\n level={0}\n folderIndexFile={folderIndexFile}\n />\n ))}\n </div>\n );\n}\n\nfunction MobileNavigationItem({\n node,\n selectedPath,\n expandedNodes,\n onNodeClick,\n onToggleExpand,\n level,\n folderIndexFile,\n}: NavigationItemProps) {\n const isExpanded = expandedNodes.has(node.id);\n const isSelected = isNodeVisuallySelected(node, selectedPath, folderIndexFile);\n // Same binding as the desktop item above — a real array to map, no assertion.\n const children = node.children ?? [];\n const hasChildren = children.length > 0;\n\n return (\n <div className=\"space-y-1\">\n <div className={cn('px-2', level > 0 && 'ml-3')}>\n <div\n className={cn(\n 'relative w-full rounded-lg border transition-all duration-150',\n isSelected ? 'border-ods-border bg-ods-border' : 'border-ods-border bg-ods-card',\n )}\n >\n <div className=\"relative flex items-center\">\n <button\n className={cn(\n 'flex h-11 w-full items-center rounded-lg px-2 text-ods-text-primary transition-all duration-150 text-h6',\n !isSelected && 'hover:bg-ods-bg-hover',\n hasChildren && 'pr-11',\n )}\n onClick={() => onNodeClick(node)}\n >\n <span className=\"mr-2 flex-shrink-0\">\n {node.type === 'folder' ? (\n isExpanded ? (\n <FolderOpen className=\"h-4 w-4\" />\n ) : (\n <Folder className=\"h-4 w-4\" />\n )\n ) : (\n <FileText className=\"h-4 w-4\" />\n )}\n </span>\n <span className=\"min-w-0 flex-1 truncate text-left\">\n {node.name.endsWith('.md') ? node.name.replace('.md', '') : node.name}\n </span>\n {node.type === 'folder' && node.hasReadme && (\n <span className=\"mr-2 rounded bg-ods-bg-surface px-1.5 py-0.5 text-ods-text-secondary text-h6\">\n README\n </span>\n )}\n </button>\n\n {hasChildren && (\n <button\n className=\"absolute right-0 top-0 flex h-11 w-11 items-center justify-center text-ods-text-secondary transition-colors duration-150 hover:text-ods-text-primary\"\n onClick={e => {\n e.stopPropagation();\n if (onToggleExpand) {\n onToggleExpand(node.id);\n } else {\n onNodeClick(node);\n }\n }}\n aria-label={`${isExpanded ? 'Collapse' : 'Expand'} ${node.name}`}\n >\n {isExpanded ? <ChevronUp className=\"h-3.5 w-3.5\" /> : <ChevronDown className=\"h-3.5 w-3.5\" />}\n </button>\n )}\n </div>\n\n {isSelected && (\n <div className=\"absolute right-0 top-1/2 h-[calc(100%-8px)] w-1 -translate-y-1/2 rounded-l bg-ods-accent\" />\n )}\n </div>\n </div>\n\n {hasChildren && isExpanded && (\n <div className=\"space-y-1\">\n {children.map(child => (\n <MobileNavigationItem\n key={child.id}\n node={child}\n selectedPath={selectedPath}\n expandedNodes={expandedNodes}\n onNodeClick={onNodeClick}\n onToggleExpand={onToggleExpand}\n level={level + 1}\n folderIndexFile={folderIndexFile}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n"]}
@@ -1,17 +1,17 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunk4AAPEV7Acjs = require('../../chunk-4AAPEV7A.cjs');
4
+ var _chunkLTW2GWJ2cjs = require('../../chunk-LTW2GWJ2.cjs');
5
5
 
6
6
 
7
7
 
8
8
 
9
9
 
10
10
 
11
- var _chunkB5DZ37OGcjs = require('../../chunk-B5DZ37OG.cjs');
11
+ var _chunk6FD7ZEBYcjs = require('../../chunk-6FD7ZEBY.cjs');
12
12
  require('../../chunk-GQWM3ECA.cjs');
13
13
  require('../../chunk-TON3YCCW.cjs');
14
- require('../../chunk-WDE7ETA5.cjs');
14
+ require('../../chunk-FJNGXGJW.cjs');
15
15
  require('../../chunk-D55IENZJ.cjs');
16
16
  require('../../chunk-JU6SBF3C.cjs');
17
17
  require('../../chunk-VTYP25OW.cjs');
@@ -19,7 +19,7 @@ require('../../chunk-QVSVRG7I.cjs');
19
19
 
20
20
 
21
21
 
22
- var _chunkBSETJKSWcjs = require('../../chunk-BSETJKSW.cjs');
22
+ var _chunkMNUR6PAJcjs = require('../../chunk-MNUR6PAJ.cjs');
23
23
  require('../../chunk-TLLJIGTP.cjs');
24
24
  require('../../chunk-SADRZ4YI.cjs');
25
25
 
@@ -27,7 +27,7 @@ require('../../chunk-SADRZ4YI.cjs');
27
27
 
28
28
 
29
29
 
30
- var _chunkBASKR3Z4cjs = require('../../chunk-BASKR3Z4.cjs');
30
+ var _chunk5R4QMTMLcjs = require('../../chunk-5R4QMTML.cjs');
31
31
  require('../../chunk-YRTMAXLE.cjs');
32
32
  require('../../chunk-XQFFGR6U.cjs');
33
33
 
@@ -90,45 +90,45 @@ function ShareExperienceSection({
90
90
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h2", children: howItWorksTitle }),
91
91
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4", children: howItWorksBody })
92
92
  ] }),
93
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkB5DZ37OGcjs.BenefitCardGrid, { columns: 4, children: [
93
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk6FD7ZEBYcjs.BenefitCardGrid, { columns: 4, children: [
94
94
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
95
- _chunkB5DZ37OGcjs.BenefitCard,
95
+ _chunk6FD7ZEBYcjs.BenefitCard,
96
96
  {
97
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBASKR3Z4cjs.G2Icon, { width: 24, height: 24 }) }),
97
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.G2Icon, { width: 24, height: 24 }) }),
98
98
  title: "G2",
99
99
  description: "g2.com",
100
100
  variant: "auth-figma"
101
101
  }
102
102
  ),
103
103
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
104
- _chunkB5DZ37OGcjs.BenefitCard,
104
+ _chunk6FD7ZEBYcjs.BenefitCard,
105
105
  {
106
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBASKR3Z4cjs.CapterraIcon, { width: 24, height: 24 }) }),
106
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.CapterraIcon, { width: 24, height: 24 }) }),
107
107
  title: "Capterra",
108
108
  description: "capterra.com",
109
109
  variant: "auth-figma"
110
110
  }
111
111
  ),
112
112
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
113
- _chunkB5DZ37OGcjs.BenefitCard,
113
+ _chunk6FD7ZEBYcjs.BenefitCard,
114
114
  {
115
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBASKR3Z4cjs.TrustpilotIcon, { width: 24, height: 24 }) }),
115
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.TrustpilotIcon, { width: 24, height: 24 }) }),
116
116
  title: "TrustPilot",
117
117
  description: "trustpilot.com",
118
118
  variant: "auth-figma"
119
119
  }
120
120
  ),
121
121
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
122
- _chunkB5DZ37OGcjs.BenefitCard,
122
+ _chunk6FD7ZEBYcjs.BenefitCard,
123
123
  {
124
- icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBASKR3Z4cjs.GetAppIcon, { width: 24, height: 24 }) }),
124
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-12 w-12 items-center justify-center rounded-md border border-ods-border bg-ods-bg p-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5R4QMTMLcjs.GetAppIcon, { width: 24, height: 24 }) }),
125
125
  title: "GetApp",
126
126
  description: "getapp.com",
127
127
  variant: "auth-figma"
128
128
  }
129
129
  )
130
130
  ] }),
131
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4AAPEV7Acjs.ContactForm, { ...DEFAULT_CONTACT_FORM_PROPS, ...contactFormProps })
131
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLTW2GWJ2cjs.ContactForm, { ...DEFAULT_CONTACT_FORM_PROPS, ...contactFormProps })
132
132
  ] }) })
133
133
  ] });
134
134
  }
@@ -138,10 +138,10 @@ function ShareExperienceSection({
138
138
  function EntityQuotesPanel({ quotes, className }) {
139
139
  if (!quotes || quotes.length === 0) return null;
140
140
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
141
- _chunkB5DZ37OGcjs.StackedRowsPanel,
141
+ _chunk6FD7ZEBYcjs.StackedRowsPanel,
142
142
  {
143
143
  className,
144
- title: `${_chunkB5DZ37OGcjs.ENTITY_QUOTES_TITLE} \xB7 ${quotes.length}`,
144
+ title: `${_chunk6FD7ZEBYcjs.ENTITY_QUOTES_TITLE} \xB7 ${quotes.length}`,
145
145
  rows: quotes.map((q) => ({
146
146
  id: q.key,
147
147
  columns: [
@@ -167,7 +167,7 @@ function EntityQuotesPanel({ quotes, className }) {
167
167
  function QuoteCardsStrip({ quotes, className }) {
168
168
  if (quotes.length === 0) return null;
169
169
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
170
- _chunkBSETJKSWcjs.CardsStrip,
170
+ _chunkMNUR6PAJcjs.CardsStrip,
171
171
  {
172
172
  className,
173
173
  showTitle: false,
@@ -182,8 +182,8 @@ function QuoteCardsStrip({ quotes, className }) {
182
182
  onPointerLeave: ctx.isTouch ? void 0 : () => ctx.onDeactivate(ctx.cardKey),
183
183
  className: "relative shrink-0 rounded-md border-ods-border bg-ods-card p-[var(--spacing-system-sf)] shadow-none hover:border-ods-border-hover",
184
184
  children: [
185
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkB5DZ37OGcjs.PersonCell, { size: "lg", name: `"${quote.text}"`, secondary: quote.attribution, avatarUrl: quote.logoUrl }),
186
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBSETJKSWcjs.CardHitLayer, { href: quote.href, label: `${quote.text}, ${quote.attribution}`, decorative: ctx.isClone })
185
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6FD7ZEBYcjs.PersonCell, { size: "lg", name: `"${quote.text}"`, secondary: quote.attribution, avatarUrl: quote.logoUrl }),
186
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMNUR6PAJcjs.CardHitLayer, { href: quote.href, label: `${quote.text}, ${quote.attribution}`, decorative: ctx.isClone })
187
187
  ]
188
188
  },
189
189
  ctx.cardKey
@@ -1,17 +1,17 @@
1
1
  "use client";
2
2
  import {
3
3
  ContactForm
4
- } from "../../chunk-SHUKF2HE.js";
4
+ } from "../../chunk-RT5JNTCN.js";
5
5
  import {
6
6
  BenefitCard,
7
7
  BenefitCardGrid,
8
8
  ENTITY_QUOTES_TITLE,
9
9
  PersonCell,
10
10
  StackedRowsPanel
11
- } from "../../chunk-WB32HEBY.js";
11
+ } from "../../chunk-DNFC6RYF.js";
12
12
  import "../../chunk-L2SLFCXP.js";
13
13
  import "../../chunk-BJXDHKUX.js";
14
- import "../../chunk-OZTH6T4W.js";
14
+ import "../../chunk-CJ5CFXYX.js";
15
15
  import "../../chunk-ZRIVCLPR.js";
16
16
  import "../../chunk-GRBZC5N3.js";
17
17
  import "../../chunk-MT5A25AX.js";
@@ -19,7 +19,7 @@ import "../../chunk-BXWXBBAC.js";
19
19
  import {
20
20
  CardHitLayer,
21
21
  CardsStrip
22
- } from "../../chunk-RP4TSHMY.js";
22
+ } from "../../chunk-OMTLCMQB.js";
23
23
  import "../../chunk-C3GXRBJD.js";
24
24
  import "../../chunk-XXMHLZ3Y.js";
25
25
  import {
@@ -27,7 +27,7 @@ import {
27
27
  G2Icon,
28
28
  GetAppIcon,
29
29
  TrustpilotIcon
30
- } from "../../chunk-KU7HL52F.js";
30
+ } from "../../chunk-VQZXJIPY.js";
31
31
  import "../../chunk-YQPPHBGE.js";
32
32
  import "../../chunk-W72U7OU7.js";
33
33
  import {
@@ -0,0 +1,15 @@
1
+ import type { ActionsMenuItem } from '../ui/actions-menu';
2
+ export interface ChatDialogMenuActions {
3
+ onCopyLink?: () => void;
4
+ onRename?: () => void;
5
+ onCompact?: () => void;
6
+ onArchive?: () => void;
7
+ }
8
+ export declare const chatMenuIconClassName = "h-full w-full text-ods-text-secondary";
9
+ /**
10
+ * The per-conversation ⋯ menu — one list for the desktop header, the mobile
11
+ * header, the split header and every history row, so the four can't drift in
12
+ * order, wording or icons. Each action appears only when its handler is set.
13
+ */
14
+ export declare function chatDialogMenuItems({ onCopyLink, onRename, onCompact, onArchive, }: ChatDialogMenuActions): ActionsMenuItem[];
15
+ //# sourceMappingURL=chat-dialog-menu-items.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-dialog-menu-items.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-dialog-menu-items.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,qBAAqB,0CAA0C,CAAC;AAE7E;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE,qBAAqB,GAAG,eAAe,EAAE,CA4B3C"}
@@ -20,5 +20,5 @@ export interface ChatPanelHeaderMobileProps extends ChatPanelHeaderProps {
20
20
  * Same prop contract as `ChatPanelHeader`; the orchestrator renders this on
21
21
  * mobile and the desktop bar on `md+`.
22
22
  */
23
- export declare function ChatPanelHeaderMobile({ showBack, title, backAriaLabel, isArchivedView, onBack, onClose, onRestore, onRename, onArchive, onCopyLink, onOpenArchive, className, }: ChatPanelHeaderMobileProps): import("react").JSX.Element;
23
+ export declare function ChatPanelHeaderMobile({ showBack, title, backAriaLabel, isArchivedView, onBack, onClose, onRestore, onRename, onArchive, onCompact, onCopyLink, onOpenArchive, className, }: ChatPanelHeaderMobileProps): import("react").JSX.Element;
24
24
  //# sourceMappingURL=chat-panel-header-mobile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-panel-header-mobile.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-panel-header-mobile.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,QAAgB,EAChB,KAAK,EACL,aAAsB,EACtB,cAAsB,EACtB,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,GACV,EAAE,0BAA0B,+BA2D5B"}
1
+ {"version":3,"file":"chat-panel-header-mobile.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-panel-header-mobile.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,QAAgB,EAChB,KAAK,EACL,aAAsB,EACtB,cAAsB,EACtB,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,GACV,EAAE,0BAA0B,+BAyD5B"}
@@ -27,11 +27,13 @@ export interface ChatPanelHeaderProps {
27
27
  onClose: () => void;
28
28
  /** Restore/unarchive — renders the refresh button (archived view only). */
29
29
  onRestore?: () => void;
30
- /** Rename — adds the "Rename chat" item to the ⋯ menu. */
30
+ /** Rename — adds the "Rename Chat" item to the ⋯ menu. */
31
31
  onRename?: () => void;
32
- /** Archive — adds the "Archive chat" item to the ⋯ menu. */
32
+ /** Archive — adds the "Archive Chat" item to the ⋯ menu. */
33
33
  onArchive?: () => void;
34
- /** Copy a shareable link to the open conversation — adds the "Copy chat link"
34
+ /** Compact — adds the "Compact Chat Memory" item to the ⋯ menu. */
35
+ onCompact?: () => void;
36
+ /** Copy a shareable link to the open conversation — adds the "Copy Chat Link"
35
37
  * item to the ⋯ menu. The host owns the URL and the copy. */
36
38
  onCopyLink?: () => void;
37
39
  /** Open the Chat Archive page — renders the clock button (list view only). */
@@ -60,5 +62,5 @@ export interface ChatPanelHeaderProps {
60
62
  * back-chevron + title (or the static list title), then state-dependent
61
63
  * right-hand actions (restore, ⋯ rename/archive, archive entry) and close.
62
64
  */
63
- export declare function ChatPanelHeader({ showBack, title, subtitle, avatar, backAriaLabel, isArchivedView, onBack, onClose, onRestore, onRename, onArchive, onCopyLink, onOpenArchive, compact, onToggleSearch, searchActive, searchQuery, onSearchChange, }: ChatPanelHeaderProps): import("react").JSX.Element;
65
+ export declare function ChatPanelHeader({ showBack, title, subtitle, avatar, backAriaLabel, isArchivedView, onBack, onClose, onRestore, onRename, onArchive, onCompact, onCopyLink, onOpenArchive, compact, onToggleSearch, searchActive, searchQuery, onSearchChange, }: ChatPanelHeaderProps): import("react").JSX.Element;
64
66
  //# sourceMappingURL=chat-panel-header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-panel-header.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-panel-header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAgBvC,MAAM,WAAW,oBAAoB;IACnC;uDACmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd;8EAC0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;mEAG+D;IAC/D,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;2BACuB;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,uBAAuB;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;kEAC8D;IAC9D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;6EAGyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;gDAC4C;IAC5C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;8CAE0C;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;wDACoD;IACpD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAgB,EAChB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,aAAsB,EACtB,cAAsB,EACtB,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,OAAe,EACf,cAAc,EACd,YAAoB,EACpB,WAAW,EACX,cAAc,GACf,EAAE,oBAAoB,+BAwHtB"}
1
+ {"version":3,"file":"chat-panel-header.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-panel-header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAiBvC,MAAM,WAAW,oBAAoB;IACnC;uDACmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd;8EAC0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;mEAG+D;IAC/D,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;2BACuB;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,uBAAuB;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;kEAC8D;IAC9D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;6EAGyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;gDAC4C;IAC5C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;8CAE0C;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;wDACoD;IACpD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAgB,EAChB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,aAAsB,EACtB,cAAsB,EACtB,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,EACb,OAAe,EACf,cAAc,EACd,YAAoB,EACpB,WAAW,EACX,cAAc,GACf,EAAE,oBAAoB,+BAqHtB"}
@@ -101,8 +101,9 @@ export interface EmbeddableChatProps {
101
101
  *
102
102
  * Same shape an adapter reports through `UnifiedChatState.dialogCapabilities`
103
103
  * (`ChatDialogCapabilities`) — one type, whether the list is host-owned or
104
- * adapter-owned. `onCopyLink` adds "Copy chat link" to the header ⋯ menu and
104
+ * adapter-owned. `onCopyLink` adds "Copy Chat Link" to the header ⋯ menu and
105
105
  * every row menu; the host owns the URL shape and the clipboard write.
106
+ * `compactDialog` adds "Compact Chat Memory" to the same menus.
106
107
  */
107
108
  mingoDialogCapabilities?: ChatDialogCapabilities;
108
109
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"embeddable-chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/embeddable-chat.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddable-chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/embeddable-chat.tsx"],"names":[],"mappings":"AAsCA,OAAO,KAAiF,MAAM,OAAO,CAAC;AAoCtG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AASvE,OAAO,EAAkB,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAKnG,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKvE,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAuDjG,MAAM,WAAW,mBAAmB;IAClC;+DAC2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;4DAGwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;oCAEgC;IAChC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAClD,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAChD;yDACqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;wCAEoC;IACpC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;;;;+CAK2C;IAC3C,sBAAsB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAEjE;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAE5B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IAEpC;;;;;;;;;;;;;;;OAeG;IACH,uBAAuB,CAAC,EAAE,sBAAsB,CAAC;IAEjD;;;OAGG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC;IAEtB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAE9C;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAE5C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAE7B;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAE1B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,IAAI,CACjB,iBAAiB,EACjB,kBAAkB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,uBAAuB,CACzF,CAAC;IAEF;;;;;OAKG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,UAAU,CAAC,CAAC;IAErE;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC/E;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,KAAK,CAAC,SAAS,CAAC;IAC/D;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE;QACd,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;KAC5C,CAAC;CACH;AAwdD;;;GAGG;AACH,iHAAiH;AACjH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACjD;AAED,eAAO,MAAM,cAAc,kGAI1B,CAAC"}
@@ -230,10 +230,10 @@
230
230
 
231
231
 
232
232
 
233
- var _chunkBSETJKSWcjs = require('../../chunk-BSETJKSW.cjs');
233
+ var _chunkMNUR6PAJcjs = require('../../chunk-MNUR6PAJ.cjs');
234
234
  require('../../chunk-TLLJIGTP.cjs');
235
235
  require('../../chunk-SADRZ4YI.cjs');
236
- require('../../chunk-BASKR3Z4.cjs');
236
+ require('../../chunk-5R4QMTML.cjs');
237
237
  require('../../chunk-YRTMAXLE.cjs');
238
238
  require('../../chunk-XQFFGR6U.cjs');
239
239
 
@@ -606,5 +606,5 @@ require('../../chunk-K4RM5MEW.cjs');
606
606
 
607
607
 
608
608
 
609
- exports.ADMIN_CONTENT_CARD_GRID_CLASS = _chunkBSETJKSWcjs.ADMIN_CONTENT_CARD_GRID_CLASS; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = _chunkBSETJKSWcjs.ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.APPROVAL_BLOCK_VARIANT = _chunkBSETJKSWcjs.APPROVAL_BLOCK_VARIANT; exports.APPROVAL_STATUS = _chunkBSETJKSWcjs.APPROVAL_STATUS; exports.ASSISTANT_TYPE = _chunkBSETJKSWcjs.ASSISTANT_TYPE; exports.AUTHOR_TYPE = _chunkBSETJKSWcjs.AUTHOR_TYPE; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = _chunkBSETJKSWcjs.AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.AdminContentCard = _chunkODB2AEUWcjs.AdminContentCard; exports.AdminContentCardGrid = _chunkBSETJKSWcjs.AdminContentCardGrid; exports.AdminContentCardSkeleton = _chunkBSETJKSWcjs.AdminContentCardSkeleton; exports.AiAssistantInfo = _chunkBSETJKSWcjs.AiAssistantInfo; exports.AiPromptCard = _chunkODB2AEUWcjs.AiPromptCard; exports.AiPromptCardSkeleton = _chunkODB2AEUWcjs.AiPromptCardSkeleton; exports.ApprovalBatchMessage = _chunkBSETJKSWcjs.ApprovalBatchMessage; exports.ApprovalRequestMessage = _chunkBSETJKSWcjs.ApprovalRequestMessage; exports.ApprovalStatusTag = _chunkBSETJKSWcjs.ApprovalStatusTag; exports.ArchiveChatModal = _chunkBSETJKSWcjs.ArchiveChatModal; exports.ArgRow = _chunkBSETJKSWcjs.ArgRow; exports.AskDisplay = _chunkBSETJKSWcjs.AskDisplay; exports.BlockCard = _chunkBSETJKSWcjs.BlockCard; exports.BlogCard = _chunkODB2AEUWcjs.BlogCard; exports.BlogCardSkeleton = _chunkODB2AEUWcjs.BlogCardSkeleton; exports.BlogImagePlaceholder = _chunkODB2AEUWcjs.BlogImagePlaceholder; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = _chunkBSETJKSWcjs.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = _chunkBSETJKSWcjs.CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.CHAT_ATTACHMENT_MIME_TYPES = _chunkBSETJKSWcjs.CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = _chunkBSETJKSWcjs.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = _chunkBSETJKSWcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkBSETJKSWcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = _chunkBSETJKSWcjs.CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.CHAT_TYPE = _chunkBSETJKSWcjs.CHAT_TYPE; exports.CHIP_ACTION_BUTTON_CLASS = _chunkBSETJKSWcjs.CHIP_ACTION_BUTTON_CLASS; exports.COMPACT_CARD_ICON_SLOT = _chunkODB2AEUWcjs.COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_IMAGE_SLOT = _chunkODB2AEUWcjs.COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_META_ROW = _chunkODB2AEUWcjs.COMPACT_CARD_META_ROW; exports.COMPACT_CARD_META_ROW_BOX = _chunkODB2AEUWcjs.COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_OUTER = _chunkODB2AEUWcjs.COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = _chunkODB2AEUWcjs.COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_ROW_FILLER = _chunkODB2AEUWcjs.COMPACT_CARD_ROW_FILLER; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = _chunkODB2AEUWcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_OUTER = _chunkODB2AEUWcjs.COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_SUBTITLE = _chunkODB2AEUWcjs.COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = _chunkODB2AEUWcjs.COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_TEXT_COL = _chunkODB2AEUWcjs.COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE = _chunkODB2AEUWcjs.COMPACT_CARD_TITLE; exports.COMPACT_CARD_TITLE_ROW = _chunkODB2AEUWcjs.COMPACT_CARD_TITLE_ROW; exports.CONNECTION_STATUS = _chunkBSETJKSWcjs.CONNECTION_STATUS; exports.CONTEXT_BACK_CLASS = _chunkBSETJKSWcjs.CONTEXT_BACK_CLASS; exports.CONTEXT_ICON_CLASS = _chunkBSETJKSWcjs.CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = _chunkBSETJKSWcjs.CONTEXT_LABEL_CLASS; exports.CONTEXT_ROW_CLASS = _chunkBSETJKSWcjs.CONTEXT_ROW_CLASS; exports.CONTEXT_STATE_CLASS = _chunkBSETJKSWcjs.CONTEXT_STATE_CLASS; exports.CUSTOM_ITEM_ID = _chunkODB2AEUWcjs.CUSTOM_ITEM_ID; exports.CampaignCardAdmin = _chunkBSETJKSWcjs.CampaignCardAdmin; exports.CampaignCardAdminSkeleton = _chunkBSETJKSWcjs.CampaignCardAdminSkeleton; exports.CaseStudyCard = _chunkODB2AEUWcjs.CaseStudyCard; exports.CaseStudyCardSkeleton = _chunkODB2AEUWcjs.CaseStudyCardSkeleton; exports.ChatArchivePage = _chunkBSETJKSWcjs.ChatArchivePage; exports.ChatAttachmentAddButton = _chunkBSETJKSWcjs.ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = _chunkBSETJKSWcjs.ChatAttachmentChipStrip; exports.ChatCardLoader = _chunkBSETJKSWcjs.ChatCardLoader; exports.ChatComposer = _chunkBSETJKSWcjs.ChatComposer; exports.ChatComposerPlusMenu = _chunkBSETJKSWcjs.ChatComposerPlusMenu; exports.ChatContainer = _chunkBSETJKSWcjs.ChatContainer; exports.ChatContent = _chunkBSETJKSWcjs.ChatContent; exports.ChatContextChipStrip = _chunkBSETJKSWcjs.ChatContextChipStrip; exports.ChatContextMemoryBar = _chunkBSETJKSWcjs.ChatContextMemoryBar; exports.ChatContextPicker = _chunkBSETJKSWcjs.ChatContextPicker; exports.ChatDialogModals = _chunkBSETJKSWcjs.ChatDialogModals; exports.ChatFooter = _chunkBSETJKSWcjs.ChatFooter; exports.ChatHeader = _chunkBSETJKSWcjs.ChatHeader; exports.ChatHeaderIconButton = _chunkBSETJKSWcjs.ChatHeaderIconButton; exports.ChatHeaderSearchField = _chunkBSETJKSWcjs.ChatHeaderSearchField; exports.ChatIdentityProvider = _chunkBSETJKSWcjs.ChatIdentityProvider; exports.ChatInput = _chunkBSETJKSWcjs.ChatInput; exports.ChatMessageEnhanced = _chunkBSETJKSWcjs.MemoizedChatMessageEnhanced; exports.ChatMessageList = _chunkBSETJKSWcjs.ChatMessageList; exports.ChatMessageListSkeleton = _chunkBSETJKSWcjs.ChatMessageListSkeleton; exports.ChatMessageRow = _chunkBSETJKSWcjs.ChatMessageRow; exports.ChatMessageRowSkeleton = _chunkBSETJKSWcjs.ChatMessageRowSkeleton; exports.ChatMessageSkeleton = _chunkBSETJKSWcjs.ChatMessageSkeleton; exports.ChatPanelHeader = _chunkBSETJKSWcjs.ChatPanelHeader; exports.ChatSidebar = _chunkBSETJKSWcjs.ChatSidebar; exports.ChatTicketItem = _chunkBSETJKSWcjs.ChatTicketItem; exports.ChatTicketList = _chunkBSETJKSWcjs.ChatTicketList; exports.ChatTypingIndicator = _chunkBSETJKSWcjs.ChatTypingIndicator; exports.ChatVideoEntityCard = _chunkBSETJKSWcjs.ChatVideoEntityCard; exports.CommandBlock = _chunkBSETJKSWcjs.CommandBlock; exports.ContextCompactionDisplay = _chunkBSETJKSWcjs.ContextCompactionDisplay; exports.ContextErrorBoundary = _chunkBSETJKSWcjs.ContextErrorBoundary; exports.ContextItemsList = _chunkBSETJKSWcjs.ContextItemsList; exports.ContextItemsSkeleton = _chunkBSETJKSWcjs.ContextItemsSkeleton; exports.ContextMenuRow = _chunkBSETJKSWcjs.ContextMenuRow; exports.CustomerInterviewCard = _chunkODB2AEUWcjs.CustomerInterviewCard; exports.CustomerInterviewCardSkeleton = _chunkODB2AEUWcjs.CustomerInterviewCardSkeleton; exports.DEFAULT_DIALOG_SIDE = _chunkBSETJKSWcjs.DEFAULT_DIALOG_SIDE; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = _chunkBSETJKSWcjs.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.DEFAULT_MAX_REDUCERS = _chunkBSETJKSWcjs.DEFAULT_MAX_REDUCERS; exports.DataRoomDocCard = _chunkBSETJKSWcjs.DataRoomDocCard; exports.DataRoomDocCardSkeleton = _chunkBSETJKSWcjs.DataRoomDocCardSkeleton; exports.DialogListItem = _chunkBSETJKSWcjs.DialogListItem; exports.EMPTY_AUTHOR_PLACEHOLDER = _chunkODB2AEUWcjs.EMPTY_AUTHOR_PLACEHOLDER; exports.EMPTY_DIALOG_CAPABILITIES = _chunkBSETJKSWcjs.EMPTY_DIALOG_CAPABILITIES; exports.EmbeddableChat = _chunkBSETJKSWcjs.EmbeddableChat; exports.EmployeeEntryBadge = _chunkODB2AEUWcjs.EmployeeEntryBadge; exports.EmployeeEntryCard = _chunkODB2AEUWcjs.EmployeeEntryCard; exports.EmployeeEntryCardSkeleton = _chunkODB2AEUWcjs.EmployeeEntryCardSkeleton; exports.EntityAuthorCard = _chunkODB2AEUWcjs.EntityAuthorCard; exports.EntityMetadataAuthorCell = _chunkODB2AEUWcjs.EntityMetadataAuthorCell; exports.EntityMetadataValueCell = _chunkODB2AEUWcjs.EntityMetadataValueCell; exports.EntityPortraitCard = _chunkODB2AEUWcjs.EntityPortraitCard; exports.ErrorMessageDisplay = _chunkBSETJKSWcjs.ErrorMessageDisplay; exports.EscalationOfferMessage = _chunkBSETJKSWcjs.EscalationOfferMessage; exports.ExpandChevron = _chunkBSETJKSWcjs.ExpandChevron; exports.GenericEntityCard = _chunkBSETJKSWcjs.GenericEntityCard; exports.GenericEntityCardSkeleton = _chunkBSETJKSWcjs.GenericEntityCardSkeleton; exports.GitHubActivityCard = _chunkBSETJKSWcjs.GitHubActivityCard; exports.GitHubActivityCardSkeleton = _chunkBSETJKSWcjs.GitHubActivityCardSkeleton; exports.GuideModeBanner = _chunkBSETJKSWcjs.GuideModeBanner; exports.GuideWelcome = _chunkBSETJKSWcjs.GuideWelcome; exports.HowIWorkCard = _chunkODB2AEUWcjs.HowIWorkCard; exports.HowIWorkCardSkeleton = _chunkODB2AEUWcjs.HowIWorkCardSkeleton; exports.HubspotTicketCard = _chunkBSETJKSWcjs.HubspotTicketCard; exports.HubspotTicketCardSkeleton = _chunkBSETJKSWcjs.HubspotTicketCardSkeleton; exports.ICON_ALIASES = _chunkBSETJKSWcjs.ICON_ALIASES; exports.ICON_OPTIONS = _chunkBSETJKSWcjs.ICON_OPTIONS; exports.ICON_REGISTRY = _chunkBSETJKSWcjs.ICON_REGISTRY; exports.InvestorUpdateCard = _chunkODB2AEUWcjs.InvestorUpdateCard; exports.InvestorUpdateCardSkeleton = _chunkODB2AEUWcjs.InvestorUpdateCardSkeleton; exports.MAX_PENDING_RETAIN_KEYS = _chunkBSETJKSWcjs.MAX_PENDING_RETAIN_KEYS; exports.MESSAGE_ROLE = _chunkBSETJKSWcjs.MESSAGE_ROLE; exports.MESSAGE_TYPE = _chunkBSETJKSWcjs.MESSAGE_TYPE; exports.MessageSegmentAccumulator = _chunkBSETJKSWcjs.MessageSegmentAccumulator; exports.MingoChatHistory = _chunkBSETJKSWcjs.MingoChatHistory; exports.MingoChatHistorySkeleton = _chunkBSETJKSWcjs.MingoChatHistorySkeleton; exports.MingoHistoryRail = _chunkBSETJKSWcjs.MingoHistoryRail; exports.MingoOnboardingCard = _chunkBSETJKSWcjs.MingoOnboardingCard; exports.MingoOnboardingCardSkeleton = _chunkBSETJKSWcjs.MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = _chunkBSETJKSWcjs.MingoOnboardingListSkeleton; exports.MingoWelcome = _chunkBSETJKSWcjs.MingoWelcome; exports.ModelDisplay = _chunkBSETJKSWcjs.ModelDisplay; exports.ModelDisplaySkeleton = _chunkBSETJKSWcjs.ModelDisplaySkeleton; exports.MspOrganizationCard = _chunkBSETJKSWcjs.MspOrganizationCard; exports.MspOrganizationCardSkeleton = _chunkBSETJKSWcjs.MspOrganizationCardSkeleton; exports.NETWORK_CONFIG = _chunkBSETJKSWcjs.NETWORK_CONFIG; exports.NEW_TAB_FEATURES = _chunkBSETJKSWcjs.NEW_TAB_FEATURES; exports.NavLinkAnchorViaRuntime = _chunkBSETJKSWcjs.NavLinkAnchorViaRuntime; exports.OWNER_TYPE = _chunkBSETJKSWcjs.OWNER_TYPE; exports.OnboardingGuideCard = _chunkODB2AEUWcjs.OnboardingGuideCard; exports.OnboardingGuideCardSkeleton = _chunkODB2AEUWcjs.OnboardingGuideCardSkeleton; exports.ProductReleaseCard = _chunkODB2AEUWcjs.ProductReleaseCard; exports.ProductReleaseCardSkeleton = _chunkODB2AEUWcjs.ProductReleaseCardSkeleton; exports.ProgramCard = _chunkODB2AEUWcjs.ProgramCard; exports.ProgramCardSkeleton = _chunkODB2AEUWcjs.ProgramCardSkeleton; exports.QuickActionChipButton = _chunkBSETJKSWcjs.QuickActionChipButton; exports.QuickActionChipFromData = _chunkBSETJKSWcjs.QuickActionChipFromData; exports.QuickActionChipSkeleton = _chunkBSETJKSWcjs.QuickActionChipSkeleton; exports.QuickActionMarquee = _chunkBSETJKSWcjs.QuickActionMarquee; exports.QuickActionWall = _chunkBSETJKSWcjs.QuickActionWall; exports.RESYNC_AFTER_HIDDEN_MS = _chunkBSETJKSWcjs.RESYNC_AFTER_HIDDEN_MS; exports.RenameChatModal = _chunkBSETJKSWcjs.RenameChatModal; exports.ResultBlock = _chunkBSETJKSWcjs.ResultBlock; exports.RoadmapCard = _chunkODB2AEUWcjs.RoadmapCard; exports.RoadmapCardSkeleton = _chunkODB2AEUWcjs.RoadmapCardSkeleton; exports.RoadmapVoteButton = _chunkODB2AEUWcjs.RoadmapVoteButton; exports.SCROLL_ANCHOR = _chunkBSETJKSWcjs.SCROLL_ANCHOR; exports.SCROLL_ANCHOR_WIRE_KEY = _chunkBSETJKSWcjs.SCROLL_ANCHOR_WIRE_KEY; exports.SOURCE_ICON_NAMES = _chunkBSETJKSWcjs.SOURCE_ICON_NAMES; exports.SOURCE_LABELS_BY_TABLE = _chunkBSETJKSWcjs.SOURCE_LABELS_BY_TABLE; exports.SYNTHETIC_REALTIME_ID_PREFIXES = _chunkBSETJKSWcjs.SYNTHETIC_REALTIME_ID_PREFIXES; exports.SlackMessageCard = _chunkBSETJKSWcjs.SlackMessageCard; exports.SlackMessageCardSkeleton = _chunkBSETJKSWcjs.SlackMessageCardSkeleton; exports.SlashCommandSuggestions = _chunkBSETJKSWcjs.SlashCommandSuggestions; exports.SourceActionButton = _chunkBSETJKSWcjs.SourceActionButton; exports.TICKET_EVENT_KIND = _chunkBSETJKSWcjs.TICKET_EVENT_KIND; exports.TaskTypeIcon = _chunkODB2AEUWcjs.TaskTypeIcon; exports.ThinkingDisplay = _chunkBSETJKSWcjs.ThinkingDisplay; exports.TicketEscalatedMessage = _chunkBSETJKSWcjs.TicketEscalatedMessage; exports.TicketEventMessage = _chunkBSETJKSWcjs.TicketEventMessage; exports.ToolExecutionDisplay = _chunkBSETJKSWcjs.ToolExecutionDisplay; exports.UnarchiveChatModal = _chunkBSETJKSWcjs.UnarchiveChatModal; exports.WALL_SKELETON_LABEL_CH = _chunkBSETJKSWcjs.WALL_SKELETON_LABEL_CH; exports.WhatIShippedCard = _chunkODB2AEUWcjs.WhatIShippedCard; exports.WhatIShippedCardSkeleton = _chunkODB2AEUWcjs.WhatIShippedCardSkeleton; exports.accentFromIdentityIcon = _chunkBSETJKSWcjs.accentFromIdentityIcon; exports.appendToTrailingAssistant = _chunkBSETJKSWcjs.appendToTrailingAssistant; exports.applyToolExecutionToMessages = _chunkBSETJKSWcjs.applyToolExecutionToMessages; exports.approvalDisplaysInline = _chunkBSETJKSWcjs.approvalDisplaysInline; exports.buildAnchorProps = _chunkODB2AEUWcjs.buildAnchorProps; exports.buildAutoContinuationDirective = _chunkBSETJKSWcjs.buildAutoContinuationDirective; exports.buildChatAttachmentViewUrl = _chunkBSETJKSWcjs.buildChatAttachmentViewUrl; exports.buildDiscussAddendum = _chunkBSETJKSWcjs.buildDiscussAddendum; exports.buildDiscussPrompt = _chunkBSETJKSWcjs.buildDiscussPrompt; exports.buildNatsWsUrl = _chunkBSETJKSWcjs.buildNatsWsUrl; exports.buildProductReleaseCardProps = _chunkODB2AEUWcjs.buildProductReleaseCardProps; exports.buildStreamFrames = _chunkBSETJKSWcjs.buildStreamFrames; exports.chatCardLabel = _chunkBSETJKSWcjs.chatCardLabel; exports.chatChipClass = _chunkBSETJKSWcjs.chatChipClass; exports.clickupTaskUrl = _chunkBSETJKSWcjs.clickupTaskUrl; exports.computeHistoryPrepend = _chunkBSETJKSWcjs.computeHistoryPrepend; exports.computeIsNewTab = _chunkODB2AEUWcjs.computeIsNewTab; exports.createChatConversationsApi = _chunkBSETJKSWcjs.createChatConversationsApi; exports.createChatDialogStore = _chunkBSETJKSWcjs.createChatDialogStore; exports.createChatStreamReducer = _chunkBSETJKSWcjs.createChatStreamReducer; exports.createDeltaBatcher = _chunkBSETJKSWcjs.createDeltaBatcher; exports.createEmptyTurnMeta = _chunkBSETJKSWcjs.createEmptyTurnMeta; exports.createMessageSegmentAccumulator = _chunkBSETJKSWcjs.createMessageSegmentAccumulator; exports.decideNewTab = _chunkODB2AEUWcjs.decideNewTab; exports.decodeHistoricalMessageData = _chunkBSETJKSWcjs.decodeHistoricalMessageData; exports.defaultBuildProductReleaseCardProps = _chunkODB2AEUWcjs.defaultBuildProductReleaseCardProps; exports.defaultTableIdForDocumentType = _chunkBSETJKSWcjs.defaultTableIdForDocumentType; exports.escapeMarkdownInline = _chunkBSETJKSWcjs.escapeMarkdownInline; exports.executeNavigation = _chunkBSETJKSWcjs.executeNavigation; exports.executeNavigationImperative = _chunkBSETJKSWcjs.executeNavigationImperative; exports.extractEntityIdFilter = _chunkBSETJKSWcjs.extractEntityIdFilter; exports.extractErrorMessages = _chunkBSETJKSWcjs.extractErrorMessages; exports.extractIncompleteMessageState = _chunkBSETJKSWcjs.extractIncompleteMessageState; exports.extractIncompleteTailState = _chunkBSETJKSWcjs.extractIncompleteTailState; exports.fetchEmptyStateConfig = _chunkBSETJKSWcjs.fetchEmptyStateConfig; exports.fetchSlashCommands = _chunkBSETJKSWcjs.fetchSlashCommands; exports.flattenAssistantContent = _chunkBSETJKSWcjs.flattenAssistantContent; exports.flattenMessagePagesChronological = _chunkBSETJKSWcjs.flattenMessagePagesChronological; exports.formatChatAttachmentMarkdownForBubble = _chunkBSETJKSWcjs.formatChatAttachmentMarkdownForBubble; exports.formatInvestorUpdatePeriod = _chunkODB2AEUWcjs.formatInvestorUpdatePeriod; exports.formatSingularLookupInvocation = _chunkBSETJKSWcjs.formatSingularLookupInvocation; exports.getAgentAccent = _chunkBSETJKSWcjs.getAgentAccent; exports.getCommandText = _chunkBSETJKSWcjs.getCommandText; exports.getDynamicIcon = _chunkBSETJKSWcjs.getDynamicIcon; exports.getIconComponent = _chunkBSETJKSWcjs.getIconComponent; exports.getSourceIconName = _chunkBSETJKSWcjs.getSourceIconName; exports.getSourceLabel = _chunkBSETJKSWcjs.getSourceLabel; exports.getStatusColorScheme = _chunkODB2AEUWcjs.getStatusColorScheme; exports.getTaskTypeLabel = _chunkODB2AEUWcjs.getTaskTypeLabel; exports.handleChatNavClick = _chunkBSETJKSWcjs.handleChatNavClick; exports.hideOnError = _chunkODB2AEUWcjs.hideOnError; exports.historicalToUnified = _chunkBSETJKSWcjs.historicalToUnified; exports.interleave = _chunkBSETJKSWcjs.interleave; exports.isCrossOriginUrl = _chunkODB2AEUWcjs.isCrossOriginUrl; exports.isHistoricalUserTurn = _chunkBSETJKSWcjs.isHistoricalUserTurn; exports.isModifierClick = _chunkBSETJKSWcjs.isModifierClick; exports.isQuickActionIconSpec = _chunkBSETJKSWcjs.isQuickActionIconSpec; exports.isStructuredContent = _chunkBSETJKSWcjs.isStructuredContent; exports.mapProcessedToUnified = _chunkBSETJKSWcjs.mapProcessedToUnified; exports.maxPersistedStreamSeq = _chunkBSETJKSWcjs.maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = _chunkBSETJKSWcjs.mergeHistoryWithRealtime; exports.newTabAnchorAttrs = _chunkODB2AEUWcjs.newTabAnchorAttrs; exports.normalizeContent = _chunkBSETJKSWcjs.normalizeContent; exports.normalizeHistoricalMessageData = _chunkBSETJKSWcjs.normalizeHistoricalMessageData; exports.normalizeIconKey = _chunkBSETJKSWcjs.normalizeIconKey; exports.parseScrollAnchor = _chunkBSETJKSWcjs.parseScrollAnchor; exports.parseWireCommandOverride = _chunkBSETJKSWcjs.parseWireCommandOverride; exports.processHistoricalMessages = _chunkBSETJKSWcjs.processHistoricalMessages; exports.processHistoricalMessagesWithErrors = _chunkBSETJKSWcjs.processHistoricalMessagesWithErrors; exports.programItemToStripProfile = _chunkODB2AEUWcjs.programItemToStripProfile; exports.readFetchedCardTitle = _chunkBSETJKSWcjs.readFetchedCardTitle; exports.remarkCardLinks = _chunkBSETJKSWcjs.remarkCardLinks; exports.remarkMentionChips = _chunkBSETJKSWcjs.remarkMentionChips; exports.renderChatInlineEntityCard = _chunkBSETJKSWcjs.renderChatInlineEntityCard; exports.renderQuickActionIcon = _chunkBSETJKSWcjs.renderQuickActionIcon; exports.resolveExternalNavigation = _chunkBSETJKSWcjs.resolveExternalNavigation; exports.resolveFetchedCardHref = _chunkBSETJKSWcjs.resolveFetchedCardHref; exports.resolveIcon = _chunkBSETJKSWcjs.resolveIcon; exports.resolveSourceIcon = _chunkBSETJKSWcjs.resolveSourceIcon; exports.resolveSourceRowCTA = _chunkBSETJKSWcjs.resolveSourceRowCTA; exports.safeHref = _chunkODB2AEUWcjs.safeHref; exports.sanitizeTitleForChat = _chunkBSETJKSWcjs.sanitizeTitleForChat; exports.stripChatAttachmentMarkdown = _chunkBSETJKSWcjs.stripChatAttachmentMarkdown; exports.stripSameOriginToPath = _chunkBSETJKSWcjs.stripSameOriginToPath; exports.upsertTrailingCompaction = _chunkBSETJKSWcjs.upsertTrailingCompaction; exports.useChat = _chunkBSETJKSWcjs.useChat; exports.useChatAttachmentImageGallery = _chunkBSETJKSWcjs.useChatAttachmentImageGallery; exports.useChatAttachments = _chunkBSETJKSWcjs.useChatAttachments; exports.useChatCardItem = _chunkBSETJKSWcjs.useChatCardItem; exports.useChatIdentity = _chunkBSETJKSWcjs.useChatIdentity; exports.useChatStreamReducer = _chunkBSETJKSWcjs.useChatStreamReducer; exports.useChunkCatchup = _chunkBSETJKSWcjs.useChunkCatchup; exports.useCloseOnNavigation = _chunkBSETJKSWcjs.useCloseOnNavigation; exports.useCollapsible = _chunkBSETJKSWcjs.useCollapsible; exports.useCoverImageFallback = _chunkODB2AEUWcjs.useCoverImageFallback; exports.useEmbeddedChat = _chunkBSETJKSWcjs.useSseChatAdapter; exports.useEmptyStateConfig = _chunkBSETJKSWcjs.useEmptyStateConfig; exports.useJetStreamDialogSubscription = _chunkBSETJKSWcjs.useJetStreamDialogSubscription; exports.useManagedDialogList = _chunkBSETJKSWcjs.useManagedDialogList; exports.useNatsChatAdapter = _chunkBSETJKSWcjs.useNatsChatAdapter; exports.useNatsDialogSubscription = _chunkBSETJKSWcjs.useNatsDialogSubscription; exports.useProxiedImageUrl = _chunkBSETJKSWcjs.useProxiedImageUrl; exports.useSSE = _chunkBSETJKSWcjs.useSSE; exports.useScriptedStream = _chunkBSETJKSWcjs.useScriptedStream; exports.useSlashCommandRegistry = _chunkBSETJKSWcjs.useSlashCommandRegistry; exports.useSlashCommands = _chunkBSETJKSWcjs.useSlashCommands; exports.useSseChatAdapter = _chunkBSETJKSWcjs.useSseChatAdapter; exports.useStableShallow = _chunkBSETJKSWcjs.useStableShallow; exports.useUnifiedChat = _chunkBSETJKSWcjs.useUnifiedChat;
609
+ exports.ADMIN_CONTENT_CARD_GRID_CLASS = _chunkMNUR6PAJcjs.ADMIN_CONTENT_CARD_GRID_CLASS; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = _chunkMNUR6PAJcjs.ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.APPROVAL_BLOCK_VARIANT = _chunkMNUR6PAJcjs.APPROVAL_BLOCK_VARIANT; exports.APPROVAL_STATUS = _chunkMNUR6PAJcjs.APPROVAL_STATUS; exports.ASSISTANT_TYPE = _chunkMNUR6PAJcjs.ASSISTANT_TYPE; exports.AUTHOR_TYPE = _chunkMNUR6PAJcjs.AUTHOR_TYPE; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = _chunkMNUR6PAJcjs.AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.AdminContentCard = _chunkODB2AEUWcjs.AdminContentCard; exports.AdminContentCardGrid = _chunkMNUR6PAJcjs.AdminContentCardGrid; exports.AdminContentCardSkeleton = _chunkMNUR6PAJcjs.AdminContentCardSkeleton; exports.AiAssistantInfo = _chunkMNUR6PAJcjs.AiAssistantInfo; exports.AiPromptCard = _chunkODB2AEUWcjs.AiPromptCard; exports.AiPromptCardSkeleton = _chunkODB2AEUWcjs.AiPromptCardSkeleton; exports.ApprovalBatchMessage = _chunkMNUR6PAJcjs.ApprovalBatchMessage; exports.ApprovalRequestMessage = _chunkMNUR6PAJcjs.ApprovalRequestMessage; exports.ApprovalStatusTag = _chunkMNUR6PAJcjs.ApprovalStatusTag; exports.ArchiveChatModal = _chunkMNUR6PAJcjs.ArchiveChatModal; exports.ArgRow = _chunkMNUR6PAJcjs.ArgRow; exports.AskDisplay = _chunkMNUR6PAJcjs.AskDisplay; exports.BlockCard = _chunkMNUR6PAJcjs.BlockCard; exports.BlogCard = _chunkODB2AEUWcjs.BlogCard; exports.BlogCardSkeleton = _chunkODB2AEUWcjs.BlogCardSkeleton; exports.BlogImagePlaceholder = _chunkODB2AEUWcjs.BlogImagePlaceholder; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = _chunkMNUR6PAJcjs.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = _chunkMNUR6PAJcjs.CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.CHAT_ATTACHMENT_MIME_TYPES = _chunkMNUR6PAJcjs.CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = _chunkMNUR6PAJcjs.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = _chunkMNUR6PAJcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkMNUR6PAJcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = _chunkMNUR6PAJcjs.CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.CHAT_TYPE = _chunkMNUR6PAJcjs.CHAT_TYPE; exports.CHIP_ACTION_BUTTON_CLASS = _chunkMNUR6PAJcjs.CHIP_ACTION_BUTTON_CLASS; exports.COMPACT_CARD_ICON_SLOT = _chunkODB2AEUWcjs.COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_IMAGE_SLOT = _chunkODB2AEUWcjs.COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_META_ROW = _chunkODB2AEUWcjs.COMPACT_CARD_META_ROW; exports.COMPACT_CARD_META_ROW_BOX = _chunkODB2AEUWcjs.COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_OUTER = _chunkODB2AEUWcjs.COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = _chunkODB2AEUWcjs.COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_ROW_FILLER = _chunkODB2AEUWcjs.COMPACT_CARD_ROW_FILLER; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = _chunkODB2AEUWcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_OUTER = _chunkODB2AEUWcjs.COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_SUBTITLE = _chunkODB2AEUWcjs.COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = _chunkODB2AEUWcjs.COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_TEXT_COL = _chunkODB2AEUWcjs.COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE = _chunkODB2AEUWcjs.COMPACT_CARD_TITLE; exports.COMPACT_CARD_TITLE_ROW = _chunkODB2AEUWcjs.COMPACT_CARD_TITLE_ROW; exports.CONNECTION_STATUS = _chunkMNUR6PAJcjs.CONNECTION_STATUS; exports.CONTEXT_BACK_CLASS = _chunkMNUR6PAJcjs.CONTEXT_BACK_CLASS; exports.CONTEXT_ICON_CLASS = _chunkMNUR6PAJcjs.CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = _chunkMNUR6PAJcjs.CONTEXT_LABEL_CLASS; exports.CONTEXT_ROW_CLASS = _chunkMNUR6PAJcjs.CONTEXT_ROW_CLASS; exports.CONTEXT_STATE_CLASS = _chunkMNUR6PAJcjs.CONTEXT_STATE_CLASS; exports.CUSTOM_ITEM_ID = _chunkODB2AEUWcjs.CUSTOM_ITEM_ID; exports.CampaignCardAdmin = _chunkMNUR6PAJcjs.CampaignCardAdmin; exports.CampaignCardAdminSkeleton = _chunkMNUR6PAJcjs.CampaignCardAdminSkeleton; exports.CaseStudyCard = _chunkODB2AEUWcjs.CaseStudyCard; exports.CaseStudyCardSkeleton = _chunkODB2AEUWcjs.CaseStudyCardSkeleton; exports.ChatArchivePage = _chunkMNUR6PAJcjs.ChatArchivePage; exports.ChatAttachmentAddButton = _chunkMNUR6PAJcjs.ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = _chunkMNUR6PAJcjs.ChatAttachmentChipStrip; exports.ChatCardLoader = _chunkMNUR6PAJcjs.ChatCardLoader; exports.ChatComposer = _chunkMNUR6PAJcjs.ChatComposer; exports.ChatComposerPlusMenu = _chunkMNUR6PAJcjs.ChatComposerPlusMenu; exports.ChatContainer = _chunkMNUR6PAJcjs.ChatContainer; exports.ChatContent = _chunkMNUR6PAJcjs.ChatContent; exports.ChatContextChipStrip = _chunkMNUR6PAJcjs.ChatContextChipStrip; exports.ChatContextMemoryBar = _chunkMNUR6PAJcjs.ChatContextMemoryBar; exports.ChatContextPicker = _chunkMNUR6PAJcjs.ChatContextPicker; exports.ChatDialogModals = _chunkMNUR6PAJcjs.ChatDialogModals; exports.ChatFooter = _chunkMNUR6PAJcjs.ChatFooter; exports.ChatHeader = _chunkMNUR6PAJcjs.ChatHeader; exports.ChatHeaderIconButton = _chunkMNUR6PAJcjs.ChatHeaderIconButton; exports.ChatHeaderSearchField = _chunkMNUR6PAJcjs.ChatHeaderSearchField; exports.ChatIdentityProvider = _chunkMNUR6PAJcjs.ChatIdentityProvider; exports.ChatInput = _chunkMNUR6PAJcjs.ChatInput; exports.ChatMessageEnhanced = _chunkMNUR6PAJcjs.MemoizedChatMessageEnhanced; exports.ChatMessageList = _chunkMNUR6PAJcjs.ChatMessageList; exports.ChatMessageListSkeleton = _chunkMNUR6PAJcjs.ChatMessageListSkeleton; exports.ChatMessageRow = _chunkMNUR6PAJcjs.ChatMessageRow; exports.ChatMessageRowSkeleton = _chunkMNUR6PAJcjs.ChatMessageRowSkeleton; exports.ChatMessageSkeleton = _chunkMNUR6PAJcjs.ChatMessageSkeleton; exports.ChatPanelHeader = _chunkMNUR6PAJcjs.ChatPanelHeader; exports.ChatSidebar = _chunkMNUR6PAJcjs.ChatSidebar; exports.ChatTicketItem = _chunkMNUR6PAJcjs.ChatTicketItem; exports.ChatTicketList = _chunkMNUR6PAJcjs.ChatTicketList; exports.ChatTypingIndicator = _chunkMNUR6PAJcjs.ChatTypingIndicator; exports.ChatVideoEntityCard = _chunkMNUR6PAJcjs.ChatVideoEntityCard; exports.CommandBlock = _chunkMNUR6PAJcjs.CommandBlock; exports.ContextCompactionDisplay = _chunkMNUR6PAJcjs.ContextCompactionDisplay; exports.ContextErrorBoundary = _chunkMNUR6PAJcjs.ContextErrorBoundary; exports.ContextItemsList = _chunkMNUR6PAJcjs.ContextItemsList; exports.ContextItemsSkeleton = _chunkMNUR6PAJcjs.ContextItemsSkeleton; exports.ContextMenuRow = _chunkMNUR6PAJcjs.ContextMenuRow; exports.CustomerInterviewCard = _chunkODB2AEUWcjs.CustomerInterviewCard; exports.CustomerInterviewCardSkeleton = _chunkODB2AEUWcjs.CustomerInterviewCardSkeleton; exports.DEFAULT_DIALOG_SIDE = _chunkMNUR6PAJcjs.DEFAULT_DIALOG_SIDE; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = _chunkMNUR6PAJcjs.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.DEFAULT_MAX_REDUCERS = _chunkMNUR6PAJcjs.DEFAULT_MAX_REDUCERS; exports.DataRoomDocCard = _chunkMNUR6PAJcjs.DataRoomDocCard; exports.DataRoomDocCardSkeleton = _chunkMNUR6PAJcjs.DataRoomDocCardSkeleton; exports.DialogListItem = _chunkMNUR6PAJcjs.DialogListItem; exports.EMPTY_AUTHOR_PLACEHOLDER = _chunkODB2AEUWcjs.EMPTY_AUTHOR_PLACEHOLDER; exports.EMPTY_DIALOG_CAPABILITIES = _chunkMNUR6PAJcjs.EMPTY_DIALOG_CAPABILITIES; exports.EmbeddableChat = _chunkMNUR6PAJcjs.EmbeddableChat; exports.EmployeeEntryBadge = _chunkODB2AEUWcjs.EmployeeEntryBadge; exports.EmployeeEntryCard = _chunkODB2AEUWcjs.EmployeeEntryCard; exports.EmployeeEntryCardSkeleton = _chunkODB2AEUWcjs.EmployeeEntryCardSkeleton; exports.EntityAuthorCard = _chunkODB2AEUWcjs.EntityAuthorCard; exports.EntityMetadataAuthorCell = _chunkODB2AEUWcjs.EntityMetadataAuthorCell; exports.EntityMetadataValueCell = _chunkODB2AEUWcjs.EntityMetadataValueCell; exports.EntityPortraitCard = _chunkODB2AEUWcjs.EntityPortraitCard; exports.ErrorMessageDisplay = _chunkMNUR6PAJcjs.ErrorMessageDisplay; exports.EscalationOfferMessage = _chunkMNUR6PAJcjs.EscalationOfferMessage; exports.ExpandChevron = _chunkMNUR6PAJcjs.ExpandChevron; exports.GenericEntityCard = _chunkMNUR6PAJcjs.GenericEntityCard; exports.GenericEntityCardSkeleton = _chunkMNUR6PAJcjs.GenericEntityCardSkeleton; exports.GitHubActivityCard = _chunkMNUR6PAJcjs.GitHubActivityCard; exports.GitHubActivityCardSkeleton = _chunkMNUR6PAJcjs.GitHubActivityCardSkeleton; exports.GuideModeBanner = _chunkMNUR6PAJcjs.GuideModeBanner; exports.GuideWelcome = _chunkMNUR6PAJcjs.GuideWelcome; exports.HowIWorkCard = _chunkODB2AEUWcjs.HowIWorkCard; exports.HowIWorkCardSkeleton = _chunkODB2AEUWcjs.HowIWorkCardSkeleton; exports.HubspotTicketCard = _chunkMNUR6PAJcjs.HubspotTicketCard; exports.HubspotTicketCardSkeleton = _chunkMNUR6PAJcjs.HubspotTicketCardSkeleton; exports.ICON_ALIASES = _chunkMNUR6PAJcjs.ICON_ALIASES; exports.ICON_OPTIONS = _chunkMNUR6PAJcjs.ICON_OPTIONS; exports.ICON_REGISTRY = _chunkMNUR6PAJcjs.ICON_REGISTRY; exports.InvestorUpdateCard = _chunkODB2AEUWcjs.InvestorUpdateCard; exports.InvestorUpdateCardSkeleton = _chunkODB2AEUWcjs.InvestorUpdateCardSkeleton; exports.MAX_PENDING_RETAIN_KEYS = _chunkMNUR6PAJcjs.MAX_PENDING_RETAIN_KEYS; exports.MESSAGE_ROLE = _chunkMNUR6PAJcjs.MESSAGE_ROLE; exports.MESSAGE_TYPE = _chunkMNUR6PAJcjs.MESSAGE_TYPE; exports.MessageSegmentAccumulator = _chunkMNUR6PAJcjs.MessageSegmentAccumulator; exports.MingoChatHistory = _chunkMNUR6PAJcjs.MingoChatHistory; exports.MingoChatHistorySkeleton = _chunkMNUR6PAJcjs.MingoChatHistorySkeleton; exports.MingoHistoryRail = _chunkMNUR6PAJcjs.MingoHistoryRail; exports.MingoOnboardingCard = _chunkMNUR6PAJcjs.MingoOnboardingCard; exports.MingoOnboardingCardSkeleton = _chunkMNUR6PAJcjs.MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = _chunkMNUR6PAJcjs.MingoOnboardingListSkeleton; exports.MingoWelcome = _chunkMNUR6PAJcjs.MingoWelcome; exports.ModelDisplay = _chunkMNUR6PAJcjs.ModelDisplay; exports.ModelDisplaySkeleton = _chunkMNUR6PAJcjs.ModelDisplaySkeleton; exports.MspOrganizationCard = _chunkMNUR6PAJcjs.MspOrganizationCard; exports.MspOrganizationCardSkeleton = _chunkMNUR6PAJcjs.MspOrganizationCardSkeleton; exports.NETWORK_CONFIG = _chunkMNUR6PAJcjs.NETWORK_CONFIG; exports.NEW_TAB_FEATURES = _chunkMNUR6PAJcjs.NEW_TAB_FEATURES; exports.NavLinkAnchorViaRuntime = _chunkMNUR6PAJcjs.NavLinkAnchorViaRuntime; exports.OWNER_TYPE = _chunkMNUR6PAJcjs.OWNER_TYPE; exports.OnboardingGuideCard = _chunkODB2AEUWcjs.OnboardingGuideCard; exports.OnboardingGuideCardSkeleton = _chunkODB2AEUWcjs.OnboardingGuideCardSkeleton; exports.ProductReleaseCard = _chunkODB2AEUWcjs.ProductReleaseCard; exports.ProductReleaseCardSkeleton = _chunkODB2AEUWcjs.ProductReleaseCardSkeleton; exports.ProgramCard = _chunkODB2AEUWcjs.ProgramCard; exports.ProgramCardSkeleton = _chunkODB2AEUWcjs.ProgramCardSkeleton; exports.QuickActionChipButton = _chunkMNUR6PAJcjs.QuickActionChipButton; exports.QuickActionChipFromData = _chunkMNUR6PAJcjs.QuickActionChipFromData; exports.QuickActionChipSkeleton = _chunkMNUR6PAJcjs.QuickActionChipSkeleton; exports.QuickActionMarquee = _chunkMNUR6PAJcjs.QuickActionMarquee; exports.QuickActionWall = _chunkMNUR6PAJcjs.QuickActionWall; exports.RESYNC_AFTER_HIDDEN_MS = _chunkMNUR6PAJcjs.RESYNC_AFTER_HIDDEN_MS; exports.RenameChatModal = _chunkMNUR6PAJcjs.RenameChatModal; exports.ResultBlock = _chunkMNUR6PAJcjs.ResultBlock; exports.RoadmapCard = _chunkODB2AEUWcjs.RoadmapCard; exports.RoadmapCardSkeleton = _chunkODB2AEUWcjs.RoadmapCardSkeleton; exports.RoadmapVoteButton = _chunkODB2AEUWcjs.RoadmapVoteButton; exports.SCROLL_ANCHOR = _chunkMNUR6PAJcjs.SCROLL_ANCHOR; exports.SCROLL_ANCHOR_WIRE_KEY = _chunkMNUR6PAJcjs.SCROLL_ANCHOR_WIRE_KEY; exports.SOURCE_ICON_NAMES = _chunkMNUR6PAJcjs.SOURCE_ICON_NAMES; exports.SOURCE_LABELS_BY_TABLE = _chunkMNUR6PAJcjs.SOURCE_LABELS_BY_TABLE; exports.SYNTHETIC_REALTIME_ID_PREFIXES = _chunkMNUR6PAJcjs.SYNTHETIC_REALTIME_ID_PREFIXES; exports.SlackMessageCard = _chunkMNUR6PAJcjs.SlackMessageCard; exports.SlackMessageCardSkeleton = _chunkMNUR6PAJcjs.SlackMessageCardSkeleton; exports.SlashCommandSuggestions = _chunkMNUR6PAJcjs.SlashCommandSuggestions; exports.SourceActionButton = _chunkMNUR6PAJcjs.SourceActionButton; exports.TICKET_EVENT_KIND = _chunkMNUR6PAJcjs.TICKET_EVENT_KIND; exports.TaskTypeIcon = _chunkODB2AEUWcjs.TaskTypeIcon; exports.ThinkingDisplay = _chunkMNUR6PAJcjs.ThinkingDisplay; exports.TicketEscalatedMessage = _chunkMNUR6PAJcjs.TicketEscalatedMessage; exports.TicketEventMessage = _chunkMNUR6PAJcjs.TicketEventMessage; exports.ToolExecutionDisplay = _chunkMNUR6PAJcjs.ToolExecutionDisplay; exports.UnarchiveChatModal = _chunkMNUR6PAJcjs.UnarchiveChatModal; exports.WALL_SKELETON_LABEL_CH = _chunkMNUR6PAJcjs.WALL_SKELETON_LABEL_CH; exports.WhatIShippedCard = _chunkODB2AEUWcjs.WhatIShippedCard; exports.WhatIShippedCardSkeleton = _chunkODB2AEUWcjs.WhatIShippedCardSkeleton; exports.accentFromIdentityIcon = _chunkMNUR6PAJcjs.accentFromIdentityIcon; exports.appendToTrailingAssistant = _chunkMNUR6PAJcjs.appendToTrailingAssistant; exports.applyToolExecutionToMessages = _chunkMNUR6PAJcjs.applyToolExecutionToMessages; exports.approvalDisplaysInline = _chunkMNUR6PAJcjs.approvalDisplaysInline; exports.buildAnchorProps = _chunkODB2AEUWcjs.buildAnchorProps; exports.buildAutoContinuationDirective = _chunkMNUR6PAJcjs.buildAutoContinuationDirective; exports.buildChatAttachmentViewUrl = _chunkMNUR6PAJcjs.buildChatAttachmentViewUrl; exports.buildDiscussAddendum = _chunkMNUR6PAJcjs.buildDiscussAddendum; exports.buildDiscussPrompt = _chunkMNUR6PAJcjs.buildDiscussPrompt; exports.buildNatsWsUrl = _chunkMNUR6PAJcjs.buildNatsWsUrl; exports.buildProductReleaseCardProps = _chunkODB2AEUWcjs.buildProductReleaseCardProps; exports.buildStreamFrames = _chunkMNUR6PAJcjs.buildStreamFrames; exports.chatCardLabel = _chunkMNUR6PAJcjs.chatCardLabel; exports.chatChipClass = _chunkMNUR6PAJcjs.chatChipClass; exports.clickupTaskUrl = _chunkMNUR6PAJcjs.clickupTaskUrl; exports.computeHistoryPrepend = _chunkMNUR6PAJcjs.computeHistoryPrepend; exports.computeIsNewTab = _chunkODB2AEUWcjs.computeIsNewTab; exports.createChatConversationsApi = _chunkMNUR6PAJcjs.createChatConversationsApi; exports.createChatDialogStore = _chunkMNUR6PAJcjs.createChatDialogStore; exports.createChatStreamReducer = _chunkMNUR6PAJcjs.createChatStreamReducer; exports.createDeltaBatcher = _chunkMNUR6PAJcjs.createDeltaBatcher; exports.createEmptyTurnMeta = _chunkMNUR6PAJcjs.createEmptyTurnMeta; exports.createMessageSegmentAccumulator = _chunkMNUR6PAJcjs.createMessageSegmentAccumulator; exports.decideNewTab = _chunkODB2AEUWcjs.decideNewTab; exports.decodeHistoricalMessageData = _chunkMNUR6PAJcjs.decodeHistoricalMessageData; exports.defaultBuildProductReleaseCardProps = _chunkODB2AEUWcjs.defaultBuildProductReleaseCardProps; exports.defaultTableIdForDocumentType = _chunkMNUR6PAJcjs.defaultTableIdForDocumentType; exports.escapeMarkdownInline = _chunkMNUR6PAJcjs.escapeMarkdownInline; exports.executeNavigation = _chunkMNUR6PAJcjs.executeNavigation; exports.executeNavigationImperative = _chunkMNUR6PAJcjs.executeNavigationImperative; exports.extractEntityIdFilter = _chunkMNUR6PAJcjs.extractEntityIdFilter; exports.extractErrorMessages = _chunkMNUR6PAJcjs.extractErrorMessages; exports.extractIncompleteMessageState = _chunkMNUR6PAJcjs.extractIncompleteMessageState; exports.extractIncompleteTailState = _chunkMNUR6PAJcjs.extractIncompleteTailState; exports.fetchEmptyStateConfig = _chunkMNUR6PAJcjs.fetchEmptyStateConfig; exports.fetchSlashCommands = _chunkMNUR6PAJcjs.fetchSlashCommands; exports.flattenAssistantContent = _chunkMNUR6PAJcjs.flattenAssistantContent; exports.flattenMessagePagesChronological = _chunkMNUR6PAJcjs.flattenMessagePagesChronological; exports.formatChatAttachmentMarkdownForBubble = _chunkMNUR6PAJcjs.formatChatAttachmentMarkdownForBubble; exports.formatInvestorUpdatePeriod = _chunkODB2AEUWcjs.formatInvestorUpdatePeriod; exports.formatSingularLookupInvocation = _chunkMNUR6PAJcjs.formatSingularLookupInvocation; exports.getAgentAccent = _chunkMNUR6PAJcjs.getAgentAccent; exports.getCommandText = _chunkMNUR6PAJcjs.getCommandText; exports.getDynamicIcon = _chunkMNUR6PAJcjs.getDynamicIcon; exports.getIconComponent = _chunkMNUR6PAJcjs.getIconComponent; exports.getSourceIconName = _chunkMNUR6PAJcjs.getSourceIconName; exports.getSourceLabel = _chunkMNUR6PAJcjs.getSourceLabel; exports.getStatusColorScheme = _chunkODB2AEUWcjs.getStatusColorScheme; exports.getTaskTypeLabel = _chunkODB2AEUWcjs.getTaskTypeLabel; exports.handleChatNavClick = _chunkMNUR6PAJcjs.handleChatNavClick; exports.hideOnError = _chunkODB2AEUWcjs.hideOnError; exports.historicalToUnified = _chunkMNUR6PAJcjs.historicalToUnified; exports.interleave = _chunkMNUR6PAJcjs.interleave; exports.isCrossOriginUrl = _chunkODB2AEUWcjs.isCrossOriginUrl; exports.isHistoricalUserTurn = _chunkMNUR6PAJcjs.isHistoricalUserTurn; exports.isModifierClick = _chunkMNUR6PAJcjs.isModifierClick; exports.isQuickActionIconSpec = _chunkMNUR6PAJcjs.isQuickActionIconSpec; exports.isStructuredContent = _chunkMNUR6PAJcjs.isStructuredContent; exports.mapProcessedToUnified = _chunkMNUR6PAJcjs.mapProcessedToUnified; exports.maxPersistedStreamSeq = _chunkMNUR6PAJcjs.maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = _chunkMNUR6PAJcjs.mergeHistoryWithRealtime; exports.newTabAnchorAttrs = _chunkODB2AEUWcjs.newTabAnchorAttrs; exports.normalizeContent = _chunkMNUR6PAJcjs.normalizeContent; exports.normalizeHistoricalMessageData = _chunkMNUR6PAJcjs.normalizeHistoricalMessageData; exports.normalizeIconKey = _chunkMNUR6PAJcjs.normalizeIconKey; exports.parseScrollAnchor = _chunkMNUR6PAJcjs.parseScrollAnchor; exports.parseWireCommandOverride = _chunkMNUR6PAJcjs.parseWireCommandOverride; exports.processHistoricalMessages = _chunkMNUR6PAJcjs.processHistoricalMessages; exports.processHistoricalMessagesWithErrors = _chunkMNUR6PAJcjs.processHistoricalMessagesWithErrors; exports.programItemToStripProfile = _chunkODB2AEUWcjs.programItemToStripProfile; exports.readFetchedCardTitle = _chunkMNUR6PAJcjs.readFetchedCardTitle; exports.remarkCardLinks = _chunkMNUR6PAJcjs.remarkCardLinks; exports.remarkMentionChips = _chunkMNUR6PAJcjs.remarkMentionChips; exports.renderChatInlineEntityCard = _chunkMNUR6PAJcjs.renderChatInlineEntityCard; exports.renderQuickActionIcon = _chunkMNUR6PAJcjs.renderQuickActionIcon; exports.resolveExternalNavigation = _chunkMNUR6PAJcjs.resolveExternalNavigation; exports.resolveFetchedCardHref = _chunkMNUR6PAJcjs.resolveFetchedCardHref; exports.resolveIcon = _chunkMNUR6PAJcjs.resolveIcon; exports.resolveSourceIcon = _chunkMNUR6PAJcjs.resolveSourceIcon; exports.resolveSourceRowCTA = _chunkMNUR6PAJcjs.resolveSourceRowCTA; exports.safeHref = _chunkODB2AEUWcjs.safeHref; exports.sanitizeTitleForChat = _chunkMNUR6PAJcjs.sanitizeTitleForChat; exports.stripChatAttachmentMarkdown = _chunkMNUR6PAJcjs.stripChatAttachmentMarkdown; exports.stripSameOriginToPath = _chunkMNUR6PAJcjs.stripSameOriginToPath; exports.upsertTrailingCompaction = _chunkMNUR6PAJcjs.upsertTrailingCompaction; exports.useChat = _chunkMNUR6PAJcjs.useChat; exports.useChatAttachmentImageGallery = _chunkMNUR6PAJcjs.useChatAttachmentImageGallery; exports.useChatAttachments = _chunkMNUR6PAJcjs.useChatAttachments; exports.useChatCardItem = _chunkMNUR6PAJcjs.useChatCardItem; exports.useChatIdentity = _chunkMNUR6PAJcjs.useChatIdentity; exports.useChatStreamReducer = _chunkMNUR6PAJcjs.useChatStreamReducer; exports.useChunkCatchup = _chunkMNUR6PAJcjs.useChunkCatchup; exports.useCloseOnNavigation = _chunkMNUR6PAJcjs.useCloseOnNavigation; exports.useCollapsible = _chunkMNUR6PAJcjs.useCollapsible; exports.useCoverImageFallback = _chunkODB2AEUWcjs.useCoverImageFallback; exports.useEmbeddedChat = _chunkMNUR6PAJcjs.useSseChatAdapter; exports.useEmptyStateConfig = _chunkMNUR6PAJcjs.useEmptyStateConfig; exports.useJetStreamDialogSubscription = _chunkMNUR6PAJcjs.useJetStreamDialogSubscription; exports.useManagedDialogList = _chunkMNUR6PAJcjs.useManagedDialogList; exports.useNatsChatAdapter = _chunkMNUR6PAJcjs.useNatsChatAdapter; exports.useNatsDialogSubscription = _chunkMNUR6PAJcjs.useNatsDialogSubscription; exports.useProxiedImageUrl = _chunkMNUR6PAJcjs.useProxiedImageUrl; exports.useSSE = _chunkMNUR6PAJcjs.useSSE; exports.useScriptedStream = _chunkMNUR6PAJcjs.useScriptedStream; exports.useSlashCommandRegistry = _chunkMNUR6PAJcjs.useSlashCommandRegistry; exports.useSlashCommands = _chunkMNUR6PAJcjs.useSlashCommands; exports.useSseChatAdapter = _chunkMNUR6PAJcjs.useSseChatAdapter; exports.useStableShallow = _chunkMNUR6PAJcjs.useStableShallow; exports.useUnifiedChat = _chunkMNUR6PAJcjs.useUnifiedChat;
610
610
  //# sourceMappingURL=index.cjs.map
@@ -230,10 +230,10 @@ import {
230
230
  useSseChatAdapter,
231
231
  useStableShallow,
232
232
  useUnifiedChat
233
- } from "../../chunk-RP4TSHMY.js";
233
+ } from "../../chunk-OMTLCMQB.js";
234
234
  import "../../chunk-C3GXRBJD.js";
235
235
  import "../../chunk-XXMHLZ3Y.js";
236
- import "../../chunk-KU7HL52F.js";
236
+ import "../../chunk-VQZXJIPY.js";
237
237
  import "../../chunk-YQPPHBGE.js";
238
238
  import "../../chunk-W72U7OU7.js";
239
239
  import {
@@ -6,16 +6,18 @@ export interface MingoChatHistoryProps {
6
6
  activeDialogId?: string;
7
7
  /** Open a dialog. */
8
8
  onSelectDialog?: (id: string) => void;
9
- /** Request rename — enables the row "Rename chat" action. The host opens
9
+ /** Request rename — enables the row "Rename Chat" action. The host opens
10
10
  * the Rename modal; the list does no inline editing. */
11
11
  onRequestRename?: (dialog: DialogItem) => void;
12
- /** Request archive — enables the row "Archive chat" action. The host opens
12
+ /** Request archive — enables the row "Archive Chat" action. The host opens
13
13
  * the Archive confirmation modal. */
14
14
  onRequestArchive?: (dialog: DialogItem) => void;
15
- /** Request a shareable link — enables the row "Copy chat link" action. The host
15
+ /** Request a shareable link — enables the row "Copy Chat Link" action. The host
16
16
  * owns the URL shape and the copy itself (the list knows neither the app's
17
17
  * routes nor whether a clipboard is available). */
18
18
  onRequestCopyLink?: (dialog: DialogItem) => void;
19
+ /** Request context compaction — enables the row "Compact Chat Memory" action. */
20
+ onRequestCompact?: (dialog: DialogItem) => void;
19
21
  /** Current server-side search term. Drives the "No chats found" empty state;
20
22
  * the search INPUT lives in the panel header, not in this list. The host
21
23
  * owns the term and refetches server-side — the list does no filtering. */
@@ -50,5 +52,5 @@ export declare function MingoChatHistorySkeleton({ className }: {
50
52
  * fade and an infinite-scroll
51
53
  * sentinel that fires `onLoadMore`.
52
54
  */
53
- export declare function MingoChatHistory({ dialogs, activeDialogId, onSelectDialog, onRequestCopyLink, onRequestRename, onRequestArchive, searchQuery, hasMore, isLoadingMore, onLoadMore, className, }: MingoChatHistoryProps): import("react").JSX.Element;
55
+ export declare function MingoChatHistory({ dialogs, activeDialogId, onSelectDialog, onRequestCopyLink, onRequestRename, onRequestCompact, onRequestArchive, searchQuery, hasMore, isLoadingMore, onLoadMore, className, }: MingoChatHistoryProps): import("react").JSX.Element;
54
56
  //# sourceMappingURL=mingo-chat-history.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mingo-chat-history.d.ts","sourceRoot":"","sources":["../../../src/components/chat/mingo-chat-history.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAM1D,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACnC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB;IACrB,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;6DACyD;IACzD,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/C;0CACsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD;;wDAEoD;IACpD,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACjD;;gFAE4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgND;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAoC7E;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,OAAe,EACf,aAAqB,EACrB,UAAU,EACV,SAAS,GACV,EAAE,qBAAqB,+BA6FvB"}
1
+ {"version":3,"file":"mingo-chat-history.d.ts","sourceRoot":"","sources":["../../../src/components/chat/mingo-chat-history.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAM1D,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACnC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB;IACrB,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;6DACyD;IACzD,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/C;0CACsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD;;wDAEoD;IACpD,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACjD,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD;;gFAE4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuMD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAoC7E;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,OAAe,EACf,aAAqB,EACrB,UAAU,EACV,SAAS,GACV,EAAE,qBAAqB,+BA8FvB"}
@@ -13,12 +13,14 @@ export interface MingoHistoryRailProps {
13
13
  * the welcome. Rendered as the pinned "Start New Chat" button above the list,
14
14
  * in every state (including the no-chats empty state). */
15
15
  onNewChat?: () => void;
16
- /** Request rename — enables the row "Rename chat" action. */
16
+ /** Request rename — enables the row "Rename Chat" action. */
17
17
  onRequestRename?: (dialog: DialogItem) => void;
18
- /** Request archive — enables the row "Archive chat" action. */
18
+ /** Request archive — enables the row "Archive Chat" action. */
19
19
  onRequestArchive?: (dialog: DialogItem) => void;
20
- /** Request a shareable link — enables the row "Copy chat link" action. */
20
+ /** Request a shareable link — enables the row "Copy Chat Link" action. */
21
21
  onRequestCopyLink?: (dialog: DialogItem) => void;
22
+ /** Request context compaction — enables the row "Compact Chat Memory" action. */
23
+ onRequestCompact?: (dialog: DialogItem) => void;
22
24
  /** Ownership scope shown as a two-state "My Chats / All Chats" selector
23
25
  * between "Start New Chat" and the list. Rendered only when BOTH `scope`
24
26
  * and `onScopeChange` are provided; the host owns the state and refilters
@@ -59,5 +61,5 @@ export interface MingoHistoryRailProps {
59
61
  * empty state; loading / error states mirror the stacked empty state so the
60
62
  * two layouts stay consistent.
61
63
  */
62
- export declare function MingoHistoryRail({ dialogs, activeDialogId, onSelectDialog, onNewChat, onRequestRename, onRequestArchive, onRequestCopyLink, scope, onScopeChange, searchQuery, hasMore, isLoadingMore, onLoadMore, isLoadingHistory, loadError, onRetry, className, }: MingoHistoryRailProps): import("react").JSX.Element;
64
+ export declare function MingoHistoryRail({ dialogs, activeDialogId, onSelectDialog, onNewChat, onRequestRename, onRequestArchive, onRequestCopyLink, onRequestCompact, scope, onScopeChange, searchQuery, hasMore, isLoadingMore, onLoadMore, isLoadingHistory, loadError, onRetry, className, }: MingoHistoryRailProps): import("react").JSX.Element;
63
65
  //# sourceMappingURL=mingo-history-rail.d.ts.map