@assistant-ui/react 0.15.24 → 0.15.26

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 (204) hide show
  1. package/dist/hooks/useToolCallElapsed.d.ts +3 -1
  2. package/dist/hooks/useToolCallElapsed.d.ts.map +1 -1
  3. package/dist/hooks/useToolCallElapsed.js +8 -8
  4. package/dist/hooks/useToolCallElapsed.js.map +1 -1
  5. package/dist/index.d.ts +39 -7
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -3
  8. package/dist/mcp-apps/McpAppRenderer.d.ts.map +1 -1
  9. package/dist/mcp-apps/McpAppRenderer.js +3 -2
  10. package/dist/mcp-apps/McpAppRenderer.js.map +1 -1
  11. package/dist/mcp-apps/app-frame.d.ts.map +1 -1
  12. package/dist/mcp-apps/app-frame.js +56 -46
  13. package/dist/mcp-apps/app-frame.js.map +1 -1
  14. package/dist/mcp-apps/csp.d.ts +4 -0
  15. package/dist/mcp-apps/csp.d.ts.map +1 -0
  16. package/dist/mcp-apps/csp.js +93 -0
  17. package/dist/mcp-apps/csp.js.map +1 -0
  18. package/dist/mcp-apps/types.d.ts +1 -0
  19. package/dist/mcp-apps/types.d.ts.map +1 -1
  20. package/dist/mcp-apps/types.js.map +1 -1
  21. package/dist/model-context/makeAssistantVisible.d.ts +1 -0
  22. package/dist/model-context/makeAssistantVisible.d.ts.map +1 -1
  23. package/dist/model-context/makeAssistantVisible.js +31 -12
  24. package/dist/model-context/makeAssistantVisible.js.map +1 -1
  25. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +1 -0
  26. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -1
  27. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  28. package/dist/primitives/attachment.d.ts +3 -1
  29. package/dist/primitives/attachment.d.ts.map +1 -1
  30. package/dist/primitives/attachment.js.map +1 -1
  31. package/dist/primitives/composer/ComposerCancel.d.ts +5 -1
  32. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  33. package/dist/primitives/composer/ComposerCancel.js +14 -1
  34. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  35. package/dist/primitives/composer/ComposerInput.d.ts +15 -1
  36. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  37. package/dist/primitives/composer/ComposerInput.js +5 -4
  38. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  39. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
  40. package/dist/primitives/composer/ComposerRoot.js +24 -19
  41. package/dist/primitives/composer/ComposerRoot.js.map +1 -1
  42. package/dist/primitives/composer/composerInputSelector.d.ts +3 -0
  43. package/dist/primitives/composer/composerInputSelector.d.ts.map +1 -0
  44. package/dist/primitives/composer/composerInputSelector.js +7 -0
  45. package/dist/primitives/composer/composerInputSelector.js.map +1 -0
  46. package/dist/primitives/composer/trigger/TriggerPopover.d.ts +11 -11
  47. package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -1
  48. package/dist/primitives/composer/trigger/TriggerPopover.js +62 -60
  49. package/dist/primitives/composer/trigger/TriggerPopover.js.map +1 -1
  50. package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts +8 -8
  51. package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts.map +1 -1
  52. package/dist/primitives/composer/trigger/TriggerPopoverAction.js +6 -6
  53. package/dist/primitives/composer/trigger/TriggerPopoverAction.js.map +1 -1
  54. package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts +3 -3
  55. package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts.map +1 -1
  56. package/dist/primitives/composer/trigger/TriggerPopoverCategories.js.map +1 -1
  57. package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts +9 -9
  58. package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts.map +1 -1
  59. package/dist/primitives/composer/trigger/TriggerPopoverDirective.js +7 -7
  60. package/dist/primitives/composer/trigger/TriggerPopoverDirective.js.map +1 -1
  61. package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts +5 -5
  62. package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts.map +1 -1
  63. package/dist/primitives/composer/trigger/TriggerPopoverItems.js.map +1 -1
  64. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts +8 -8
  65. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js +8 -8
  66. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js.map +1 -1
  67. package/dist/primitives/composer/trigger/index.d.ts +1 -1
  68. package/dist/primitives/composer/useComposerCancelWithFocus.d.ts +2 -0
  69. package/dist/primitives/composer/useComposerCancelWithFocus.d.ts.map +1 -0
  70. package/dist/primitives/composer/useComposerCancelWithFocus.js +42 -0
  71. package/dist/primitives/composer/useComposerCancelWithFocus.js.map +1 -0
  72. package/dist/primitives/composer.d.ts +55 -15
  73. package/dist/primitives/composer.d.ts.map +1 -1
  74. package/dist/primitives/composer.js +8 -1
  75. package/dist/primitives/composer.js.map +1 -1
  76. package/dist/primitives/message/MessagePartsGrouped.d.ts +8 -1
  77. package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
  78. package/dist/primitives/message/MessagePartsGrouped.js +58 -278
  79. package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
  80. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts.map +1 -1
  81. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js +5 -2
  82. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js.map +1 -1
  83. package/dist/primitives/thread/ThreadLoadEarlier.d.ts +19 -0
  84. package/dist/primitives/thread/ThreadLoadEarlier.d.ts.map +1 -0
  85. package/dist/primitives/thread/ThreadLoadEarlier.js +36 -0
  86. package/dist/primitives/thread/ThreadLoadEarlier.js.map +1 -0
  87. package/dist/primitives/thread/ThreadMessages.d.ts +1 -1
  88. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
  89. package/dist/primitives/thread/ThreadMessages.js +2 -2
  90. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  91. package/dist/primitives/thread/ThreadViewport.js +4 -3
  92. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  93. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.js +2 -2
  94. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.js.map +1 -1
  95. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
  96. package/dist/primitives/thread/useThreadViewportAutoScroll.js +195 -17
  97. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  98. package/dist/primitives/thread.d.ts +2 -0
  99. package/dist/primitives/thread.d.ts.map +1 -1
  100. package/dist/primitives/thread.js +5 -2
  101. package/dist/primitives/thread.js.map +1 -1
  102. package/dist/sandbox-host/SandboxHost.d.ts.map +1 -1
  103. package/dist/sandbox-host/SandboxHost.js +9 -3
  104. package/dist/sandbox-host/SandboxHost.js.map +1 -1
  105. package/dist/unstable/useComposerInput.d.ts +7 -4
  106. package/dist/unstable/useComposerInput.d.ts.map +1 -1
  107. package/dist/unstable/useComposerInput.js +4 -4
  108. package/dist/unstable/useComposerInput.js.map +1 -1
  109. package/dist/unstable/useComposerInputHistory.d.ts +3 -2
  110. package/dist/unstable/useComposerInputHistory.d.ts.map +1 -1
  111. package/dist/unstable/useComposerInputHistory.js +2 -2
  112. package/dist/unstable/useComposerInputHistory.js.map +1 -1
  113. package/dist/unstable/useLiveCompletionAdapter.d.ts +3 -2
  114. package/dist/unstable/useLiveCompletionAdapter.d.ts.map +1 -1
  115. package/dist/unstable/useLiveCompletionAdapter.js +8 -7
  116. package/dist/unstable/useLiveCompletionAdapter.js.map +1 -1
  117. package/dist/unstable/useMentionAdapter.d.ts +12 -3
  118. package/dist/unstable/useMentionAdapter.d.ts.map +1 -1
  119. package/dist/unstable/useMentionAdapter.js +2 -2
  120. package/dist/unstable/useMentionAdapter.js.map +1 -1
  121. package/dist/unstable/useMessageStallDetection.d.ts +4 -2
  122. package/dist/unstable/useMessageStallDetection.d.ts.map +1 -1
  123. package/dist/unstable/useMessageStallDetection.js +12 -8
  124. package/dist/unstable/useMessageStallDetection.js.map +1 -1
  125. package/dist/unstable/useSlashCommandAdapter.d.ts +5 -2
  126. package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -1
  127. package/dist/unstable/useSlashCommandAdapter.js +5 -4
  128. package/dist/unstable/useSlashCommandAdapter.js.map +1 -1
  129. package/dist/unstable/webmcp/useWebMcpProvider.d.ts +4 -0
  130. package/dist/unstable/webmcp/useWebMcpProvider.d.ts.map +1 -1
  131. package/dist/unstable/webmcp/useWebMcpProvider.js +2 -0
  132. package/dist/unstable/webmcp/useWebMcpProvider.js.map +1 -1
  133. package/dist/utils/getSelectionMessageId.d.ts.map +1 -1
  134. package/dist/utils/getSelectionMessageId.js +31 -8
  135. package/dist/utils/getSelectionMessageId.js.map +1 -1
  136. package/dist/utils/hooks/useOnResizeContent.d.ts.map +1 -1
  137. package/dist/utils/hooks/useOnResizeContent.js +2 -22
  138. package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
  139. package/dist/utils/smooth/useSmooth.js +6 -6
  140. package/dist/utils/smooth/useSmooth.js.map +1 -1
  141. package/dist/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  142. package/dist/utils/useIsomorphicLayoutEffect.d.ts.map +1 -0
  143. package/dist/utils/useIsomorphicLayoutEffect.js +6 -0
  144. package/dist/utils/useIsomorphicLayoutEffect.js.map +1 -0
  145. package/package.json +12 -11
  146. package/src/hooks/useToolCallElapsed.test.tsx +37 -0
  147. package/src/hooks/useToolCallElapsed.ts +10 -7
  148. package/src/index.ts +47 -5
  149. package/src/mcp-apps/McpAppRenderer.tsx +3 -9
  150. package/src/mcp-apps/app-frame.test.tsx +38 -0
  151. package/src/mcp-apps/app-frame.tsx +5 -8
  152. package/src/mcp-apps/csp.test.ts +112 -0
  153. package/src/mcp-apps/csp.ts +124 -0
  154. package/src/mcp-apps/types.ts +1 -0
  155. package/src/model-context/frame/AssistantFrame.test.ts +45 -0
  156. package/src/model-context/frame/SPEC_AssistantFrame.md +1 -0
  157. package/src/model-context/makeAssistantVisible.test.tsx +315 -5
  158. package/src/model-context/makeAssistantVisible.tsx +43 -7
  159. package/src/primitives/assistantModal/AssistantModalRoot.tsx +1 -0
  160. package/src/primitives/attachment.ts +4 -1
  161. package/src/primitives/composer/ComposerCancel.focus.test.tsx +307 -0
  162. package/src/primitives/composer/ComposerCancel.ts +8 -1
  163. package/src/primitives/composer/ComposerInput.tsx +20 -2
  164. package/src/primitives/composer/ComposerRoot.tsx +6 -5
  165. package/src/primitives/composer/composerInputSelector.ts +4 -0
  166. package/src/primitives/composer/trigger/TriggerPopover.tsx +11 -11
  167. package/src/primitives/composer/trigger/TriggerPopoverAction.tsx +10 -13
  168. package/src/primitives/composer/trigger/TriggerPopoverCategories.tsx +2 -2
  169. package/src/primitives/composer/trigger/TriggerPopoverDirective.tsx +11 -14
  170. package/src/primitives/composer/trigger/TriggerPopoverExports.test.ts +61 -0
  171. package/src/primitives/composer/trigger/TriggerPopoverItems.tsx +3 -3
  172. package/src/primitives/composer/trigger/TriggerPopoverRootContext.tsx +8 -8
  173. package/src/primitives/composer/useComposerCancelWithFocus.ts +57 -0
  174. package/src/primitives/composer.ts +70 -15
  175. package/src/primitives/message/MessagePartsGrouped.test.tsx +106 -2
  176. package/src/primitives/message/MessagePartsGrouped.tsx +36 -134
  177. package/src/primitives/message/MessageRoot.test.tsx +125 -2
  178. package/src/primitives/selectionToolbar/SelectionToolbarRoot.test.tsx +20 -12
  179. package/src/primitives/selectionToolbar/SelectionToolbarRoot.tsx +6 -2
  180. package/src/primitives/thread/ThreadLoadEarlier.tsx +35 -0
  181. package/src/primitives/thread/ThreadMessages.tsx +1 -0
  182. package/src/primitives/thread/ThreadViewport.tsx +3 -3
  183. package/src/primitives/thread/topAnchor/useTopAnchorReserve.ts +2 -2
  184. package/src/primitives/thread/useThreadViewportAutoScroll.test.tsx +922 -68
  185. package/src/primitives/thread/useThreadViewportAutoScroll.ts +330 -56
  186. package/src/primitives/thread.ts +2 -0
  187. package/src/sandbox-host/SandboxHost.test.tsx +34 -0
  188. package/src/sandbox-host/SandboxHost.tsx +11 -12
  189. package/src/tests/toolCallTiming.test.tsx +19 -2
  190. package/src/unstable/useComposerInput.ts +7 -4
  191. package/src/unstable/useComposerInputHistory.ts +3 -2
  192. package/src/unstable/useLiveCompletionAdapter.ts +9 -14
  193. package/src/unstable/useMentionAdapter.ts +12 -3
  194. package/src/unstable/useMessageStallDetection.test.tsx +40 -0
  195. package/src/unstable/useMessageStallDetection.ts +14 -8
  196. package/src/unstable/useSlashCommandAdapter.ts +8 -4
  197. package/src/unstable/webmcp/useWebMcpProvider.ts +4 -0
  198. package/src/utils/getSelectionMessageId.test.ts +231 -0
  199. package/src/utils/getSelectionMessageId.ts +45 -7
  200. package/src/utils/hooks/useOnResizeContent.ts +2 -29
  201. package/src/utils/smooth/useSmooth.test.tsx +16 -5
  202. package/src/utils/smooth/useSmooth.ts +7 -7
  203. package/src/utils/useIsomorphicLayoutEffect.test.tsx +21 -0
  204. package/src/utils/useIsomorphicLayoutEffect.ts +9 -0
