@assistant-ui/react 0.12.27 → 0.14.0

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 (140) hide show
  1. package/dist/client/ExternalThread.d.ts.map +1 -1
  2. package/dist/client/ExternalThread.js +0 -2
  3. package/dist/client/ExternalThread.js.map +1 -1
  4. package/dist/client/InMemoryThreadList.d.ts.map +1 -1
  5. package/dist/client/InMemoryThreadList.js +3 -0
  6. package/dist/client/InMemoryThreadList.js.map +1 -1
  7. package/dist/client/SingleThreadList.d.ts.map +1 -1
  8. package/dist/client/SingleThreadList.js +3 -0
  9. package/dist/client/SingleThreadList.js.map +1 -1
  10. package/dist/context/providers/ThreadViewportProvider.d.ts.map +1 -1
  11. package/dist/context/providers/ThreadViewportProvider.js +2 -10
  12. package/dist/context/providers/ThreadViewportProvider.js.map +1 -1
  13. package/dist/context/stores/ThreadViewport.d.ts +46 -4
  14. package/dist/context/stores/ThreadViewport.d.ts.map +1 -1
  15. package/dist/context/stores/ThreadViewport.js +51 -7
  16. package/dist/context/stores/ThreadViewport.js.map +1 -1
  17. package/dist/index.d.ts +2 -30
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -28
  20. package/dist/index.js.map +1 -1
  21. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.d.ts +1 -1
  22. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.d.ts.map +1 -1
  23. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.js +1 -1
  24. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.js.map +1 -1
  25. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  26. package/dist/primitives/composer/ComposerInput.js +9 -4
  27. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  28. package/dist/primitives/message/MessagePartsGrouped.d.ts +6 -21
  29. package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
  30. package/dist/primitives/message/MessagePartsGrouped.js +6 -21
  31. package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
  32. package/dist/primitives/message/MessageRoot.d.ts +6 -30
  33. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  34. package/dist/primitives/message/MessageRoot.js +68 -25
  35. package/dist/primitives/message/MessageRoot.js.map +1 -1
  36. package/dist/primitives/message.d.ts +1 -0
  37. package/dist/primitives/message.d.ts.map +1 -1
  38. package/dist/primitives/message.js +1 -0
  39. package/dist/primitives/message.js.map +1 -1
  40. package/dist/primitives/thread/ThreadViewport.d.ts +38 -0
  41. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  42. package/dist/primitives/thread/ThreadViewport.js +53 -5
  43. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  44. package/dist/primitives/thread/ThreadViewportFooter.d.ts +2 -1
  45. package/dist/primitives/thread/ThreadViewportFooter.d.ts.map +1 -1
  46. package/dist/primitives/thread/ThreadViewportFooter.js +2 -1
  47. package/dist/primitives/thread/ThreadViewportFooter.js.map +1 -1
  48. package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.d.ts +22 -0
  49. package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.d.ts.map +1 -0
  50. package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.js +53 -0
  51. package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.js.map +1 -0
  52. package/dist/primitives/thread/topAnchor/createReserveObservers.d.ts +5 -0
  53. package/dist/primitives/thread/topAnchor/createReserveObservers.d.ts.map +1 -0
  54. package/dist/primitives/thread/topAnchor/createReserveObservers.js +38 -0
  55. package/dist/primitives/thread/topAnchor/createReserveObservers.js.map +1 -0
  56. package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.d.ts +22 -0
  57. package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.d.ts.map +1 -0
  58. package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.js +75 -0
  59. package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.js.map +1 -0
  60. package/dist/primitives/thread/topAnchor/topAnchorTurn.d.ts +15 -0
  61. package/dist/primitives/thread/topAnchor/topAnchorTurn.d.ts.map +1 -0
  62. package/dist/primitives/thread/topAnchor/topAnchorTurn.js +13 -0
  63. package/dist/primitives/thread/topAnchor/topAnchorTurn.js.map +1 -0
  64. package/dist/primitives/thread/topAnchor/topAnchorUtils.d.ts +15 -0
  65. package/dist/primitives/thread/topAnchor/topAnchorUtils.d.ts.map +1 -0
  66. package/dist/primitives/thread/topAnchor/topAnchorUtils.js +51 -0
  67. package/dist/primitives/thread/topAnchor/topAnchorUtils.js.map +1 -0
  68. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.d.ts +7 -0
  69. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.d.ts.map +1 -0
  70. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.js +18 -0
  71. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.js.map +1 -0
  72. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  73. package/dist/primitives/thread/useThreadViewportAutoScroll.js +13 -1
  74. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  75. package/dist/primitives/thread.d.ts +0 -1
  76. package/dist/primitives/thread.d.ts.map +1 -1
  77. package/dist/primitives/thread.js +0 -1
  78. package/dist/primitives/thread.js.map +1 -1
  79. package/dist/primitives/threadList/ThreadListLoadMore.d.ts +13 -0
  80. package/dist/primitives/threadList/ThreadListLoadMore.d.ts.map +1 -0
  81. package/dist/primitives/threadList/ThreadListLoadMore.js +11 -0
  82. package/dist/primitives/threadList/ThreadListLoadMore.js.map +1 -0
  83. package/dist/primitives/threadList.d.ts +1 -0
  84. package/dist/primitives/threadList.d.ts.map +1 -1
  85. package/dist/primitives/threadList.js +1 -0
  86. package/dist/primitives/threadList.js.map +1 -1
  87. package/dist/tests/remote-thread-list-test-helpers.d.ts +3 -0
  88. package/dist/tests/remote-thread-list-test-helpers.d.ts.map +1 -0
  89. package/dist/tests/remote-thread-list-test-helpers.js +27 -0
  90. package/dist/tests/remote-thread-list-test-helpers.js.map +1 -0
  91. package/dist/utils/hooks/useManagedRef.d.ts.map +1 -1
  92. package/dist/utils/hooks/useManagedRef.js +1 -0
  93. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  94. package/dist/utils/hooks/useOnResizeContent.d.ts.map +1 -1
  95. package/dist/utils/hooks/useOnResizeContent.js +1 -2
  96. package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
  97. package/package.json +10 -10
  98. package/src/client/ExternalThread.ts +0 -2
  99. package/src/client/InMemoryThreadList.ts +3 -0
  100. package/src/client/SingleThreadList.ts +3 -0
  101. package/src/context/providers/ThreadViewportProvider.tsx +2 -12
  102. package/src/context/stores/ThreadViewport.ts +111 -11
  103. package/src/index.ts +2 -35
  104. package/src/legacy-runtime/runtime-cores/assistant-transport/utils.ts +1 -5
  105. package/src/primitives/composer/ComposerInput.test.tsx +232 -0
  106. package/src/primitives/composer/ComposerInput.tsx +9 -4
  107. package/src/primitives/message/MessagePartsGrouped.tsx +6 -21
  108. package/src/primitives/message/MessageRoot.tsx +135 -57
  109. package/src/primitives/message.ts +1 -0
  110. package/src/primitives/thread/ThreadViewport.tsx +95 -4
  111. package/src/primitives/thread/ThreadViewportFooter.tsx +2 -1
  112. package/src/primitives/thread/topAnchor/computeTopAnchorSlack.test.ts +131 -0
  113. package/src/primitives/thread/topAnchor/computeTopAnchorSlack.ts +94 -0
  114. package/src/primitives/thread/topAnchor/createReserveObservers.ts +50 -0
  115. package/src/primitives/thread/topAnchor/mountTopAnchorReserve.test.ts +131 -0
  116. package/src/primitives/thread/topAnchor/mountTopAnchorReserve.ts +127 -0
  117. package/src/primitives/thread/topAnchor/topAnchorTurn.test.ts +46 -0
  118. package/src/primitives/thread/topAnchor/topAnchorTurn.ts +30 -0
  119. package/src/primitives/thread/topAnchor/topAnchorUtils.ts +58 -0
  120. package/src/primitives/thread/topAnchor/useTopAnchorReserve.ts +19 -0
  121. package/src/primitives/thread/useThreadViewportAutoScroll.ts +15 -1
  122. package/src/primitives/thread.ts +0 -1
  123. package/src/primitives/threadList/ThreadListLoadMore.tsx +24 -0
  124. package/src/primitives/threadList.ts +1 -0
  125. package/src/tests/BaseComposerRuntimeCore.test.ts +9 -0
  126. package/src/tests/RemoteThreadListRuntime.adapterProvider.test.tsx +138 -0
  127. package/src/tests/RemoteThreadListRuntime.deferredProvider.test.tsx +29 -18
  128. package/src/tests/remote-thread-list-test-helpers.ts +33 -0
  129. package/src/utils/hooks/useManagedRef.ts +1 -0
  130. package/src/utils/hooks/useOnResizeContent.ts +1 -2
  131. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.d.ts +0 -3
  132. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.d.ts.map +0 -1
  133. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.js +0 -3
  134. package/dist/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.js.map +0 -1
  135. package/dist/primitives/thread/ThreadViewportSlack.d.ts +0 -20
  136. package/dist/primitives/thread/ThreadViewportSlack.d.ts.map +0 -1
  137. package/dist/primitives/thread/ThreadViewportSlack.js +0 -80
  138. package/dist/primitives/thread/ThreadViewportSlack.js.map +0 -1
  139. package/src/legacy-runtime/runtime-cores/external-store/getExternalStoreMessage.ts +0 -6
  140. package/src/primitives/thread/ThreadViewportSlack.tsx +0 -116
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerInput.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerInput.tsx"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,YAAY,EAQlB,MAAM,OAAO,CAAC;AACf,OAAyB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAOjC,yBAAiB,sBAAsB,CAAC;IACtC,MAAM,MAAM,OAAO,GAAG,mBAAmB,CAAC;IAE1C,KAAK,SAAS,GAAG;QACf;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B;;WAEG;QACH,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;QAClC;;;WAGG;QACH,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrC;;;WAGG;QACH,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/C;;;WAGG;QACH,8BAA8B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrD;;;WAGG;QACH,8BAA8B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrD;;;WAGG;QACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAC5C,CAAC;IAEF,KAAK,eAAe,GAChB;QACE;;;;;;WAMG;QACH,UAAU,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;QACxD;;;WAGG;QACH,aAAa,CAAC,EAAE,KAAK,CAAC;KACvB,GACD;QACE,UAAU,CAAC,EAAE,KAAK,CAAC;QACnB;;;;WAIG;QACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACrC,CAAC;IAEN,MAAM,MAAM,KAAK,GAAG,qBAAqB,GAAG,SAAS,GAAG,eAAe,CAAC;;CACzE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,sBAAsB,8HA8PlC,CAAC"}
1
+ {"version":3,"file":"ComposerInput.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerInput.tsx"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,YAAY,EAQlB,MAAM,OAAO,CAAC;AACf,OAAyB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAOjC,yBAAiB,sBAAsB,CAAC;IACtC,MAAM,MAAM,OAAO,GAAG,mBAAmB,CAAC;IAE1C,KAAK,SAAS,GAAG;QACf;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B;;WAEG;QACH,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;QAClC;;;WAGG;QACH,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrC;;;WAGG;QACH,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/C;;;WAGG;QACH,8BAA8B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrD;;;WAGG;QACH,8BAA8B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrD;;;WAGG;QACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAC5C,CAAC;IAEF,KAAK,eAAe,GAChB;QACE;;;;;;WAMG;QACH,UAAU,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;QACxD;;;WAGG;QACH,aAAa,CAAC,EAAE,KAAK,CAAC;KACvB,GACD;QACE,UAAU,CAAC,EAAE,KAAK,CAAC;QACnB;;;;WAIG;QACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACrC,CAAC;IAEN,MAAM,MAAM,KAAK,GAAG,qBAAqB,GAAG,SAAS,GAAG,eAAe,CAAC;;CACzE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,sBAAsB,8HAmQlC,CAAC"}
@@ -161,13 +161,18 @@ export const ComposerPrimitiveInput = forwardRef(({ autoFocus = false, asChild,
161
161
  onChange: composeEventHandlers(onChange, (e) => {
162
162
  if (!aui.composer().getState().isEditing)
163
163
  return;
164
- const isComposing = e.nativeEvent.isComposing === true ||
165
- compositionRef.current;
166
- if (isComposing)
167
- return;
164
+ const nativeIsComposing = e.nativeEvent.isComposing === true;
165
+ // recover stuck compositionRef when the browser drops compositionend
166
+ if (compositionRef.current && !nativeIsComposing) {
167
+ compositionRef.current = false;
168
+ }
169
+ const isComposing = nativeIsComposing || compositionRef.current;
170
+ // keep controlled value in sync mid-IME so react does not reset the textarea to a stale value
168
171
  flushResourcesSync(() => {
169
172
  aui.composer().setText(e.target.value);
170
173
  });
174
+ if (isComposing)
175
+ return;
171
176
  const pos = e.target.selectionStart ?? e.target.value.length;
172
177
  if (pluginRegistry) {
173
178
  for (const plugin of pluginRegistry.getPlugins()) {
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerInput.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComposerInput.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerInput.tsx"],"names":[],"mappings":"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"}
@@ -136,6 +136,12 @@ export declare namespace MessagePrimitiveUnstable_PartsGrouped {
136
136
  * The grouping function receives all message parts and returns an array of groups,
137
137
  * where each group has a key and an array of part indices.
138
138
  *
139
+ * @deprecated Prefer `<MessagePrimitive.GroupedParts>` for adjacent
140
+ * grouping — it dispatches all rendering through one `switch (part.type)`
141
+ * and supports nested group paths. Keep this primitive only for
142
+ * non-adjacent clustering (e.g., gathering parts with the same parent-id
143
+ * across the message).
144
+ *
139
145
  * @example
140
146
  * ```tsx
141
147
  * // Group by parent ID (default behavior)
@@ -155,27 +161,6 @@ export declare namespace MessagePrimitiveUnstable_PartsGrouped {
155
161
  * }}
156
162
  * />
157
163
  * ```
158
- *
159
- * @example
160
- * ```tsx
161
- * // Group by tool name
162
- * import { groupMessagePartsByToolName } from "@assistant-ui/react";
163
- *
164
- * <MessagePrimitive.Unstable_PartsGrouped
165
- * groupingFunction={groupMessagePartsByToolName}
166
- * components={{
167
- * Group: ({ groupKey, indices, children }) => {
168
- * if (!groupKey) return <>{children}</>;
169
- * return (
170
- * <div className="tool-group">
171
- * <h4>Tool: {groupKey}</h4>
172
- * {children}
173
- * </div>
174
- * );
175
- * }
176
- * }}
177
- * />
178
- * ```
179
164
  */
180
165
  export declare const MessagePrimitiveUnstable_PartsGrouped: FC<MessagePrimitiveUnstable_PartsGrouped.Props>;
181
166
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MessagePartsGrouped.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessagePartsGrouped.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,EAAE,EAEP,KAAK,iBAAiB,EAEvB,MAAM,OAAO,CAAC;AAMf,OAAO,KAAK,EACV,kCAAkC,EAClC,wBAAwB,EAExB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAIlC,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,KAAK,gBAAgB,EAAE,CAAC;AAmD7E,yBAAiB,qCAAqC,CAAC;IACrD,KAAY,KAAK,GAAG;QAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA0CG;QACH,gBAAgB,EAAE,gBAAgB,CAAC;QAEnC;;;;;WAKG;QACH,UAAU,EACN;YACE,6CAA6C;YAC7C,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;YAC9C,2CAA2C;YAC3C,IAAI,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;YAC5C,mEAAmE;YACnE,SAAS,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;YACtD,6CAA6C;YAC7C,MAAM,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;YAChD,4CAA4C;YAC5C,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;YAC9C,2CAA2C;YAC3C,IAAI,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;YAC5C,2DAA2D;YAC3D,cAAc,CAAC,EAAE,kCAAkC,GAAG,SAAS,CAAC;YAChE,4CAA4C;YAC5C,IAAI,CAAC,EACD;gBACE,kDAAkD;gBAClD,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC,GACpD,SAAS,CAAC;gBACd,mDAAmD;gBACnD,QAAQ,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;aACjD,GACD,SAAS,CAAC;YACd,4CAA4C;YAC5C,KAAK,CAAC,EACF;gBACE,qDAAqD;gBACrD,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,4BAA4B,GAAG,SAAS,CAAC,GACxD,SAAS,CAAC;gBACd,gDAAgD;gBAChD,QAAQ,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;aAChE,GACD;gBACE,qDAAqD;gBACrD,QAAQ,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;aACnD,GACD,SAAS,CAAC;YAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgCG;YACH,KAAK,CAAC,EAAE,aAAa,CACnB,iBAAiB,CAAC;gBAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;gBAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;aACnB,CAAC,CACH,CAAC;SACH,GACD,SAAS,CAAC;KACf,CAAC;CACH;AAuLD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,eAAO,MAAM,qCAAqC,EAAE,EAAE,CACpD,qCAAqC,CAAC,KAAK,CAgC5C,CAAC;AAKF;;;;;GAKG;AACH,eAAO,MAAM,+CAA+C,EAAE,EAAE,CAC9D,IAAI,CAAC,qCAAqC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAStE,CAAC"}
1
+ {"version":3,"file":"MessagePartsGrouped.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessagePartsGrouped.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,EAAE,EAEP,KAAK,iBAAiB,EAEvB,MAAM,OAAO,CAAC;AAMf,OAAO,KAAK,EACV,kCAAkC,EAClC,wBAAwB,EAExB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,0BAA0B,CAAC;AAIlC,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,KAAK,gBAAgB,EAAE,CAAC;AAmD7E,yBAAiB,qCAAqC,CAAC;IACrD,KAAY,KAAK,GAAG;QAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA0CG;QACH,gBAAgB,EAAE,gBAAgB,CAAC;QAEnC;;;;;WAKG;QACH,UAAU,EACN;YACE,6CAA6C;YAC7C,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;YAC9C,2CAA2C;YAC3C,IAAI,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;YAC5C,mEAAmE;YACnE,SAAS,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;YACtD,6CAA6C;YAC7C,MAAM,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;YAChD,4CAA4C;YAC5C,KAAK,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;YAC9C,2CAA2C;YAC3C,IAAI,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;YAC5C,2DAA2D;YAC3D,cAAc,CAAC,EAAE,kCAAkC,GAAG,SAAS,CAAC;YAChE,4CAA4C;YAC5C,IAAI,CAAC,EACD;gBACE,kDAAkD;gBAClD,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC,GACpD,SAAS,CAAC;gBACd,mDAAmD;gBACnD,QAAQ,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;aACjD,GACD,SAAS,CAAC;YACd,4CAA4C;YAC5C,KAAK,CAAC,EACF;gBACE,qDAAqD;gBACrD,OAAO,CAAC,EACJ,MAAM,CAAC,MAAM,EAAE,4BAA4B,GAAG,SAAS,CAAC,GACxD,SAAS,CAAC;gBACd,gDAAgD;gBAChD,QAAQ,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;aAChE,GACD;gBACE,qDAAqD;gBACrD,QAAQ,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;aACnD,GACD,SAAS,CAAC;YAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgCG;YACH,KAAK,CAAC,EAAE,aAAa,CACnB,iBAAiB,CAAC;gBAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;gBAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;aACnB,CAAC,CACH,CAAC;SACH,GACD,SAAS,CAAC;KACf,CAAC;CACH;AAuLD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,qCAAqC,EAAE,EAAE,CACpD,qCAAqC,CAAC,KAAK,CAgC5C,CAAC;AAKF;;;;;GAKG;AACH,eAAO,MAAM,+CAA+C,EAAE,EAAE,CAC9D,IAAI,CAAC,qCAAqC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAStE,CAAC"}
@@ -145,6 +145,12 @@ const EmptyParts = memo(EmptyPartsImpl, (prev, next) => prev.components?.Empty =
145
145
  * The grouping function receives all message parts and returns an array of groups,
146
146
  * where each group has a key and an array of part indices.
147
147
  *
148
+ * @deprecated Prefer `<MessagePrimitive.GroupedParts>` for adjacent
149
+ * grouping — it dispatches all rendering through one `switch (part.type)`
150
+ * and supports nested group paths. Keep this primitive only for
151
+ * non-adjacent clustering (e.g., gathering parts with the same parent-id
152
+ * across the message).
153
+ *
148
154
  * @example
149
155
  * ```tsx
150
156
  * // Group by parent ID (default behavior)
@@ -164,27 +170,6 @@ const EmptyParts = memo(EmptyPartsImpl, (prev, next) => prev.components?.Empty =
164
170
  * }}
165
171
  * />
166
172
  * ```
167
- *
168
- * @example
169
- * ```tsx
170
- * // Group by tool name
171
- * import { groupMessagePartsByToolName } from "@assistant-ui/react";
172
- *
173
- * <MessagePrimitive.Unstable_PartsGrouped
174
- * groupingFunction={groupMessagePartsByToolName}
175
- * components={{
176
- * Group: ({ groupKey, indices, children }) => {
177
- * if (!groupKey) return <>{children}</>;
178
- * return (
179
- * <div className="tool-group">
180
- * <h4>Tool: {groupKey}</h4>
181
- * {children}
182
- * </div>
183
- * );
184
- * }
185
- * }}
186
- * />
187
- * ```
188
173
  */
189
174
  export const MessagePrimitiveUnstable_PartsGrouped = ({ groupingFunction, components }) => {
190
175
  const contentLength = useAuiState((s) => s.message.parts.length);
@@ -1 +1 @@
1
- {"version":3,"file":"MessagePartsGrouped.js","sourceRoot":"","sources":["../../../src/primitives/message/MessagePartsGrouped.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessagePartsGrouped.js","sourceRoot":"","sources":["../../../src/primitives/message/MessagePartsGrouped.tsx"],"names":[],"mappings":"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"}
@@ -2,22 +2,7 @@ import { Primitive } from "../../utils/Primitive.js";
2
2
  import { type ComponentRef, type ComponentPropsWithoutRef } from "react";
3
3
  export declare namespace MessagePrimitiveRoot {
4
4
  type Element = ComponentRef<typeof Primitive.div>;
5
- /**
6
- * Props for the MessagePrimitive.Root component.
7
- * Accepts all standard div element props plus optional viewport slack tuning.
8
- */
9
- type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {
10
- /**
11
- * Threshold at which the user message height clamps to the offset.
12
- * @default "10em"
13
- */
14
- fillClampThreshold?: string | undefined;
15
- /**
16
- * Offset used when clamping large user messages.
17
- * @default "6em"
18
- */
19
- fillClampOffset?: string | undefined;
20
- };
5
+ type Props = ComponentPropsWithoutRef<typeof Primitive.div>;
21
6
  }
22
7
  /**
23
8
  * The root container component for a message.
@@ -26,8 +11,10 @@ export declare namespace MessagePrimitiveRoot {
26
11
  * hover state management for the message. It automatically tracks when the user
27
12
  * is hovering over the message, which can be used by child components like action bars.
28
13
  *
29
- * When `turnAnchor="top"` is set on the viewport, this component
30
- * registers itself as the scroll anchor if it's the last user message.
14
+ * When `turnAnchor="top"` is set on the viewport, this component automatically
15
+ * registers itself as the top-anchor user message (when it's the previous user
16
+ * message) or as the top-anchor target (when it's the streaming assistant
17
+ * response). No additional component is required.
31
18
  *
32
19
  * @example
33
20
  * ```tsx
@@ -44,16 +31,5 @@ export declare const MessagePrimitiveRoot: import("react").ForwardRefExoticCompo
44
31
  asChild?: boolean;
45
32
  }, "ref"> & {
46
33
  render?: import("react").ReactElement | undefined;
47
- } & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
48
- /**
49
- * Threshold at which the user message height clamps to the offset.
50
- * @default "10em"
51
- */
52
- fillClampThreshold?: string | undefined;
53
- /**
54
- * Offset used when clamping large user messages.
55
- * @default "6em"
56
- */
57
- fillClampOffset?: string | undefined;
58
- } & import("react").RefAttributes<HTMLDivElement>>;
34
+ } & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
59
35
  //# sourceMappingURL=MessageRoot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessageRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,wBAAwB,EAE9B,MAAM,OAAO,CAAC;AAqEf,yBAAiB,oBAAoB,CAAC;IACpC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD;;;OAGG;IACH,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG;QACnE;;;WAGG;QACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC;;;WAGG;QACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACtC,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,oBAAoB;;;;;IAlC7B;;;OAGG;yBACkB,MAAM,GAAG,SAAS;IACvC;;;OAGG;sBACe,MAAM,GAAG,SAAS;kDA8CtC,CAAC"}
1
+ {"version":3,"file":"MessageRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessageRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,wBAAwB,EAG9B,MAAM,OAAO,CAAC;AA8Gf,yBAAiB,oBAAoB,CAAC;IACpC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;CACpE;AAsDD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB;;;;0GAkB/B,CAAC"}
@@ -4,10 +4,9 @@ import { Primitive } from "../../utils/Primitive.js";
4
4
  import { forwardRef, useCallback, } from "react";
5
5
  import { useAui, useAuiState } from "@assistant-ui/store";
6
6
  import { useManagedRef } from "../../utils/hooks/useManagedRef.js";
7
- import { useSizeHandle } from "../../utils/hooks/useSizeHandle.js";
8
7
  import { useComposedRefs } from "@radix-ui/react-compose-refs";
9
- import { useThreadViewport } from "../../context/react/ThreadViewportContext.js";
10
- import { ThreadPrimitiveViewportSlack } from "../thread/ThreadViewportSlack.js";
8
+ import { useThreadViewport, useThreadViewportStore, } from "../../context/react/ThreadViewportContext.js";
9
+ import { parseCssLength } from "../thread/topAnchor/topAnchorUtils.js";
11
10
  const useIsHoveringRef = () => {
12
11
  const aui = useAui();
13
12
  const message = useAuiState(() => aui.message());
@@ -32,21 +31,61 @@ const useIsHoveringRef = () => {
32
31
  }, [message]);
33
32
  return useManagedRef(callbackRef);
34
33
  };
35
- /**
36
- * Hook that registers the anchor user message as a content inset.
37
- * Only registers if: user message, at index messages.length-2, and last message is assistant.
38
- */
39
- const useMessageViewportRef = () => {
40
- const turnAnchor = useThreadViewport((s) => s.turnAnchor);
41
- const registerUserHeight = useThreadViewport((s) => s.registerUserMessageHeight);
42
- // inset rules:
43
- // - the previous user message before the last assistant message registers its full height
44
- const shouldRegisterAsInset = useAuiState((s) => turnAnchor === "top" &&
45
- s.message.role === "user" &&
34
+ const useIsTopAnchorUser = () => {
35
+ const activeAnchorId = useThreadViewport((s) => s.topAnchorTurn?.anchorId);
36
+ return useAuiState((s) => s.message.role === "user" &&
37
+ s.message.index > 0 &&
46
38
  s.message.index === s.thread.messages.length - 2 &&
47
- s.thread.messages.at(-1)?.role === "assistant");
48
- const getHeight = useCallback((el) => el.offsetHeight, []);
49
- return useSizeHandle(shouldRegisterAsInset ? registerUserHeight : null, getHeight);
39
+ s.thread.messages.at(-1)?.role === "assistant" &&
40
+ (s.message.id === activeAnchorId || s.thread.isRunning));
41
+ };
42
+ const useIsTopAnchorTarget = () => {
43
+ const activeTargetId = useThreadViewport((s) => s.topAnchorTurn?.targetId);
44
+ return useAuiState((s) => s.message.isLast &&
45
+ s.message.role === "assistant" &&
46
+ s.message.index >= 1 &&
47
+ s.thread.messages.at(s.message.index - 1)?.role === "user" &&
48
+ (s.message.id === activeTargetId || s.thread.isRunning));
49
+ };
50
+ const useTopAnchorUserRef = (active, threadViewportStore) => {
51
+ const callback = useCallback((el) => {
52
+ if (!active)
53
+ return;
54
+ return threadViewportStore.getState().registerAnchorElement(el);
55
+ }, [active, threadViewportStore]);
56
+ return useManagedRef(callback);
57
+ };
58
+ const useTopAnchorTargetRef = ({ active, threadViewportStore, }) => {
59
+ const targetRefCallback = useCallback((el) => {
60
+ if (!active)
61
+ return;
62
+ const state = threadViewportStore.getState();
63
+ const clamp = state.topAnchorMessageClamp;
64
+ return state.registerAnchorTargetElement(el, {
65
+ tallerThan: parseCssLength(clamp.tallerThan, el),
66
+ visibleHeight: parseCssLength(clamp.visibleHeight, el),
67
+ });
68
+ }, [active, threadViewportStore]);
69
+ return useManagedRef(targetRefCallback);
70
+ };
71
+ const MessagePrimitiveRootDefault = ({ forwardedRef, ...props }) => {
72
+ const isHoveringRef = useIsHoveringRef();
73
+ const ref = useComposedRefs(forwardedRef, isHoveringRef);
74
+ const messageId = useAuiState((s) => s.message.id);
75
+ return _jsx(Primitive.div, { ...props, ref: ref, "data-message-id": messageId });
76
+ };
77
+ const MessagePrimitiveRootTopAnchor = ({ forwardedRef, threadViewportStore, ...props }) => {
78
+ const isHoveringRef = useIsHoveringRef();
79
+ const isTopAnchorUser = useIsTopAnchorUser();
80
+ const isTopAnchorTarget = useIsTopAnchorTarget();
81
+ const topAnchorUserRef = useTopAnchorUserRef(isTopAnchorUser, threadViewportStore);
82
+ const topAnchorTargetRef = useTopAnchorTargetRef({
83
+ active: isTopAnchorTarget,
84
+ threadViewportStore,
85
+ });
86
+ const ref = useComposedRefs(forwardedRef, isHoveringRef, topAnchorUserRef, topAnchorTargetRef);
87
+ const messageId = useAuiState((s) => s.message.id);
88
+ return (_jsx(Primitive.div, { ...props, ref: ref, "data-message-id": messageId, "data-aui-top-anchor-user": isTopAnchorUser ? "" : undefined, "data-aui-top-anchor-target": isTopAnchorTarget ? "" : undefined }));
50
89
  };
51
90
  /**
52
91
  * The root container component for a message.
@@ -55,8 +94,10 @@ const useMessageViewportRef = () => {
55
94
  * hover state management for the message. It automatically tracks when the user
56
95
  * is hovering over the message, which can be used by child components like action bars.
57
96
  *
58
- * When `turnAnchor="top"` is set on the viewport, this component
59
- * registers itself as the scroll anchor if it's the last user message.
97
+ * When `turnAnchor="top"` is set on the viewport, this component automatically
98
+ * registers itself as the top-anchor user message (when it's the previous user
99
+ * message) or as the top-anchor target (when it's the streaming assistant
100
+ * response). No additional component is required.
60
101
  *
61
102
  * @example
62
103
  * ```tsx
@@ -69,12 +110,14 @@ const useMessageViewportRef = () => {
69
110
  * </MessagePrimitive.Root>
70
111
  * ```
71
112
  */
72
- export const MessagePrimitiveRoot = forwardRef(({ fillClampThreshold, fillClampOffset, ...props }, forwardRef) => {
73
- const isHoveringRef = useIsHoveringRef();
74
- const anchorUserMessageRef = useMessageViewportRef();
75
- const ref = useComposedRefs(forwardRef, isHoveringRef, anchorUserMessageRef);
76
- const messageId = useAuiState((s) => s.message.id);
77
- return (_jsx(ThreadPrimitiveViewportSlack, { fillClampThreshold: fillClampThreshold, fillClampOffset: fillClampOffset, children: _jsx(Primitive.div, { ...props, ref: ref, "data-message-id": messageId }) }));
113
+ export const MessagePrimitiveRoot = forwardRef((props, forwardedRef) => {
114
+ const threadViewportStore = useThreadViewportStore();
115
+ // turnAnchor is initial-only viewport config (see ThreadViewportProvider).
116
+ const turnAnchor = threadViewportStore.getState().turnAnchor;
117
+ if (turnAnchor === "top") {
118
+ return (_jsx(MessagePrimitiveRootTopAnchor, { ...props, forwardedRef: forwardedRef, threadViewportStore: threadViewportStore }));
119
+ }
120
+ return _jsx(MessagePrimitiveRootDefault, { ...props, forwardedRef: forwardedRef });
78
121
  });
79
122
  MessagePrimitiveRoot.displayName = "MessagePrimitive.Root";
80
123
  //# sourceMappingURL=MessageRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageRoot.js","sourceRoot":"","sources":["../../../src/primitives/message/MessageRoot.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EAEL,UAAU,EAEV,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,2CAAwC;AAChE,OAAO,EAAE,aAAa,EAAE,2CAAwC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,qDAAkD;AAC9E,OAAO,EAAE,4BAA4B,EAAE,yCAAsC;AAE7E,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,EAAe,EAAE,EAAE;QAClB,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACpD,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAEpD,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,sDAAsD;YACtD,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,GAAG,EAAE;YACV,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACvD,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACvD,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,iBAAiB,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB,CACnC,CAAC;IAEF,eAAe;IACf,0FAA0F;IAC1F,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,CAAC,EAAE,EAAE,CACJ,UAAU,KAAK,KAAK;QACpB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;QACzB,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAChD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,CACjD,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAExE,OAAO,aAAa,CAClB,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,EACjD,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AAsBF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAG5C,CAAC,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE;IAClE,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,oBAAoB,GAAG,qBAAqB,EAAE,CAAC;IACrD,MAAM,GAAG,GAAG,eAAe,CACzB,UAAU,EACV,aAAa,EACb,oBAAoB,CACrB,CAAC;IACF,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEnD,OAAO,CACL,KAAC,4BAA4B,IAC3B,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,YAEhC,KAAC,SAAS,CAAC,GAAG,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,qBAAmB,SAAS,GAAI,GACrC,CAChC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oBAAoB,CAAC,WAAW,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"MessageRoot.js","sourceRoot":"","sources":["../../../src/primitives/message/MessageRoot.tsx"],"names":[],"mappings":"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"}
@@ -7,5 +7,6 @@ export { MessagePrimitiveAttachments as Attachments } from "./message/MessageAtt
7
7
  export { MessagePrimitiveAttachmentByIndex as AttachmentByIndex } from "./message/MessageAttachments.js";
8
8
  export { MessagePrimitiveQuote as Quote } from "@assistant-ui/core/react";
9
9
  export { MessagePrimitiveError as Error } from "./message/MessageError.js";
10
+ export { MessagePrimitiveGroupedParts as GroupedParts } from "@assistant-ui/core/react";
10
11
  export { MessagePrimitiveUnstable_PartsGrouped as Unstable_PartsGrouped, MessagePrimitiveUnstable_PartsGroupedByParentId as Unstable_PartsGroupedByParentId, } from "./message/MessagePartsGrouped.js";
11
12
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/primitives/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,IAAI,IAAI,EAAE,iCAA8B;AACrE,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,kCAA+B;AACxE,OAAO,EAAE,2BAA2B,IAAI,WAAW,EAAE,kCAA+B;AACpF,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,kCAA+B;AAC1E,OAAO,EAAE,kBAAkB,IAAI,EAAE,EAAE,+BAA4B;AAC/D,OAAO,EAAE,2BAA2B,IAAI,WAAW,EAAE,wCAAqC;AAC1F,OAAO,EAAE,iCAAiC,IAAI,iBAAiB,EAAE,wCAAqC;AACtG,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,kCAA+B;AACxE,OAAO,EACL,qCAAqC,IAAI,qBAAqB,EAC9D,+CAA+C,IAAI,+BAA+B,GACnF,yCAAsC"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/primitives/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,IAAI,IAAI,EAAE,iCAA8B;AACrE,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,kCAA+B;AACxE,OAAO,EAAE,2BAA2B,IAAI,WAAW,EAAE,kCAA+B;AACpF,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,kCAA+B;AAC1E,OAAO,EAAE,kBAAkB,IAAI,EAAE,EAAE,+BAA4B;AAC/D,OAAO,EAAE,2BAA2B,IAAI,WAAW,EAAE,wCAAqC;AAC1F,OAAO,EAAE,iCAAiC,IAAI,iBAAiB,EAAE,wCAAqC;AACtG,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,kCAA+B;AACxE,OAAO,EAAE,4BAA4B,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EACL,qCAAqC,IAAI,qBAAqB,EAC9D,+CAA+C,IAAI,+BAA+B,GACnF,yCAAsC"}
@@ -7,5 +7,6 @@ export { MessagePrimitiveAttachments as Attachments } from "./message/MessageAtt
7
7
  export { MessagePrimitiveAttachmentByIndex as AttachmentByIndex } from "./message/MessageAttachments.js";
8
8
  export { MessagePrimitiveQuote as Quote } from "@assistant-ui/core/react";
9
9
  export { MessagePrimitiveError as Error } from "./message/MessageError.js";
10
+ export { MessagePrimitiveGroupedParts as GroupedParts } from "@assistant-ui/core/react";
10
11
  export { MessagePrimitiveUnstable_PartsGrouped as Unstable_PartsGrouped, MessagePrimitiveUnstable_PartsGroupedByParentId as Unstable_PartsGroupedByParentId, } from "./message/MessagePartsGrouped.js";
11
12
  //# sourceMappingURL=message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/primitives/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,IAAI,IAAI,EAAE,iCAA8B;AACrE,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,kCAA+B;AACxE,OAAO,EAAE,2BAA2B,IAAI,WAAW,EAAE,kCAA+B;AACpF,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,kCAA+B;AAC1E,OAAO,EAAE,kBAAkB,IAAI,EAAE,EAAE,+BAA4B;AAC/D,OAAO,EAAE,2BAA2B,IAAI,WAAW,EAAE,wCAAqC;AAC1F,OAAO,EAAE,iCAAiC,IAAI,iBAAiB,EAAE,wCAAqC;AACtG,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,kCAA+B;AACxE,OAAO,EACL,qCAAqC,IAAI,qBAAqB,EAC9D,+CAA+C,IAAI,+BAA+B,GACnF,yCAAsC"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/primitives/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,IAAI,IAAI,EAAE,iCAA8B;AACrE,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,kCAA+B;AACxE,OAAO,EAAE,2BAA2B,IAAI,WAAW,EAAE,kCAA+B;AACpF,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,kCAA+B;AAC1E,OAAO,EAAE,kBAAkB,IAAI,EAAE,EAAE,+BAA4B;AAC/D,OAAO,EAAE,2BAA2B,IAAI,WAAW,EAAE,wCAAqC;AAC1F,OAAO,EAAE,iCAAiC,IAAI,iBAAiB,EAAE,wCAAqC;AACtG,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,kCAA+B;AACxE,OAAO,EAAE,4BAA4B,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EACL,qCAAqC,IAAI,qBAAqB,EAC9D,+CAA+C,IAAI,+BAA+B,GACnF,yCAAsC"}
@@ -16,6 +16,25 @@ export declare namespace ThreadPrimitiveViewport {
16
16
  * - "top": New user messages anchor at the top of the viewport for a focused reading experience.
17
17
  */
18
18
  turnAnchor?: "top" | "bottom" | undefined;
19
+ /**
20
+ * Clamps tall user messages so the assistant response stays in view.
21
+ *
22
+ * @default { tallerThan: "10em", visibleHeight: "6em" }
23
+ */
24
+ topAnchorMessageClamp?: {
25
+ /**
26
+ * Clamp messages taller than this. Supports `px`, `em`, and `rem`.
27
+ *
28
+ * @default "10em"
29
+ */
30
+ tallerThan?: string;
31
+ /**
32
+ * Visible portion of clamped messages. Supports `px`, `em`, and `rem`.
33
+ *
34
+ * @default "6em"
35
+ */
36
+ visibleHeight?: string;
37
+ };
19
38
  /**
20
39
  * Whether to scroll to bottom when a new run starts.
21
40
  *
@@ -70,6 +89,25 @@ export declare const ThreadPrimitiveViewport: import("react").ForwardRefExoticCo
70
89
  * - "top": New user messages anchor at the top of the viewport for a focused reading experience.
71
90
  */
72
91
  turnAnchor?: "top" | "bottom" | undefined;
92
+ /**
93
+ * Clamps tall user messages so the assistant response stays in view.
94
+ *
95
+ * @default { tallerThan: "10em", visibleHeight: "6em" }
96
+ */
97
+ topAnchorMessageClamp?: {
98
+ /**
99
+ * Clamp messages taller than this. Supports `px`, `em`, and `rem`.
100
+ *
101
+ * @default "10em"
102
+ */
103
+ tallerThan?: string;
104
+ /**
105
+ * Visible portion of clamped messages. Supports `px`, `em`, and `rem`.
106
+ *
107
+ * @default "6em"
108
+ */
109
+ visibleHeight?: string;
110
+ };
73
111
  /**
74
112
  * Whether to scroll to bottom when a new run starts.
75
113
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadViewport.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,wBAAwB,EAE9B,MAAM,OAAO,CAAC;AAMf,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG;QACnE;;;;;WAKG;QACH,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAEjC;;;;WAIG;QACH,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;QAE1C;;;;WAIG;QACH,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAE/C;;;;WAIG;QACH,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAEjD;;;;WAIG;QACH,4BAA4B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACpD,CAAC;CACH;AA2CD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB;;;;;IA/FhC;;;;;OAKG;iBACU,OAAO,GAAG,SAAS;IAEhC;;;;OAIG;iBACU,KAAK,GAAG,QAAQ,GAAG,SAAS;IAEzC;;;;OAIG;+BACwB,OAAO,GAAG,SAAS;IAE9C;;;;OAIG;iCAC0B,OAAO,GAAG,SAAS;IAEhD;;;;OAIG;mCAC4B,OAAO,GAAG,SAAS;kDAsEpD,CAAC"}
1
+ {"version":3,"file":"ThreadViewport.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,wBAAwB,EAI9B,MAAM,OAAO,CAAC;AAgBf,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG;QACnE;;;;;WAKG;QACH,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAEjC;;;;WAIG;QACH,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;QAE1C;;;;WAIG;QACH,qBAAqB,CAAC,EAAE;YACtB;;;;eAIG;YACH,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB;;;;eAIG;YACH,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;QAEF;;;;WAIG;QACH,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAE/C;;;;WAIG;QACH,0BAA0B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAEjD;;;;WAIG;QACH,4BAA4B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACpD,CAAC;CACH;AAoGD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB;;;;;IA5KhC;;;;;OAKG;iBACU,OAAO,GAAG,SAAS;IAEhC;;;;OAIG;iBACU,KAAK,GAAG,QAAQ,GAAG,SAAS;IAEzC;;;;OAIG;4BACqB;QACtB;;;;WAIG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;;WAIG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;IAED;;;;OAIG;+BACwB,OAAO,GAAG,SAAS;IAE9C;;;;OAIG;iCAC0B,OAAO,GAAG,SAAS;IAEhD;;;;OAIG;mCAC4B,OAAO,GAAG,SAAS;kDAiIpD,CAAC"}
@@ -2,16 +2,58 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useComposedRefs } from "@radix-ui/react-compose-refs";
4
4
  import { Primitive } from "../../utils/Primitive.js";
5
- import { forwardRef, useCallback, } from "react";
5
+ import { forwardRef, useCallback, useLayoutEffect, useMemo, } from "react";
6
+ import { useAuiEvent, useAuiState } from "@assistant-ui/store";
7
+ import { useManagedRef } from "../../utils/hooks/useManagedRef.js";
6
8
  import { useThreadViewportAutoScroll } from "./useThreadViewportAutoScroll.js";
7
9
  import { ThreadPrimitiveViewportProvider } from "../../context/providers/ThreadViewportProvider.js";
8
10
  import { useSizeHandle } from "../../utils/hooks/useSizeHandle.js";
9
- import { useThreadViewport } from "../../context/react/ThreadViewportContext.js";
11
+ import { useThreadViewport, useThreadViewportStore, } from "../../context/react/ThreadViewportContext.js";
12
+ import { useTopAnchorReserve } from "./topAnchor/useTopAnchorReserve.js";
13
+ import { getActiveTopAnchorAnchorId, getActiveTopAnchorTargetId, } from "./topAnchor/topAnchorTurn.js";
10
14
  const useViewportSizeRef = () => {
11
15
  const register = useThreadViewport((s) => s.registerViewport);
12
16
  const getHeight = useCallback((el) => el.clientHeight, []);
13
17
  return useSizeHandle(register, getHeight);
14
18
  };
19
+ const useViewportElementRef = () => {
20
+ const registerViewportElement = useThreadViewport((s) => s.registerViewportElement);
21
+ return useManagedRef(registerViewportElement);
22
+ };
23
+ const useTopAnchorTurn = (enabled) => {
24
+ const threadViewportStore = useThreadViewportStore();
25
+ const activeAnchorId = useAuiState((s) => {
26
+ if (!enabled)
27
+ return undefined;
28
+ return getActiveTopAnchorAnchorId(s.thread);
29
+ });
30
+ const activeTargetId = useAuiState((s) => {
31
+ if (!enabled)
32
+ return undefined;
33
+ return getActiveTopAnchorTargetId(s.thread);
34
+ });
35
+ const activeTurn = useMemo(() => {
36
+ if (!activeAnchorId || !activeTargetId)
37
+ return null;
38
+ return { anchorId: activeAnchorId, targetId: activeTargetId };
39
+ }, [activeAnchorId, activeTargetId]);
40
+ useLayoutEffect(() => {
41
+ if (!activeTurn)
42
+ return;
43
+ const state = threadViewportStore.getState();
44
+ const current = state.topAnchorTurn;
45
+ if (current?.anchorId === activeTurn.anchorId &&
46
+ current.targetId === activeTurn.targetId) {
47
+ return;
48
+ }
49
+ state.setTopAnchorTurn(activeTurn);
50
+ }, [activeTurn, threadViewportStore]);
51
+ const clearTopAnchorTurn = useCallback(() => {
52
+ threadViewportStore.getState().setTopAnchorTurn(null);
53
+ }, [threadViewportStore]);
54
+ useAuiEvent("thread.initialize", clearTopAnchorTurn);
55
+ useAuiEvent("threadListItem.switchedTo", clearTopAnchorTurn);
56
+ };
15
57
  const ThreadPrimitiveViewportScrollable = forwardRef(({ autoScroll, scrollToBottomOnRunStart, scrollToBottomOnInitialize, scrollToBottomOnThreadSwitch, children, ...rest }, forwardedRef) => {
16
58
  const autoScrollRef = useThreadViewportAutoScroll({
17
59
  autoScroll,
@@ -20,7 +62,13 @@ const ThreadPrimitiveViewportScrollable = forwardRef(({ autoScroll, scrollToBott
20
62
  scrollToBottomOnThreadSwitch,
21
63
  });
22
64
  const viewportSizeRef = useViewportSizeRef();
23
- const ref = useComposedRefs(forwardedRef, autoScrollRef, viewportSizeRef);
65
+ const viewportElementRef = useViewportElementRef();
66
+ const threadViewportStore = useThreadViewportStore();
67
+ const turnAnchor = threadViewportStore.getState().turnAnchor;
68
+ const topAnchorEnabled = turnAnchor === "top";
69
+ useTopAnchorTurn(topAnchorEnabled);
70
+ useTopAnchorReserve(topAnchorEnabled);
71
+ const ref = useComposedRefs(forwardedRef, autoScrollRef, viewportSizeRef, viewportElementRef);
24
72
  return (_jsx(Primitive.div, { ...rest, ref: ref, children: children }));
25
73
  });
26
74
  ThreadPrimitiveViewportScrollable.displayName =
@@ -41,8 +89,8 @@ ThreadPrimitiveViewportScrollable.displayName =
41
89
  * </ThreadPrimitive.Viewport>
42
90
  * ```
43
91
  */
44
- export const ThreadPrimitiveViewport = forwardRef(({ turnAnchor, ...props }, ref) => {
45
- return (_jsx(ThreadPrimitiveViewportProvider, { options: { turnAnchor }, children: _jsx(ThreadPrimitiveViewportScrollable, { ...props, ref: ref }) }));
92
+ export const ThreadPrimitiveViewport = forwardRef(({ turnAnchor, topAnchorMessageClamp, ...props }, ref) => {
93
+ return (_jsx(ThreadPrimitiveViewportProvider, { options: { turnAnchor, topAnchorMessageClamp }, children: _jsx(ThreadPrimitiveViewportScrollable, { ...props, ref: ref }) }));
46
94
  });
47
95
  ThreadPrimitiveViewport.displayName = "ThreadPrimitive.Viewport";
48
96
  //# sourceMappingURL=ThreadViewport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadViewport.js","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EAEL,UAAU,EAEV,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,2BAA2B,EAAE,yCAAsC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,0DAAuD;AACjG,OAAO,EAAE,aAAa,EAAE,2CAAwC;AAChE,OAAO,EAAE,iBAAiB,EAAE,qDAAkD;AA2C9E,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACxE,OAAO,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,UAAU,CAIlD,CACE,EACE,UAAU,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,QAAQ,EACR,GAAG,IAAI,EACR,EACD,YAAY,EACZ,EAAE;IACF,MAAM,aAAa,GAAG,2BAA2B,CAAiB;QAChE,UAAU;QACV,wBAAwB;QACxB,0BAA0B;QAC1B,4BAA4B;KAC7B,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IAE1E,OAAO,CACL,KAAC,SAAS,CAAC,GAAG,OAAK,IAAI,EAAE,GAAG,EAAE,GAAG,YAC9B,QAAQ,GACK,CACjB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,iCAAiC,CAAC,WAAW;IAC3C,oCAAoC,CAAC;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAG/C,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAClC,OAAO,CACL,KAAC,+BAA+B,IAAC,OAAO,EAAE,EAAE,UAAU,EAAE,YACtD,KAAC,iCAAiC,OAAK,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,GAC1B,CACnC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,uBAAuB,CAAC,WAAW,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"ThreadViewport.js","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadViewport.tsx"],"names":[],"mappings":"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"}
@@ -8,7 +8,8 @@ export declare namespace ThreadPrimitiveViewportFooter {
8
8
  * A footer container that measures its height for scroll calculations.
9
9
  *
10
10
  * This component measures its height and provides it to the viewport context
11
- * for use in scroll calculations (e.g., ViewportSlack min-height).
11
+ * so the auto-scroll system can account for any sticky footer overlapping the
12
+ * message list.
12
13
  *
13
14
  * Multiple ViewportFooter components can be used - their heights are summed.
14
15
  *