@@ -1 +1 @@
1
- {"version":3,"file":"TriggerPopoverItems.js","names":["c","_c","Primitive","ComponentRef","ComponentPropsWithoutRef","ReactNode","forwardRef","useCallback","composeEventHandlers","useTriggerPopoverScopeContext","Unstable_TriggerItem","ComposerPrimitiveTriggerPopoverItems","Element","div","Props","Omit","children","items","t0","forwardedRef","$","ariaLabel","props","activeCategoryId","isSearchMode","open","t1","t2","t3","displayName","ComposerPrimitiveTriggerPopoverItem","button","item","index","indexProp","onClick","onMouseMove","selectItem","highlightIndex","highlightedIndex","popoverId","handleClick","id","findIndex","i","itemIndex","isHighlighted","handleMouseMove","t4","t5","undefined","t6","t7","t8","_c","Primitive"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverItems.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"../../../utils/Primitive\";\nimport {\n type ComponentRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n forwardRef,\n useCallback,\n} from \"react\";\nimport { composeEventHandlers } from \"radix-ui/internal\";\nimport { useTriggerPopoverScopeContext } from \"./TriggerPopover\";\nimport type { Unstable_TriggerItem } from \"@assistant-ui/core\";\n\nexport namespace ComposerPrimitiveTriggerPopoverItems {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = Omit<\n ComponentPropsWithoutRef<typeof Primitive.div>,\n \"children\"\n > & {\n children: (items: readonly Unstable_TriggerItem[]) => ReactNode;\n };\n}\n\n/**\n * Renders the list of items within a category or search results via a render function.\n * Only renders when a category is active or search mode is on.\n */\nexport const ComposerPrimitiveTriggerPopoverItems = forwardRef<\n ComposerPrimitiveTriggerPopoverItems.Element,\n ComposerPrimitiveTriggerPopoverItems.Props\n>(({ children, \"aria-label\": ariaLabel, ...props }, forwardedRef) => {\n const { items, activeCategoryId, isSearchMode, open } =\n useTriggerPopoverScopeContext();\n\n if (!open || (!activeCategoryId && !isSearchMode)) return null;\n\n return (\n <Primitive.div\n role=\"group\"\n aria-label={ariaLabel ?? \"Items\"}\n {...props}\n ref={forwardedRef}\n >\n {children(items)}\n </Primitive.div>\n );\n});\n\nComposerPrimitiveTriggerPopoverItems.displayName =\n \"ComposerPrimitive.TriggerPopoverItems\";\n\nexport namespace ComposerPrimitiveTriggerPopoverItem {\n export type Element = ComponentRef<typeof Primitive.button>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.button> & {\n item: Unstable_TriggerItem;\n index?: number | undefined;\n };\n}\n\n/**\n * A button that selects a trigger item.\n * Automatically receives `data-highlighted` when keyboard-navigated.\n */\nexport const ComposerPrimitiveTriggerPopoverItem = forwardRef<\n ComposerPrimitiveTriggerPopoverItem.Element,\n ComposerPrimitiveTriggerPopoverItem.Props\n>(\n (\n { item, index: indexProp, onClick, onMouseMove, ...props },\n forwardedRef,\n ) => {\n const {\n selectItem,\n highlightIndex,\n items,\n highlightedIndex,\n activeCategoryId,\n isSearchMode,\n popoverId,\n } = useTriggerPopoverScopeContext();\n\n const handleClick = useCallback(() => {\n selectItem(item);\n }, [selectItem, item]);\n\n const itemIndex = indexProp ?? items.findIndex((i) => i.id === item.id);\n const isHighlighted =\n (isSearchMode || activeCategoryId !== null) &&\n itemIndex === highlightedIndex;\n\n const handleMouseMove = useCallback(() => {\n highlightIndex(itemIndex);\n }, [highlightIndex, itemIndex]);\n\n return (\n <Primitive.button\n type=\"button\"\n role=\"option\"\n id={`${popoverId}-option-${item.id}`}\n aria-selected={isHighlighted}\n data-highlighted={isHighlighted ? \"\" : undefined}\n {...props}\n ref={forwardedRef}\n onClick={composeEventHandlers(onClick, handleClick)}\n onMouseMove={composeEventHandlers(onMouseMove, handleMouseMove)}\n />\n );\n },\n);\n\nComposerPrimitiveTriggerPopoverItem.displayName =\n \"ComposerPrimitive.TriggerPopoverItem\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"TriggerPopoverItems.js","names":["c","_c","Primitive","ComponentRef","ComponentPropsWithoutRef","ReactNode","forwardRef","useCallback","composeEventHandlers","useTriggerPopoverScopeContext","TriggerItem","ComposerPrimitiveTriggerPopoverItems","Element","div","Props","Omit","children","items","t0","forwardedRef","$","ariaLabel","props","activeCategoryId","isSearchMode","open","t1","t2","t3","displayName","ComposerPrimitiveTriggerPopoverItem","button","item","index","indexProp","onClick","onMouseMove","selectItem","highlightIndex","highlightedIndex","popoverId","handleClick","id","findIndex","i","itemIndex","isHighlighted","handleMouseMove","t4","t5","undefined","t6","t7","t8","_c","Primitive"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverItems.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"../../../utils/Primitive\";\nimport {\n type ComponentRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n forwardRef,\n useCallback,\n} from \"react\";\nimport { composeEventHandlers } from \"radix-ui/internal\";\nimport { useTriggerPopoverScopeContext } from \"./TriggerPopover\";\nimport type { TriggerItem } from \"@assistant-ui/core\";\n\nexport namespace ComposerPrimitiveTriggerPopoverItems {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = Omit<\n ComponentPropsWithoutRef<typeof Primitive.div>,\n \"children\"\n > & {\n children: (items: readonly TriggerItem[]) => ReactNode;\n };\n}\n\n/**\n * Renders the list of items within a category or search results via a render function.\n * Only renders when a category is active or search mode is on.\n */\nexport const ComposerPrimitiveTriggerPopoverItems = forwardRef<\n ComposerPrimitiveTriggerPopoverItems.Element,\n ComposerPrimitiveTriggerPopoverItems.Props\n>(({ children, \"aria-label\": ariaLabel, ...props }, forwardedRef) => {\n const { items, activeCategoryId, isSearchMode, open } =\n useTriggerPopoverScopeContext();\n\n if (!open || (!activeCategoryId && !isSearchMode)) return null;\n\n return (\n <Primitive.div\n role=\"group\"\n aria-label={ariaLabel ?? \"Items\"}\n {...props}\n ref={forwardedRef}\n >\n {children(items)}\n </Primitive.div>\n );\n});\n\nComposerPrimitiveTriggerPopoverItems.displayName =\n \"ComposerPrimitive.TriggerPopoverItems\";\n\nexport namespace ComposerPrimitiveTriggerPopoverItem {\n export type Element = ComponentRef<typeof Primitive.button>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.button> & {\n item: TriggerItem;\n index?: number | undefined;\n };\n}\n\n/**\n * A button that selects a trigger item.\n * Automatically receives `data-highlighted` when keyboard-navigated.\n */\nexport const ComposerPrimitiveTriggerPopoverItem = forwardRef<\n ComposerPrimitiveTriggerPopoverItem.Element,\n ComposerPrimitiveTriggerPopoverItem.Props\n>(\n (\n { item, index: indexProp, onClick, onMouseMove, ...props },\n forwardedRef,\n ) => {\n const {\n selectItem,\n highlightIndex,\n items,\n highlightedIndex,\n activeCategoryId,\n isSearchMode,\n popoverId,\n } = useTriggerPopoverScopeContext();\n\n const handleClick = useCallback(() => {\n selectItem(item);\n }, [selectItem, item]);\n\n const itemIndex = indexProp ?? items.findIndex((i) => i.id === item.id);\n const isHighlighted =\n (isSearchMode || activeCategoryId !== null) &&\n itemIndex === highlightedIndex;\n\n const handleMouseMove = useCallback(() => {\n highlightIndex(itemIndex);\n }, [highlightIndex, itemIndex]);\n\n return (\n <Primitive.button\n type=\"button\"\n role=\"option\"\n id={`${popoverId}-option-${item.id}`}\n aria-selected={isHighlighted}\n data-highlighted={isHighlighted ? \"\" : undefined}\n {...props}\n ref={forwardedRef}\n onClick={composeEventHandlers(onClick, handleClick)}\n onMouseMove={composeEventHandlers(onMouseMove, handleMouseMove)}\n />\n );\n },\n);\n\nComposerPrimitiveTriggerPopoverItem.displayName =\n \"ComposerPrimitive.TriggerPopoverItem\";\n"],"mappings":"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"}
@@ -73,21 +73,21 @@ export declare namespace ComposerPrimitiveTriggerPopoverRoot {
73
73
  *
74
74
  * @example
75
75
  * ```tsx
76
- * <ComposerPrimitive.Unstable_TriggerPopoverRoot>
77
- * <ComposerPrimitive.Unstable_TriggerPopover char="@" adapter={mentionAdapter}>
78
- * <ComposerPrimitive.Unstable_TriggerPopover.Directive formatter={formatter} />
76
+ * <ComposerPrimitive.TriggerPopoverRoot>
77
+ * <ComposerPrimitive.TriggerPopover char="@" adapter={mentionAdapter}>
78
+ * <ComposerPrimitive.TriggerPopover.Directive formatter={formatter} />
79
79
  * ...
80
- * </ComposerPrimitive.Unstable_TriggerPopover>
80
+ * </ComposerPrimitive.TriggerPopover>
81
81
  *
82
- * <ComposerPrimitive.Unstable_TriggerPopover char="/" adapter={slashAdapter}>
83
- * <ComposerPrimitive.Unstable_TriggerPopover.Action onExecute={handler} />
82
+ * <ComposerPrimitive.TriggerPopover char="/" adapter={slashAdapter}>
83
+ * <ComposerPrimitive.TriggerPopover.Action onExecute={handler} />
84
84
  * ...
85
- * </ComposerPrimitive.Unstable_TriggerPopover>
85
+ * </ComposerPrimitive.TriggerPopover>
86
86
  *
87
87
  * <ComposerPrimitive.Root>
88
88
  * <ComposerPrimitive.Input />
89
89
  * </ComposerPrimitive.Root>
90
- * </ComposerPrimitive.Unstable_TriggerPopoverRoot>
90
+ * </ComposerPrimitive.TriggerPopoverRoot>
91
91
  * ```
92
92
  */
93
93
  export declare const ComposerPrimitiveTriggerPopoverRoot: FC<ComposerPrimitiveTriggerPopoverRoot.Props>;
@@ -233,21 +233,21 @@ const TriggerPopoverRootInner = (t0) => {
233
233
  *
234
234
  * @example
235
235
  * ```tsx
236
- * <ComposerPrimitive.Unstable_TriggerPopoverRoot>
237
- * <ComposerPrimitive.Unstable_TriggerPopover char="@" adapter={mentionAdapter}>
238
- * <ComposerPrimitive.Unstable_TriggerPopover.Directive formatter={formatter} />
236
+ * <ComposerPrimitive.TriggerPopoverRoot>
237
+ * <ComposerPrimitive.TriggerPopover char="@" adapter={mentionAdapter}>
238
+ * <ComposerPrimitive.TriggerPopover.Directive formatter={formatter} />
239
239
  * ...
240
- * </ComposerPrimitive.Unstable_TriggerPopover>
240
+ * </ComposerPrimitive.TriggerPopover>
241
241
  *
242
- * <ComposerPrimitive.Unstable_TriggerPopover char="/" adapter={slashAdapter}>
243
- * <ComposerPrimitive.Unstable_TriggerPopover.Action onExecute={handler} />
242
+ * <ComposerPrimitive.TriggerPopover char="/" adapter={slashAdapter}>
243
+ * <ComposerPrimitive.TriggerPopover.Action onExecute={handler} />
244
244
  * ...
245
- * </ComposerPrimitive.Unstable_TriggerPopover>
245
+ * </ComposerPrimitive.TriggerPopover>
246
246
  *
247
247
  * <ComposerPrimitive.Root>
248
248
  * <ComposerPrimitive.Input />
249
249
  * </ComposerPrimitive.Root>
250
- * </ComposerPrimitive.Unstable_TriggerPopoverRoot>
250
+ * </ComposerPrimitive.TriggerPopoverRoot>
251
251
  * ```
252
252
  */
253
253
  const ComposerPrimitiveTriggerPopoverRoot = (t0) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TriggerPopoverRootContext.js","names":["c","_c","createContext","useCallback","useContext","useMemo","useRef","useSyncExternalStore","FC","ReactNode","ComposerInputPluginProvider","useComposerInputPluginRegistryOptional","TriggerPopoverResourceOutput","TriggerBehavior","TriggerMatcher","RegisteredTrigger","char","matcher","behavior","resource","TriggerPopoverLifecycleListener","added","trigger","removed","TriggerPopoverActiveAria","popoverId","highlightedItemId","TriggerPopoverRootContextValue","register","getTriggers","ReadonlyMap","subscribe","listener","subscribeLifecycle","getActiveAria","subscribeAria","TriggerPopoverAriaPublish","setActiveAria","aria","TriggerPopoverRootContext","TriggerPopoverAriaPublishContext","useTriggerPopoverRootContext","ctx","Error","useTriggerPopoverRootContextOptional","useTriggerPopoverAriaPublish","useTriggerPopoverTriggers","EMPTY_TRIGGERS","Map","noopSubscribe","getEmptyTriggers","useTriggerPopoverTriggersOptional","getNullAria","useTriggerPopoverActiveAriaOptional","ComposerPrimitiveTriggerPopoverRoot","Props","children","useSimpleSubscribable","$","t0","Symbol","for","Set","listenersRef","t1","current","notify","t2","listener_0","add","delete","t3","TriggerPopoverRootInner","triggersRef","lifecycleListenersRef","has","process","env","NODE_ENV","console","warn","_temp","existing","values","startsWith","next","set","l","after","l_0","t4","t5","activeAriaRef","activeAriaCharRef","notifyAria","t6","char_0","prev","t7","t8","value","t9","ariaPublishValue","t10","t11","existingRegistry","displayName","_c"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverRootContext.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useSyncExternalStore,\n type FC,\n type ReactNode,\n} from \"react\";\nimport {\n ComposerInputPluginProvider,\n useComposerInputPluginRegistryOptional,\n} from \"../ComposerInputPluginContext\";\nimport type { TriggerPopoverResourceOutput } from \"./TriggerPopoverResource\";\nimport type { TriggerBehavior } from \"./triggerSelectionResource\";\nimport type { TriggerMatcher } from \"./detectTrigger\";\n\nexport type RegisteredTrigger = {\n readonly char: string;\n readonly matcher?: TriggerMatcher | undefined;\n /** Behavior contributed by a child `TriggerPopover.Directive` / `.Action`. */\n readonly behavior?: TriggerBehavior;\n readonly resource: TriggerPopoverResourceOutput;\n};\n\nexport type TriggerPopoverLifecycleListener = {\n added(trigger: RegisteredTrigger): void;\n removed(char: string): void;\n};\n\n/**\n * ARIA descriptor of the popover that is currently open. Consumed by the\n * focused element (typically the composer textarea) so it can advertise the\n * combobox relationship per the WAI-ARIA editable combobox pattern.\n */\nexport type TriggerPopoverActiveAria = {\n popoverId: string;\n highlightedItemId: string | undefined;\n};\n\nexport type TriggerPopoverRootContextValue = {\n register(trigger: RegisteredTrigger): () => void;\n getTriggers(): ReadonlyMap<string, RegisteredTrigger>;\n subscribe(listener: () => void): () => void;\n /** Subscribe to per-trigger add/remove events. */\n subscribeLifecycle(listener: TriggerPopoverLifecycleListener): () => void;\n /** ARIA descriptor of the open popover, or null if none is open. */\n getActiveAria(): TriggerPopoverActiveAria | null;\n /** Subscribe to changes in the active ARIA descriptor. */\n subscribeAria(listener: () => void): () => void;\n};\n\n/**\n * Write-side of the ARIA descriptor, scoped to `TriggerPopover` children of a\n * `TriggerPopoverRoot`. Intentionally not exposed on the public root context\n * value: external consumers can read ARIA state but cannot publish or clear it.\n */\ntype TriggerPopoverAriaPublish = {\n setActiveAria(char: string, aria: TriggerPopoverActiveAria | null): void;\n};\n\nconst TriggerPopoverRootContext =\n createContext<TriggerPopoverRootContextValue | null>(null);\n\nconst TriggerPopoverAriaPublishContext =\n createContext<TriggerPopoverAriaPublish | null>(null);\n\nexport const useTriggerPopoverRootContext = () => {\n const ctx = useContext(TriggerPopoverRootContext);\n if (!ctx)\n throw new Error(\n \"useTriggerPopoverRootContext must be used within ComposerPrimitive.TriggerPopoverRoot\",\n );\n return ctx;\n};\n\nexport const useTriggerPopoverRootContextOptional = () =>\n useContext(TriggerPopoverRootContext);\n\n/**\n * Internal hook used by `TriggerPopover` children to publish their open and\n * highlight state. Not exported from the trigger module.\n */\nexport const useTriggerPopoverAriaPublish = (): TriggerPopoverAriaPublish => {\n const ctx = useContext(TriggerPopoverAriaPublishContext);\n if (!ctx)\n throw new Error(\n \"useTriggerPopoverAriaPublish must be used within ComposerPrimitive.TriggerPopoverRoot\",\n );\n return ctx;\n};\n\n/**\n * Live map of registered triggers, re-rendering on change. Prefer\n * `subscribeLifecycle` for incremental add/remove handling.\n */\nexport const useTriggerPopoverTriggers = () => {\n const ctx = useTriggerPopoverRootContext();\n return useSyncExternalStore(ctx.subscribe, ctx.getTriggers, ctx.getTriggers);\n};\n\nconst EMPTY_TRIGGERS: ReadonlyMap<string, RegisteredTrigger> = new Map();\nconst noopSubscribe = () => () => {};\nconst getEmptyTriggers = () => EMPTY_TRIGGERS;\n\n/** Like `useTriggerPopoverTriggers` but returns an empty map outside a root. */\nexport const useTriggerPopoverTriggersOptional = () => {\n const ctx = useTriggerPopoverRootContextOptional();\n return useSyncExternalStore(\n ctx ? ctx.subscribe : noopSubscribe,\n ctx ? ctx.getTriggers : getEmptyTriggers,\n ctx ? ctx.getTriggers : getEmptyTriggers,\n );\n};\n\nconst getNullAria = () => null;\n\n/**\n * Returns the ARIA descriptor of the currently open trigger popover, or\n * `null` if none is open or the consumer is rendered outside a\n * `TriggerPopoverRoot`.\n */\nexport const useTriggerPopoverActiveAriaOptional =\n (): TriggerPopoverActiveAria | null => {\n const ctx = useTriggerPopoverRootContextOptional();\n return useSyncExternalStore(\n ctx ? ctx.subscribeAria : noopSubscribe,\n ctx ? ctx.getActiveAria : getNullAria,\n ctx ? ctx.getActiveAria : getNullAria,\n );\n };\n\nexport namespace ComposerPrimitiveTriggerPopoverRoot {\n export type Props = {\n children: ReactNode;\n };\n}\n\n/**\n * Local helper for the simple \"notify-all listeners\" subscribable pattern.\n * Used twice in this file (trigger registry, active ARIA); kept inline to\n * avoid pulling a single-use abstraction into the wider tree.\n */\nfunction useSimpleSubscribable() {\n const listenersRef = useRef<Set<() => void>>(new Set());\n const notify = useCallback(() => {\n for (const listener of listenersRef.current) listener();\n }, []);\n const subscribe = useCallback((listener: () => void) => {\n listenersRef.current.add(listener);\n return () => {\n listenersRef.current.delete(listener);\n };\n }, []);\n return { notify, subscribe };\n}\n\nconst TriggerPopoverRootInner: FC<\n ComposerPrimitiveTriggerPopoverRoot.Props\n> = ({ children }) => {\n const triggersRef = useRef<ReadonlyMap<string, RegisteredTrigger>>(new Map());\n const lifecycleListenersRef = useRef<Set<TriggerPopoverLifecycleListener>>(\n new Set(),\n );\n\n const { notify, subscribe } = useSimpleSubscribable();\n\n const register = useCallback<TriggerPopoverRootContextValue[\"register\"]>(\n (trigger) => {\n const { char } = trigger;\n if (triggersRef.current.has(char)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `[assistant-ui] Duplicate TriggerPopover for char \"${char}\". Ignoring the second registration.`,\n );\n }\n return () => {};\n }\n if (process.env.NODE_ENV !== \"production\") {\n for (const existing of triggersRef.current.values()) {\n if (\n char.startsWith(existing.char) ||\n existing.char.startsWith(char)\n ) {\n console.warn(\n `[assistant-ui] Trigger prefix collision between \"${existing.char}\" and \"${char}\". One char is a prefix of the other; only one will match reliably.`,\n );\n }\n }\n }\n const next = new Map(triggersRef.current);\n next.set(char, trigger);\n triggersRef.current = next;\n notify();\n for (const l of lifecycleListenersRef.current) l.added(trigger);\n return () => {\n const after = new Map(triggersRef.current);\n after.delete(char);\n triggersRef.current = after;\n notify();\n for (const l of lifecycleListenersRef.current) l.removed(char);\n };\n },\n [notify],\n );\n\n const getTriggers = useCallback<\n TriggerPopoverRootContextValue[\"getTriggers\"]\n >(() => triggersRef.current, []);\n\n const subscribeLifecycle = useCallback<\n TriggerPopoverRootContextValue[\"subscribeLifecycle\"]\n >((listener) => {\n lifecycleListenersRef.current.add(listener);\n return () => {\n lifecycleListenersRef.current.delete(listener);\n };\n }, []);\n\n const activeAriaRef = useRef<TriggerPopoverActiveAria | null>(null);\n const activeAriaCharRef = useRef<string | null>(null);\n const { notify: notifyAria, subscribe: subscribeAria } =\n useSimpleSubscribable();\n\n const setActiveAria = useCallback<TriggerPopoverAriaPublish[\"setActiveAria\"]>(\n (char, aria) => {\n if (aria === null) {\n if (activeAriaCharRef.current !== char) return;\n activeAriaRef.current = null;\n activeAriaCharRef.current = null;\n notifyAria();\n return;\n }\n const prev = activeAriaRef.current;\n if (\n activeAriaCharRef.current === char &&\n prev !== null &&\n prev.popoverId === aria.popoverId &&\n prev.highlightedItemId === aria.highlightedItemId\n ) {\n return;\n }\n activeAriaRef.current = aria;\n activeAriaCharRef.current = char;\n notifyAria();\n },\n [notifyAria],\n );\n\n const getActiveAria = useCallback<\n TriggerPopoverRootContextValue[\"getActiveAria\"]\n >(() => activeAriaRef.current, []);\n\n const value = useMemo<TriggerPopoverRootContextValue>(\n () => ({\n register,\n getTriggers,\n subscribe,\n subscribeLifecycle,\n getActiveAria,\n subscribeAria,\n }),\n [\n register,\n getTriggers,\n subscribe,\n subscribeLifecycle,\n getActiveAria,\n subscribeAria,\n ],\n );\n\n const ariaPublishValue = useMemo<TriggerPopoverAriaPublish>(\n () => ({ setActiveAria }),\n [setActiveAria],\n );\n\n return (\n <TriggerPopoverRootContext.Provider value={value}>\n <TriggerPopoverAriaPublishContext.Provider value={ariaPublishValue}>\n {children}\n </TriggerPopoverAriaPublishContext.Provider>\n </TriggerPopoverRootContext.Provider>\n );\n};\n\n/**\n * Provider that groups one or more `TriggerPopover` declarations. Each trigger\n * is identified by its `char` (unique within the root). Behavior is contributed\n * by a child `TriggerPopover.Directive` or `TriggerPopover.Action`.\n *\n * @example\n * ```tsx\n * <ComposerPrimitive.Unstable_TriggerPopoverRoot>\n * <ComposerPrimitive.Unstable_TriggerPopover char=\"@\" adapter={mentionAdapter}>\n * <ComposerPrimitive.Unstable_TriggerPopover.Directive formatter={formatter} />\n * ...\n * </ComposerPrimitive.Unstable_TriggerPopover>\n *\n * <ComposerPrimitive.Unstable_TriggerPopover char=\"/\" adapter={slashAdapter}>\n * <ComposerPrimitive.Unstable_TriggerPopover.Action onExecute={handler} />\n * ...\n * </ComposerPrimitive.Unstable_TriggerPopover>\n *\n * <ComposerPrimitive.Root>\n * <ComposerPrimitive.Input />\n * </ComposerPrimitive.Root>\n * </ComposerPrimitive.Unstable_TriggerPopoverRoot>\n * ```\n */\nexport const ComposerPrimitiveTriggerPopoverRoot: FC<\n ComposerPrimitiveTriggerPopoverRoot.Props\n> = ({ children }) => {\n const existingRegistry = useComposerInputPluginRegistryOptional();\n\n if (existingRegistry) {\n return <TriggerPopoverRootInner>{children}</TriggerPopoverRootInner>;\n }\n\n return (\n <ComposerInputPluginProvider>\n <TriggerPopoverRootInner>{children}</TriggerPopoverRootInner>\n </ComposerInputPluginProvider>\n );\n};\n\nComposerPrimitiveTriggerPopoverRoot.displayName =\n \"ComposerPrimitive.TriggerPopoverRoot\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"TriggerPopoverRootContext.js","names":["c","_c","createContext","useCallback","useContext","useMemo","useRef","useSyncExternalStore","FC","ReactNode","ComposerInputPluginProvider","useComposerInputPluginRegistryOptional","TriggerPopoverResourceOutput","TriggerBehavior","TriggerMatcher","RegisteredTrigger","char","matcher","behavior","resource","TriggerPopoverLifecycleListener","added","trigger","removed","TriggerPopoverActiveAria","popoverId","highlightedItemId","TriggerPopoverRootContextValue","register","getTriggers","ReadonlyMap","subscribe","listener","subscribeLifecycle","getActiveAria","subscribeAria","TriggerPopoverAriaPublish","setActiveAria","aria","TriggerPopoverRootContext","TriggerPopoverAriaPublishContext","useTriggerPopoverRootContext","ctx","Error","useTriggerPopoverRootContextOptional","useTriggerPopoverAriaPublish","useTriggerPopoverTriggers","EMPTY_TRIGGERS","Map","noopSubscribe","getEmptyTriggers","useTriggerPopoverTriggersOptional","getNullAria","useTriggerPopoverActiveAriaOptional","ComposerPrimitiveTriggerPopoverRoot","Props","children","useSimpleSubscribable","$","t0","Symbol","for","Set","listenersRef","t1","current","notify","t2","listener_0","add","delete","t3","TriggerPopoverRootInner","triggersRef","lifecycleListenersRef","has","process","env","NODE_ENV","console","warn","_temp","existing","values","startsWith","next","set","l","after","l_0","t4","t5","activeAriaRef","activeAriaCharRef","notifyAria","t6","char_0","prev","t7","t8","value","t9","ariaPublishValue","t10","t11","existingRegistry","displayName","_c"],"sources":["../../../../src/primitives/composer/trigger/TriggerPopoverRootContext.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useSyncExternalStore,\n type FC,\n type ReactNode,\n} from \"react\";\nimport {\n ComposerInputPluginProvider,\n useComposerInputPluginRegistryOptional,\n} from \"../ComposerInputPluginContext\";\nimport type { TriggerPopoverResourceOutput } from \"./TriggerPopoverResource\";\nimport type { TriggerBehavior } from \"./triggerSelectionResource\";\nimport type { TriggerMatcher } from \"./detectTrigger\";\n\nexport type RegisteredTrigger = {\n readonly char: string;\n readonly matcher?: TriggerMatcher | undefined;\n /** Behavior contributed by a child `TriggerPopover.Directive` / `.Action`. */\n readonly behavior?: TriggerBehavior;\n readonly resource: TriggerPopoverResourceOutput;\n};\n\nexport type TriggerPopoverLifecycleListener = {\n added(trigger: RegisteredTrigger): void;\n removed(char: string): void;\n};\n\n/**\n * ARIA descriptor of the popover that is currently open. Consumed by the\n * focused element (typically the composer textarea) so it can advertise the\n * combobox relationship per the WAI-ARIA editable combobox pattern.\n */\nexport type TriggerPopoverActiveAria = {\n popoverId: string;\n highlightedItemId: string | undefined;\n};\n\nexport type TriggerPopoverRootContextValue = {\n register(trigger: RegisteredTrigger): () => void;\n getTriggers(): ReadonlyMap<string, RegisteredTrigger>;\n subscribe(listener: () => void): () => void;\n /** Subscribe to per-trigger add/remove events. */\n subscribeLifecycle(listener: TriggerPopoverLifecycleListener): () => void;\n /** ARIA descriptor of the open popover, or null if none is open. */\n getActiveAria(): TriggerPopoverActiveAria | null;\n /** Subscribe to changes in the active ARIA descriptor. */\n subscribeAria(listener: () => void): () => void;\n};\n\n/**\n * Write-side of the ARIA descriptor, scoped to `TriggerPopover` children of a\n * `TriggerPopoverRoot`. Intentionally not exposed on the public root context\n * value: external consumers can read ARIA state but cannot publish or clear it.\n */\ntype TriggerPopoverAriaPublish = {\n setActiveAria(char: string, aria: TriggerPopoverActiveAria | null): void;\n};\n\nconst TriggerPopoverRootContext =\n createContext<TriggerPopoverRootContextValue | null>(null);\n\nconst TriggerPopoverAriaPublishContext =\n createContext<TriggerPopoverAriaPublish | null>(null);\n\nexport const useTriggerPopoverRootContext = () => {\n const ctx = useContext(TriggerPopoverRootContext);\n if (!ctx)\n throw new Error(\n \"useTriggerPopoverRootContext must be used within ComposerPrimitive.TriggerPopoverRoot\",\n );\n return ctx;\n};\n\nexport const useTriggerPopoverRootContextOptional = () =>\n useContext(TriggerPopoverRootContext);\n\n/**\n * Internal hook used by `TriggerPopover` children to publish their open and\n * highlight state. Not exported from the trigger module.\n */\nexport const useTriggerPopoverAriaPublish = (): TriggerPopoverAriaPublish => {\n const ctx = useContext(TriggerPopoverAriaPublishContext);\n if (!ctx)\n throw new Error(\n \"useTriggerPopoverAriaPublish must be used within ComposerPrimitive.TriggerPopoverRoot\",\n );\n return ctx;\n};\n\n/**\n * Live map of registered triggers, re-rendering on change. Prefer\n * `subscribeLifecycle` for incremental add/remove handling.\n */\nexport const useTriggerPopoverTriggers = () => {\n const ctx = useTriggerPopoverRootContext();\n return useSyncExternalStore(ctx.subscribe, ctx.getTriggers, ctx.getTriggers);\n};\n\nconst EMPTY_TRIGGERS: ReadonlyMap<string, RegisteredTrigger> = new Map();\nconst noopSubscribe = () => () => {};\nconst getEmptyTriggers = () => EMPTY_TRIGGERS;\n\n/** Like `useTriggerPopoverTriggers` but returns an empty map outside a root. */\nexport const useTriggerPopoverTriggersOptional = () => {\n const ctx = useTriggerPopoverRootContextOptional();\n return useSyncExternalStore(\n ctx ? ctx.subscribe : noopSubscribe,\n ctx ? ctx.getTriggers : getEmptyTriggers,\n ctx ? ctx.getTriggers : getEmptyTriggers,\n );\n};\n\nconst getNullAria = () => null;\n\n/**\n * Returns the ARIA descriptor of the currently open trigger popover, or\n * `null` if none is open or the consumer is rendered outside a\n * `TriggerPopoverRoot`.\n */\nexport const useTriggerPopoverActiveAriaOptional =\n (): TriggerPopoverActiveAria | null => {\n const ctx = useTriggerPopoverRootContextOptional();\n return useSyncExternalStore(\n ctx ? ctx.subscribeAria : noopSubscribe,\n ctx ? ctx.getActiveAria : getNullAria,\n ctx ? ctx.getActiveAria : getNullAria,\n );\n };\n\nexport namespace ComposerPrimitiveTriggerPopoverRoot {\n export type Props = {\n children: ReactNode;\n };\n}\n\n/**\n * Local helper for the simple \"notify-all listeners\" subscribable pattern.\n * Used twice in this file (trigger registry, active ARIA); kept inline to\n * avoid pulling a single-use abstraction into the wider tree.\n */\nfunction useSimpleSubscribable() {\n const listenersRef = useRef<Set<() => void>>(new Set());\n const notify = useCallback(() => {\n for (const listener of listenersRef.current) listener();\n }, []);\n const subscribe = useCallback((listener: () => void) => {\n listenersRef.current.add(listener);\n return () => {\n listenersRef.current.delete(listener);\n };\n }, []);\n return { notify, subscribe };\n}\n\nconst TriggerPopoverRootInner: FC<\n ComposerPrimitiveTriggerPopoverRoot.Props\n> = ({ children }) => {\n const triggersRef = useRef<ReadonlyMap<string, RegisteredTrigger>>(new Map());\n const lifecycleListenersRef = useRef<Set<TriggerPopoverLifecycleListener>>(\n new Set(),\n );\n\n const { notify, subscribe } = useSimpleSubscribable();\n\n const register = useCallback<TriggerPopoverRootContextValue[\"register\"]>(\n (trigger) => {\n const { char } = trigger;\n if (triggersRef.current.has(char)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `[assistant-ui] Duplicate TriggerPopover for char \"${char}\". Ignoring the second registration.`,\n );\n }\n return () => {};\n }\n if (process.env.NODE_ENV !== \"production\") {\n for (const existing of triggersRef.current.values()) {\n if (\n char.startsWith(existing.char) ||\n existing.char.startsWith(char)\n ) {\n console.warn(\n `[assistant-ui] Trigger prefix collision between \"${existing.char}\" and \"${char}\". One char is a prefix of the other; only one will match reliably.`,\n );\n }\n }\n }\n const next = new Map(triggersRef.current);\n next.set(char, trigger);\n triggersRef.current = next;\n notify();\n for (const l of lifecycleListenersRef.current) l.added(trigger);\n return () => {\n const after = new Map(triggersRef.current);\n after.delete(char);\n triggersRef.current = after;\n notify();\n for (const l of lifecycleListenersRef.current) l.removed(char);\n };\n },\n [notify],\n );\n\n const getTriggers = useCallback<\n TriggerPopoverRootContextValue[\"getTriggers\"]\n >(() => triggersRef.current, []);\n\n const subscribeLifecycle = useCallback<\n TriggerPopoverRootContextValue[\"subscribeLifecycle\"]\n >((listener) => {\n lifecycleListenersRef.current.add(listener);\n return () => {\n lifecycleListenersRef.current.delete(listener);\n };\n }, []);\n\n const activeAriaRef = useRef<TriggerPopoverActiveAria | null>(null);\n const activeAriaCharRef = useRef<string | null>(null);\n const { notify: notifyAria, subscribe: subscribeAria } =\n useSimpleSubscribable();\n\n const setActiveAria = useCallback<TriggerPopoverAriaPublish[\"setActiveAria\"]>(\n (char, aria) => {\n if (aria === null) {\n if (activeAriaCharRef.current !== char) return;\n activeAriaRef.current = null;\n activeAriaCharRef.current = null;\n notifyAria();\n return;\n }\n const prev = activeAriaRef.current;\n if (\n activeAriaCharRef.current === char &&\n prev !== null &&\n prev.popoverId === aria.popoverId &&\n prev.highlightedItemId === aria.highlightedItemId\n ) {\n return;\n }\n activeAriaRef.current = aria;\n activeAriaCharRef.current = char;\n notifyAria();\n },\n [notifyAria],\n );\n\n const getActiveAria = useCallback<\n TriggerPopoverRootContextValue[\"getActiveAria\"]\n >(() => activeAriaRef.current, []);\n\n const value = useMemo<TriggerPopoverRootContextValue>(\n () => ({\n register,\n getTriggers,\n subscribe,\n subscribeLifecycle,\n getActiveAria,\n subscribeAria,\n }),\n [\n register,\n getTriggers,\n subscribe,\n subscribeLifecycle,\n getActiveAria,\n subscribeAria,\n ],\n );\n\n const ariaPublishValue = useMemo<TriggerPopoverAriaPublish>(\n () => ({ setActiveAria }),\n [setActiveAria],\n );\n\n return (\n <TriggerPopoverRootContext.Provider value={value}>\n <TriggerPopoverAriaPublishContext.Provider value={ariaPublishValue}>\n {children}\n </TriggerPopoverAriaPublishContext.Provider>\n </TriggerPopoverRootContext.Provider>\n );\n};\n\n/**\n * Provider that groups one or more `TriggerPopover` declarations. Each trigger\n * is identified by its `char` (unique within the root). Behavior is contributed\n * by a child `TriggerPopover.Directive` or `TriggerPopover.Action`.\n *\n * @example\n * ```tsx\n * <ComposerPrimitive.TriggerPopoverRoot>\n * <ComposerPrimitive.TriggerPopover char=\"@\" adapter={mentionAdapter}>\n * <ComposerPrimitive.TriggerPopover.Directive formatter={formatter} />\n * ...\n * </ComposerPrimitive.TriggerPopover>\n *\n * <ComposerPrimitive.TriggerPopover char=\"/\" adapter={slashAdapter}>\n * <ComposerPrimitive.TriggerPopover.Action onExecute={handler} />\n * ...\n * </ComposerPrimitive.TriggerPopover>\n *\n * <ComposerPrimitive.Root>\n * <ComposerPrimitive.Input />\n * </ComposerPrimitive.Root>\n * </ComposerPrimitive.TriggerPopoverRoot>\n * ```\n */\nexport const ComposerPrimitiveTriggerPopoverRoot: FC<\n ComposerPrimitiveTriggerPopoverRoot.Props\n> = ({ children }) => {\n const existingRegistry = useComposerInputPluginRegistryOptional();\n\n if (existingRegistry) {\n return <TriggerPopoverRootInner>{children}</TriggerPopoverRootInner>;\n }\n\n return (\n <ComposerInputPluginProvider>\n <TriggerPopoverRootInner>{children}</TriggerPopoverRootInner>\n </ComposerInputPluginProvider>\n );\n};\n\nComposerPrimitiveTriggerPopoverRoot.displayName =\n \"ComposerPrimitive.TriggerPopoverRoot\";\n"],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare const ComposerPrimitiveTriggerPopover: import("react").ForwardRef
14
14
  } & import("react").RefAttributes<HTMLDivElement>, "ref">, "onSelect"> & {
15
15
  readonly char: string;
16
16
  readonly matcher?: import("./detectTrigger.js").TriggerMatcher | undefined;
17
- readonly adapter?: import("@assistant-ui/core").Unstable_TriggerAdapter | undefined;
17
+ readonly adapter?: import("@assistant-ui/core").TriggerAdapter | undefined;
18
18
  readonly isLoading?: boolean | undefined;
19
19
  } & import("react").RefAttributes<HTMLDivElement>> & {
20
20
  Directive: import("react").FC<ComposerPrimitiveTriggerPopoverDirective.Props>;
@@ -0,0 +1,2 @@
1
+ export declare const useComposerCancelWithFocus: (cancel: () => void) => (source: HTMLElement | null) => void;
2
+ //# sourceMappingURL=useComposerCancelWithFocus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useComposerCancelWithFocus.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/useComposerCancelWithFocus.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,0BAA0B,GAAI,QAAQ,MAAM,IAAI,cAKhD,WAAW,GAAG,IAAI,SAyC9B,CAAC"}
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { COMPOSER_INPUT_SELECTOR } from "./composerInputSelector.js";
3
+ import { useThreadRootElementRef } from "../thread/ThreadRootElementContext.js";
4
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
5
+ import "@assistant-ui/tap/react-shim";
6
+ import { useAui } from "@assistant-ui/store";
7
+ //#region src/primitives/composer/useComposerCancelWithFocus.ts
8
+ const COMPOSER_SELECTOR = "[data-aui-composer-type]";
9
+ const THREAD_SELECTOR = "[data-aui-thread-root]";
10
+ const useComposerCancelWithFocus = (cancel) => {
11
+ const $ = c(4);
12
+ const aui = useAui();
13
+ const threadRootRef = useThreadRootElementRef();
14
+ let t0;
15
+ if ($[0] !== aui.composer || $[1] !== cancel || $[2] !== threadRootRef) {
16
+ t0 = (source) => {
17
+ const root = threadRootRef?.current;
18
+ const doc = source?.ownerDocument;
19
+ const active = doc?.activeElement;
20
+ const composer = source?.closest(COMPOSER_SELECTOR);
21
+ const shouldRestore = aui.composer.getState().type === "edit" && root && active && composer?.getAttribute("data-aui-composer-type") === "edit" && composer.contains(active) && composer.closest(THREAD_SELECTOR) === root;
22
+ const candidates = shouldRestore ? Array.from(root.querySelectorAll(COMPOSER_INPUT_SELECTOR)).filter((input) => input.closest(THREAD_SELECTOR) === root && input.closest(COMPOSER_SELECTOR)?.getAttribute("data-aui-composer-type") === "thread") : [];
23
+ cancel();
24
+ if (!doc || !active || !shouldRestore) return;
25
+ if (doc.activeElement !== active && doc.activeElement !== doc.body) return;
26
+ for (const input_0 of candidates) {
27
+ if (!input_0.isConnected || input_0.closest("[hidden], [inert]")) continue;
28
+ input_0.focus({ preventScroll: true });
29
+ if (doc.activeElement !== active && doc.activeElement !== doc.body) break;
30
+ }
31
+ };
32
+ $[0] = aui.composer;
33
+ $[1] = cancel;
34
+ $[2] = threadRootRef;
35
+ $[3] = t0;
36
+ } else t0 = $[3];
37
+ return t0;
38
+ };
39
+ //#endregion
40
+ export { useComposerCancelWithFocus };
41
+
42
+ //# sourceMappingURL=useComposerCancelWithFocus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useComposerCancelWithFocus.js","names":["c","_c","useCallback","useAui","useThreadRootElementRef","COMPOSER_INPUT_SELECTOR","COMPOSER_SELECTOR","THREAD_SELECTOR","useComposerCancelWithFocus","cancel","$","aui","threadRootRef","t0","composer","source","root","current","doc","ownerDocument","active","activeElement","closest","shouldRestore","getState","type","getAttribute","contains","candidates","Array","from","querySelectorAll","filter","input","body","input_0","isConnected","focus","preventScroll","cancelWithFocus","_c","cancelWithFocus"],"sources":["../../../src/primitives/composer/useComposerCancelWithFocus.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback } from \"react\";\nimport { useAui } from \"@assistant-ui/store\";\nimport { useThreadRootElementRef } from \"../thread/ThreadRootElementContext\";\nimport { COMPOSER_INPUT_SELECTOR } from \"./composerInputSelector\";\n\nconst COMPOSER_SELECTOR = \"[data-aui-composer-type]\";\nconst THREAD_SELECTOR = \"[data-aui-thread-root]\";\n\nexport const useComposerCancelWithFocus = (cancel: () => void) => {\n const aui = useAui();\n const threadRootRef = useThreadRootElementRef();\n\n const cancelWithFocus = useCallback(\n (source: HTMLElement | null) => {\n const root = threadRootRef?.current;\n const doc = source?.ownerDocument;\n const active = doc?.activeElement;\n const composer = source?.closest(COMPOSER_SELECTOR);\n const shouldRestore =\n aui.composer.getState().type === \"edit\" &&\n root &&\n active &&\n composer?.getAttribute(\"data-aui-composer-type\") === \"edit\" &&\n composer.contains(active) &&\n composer.closest(THREAD_SELECTOR) === root;\n const candidates = shouldRestore\n ? Array.from(\n root.querySelectorAll<HTMLElement>(COMPOSER_INPUT_SELECTOR),\n ).filter(\n (input) =>\n input.closest(THREAD_SELECTOR) === root &&\n input\n .closest(COMPOSER_SELECTOR)\n ?.getAttribute(\"data-aui-composer-type\") === \"thread\",\n )\n : [];\n\n cancel();\n\n if (!doc || !active || !shouldRestore) return;\n if (doc.activeElement !== active && doc.activeElement !== doc.body)\n return;\n\n for (const input of candidates) {\n if (!input.isConnected || input.closest(\"[hidden], [inert]\")) continue;\n input.focus({ preventScroll: true });\n if (doc.activeElement !== active && doc.activeElement !== doc.body)\n break;\n }\n },\n [aui, cancel, threadRootRef],\n );\n\n return cancelWithFocus;\n};\n"],"mappings":";;;;;;;AAOA,MAAMM,oBAAoB;AAC1B,MAAMC,kBAAkB;AAExB,MAAaC,8BAA6BC,WAAA;CAAA,MAAAC,IAAAT,EAAA,CAAA;CACxC,MAAAU,MAAYR,OAAO;CACnB,MAAAS,gBAAsBR,wBAAwB;CAAE,IAAAS;CAAA,IAAAH,EAAA,OAAAC,IAAAG,YAAAJ,EAAA,OAAAD,UAAAC,EAAA,OAAAE,eAAA;EAG9CC,MAAAE,WAAA;GACE,MAAAC,OAAaJ,eAAaK;GAC1B,MAAAC,MAAYH,QAAMI;GAClB,MAAAC,SAAeF,KAAGG;GAClB,MAAAP,WAAiBC,QAAMO,QAAUhB,iBAAiB;GAClD,MAAAiB,gBACEZ,IAAGG,SAASU,SAAU,CAAC,CAAAC,SAAU,UAAjCT,QAAAI,UAGAN,UAAQY,aAAe,wBAAwB,MAAM,UACrDZ,SAAQa,SAAUP,MAAM,KACxBN,SAAQQ,QAASf,eAAe,MAAMS;GACxC,MAAAY,aAAmBL,gBACfM,MAAKC,KACHd,KAAIe,iBAA+B1B,uBAAuB,CAC5D,CAAC,CAAA2B,QACCC,UACEA,MAAKX,QAASf,eAAe,MAAMS,QACnCiB,MAAKX,QACMhB,iBACI,CAAC,EAAAoB,aAAC,wBAAwB,MAAM,QAElD,IAVc,CAAA;GAYnBjB,OAAO;GAEP,IAAI,CAACS,OAAD,CAASE,UAAT,CAAoBG,eAAa;GACrC,IAAIL,IAAGG,kBAAmBD,UAAUF,IAAGG,kBAAmBH,IAAGgB,MAAK;GAGlE,KAAK,MAAAC,WAAeP,YAAU;IAC5B,IAAI,CAACK,QAAKG,eAAgBH,QAAKX,QAAS,mBAAmB,GAAG;IAC9DW,QAAKI,MAAO,EAAAC,eAAiB,KAAK,CAAC;IACnC,IAAIpB,IAAGG,kBAAmBD,UAAUF,IAAGG,kBAAmBH,IAAGgB,MAC3D;GAAM;EACT;EACFxB,EAAA,KAAAC,IAAAG;EAAAJ,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAED,OAEK6B;AAAe"}
@@ -1,3 +1,4 @@
1
+ import type { TriggerMatch, TriggerMatcher } from "./composer/trigger/index.js";
1
2
  export { ComposerPrimitiveRoot as Root } from "./composer/ComposerRoot.js";
2
3
  export { ComposerPrimitiveInput as Input } from "./composer/ComposerInput.js";
3
4
  export { ComposerPrimitiveSend as Send } from "./composer/ComposerSend.js";
@@ -14,19 +15,58 @@ export { ComposerPrimitiveQuote as Quote } from "./composer/ComposerQuote.js";
14
15
  export { ComposerPrimitiveQuoteText as QuoteText } from "./composer/ComposerQuote.js";
15
16
  export { ComposerPrimitiveQuoteDismiss as QuoteDismiss } from "./composer/ComposerQuote.js";
16
17
  export { ComposerPrimitiveQueue as Queue } from "./composer/ComposerQueue.js";
17
- export { ComposerPrimitiveTriggerPopover as Unstable_TriggerPopover } from "./composer/trigger/index.js";
18
- export { ComposerPrimitiveTriggerPopoverRoot as Unstable_TriggerPopoverRoot } from "./composer/trigger/index.js";
19
- export { ComposerPrimitiveTriggerPopoverCategories as Unstable_TriggerPopoverCategories } from "./composer/trigger/index.js";
20
- export { ComposerPrimitiveTriggerPopoverCategoryItem as Unstable_TriggerPopoverCategoryItem } from "./composer/trigger/index.js";
21
- export { ComposerPrimitiveTriggerPopoverItems as Unstable_TriggerPopoverItems } from "./composer/trigger/index.js";
22
- export { ComposerPrimitiveTriggerPopoverItem as Unstable_TriggerPopoverItem } from "./composer/trigger/index.js";
23
- export { ComposerPrimitiveTriggerPopoverBack as Unstable_TriggerPopoverBack } from "./composer/trigger/index.js";
24
- export { useTriggerPopoverRootContext as unstable_useTriggerPopoverRootContext } from "./composer/trigger/index.js";
25
- export { useTriggerPopoverRootContextOptional as unstable_useTriggerPopoverRootContextOptional } from "./composer/trigger/index.js";
26
- export { useTriggerPopoverScopeContext as unstable_useTriggerPopoverScopeContext } from "./composer/trigger/index.js";
27
- export { useTriggerPopoverScopeContextOptional as unstable_useTriggerPopoverScopeContextOptional } from "./composer/trigger/index.js";
28
- export { useTriggerPopoverTriggers as unstable_useTriggerPopoverTriggers } from "./composer/trigger/index.js";
29
- export { useTriggerPopoverTriggersOptional as unstable_useTriggerPopoverTriggersOptional } from "./composer/trigger/index.js";
30
- export type { RegisteredTrigger as Unstable_RegisteredTrigger } from "./composer/trigger/index.js";
31
- export type { TriggerMatcher as Unstable_TriggerMatcher } from "./composer/trigger/index.js";
18
+ export { ComposerPrimitiveTriggerPopover as TriggerPopover } from "./composer/trigger/index.js";
19
+ export {
20
+ /** @deprecated Use `ComposerPrimitive.TriggerPopover` instead. */
21
+ ComposerPrimitiveTriggerPopover as Unstable_TriggerPopover, } from "./composer/trigger/index.js";
22
+ export { ComposerPrimitiveTriggerPopoverRoot as TriggerPopoverRoot } from "./composer/trigger/index.js";
23
+ export {
24
+ /** @deprecated Use `ComposerPrimitive.TriggerPopoverRoot` instead. */
25
+ ComposerPrimitiveTriggerPopoverRoot as Unstable_TriggerPopoverRoot, } from "./composer/trigger/index.js";
26
+ export { ComposerPrimitiveTriggerPopoverCategories as TriggerPopoverCategories } from "./composer/trigger/index.js";
27
+ export {
28
+ /** @deprecated Use `ComposerPrimitive.TriggerPopoverCategories` instead. */
29
+ ComposerPrimitiveTriggerPopoverCategories as Unstable_TriggerPopoverCategories, } from "./composer/trigger/index.js";
30
+ export { ComposerPrimitiveTriggerPopoverCategoryItem as TriggerPopoverCategoryItem } from "./composer/trigger/index.js";
31
+ export {
32
+ /** @deprecated Use `ComposerPrimitive.TriggerPopoverCategoryItem` instead. */
33
+ ComposerPrimitiveTriggerPopoverCategoryItem as Unstable_TriggerPopoverCategoryItem, } from "./composer/trigger/index.js";
34
+ export { ComposerPrimitiveTriggerPopoverItems as TriggerPopoverItems } from "./composer/trigger/index.js";
35
+ export {
36
+ /** @deprecated Use `ComposerPrimitive.TriggerPopoverItems` instead. */
37
+ ComposerPrimitiveTriggerPopoverItems as Unstable_TriggerPopoverItems, } from "./composer/trigger/index.js";
38
+ export { ComposerPrimitiveTriggerPopoverItem as TriggerPopoverItem } from "./composer/trigger/index.js";
39
+ export {
40
+ /** @deprecated Use `ComposerPrimitive.TriggerPopoverItem` instead. */
41
+ ComposerPrimitiveTriggerPopoverItem as Unstable_TriggerPopoverItem, } from "./composer/trigger/index.js";
42
+ export { ComposerPrimitiveTriggerPopoverBack as TriggerPopoverBack } from "./composer/trigger/index.js";
43
+ export {
44
+ /** @deprecated Use `ComposerPrimitive.TriggerPopoverBack` instead. */
45
+ ComposerPrimitiveTriggerPopoverBack as Unstable_TriggerPopoverBack, } from "./composer/trigger/index.js";
46
+ export {
47
+ /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */
48
+ useTriggerPopoverRootContext as unstable_useTriggerPopoverRootContext, } from "./composer/trigger/index.js";
49
+ export {
50
+ /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */
51
+ useTriggerPopoverRootContextOptional as unstable_useTriggerPopoverRootContextOptional, } from "./composer/trigger/index.js";
52
+ export {
53
+ /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */
54
+ useTriggerPopoverScopeContext as unstable_useTriggerPopoverScopeContext, } from "./composer/trigger/index.js";
55
+ export {
56
+ /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */
57
+ useTriggerPopoverScopeContextOptional as unstable_useTriggerPopoverScopeContextOptional, } from "./composer/trigger/index.js";
58
+ export {
59
+ /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */
60
+ useTriggerPopoverTriggers as unstable_useTriggerPopoverTriggers, } from "./composer/trigger/index.js";
61
+ export {
62
+ /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */
63
+ useTriggerPopoverTriggersOptional as unstable_useTriggerPopoverTriggersOptional, } from "./composer/trigger/index.js";
64
+ export type {
65
+ /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */
66
+ RegisteredTrigger as Unstable_RegisteredTrigger, } from "./composer/trigger/index.js";
67
+ export type { TriggerMatch, TriggerMatcher } from "./composer/trigger/index.js";
68
+ /** @deprecated Use `TriggerMatcher` instead. */
69
+ export type Unstable_TriggerMatcher = TriggerMatcher;
70
+ /** @deprecated Use `TriggerMatch` instead. */
71
+ export type Unstable_TriggerMatch = TriggerMatch;
32
72
  //# sourceMappingURL=composer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/primitives/composer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,IAAI,EAAE,mCAAgC;AACxE,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,qBAAqB,IAAI,IAAI,EAAE,mCAAgC;AACxE,OAAO,EAAE,uBAAuB,IAAI,MAAM,EAAE,qCAAkC;AAC9E,OAAO,EAAE,8BAA8B,IAAI,aAAa,EAAE,4CAAyC;AACnG,OAAO,EAAE,4BAA4B,IAAI,WAAW,EAAE,0CAAuC;AAC7F,OAAO,EAAE,kCAAkC,IAAI,iBAAiB,EAAE,0CAAuC;AACzG,OAAO,EAAE,mCAAmC,IAAI,kBAAkB,EAAE,iDAA8C;AAClH,OAAO,EAAE,wBAAwB,IAAI,OAAO,EAAE,sCAAmC;AACjF,OAAO,EAAE,8BAA8B,IAAI,aAAa,EAAE,4CAAyC;AACnG,OAAO,EAAE,oCAAoC,IAAI,mBAAmB,EAAE,kDAA+C;AACrH,OAAO,EAAE,mBAAmB,IAAI,EAAE,EAAE,iCAA8B;AAClE,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,0BAA0B,IAAI,SAAS,EAAE,oCAAiC;AACnF,OAAO,EAAE,6BAA6B,IAAI,YAAY,EAAE,oCAAiC;AACzF,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAE3E,OAAO,EAAE,+BAA+B,IAAI,uBAAuB,EAAE,oCAA2B;AAChG,OAAO,EAAE,mCAAmC,IAAI,2BAA2B,EAAE,oCAA2B;AACxG,OAAO,EAAE,yCAAyC,IAAI,iCAAiC,EAAE,oCAA2B;AACpH,OAAO,EAAE,2CAA2C,IAAI,mCAAmC,EAAE,oCAA2B;AACxH,OAAO,EAAE,oCAAoC,IAAI,4BAA4B,EAAE,oCAA2B;AAC1G,OAAO,EAAE,mCAAmC,IAAI,2BAA2B,EAAE,oCAA2B;AACxG,OAAO,EAAE,mCAAmC,IAAI,2BAA2B,EAAE,oCAA2B;AACxG,OAAO,EAAE,4BAA4B,IAAI,qCAAqC,EAAE,oCAA2B;AAC3G,OAAO,EAAE,oCAAoC,IAAI,6CAA6C,EAAE,oCAA2B;AAC3H,OAAO,EAAE,6BAA6B,IAAI,sCAAsC,EAAE,oCAA2B;AAC7G,OAAO,EAAE,qCAAqC,IAAI,8CAA8C,EAAE,oCAA2B;AAC7H,OAAO,EAAE,yBAAyB,IAAI,kCAAkC,EAAE,oCAA2B;AACrG,OAAO,EAAE,iCAAiC,IAAI,0CAA0C,EAAE,oCAA2B;AACrH,YAAY,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,oCAA2B;AAC1F,YAAY,EAAE,cAAc,IAAI,uBAAuB,EAAE,oCAA2B"}
1
+ {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/primitives/composer.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,13 @@ var composer_exports = /* @__PURE__ */ __exportAll({
36
36
  Root: () => ComposerPrimitiveRoot,
37
37
  Send: () => ComposerPrimitiveSend,
38
38
  StopDictation: () => ComposerPrimitiveStopDictation,
39
+ TriggerPopover: () => ComposerPrimitiveTriggerPopover,
40
+ TriggerPopoverBack: () => ComposerPrimitiveTriggerPopoverBack,
41
+ TriggerPopoverCategories: () => ComposerPrimitiveTriggerPopoverCategories,
42
+ TriggerPopoverCategoryItem: () => ComposerPrimitiveTriggerPopoverCategoryItem,
43
+ TriggerPopoverItem: () => ComposerPrimitiveTriggerPopoverItem,
44
+ TriggerPopoverItems: () => ComposerPrimitiveTriggerPopoverItems,
45
+ TriggerPopoverRoot: () => ComposerPrimitiveTriggerPopoverRoot,
39
46
  Unstable_TriggerPopover: () => ComposerPrimitiveTriggerPopover,
40
47
  Unstable_TriggerPopoverBack: () => ComposerPrimitiveTriggerPopoverBack,
41
48
  Unstable_TriggerPopoverCategories: () => ComposerPrimitiveTriggerPopoverCategories,
@@ -51,6 +58,6 @@ var composer_exports = /* @__PURE__ */ __exportAll({
51
58
  unstable_useTriggerPopoverTriggersOptional: () => useTriggerPopoverTriggersOptional
52
59
  });
53
60
  //#endregion
54
- export { ComposerPrimitiveAddAttachment as AddAttachment, ComposerPrimitiveAttachmentByIndex as AttachmentByIndex, ComposerPrimitiveAttachmentDropzone as AttachmentDropzone, ComposerPrimitiveAttachments as Attachments, ComposerPrimitiveCancel as Cancel, ComposerPrimitiveDictate as Dictate, ComposerPrimitiveDictationTranscript as DictationTranscript, ComposerPrimitiveIf as If, ComposerPrimitiveInput as Input, ComposerPrimitiveQueue as Queue, ComposerPrimitiveQuote as Quote, ComposerPrimitiveQuoteDismiss as QuoteDismiss, ComposerPrimitiveQuoteText as QuoteText, ComposerPrimitiveRoot as Root, ComposerPrimitiveSend as Send, ComposerPrimitiveStopDictation as StopDictation, ComposerPrimitiveTriggerPopover as Unstable_TriggerPopover, ComposerPrimitiveTriggerPopoverBack as Unstable_TriggerPopoverBack, ComposerPrimitiveTriggerPopoverCategories as Unstable_TriggerPopoverCategories, ComposerPrimitiveTriggerPopoverCategoryItem as Unstable_TriggerPopoverCategoryItem, ComposerPrimitiveTriggerPopoverItem as Unstable_TriggerPopoverItem, ComposerPrimitiveTriggerPopoverItems as Unstable_TriggerPopoverItems, ComposerPrimitiveTriggerPopoverRoot as Unstable_TriggerPopoverRoot, composer_exports, useTriggerPopoverRootContext as unstable_useTriggerPopoverRootContext, useTriggerPopoverRootContextOptional as unstable_useTriggerPopoverRootContextOptional, useTriggerPopoverScopeContext as unstable_useTriggerPopoverScopeContext, useTriggerPopoverScopeContextOptional as unstable_useTriggerPopoverScopeContextOptional, useTriggerPopoverTriggers as unstable_useTriggerPopoverTriggers, useTriggerPopoverTriggersOptional as unstable_useTriggerPopoverTriggersOptional };
61
+ export { ComposerPrimitiveAddAttachment as AddAttachment, ComposerPrimitiveAttachmentByIndex as AttachmentByIndex, ComposerPrimitiveAttachmentDropzone as AttachmentDropzone, ComposerPrimitiveAttachments as Attachments, ComposerPrimitiveCancel as Cancel, ComposerPrimitiveDictate as Dictate, ComposerPrimitiveDictationTranscript as DictationTranscript, ComposerPrimitiveIf as If, ComposerPrimitiveInput as Input, ComposerPrimitiveQueue as Queue, ComposerPrimitiveQuote as Quote, ComposerPrimitiveQuoteDismiss as QuoteDismiss, ComposerPrimitiveQuoteText as QuoteText, ComposerPrimitiveRoot as Root, ComposerPrimitiveSend as Send, ComposerPrimitiveStopDictation as StopDictation, ComposerPrimitiveTriggerPopover as TriggerPopover, ComposerPrimitiveTriggerPopoverBack as TriggerPopoverBack, ComposerPrimitiveTriggerPopoverCategories as TriggerPopoverCategories, ComposerPrimitiveTriggerPopoverCategoryItem as TriggerPopoverCategoryItem, ComposerPrimitiveTriggerPopoverItem as TriggerPopoverItem, ComposerPrimitiveTriggerPopoverItems as TriggerPopoverItems, ComposerPrimitiveTriggerPopoverRoot as TriggerPopoverRoot, ComposerPrimitiveTriggerPopover as Unstable_TriggerPopover, ComposerPrimitiveTriggerPopoverBack as Unstable_TriggerPopoverBack, ComposerPrimitiveTriggerPopoverCategories as Unstable_TriggerPopoverCategories, ComposerPrimitiveTriggerPopoverCategoryItem as Unstable_TriggerPopoverCategoryItem, ComposerPrimitiveTriggerPopoverItem as Unstable_TriggerPopoverItem, ComposerPrimitiveTriggerPopoverItems as Unstable_TriggerPopoverItems, ComposerPrimitiveTriggerPopoverRoot as Unstable_TriggerPopoverRoot, composer_exports, useTriggerPopoverRootContext as unstable_useTriggerPopoverRootContext, useTriggerPopoverRootContextOptional as unstable_useTriggerPopoverRootContextOptional, useTriggerPopoverScopeContext as unstable_useTriggerPopoverScopeContext, useTriggerPopoverScopeContextOptional as unstable_useTriggerPopoverScopeContextOptional, useTriggerPopoverTriggers as unstable_useTriggerPopoverTriggers, useTriggerPopoverTriggersOptional as unstable_useTriggerPopoverTriggersOptional };
55
62
 
56
63
  //# sourceMappingURL=composer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composer.js","names":["ComposerPrimitiveRoot","Root","ComposerPrimitiveInput","Input","ComposerPrimitiveSend","Send","ComposerPrimitiveCancel","Cancel","ComposerPrimitiveAddAttachment","AddAttachment","ComposerPrimitiveAttachments","Attachments","ComposerPrimitiveAttachmentByIndex","AttachmentByIndex","ComposerPrimitiveAttachmentDropzone","AttachmentDropzone","ComposerPrimitiveDictate","Dictate","ComposerPrimitiveStopDictation","StopDictation","ComposerPrimitiveDictationTranscript","DictationTranscript","ComposerPrimitiveIf","If","ComposerPrimitiveQuote","Quote","ComposerPrimitiveQuoteText","QuoteText","ComposerPrimitiveQuoteDismiss","QuoteDismiss","ComposerPrimitiveQueue","Queue","ComposerPrimitiveTriggerPopover","Unstable_TriggerPopover","ComposerPrimitiveTriggerPopoverRoot","Unstable_TriggerPopoverRoot","ComposerPrimitiveTriggerPopoverCategories","Unstable_TriggerPopoverCategories","ComposerPrimitiveTriggerPopoverCategoryItem","Unstable_TriggerPopoverCategoryItem","ComposerPrimitiveTriggerPopoverItems","Unstable_TriggerPopoverItems","ComposerPrimitiveTriggerPopoverItem","Unstable_TriggerPopoverItem","ComposerPrimitiveTriggerPopoverBack","Unstable_TriggerPopoverBack","useTriggerPopoverRootContext","unstable_useTriggerPopoverRootContext","useTriggerPopoverRootContextOptional","unstable_useTriggerPopoverRootContextOptional","useTriggerPopoverScopeContext","unstable_useTriggerPopoverScopeContext","useTriggerPopoverScopeContextOptional","unstable_useTriggerPopoverScopeContextOptional","useTriggerPopoverTriggers","unstable_useTriggerPopoverTriggers","useTriggerPopoverTriggersOptional","unstable_useTriggerPopoverTriggersOptional","RegisteredTrigger","Unstable_RegisteredTrigger","TriggerMatcher","Unstable_TriggerMatcher"],"sources":["../../src/primitives/composer.ts"],"sourcesContent":["export { ComposerPrimitiveRoot as Root } from \"./composer/ComposerRoot\";\nexport { ComposerPrimitiveInput as Input } from \"./composer/ComposerInput\";\nexport { ComposerPrimitiveSend as Send } from \"./composer/ComposerSend\";\nexport { ComposerPrimitiveCancel as Cancel } from \"./composer/ComposerCancel\";\nexport { ComposerPrimitiveAddAttachment as AddAttachment } from \"./composer/ComposerAddAttachment\";\nexport { ComposerPrimitiveAttachments as Attachments } from \"./composer/ComposerAttachments\";\nexport { ComposerPrimitiveAttachmentByIndex as AttachmentByIndex } from \"./composer/ComposerAttachments\";\nexport { ComposerPrimitiveAttachmentDropzone as AttachmentDropzone } from \"./composer/ComposerAttachmentDropzone\";\nexport { ComposerPrimitiveDictate as Dictate } from \"./composer/ComposerDictate\";\nexport { ComposerPrimitiveStopDictation as StopDictation } from \"./composer/ComposerStopDictation\";\nexport { ComposerPrimitiveDictationTranscript as DictationTranscript } from \"./composer/ComposerDictationTranscript\";\nexport { ComposerPrimitiveIf as If } from \"./composer/ComposerIf\";\nexport { ComposerPrimitiveQuote as Quote } from \"./composer/ComposerQuote\";\nexport { ComposerPrimitiveQuoteText as QuoteText } from \"./composer/ComposerQuote\";\nexport { ComposerPrimitiveQuoteDismiss as QuoteDismiss } from \"./composer/ComposerQuote\";\nexport { ComposerPrimitiveQueue as Queue } from \"./composer/ComposerQueue\";\n\nexport { ComposerPrimitiveTriggerPopover as Unstable_TriggerPopover } from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverRoot as Unstable_TriggerPopoverRoot } from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverCategories as Unstable_TriggerPopoverCategories } from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverCategoryItem as Unstable_TriggerPopoverCategoryItem } from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverItems as Unstable_TriggerPopoverItems } from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverItem as Unstable_TriggerPopoverItem } from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverBack as Unstable_TriggerPopoverBack } from \"./composer/trigger\";\nexport { useTriggerPopoverRootContext as unstable_useTriggerPopoverRootContext } from \"./composer/trigger\";\nexport { useTriggerPopoverRootContextOptional as unstable_useTriggerPopoverRootContextOptional } from \"./composer/trigger\";\nexport { useTriggerPopoverScopeContext as unstable_useTriggerPopoverScopeContext } from \"./composer/trigger\";\nexport { useTriggerPopoverScopeContextOptional as unstable_useTriggerPopoverScopeContextOptional } from \"./composer/trigger\";\nexport { useTriggerPopoverTriggers as unstable_useTriggerPopoverTriggers } from \"./composer/trigger\";\nexport { useTriggerPopoverTriggersOptional as unstable_useTriggerPopoverTriggersOptional } from \"./composer/trigger\";\nexport type { RegisteredTrigger as Unstable_RegisteredTrigger } from \"./composer/trigger\";\nexport type { TriggerMatcher as Unstable_TriggerMatcher } from \"./composer/trigger\";\n"],"mappings":""}
1
+ {"version":3,"file":"composer.js","names":["TriggerMatch","TriggerMatcher","ComposerPrimitiveRoot","Root","ComposerPrimitiveInput","Input","ComposerPrimitiveSend","Send","ComposerPrimitiveCancel","Cancel","ComposerPrimitiveAddAttachment","AddAttachment","ComposerPrimitiveAttachments","Attachments","ComposerPrimitiveAttachmentByIndex","AttachmentByIndex","ComposerPrimitiveAttachmentDropzone","AttachmentDropzone","ComposerPrimitiveDictate","Dictate","ComposerPrimitiveStopDictation","StopDictation","ComposerPrimitiveDictationTranscript","DictationTranscript","ComposerPrimitiveIf","If","ComposerPrimitiveQuote","Quote","ComposerPrimitiveQuoteText","QuoteText","ComposerPrimitiveQuoteDismiss","QuoteDismiss","ComposerPrimitiveQueue","Queue","ComposerPrimitiveTriggerPopover","TriggerPopover","Unstable_TriggerPopover","ComposerPrimitiveTriggerPopoverRoot","TriggerPopoverRoot","Unstable_TriggerPopoverRoot","ComposerPrimitiveTriggerPopoverCategories","TriggerPopoverCategories","Unstable_TriggerPopoverCategories","ComposerPrimitiveTriggerPopoverCategoryItem","TriggerPopoverCategoryItem","Unstable_TriggerPopoverCategoryItem","ComposerPrimitiveTriggerPopoverItems","TriggerPopoverItems","Unstable_TriggerPopoverItems","ComposerPrimitiveTriggerPopoverItem","TriggerPopoverItem","Unstable_TriggerPopoverItem","ComposerPrimitiveTriggerPopoverBack","TriggerPopoverBack","Unstable_TriggerPopoverBack","useTriggerPopoverRootContext","unstable_useTriggerPopoverRootContext","useTriggerPopoverRootContextOptional","unstable_useTriggerPopoverRootContextOptional","useTriggerPopoverScopeContext","unstable_useTriggerPopoverScopeContext","useTriggerPopoverScopeContextOptional","unstable_useTriggerPopoverScopeContextOptional","useTriggerPopoverTriggers","unstable_useTriggerPopoverTriggers","useTriggerPopoverTriggersOptional","unstable_useTriggerPopoverTriggersOptional","RegisteredTrigger","Unstable_RegisteredTrigger","Unstable_TriggerMatcher","Unstable_TriggerMatch"],"sources":["../../src/primitives/composer.ts"],"sourcesContent":["import type { TriggerMatch, TriggerMatcher } from \"./composer/trigger\";\n\nexport { ComposerPrimitiveRoot as Root } from \"./composer/ComposerRoot\";\nexport { ComposerPrimitiveInput as Input } from \"./composer/ComposerInput\";\nexport { ComposerPrimitiveSend as Send } from \"./composer/ComposerSend\";\nexport { ComposerPrimitiveCancel as Cancel } from \"./composer/ComposerCancel\";\nexport { ComposerPrimitiveAddAttachment as AddAttachment } from \"./composer/ComposerAddAttachment\";\nexport { ComposerPrimitiveAttachments as Attachments } from \"./composer/ComposerAttachments\";\nexport { ComposerPrimitiveAttachmentByIndex as AttachmentByIndex } from \"./composer/ComposerAttachments\";\nexport { ComposerPrimitiveAttachmentDropzone as AttachmentDropzone } from \"./composer/ComposerAttachmentDropzone\";\nexport { ComposerPrimitiveDictate as Dictate } from \"./composer/ComposerDictate\";\nexport { ComposerPrimitiveStopDictation as StopDictation } from \"./composer/ComposerStopDictation\";\nexport { ComposerPrimitiveDictationTranscript as DictationTranscript } from \"./composer/ComposerDictationTranscript\";\nexport { ComposerPrimitiveIf as If } from \"./composer/ComposerIf\";\nexport { ComposerPrimitiveQuote as Quote } from \"./composer/ComposerQuote\";\nexport { ComposerPrimitiveQuoteText as QuoteText } from \"./composer/ComposerQuote\";\nexport { ComposerPrimitiveQuoteDismiss as QuoteDismiss } from \"./composer/ComposerQuote\";\nexport { ComposerPrimitiveQueue as Queue } from \"./composer/ComposerQueue\";\n\nexport { ComposerPrimitiveTriggerPopover as TriggerPopover } from \"./composer/trigger\";\nexport {\n /** @deprecated Use `ComposerPrimitive.TriggerPopover` instead. */\n ComposerPrimitiveTriggerPopover as Unstable_TriggerPopover,\n} from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverRoot as TriggerPopoverRoot } from \"./composer/trigger\";\nexport {\n /** @deprecated Use `ComposerPrimitive.TriggerPopoverRoot` instead. */\n ComposerPrimitiveTriggerPopoverRoot as Unstable_TriggerPopoverRoot,\n} from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverCategories as TriggerPopoverCategories } from \"./composer/trigger\";\nexport {\n /** @deprecated Use `ComposerPrimitive.TriggerPopoverCategories` instead. */\n ComposerPrimitiveTriggerPopoverCategories as Unstable_TriggerPopoverCategories,\n} from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverCategoryItem as TriggerPopoverCategoryItem } from \"./composer/trigger\";\nexport {\n /** @deprecated Use `ComposerPrimitive.TriggerPopoverCategoryItem` instead. */\n ComposerPrimitiveTriggerPopoverCategoryItem as Unstable_TriggerPopoverCategoryItem,\n} from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverItems as TriggerPopoverItems } from \"./composer/trigger\";\nexport {\n /** @deprecated Use `ComposerPrimitive.TriggerPopoverItems` instead. */\n ComposerPrimitiveTriggerPopoverItems as Unstable_TriggerPopoverItems,\n} from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverItem as TriggerPopoverItem } from \"./composer/trigger\";\nexport {\n /** @deprecated Use `ComposerPrimitive.TriggerPopoverItem` instead. */\n ComposerPrimitiveTriggerPopoverItem as Unstable_TriggerPopoverItem,\n} from \"./composer/trigger\";\nexport { ComposerPrimitiveTriggerPopoverBack as TriggerPopoverBack } from \"./composer/trigger\";\nexport {\n /** @deprecated Use `ComposerPrimitive.TriggerPopoverBack` instead. */\n ComposerPrimitiveTriggerPopoverBack as Unstable_TriggerPopoverBack,\n} from \"./composer/trigger\";\nexport {\n /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */\n useTriggerPopoverRootContext as unstable_useTriggerPopoverRootContext,\n} from \"./composer/trigger\";\nexport {\n /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */\n useTriggerPopoverRootContextOptional as unstable_useTriggerPopoverRootContextOptional,\n} from \"./composer/trigger\";\nexport {\n /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */\n useTriggerPopoverScopeContext as unstable_useTriggerPopoverScopeContext,\n} from \"./composer/trigger\";\nexport {\n /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */\n useTriggerPopoverScopeContextOptional as unstable_useTriggerPopoverScopeContextOptional,\n} from \"./composer/trigger\";\nexport {\n /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */\n useTriggerPopoverTriggers as unstable_useTriggerPopoverTriggers,\n} from \"./composer/trigger\";\nexport {\n /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */\n useTriggerPopoverTriggersOptional as unstable_useTriggerPopoverTriggersOptional,\n} from \"./composer/trigger\";\nexport type {\n /** @deprecated Experimental since 2026-04-15. Not scheduled for removal; the API may change in any release. */\n RegisteredTrigger as Unstable_RegisteredTrigger,\n} from \"./composer/trigger\";\nexport type { TriggerMatch, TriggerMatcher } from \"./composer/trigger\";\n/** @deprecated Use `TriggerMatcher` instead. */\nexport type Unstable_TriggerMatcher = TriggerMatcher;\n/** @deprecated Use `TriggerMatch` instead. */\nexport type Unstable_TriggerMatch = TriggerMatch;\n"],"mappings":""}
@@ -1,10 +1,17 @@
1
1
  import { type ComponentType, type FC, type PropsWithChildren } from "react";
2
- import type { Unstable_AudioMessagePartComponent, DataMessagePartComponent, EmptyMessagePartComponent, TextMessagePartComponent, ImageMessagePartComponent, SourceMessagePartComponent, ToolCallMessagePartComponent, ToolCallMessagePartProps, FileMessagePartComponent, ReasoningMessagePartComponent } from "@assistant-ui/core/react";
2
+ import { type Unstable_AudioMessagePartComponent, type DataMessagePartComponent, type EmptyMessagePartComponent, type TextMessagePartComponent, type ImageMessagePartComponent, type SourceMessagePartComponent, type ToolCallMessagePartComponent, type ToolCallMessagePartProps, type FileMessagePartComponent, type ReasoningMessagePartComponent } from "@assistant-ui/core/react";
3
3
  type MessagePartGroup = {
4
4
  groupKey: string | undefined;
5
5
  indices: number[];
6
6
  };
7
7
  export type GroupingFunction = (parts: readonly any[]) => MessagePartGroup[];
8
+ /**
9
+ * @deprecated Prefer `<MessagePrimitive.GroupedParts>` for adjacent
10
+ * grouping — it dispatches all rendering through one `switch (part.type)`
11
+ * and supports nested group paths. Keep this primitive only for
12
+ * non-adjacent clustering (e.g., gathering parts with the same parent-id
13
+ * across the message).
14
+ */
8
15
  export declare namespace MessagePrimitiveUnstable_PartsGrouped {
9
16
  type Props = {
10
17
  /**
@@ -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;AAKlC,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;AAoD7E,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;;;;;eAKG;YACH,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;AAuMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,qCAAqC,EAAE,EAAE,CACpD,qCAAqC,CAAC,KAAK,CAsC5C,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,EAEL,KAAK,kCAAkC,EACvC,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAKlC,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;AAoD7E;;;;;;GAMG;AACH,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;;;;;eAKG;YACH,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;AAmFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,qCAAqC,EAAE,EAAE,CACpD,qCAAqC,CAAC,KAAK,CAiD5C,CAAC;AAKF;;;;;GAKG;AACH,eAAO,MAAM,+CAA+C,EAAE,EAAE,CAC9D,IAAI,CAAC,qCAAqC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAStE,CAAC"}