@runtypelabs/persona 4.32.2 → 4.34.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 (215) hide show
  1. package/dist/activity-ui.d.cts +3 -15
  2. package/dist/activity-ui.d.ts +3 -15
  3. package/dist/animations/glyph-cycle.d.cts +1 -3
  4. package/dist/animations/glyph-cycle.d.ts +1 -3
  5. package/dist/animations/wipe.d.cts +1 -3
  6. package/dist/animations/wipe.d.ts +1 -3
  7. package/dist/approval-ui.cjs +2 -2
  8. package/dist/approval-ui.d.cts +3 -15
  9. package/dist/approval-ui.d.ts +3 -15
  10. package/dist/approval-ui.js +1 -1
  11. package/dist/artifacts-ui.cjs +1 -1
  12. package/dist/artifacts-ui.d.cts +3 -21
  13. package/dist/artifacts-ui.d.ts +3 -21
  14. package/dist/background-runtime.d.cts +2 -3
  15. package/dist/background-runtime.d.ts +2 -3
  16. package/dist/{chunk-BbXc58OA.js → chunk-6CUrH_jm.js} +1 -1
  17. package/dist/{chunk-B_H0l3u2.js → chunk-BRM3bHcJ.js} +1 -1
  18. package/dist/{chunk-DNdeIFJ6.js → chunk-Brdx4NCz.js} +1 -1
  19. package/dist/chunk-C-rux8Q9.js +1 -0
  20. package/dist/{chunk-Ds_twaZn.js → chunk-C4v-HNhS.js} +1 -1
  21. package/dist/{chunk-Bkma5hIU.js → chunk-CE4seJxF.js} +1 -1
  22. package/dist/chunk-CEPM3FOp.js +1 -0
  23. package/dist/{chunk-BpjtKnGI.js → chunk-CV8EPIhT.js} +1 -1
  24. package/dist/{chunk-DVZ8ri1z.js → chunk-CWzHNuVK.js} +1 -1
  25. package/dist/{chunk-B3l7TOOv.js → chunk-CYpt7PsO.js} +1 -1
  26. package/dist/{chunk-2FnmZ9AA.js → chunk-Csr59G5V.js} +1 -1
  27. package/dist/{chunk-B9Zu-wrk.js → chunk-CxNPSY-b.js} +1 -1
  28. package/dist/{chunk-UWMfWW2a.js → chunk-D1G8tgYc.js} +1 -1
  29. package/dist/{chunk-DTGvDx8o.js → chunk-Dj2a9f9w.js} +1 -1
  30. package/dist/chunk-Dqa_GOcj.js +1 -0
  31. package/dist/chunk-DsWv3EGF.js +1 -0
  32. package/dist/{chunk-C7-m0EmI.js → chunk-NUNdcnAZ.js} +1 -1
  33. package/dist/{chunk-D0tcIZJM.js → chunk-YMkMvAsa.js} +2 -2
  34. package/dist/{chunk-C-EHtpbB.js → chunk-h5aOI_Pa.js} +1 -1
  35. package/dist/chunk-i4qGOJAL.js +1 -0
  36. package/dist/chunk-kizhspe5.js +1 -0
  37. package/dist/client-dispatch.js +1 -1
  38. package/dist/client-history.js +1 -1
  39. package/dist/client-stream.js +1 -1
  40. package/dist/{code-generators-DqauYyfX.d.cts → code-generators-DPAqTcAz.d.cts} +0 -2
  41. package/dist/{code-generators-DqauYyfX.d.ts → code-generators-DPAqTcAz.d.ts} +0 -2
  42. package/dist/codegen.cjs +1 -1
  43. package/dist/codegen.d.cts +1 -1
  44. package/dist/codegen.d.ts +1 -1
  45. package/dist/codegen.js +1 -1
  46. package/dist/composer-actions-runtime.cjs +1 -1
  47. package/dist/composer-actions-runtime.d.cts +4 -20
  48. package/dist/composer-actions-runtime.d.ts +4 -20
  49. package/dist/composer-actions-runtime.js +1 -1
  50. package/dist/{composer-input-dwg_o9Z-.d.ts → composer-input-i_FiUp6J.d.cts} +1 -7
  51. package/dist/{composer-input-dwg_o9Z-.d.cts → composer-input-i_FiUp6J.d.ts} +1 -7
  52. package/dist/{composer-store-Dw7Zbqxr.d.ts → composer-store-DhGNgG7Z.d.cts} +1 -3
  53. package/dist/{composer-store-Dw7Zbqxr.d.cts → composer-store-DhGNgG7Z.d.ts} +1 -3
  54. package/dist/config-diagnostics.d.cts +0 -2
  55. package/dist/config-diagnostics.d.ts +0 -2
  56. package/dist/{context-mention-manager-D2p0-JH-.d.ts → context-mention-manager-DL-xwGfL.d.cts} +2 -6
  57. package/dist/{context-mention-manager-D2p0-JH-.d.cts → context-mention-manager-DL-xwGfL.d.ts} +2 -6
  58. package/dist/context-mentions-inline.cjs +1 -1
  59. package/dist/context-mentions-inline.d.cts +2 -4
  60. package/dist/context-mentions-inline.d.ts +2 -4
  61. package/dist/context-mentions-inline.js +1 -1
  62. package/dist/context-mentions.cjs +1 -1
  63. package/dist/context-mentions.d.cts +3 -9
  64. package/dist/context-mentions.d.ts +3 -9
  65. package/dist/{defaults-CjX0kKzb.d.ts → defaults-Bga2Xrsp.d.cts} +2 -5
  66. package/dist/{defaults-CjX0kKzb.d.cts → defaults-Bga2Xrsp.d.ts} +2 -5
  67. package/dist/dictation-runtime.cjs +1 -1
  68. package/dist/dictation-runtime.d.cts +4 -13
  69. package/dist/dictation-runtime.d.ts +4 -13
  70. package/dist/dictation-runtime.js +1 -1
  71. package/dist/{dom-context-DHTabIn7.d.ts → dom-context-Bw-_9Evh.d.cts} +0 -2
  72. package/dist/{dom-context-DHTabIn7.d.cts → dom-context-Bw-_9Evh.d.ts} +0 -2
  73. package/dist/event-stream-view.cjs +1 -1
  74. package/dist/event-stream-view.d.cts +3 -16
  75. package/dist/event-stream-view.d.ts +3 -16
  76. package/dist/{fallback-speech-engine-DmF7MczI.d.ts → fallback-speech-engine-kLdyPcmk.d.cts} +1 -3
  77. package/dist/{fallback-speech-engine-DmF7MczI.d.cts → fallback-speech-engine-kLdyPcmk.d.ts} +1 -3
  78. package/dist/{feature-preferences-CVFDt9Xf.d.ts → feature-preferences-CmwZGKrf.d.cts} +1 -5
  79. package/dist/{feature-preferences-CVFDt9Xf.d.cts → feature-preferences-CmwZGKrf.d.ts} +1 -5
  80. package/dist/forms-ui.d.cts +2 -4
  81. package/dist/forms-ui.d.ts +2 -4
  82. package/dist/{history-confirm-dialog-DJEXsTyE.d.cts → history-confirm-dialog-i46-lPN_.d.cts} +2 -14
  83. package/dist/{history-confirm-dialog-DJEXsTyE.d.ts → history-confirm-dialog-i46-lPN_.d.ts} +2 -14
  84. package/dist/history-shell.cjs +1 -1
  85. package/dist/history-shell.d.cts +8 -27
  86. package/dist/history-shell.d.ts +8 -27
  87. package/dist/history-shell.js +1 -1
  88. package/dist/history-view.d.cts +1 -1
  89. package/dist/history-view.d.ts +1 -1
  90. package/dist/icons-extra.cjs +1 -1
  91. package/dist/icons-extra.d.cts +0 -2
  92. package/dist/icons-extra.d.ts +0 -2
  93. package/dist/index.cjs +44 -44
  94. package/dist/index.cjs.map +1 -1
  95. package/dist/index.d.cts +11 -11
  96. package/dist/index.d.ts +11 -11
  97. package/dist/index.global.js +1 -1
  98. package/dist/index.global.js.map +1 -1
  99. package/dist/index.js +46 -46
  100. package/dist/index.js.map +1 -1
  101. package/dist/install.global.js +1 -1
  102. package/dist/install.global.js.map +1 -1
  103. package/dist/launcher.global.js +2 -2
  104. package/dist/launcher.global.js.map +1 -1
  105. package/dist/{loading-label-runtime-loader-CPxnoaoi.d.ts → loading-label-runtime-loader-Ccr3ETd3.d.cts} +1 -3
  106. package/dist/{loading-label-runtime-loader-CPxnoaoi.d.cts → loading-label-runtime-loader-Ccr3ETd3.d.ts} +1 -3
  107. package/dist/loading-label-runtime.cjs +1 -1
  108. package/dist/loading-label-runtime.d.cts +1 -1
  109. package/dist/loading-label-runtime.d.ts +1 -1
  110. package/dist/loading-label-runtime.js +1 -1
  111. package/dist/markdown-parsers.js +1 -1
  112. package/dist/{message-bubble-CkZGlCLC.d.ts → message-bubble-C6AVaH7f.d.cts} +21 -4
  113. package/dist/{message-bubble-CkZGlCLC.d.cts → message-bubble-C6AVaH7f.d.ts} +21 -4
  114. package/dist/{plugin-kit-C1mRjLgW.d.cts → plugin-kit-BVggqE3C.d.cts} +0 -2
  115. package/dist/{plugin-kit-C1mRjLgW.d.ts → plugin-kit-BVggqE3C.d.ts} +0 -2
  116. package/dist/plugin-kit.d.cts +1 -1
  117. package/dist/plugin-kit.d.ts +1 -1
  118. package/dist/preferences-runtime.cjs +1 -1
  119. package/dist/preferences-runtime.d.cts +1 -1
  120. package/dist/preferences-runtime.d.ts +1 -1
  121. package/dist/preferences-runtime.js +1 -1
  122. package/dist/{preview-DdUvoLb4.d.cts → preview-BMdRffo4.d.cts} +2 -6
  123. package/dist/{preview-DdUvoLb4.d.ts → preview-BMdRffo4.d.ts} +2 -6
  124. package/dist/{registry-Dz4iHNST.d.ts → registry-B16l8s1b.d.cts} +1 -8
  125. package/dist/{registry-Dz4iHNST.d.cts → registry-B16l8s1b.d.ts} +1 -8
  126. package/dist/{session-Baxp9iRK.d.cts → session-CtZHe7fc.d.cts} +10 -93
  127. package/dist/{session-Baxp9iRK.d.ts → session-CtZHe7fc.d.ts} +10 -93
  128. package/dist/session-reconnect.d.cts +2 -4
  129. package/dist/session-reconnect.d.ts +2 -4
  130. package/dist/smart-dom-reader.d.cts +2 -8
  131. package/dist/smart-dom-reader.d.ts +2 -8
  132. package/dist/testing.d.cts +0 -2
  133. package/dist/testing.d.ts +0 -2
  134. package/dist/theme-editor-preview.cjs +42 -42
  135. package/dist/theme-editor-preview.d.cts +1 -1
  136. package/dist/theme-editor-preview.d.ts +1 -1
  137. package/dist/theme-editor-preview.js +25 -25
  138. package/dist/theme-editor.cjs +25 -5
  139. package/dist/theme-editor.d.cts +2 -22
  140. package/dist/theme-editor.d.ts +2 -22
  141. package/dist/theme-editor.js +1 -1
  142. package/dist/theme-reference.cjs +1 -1
  143. package/dist/theme-reference.d.cts +4 -4
  144. package/dist/theme-reference.d.ts +4 -4
  145. package/dist/theme-reference.js +1 -1
  146. package/dist/{tool-loading-animation-un3kA5Ur.d.ts → tool-loading-animation-D2cyFvmM.d.cts} +1 -7
  147. package/dist/{tool-loading-animation-un3kA5Ur.d.cts → tool-loading-animation-D2cyFvmM.d.ts} +1 -7
  148. package/dist/{tooltip-BkW-8MnD.d.cts → tooltip-DbXkAuJL.d.cts} +0 -2
  149. package/dist/{tooltip-BkW-8MnD.d.ts → tooltip-DbXkAuJL.d.ts} +0 -2
  150. package/dist/{turn-activity-ui-BGNhtMcH.d.cts → turn-activity-ui-Do1Nd-Ow.d.cts} +2 -12
  151. package/dist/{turn-activity-ui-BGNhtMcH.d.ts → turn-activity-ui-Do1Nd-Ow.d.ts} +2 -12
  152. package/dist/turn-activity-ui.d.cts +1 -1
  153. package/dist/turn-activity-ui.d.ts +1 -1
  154. package/dist/{types-BOZHQIk0.d.cts → types-BC7MRxO5.d.cts} +167 -36
  155. package/dist/{types-BOZHQIk0.d.ts → types-BC7MRxO5.d.ts} +167 -36
  156. package/dist/ui-extras.js +3 -3
  157. package/dist/voice-client-tools.d.cts +1 -3
  158. package/dist/voice-client-tools.d.ts +1 -3
  159. package/dist/voice-runtime.cjs +1 -1
  160. package/dist/voice-runtime.d.cts +2 -12
  161. package/dist/voice-runtime.d.ts +2 -12
  162. package/dist/voice-runtime.js +2 -2
  163. package/dist/voice-worklet-player.d.cts +2 -6
  164. package/dist/voice-worklet-player.d.ts +2 -6
  165. package/dist/{webmcp-runtime-entry-DuAG1_yF.d.ts → webmcp-runtime-entry-B8g46vS0.d.cts} +1 -5
  166. package/dist/{webmcp-runtime-entry-DuAG1_yF.d.cts → webmcp-runtime-entry-B8g46vS0.d.ts} +1 -5
  167. package/dist/webmcp-runtime.d.cts +1 -1
  168. package/dist/webmcp-runtime.d.ts +1 -1
  169. package/dist/widget.css +1 -1
  170. package/package.json +4 -4
  171. package/src/client-dispatch.ts +69 -16
  172. package/src/client.operator-role.test.ts +217 -0
  173. package/src/components/event-stream-view.test.ts +5 -0
  174. package/src/components/message-bubble.test.ts +169 -0
  175. package/src/components/message-bubble.ts +123 -34
  176. package/src/components/scroll-to-bottom.test.ts +135 -0
  177. package/src/components/scroll-to-bottom.ts +50 -13
  178. package/src/components/user-message-collapse.ts +117 -0
  179. package/src/defaults-parity.test.ts +14 -0
  180. package/src/defaults.ts +6 -0
  181. package/src/index-core.ts +7 -0
  182. package/src/session.resubmit-from.test.ts +27 -0
  183. package/src/session.test.ts +10 -0
  184. package/src/session.ts +8 -5
  185. package/src/styles/widget.css +79 -1
  186. package/src/theme-reference.ts +5 -3
  187. package/src/types/theme.ts +50 -0
  188. package/src/types.ts +120 -11
  189. package/src/ui.ask-user-question-plugin.test.ts +154 -0
  190. package/src/ui.operator-role.test.ts +336 -0
  191. package/src/ui.scroll-additive.test.ts +219 -117
  192. package/src/ui.scroll.test.ts +176 -13
  193. package/src/ui.ts +267 -119
  194. package/src/ui.turn-activity.test.ts +7 -7
  195. package/src/ui.user-message-collapse.test.ts +540 -0
  196. package/src/utils/__snapshots__/tokens-parity.test.ts.snap +236 -0
  197. package/src/utils/auto-follow.test.ts +0 -38
  198. package/src/utils/auto-follow.ts +0 -35
  199. package/src/utils/brand.test.ts +14 -0
  200. package/src/utils/brand.ts +8 -4
  201. package/src/utils/history-messages.test.ts +30 -0
  202. package/src/utils/history-messages.ts +26 -8
  203. package/src/utils/message-fingerprint.ts +4 -0
  204. package/src/utils/resubmit-turn.test.ts +13 -0
  205. package/src/utils/resubmit-turn.ts +12 -1
  206. package/src/utils/theme.test.ts +23 -0
  207. package/src/utils/tokens.ts +47 -0
  208. package/src/welcome.test.ts +16 -0
  209. package/src/welcome.ts +10 -2
  210. package/dist/chunk-BNE40cEG.js +0 -1
  211. package/dist/chunk-Bz9jAgba.js +0 -1
  212. package/dist/chunk-CVMIncEY.js +0 -1
  213. package/dist/chunk-CdpVP6LZ.js +0 -1
  214. package/dist/chunk-CjkechxR.js +0 -1
  215. package/dist/chunk-DgZZqy14.js +0 -1
@@ -1,8 +1,7 @@
1
- import { Cr as ComposerModeGroup, Ea as renderLucideIcon, Mo as AgentWidgetPlugin, Nr as ComposerState, Tr as ComposerModel, ar as ComposerActionContributionContext, cr as ComposerActionPresentation, ir as ComposerActionContext, k as AgentWidgetConfig, mr as ComposerCustomAction, nr as ComposerAction, or as ComposerActionOverflowConfig, sr as ComposerActionPlacement, xr as ComposerMode } from "./types-BOZHQIk0.js";
2
- import { i as createPopover, s as isEditableEventTarget } from "./plugin-kit-C1mRjLgW.js";
3
- import { i as hideTooltipFor, r as attachTooltip } from "./tooltip-BkW-8MnD.js";
4
- import { t as createComposerStore } from "./composer-store-Dw7Zbqxr.js";
5
- //#region src/components/composer-bindings.d.ts
1
+ import { Ar as ComposerModel, Er as ComposerMode, Or as ComposerModeGroup, Ro as AgentWidgetPlugin, Rr as ComposerState, dr as ComposerActionOverflowConfig, fr as ComposerActionPlacement, ja as renderLucideIcon, k as AgentWidgetConfig, lr as ComposerActionContext, pr as ComposerActionPresentation, sr as ComposerAction, ur as ComposerActionContributionContext, yr as ComposerCustomAction } from "./types-BC7MRxO5.js";
2
+ import { i as createPopover, s as isEditableEventTarget } from "./plugin-kit-BVggqE3C.js";
3
+ import { i as hideTooltipFor, r as attachTooltip } from "./tooltip-DbXkAuJL.js";
4
+ import { t as createComposerStore } from "./composer-store-DhGNgG7Z.js";
6
5
  /**
7
6
  * Atomic composer surface bindings.
8
7
  *
@@ -53,8 +52,6 @@ interface ComposerSurfaceBindings {
53
52
  removeListener: (target: EventTarget, type: string, handler: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void;
54
53
  destroy: () => void;
55
54
  }
56
- //#endregion
57
- //#region src/components/composer-overflow-menu.d.ts
58
55
  interface ComposerOverflowMenu {
59
56
  /** Wrapper placed in the start cluster, like every other action element. */
60
57
  trigger: HTMLElement;
@@ -77,8 +74,6 @@ interface ComposerOverflowMenu {
77
74
  refresh: () => void;
78
75
  destroy: () => void;
79
76
  }
80
- //#endregion
81
- //#region src/components/composer-actions.d.ts
82
77
  /**
83
78
  * A core control the registry orders but does not necessarily create.
84
79
  *
@@ -154,8 +149,6 @@ interface ComposerActionRenderer {
154
149
  destroy: () => void;
155
150
  }
156
151
  export declare function createComposerActionRenderer(options: ComposerActionRendererOptions): ComposerActionRenderer;
157
- //#endregion
158
- //#region src/components/composer-model-picker.d.ts
159
152
  interface ComposerModelPickerOptions {
160
153
  renderIcon: typeof renderLucideIcon;
161
154
  getModels: () => ReadonlyArray<ComposerModel>;
@@ -181,8 +174,6 @@ interface ComposerModelPicker {
181
174
  repaint: () => void;
182
175
  }
183
176
  export declare function createComposerModelPickerAction(options: ComposerModelPickerOptions): ComposerModelPicker;
184
- //#endregion
185
- //#region src/components/composer-segmented-modes.d.ts
186
177
  interface ComposerSegmentedModeOptions {
187
178
  renderIcon: typeof renderLucideIcon;
188
179
  groupId: string;
@@ -199,8 +190,6 @@ interface ComposerSegmentedModeControl {
199
190
  repaint: () => void;
200
191
  }
201
192
  export declare function createComposerSegmentedModeAction(options: ComposerSegmentedModeOptions): ComposerSegmentedModeControl;
202
- //#endregion
203
- //#region src/components/composer-mode-chips.d.ts
204
193
  interface ComposerModeChipRow {
205
194
  /** The shared row these chips render into. */
206
195
  element: HTMLElement;
@@ -220,11 +209,7 @@ export declare function createComposerModeChipRow(options: {
220
209
  */
221
210
  initialIds?: readonly string[];
222
211
  }): ComposerModeChipRow;
223
- //#endregion
224
- //#region src/components/composer-action-styles.d.ts
225
212
  export declare const ensureComposerActionStyles: (target: HTMLElement) => void;
226
- //#endregion
227
- //#region src/composer-core-controls.d.ts
228
213
  /** Model/mode controls share the action renderer's lifetime and loading boundary. */
229
214
  export declare function createComposerCoreControls(options: {
230
215
  getConfig: () => AgentWidgetConfig;
@@ -239,6 +224,5 @@ export declare function createComposerCoreControls(options: {
239
224
  collect: () => ComposerAction[];
240
225
  repaint: () => void;
241
226
  };
242
- //#endregion
243
227
  export { createPopover, isEditableEventTarget };
244
228
  export {}
@@ -1 +1 @@
1
- const e=e=>e.nodeType===Node.DOCUMENT_NODE,t=e=>e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host!==void 0;function n(n){let r=n.getRootNode?.();return r&&t(r)||r&&e(r)?r:n.ownerDocument??document}function r(t,n,r){let i=e(t)?t.head:t,a=n.replace(/["\\]/g,`\\$&`);if(i.querySelector(`style[data-persona-plugin-style="${a}"]`))return;let o=(e(t)?t:t.ownerDocument??document).createElement(`style`);o.setAttribute(`data-persona-plugin-style`,n),o.textContent=r,i.appendChild(o)}function i(i,a,o){if(e(i)||t(i)){r(i,a,o);return}let s=i;if(s.isConnected){r(n(s),a,o);return}let c=s.ownerDocument??document;r(c,a,o),queueMicrotask(()=>{let e=n(s);e!==c&&r(e,a,o)})}function a(e){let t=e.getRootNode?.();return t instanceof ShadowRoot?t:e.closest(`dialog[open]`)??(e.ownerDocument??document).body}function o(e){let{anchor:t,content:n,placement:r=`bottom-start`,offset:i=6,matchAnchorWidth:o=!1,horizontalOffset:s,verticalOffset:c,zIndex:l=2147483e3,onOpen:u,onDismiss:d}=e,f=()=>e.container??a(t),p=!1,m=null,h=()=>{if(!p)return;let a=f();if(n.parentNode!==a){let e=n.contains(n.ownerDocument.activeElement)?n.ownerDocument.activeElement:null;a.appendChild(n),e?.focus({preventScroll:!0})}let l=e.getAnchorRect?.()??t.getBoundingClientRect();n.style.position=`fixed`,o&&(n.style.minWidth=`${l.width}px`),s&&(n.style.maxWidth=`${l.width}px`);let u=n.getBoundingClientRect(),d=c?.()??null,m=d==null?l.top:l.top+d,h=e.getPlacement?.()??r,g=h===`top-start`||h===`top-end`?m-i-u.height:l.bottom+i,_=h===`bottom-end`||h===`top-end`?l.right-u.width:l.left,v=s?.()??null;if(v!=null){let e=Math.max(l.left,l.right-u.width);_=Math.min(Math.max(l.left+v,l.left),e)}if(e.viewportPadding!==void 0){let n=e.viewportPadding,r=t.ownerDocument.defaultView,a=r?.innerHeight??0,o=r?.innerWidth??0,s=m-i-n,c=a-l.bottom-i-n;g=(h.startsWith(`top`)?s>=u.height||s>=c:!(c>=u.height||c>=s))?m-i-u.height:l.bottom+i,g=Math.max(n,Math.min(g,a-n-u.height)),_=Math.max(n,Math.min(_,o-n-u.width))}n.style.top=`${g}px`,n.style.left=`${_}px`},g=()=>{p&&(p=!1,m&&=(m(),null),n.remove())},_=()=>{if(p)return;p=!0,l!=null&&(n.style.zIndex=String(l)),h();let r=(t.ownerDocument??document).defaultView??window,i=t.ownerDocument??document,a=()=>{t.isConnected?h():(g(),d?.(`anchor-removed`))},o=e=>{let r=typeof e.composedPath==`function`?e.composedPath():[];r.includes(n)||r.includes(t)||(g(),d?.(`outside`))},s=e.viewportPadding!==void 0&&r.ResizeObserver?new r.ResizeObserver(a):null;s?.observe(n),s?.observe(t);let c=r.setTimeout(()=>{i.addEventListener(`pointerdown`,o,!0)},0);r.addEventListener(`scroll`,a,!0),r.addEventListener(`resize`,a);let f=t.closest(`[data-persona-root]`);f?.addEventListener(`persona:internal:host-moved`,a),m=()=>{s?.disconnect(),r.clearTimeout(c),i.removeEventListener(`pointerdown`,o,!0),r.removeEventListener(`scroll`,a,!0),r.removeEventListener(`resize`,a),f?.removeEventListener(`persona:internal:host-moved`,a)},u?.()};return{get isOpen(){return p},open:_,close:g,toggle:()=>p?g():_(),reposition:h,destroy:g}}function s(e){return(typeof e.composedPath==`function`?e.composedPath():[]).some(e=>e instanceof HTMLElement&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.isContentEditable))}const c=e=>i(e,`composer-actions`,`.persona-composer-overflow-menu{gap:var(--persona-components-composer-overflowMenu-rowGap,2px);min-width:min(var(--persona-components-composer-overflowMenu-minWidth,180px), calc(100vw - 16px));box-sizing:border-box;max-width:calc(100vw - 16px);max-height:min(var(--persona-components-composer-overflowMenu-maxHeight,320px), calc(100vh - 16px));padding:var(--persona-components-composer-overflowMenu-padding,4px);border-radius:var(--persona-components-composer-overflowMenu-borderRadius,var(--persona-radius-lg,.5rem));border:1px solid var(--persona-components-composer-overflowMenu-borderColor,var(--persona-border,#e5e7eb));background:var(--persona-components-composer-overflowMenu-background,var(--persona-surface,#fff));color:var(--persona-components-composer-overflowMenu-foreground,var(--persona-text,#111827));box-shadow:var(--persona-components-composer-overflowMenu-shadow,var(--persona-shadow-md,0 8px 24px #0000001f));font-family:var(--persona-font-family,inherit);line-height:var(--persona-components-composer-overflowMenu-lineHeight,1.35);flex-direction:column;display:flex;overflow-y:auto}.persona-composer-overflow-menu__item{align-items:center;gap:var(--persona-components-composer-overflowMenu-iconGap,8px);width:100%;padding:var(--persona-components-composer-overflowMenu-rowPadding,6px 8px);border-radius:var(--persona-components-composer-overflowMenu-rowBorderRadius,var(--persona-radius-md,.375rem));color:inherit;font-family:inherit;font-size:var(--persona-components-composer-overflowMenu-fontSize,13px);text-align:start;cursor:pointer;background:0 0;border:none;display:flex}.persona-composer-overflow-menu__item:hover:not(:disabled){background:var(--persona-components-composer-overflowMenu-hoverBackground,var(--persona-button-ghost-hover-bg,#0000000d))}.persona-composer-overflow-menu__item:focus-visible{background:var(--persona-components-composer-overflowMenu-focusBackground,var(--persona-button-ghost-hover-bg,#0000000d))}.persona-composer-overflow-menu__item[aria-pressed=true]{background:var(--persona-button-ghost-hover-bg,#0000000d);font-weight:600}.persona-composer-overflow-menu__item:disabled{opacity:.5;cursor:default}.persona-composer-overflow-menu__item[aria-busy=true]{opacity:.6;cursor:progress}.persona-composer-overflow-menu__icon{width:var(--persona-components-composer-overflowMenu-iconSize,16px);height:var(--persona-components-composer-overflowMenu-iconSize,16px);flex:none;align-items:center;display:inline-flex}.persona-composer-overflow-menu__content{display:contents}.persona-composer-overflow-menu__text{flex-direction:column;min-width:0;display:flex}.persona-composer-overflow-menu__icon>svg{width:100%;height:100%}.persona-composer-overflow-menu__description{color:var(--persona-components-composer-overflowMenu-descriptionColor,var(--persona-text-muted,#6b7280));font-size:var(--persona-components-composer-overflowMenu-descriptionFontSize,12px);line-height:var(--persona-components-composer-overflowMenu-lineHeight,1.35);white-space:normal;display:block}.persona-composer-overflow-menu[data-persona-menu-description-layout=inline] .persona-composer-overflow-menu__text,.persona-composer-overflow-menu[data-persona-menu-description-layout=inline] .persona-composer-overflow-menu__slot>.persona-composer-overflow-menu__label{align-items:baseline;gap:0 var(--persona-components-composer-overflowMenu-iconGap,8px);flex-flow:wrap;display:flex}.persona-composer-overflow-menu__divider{border-top:1px solid var(--persona-components-composer-overflowMenu-dividerColor,var(--persona-border,#e5e7eb));margin:var(--persona-components-composer-overflowMenu-dividerSpacing,4px 0);flex-shrink:0}.persona-composer-overflow-menu__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.persona-composer-overflow-menu__slot{align-items:center;gap:var(--persona-components-composer-overflowMenu-iconGap,8px);width:100%;padding:var(--persona-components-composer-overflowMenu-rowPadding,6px 8px);border-radius:var(--persona-components-composer-overflowMenu-rowBorderRadius,var(--persona-radius-md,.375rem));font-size:var(--persona-components-composer-overflowMenu-fontSize,13px);text-align:start;cursor:pointer;display:flex}.persona-composer-overflow-menu__slot:hover{background:var(--persona-components-composer-overflowMenu-hoverBackground,var(--persona-button-ghost-hover-bg,#0000000d))}.persona-composer-overflow-menu__slot[data-persona-menu-focus]{background:var(--persona-components-composer-overflowMenu-focusBackground,var(--persona-button-ghost-hover-bg,#0000000d))}.persona-composer-overflow-menu__slot .persona-send-button-wrapper{display:contents}.persona-composer-overflow-menu__slot .persona-composer-control{width:var(--persona-components-composer-overflowMenu-iconSize,16px);height:var(--persona-components-composer-overflowMenu-iconSize,16px);min-width:var(--persona-components-composer-overflowMenu-iconSize,16px);min-height:var(--persona-components-composer-overflowMenu-iconSize,16px);box-shadow:none;color:inherit;cursor:inherit;background:0 0;border:none;border-radius:0;flex:none;padding:0;line-height:1;overflow:hidden}.persona-composer-overflow-menu__slot .persona-composer-control>svg{width:var(--persona-components-composer-overflowMenu-iconSize,16px);height:var(--persona-components-composer-overflowMenu-iconSize,16px)}.persona-composer-overflow-menu__slot .persona-composer-control:focus-visible{outline:none}.persona-composer-overflow-menu__slot .persona-control-tooltip{display:none}.persona-composer-segmented{align-items:center;gap:var(--persona-components-composer-segmented-gap,2px);padding:var(--persona-components-composer-segmented-padding,2px);border-radius:var(--persona-components-composer-segmented-trackBorderRadius,9999px);background:var(--persona-components-composer-segmented-trackBackground,var(--persona-container,#f3f4f6));flex:none;display:inline-flex}.persona-composer-segmented-item{cursor:pointer;white-space:nowrap;box-shadow:none;font-family:inherit;font-size:var(--persona-components-composer-segmented-fontSize,var(--persona-composer-font-size,.875rem));line-height:var(--persona-components-composer-segmented-lineHeight,var(--persona-composer-line-height,1.25rem));font-weight:var(--persona-components-composer-segmented-fontWeight,normal);min-height:var(--persona-components-composer-segmented-minHeight,0px);padding:var(--persona-components-composer-segmented-itemPadding,.25rem .625rem);border-radius:var(--persona-components-composer-segmented-trackBorderRadius,9999px);color:var(--persona-components-composer-segmented-inactiveForeground,var(--persona-muted,#6b7280));background:0 0;border:none;align-items:center;gap:.375rem;display:inline-flex}.persona-composer-segmented-item[aria-pressed=true]{background:var(--persona-components-composer-segmented-activeBackground,var(--persona-surface,#fff));color:var(--persona-components-composer-segmented-activeForeground,var(--persona-text,#111827));box-shadow:var(--persona-components-composer-segmented-activeShadow,0 1px 2px 0 #0f172a1f)}.persona-composer-segmented-item svg{flex:none}@media (pointer:coarse){.persona-composer-segmented-item{min-height:36px}}.persona-composer-model-picker-wrapper{align-items:center;display:inline-grid}.persona-composer-model-picker-wrapper>*{grid-area:1/1}[data-persona-root] .persona-composer-model-picker{max-width:10rem;height:var(--persona-components-composer-modelPicker-height,var(--persona-composer-control-size,40px));min-height:var(--persona-components-composer-modelPicker-height,var(--persona-composer-control-size,40px));width:auto;min-width:var(--persona-components-composer-modelPicker-minWidth,0px);line-height:var(--persona-components-composer-modelPicker-height,var(--persona-composer-control-size,40px));padding-block:0;padding-inline:.625rem 1.75rem;padding-inline:var(--persona-components-composer-modelPicker-paddingInline,.625rem 1.75rem);border-radius:var(--persona-components-composer-modelPicker-borderRadius,var(--persona-button-ghost-radius,var(--persona-radius-md,.375rem)));background-color:var(--persona-components-composer-modelPicker-background,var(--persona-button-ghost-bg,transparent));color:var(--persona-components-composer-modelPicker-labelColor,var(--persona-button-ghost-fg,var(--persona-text,#111827)));box-shadow:inset 0 0 0 1px var(--persona-components-composer-modelPicker-borderColor,transparent);font-family:inherit;font-size:var(--persona-components-composer-modelPicker-fontSize,.8125rem);font-weight:var(--persona-components-composer-modelPicker-fontWeight,normal);cursor:pointer;appearance:none;text-overflow:ellipsis;white-space:nowrap;text-align:start;border:none;overflow:hidden}.persona-composer-model-picker-chevron{pointer-events:none;background-color:var(--persona-components-composer-modelPicker-labelColor,var(--persona-button-ghost-fg,var(--persona-text,#111827)));justify-self:end;width:.875rem;height:.875rem;margin-inline-end:.625rem;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[data-persona-root] .persona-composer-model-picker option{line-height:normal}@media (pointer:coarse){[data-persona-root] .persona-composer-model-picker{min-width:40px;min-height:40px}}[data-persona-root] .persona-composer-model-picker:hover:not(:disabled){background-color:var(--persona-components-composer-modelPicker-hoverBackground,var(--persona-button-ghost-hover-bg,#0000000d))}[data-persona-root] .persona-composer-model-picker:disabled{opacity:.5;cursor:default}[data-persona-root] .persona-composer-model-picker-trigger{align-items:center;gap:.25rem;display:inline-flex}.persona-composer-model-picker-label{text-overflow:ellipsis;white-space:nowrap;color:var(--persona-components-composer-modelPicker-labelColor,inherit);overflow:hidden}.persona-composer-model-picker-suffix{color:var(--persona-components-composer-modelPicker-suffixColor,var(--persona-muted,#6b7280));flex:none}.persona-composer-model-picker-suffix:empty{display:none}.persona-composer-model-menu{border-radius:var(--persona-components-composer-modelPicker-menuBorderRadius,var(--persona-radius-lg,.5rem));border:1px solid var(--persona-border,#e5e7eb);background:var(--persona-components-composer-modelPicker-menuBackground,var(--persona-surface,#fff));min-width:220px;max-height:320px;color:var(--persona-text,#111827);box-shadow:var(--persona-shadow-md,0 8px 24px #0000001f);font-family:var(--persona-font-family,inherit);flex-direction:column;gap:2px;padding:4px;display:flex;overflow-y:auto}.persona-composer-model-option{border-radius:var(--persona-radius-md,.375rem);width:100%;color:inherit;text-align:start;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:8px;padding:6px 8px;font-family:inherit;font-size:13px;display:flex}.persona-composer-model-option:hover,.persona-composer-model-option:focus{background:var(--persona-components-composer-modelPicker-rowHoverBackground,var(--persona-button-ghost-hover-bg,#0000000d));outline:none}.persona-composer-model-option-icon,.persona-composer-model-option-check{flex:none;align-items:center;margin-top:1px;display:inline-flex}.persona-composer-model-option-check{visibility:hidden}.persona-composer-model-option[aria-selected=true] .persona-composer-model-option-check{visibility:visible}.persona-composer-model-option-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.persona-composer-model-option-label{color:var(--persona-components-composer-modelPicker-labelColor,inherit)}.persona-composer-model-option-description{color:var(--persona-components-composer-modelPicker-descriptionColor,var(--persona-muted,#6b7280));font-size:12px;line-height:1.35}.persona-composer-mode-chip{background:var(--persona-mode-chip-bg,var(--persona-container,#f3f4f6));border-color:var(--persona-mode-chip-border,var(--persona-border,#e5e7eb));color:var(--persona-mode-chip-fg,var(--persona-text,#111827))}[data-persona-composer-expanded] .persona-widget-composer:not(.persona-pill-composer) :is(.persona-widget-composer__actions,.persona-widget-composer__left-actions,.persona-widget-composer__right-actions,.persona-composer-segmented){flex-wrap:wrap;min-width:0;max-width:100%}[data-persona-composer-expanded] .persona-widget-composer:not(.persona-pill-composer) :is(.persona-composer-control,.persona-composer-model-picker,.persona-composer-segmented-item){max-width:100%}[data-persona-composer-expanded] .persona-widget-composer:not(.persona-pill-composer) :is(.persona-composer-action-button,.persona-composer-model-picker,.persona-composer-segmented-item){text-overflow:ellipsis;overflow:hidden}[data-persona-composer-crowded] .persona-widget-composer:not(.persona-pill-composer) .persona-composer-model-picker-wrapper{max-width:min(100%,16rem)}`),l=(e,t)=>{let n=document.createElement(e);return t&&(n.className=t),n},u=(e,t={},...n)=>{let r=document.createElement(e);if(t.className&&(r.className=t.className),t.text!==void 0&&(r.textContent=t.text),t.attrs)for(let[e,n]of Object.entries(t.attrs))r.setAttribute(e,n);if(t.style){let e=r.style,n=t.style;for(let t of Object.keys(n)){let r=n[t];r!=null&&(e[t]=r)}}let i=n.filter(e=>e!=null);return i.length>0&&r.append(...i),r},d=(...e)=>e.filter(Boolean).join(` `),f=`persona-composer-control`,p=`persona-composer-control--glyph`,m=(e,t,n)=>{let r=e.ownerDocument?.defaultView;if(!r)return;let i=r.getComputedStyle(e);for(let e of n){let n=i.getPropertyValue(e).trim();n?t.style.setProperty(e,n):t.style.removeProperty(e)}},h=`button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])`,g=[`--persona-components-composer-overflowMenu-background`,`--persona-components-composer-overflowMenu-borderColor`,`--persona-components-composer-overflowMenu-borderRadius`,`--persona-components-composer-overflowMenu-foreground`,`--persona-components-composer-overflowMenu-shadow`,...[`padding`,`rowGap`,`rowPadding`,`rowBorderRadius`,`fontSize`,`lineHeight`,`iconSize`,`iconGap`,`hoverBackground`,`focusBackground`,`descriptionColor`,`descriptionFontSize`,`dividerColor`,`dividerSpacing`,`minWidth`,`maxHeight`].map(e=>`--persona-components-composer-overflowMenu-${e}`)],_=`data-persona-menu-focus`,v=/* @__PURE__ */ new Set([`ArrowDown`,`ArrowUp`,`Home`,`End`]);function y(e){return e.getAttribute(`role`)===`menuitem`?e:e.querySelector(h)??e}const b=e=>e.disabled===!0||e.getAttribute(`aria-disabled`)===`true`;function x(e){let{renderLucideIcon:t,attachTooltip:n}=e.deps,r=e.label,i=!1,a=!1,s=!1,d=!1,x=!0,S=l(`div`,`persona-send-button-wrapper`),C=u(`button`,{className:`persona-rounded-button persona-flex persona-items-center persona-justify-center persona-cursor-pointer persona-composer-action-button persona-composer-overflow-trigger ${f} ${p}`,attrs:{type:`button`,"aria-haspopup":`menu`,"aria-expanded":`false`,"data-persona-composer-overflow-trigger":``}});S.appendChild(C);let w=u(`div`,{className:`persona-composer-overflow-menu`,attrs:{role:`menu`,tabindex:`-1`,"data-persona-composer-overflow-menu":``}}),T=()=>{let n=e.getButtonSize?.()??``;C.style.width=n,C.style.height=n,C.style.minWidth=n,C.style.minHeight=n,C.style.lineHeight=`1`,C.replaceChildren();let r=t((H()?e.getConfig?.()?.openTriggerIconName:void 0)??e.getConfig?.()?.triggerIconName??`plus`,24,`currentColor`,1.5);r?C.appendChild(r):C.textContent=`+`},E=()=>{C.setAttribute(`aria-label`,r),w.setAttribute(`aria-label`,r)};E();let D=n({anchor:C,trigger:S,text:()=>C.getAttribute(`aria-expanded`)===`true`?``:r}),O=[],k=-1,A=!1,j=()=>{let e=w.getRootNode().activeElement;return e instanceof HTMLElement?e:null},M=()=>{let e=j();for(let t of O){let n=!!e&&y(t)===e;t.toggleAttribute(_,n&&A)}},N=()=>O.filter(e=>e.isConnected||w.contains(e)).map(y).filter(e=>!b(e)),P=(e,t)=>{e.forEach((e,n)=>{e.setAttribute(`tabindex`,n===t?`0`:`-1`)})},F=e=>{let t=N();if(t.length===0)return;let n=(e%t.length+t.length)%t.length;k=n,P(t,n),t[n].focus(),M()},ee=()=>S.ownerDocument??document,I=null,L=null,R=null,te=()=>{I&&=(ee().removeEventListener(`focusin`,I,!0),null)},z=()=>{L&&=(w.removeEventListener(`focusin`,L),null),R&&=(w.removeEventListener(`pointerdown`,R,!0),null)},B=null,V=()=>(B||=o({anchor:C,getAnchorRect:()=>{if(e.getConfig?.()?.width===`composer`){let t=e.getComposer?.()?.getBoundingClientRect();if(t)return w.style.width=`${t.width}px`,t}return C.getBoundingClientRect()},content:w,placement:`top-start`,getPlacement:()=>e.getConfig?.()?.placement===`below`?`bottom-start`:`top-start`,viewportPadding:8,offset:6,onDismiss:()=>{ne()}}),B),H=()=>B?.isOpen===!0,ne=()=>{d=!0,a=!1,C.setAttribute(`aria-expanded`,`false`),te(),z(),k=-1,A=!1;for(let e of O)e.removeAttribute(_);try{e.onClose?.()}finally{d=!1}T()},U=(e=!1)=>{(H()||a)&&(B?.close(),ne(),e&&!i&&C.focus())},W=()=>{m(C,w,g),w.setAttribute(`data-persona-menu-description-layout`,e.getConfig?.()?.descriptionLayout??`stacked`);let t=e.getConfig?.()?.width;w.style.width=t===`composer`?`${e.getComposer?.()?.getBoundingClientRect().width??0}px`:t&&t!==`content`?t:``,T(),B?.reposition()};T();let G=(t=0,n=!1)=>{if(i||s||d||H())return;c(C),D.hide(),a=!0,s=!0;let r;try{r=e.beforeOpen?.()}finally{s=!1}if(r===!1||!a||i)a&&U();else{if(A=n,W(),V().open(),a=!1,C.setAttribute(`aria-expanded`,`true`),T(),x){let e=N();P(e,-1),F(t<0?e.length-1:t),e.length||w.focus()}else(Array.from(w.querySelectorAll(h)).find(e=>!b(e)&&!e.closest(`[hidden]`))??w).focus();H()&&!i&&(I=e=>{let t=typeof e.composedPath==`function`?e.composedPath():[];t.includes(w)||t.includes(S)||U()},ee().addEventListener(`focusin`,I,!0),L=()=>M(),w.addEventListener(`focusin`,L),R=()=>{A=!1},w.addEventListener(`pointerdown`,R,!0))}},K=e=>{e.preventDefault(),e.stopPropagation(),H()?U(!0):G(0)},q=e=>{e.key===`ArrowDown`||e.key===`Enter`||e.key===` `?(e.preventDefault(),A=!0,H()?x?F(0):w.focus():G(0,!0)):e.key===`ArrowUp`&&(e.preventDefault(),A=!0,H()?x?F(-1):w.focus():G(-1,!0))},J=e=>{if(!x)e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),e.stopPropagation(),U(!0));else switch(v.has(e.key)&&(A=!0),e.key){case`ArrowDown`:e.preventDefault(),F(k+1);return;case`ArrowUp`:e.preventDefault(),F(k-1);return;case`Home`:e.preventDefault(),F(0);return;case`End`:e.preventDefault(),F(N().length-1);return;case`Escape`:e.preventDefault(),e.stopPropagation(),U(!0);return;case`Tab`:U(!0);return}};return C.addEventListener(`click`,K),C.addEventListener(`keydown`,q),w.addEventListener(`keydown`,J),{trigger:S,triggerButton:C,panel:w,setItems:e=>{for(let t of O)e.includes(t)||t.removeAttribute(_);if(O=[...e],!H()||!x)return;let t=N();P(t,Math.min(k,t.length-1)),M()},isOpen:H,open:()=>G(0),close:U,setLabel:e=>{e!==r&&(r=e,E(),D.isOpen&&(D.hide(),D.show()))},applyButtonSize:T,refresh:W,setContentMode:(e,t)=>{let n=t&&!x&&H();x=t,w.setAttribute(`role`,e),C.setAttribute(`aria-haspopup`,e),n&&F(0)},destroy:()=>{i=!0,U(),D.destroy(),te(),z(),C.removeEventListener(`click`,K),C.removeEventListener(`keydown`,q),w.removeEventListener(`keydown`,J),B?.destroy(),B=null,S.remove(),w.remove(),O=[]}}}function S(e){if(e.available<=0)return new Set(e.previous);let t=t=>{let n={start:{...e.slots.start},end:{...e.slots.end}};for(let r of e.actions){if(t.has(r.id))continue;let e=n[r.placement];e.width+=r.width,e.count+=1}return(e.hasMenu||t.size)&&(n.start.width+=e.triggerWidth,n.start.count+=1),n.start.width+n.end.width+Math.max(0,n.start.count-1)*e.gaps.start+Math.max(0,n.end.count-1)*e.gaps.end+(n.start.count&&n.end.count?e.clusterGap:0)},n=/* @__PURE__ */ new Set,r=t(n),i=e.available-(e.previous.size?16:0),a=e.actions.filter(e=>e.auto).sort((e,t)=>t.order-e.order||t.sequence-e.sequence);for(let e of a){if(t(n)<=i)break;n.add(e.id)}return!e.hasMenu&&t(n)>=r?/* @__PURE__ */ new Set:n}function C(e){let t=e.ownerDocument.defaultView;if(!t)return 0;let n=t.getComputedStyle(e);if(n.display===`none`||[`absolute`,`fixed`].includes(n.position))return 0;let r=e=>Number.parseFloat(e)||0;return(n.display===`contents`?Array.from(e.children).reduce((e,n)=>e+(n instanceof t.HTMLElement?C(n):0),0):Math.max(e.getBoundingClientRect().width,e.scrollWidth))+r(n.marginLeft)+r(n.marginRight)}const w={mention:100,attachment:200,mic:800,overflow:900,send:1e3,custom:500},T=`data-persona-composer-action`,E=`data-persona-composer-disable-when-streaming`,D=`core:overflow`,O=e=>e===`core:attachment`?`attachments`:e.startsWith(`core:mention`)?`mentions`:null;function k(e,t){if(e===void 0)return null;if(typeof e==`number`)return Number.isFinite(e)?e:null;let n=Number.parseFloat(e);if(/^\s*-?\d*\.?\d+(px)?\s*$/.test(e)&&Number.isFinite(n))return n;let r=l(`div`);r.style.position=`absolute`,r.style.visibility=`hidden`,r.style.pointerEvents=`none`,r.style.height=`0`,r.style.width=e,t.appendChild(r);let i=r.getBoundingClientRect().width;return r.remove(),Number.isFinite(i)&&i>0?i:Number.isFinite(n)?n:null}function A(e){let t=e.clientWidth;if(!t)return 0;let n=e.ownerDocument?.defaultView;if(!n?.getComputedStyle)return t;let r=n.getComputedStyle(e),i=(Number.parseFloat(r.paddingLeft)||0)+(Number.parseFloat(r.paddingRight)||0);return Math.max(0,t-i)}const j=(e,t)=>{e&&typeof console<`u`&&console.warn(t)},M=(e,t)=>t.includes(`:`)?t:`${e}:${t}`;function N(e){let{debug:t}=e,n=[],r=/* @__PURE__ */ new Map,i=0,a=e=>{let i=r.get(e.id);i?j(t,`[Persona] composer action "${e.id}" is already contributed by ${P(i)}; the ${P(e)} copy is ignored.`):(r.set(e.id,e),n.push(e))};for(let t of e.builtIns)a({id:t.id,placement:t.placement,presentation:`bar`,order:t.order,sequence:i++,source:`core`,builtIn:t});let o=(e,n,r)=>{let o=r?M(r,e.id):e.id,s=e.order??w.custom;e.placement===`end`&&s>=w.send&&(j(t,`[Persona] composer action "${o}" ordered at ${s} would render after send; clamped to ${w.send-1}.`),s=w.send-1),a({id:o,placement:e.placement,presentation:e.presentation??`bar`,order:s,sequence:i++,source:n,pluginId:r,action:e})};for(let t of e.configActions??[])o(t,`config`);for(let t of e.plugins){if(!t.contributeComposerActions)continue;let n;try{n=t.contributeComposerActions(e.contributionContext)}catch(e){typeof console<`u`&&console.error(`[Persona] plugin "${t.id}" contributeComposerActions failed:`,e);continue}for(let e of n??[])o(e,`plugin`,t.id)}return n.sort((e,t)=>e.order===t.order?e.sequence-t.sequence:e.order-t.order)}const P=e=>e.source===`plugin`?`plugin "${e.pluginId}"`:e.source===`config`?`composer.actions`:`a core built-in`,F=(e,t,n)=>e===void 0?n:typeof e==`function`?e(t)===!0:e===!0,ee=e=>e.phase===`streaming`||e.text.trim().length>0||e.attachments.length>0;function I(e,t){if(!e||e===`always`)return!0;let n=ee(t);return e===`when-text`?n:!n}const L=e=>e.kind===`custom`,R=e=>e instanceof HTMLButtonElement?e:e.querySelector(`button`)??e,te=e=>{let t=R(e);return t.getAttribute(`aria-label`)?.trim()||t.getAttribute(`title`)?.trim()||``};function z(e){let t=``,n=e=>{if(e.nodeType===Node.TEXT_NODE){t+=e.nodeValue??``;return}if(e.nodeType!==Node.ELEMENT_NODE)return;let r=e;typeof r.matches==`function`&&r.matches(`.persona-control-tooltip, [role="tooltip"], .persona-sr-only, [hidden], [aria-hidden="true"]`)||e.childNodes.forEach(n)};return n(e),t.trim()}const B=e=>z(e).length===0,V=e=>!e||typeof e!=`object`?e:Object.freeze(Array.isArray(e)?e.map(V):Object.fromEntries(Object.entries(e).map(([e,t])=>[e,V(t)])));function H(e){let{renderLucideIcon:t,attachTooltip:n,hideTooltipFor:r}=e.deps,i=/* @__PURE__ */ new Map,a=[],o=!1,s=null,m=[],h=[],g=l(`div`,`persona-composer-overflow-menu__content`),_=()=>e.getButtonSize?.(),v=(n,r)=>{let i=n.button;if(!i)return;i.setAttribute(`role`,`menuitem`),i.setAttribute(`tabindex`,`-1`),i.className=`persona-composer-overflow-menu__item`;for(let e of[`width`,`height`,`minWidth`,`minHeight`,`fontSize`,`color`,`backgroundColor`])i.style[e]=``;i.style.lineHeight=``,r.showTooltip!==!1&&r.tooltipText?i.setAttribute(`title`,r.tooltipText):i.removeAttribute(`title`),i.replaceChildren();let a=l(`span`,`persona-composer-overflow-menu__icon`);if(r.iconName){let e=t(r.iconName,16,`currentColor`,1.5);e&&a.appendChild(e)}let o=l(`span`,`persona-composer-overflow-menu__label`),s=e.getOverflow?.()?.menu?.items?.[n.resolved.id];o.textContent=s?.label??r.shortLabel??r.label;let c=l(`span`,`persona-composer-overflow-menu__text`);c.appendChild(o);let d=s?.description??r.description;i.setAttribute(`aria-label`,s?.label??r.label),d?i.setAttribute(`aria-description`,d):i.removeAttribute(`aria-description`),d&&c.appendChild(u(`span`,{className:`persona-composer-overflow-menu__description`,text:d})),i.append(a,c)},b=(e,r)=>{let i=e.button;if(!i)return;if(i.setAttribute(`aria-label`,r.label),r.pressed===void 0?i.removeAttribute(`aria-pressed`):i.setAttribute(`aria-pressed`,r.pressed?`true`:`false`),i.toggleAttribute(E,r.disableWhenStreaming===!0),e.mode===`menu`){e.tooltip?.destroy(),e.tooltip=void 0,v(e,r);return}i.removeAttribute(`role`),i.removeAttribute(`tabindex`),i.removeAttribute(`aria-description`),i.removeAttribute(`title`);let a=_(),o=!!r.shortLabel||!r.iconName;if(i.className=d(`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-composer-action-button`,f,p,o&&`persona-composer-action-button--text persona-gap-1 persona-text-sm`),i.style.width=a&&!o?a:``,i.style.height=a??``,i.style.minWidth=a&&!o?a:``,i.style.minHeight=a??``,i.style.fontSize=o?``:`18px`,i.style.lineHeight=`1`,i.style.color=r.iconColor??``,i.style.backgroundColor=r.backgroundColor??``,i.replaceChildren(),r.iconName){let e=t(r.iconName,24,`currentColor`,1.5);e&&(r.iconName===`voice-bars`&&r.iconAnimation===`voice`&&e.classList.add(`persona-voice-bars--animated`),i.appendChild(e))}if(o){let e=l(`span`,`persona-composer-action-button__label`);e.textContent=r.shortLabel??r.label,i.appendChild(e)}if(r.trailingIconName&&o){let e=t(r.trailingIconName,24,`currentColor`,1.5);e&&i.appendChild(e)}i.firstChild||(i.textContent=r.label),e.tooltip?.destroy(),e.tooltip=n({anchor:i,trigger:e.element,text:()=>r.tooltipText??r.label,enabled:r.showTooltip??(!o||!!r.tooltipText)})},j=(t,n)=>{if(o||i.get(t.resolved.id)!==t||t.busy)return!1;let r=t.resolved.action,a=e.getState();if(!t.visible||r&&(!F(r.visible,a,!0)||!I(r.visibility,a)||F(r.disabled,a,!1)||r.disableWhenStreaming===!0&&a.phase===`streaming`))return!1;let c=R(t.element);if(c.disabled||c.getAttribute(`aria-disabled`)===`true`)return!1;if((t.mode===`menu`||U?.isOpen())&&(s=t.resolved.id,U?.close(!0)),!r||L(r))return c.click(),!0;let l;try{l=r.onSelect(e.actionContext,n)}catch(n){return e.reportError(n,{actionId:t.resolved.id}),!0}return l&&typeof l.then==`function`&&(t.busy=!0,t.button?.setAttribute(`aria-busy`,`true`),l.catch(n=>e.reportError(n,{actionId:t.resolved.id})).finally(()=>{t.busy=!1,t.button?.removeAttribute(`aria-busy`),!o&&i.get(t.resolved.id)===t&&Oe()})),!0},M=(e,t)=>{let n=e.action,r=u(`button`,{attrs:{type:`button`}}),i=r;if(t===`bar`){let e=l(`div`,`persona-send-button-wrapper`);e.appendChild(r),i=e}i.setAttribute(T,e.id);let a={resolved:e,element:i,button:r,owned:!0,managed:!0,busy:!1,visible:!0,mode:t},o=e=>{e.preventDefault(),e.stopPropagation(),j(a,e)};return r.addEventListener(`click`,o),a.detach=()=>r.removeEventListener(`click`,o),b(a,n),a},P=t=>{let n=t.action,r;try{r=n.render({...e.actionContext,id:t.id,action:n})}catch(n){return e.reportError(n,{actionId:t.id}),null}return r?.element?(r.element.setAttribute(T,t.id),r.element.toggleAttribute(E,n.disableWhenStreaming===!0),{resolved:t,element:r.element,owned:!0,managed:!0,destroy:r.destroy,busy:!1,visible:!0,mode:`bar`}):null},ee=(e,t)=>{if(e.builtIn){let t=e.builtIn.element;return t?{resolved:e,element:t,owned:!1,managed:e.builtIn.managed===!0,busy:!1,visible:!0,mode:`bar`}:null}let n=e.action;return n?L(n)?P(e):M(e,t):null},z=t=>{if(t.detach?.(),t.tooltip?.destroy(),t.detachMenuSlot?.(),t.detachMenuSlot=void 0,t.menuLabel?.remove(),t.menuLabel=void 0,t.menuSlot?.remove(),t.menuSlot=void 0,t.owned){try{t.destroy?.()}catch(n){e.reportError(n,{actionId:t.resolved.id})}t.element.remove()}},H=(e,t)=>{let n=null;for(let r=t.length-1;r>=0;r--){let i=t[r];i.managed?(n?(i.element.parentElement!==e||i.element.nextSibling!==n)&&e.insertBefore(i.element,n):e.lastChild!==i.element&&e.appendChild(i.element),n=i.element):i.element.parentElement===e&&(n=i.element)}},ne=(e,t)=>{if(e.button){e.button.disabled=t;return}if(!e.owned)return;let n=e.element;n.toggleAttribute(`data-disabled`,t),n.setAttribute(`aria-disabled`,t?`true`:`false`);let r=n instanceof HTMLButtonElement||n instanceof HTMLSelectElement||n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement?n:n.querySelector(`button, select, input, textarea`);r&&(r.disabled=t)},U=null,W=null,G=null,K=0,q=null,J=null,Y=null,X=0,Z=/* @__PURE__ */ new Set,re=/* @__PURE__ */ new Map,ie=()=>{X+=1,ae()},ae=()=>{if(o||J!==null||!W)return;let e=W.ownerDocument.defaultView;e&&(J=e.requestAnimationFrame(()=>{J=null,Oe()}))},oe=()=>{J!==null&&W?.ownerDocument.defaultView?.cancelAnimationFrame(J),J=null,q?.disconnect(),q=null,W?.ownerDocument.defaultView?.removeEventListener(`resize`,ae),W?.ownerDocument.fonts?.removeEventListener(`loadingdone`,ie),Y=null},se=()=>{let t=e.getOverflow?.();return t?.enabled===!0?t:void 0},Q=null,ce=null,le=null,ue,$=!0,de=!1,fe=!1,pe=t=>e.reportError(t,{actionId:D}),me=e=>{try{e?.destroy?.()}catch(e){pe(e)}},he=()=>{let e=Q,t=ce;Q=null,ce=null,le=null,ue=void 0,de=!1,e?.abort(),me(t),U?.panel.replaceChildren(g),U?.setContentMode(`menu`,!0),$=!0},ge=t=>{let n=t.resolved.action,r=se()?.menu?.items?.[t.resolved.id],i=R(t.element),a=e.getState();return Object.freeze({id:t.resolved.id,kind:n?L(n)?`custom`:`button`:`builtin`,label:r?.label??(n?(L(n)?void 0:n.shortLabel)??n.label:te(t.element)),description:r?.description??n?.description,group:r?.group??n?.group,iconName:n&&!L(n)?n.iconName:void 0,disabled:!!(i.disabled||i.getAttribute(`aria-disabled`)===`true`||n&&(F(n.disabled,a,!1)||n.disableWhenStreaming===!0&&a.phase===`streaming`)),busy:t.busy,pressed:n&&!L(n)?n.pressed:void 0})},_e=t=>{let n=()=>!o&&Q===t&&!t.signal.aborted;return Object.freeze({config:V(se()?.menu??{}),state:V(e.getState()),items:Object.freeze(h.map(ge)),signal:t.signal,actions:Object.freeze({invoke:e=>{if(!n()||!U?.isOpen())return!1;let t=i.get(e);return!t||t.mode!==`menu`||!h.includes(t)?!1:j(t,new Event(`click`,{bubbles:!0,cancelable:!0}))},openAttachmentPicker:()=>{if(!n()||!U?.isOpen())return;let e=i.get(`core:attachment`);e&&j(e,new Event(`click`,{bubbles:!0,cancelable:!0}))},close:()=>{n()&&U?.close(!0)},requestUpdate:()=>{n()&&!de&&(de=!0,Promise.resolve().then(()=>{n()&&(de=!1,ke())}))}}),defaultRenderer:()=>({element:g,role:`menu`})})},ve=()=>{let e=new AbortController;Q=e;let t=_e(e);for(let n of m){if(e.signal.aborted||Q!==e||o)return!1;if(!n.renderComposerMenu)continue;let r;try{r=n.renderComposerMenu(t)}catch(e){pe(e);continue}if(!r)continue;let i=r instanceof HTMLElement?{element:r}:r;if(e.signal.aborted||Q!==e||o)return me(i),!1;if(!(i.element instanceof HTMLElement))me(i);else return ce=i,le=n,ue=n.renderComposerMenu,$=i.element===g,U?.panel.replaceChildren(i.element),U?.setContentMode(i.role??($?`menu`:`dialog`),$),!0}return e.signal.aborted||o?!1:($=!0,U?.panel.replaceChildren(g),U?.setContentMode(`menu`,!0),!0)},ye=()=>{if(!Q||Q.signal.aborted||!U?.isOpen())return;if(le&&!m.some(e=>e.id===le?.id&&e.renderComposerMenu===ue)){U.close();return}if(fe)return;let e=Q,t=ce;fe=!0;try{t?.update?.(_e(e))}catch(n){if(pe(n),Q===e){if(Q=null,ce=null,e.abort(),me(t),o||!U?.isOpen()||Q)return;Q=new AbortController,le=null,ue=void 0,$=!0,U.panel.replaceChildren(g),U.setContentMode(`menu`,!0)}}finally{fe=!1}U?.refresh()},be=()=>(U?U.setLabel(e.getOverflowLabel?.()??`More actions`):U=x({deps:e.deps,label:e.getOverflowLabel?.()??`More actions`,getButtonSize:_,getConfig:()=>se()?.menu,getComposer:()=>e.getBindings()?.form,beforeOpen:ve,onClose:he}),U),xe=(e,t)=>{let n=e.footer;if(!(W===n&&(t?Y===e.form:Y===null))){if(oe(),G?.disconnect(),W=n,K=A(n),t){Y=e.form;let t=n.ownerDocument.defaultView;t?.addEventListener(`resize`,ae),n.ownerDocument.fonts?.addEventListener(`loadingdone`,ie),t?.MutationObserver&&(q=new t.MutationObserver(n=>{n.some(n=>{if(U?.trigger.contains(n.target)||n.target===e.input&&n.type===`attributes`)return!1;let r=[...Array.from(n.addedNodes),...Array.from(n.removedNodes)];return!(r.length&&r.every(e=>e instanceof t.HTMLElement&&e.hasAttribute(`data-persona-composer-measure`)))})&&ae()}),q.observe(n,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:[`class`,`style`,`hidden`,`data-persona-composer-layout`,`data-persona-composer-compact`]}))}typeof ResizeObserver<`u`&&(G=new ResizeObserver(e=>{if(t){ae();return}let r=e[e.length-1]?.contentRect?.width??A(n);r!==K&&(K=r,Oe())}),G.observe(n),t&&(G.observe(e.form),G.observe(e.actionsStart),G.observe(e.actionsEnd)))}},Se=(e,t)=>{let n=k(e.collapseAutoActionsBelow,t);if(n===null)return!1;let r=K||A(t);return r>0&&r<n},Ce=(e,t,n)=>{if(!t)return`bar`;if(e.resolved.builtIn){let n=O(e.resolved.id);return n&&t.includeBuiltIns?.includes(n)?`menu`:`bar`}let r=e.resolved.presentation;return r===`overflow`||r===`auto`&&n?`menu`:`bar`},we=e=>{let t=e.menuSlot;if(!t)return;let n=se()?.menu?.items?.[e.resolved.id],r=n?.description??e.resolved.action?.description;if(!n?.label&&!r&&!B(e.element)){e.menuLabel?.remove(),e.menuLabel=void 0;return}let i=n?.label??te(e.element);i?(e.menuLabel||=l(`span`,`persona-composer-overflow-menu__label`),e.menuLabel.replaceChildren(u(`span`,{text:i})),r&&e.menuLabel.appendChild(u(`span`,{className:`persona-composer-overflow-menu__description`,text:r})),e.menuLabel.parentElement!==t&&t.appendChild(e.menuLabel)):(e.menuLabel?.remove(),e.menuLabel=void 0)},Te=(e,t)=>{if(e.mode===t)return e;let n=e.resolved.action;if(n&&!L(n)){let r=e.element;return t===`menu`?e.element=e.button:(e.element=l(`div`,`persona-send-button-wrapper`),e.element.appendChild(e.button),e.button.removeAttribute(T)),r!==e.element&&r!==e.button&&r.remove(),e.element.setAttribute(T,e.resolved.id),e.mode=t,b(e,n),e}if(t===`menu`){let t=u(`div`,{className:`persona-composer-overflow-menu__slot`,attrs:{role:`none`,"data-persona-tooltip-suppressed":``}});t.appendChild(e.element),r(R(e.element)),e.menuSlot=t;let n=t=>{let n=R(e.element);if(n.disabled)return;let r=t.target===n||n.contains(t.target);s=e.resolved.id,U?.close(!0),r||n.click()};t.addEventListener(`click`,n,!0),e.detachMenuSlot=()=>t.removeEventListener(`click`,n,!0),e.managed=!0,we(e)}else e.detachMenuSlot?.(),e.detachMenuSlot=void 0,e.menuLabel?.remove(),e.menuLabel=void 0,e.menuSlot?.remove(),e.menuSlot=void 0;return e.mode=t,e},Ee=(e,t)=>{let n=Array.from(e.querySelectorAll(`.persona-composer-overflow-menu__divider`)),r=0,i=[];for(t.forEach((e,a)=>{let o=ge(e).group;a&&o!==ge(t[a-1]).group&&i.push(n[r++]??u(`div`,{className:`persona-composer-overflow-menu__divider`,attrs:{role:`separator`}})),i.push(e.menuSlot??e.element)}),i.forEach((t,n)=>{let r=e.children[n];r!==t&&(r?e.insertBefore(t,r):e.appendChild(t))});e.children.length>i.length;)e.lastElementChild?.remove()},De=(e,t,n)=>{let r=A(e.form);if(!r)return Z;let i=e.form.ownerDocument.defaultView,a=i.getComputedStyle(e.form),o=e=>Number.parseFloat(e)||0,s=o(a.columnGap),c=e.footer.getAttribute(`data-persona-composer-layout`)===`single-row`&&e.footer.hasAttribute(`data-persona-composer-compact`),l=[a.fontFamily,a.fontSize,a.getPropertyValue(`--persona-composer-font-size`),a.getPropertyValue(`--persona-composer-control-size`),a.getPropertyValue(`--persona-composer-control-icon-size`),_(),X].join(`|`),u={start:e.actionsStart,end:e.actionsEnd},d={start:{width:0,count:0},end:{width:0,count:0}},f={start:0,end:0};for(let e of[`start`,`end`]){f[e]=o(i.getComputedStyle(u[e]).columnGap);for(let n of Array.from(u[e].children)){if(!(n instanceof i.HTMLElement)||n===U?.trigger||t.some(e=>e.element===n))continue;let r=C(n);r&&(d[e].width+=r,d[e].count+=1)}}let p=[],m=!1;for(let e of t){if(Ce(e,n,!1)===`menu`){m=!0;continue}let t=e.resolved.action,r=`${l}|${t&&!L(t)?[t.label,t.shortLabel,t.iconName,t.trailingIconName,t.pressed].join(`|`):`custom`}`,a=e.mode===`bar`?C(e.element):0,o=re.get(e.resolved.id);if(!a&&o?.key===r&&(a=o.width),!a&&t&&!L(t)){let t=M(e.resolved,`bar`);t.element.setAttribute(`data-persona-composer-measure`,``),t.element.style.cssText=`position:absolute;visibility:hidden;width:max-content;pointer-events:none`,u[e.resolved.placement].appendChild(t.element),a=C(t.button),z(t)}if(!a&&t&&L(t)&&(a=o?.width??0),a&&re.set(e.resolved.id,{key:r,width:a}),!a&&i.getComputedStyle(e.element).display!==`none`)return Z;a&&p.push({id:e.resolved.id,placement:e.resolved.placement,width:a,order:e.resolved.order,sequence:e.resolved.sequence,auto:e.resolved.presentation===`auto`})}let h=o(a.getPropertyValue(`--persona-composer-control-size`))||40,g=U?C(U.trigger):0;return S({available:Math.max(1,r-(c?120+s*2:0)),actions:p,slots:d,gaps:f,clusterGap:c?0:s,triggerWidth:g||o(_()??``)||h,hasMenu:m,previous:Z})},Oe=()=>{if(o)return;let t=e.getBindings();if(t&&c(t.form),!t)return;let n=e.getState(),r=n.phase===`streaming`,l=se(),u=l?.collapseAutoActions===`fit`;l?xe(t,u):(oe(),G?.disconnect(),W=null);let d=l&&!u?Se(l,t.footer):!1,f=t.footer.getRootNode(),p=f.activeElement,m=p===U?.triggerButton,_=p?Array.from(i.values()).find(e=>e.element.contains(p)):void 0,b=_?.mode;if(u){let e=a.map(e=>i.get(e.id)).filter(e=>!!e).filter(e=>!e.resolved.action||F(e.resolved.action.visible,n,!0)&&I(e.resolved.action.visibility,n));for(let n of e){if(!n.managed||n.mode!==`bar`)continue;let e=n.resolved.placement===`start`?t.actionsStart:t.actionsEnd;n.element.parentElement!==e&&e.appendChild(n.element)}Z=De(t,e,l)}else Z.clear();let x={start:[],end:[]},S=[];for(let e of a){let t=i.get(e.id);if(!t)continue;let a=e.action,o=!a||F(a.visible,n,!0)&&I(a.visibility,n);if(t.visible!==o&&(t.visible=o,!o&&t.managed&&(t.menuSlot??t.element).remove()),!o)continue;let s=Ce(t,l,d);if(t=Te(t,s===`menu`||u&&e.presentation===`auto`&&Z.has(e.id)?`menu`:`bar`),a){let e=F(a.disabled,n,!1)||a.disableWhenStreaming===!0&&r;ne(t,e),!L(a)&&a.pressed!==void 0&&t.button?.setAttribute(`aria-pressed`,a.pressed?`true`:`false`)}t.mode===`menu`?(we(t),S.push(t)):x[e.placement].push(t)}if(h=S,S.length>0){let e=be();Q||e.panel.replaceChildren(g),Ee(g,S);for(let e of S){let t=e.resolved.action;t&&!L(t)&&v(e,t)}e.setItems(S.map(e=>e.menuSlot??e.element)),e.refresh(),ye();let t=Number.isFinite(l?.order)?l?.order:w.overflow,n=x.start.findIndex(e=>e.resolved.order>t),r={resolved:{id:D,placement:`start`,presentation:`bar`,order:t,sequence:-1,source:`core`},element:e.trigger,owned:!1,managed:!0,busy:!1,visible:!0,mode:`bar`};x.start.splice(n<0?x.start.length:n,0,r)}else U&&(U.close(),U.trigger.remove(),U.setItems([]));if(H(t.actionsStart,x.start),H(t.actionsEnd,x.end),_&&p&&_.visible&&(!p.isConnected||_.mode!==b||f.activeElement!==p))_.mode===`bar`?(U?.close(),y(_.element).focus()):U?.isOpen()&&$?y(_.menuSlot??_.element).focus():U?.triggerButton.focus();else if(m&&!S.length){let e=s?i.get(s):void 0;e?.visible&&e.mode===`bar`?y(e.element).focus():t.input.focus()}s=null},ke=()=>{if(o)return;let t=e.collect();m=t.plugins;let n=N(t),r=new Set(n.map(e=>e.id));for(let[e,t]of i)r.has(e)||(z(t),i.delete(e),re.delete(e));for(let e of n){let t=i.get(e.id);if(!t){let t=ee(e,`bar`);t&&i.set(e.id,t);continue}let n=t.resolved.action,r=e.action;if(!!n!=!!r||n&&r&&L(n)!==L(r)||n&&r&&L(n)&&L(r)&&n.render!==r.render){z(t),i.delete(e.id),re.delete(e.id);let n=ee(e,t.mode);n&&i.set(e.id,n)}else t.resolved=e,e.builtIn?(t.managed=e.builtIn.managed===!0||t.mode===`menu`,e.builtIn.element&&t.mode===`bar`&&(t.element=e.builtIn.element)):r&&!L(r)?b(t,r):r&&t.element.toggleAttribute(E,r.disableWhenStreaming===!0)}a=n,Oe()};return{resolve:ke,sync:Oe,getResolved:()=>a,getOverflowMenu:()=>U,destroy:()=>{if(!o){o=!0,oe(),G?.disconnect(),G=null,W=null,U?.close(),he();for(let e of i.values())z(e);i.clear(),U?.destroy(),U=null,a=[]}}}}const ne=[`--persona-components-composer-modelPicker-menuBackground`,`--persona-components-composer-modelPicker-menuBorderRadius`,`--persona-components-composer-modelPicker-rowHoverBackground`,`--persona-components-composer-modelPicker-labelColor`,`--persona-components-composer-modelPicker-descriptionColor`],U=()=>({wrapper:u(`span`,{className:`persona-composer-model-picker-wrapper`,attrs:{"data-persona-composer-model-picker-wrapper":``}}),chevron:u(`span`,{className:`persona-composer-model-picker-chevron`,attrs:{"aria-hidden":`true`}})});function W(e){let t=e.label??`Model`,n=e.presentation??`native`,r=null,i=t=>{let n=e.getSelectedModelId();return t.find(e=>e.id===n)??t[0]},a=()=>{let n=u(`select`,{className:`persona-composer-model-picker`,attrs:{"aria-label":t,"data-persona-composer-model-picker":``}}),a=``,o=()=>{let t=e.getModels(),r=t.map(e=>`${e.id}:${e.label}`).join(`|`);r!==a&&(a=r,n.replaceChildren(...t.map(e=>{let t=u(`option`,{attrs:{value:e.id}});return t.textContent=e.label,t}))),n.value=i(t)?.id??``};o(),r=o;let s=()=>{n.value&&e.onSelect(n.value)};n.addEventListener(`change`,s);let c=e=>e.stopPropagation();n.addEventListener(`click`,c);let{wrapper:l,chevron:d}=U();return l.append(n,d),{element:l,destroy:()=>{r===o&&(r=null),n.removeEventListener(`change`,s),n.removeEventListener(`click`,c)}}},s=()=>{let n=u(`button`,{className:`persona-composer-model-picker persona-composer-model-picker-trigger`,attrs:{type:`button`,"aria-haspopup":`listbox`,"aria-expanded":`false`,"data-persona-composer-model-picker":`popover`}}),a=l(`span`,`persona-composer-model-picker-label`),s=l(`span`,`persona-composer-model-picker-suffix`);n.append(a,s);let c=u(`div`,{className:`persona-composer-model-menu`,attrs:{role:`listbox`,tabindex:`-1`,"aria-label":t,"data-persona-composer-model-menu":``}}),d=/* @__PURE__ */ new Map,f=``,p=null,h=()=>p?.isOpen===!0,g=(e=!1)=>{h()&&(p?.close(),n.setAttribute(`aria-expanded`,`false`),e&&n.focus())},_=e=>{let t=[...d.values()];t.length!==0&&t[(e%t.length+t.length)%t.length].focus()},v=t=>{if(h())return;p||=o({anchor:n,content:c,placement:`top-start`,offset:6,onDismiss:()=>n.setAttribute(`aria-expanded`,`false`)}),m(n,c,ne),p.open(),n.setAttribute(`aria-expanded`,`true`);let r=[...d.keys()].indexOf(i(e.getModels())?.id??``);_(t??(r>=0?r:0))},y=t=>{g(!0),e.onSelect(t)},b=e=>{e.preventDefault(),e.stopPropagation();let t=e.currentTarget.getAttribute(`data-persona-model-option`);t&&y(t)},x=t=>{let n=u(`button`,{className:`persona-composer-model-option`,attrs:{type:`button`,role:`option`,tabindex:`-1`,"aria-selected":`false`,"data-persona-model-option":t.id}});if(t.icon){let r=e.renderIcon(t.icon,16,`currentColor`,1.5);if(r){let e=l(`span`,`persona-composer-model-option-icon`);e.appendChild(r),n.appendChild(e)}}let r=l(`span`,`persona-composer-model-option-body`),i=l(`span`,`persona-composer-model-option-label`);if(i.textContent=t.label,r.appendChild(i),t.description){let e=l(`span`,`persona-composer-model-option-description`);e.textContent=t.description,r.appendChild(e)}n.appendChild(r);let a=l(`span`,`persona-composer-model-option-check`);a.setAttribute(`aria-hidden`,`true`);let o=e.renderIcon(`check`,16,`currentColor`,2);return o&&a.appendChild(o),n.appendChild(a),n.addEventListener(`click`,b),n},S=()=>{let r=e.getModels(),o=r.map(e=>`${e.id}:${e.label}:${e.icon??``}:${e.description??``}`).join(`|`);if(o!==f){f=o;for(let e of d.values())e.removeEventListener(`click`,b);d.clear(),c.replaceChildren(...r.map(e=>{let t=x(e);return d.set(e.id,t),t}))}let l=i(r);for(let[e,t]of d)t.setAttribute(`aria-selected`,String(e===l?.id));a.textContent=l?.label??``;let u=e.getSuffix?.()??``;s.textContent=u,n.setAttribute(`aria-label`,[t,[l?.label,u].filter(Boolean).join(` `)].filter(Boolean).join(`: `))};S(),r=S;let C=e=>{e.preventDefault(),e.stopPropagation(),h()?g(!0):v()},w=e=>{e.key===`ArrowDown`?(e.preventDefault(),h()?_(0):v(0)):e.key===`ArrowUp`&&(e.preventDefault(),h()?_(-1):v(-1))},T=e=>{let t=[...d.values()],n=t.indexOf(e.target?.closest?.(`.persona-composer-model-option`));switch(e.key){case`ArrowDown`:e.preventDefault(),_(n+1);return;case`ArrowUp`:e.preventDefault(),_(n-1);return;case`Home`:e.preventDefault(),_(0);return;case`End`:e.preventDefault(),_(t.length-1);return;case`Escape`:e.preventDefault(),e.stopPropagation(),g(!0);return;case`Tab`:g(!0);return}};n.addEventListener(`click`,C),n.addEventListener(`keydown`,w),c.addEventListener(`keydown`,T);let{wrapper:E,chevron:D}=U();return E.append(n,D),{element:E,destroy:()=>{r===S&&(r=null),n.removeEventListener(`click`,C),n.removeEventListener(`keydown`,w),c.removeEventListener(`keydown`,T);for(let e of d.values())e.removeEventListener(`click`,b);d.clear(),p?.destroy(),p=null,c.remove()}}};return{action:{id:`core:model`,kind:`custom`,placement:`end`,order:700,presentation:n===`popover`?`bar`:`auto`,label:t,render:()=>n===`popover`?s():a()},repaint:()=>r?.()}}const G=e=>`core:mode:${e}`,K=e=>Math.min(300+e,499),q=e=>`core:mode-group:${e}`;function J(e,t){return e?t?.find(t=>t.id===e)?.presentation===`segmented`:!1}function Y(e){let t=null;return{action:{id:q(e.groupId),kind:`custom`,placement:`start`,presentation:`bar`,label:e.getGroup()?.label??e.groupId,render:()=>{let n=u(`div`,{className:`persona-composer-segmented`,attrs:{"data-persona-composer-mode-group":e.groupId}}),r=/* @__PURE__ */ new Map,i=``,a=t=>{t.preventDefault(),t.stopPropagation();let n=t.currentTarget.getAttribute(`data-persona-composer-mode`);n&&(e.getActiveIds().includes(n)&&e.getGroup()?.selection===`single`||e.onSelect(n))},o=t=>{let n=u(`button`,{className:`persona-composer-segmented-item`,attrs:{type:`button`,"data-persona-composer-mode":t.id,"aria-label":t.label}});if(t.iconName){let r=e.renderIcon(t.iconName,16,`currentColor`,1.5);r&&n.appendChild(r)}let r=l(`span`,`persona-composer-segmented-label`);return r.textContent=t.shortLabel??t.label,n.appendChild(r),n.addEventListener(`click`,a),n},s=()=>{let t=e.getGroup();t?.label?(n.setAttribute(`role`,`group`),n.setAttribute(`aria-label`,t.label)):(n.removeAttribute(`role`),n.removeAttribute(`aria-label`));let s=e.getModes(),c=s.map(e=>`${e.id}:${e.shortLabel??e.label}:${e.iconName??``}`).join(`|`);if(c!==i){i=c;for(let e of r.values())e.removeEventListener(`click`,a);r.clear();let e=s.map(e=>{let t=o(e);return r.set(e.id,t),t});n.replaceChildren(...e)}let l=e.getActiveIds();for(let[e,t]of r)t.setAttribute(`aria-pressed`,String(l.includes(e)))};return s(),t=s,{element:n,destroy:()=>{t===s&&(t=null);for(let e of r.values())e.removeEventListener(`click`,a);r.clear()}}}},repaint:()=>t?.()}}function X(e){e.style.display=e.childElementCount>0?`flex`:`none`}function Z(e){let t=e.row,n=``,r=!1,i=new Set(e.initialIds??[]),a=t=>{let n=u(`span`,{className:`persona-mention-chip persona-composer-mode-chip`,attrs:{"data-persona-composer-mode":t.id}});if(t.iconName){let r=l(`span`,`persona-mention-chip-icon`),i=e.renderIcon(t.iconName,12,`currentColor`,1.5);i&&r.appendChild(i),n.appendChild(r)}let r=l(`span`,`persona-mention-chip-label`);r.textContent=t.shortLabel??t.label,n.appendChild(r);let i=u(`button`,{className:`persona-mention-chip-remove`,attrs:{type:`button`,"aria-label":`Remove ${t.label}`}}),a=e.renderIcon(`x`,12,`currentColor`,2);return a?i.appendChild(a):i.textContent=`×`,i.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),e.onRemove(t.id)}),n.appendChild(i),n},o=()=>Array.from(t.querySelectorAll(`:scope > [data-persona-composer-mode]`)),s=e=>{e.setAttribute(`data-persona-chip-exit`,``),e.setAttribute(`aria-hidden`,`true`),e.style.pointerEvents=`none`;let n=()=>{e.remove(),X(t)},r=t.ownerDocument.defaultView,i=typeof r?.getComputedStyle==`function`?r.getComputedStyle(e).animationName:``;!i||i===`none`?n():(e.addEventListener(`animationend`,n,{once:!0}),e.addEventListener(`animationcancel`,n,{once:!0}))},c=()=>{for(let e of o())e.remove()};return{element:t,render:(e,c)=>{if(r)return;let l=c.filter(t=>e.includes(t.id)),u=l.map(e=>`${e.id}:${e.shortLabel??e.label}`).join(`|`);if(u===n)return;n=u;let d=/* @__PURE__ */ new Map;for(let e of o()){let t=e.getAttribute(`data-persona-composer-mode`);t&&l.some(e=>e.id===t)&&!e.hasAttribute(`data-persona-chip-exit`)?d.set(t,e):e.hasAttribute(`data-persona-chip-exit`)||s(e)}let f=t.firstChild;for(let e of l){let n=d.get(e.id);n||(n=a(e),i.has(e.id)||(n.setAttribute(`data-persona-chip-enter`,``),n.addEventListener(`animationend`,()=>n?.removeAttribute(`data-persona-chip-enter`),{once:!0}))),i.delete(e.id),n!==f&&t.insertBefore(n,f),f=n.nextSibling}X(t)},destroy:()=>{r=!0,c(),X(t)}}}function re(e){let t=null,n=null,r=/* @__PURE__ */ new Map,i=t=>{let n=r.get(t);if(n)return n;let i=Y({renderIcon:e.renderIcon,groupId:t,getGroup:()=>e.getConfig().composer?.modeGroups?.find(e=>e.id===t),getModes:()=>e.getModes().filter(e=>e.groupId===t),getActiveIds:()=>e.getState().activeModeIds,onSelect:t=>e.onModeChange(t)});return r.set(t,i),i};return{collect:()=>{let r=[],a=e.getState().activeModeIds,o=new Set(e.getChipModes().map(e=>e.id)),s=/* @__PURE__ */ new Set;if(e.getModes().forEach((t,n)=>{if(J(t.groupId,e.getConfig().composer?.modeGroups)){let a=t.groupId;if(s.has(a))return;s.add(a);let o=i(a);o.action.order=K(n),o.action.label=e.getConfig().composer?.modeGroups?.find(e=>e.id===a)?.label??a,r.push(o.action);return}let c=a.includes(t.id)&&!o.has(t.id);r.push({id:G(t.id),kind:`button`,placement:`start`,order:K(n),presentation:c?`bar`:t.presentation??`auto`,label:t.label,shortLabel:c?t.shortLabel??t.label:t.shortLabel,iconName:t.iconName,trailingIconName:t.trailingIconName,pressed:a.includes(t.id),onSelect:()=>e.onModeChange(t.id)})}),e.getConfig().composer?.models?.length&&!e.hasComposerPlugin()){let i=e.getConfig().composer?.modelPicker?.presentation??`native`;(!t||n!==i)&&(n=i,t=W({renderIcon:e.renderIcon,getModels:()=>e.getConfig().composer?.models??[],getSelectedModelId:()=>e.getState().selectedModelId,onSelect:t=>e.onModelChange(t),presentation:i,getSuffix:()=>e.getConfig().composer?.modelPicker?.suffix})),r.push(t.action)}return r},repaint:()=>{for(let[t,n]of r)J(t,e.getConfig().composer?.modeGroups)?n.repaint():r.delete(t);t?.repaint()}}}export{H as createComposerActionRenderer,re as createComposerCoreControls,Z as createComposerModeChipRow,W as createComposerModelPickerAction,Y as createComposerSegmentedModeAction,o as createPopover,c as ensureComposerActionStyles,s as isEditableEventTarget};
1
+ const e=e=>e.nodeType===Node.DOCUMENT_NODE,t=e=>e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host!==void 0;function n(n){let r=n.getRootNode?.();return r&&t(r)||r&&e(r)?r:n.ownerDocument??document}function r(t,n,r){let i=e(t)?t.head:t,a=n.replace(/["\\]/g,`\\$&`);if(i.querySelector(`style[data-persona-plugin-style="${a}"]`))return;let o=(e(t)?t:t.ownerDocument??document).createElement(`style`);o.setAttribute(`data-persona-plugin-style`,n),o.textContent=r,i.appendChild(o)}function i(i,a,o){if(e(i)||t(i)){r(i,a,o);return}let s=i;if(s.isConnected){r(n(s),a,o);return}let c=s.ownerDocument??document;r(c,a,o),queueMicrotask(()=>{let e=n(s);e!==c&&r(e,a,o)})}function a(e){let t=e.getRootNode?.();return t instanceof ShadowRoot?t:e.closest(`dialog[open]`)??(e.ownerDocument??document).body}function o(e){let{anchor:t,content:n,placement:r=`bottom-start`,offset:i=6,matchAnchorWidth:o=!1,horizontalOffset:s,verticalOffset:c,zIndex:l=2147483e3,onOpen:u,onDismiss:d}=e,f=()=>e.container??a(t),p=!1,m=null,h=()=>{if(!p)return;let a=f();if(n.parentNode!==a){let e=n.contains(n.ownerDocument.activeElement)?n.ownerDocument.activeElement:null;a.appendChild(n),e?.focus({preventScroll:!0})}let l=e.getAnchorRect?.()??t.getBoundingClientRect();n.style.position=`fixed`,o&&(n.style.minWidth=`${l.width}px`),s&&(n.style.maxWidth=`${l.width}px`);let u=n.getBoundingClientRect(),d=c?.()??null,m=d==null?l.top:l.top+d,h=e.getPlacement?.()??r,g=h===`top-start`||h===`top-end`?m-i-u.height:l.bottom+i,_=h===`bottom-end`||h===`top-end`?l.right-u.width:l.left,v=s?.()??null;if(v!=null){let e=Math.max(l.left,l.right-u.width);_=Math.min(Math.max(l.left+v,l.left),e)}if(e.viewportPadding!==void 0){let n=e.viewportPadding,r=t.ownerDocument.defaultView,a=r?.innerHeight??0,o=r?.innerWidth??0,s=m-i-n,c=a-l.bottom-i-n;g=(h.startsWith(`top`)?s>=u.height||s>=c:!(c>=u.height||c>=s))?m-i-u.height:l.bottom+i,g=Math.max(n,Math.min(g,a-n-u.height)),_=Math.max(n,Math.min(_,o-n-u.width))}n.style.top=`${g}px`,n.style.left=`${_}px`},g=()=>{p&&(p=!1,m&&=(m(),null),n.remove())},_=()=>{if(p)return;p=!0,l!=null&&(n.style.zIndex=String(l)),h();let r=(t.ownerDocument??document).defaultView??window,i=t.ownerDocument??document,a=()=>{t.isConnected?h():(g(),d?.(`anchor-removed`))},o=e=>{let r=typeof e.composedPath==`function`?e.composedPath():[];r.includes(n)||r.includes(t)||(g(),d?.(`outside`))},s=e.viewportPadding!==void 0&&r.ResizeObserver?new r.ResizeObserver(a):null;s?.observe(n),s?.observe(t);let c=r.setTimeout(()=>{i.addEventListener(`pointerdown`,o,!0)},0);r.addEventListener(`scroll`,a,!0),r.addEventListener(`resize`,a);let f=t.closest(`[data-persona-root]`);f?.addEventListener(`persona:internal:host-moved`,a),m=()=>{s?.disconnect(),r.clearTimeout(c),i.removeEventListener(`pointerdown`,o,!0),r.removeEventListener(`scroll`,a,!0),r.removeEventListener(`resize`,a),f?.removeEventListener(`persona:internal:host-moved`,a)},u?.()};return{get isOpen(){return p},open:_,close:g,toggle:()=>p?g():_(),reposition:h,destroy:g}}function s(e){return(typeof e.composedPath==`function`?e.composedPath():[]).some(e=>e instanceof HTMLElement&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.isContentEditable))}const c=e=>i(e,`composer-actions`,`.persona-composer-overflow-menu{gap:var(--persona-components-composer-overflowMenu-rowGap,2px);min-width:min(var(--persona-components-composer-overflowMenu-minWidth,180px), calc(100vw - 16px));box-sizing:border-box;max-width:calc(100vw - 16px);max-height:min(var(--persona-components-composer-overflowMenu-maxHeight,320px), calc(100vh - 16px));padding:var(--persona-components-composer-overflowMenu-padding,4px);border-radius:var(--persona-components-composer-overflowMenu-borderRadius,var(--persona-radius-lg,.5rem));border:1px solid var(--persona-components-composer-overflowMenu-borderColor,var(--persona-border,#e5e7eb));background:var(--persona-components-composer-overflowMenu-background,var(--persona-surface,#fff));color:var(--persona-components-composer-overflowMenu-foreground,var(--persona-text,#111827));box-shadow:var(--persona-components-composer-overflowMenu-shadow,var(--persona-shadow-md,0 8px 24px #0000001f));font-family:var(--persona-font-family,inherit);line-height:var(--persona-components-composer-overflowMenu-lineHeight,1.35);flex-direction:column;display:flex;overflow-y:auto}.persona-composer-overflow-menu__item{align-items:center;gap:var(--persona-components-composer-overflowMenu-iconGap,8px);width:100%;padding:var(--persona-components-composer-overflowMenu-rowPadding,6px 8px);border-radius:var(--persona-components-composer-overflowMenu-rowBorderRadius,var(--persona-radius-md,.375rem));color:inherit;font-family:inherit;font-size:var(--persona-components-composer-overflowMenu-fontSize,13px);text-align:start;cursor:pointer;background:0 0;border:none;display:flex}.persona-composer-overflow-menu__item:hover:not(:disabled){background:var(--persona-components-composer-overflowMenu-hoverBackground,var(--persona-button-ghost-hover-bg,#0000000d))}.persona-composer-overflow-menu__item:focus-visible{background:var(--persona-components-composer-overflowMenu-focusBackground,var(--persona-button-ghost-hover-bg,#0000000d))}.persona-composer-overflow-menu__item[aria-pressed=true]{background:var(--persona-button-ghost-hover-bg,#0000000d);font-weight:600}.persona-composer-overflow-menu__item:disabled{opacity:.5;cursor:default}.persona-composer-overflow-menu__item[aria-busy=true]{opacity:.6;cursor:progress}.persona-composer-overflow-menu__icon{width:var(--persona-components-composer-overflowMenu-iconSize,16px);height:var(--persona-components-composer-overflowMenu-iconSize,16px);flex:none;align-items:center;display:inline-flex}.persona-composer-overflow-menu__content{display:contents}.persona-composer-overflow-menu__text{flex-direction:column;min-width:0;display:flex}.persona-composer-overflow-menu__icon>svg{width:100%;height:100%}.persona-composer-overflow-menu__description{color:var(--persona-components-composer-overflowMenu-descriptionColor,var(--persona-text-muted,#6b7280));font-size:var(--persona-components-composer-overflowMenu-descriptionFontSize,12px);line-height:var(--persona-components-composer-overflowMenu-lineHeight,1.35);white-space:normal;display:block}.persona-composer-overflow-menu[data-persona-menu-description-layout=inline] .persona-composer-overflow-menu__text,.persona-composer-overflow-menu[data-persona-menu-description-layout=inline] .persona-composer-overflow-menu__slot>.persona-composer-overflow-menu__label{align-items:baseline;gap:0 var(--persona-components-composer-overflowMenu-iconGap,8px);flex-flow:wrap;display:flex}.persona-composer-overflow-menu__divider{border-top:1px solid var(--persona-components-composer-overflowMenu-dividerColor,var(--persona-border,#e5e7eb));margin:var(--persona-components-composer-overflowMenu-dividerSpacing,4px 0);flex-shrink:0}.persona-composer-overflow-menu__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.persona-composer-overflow-menu__slot{align-items:center;gap:var(--persona-components-composer-overflowMenu-iconGap,8px);width:100%;padding:var(--persona-components-composer-overflowMenu-rowPadding,6px 8px);border-radius:var(--persona-components-composer-overflowMenu-rowBorderRadius,var(--persona-radius-md,.375rem));font-size:var(--persona-components-composer-overflowMenu-fontSize,13px);text-align:start;cursor:pointer;display:flex}.persona-composer-overflow-menu__slot:hover{background:var(--persona-components-composer-overflowMenu-hoverBackground,var(--persona-button-ghost-hover-bg,#0000000d))}.persona-composer-overflow-menu__slot[data-persona-menu-focus]{background:var(--persona-components-composer-overflowMenu-focusBackground,var(--persona-button-ghost-hover-bg,#0000000d))}.persona-composer-overflow-menu__slot .persona-send-button-wrapper{display:contents}.persona-composer-overflow-menu__slot .persona-composer-control{width:var(--persona-components-composer-overflowMenu-iconSize,16px);height:var(--persona-components-composer-overflowMenu-iconSize,16px);min-width:var(--persona-components-composer-overflowMenu-iconSize,16px);min-height:var(--persona-components-composer-overflowMenu-iconSize,16px);box-shadow:none;color:inherit;cursor:inherit;background:0 0;border:none;border-radius:0;flex:none;padding:0;line-height:1;overflow:hidden}.persona-composer-overflow-menu__slot .persona-composer-control>svg{width:var(--persona-components-composer-overflowMenu-iconSize,16px);height:var(--persona-components-composer-overflowMenu-iconSize,16px)}.persona-composer-overflow-menu__slot .persona-composer-control:focus-visible{outline:none}.persona-composer-overflow-menu__slot .persona-control-tooltip{display:none}.persona-composer-segmented{align-items:center;gap:var(--persona-components-composer-segmented-gap,2px);padding:var(--persona-components-composer-segmented-padding,2px);border-radius:var(--persona-components-composer-segmented-trackBorderRadius,9999px);background:var(--persona-components-composer-segmented-trackBackground,var(--persona-container,#f3f4f6));flex:none;display:inline-flex}.persona-composer-segmented-item{cursor:pointer;white-space:nowrap;box-shadow:none;font-family:inherit;font-size:var(--persona-components-composer-segmented-fontSize,var(--persona-composer-font-size,.875rem));line-height:var(--persona-components-composer-segmented-lineHeight,var(--persona-composer-line-height,1.25rem));font-weight:var(--persona-components-composer-segmented-fontWeight,normal);min-height:var(--persona-components-composer-segmented-minHeight,0px);padding:var(--persona-components-composer-segmented-itemPadding,.25rem .625rem);border-radius:var(--persona-components-composer-segmented-trackBorderRadius,9999px);color:var(--persona-components-composer-segmented-inactiveForeground,var(--persona-muted,#6b7280));background:0 0;border:none;align-items:center;gap:.375rem;display:inline-flex}.persona-composer-segmented-item[aria-pressed=true]{background:var(--persona-components-composer-segmented-activeBackground,var(--persona-surface,#fff));color:var(--persona-components-composer-segmented-activeForeground,var(--persona-text,#111827));box-shadow:var(--persona-components-composer-segmented-activeShadow,0 1px 2px 0 #0f172a1f)}.persona-composer-segmented-item svg{flex:none}@media (pointer:coarse){.persona-composer-segmented-item{min-height:36px}}.persona-composer-model-picker-wrapper{align-items:center;display:inline-grid}.persona-composer-model-picker-wrapper>*{grid-area:1/1}[data-persona-root] .persona-composer-model-picker{max-width:10rem;height:var(--persona-components-composer-modelPicker-height,var(--persona-composer-control-size,40px));min-height:var(--persona-components-composer-modelPicker-height,var(--persona-composer-control-size,40px));width:auto;min-width:var(--persona-components-composer-modelPicker-minWidth,0px);line-height:var(--persona-components-composer-modelPicker-height,var(--persona-composer-control-size,40px));padding-block:0;padding-inline:.625rem 1.75rem;padding-inline:var(--persona-components-composer-modelPicker-paddingInline,.625rem 1.75rem);border-radius:var(--persona-components-composer-modelPicker-borderRadius,var(--persona-button-ghost-radius,var(--persona-radius-md,.375rem)));background-color:var(--persona-components-composer-modelPicker-background,var(--persona-button-ghost-bg,transparent));color:var(--persona-components-composer-modelPicker-labelColor,var(--persona-button-ghost-fg,var(--persona-text,#111827)));box-shadow:inset 0 0 0 1px var(--persona-components-composer-modelPicker-borderColor,transparent);font-family:inherit;font-size:var(--persona-components-composer-modelPicker-fontSize,.8125rem);font-weight:var(--persona-components-composer-modelPicker-fontWeight,normal);cursor:pointer;appearance:none;text-overflow:ellipsis;white-space:nowrap;text-align:start;border:none;overflow:hidden}.persona-composer-model-picker-chevron{pointer-events:none;background-color:var(--persona-components-composer-modelPicker-labelColor,var(--persona-button-ghost-fg,var(--persona-text,#111827)));justify-self:end;width:.875rem;height:.875rem;margin-inline-end:.625rem;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[data-persona-root] .persona-composer-model-picker option{line-height:normal}@media (pointer:coarse){[data-persona-root] .persona-composer-model-picker{min-width:40px;min-height:40px}}[data-persona-root] .persona-composer-model-picker:hover:not(:disabled){background-color:var(--persona-components-composer-modelPicker-hoverBackground,var(--persona-button-ghost-hover-bg,#0000000d))}[data-persona-root] .persona-composer-model-picker:disabled{opacity:.5;cursor:default}[data-persona-root] .persona-composer-model-picker-trigger{align-items:center;gap:.25rem;display:inline-flex}.persona-composer-model-picker-label{text-overflow:ellipsis;white-space:nowrap;color:var(--persona-components-composer-modelPicker-labelColor,inherit);overflow:hidden}.persona-composer-model-picker-suffix{color:var(--persona-components-composer-modelPicker-suffixColor,var(--persona-muted,#6b7280));flex:none}.persona-composer-model-picker-suffix:empty{display:none}.persona-composer-model-menu{border-radius:var(--persona-components-composer-modelPicker-menuBorderRadius,var(--persona-radius-lg,.5rem));border:1px solid var(--persona-border,#e5e7eb);background:var(--persona-components-composer-modelPicker-menuBackground,var(--persona-surface,#fff));min-width:220px;max-height:320px;color:var(--persona-text,#111827);box-shadow:var(--persona-shadow-md,0 8px 24px #0000001f);font-family:var(--persona-font-family,inherit);flex-direction:column;gap:2px;padding:4px;display:flex;overflow-y:auto}.persona-composer-model-option{border-radius:var(--persona-radius-md,.375rem);width:100%;color:inherit;text-align:start;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:8px;padding:6px 8px;font-family:inherit;font-size:13px;display:flex}.persona-composer-model-option:hover,.persona-composer-model-option:focus{background:var(--persona-components-composer-modelPicker-rowHoverBackground,var(--persona-button-ghost-hover-bg,#0000000d));outline:none}.persona-composer-model-option-icon,.persona-composer-model-option-check{flex:none;align-items:center;margin-top:1px;display:inline-flex}.persona-composer-model-option-check{visibility:hidden}.persona-composer-model-option[aria-selected=true] .persona-composer-model-option-check{visibility:visible}.persona-composer-model-option-body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.persona-composer-model-option-label{color:var(--persona-components-composer-modelPicker-labelColor,inherit)}.persona-composer-model-option-description{color:var(--persona-components-composer-modelPicker-descriptionColor,var(--persona-muted,#6b7280));font-size:12px;line-height:1.35}.persona-composer-mode-chip{background:var(--persona-mode-chip-bg,var(--persona-container,#f3f4f6));border-color:var(--persona-mode-chip-border,var(--persona-border,#e5e7eb));color:var(--persona-mode-chip-fg,var(--persona-text,#111827))}[data-persona-composer-expanded] .persona-widget-composer:not(.persona-pill-composer) :is(.persona-widget-composer__actions,.persona-widget-composer__left-actions,.persona-widget-composer__right-actions,.persona-composer-segmented){flex-wrap:wrap;min-width:0;max-width:100%}[data-persona-composer-expanded] .persona-widget-composer:not(.persona-pill-composer) :is(.persona-composer-control,.persona-composer-model-picker,.persona-composer-segmented-item){max-width:100%}[data-persona-composer-expanded] .persona-widget-composer:not(.persona-pill-composer) :is(.persona-composer-action-button,.persona-composer-model-picker,.persona-composer-segmented-item){text-overflow:ellipsis;overflow:hidden}[data-persona-composer-crowded] .persona-widget-composer:not(.persona-pill-composer) .persona-composer-model-picker-wrapper{max-width:min(100%,16rem)}`),l=(e,t)=>{let n=document.createElement(e);return t&&(n.className=t),n},u=(e,t={},...n)=>{let r=document.createElement(e);if(t.className&&(r.className=t.className),t.text!==void 0&&(r.textContent=t.text),t.attrs)for(let[e,n]of Object.entries(t.attrs))r.setAttribute(e,n);if(t.style){let e=r.style,n=t.style;for(let t of Object.keys(n)){let r=n[t];r!=null&&(e[t]=r)}}let i=n.filter(e=>e!=null);return i.length>0&&r.append(...i),r},d=(...e)=>e.filter(Boolean).join(` `),f=`persona-composer-control`,p=`persona-composer-control--glyph`,m=(e,t,n)=>{let r=e.ownerDocument?.defaultView;if(!r)return;let i=r.getComputedStyle(e);for(let e of n){let n=i.getPropertyValue(e).trim();n?t.style.setProperty(e,n):t.style.removeProperty(e)}},h=`button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])`,g=[`--persona-components-composer-overflowMenu-background`,`--persona-components-composer-overflowMenu-borderColor`,`--persona-components-composer-overflowMenu-borderRadius`,`--persona-components-composer-overflowMenu-foreground`,`--persona-components-composer-overflowMenu-shadow`,...[`padding`,`rowGap`,`rowPadding`,`rowBorderRadius`,`fontSize`,`lineHeight`,`iconSize`,`iconGap`,`hoverBackground`,`focusBackground`,`descriptionColor`,`descriptionFontSize`,`dividerColor`,`dividerSpacing`,`minWidth`,`maxHeight`].map(e=>`--persona-components-composer-overflowMenu-${e}`)],_=`data-persona-menu-focus`,v=/* @__PURE__ */ new Set([`ArrowDown`,`ArrowUp`,`Home`,`End`]);function y(e){return e.getAttribute(`role`)===`menuitem`?e:e.querySelector(h)??e}const b=e=>e.disabled===!0||e.getAttribute(`aria-disabled`)===`true`;function x(e){let{renderLucideIcon:t,attachTooltip:n}=e.deps,r=e.label,i=!1,a=!1,s=!1,d=!1,x=!0,S=l(`div`,`persona-send-button-wrapper`),C=u(`button`,{className:`persona-rounded-button persona-flex persona-items-center persona-justify-center persona-cursor-pointer persona-composer-action-button persona-composer-overflow-trigger ${f} ${p}`,attrs:{type:`button`,"aria-haspopup":`menu`,"aria-expanded":`false`,"data-persona-composer-overflow-trigger":``}});S.appendChild(C);let w=u(`div`,{className:`persona-composer-overflow-menu`,attrs:{role:`menu`,tabindex:`-1`,"data-persona-composer-overflow-menu":``}}),T=()=>{let n=e.getButtonSize?.()??``;C.style.width=n,C.style.height=n,C.style.minWidth=n,C.style.minHeight=n,C.style.lineHeight=`1`,C.replaceChildren();let r=t((H()?e.getConfig?.()?.openTriggerIconName:void 0)??e.getConfig?.()?.triggerIconName??`plus`,24,`currentColor`,1.5);r?C.appendChild(r):C.textContent=`+`},E=()=>{C.setAttribute(`aria-label`,r),w.setAttribute(`aria-label`,r)};E();let D=n({anchor:C,trigger:S,text:()=>C.getAttribute(`aria-expanded`)===`true`?``:r}),O=[],k=-1,A=!1,j=()=>{let e=w.getRootNode().activeElement;return e instanceof HTMLElement?e:null},M=()=>{let e=j();for(let t of O){let n=!!e&&y(t)===e;t.toggleAttribute(_,n&&A)}},N=()=>O.filter(e=>e.isConnected||w.contains(e)).map(y).filter(e=>!b(e)),P=(e,t)=>{e.forEach((e,n)=>{e.setAttribute(`tabindex`,n===t?`0`:`-1`)})},F=e=>{let t=N();if(t.length===0)return;let n=(e%t.length+t.length)%t.length;k=n,P(t,n),t[n].focus(),M()},ee=()=>S.ownerDocument??document,I=null,L=null,R=null,te=()=>{I&&=(ee().removeEventListener(`focusin`,I,!0),null)},z=()=>{L&&=(w.removeEventListener(`focusin`,L),null),R&&=(w.removeEventListener(`pointerdown`,R,!0),null)},B=null,V=()=>(B||=o({anchor:C,getAnchorRect:()=>{if(e.getConfig?.()?.width===`composer`){let t=e.getComposer?.()?.getBoundingClientRect();if(t)return w.style.width=`${t.width}px`,t}return C.getBoundingClientRect()},content:w,placement:`top-start`,getPlacement:()=>e.getConfig?.()?.placement===`below`?`bottom-start`:`top-start`,viewportPadding:8,offset:6,onDismiss:()=>{ne()}}),B),H=()=>B?.isOpen===!0,ne=()=>{d=!0,a=!1,C.setAttribute(`aria-expanded`,`false`),te(),z(),k=-1,A=!1;for(let e of O)e.removeAttribute(_);try{e.onClose?.()}finally{d=!1}T()},U=(e=!1)=>{(H()||a)&&(B?.close(),ne(),e&&!i&&C.focus())},W=()=>{m(C,w,g),w.setAttribute(`data-persona-menu-description-layout`,e.getConfig?.()?.descriptionLayout??`stacked`);let t=e.getConfig?.()?.width;w.style.width=t===`composer`?`${e.getComposer?.()?.getBoundingClientRect().width??0}px`:t&&t!==`content`?t:``,T(),B?.reposition()};T();let G=(t=0,n=!1)=>{if(i||s||d||H())return;c(C),D.hide(),a=!0,s=!0;let r;try{r=e.beforeOpen?.()}finally{s=!1}if(r===!1||!a||i)a&&U();else{if(A=n,W(),V().open(),a=!1,C.setAttribute(`aria-expanded`,`true`),T(),x){let e=N();P(e,-1),F(t<0?e.length-1:t),e.length||w.focus()}else(Array.from(w.querySelectorAll(h)).find(e=>!b(e)&&!e.closest(`[hidden]`))??w).focus();H()&&!i&&(I=e=>{let t=typeof e.composedPath==`function`?e.composedPath():[];t.includes(w)||t.includes(S)||U()},ee().addEventListener(`focusin`,I,!0),L=()=>M(),w.addEventListener(`focusin`,L),R=()=>{A=!1},w.addEventListener(`pointerdown`,R,!0))}},K=e=>{e.preventDefault(),e.stopPropagation(),H()?U(!0):G(0)},q=e=>{e.key===`ArrowDown`||e.key===`Enter`||e.key===` `?(e.preventDefault(),A=!0,H()?x?F(0):w.focus():G(0,!0)):e.key===`ArrowUp`&&(e.preventDefault(),A=!0,H()?x?F(-1):w.focus():G(-1,!0))},J=e=>{if(!x)e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),e.stopPropagation(),U(!0));else switch(v.has(e.key)&&(A=!0),e.key){case`ArrowDown`:e.preventDefault(),F(k+1);return;case`ArrowUp`:e.preventDefault(),F(k-1);return;case`Home`:e.preventDefault(),F(0);return;case`End`:e.preventDefault(),F(N().length-1);return;case`Escape`:e.preventDefault(),e.stopPropagation(),U(!0);return;case`Tab`:U(!0);return}};return C.addEventListener(`click`,K),C.addEventListener(`keydown`,q),w.addEventListener(`keydown`,J),{trigger:S,triggerButton:C,panel:w,setItems:e=>{for(let t of O)e.includes(t)||t.removeAttribute(_);if(O=[...e],!H()||!x)return;let t=N();P(t,Math.min(k,t.length-1)),M()},isOpen:H,open:()=>G(0),close:U,setLabel:e=>{e!==r&&(r=e,E(),D.isOpen&&(D.hide(),D.show()))},applyButtonSize:T,refresh:W,setContentMode:(e,t)=>{let n=t&&!x&&H();x=t,w.setAttribute(`role`,e),C.setAttribute(`aria-haspopup`,e),n&&F(0)},destroy:()=>{i=!0,U(),D.destroy(),te(),z(),C.removeEventListener(`click`,K),C.removeEventListener(`keydown`,q),w.removeEventListener(`keydown`,J),B?.destroy(),B=null,S.remove(),w.remove(),O=[]}}}function S(e){if(e.available<=0)return new Set(e.previous);let t=t=>{let n={start:{...e.slots.start},end:{...e.slots.end}};for(let r of e.actions){if(t.has(r.id))continue;let e=n[r.placement];e.width+=r.width,e.count+=1}return(e.hasMenu||t.size)&&(n.start.width+=e.triggerWidth,n.start.count+=1),n.start.width+n.end.width+Math.max(0,n.start.count-1)*e.gaps.start+Math.max(0,n.end.count-1)*e.gaps.end+(n.start.count&&n.end.count?e.clusterGap:0)},n=/* @__PURE__ */ new Set,r=t(n),i=e.available-(e.previous.size?16:0),a=e.actions.filter(e=>e.auto).sort((e,t)=>t.order-e.order||t.sequence-e.sequence);for(let e of a){if(t(n)<=i)break;n.add(e.id)}return!e.hasMenu&&t(n)>=r?/* @__PURE__ */ new Set:n}function C(e){let t=e.ownerDocument.defaultView;if(!t)return 0;let n=t.getComputedStyle(e);if(n.display===`none`||[`absolute`,`fixed`].includes(n.position))return 0;let r=e=>Number.parseFloat(e)||0;return(n.display===`contents`?Array.from(e.children).reduce((e,n)=>e+(n instanceof t.HTMLElement?C(n):0),0):Math.max(e.getBoundingClientRect().width,e.scrollWidth))+r(n.marginLeft)+r(n.marginRight)}const w={mention:100,attachment:200,mic:800,overflow:900,send:1e3,custom:500},T=`data-persona-composer-action`,E=`data-persona-composer-disable-when-streaming`,D=`core:overflow`,O=e=>e===`core:attachment`?`attachments`:e.startsWith(`core:mention`)?`mentions`:null;function k(e,t){if(e===void 0)return null;if(typeof e==`number`)return Number.isFinite(e)?e:null;let n=Number.parseFloat(e);if(/^\s*-?\d*\.?\d+(px)?\s*$/.test(e)&&Number.isFinite(n))return n;let r=l(`div`);r.style.position=`absolute`,r.style.visibility=`hidden`,r.style.pointerEvents=`none`,r.style.height=`0`,r.style.width=e,t.appendChild(r);let i=r.getBoundingClientRect().width;return r.remove(),Number.isFinite(i)&&i>0?i:Number.isFinite(n)?n:null}function A(e){let t=e.clientWidth;if(!t)return 0;let n=e.ownerDocument?.defaultView;if(!n?.getComputedStyle)return t;let r=n.getComputedStyle(e),i=(Number.parseFloat(r.paddingLeft)||0)+(Number.parseFloat(r.paddingRight)||0);return Math.max(0,t-i)}const j=(e,t)=>{e&&typeof console<`u`&&console.warn(t)},M=(e,t)=>t.includes(`:`)?t:`${e}:${t}`;function N(e){let{debug:t}=e,n=[],r=/* @__PURE__ */ new Map,i=0,a=e=>{let i=r.get(e.id);i?j(t,`[Persona] composer action "${e.id}" is already contributed by ${P(i)}; the ${P(e)} copy is ignored.`):(r.set(e.id,e),n.push(e))};for(let t of e.builtIns)a({id:t.id,placement:t.placement,presentation:`bar`,order:t.order,sequence:i++,source:`core`,builtIn:t});let o=(e,n,r)=>{let o=r?M(r,e.id):e.id,s=e.order??w.custom;e.placement===`end`&&s>=w.send&&(j(t,`[Persona] composer action "${o}" ordered at ${s} would render after send; clamped to ${w.send-1}.`),s=w.send-1),a({id:o,placement:e.placement,presentation:e.presentation??`bar`,order:s,sequence:i++,source:n,pluginId:r,action:e})};for(let t of e.configActions??[])o(t,`config`);for(let t of e.plugins){if(!t.contributeComposerActions)continue;let n;try{n=t.contributeComposerActions(e.contributionContext)}catch(e){typeof console<`u`&&console.error(`[Persona] plugin "${t.id}" contributeComposerActions failed:`,e);continue}for(let e of n??[])o(e,`plugin`,t.id)}return n.sort((e,t)=>e.order===t.order?e.sequence-t.sequence:e.order-t.order)}const P=e=>e.source===`plugin`?`plugin "${e.pluginId}"`:e.source===`config`?`composer.actions`:`a core built-in`,F=(e,t,n)=>e===void 0?n:typeof e==`function`?e(t)===!0:e===!0,ee=e=>e.phase===`streaming`||e.text.trim().length>0||e.attachments.length>0;function I(e,t){if(!e||e===`always`)return!0;let n=ee(t);return e===`when-text`?n:!n}const L=e=>e.kind===`custom`,R=e=>e instanceof HTMLButtonElement?e:e.querySelector(`button`)??e,te=e=>{let t=R(e);return t.getAttribute(`aria-label`)?.trim()||t.getAttribute(`title`)?.trim()||``};function z(e){let t=``,n=e=>{if(e.nodeType===Node.TEXT_NODE){t+=e.nodeValue??``;return}if(e.nodeType!==Node.ELEMENT_NODE)return;let r=e;typeof r.matches==`function`&&r.matches(`.persona-control-tooltip, [role="tooltip"], .persona-sr-only, [hidden], [aria-hidden="true"]`)||e.childNodes.forEach(n)};return n(e),t.trim()}const B=e=>z(e).length===0,V=e=>!e||typeof e!=`object`?e:Object.freeze(Array.isArray(e)?e.map(V):Object.fromEntries(Object.entries(e).map(([e,t])=>[e,V(t)])));function H(e){let{renderLucideIcon:t,attachTooltip:n,hideTooltipFor:r}=e.deps,i=/* @__PURE__ */ new Map,a=[],o=!1,s=null,m=[],h=[],g=l(`div`,`persona-composer-overflow-menu__content`),_=()=>e.getButtonSize?.(),v=(n,r)=>{let i=n.button;if(!i)return;i.setAttribute(`role`,`menuitem`),i.setAttribute(`tabindex`,`-1`),i.className=`persona-composer-overflow-menu__item`;for(let e of[`width`,`height`,`minWidth`,`minHeight`,`fontSize`,`color`,`backgroundColor`])i.style[e]=``;i.style.lineHeight=``,r.showTooltip!==!1&&r.tooltipText?i.setAttribute(`title`,r.tooltipText):i.removeAttribute(`title`),i.replaceChildren();let a=l(`span`,`persona-composer-overflow-menu__icon`);if(r.iconName){let e=t(r.iconName,16,`currentColor`,1.5);e&&a.appendChild(e)}let o=l(`span`,`persona-composer-overflow-menu__label`),s=e.getOverflow?.()?.menu?.items?.[n.resolved.id];o.textContent=s?.label??r.shortLabel??r.label;let c=l(`span`,`persona-composer-overflow-menu__text`);c.appendChild(o);let d=s?.description??r.description;i.setAttribute(`aria-label`,s?.label??r.label),d?i.setAttribute(`aria-description`,d):i.removeAttribute(`aria-description`),d&&c.appendChild(u(`span`,{className:`persona-composer-overflow-menu__description`,text:d})),i.append(a,c)},b=(e,r)=>{let i=e.button;if(!i)return;if(i.setAttribute(`aria-label`,r.label),r.pressed===void 0?i.removeAttribute(`aria-pressed`):i.setAttribute(`aria-pressed`,r.pressed?`true`:`false`),i.toggleAttribute(E,r.disableWhenStreaming===!0),e.mode===`menu`){e.tooltip?.destroy(),e.tooltip=void 0,v(e,r);return}i.removeAttribute(`role`),i.removeAttribute(`tabindex`),i.removeAttribute(`aria-description`),i.removeAttribute(`title`);let a=_(),o=!!r.shortLabel||!r.iconName;if(i.className=d(`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-composer-action-button`,f,p,o&&`persona-composer-action-button--text persona-gap-1 persona-text-sm`),i.style.width=a&&!o?a:``,i.style.height=a??``,i.style.minWidth=a&&!o?a:``,i.style.minHeight=a??``,i.style.fontSize=o?``:`18px`,i.style.lineHeight=`1`,i.style.color=r.iconColor??``,i.style.backgroundColor=r.backgroundColor??``,i.replaceChildren(),r.iconName){let e=t(r.iconName,24,`currentColor`,1.5);e&&(r.iconName===`voice-bars`&&r.iconAnimation===`voice`&&e.classList.add(`persona-voice-bars--animated`),i.appendChild(e))}if(o){let e=l(`span`,`persona-composer-action-button__label`);e.textContent=r.shortLabel??r.label,i.appendChild(e)}if(r.trailingIconName&&o){let e=t(r.trailingIconName,24,`currentColor`,1.5);e&&i.appendChild(e)}i.firstChild||(i.textContent=r.label),e.tooltip?.destroy(),e.tooltip=n({anchor:i,trigger:e.element,text:()=>r.tooltipText??r.label,enabled:r.showTooltip??(!o||!!r.tooltipText)})},j=(t,n)=>{if(o||i.get(t.resolved.id)!==t||t.busy)return!1;let r=t.resolved.action,a=e.getState();if(!t.visible||r&&(!F(r.visible,a,!0)||!I(r.visibility,a)||F(r.disabled,a,!1)||r.disableWhenStreaming===!0&&a.phase===`streaming`))return!1;let c=R(t.element);if(c.disabled||c.getAttribute(`aria-disabled`)===`true`)return!1;if((t.mode===`menu`||U?.isOpen())&&(s=t.resolved.id,U?.close(!0)),!r||L(r))return c.click(),!0;let l;try{l=r.onSelect(e.actionContext,n)}catch(n){return e.reportError(n,{actionId:t.resolved.id}),!0}return l&&typeof l.then==`function`&&(t.busy=!0,t.button?.setAttribute(`aria-busy`,`true`),l.catch(n=>e.reportError(n,{actionId:t.resolved.id})).finally(()=>{t.busy=!1,t.button?.removeAttribute(`aria-busy`),!o&&i.get(t.resolved.id)===t&&Oe()})),!0},M=(e,t)=>{let n=e.action,r=u(`button`,{attrs:{type:`button`}}),i=r;if(t===`bar`){let e=l(`div`,`persona-send-button-wrapper`);e.appendChild(r),i=e}i.setAttribute(T,e.id);let a={resolved:e,element:i,button:r,owned:!0,managed:!0,busy:!1,visible:!0,mode:t},o=e=>{e.preventDefault(),e.stopPropagation(),j(a,e)};return r.addEventListener(`click`,o),a.detach=()=>r.removeEventListener(`click`,o),b(a,n),a},P=t=>{let n=t.action,r;try{r=n.render({...e.actionContext,id:t.id,action:n})}catch(n){return e.reportError(n,{actionId:t.id}),null}return r?.element?(r.element.setAttribute(T,t.id),r.element.toggleAttribute(E,n.disableWhenStreaming===!0),{resolved:t,element:r.element,owned:!0,managed:!0,destroy:r.destroy,busy:!1,visible:!0,mode:`bar`}):null},ee=(e,t)=>{if(e.builtIn){let t=e.builtIn.element;return t?{resolved:e,element:t,owned:!1,managed:e.builtIn.managed===!0,busy:!1,visible:!0,mode:`bar`}:null}let n=e.action;return n?L(n)?P(e):M(e,t):null},z=t=>{if(t.detach?.(),t.tooltip?.destroy(),t.detachMenuSlot?.(),t.detachMenuSlot=void 0,t.menuLabel?.remove(),t.menuLabel=void 0,t.menuSlot?.remove(),t.menuSlot=void 0,t.owned){try{t.destroy?.()}catch(n){e.reportError(n,{actionId:t.resolved.id})}t.element.remove()}},H=(e,t)=>{let n=null;for(let r=t.length-1;r>=0;r--){let i=t[r];i.managed?(n?(i.element.parentElement!==e||i.element.nextSibling!==n)&&e.insertBefore(i.element,n):e.lastChild!==i.element&&e.appendChild(i.element),n=i.element):i.element.parentElement===e&&(n=i.element)}},ne=(e,t)=>{if(e.button){e.button.disabled=t;return}if(!e.owned)return;let n=e.element;n.toggleAttribute(`data-disabled`,t),n.setAttribute(`aria-disabled`,t?`true`:`false`);let r=n instanceof HTMLButtonElement||n instanceof HTMLSelectElement||n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement?n:n.querySelector(`button, select, input, textarea`);r&&(r.disabled=t)},U=null,W=null,G=null,K=0,q=null,J=null,Y=null,X=0,Z=/* @__PURE__ */ new Set,re=/* @__PURE__ */ new Map,ie=()=>{X+=1,ae()},ae=()=>{if(o||J!==null||!W)return;let e=W.ownerDocument.defaultView;e&&(J=e.requestAnimationFrame(()=>{J=null,Oe()}))},oe=()=>{J!==null&&W?.ownerDocument.defaultView?.cancelAnimationFrame(J),J=null,q?.disconnect(),q=null,W?.ownerDocument.defaultView?.removeEventListener(`resize`,ae),W?.ownerDocument.fonts?.removeEventListener(`loadingdone`,ie),Y=null},se=()=>{let t=e.getOverflow?.();return t?.enabled===!0?t:void 0},Q=null,ce=null,le=null,ue,$=!0,de=!1,fe=!1,pe=t=>e.reportError(t,{actionId:D}),me=e=>{try{e?.destroy?.()}catch(e){pe(e)}},he=()=>{let e=Q,t=ce;Q=null,ce=null,le=null,ue=void 0,de=!1,e?.abort(),me(t),U?.panel.replaceChildren(g),U?.setContentMode(`menu`,!0),$=!0},ge=t=>{let n=t.resolved.action,r=se()?.menu?.items?.[t.resolved.id],i=R(t.element),a=e.getState();return Object.freeze({id:t.resolved.id,kind:n?L(n)?`custom`:`button`:`builtin`,label:r?.label??(n?(L(n)?void 0:n.shortLabel)??n.label:te(t.element)),description:r?.description??n?.description,group:r?.group??n?.group,iconName:n&&!L(n)?n.iconName:void 0,disabled:!!(i.disabled||i.getAttribute(`aria-disabled`)===`true`||n&&(F(n.disabled,a,!1)||n.disableWhenStreaming===!0&&a.phase===`streaming`)),busy:t.busy,pressed:n&&!L(n)?n.pressed:void 0})},_e=t=>{let n=()=>!o&&Q===t&&!t.signal.aborted;return Object.freeze({config:V(se()?.menu??{}),state:V(e.getState()),items:Object.freeze(h.map(ge)),signal:t.signal,actions:Object.freeze({invoke:e=>{if(!n()||!U?.isOpen())return!1;let t=i.get(e);return!t||t.mode!==`menu`||!h.includes(t)?!1:j(t,new Event(`click`,{bubbles:!0,cancelable:!0}))},openAttachmentPicker:()=>{if(!n()||!U?.isOpen())return;let e=i.get(`core:attachment`);e&&j(e,new Event(`click`,{bubbles:!0,cancelable:!0}))},close:()=>{n()&&U?.close(!0)},requestUpdate:()=>{n()&&!de&&(de=!0,Promise.resolve().then(()=>{n()&&(de=!1,ke())}))}}),defaultRenderer:()=>({element:g,role:`menu`})})},ve=()=>{let e=new AbortController;Q=e;let t=_e(e);for(let n of m){if(e.signal.aborted||Q!==e||o)return!1;if(!n.renderComposerMenu)continue;let r;try{r=n.renderComposerMenu(t)}catch(e){pe(e);continue}if(!r)continue;let i=r instanceof HTMLElement?{element:r}:r;if(e.signal.aborted||Q!==e||o)return me(i),!1;if(!(i.element instanceof HTMLElement))me(i);else return ce=i,le=n,ue=n.renderComposerMenu,$=i.element===g,U?.panel.replaceChildren(i.element),U?.setContentMode(i.role??($?`menu`:`dialog`),$),!0}return e.signal.aborted||o?!1:($=!0,U?.panel.replaceChildren(g),U?.setContentMode(`menu`,!0),!0)},ye=()=>{if(!Q||Q.signal.aborted||!U?.isOpen())return;if(le&&!m.some(e=>e.id===le?.id&&e.renderComposerMenu===ue)){U.close();return}if(fe)return;let e=Q,t=ce;fe=!0;try{t?.update?.(_e(e))}catch(n){if(pe(n),Q===e){if(Q=null,ce=null,e.abort(),me(t),o||!U?.isOpen()||Q)return;Q=new AbortController,le=null,ue=void 0,$=!0,U.panel.replaceChildren(g),U.setContentMode(`menu`,!0)}}finally{fe=!1}U?.refresh()},be=()=>(U?U.setLabel(e.getOverflowLabel?.()??`More actions`):U=x({deps:e.deps,label:e.getOverflowLabel?.()??`More actions`,getButtonSize:_,getConfig:()=>se()?.menu,getComposer:()=>e.getBindings()?.form,beforeOpen:ve,onClose:he}),U),xe=(e,t)=>{let n=e.footer;if(!(W===n&&(t?Y===e.form:Y===null))){if(oe(),G?.disconnect(),W=n,K=A(n),t){Y=e.form;let t=n.ownerDocument.defaultView;t?.addEventListener(`resize`,ae),n.ownerDocument.fonts?.addEventListener(`loadingdone`,ie),t?.MutationObserver&&(q=new t.MutationObserver(n=>{n.some(n=>{if(U?.trigger.contains(n.target)||n.target===e.input&&n.type===`attributes`)return!1;let r=[...Array.from(n.addedNodes),...Array.from(n.removedNodes)];return!(r.length&&r.every(e=>e instanceof t.HTMLElement&&e.hasAttribute(`data-persona-composer-measure`)))})&&ae()}),q.observe(n,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:[`class`,`style`,`hidden`,`data-persona-composer-layout`,`data-persona-composer-compact`]}))}typeof ResizeObserver<`u`&&(G=new ResizeObserver(e=>{if(t){ae();return}let r=e[e.length-1]?.contentRect?.width??A(n);r!==K&&(K=r,Oe())}),G.observe(n),t&&(G.observe(e.form),G.observe(e.actionsStart),G.observe(e.actionsEnd)))}},Se=(e,t)=>{let n=k(e.collapseAutoActionsBelow,t);if(n===null)return!1;let r=K||A(t);return r>0&&r<n},Ce=(e,t,n)=>{if(!t)return`bar`;if(e.resolved.builtIn){let n=O(e.resolved.id);return n&&t.includeBuiltIns?.includes(n)?`menu`:`bar`}let r=e.resolved.presentation;return r===`overflow`||r===`auto`&&n?`menu`:`bar`},we=e=>{let t=e.menuSlot;if(!t)return;let n=se()?.menu?.items?.[e.resolved.id],r=n?.description??e.resolved.action?.description;if(!n?.label&&!r&&!B(e.element)){e.menuLabel?.remove(),e.menuLabel=void 0;return}let i=n?.label??te(e.element);i?(e.menuLabel||=l(`span`,`persona-composer-overflow-menu__label`),e.menuLabel.replaceChildren(u(`span`,{text:i})),r&&e.menuLabel.appendChild(u(`span`,{className:`persona-composer-overflow-menu__description`,text:r})),e.menuLabel.parentElement!==t&&t.appendChild(e.menuLabel)):(e.menuLabel?.remove(),e.menuLabel=void 0)},Te=(e,t)=>{if(e.mode===t)return e;let n=e.resolved.action;if(n&&!L(n)){let r=e.element;return t===`menu`?e.element=e.button:(e.element=l(`div`,`persona-send-button-wrapper`),e.element.appendChild(e.button),e.button.removeAttribute(T)),r!==e.element&&r!==e.button&&r.remove(),e.element.setAttribute(T,e.resolved.id),e.mode=t,b(e,n),e}if(t===`menu`){let t=u(`div`,{className:`persona-composer-overflow-menu__slot`,attrs:{role:`none`,"data-persona-tooltip-suppressed":``}});t.appendChild(e.element),r(R(e.element)),e.menuSlot=t;let n=t=>{let n=R(e.element);if(n.disabled)return;let r=t.target===n||n.contains(t.target);s=e.resolved.id,U?.close(!0),r||n.click()};t.addEventListener(`click`,n,!0),e.detachMenuSlot=()=>t.removeEventListener(`click`,n,!0),e.managed=!0,we(e)}else e.detachMenuSlot?.(),e.detachMenuSlot=void 0,e.menuLabel?.remove(),e.menuLabel=void 0,e.menuSlot?.remove(),e.menuSlot=void 0;return e.mode=t,e},Ee=(e,t)=>{let n=Array.from(e.querySelectorAll(`.persona-composer-overflow-menu__divider`)),r=0,i=[];for(t.forEach((e,a)=>{let o=ge(e).group;a&&o!==ge(t[a-1]).group&&i.push(n[r++]??u(`div`,{className:`persona-composer-overflow-menu__divider`,attrs:{role:`separator`}})),i.push(e.menuSlot??e.element)}),i.forEach((t,n)=>{let r=e.children[n];r!==t&&(r?e.insertBefore(t,r):e.appendChild(t))});e.children.length>i.length;)e.lastElementChild?.remove()},De=(e,t,n)=>{let r=A(e.form);if(!r)return Z;let i=e.form.ownerDocument.defaultView,a=i.getComputedStyle(e.form),o=e=>Number.parseFloat(e)||0,s=o(a.columnGap),c=e.footer.getAttribute(`data-persona-composer-layout`)===`single-row`&&e.footer.hasAttribute(`data-persona-composer-compact`),l=[a.fontFamily,a.fontSize,a.getPropertyValue(`--persona-composer-font-size`),a.getPropertyValue(`--persona-composer-control-size`),a.getPropertyValue(`--persona-composer-control-icon-size`),_(),X].join(`|`),u={start:e.actionsStart,end:e.actionsEnd},d={start:{width:0,count:0},end:{width:0,count:0}},f={start:0,end:0};for(let e of[`start`,`end`]){f[e]=o(i.getComputedStyle(u[e]).columnGap);for(let n of Array.from(u[e].children)){if(!(n instanceof i.HTMLElement)||n===U?.trigger||t.some(e=>e.element===n))continue;let r=C(n);r&&(d[e].width+=r,d[e].count+=1)}}let p=[],m=!1;for(let e of t){if(Ce(e,n,!1)===`menu`){m=!0;continue}let t=e.resolved.action,r=`${l}|${t&&!L(t)?[t.label,t.shortLabel,t.iconName,t.trailingIconName,t.pressed].join(`|`):`custom`}`,a=e.mode===`bar`?C(e.element):0,o=re.get(e.resolved.id);if(!a&&o?.key===r&&(a=o.width),!a&&t&&!L(t)){let t=M(e.resolved,`bar`);t.element.setAttribute(`data-persona-composer-measure`,``),t.element.style.cssText=`position:absolute;visibility:hidden;width:max-content;pointer-events:none`,u[e.resolved.placement].appendChild(t.element),a=C(t.button),z(t)}if(!a&&t&&L(t)&&(a=o?.width??0),a&&re.set(e.resolved.id,{key:r,width:a}),!a&&i.getComputedStyle(e.element).display!==`none`)return Z;a&&p.push({id:e.resolved.id,placement:e.resolved.placement,width:a,order:e.resolved.order,sequence:e.resolved.sequence,auto:e.resolved.presentation===`auto`})}let h=o(a.getPropertyValue(`--persona-composer-control-size`))||40,g=U?C(U.trigger):0;return S({available:Math.max(1,r-(c?120+s*2:0)),actions:p,slots:d,gaps:f,clusterGap:c?0:s,triggerWidth:g||o(_()??``)||h,hasMenu:m,previous:Z})},Oe=()=>{if(o)return;let t=e.getBindings();if(t&&c(t.form),!t)return;let n=e.getState(),r=n.phase===`streaming`,l=se(),u=l?.collapseAutoActions===`fit`;l?xe(t,u):(oe(),G?.disconnect(),W=null);let d=l&&!u?Se(l,t.footer):!1,f=t.footer.getRootNode(),p=f.activeElement,m=p===U?.triggerButton,_=p?Array.from(i.values()).find(e=>e.element.contains(p)):void 0,b=_?.mode;if(u){let e=a.map(e=>i.get(e.id)).filter(e=>!!e).filter(e=>!e.resolved.action||F(e.resolved.action.visible,n,!0)&&I(e.resolved.action.visibility,n));for(let n of e){if(!n.managed||n.mode!==`bar`)continue;let e=n.resolved.placement===`start`?t.actionsStart:t.actionsEnd;n.element.parentElement!==e&&e.appendChild(n.element)}Z=De(t,e,l)}else Z.clear();let x={start:[],end:[]},S=[];for(let e of a){let t=i.get(e.id);if(!t)continue;let a=e.action,o=!a||F(a.visible,n,!0)&&I(a.visibility,n);if(t.visible!==o&&(t.visible=o,!o&&t.managed&&(t.menuSlot??t.element).remove()),!o)continue;let s=Ce(t,l,d);if(t=Te(t,s===`menu`||u&&e.presentation===`auto`&&Z.has(e.id)?`menu`:`bar`),a){let e=F(a.disabled,n,!1)||a.disableWhenStreaming===!0&&r;ne(t,e),!L(a)&&a.pressed!==void 0&&t.button?.setAttribute(`aria-pressed`,a.pressed?`true`:`false`)}t.mode===`menu`?(we(t),S.push(t)):x[e.placement].push(t)}if(h=S,S.length>0){let e=be();Q||e.panel.replaceChildren(g),Ee(g,S);for(let e of S){let t=e.resolved.action;t&&!L(t)&&v(e,t)}e.setItems(S.map(e=>e.menuSlot??e.element)),e.refresh(),ye();let t=Number.isFinite(l?.order)?l?.order:w.overflow,n=x.start.findIndex(e=>e.resolved.order>t),r={resolved:{id:D,placement:`start`,presentation:`bar`,order:t,sequence:-1,source:`core`},element:e.trigger,owned:!1,managed:!0,busy:!1,visible:!0,mode:`bar`};x.start.splice(n<0?x.start.length:n,0,r)}else U&&(U.close(),U.trigger.remove(),U.setItems([]));if(H(t.actionsStart,x.start),H(t.actionsEnd,x.end),_&&p&&_.visible&&(!p.isConnected||_.mode!==b||f.activeElement!==p))_.mode===`bar`?(U?.close(),y(_.element).focus()):U?.isOpen()&&$?y(_.menuSlot??_.element).focus():U?.triggerButton.focus();else if(m&&!S.length){let e=s?i.get(s):void 0;e?.visible&&e.mode===`bar`?y(e.element).focus():t.input.focus()}s=null},ke=()=>{if(o)return;let t=e.collect();m=t.plugins;let n=N(t),r=new Set(n.map(e=>e.id));for(let[e,t]of i)r.has(e)||(z(t),i.delete(e),re.delete(e));for(let e of n){let t=i.get(e.id);if(!t){let t=ee(e,`bar`);t&&i.set(e.id,t);continue}let n=t.resolved.action,r=e.action;if(!!n!=!!r||n&&r&&L(n)!==L(r)||n&&r&&L(n)&&L(r)&&n.render!==r.render){z(t),i.delete(e.id),re.delete(e.id);let n=ee(e,t.mode);n&&i.set(e.id,n)}else t.resolved=e,e.builtIn?(t.managed=e.builtIn.managed===!0||t.mode===`menu`,e.builtIn.element&&t.mode===`bar`&&(t.element=e.builtIn.element)):r&&!L(r)?b(t,r):r&&t.element.toggleAttribute(E,r.disableWhenStreaming===!0)}a=n,Oe()};return{resolve:ke,sync:Oe,getResolved:()=>a,getOverflowMenu:()=>U,destroy:()=>{if(!o){o=!0,oe(),G?.disconnect(),G=null,W=null,U?.close(),he();for(let e of i.values())z(e);i.clear(),U?.destroy(),U=null,a=[]}}}}const ne=[`--persona-components-composer-modelPicker-menuBackground`,`--persona-components-composer-modelPicker-menuBorderRadius`,`--persona-components-composer-modelPicker-rowHoverBackground`,`--persona-components-composer-modelPicker-labelColor`,`--persona-components-composer-modelPicker-descriptionColor`],U=()=>({wrapper:u(`span`,{className:`persona-composer-model-picker-wrapper`,attrs:{"data-persona-composer-model-picker-wrapper":``}}),chevron:u(`span`,{className:`persona-composer-model-picker-chevron`,attrs:{"aria-hidden":`true`}})});function W(e){let t=e.label??`Model`,n=e.presentation??`native`,r=null,i=t=>{let n=e.getSelectedModelId();return t.find(e=>e.id===n)??t[0]},a=()=>{let n=u(`select`,{className:`persona-composer-model-picker`,attrs:{"aria-label":t,"data-persona-composer-model-picker":``}}),a=``,o=()=>{let t=e.getModels(),r=t.map(e=>`${e.id}:${e.label}`).join(`|`);r!==a&&(a=r,n.replaceChildren(...t.map(e=>{let t=u(`option`,{attrs:{value:e.id}});return t.textContent=e.label,t}))),n.value=i(t)?.id??``};o(),r=o;let s=()=>{n.value&&e.onSelect(n.value)};n.addEventListener(`change`,s);let c=e=>e.stopPropagation();n.addEventListener(`click`,c);let{wrapper:l,chevron:d}=U();return l.append(n,d),{element:l,destroy:()=>{r===o&&(r=null),n.removeEventListener(`change`,s),n.removeEventListener(`click`,c)}}},s=()=>{let n=u(`button`,{className:`persona-composer-model-picker persona-composer-model-picker-trigger`,attrs:{type:`button`,"aria-haspopup":`listbox`,"aria-expanded":`false`,"data-persona-composer-model-picker":`popover`}}),a=l(`span`,`persona-composer-model-picker-label`),s=l(`span`,`persona-composer-model-picker-suffix`);n.append(a,s);let c=u(`div`,{className:`persona-composer-model-menu`,attrs:{role:`listbox`,tabindex:`-1`,"aria-label":t,"data-persona-composer-model-menu":``}}),d=/* @__PURE__ */ new Map,f=``,p=null,h=()=>p?.isOpen===!0,g=(e=!1)=>{h()&&(p?.close(),n.setAttribute(`aria-expanded`,`false`),e&&n.focus())},_=e=>{let t=[...d.values()];t.length!==0&&t[(e%t.length+t.length)%t.length].focus()},v=t=>{if(h())return;p||=o({anchor:n,content:c,placement:`top-start`,offset:6,onDismiss:()=>n.setAttribute(`aria-expanded`,`false`)}),m(n,c,ne),p.open(),n.setAttribute(`aria-expanded`,`true`);let r=[...d.keys()].indexOf(i(e.getModels())?.id??``);_(t??(r>=0?r:0))},y=t=>{g(!0),e.onSelect(t)},b=e=>{e.preventDefault(),e.stopPropagation();let t=e.currentTarget.getAttribute(`data-persona-model-option`);t&&y(t)},x=t=>{let n=u(`button`,{className:`persona-composer-model-option`,attrs:{type:`button`,role:`option`,tabindex:`-1`,"aria-selected":`false`,"data-persona-model-option":t.id}});if(t.icon){let r=e.renderIcon(t.icon,16,`currentColor`,1.5);if(r){let e=l(`span`,`persona-composer-model-option-icon`);e.appendChild(r),n.appendChild(e)}}let r=l(`span`,`persona-composer-model-option-body`),i=l(`span`,`persona-composer-model-option-label`);if(i.textContent=t.label,r.appendChild(i),t.description){let e=l(`span`,`persona-composer-model-option-description`);e.textContent=t.description,r.appendChild(e)}n.appendChild(r);let a=l(`span`,`persona-composer-model-option-check`);a.setAttribute(`aria-hidden`,`true`);let o=e.renderIcon(`check`,16,`currentColor`,2);return o&&a.appendChild(o),n.appendChild(a),n.addEventListener(`click`,b),n},S=()=>{let r=e.getModels(),o=r.map(e=>`${e.id}:${e.label}:${e.icon??``}:${e.description??``}`).join(`|`);if(o!==f){f=o;for(let e of d.values())e.removeEventListener(`click`,b);d.clear(),c.replaceChildren(...r.map(e=>{let t=x(e);return d.set(e.id,t),t}))}let l=i(r);for(let[e,t]of d)t.setAttribute(`aria-selected`,String(e===l?.id));a.textContent=l?.label??``;let u=e.getSuffix?.()??``;s.textContent=u,n.setAttribute(`aria-label`,[t,[l?.label,u].filter(Boolean).join(` `)].filter(Boolean).join(`: `))};S(),r=S;let C=e=>{e.preventDefault(),e.stopPropagation(),h()?g(!0):v()},w=e=>{e.key===`ArrowDown`?(e.preventDefault(),h()?_(0):v(0)):e.key===`ArrowUp`&&(e.preventDefault(),h()?_(-1):v(-1))},T=e=>{let t=[...d.values()],n=t.indexOf(e.target?.closest?.(`.persona-composer-model-option`));switch(e.key){case`ArrowDown`:e.preventDefault(),_(n+1);return;case`ArrowUp`:e.preventDefault(),_(n-1);return;case`Home`:e.preventDefault(),_(0);return;case`End`:e.preventDefault(),_(t.length-1);return;case`Escape`:e.preventDefault(),e.stopPropagation(),g(!0);return;case`Tab`:g(!0);return}};n.addEventListener(`click`,C),n.addEventListener(`keydown`,w),c.addEventListener(`keydown`,T);let{wrapper:E,chevron:D}=U();return E.append(n,D),{element:E,destroy:()=>{r===S&&(r=null),n.removeEventListener(`click`,C),n.removeEventListener(`keydown`,w),c.removeEventListener(`keydown`,T);for(let e of d.values())e.removeEventListener(`click`,b);d.clear(),p?.destroy(),p=null,c.remove()}}};return{action:{id:`core:model`,kind:`custom`,placement:`end`,order:700,presentation:n===`popover`?`bar`:`auto`,label:t,render:()=>n===`popover`?s():a()},repaint:()=>r?.()}}const G=e=>`core:mode:${e}`,K=e=>Math.min(300+e,499),q=e=>`core:mode-group:${e}`;function J(e,t){return e?t?.find(t=>t.id===e)?.presentation===`segmented`:!1}function Y(e){let t=null;return{action:{id:q(e.groupId),kind:`custom`,placement:`start`,presentation:`bar`,label:e.getGroup()?.label??e.groupId,render:()=>{let n=u(`div`,{className:`persona-composer-segmented`,attrs:{"data-persona-composer-mode-group":e.groupId}}),r=/* @__PURE__ */ new Map,i=``,a=t=>{t.preventDefault(),t.stopPropagation();let n=t.currentTarget.getAttribute(`data-persona-composer-mode`);n&&(e.getActiveIds().includes(n)&&e.getGroup()?.selection===`single`||e.onSelect(n))},o=t=>{let n=u(`button`,{className:`persona-composer-segmented-item`,attrs:{type:`button`,"data-persona-composer-mode":t.id,"aria-label":t.label}});if(t.iconName){let r=e.renderIcon(t.iconName,16,`currentColor`,1.5);r&&n.appendChild(r)}let r=l(`span`,`persona-composer-segmented-label`);return r.textContent=t.shortLabel??t.label,n.appendChild(r),n.addEventListener(`click`,a),n},s=()=>{let t=e.getGroup();t?.label?(n.setAttribute(`role`,`group`),n.setAttribute(`aria-label`,t.label)):(n.removeAttribute(`role`),n.removeAttribute(`aria-label`));let s=e.getModes(),c=s.map(e=>`${e.id}:${e.shortLabel??e.label}:${e.iconName??``}`).join(`|`);if(c!==i){i=c;for(let e of r.values())e.removeEventListener(`click`,a);r.clear();let e=s.map(e=>{let t=o(e);return r.set(e.id,t),t});n.replaceChildren(...e)}let l=e.getActiveIds();for(let[e,t]of r)t.setAttribute(`aria-pressed`,String(l.includes(e)))};return s(),t=s,{element:n,destroy:()=>{t===s&&(t=null);for(let e of r.values())e.removeEventListener(`click`,a);r.clear()}}}},repaint:()=>t?.()}}function X(e){e.style.display=e.childElementCount>0?`flex`:`none`}function Z(e){let t=e.row,n=``,r=!1,i=new Set(e.initialIds??[]),a=t=>{let n=u(`span`,{className:`persona-mention-chip persona-composer-mode-chip`,attrs:{"data-persona-composer-mode":t.id}});if(t.iconName){let r=l(`span`,`persona-mention-chip-icon`),i=e.renderIcon(t.iconName,12,`currentColor`,1.5);i&&r.appendChild(i),n.appendChild(r)}let r=l(`span`,`persona-mention-chip-label`);r.textContent=t.shortLabel??t.label,n.appendChild(r);let i=u(`button`,{className:`persona-mention-chip-remove`,attrs:{type:`button`,"aria-label":`Remove ${t.label}`}}),a=e.renderIcon(`x`,12,`currentColor`,2);return a?i.appendChild(a):i.textContent=`×`,i.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),e.onRemove(t.id)}),n.appendChild(i),n},o=()=>Array.from(t.querySelectorAll(`:scope > [data-persona-composer-mode]`)),s=e=>{e.setAttribute(`data-persona-chip-exit`,``),e.setAttribute(`aria-hidden`,`true`),e.style.pointerEvents=`none`;let n=()=>{e.remove(),X(t)},r=t.ownerDocument.defaultView,i=typeof r?.getComputedStyle==`function`?r.getComputedStyle(e).animationName:``;!i||i===`none`?n():(e.addEventListener(`animationend`,n,{once:!0}),e.addEventListener(`animationcancel`,n,{once:!0}))},c=()=>{for(let e of o())e.remove()};return{element:t,render:(e,c)=>{if(r)return;let l=c.filter(t=>e.includes(t.id)),u=l.map(e=>`${e.id}:${e.shortLabel??e.label}`).join(`|`);if(u===n)return;n=u;let d=/* @__PURE__ */ new Map;for(let e of o()){let t=e.getAttribute(`data-persona-composer-mode`);t&&l.some(e=>e.id===t)&&!e.hasAttribute(`data-persona-chip-exit`)?d.set(t,e):e.hasAttribute(`data-persona-chip-exit`)||s(e)}let f=t.firstChild;for(let e of l){let n=d.get(e.id);n||(n=a(e),i.has(e.id)||(n.setAttribute(`data-persona-chip-enter`,``),n.addEventListener(`animationend`,()=>n?.removeAttribute(`data-persona-chip-enter`),{once:!0}))),i.delete(e.id),n!==f&&t.insertBefore(n,f),f=n.nextSibling}X(t)},destroy:()=>{r=!0,c(),X(t)}}}function re(e){let t=null,n=null,r=/* @__PURE__ */ new Map,i=t=>{let n=r.get(t);if(n)return n;let i=Y({renderIcon:e.renderIcon,groupId:t,getGroup:()=>e.getConfig().composer?.modeGroups?.find(e=>e.id===t),getModes:()=>e.getModes().filter(e=>e.groupId===t),getActiveIds:()=>e.getState().activeModeIds,onSelect:t=>e.onModeChange(t)});return r.set(t,i),i};return{collect:()=>{let r=[],a=e.getState().activeModeIds,o=new Set(e.getChipModes().map(e=>e.id)),s=/* @__PURE__ */ new Set;if(e.getModes().forEach((t,n)=>{if(J(t.groupId,e.getConfig().composer?.modeGroups)){let a=t.groupId;if(s.has(a))return;s.add(a);let o=i(a);o.action.order=K(n),o.action.label=e.getConfig().composer?.modeGroups?.find(e=>e.id===a)?.label??a,r.push(o.action);return}let c=a.includes(t.id)&&!o.has(t.id);r.push({id:G(t.id),kind:`button`,placement:`start`,order:K(n),presentation:c?`bar`:t.presentation??`auto`,label:t.label,shortLabel:c?t.shortLabel??t.label:t.shortLabel,iconName:t.iconName,trailingIconName:t.trailingIconName,pressed:a.includes(t.id),onSelect:()=>e.onModeChange(t.id)})}),e.getConfig().composer?.models?.length&&!e.hasComposerPlugin()){let i=e.getConfig().composer?.modelPicker?.presentation??`native`;t&&n===i||(n=i,t=W({renderIcon:e.renderIcon,getModels:()=>e.getConfig().composer?.models??[],getSelectedModelId:()=>e.getState().selectedModelId,onSelect:t=>e.onModelChange(t),presentation:i,getSuffix:()=>e.getConfig().composer?.modelPicker?.suffix})),r.push(t.action)}return r},repaint:()=>{for(let[t,n]of r)J(t,e.getConfig().composer?.modeGroups)?n.repaint():r.delete(t);t?.repaint()}}}export{H as createComposerActionRenderer,re as createComposerCoreControls,Z as createComposerModeChipRow,W as createComposerModelPickerAction,Y as createComposerSegmentedModeAction,o as createPopover,c as ensureComposerActionStyles,s as isEditableEventTarget};
@@ -1,5 +1,4 @@
1
- import { B as AgentWidgetContextMentionRef, P as AgentWidgetContextMentionComposerCapability } from "./types-BOZHQIk0.js";
2
- //#region src/utils/mention-trigger.d.ts
1
+ import { B as AgentWidgetContextMentionRef, P as AgentWidgetContextMentionComposerCapability } from "./types-BC7MRxO5.cjs";
3
2
  /**
4
3
  * Pure `@`-trigger detection for the composer mention menu.
5
4
  *
@@ -14,8 +13,6 @@ type MentionTriggerMatch = {
14
13
  /** The text typed after the trigger, up to the caret (no leading trigger). */
15
14
  query: string;
16
15
  };
17
- //#endregion
18
- //#region src/utils/composer-document.d.ts
19
16
  /** Stable id for one inline mention instance (DOM `data-mention-id`, history key). */
20
17
  type ComposerMentionId = string;
21
18
  /** One block in the composer document. Order is significant. */
@@ -31,8 +28,6 @@ type ComposerBlock = {
31
28
  type ComposerDocument = {
32
29
  blocks: ComposerBlock[];
33
30
  };
34
- //#endregion
35
- //#region src/utils/composer-input.d.ts
36
31
  interface ComposerInputCapability extends AgentWidgetContextMentionComposerCapability {
37
32
  /** The editable element — ARIA target for the menu, and focus receiver. */
38
33
  readonly element: HTMLElement;
@@ -96,6 +91,5 @@ interface ComposerInputCapability extends AgentWidgetContextMentionComposerCapab
96
91
  */
97
92
  replaceLogicalRange?: (start: number, end: number, text: string) => void;
98
93
  }
99
- //#endregion
100
94
  export { ComposerInputCapability as t };
101
95
  export {}
@@ -1,5 +1,4 @@
1
- import { B as AgentWidgetContextMentionRef, P as AgentWidgetContextMentionComposerCapability } from "./types-BOZHQIk0.cjs";
2
- //#region src/utils/mention-trigger.d.ts
1
+ import { B as AgentWidgetContextMentionRef, P as AgentWidgetContextMentionComposerCapability } from "./types-BC7MRxO5.js";
3
2
  /**
4
3
  * Pure `@`-trigger detection for the composer mention menu.
5
4
  *
@@ -14,8 +13,6 @@ type MentionTriggerMatch = {
14
13
  /** The text typed after the trigger, up to the caret (no leading trigger). */
15
14
  query: string;
16
15
  };
17
- //#endregion
18
- //#region src/utils/composer-document.d.ts
19
16
  /** Stable id for one inline mention instance (DOM `data-mention-id`, history key). */
20
17
  type ComposerMentionId = string;
21
18
  /** One block in the composer document. Order is significant. */
@@ -31,8 +28,6 @@ type ComposerBlock = {
31
28
  type ComposerDocument = {
32
29
  blocks: ComposerBlock[];
33
30
  };
34
- //#endregion
35
- //#region src/utils/composer-input.d.ts
36
31
  interface ComposerInputCapability extends AgentWidgetContextMentionComposerCapability {
37
32
  /** The editable element — ARIA target for the menu, and focus receiver. */
38
33
  readonly element: HTMLElement;
@@ -96,6 +91,5 @@ interface ComposerInputCapability extends AgentWidgetContextMentionComposerCapab
96
91
  */
97
92
  replaceLogicalRange?: (start: number, end: number, text: string) => void;
98
93
  }
99
- //#endregion
100
94
  export { ComposerInputCapability as t };
101
95
  export {}
@@ -1,5 +1,4 @@
1
- import { B as AgentWidgetContextMentionRef, Ir as ComposerSubmissionSnapshot, Nr as ComposerState, dr as ComposerAttachmentState, jr as ComposerQuote } from "./types-BOZHQIk0.js";
2
- //#region src/utils/composer-store.d.ts
1
+ import { B as AgentWidgetContextMentionRef, Ir as ComposerQuote, Rr as ComposerState, Vr as ComposerSubmissionSnapshot, gr as ComposerAttachmentState } from "./types-BC7MRxO5.cjs";
3
2
  type ComposerStateListener = (state: Readonly<ComposerState>) => void;
4
3
  interface ComposerStore {
5
4
  /** Frozen snapshot; mutating it can never reach the store. */
@@ -27,6 +26,5 @@ interface ComposerStore {
27
26
  destroy: () => void;
28
27
  }
29
28
  declare function createComposerStore(): ComposerStore;
30
- //#endregion
31
29
  export { createComposerStore as t };
32
30
  export {}
@@ -1,5 +1,4 @@
1
- import { B as AgentWidgetContextMentionRef, Ir as ComposerSubmissionSnapshot, Nr as ComposerState, dr as ComposerAttachmentState, jr as ComposerQuote } from "./types-BOZHQIk0.cjs";
2
- //#region src/utils/composer-store.d.ts
1
+ import { B as AgentWidgetContextMentionRef, Ir as ComposerQuote, Rr as ComposerState, Vr as ComposerSubmissionSnapshot, gr as ComposerAttachmentState } from "./types-BC7MRxO5.js";
3
2
  type ComposerStateListener = (state: Readonly<ComposerState>) => void;
4
3
  interface ComposerStore {
5
4
  /** Frozen snapshot; mutating it can never reach the store. */
@@ -27,6 +26,5 @@ interface ComposerStore {
27
26
  destroy: () => void;
28
27
  }
29
28
  declare function createComposerStore(): ComposerStore;
30
- //#endregion
31
29
  export { createComposerStore as t };
32
30
  export {}
@@ -1,5 +1,3 @@
1
- //#region src/config-diagnostics.d.ts
2
1
  /** Add entries only after their scoped renderer replacement is verified. */
3
2
  export declare const LEGACY_MIGRATIONS: Readonly<Record<string, string>>;
4
- //#endregion
5
3
  export {}
@@ -1,5 +1,3 @@
1
- //#region src/config-diagnostics.d.ts
2
1
  /** Add entries only after their scoped renderer replacement is verified. */
3
2
  export declare const LEGACY_MIGRATIONS: Readonly<Record<string, string>>;
4
- //#endregion
5
3
  export {}
@@ -1,14 +1,11 @@
1
- import { B as AgentWidgetContextMentionRef, I as AgentWidgetContextMentionItem, Rr as ContentPart, U as AgentWidgetContextMentionSource, z as AgentWidgetContextMentionPayload } from "./types-BOZHQIk0.js";
2
- import "./composer-input-dwg_o9Z-.js";
3
- //#region src/components/context-mention-chip.d.ts
1
+ import { B as AgentWidgetContextMentionRef, I as AgentWidgetContextMentionItem, U as AgentWidgetContextMentionSource, Ur as ContentPart, z as AgentWidgetContextMentionPayload } from "./types-BC7MRxO5.cjs";
2
+ import "./composer-input-i_FiUp6J.cjs";
4
3
  type MentionChipStatus = "resolving" | "ready" | "error";
5
4
  interface MentionChipParts {
6
5
  el: HTMLElement;
7
6
  /** Update lifecycle state; `payload` is forwarded to `renderMentionChip` once resolved. */
8
7
  setStatus: (status: MentionChipStatus, payload?: AgentWidgetContextMentionPayload) => void;
9
8
  }
10
- //#endregion
11
- //#region src/utils/context-mention-manager.d.ts
12
9
  interface PendingMention {
13
10
  key: string;
14
11
  source: AgentWidgetContextMentionSource;
@@ -44,6 +41,5 @@ interface MentionSubmitBundle {
44
41
  /** Namespaced `{ [sourceId]: { [itemId]: context } }` for the opt-in path. */
45
42
  context: Record<string, Record<string, unknown>>;
46
43
  }
47
- //#endregion
48
44
  export { MentionSubmitBundle as n, ContextMentionDraft as t };
49
45
  export {}
@@ -1,14 +1,11 @@
1
- import { B as AgentWidgetContextMentionRef, I as AgentWidgetContextMentionItem, Rr as ContentPart, U as AgentWidgetContextMentionSource, z as AgentWidgetContextMentionPayload } from "./types-BOZHQIk0.cjs";
2
- import "./composer-input-dwg_o9Z-.cjs";
3
- //#region src/components/context-mention-chip.d.ts
1
+ import { B as AgentWidgetContextMentionRef, I as AgentWidgetContextMentionItem, U as AgentWidgetContextMentionSource, Ur as ContentPart, z as AgentWidgetContextMentionPayload } from "./types-BC7MRxO5.js";
2
+ import "./composer-input-i_FiUp6J.js";
4
3
  type MentionChipStatus = "resolving" | "ready" | "error";
5
4
  interface MentionChipParts {
6
5
  el: HTMLElement;
7
6
  /** Update lifecycle state; `payload` is forwarded to `renderMentionChip` once resolved. */
8
7
  setStatus: (status: MentionChipStatus, payload?: AgentWidgetContextMentionPayload) => void;
9
8
  }
10
- //#endregion
11
- //#region src/utils/context-mention-manager.d.ts
12
9
  interface PendingMention {
13
10
  key: string;
14
11
  source: AgentWidgetContextMentionSource;
@@ -44,6 +41,5 @@ interface MentionSubmitBundle {
44
41
  /** Namespaced `{ [sourceId]: { [itemId]: context } }` for the opt-in path. */
45
42
  context: Record<string, Record<string, unknown>>;
46
43
  }
47
- //#endregion
48
44
  export { MentionSubmitBundle as n, ContextMentionDraft as t };
49
45
  export {}
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return e.kind===`text`?e.value.length:1}function t(e){let t=[],n=e=>{let n=t[t.length-1];n&&n.kind===`text`?n.value+=e:t.push({kind:`text`,value:e})};(e.length===0||e[0].kind!==`text`)&&t.push({kind:`text`,value:``});for(let r of e){if(r.kind===`text`){n(r.value);continue}let e=t[t.length-1];(!e||e.kind!==`text`)&&t.push({kind:`text`,value:``}),t.push({kind:`mention`,id:r.id,ref:r.ref}),t.push({kind:`text`,value:``})}let r=t[t.length-1];return(!r||r.kind!==`text`)&&t.push({kind:`text`,value:``}),t}function n(){return{blocks:[{kind:`text`,value:``}]}}function r(e){return{blocks:[{kind:`text`,value:e}]}}function i(e){return e.blocks.map(e=>e.kind===`text`?e.value:`@${e.ref.label}`).join(``)}function a(e){return e.blocks.map(e=>e.kind===`text`?e.value:``).join(``)}function o(t){return t.blocks.reduce((t,n)=>t+e(n),0)}function s(e){let t=[];for(let n of e.blocks)n.kind===`mention`&&t.push({id:n.id,ref:n.ref});return t}function c(t,n){let r=[],i=[],a=0;for(let o of t){let t=e(o),s=a+t;if(s<=n)r.push(o);else if(a>=n)i.push(o);else if(o.kind===`text`){let e=n-a;e>0&&r.push({kind:`text`,value:o.value.slice(0,e)}),e<t&&i.push({kind:`text`,value:o.value.slice(e)})}else i.push(o);a=s}return{left:r,right:i}}function l(e,n,r,i){let a=c(e.blocks,n.start).left,o=c(e.blocks,n.end).right,s=o[0],l=s?.kind===`text`?s.value.charAt(0):``,u=l!==` `&&l!==` `&&l!==`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return e.kind===`text`?e.value.length:1}function t(e){let t=[],n=e=>{let n=t[t.length-1];n&&n.kind===`text`?n.value+=e:t.push({kind:`text`,value:e})};(e.length===0||e[0].kind!==`text`)&&t.push({kind:`text`,value:``});for(let r of e){if(r.kind===`text`){n(r.value);continue}let e=t[t.length-1];e&&e.kind===`text`||t.push({kind:`text`,value:``}),t.push({kind:`mention`,id:r.id,ref:r.ref}),t.push({kind:`text`,value:``})}let r=t[t.length-1];return r&&r.kind===`text`||t.push({kind:`text`,value:``}),t}function n(){return{blocks:[{kind:`text`,value:``}]}}function r(e){return{blocks:[{kind:`text`,value:e}]}}function i(e){return e.blocks.map(e=>e.kind===`text`?e.value:`@${e.ref.label}`).join(``)}function a(e){return e.blocks.map(e=>e.kind===`text`?e.value:``).join(``)}function o(t){return t.blocks.reduce((t,n)=>t+e(n),0)}function s(e){let t=[];for(let n of e.blocks)n.kind===`mention`&&t.push({id:n.id,ref:n.ref});return t}function c(t,n){let r=[],i=[],a=0;for(let o of t){let t=e(o),s=a+t;if(s<=n)r.push(o);else if(a>=n)i.push(o);else if(o.kind===`text`){let e=n-a;e>0&&r.push({kind:`text`,value:o.value.slice(0,e)}),e<t&&i.push({kind:`text`,value:o.value.slice(e)})}else i.push(o);a=s}return{left:r,right:i}}function l(e,n,r,i){let a=c(e.blocks,n.start).left,o=c(e.blocks,n.end).right,s=o[0],l=s?.kind===`text`?s.value.charAt(0):``,u=l!==` `&&l!==` `&&l!==`
2
2
  `,d=t([...a,{kind:`mention`,id:i,ref:r},...u?[{kind:`text`,value:` `}]:[],...o]),f=n.start+1+(l===`
3
3
  `?0:1);return{doc:{blocks:d},caret:f}}function u(n,r){let i=0,a=0,o=!1;for(let t of n.blocks)t.kind===`mention`&&t.id===r&&(i=a,o=!0),a+=e(t);return o?{doc:{blocks:t(n.blocks.filter(e=>e.kind!==`mention`||e.id!==r))},caret:i}:{doc:n,caret:a}}function d(e,n,r,i){let a=o(e),s=Math.max(0,Math.min(n,r,a)),l=Math.min(a,Math.max(n,r,0)),u=c(e.blocks,s).left,d=c(e.blocks,l).right;return{doc:{blocks:t([...u,{kind:`text`,value:i},...d])},caret:s+i.length}}function f(e){let t=[];for(let n of e.blocks)n.kind===`text`?n.value.length>0&&t.push({kind:`text`,text:n.value}):t.push({kind:`mention`,ref:n.ref});return{content:i(e),contextMentions:s(e).map(e=>e.ref),contentSegments:t}}function p(e){e&&(typeof e.requestSubmit==`function`?e.requestSubmit():e.dispatchEvent(new Event(`submit`,{bubbles:!0,cancelable:!0})))}const m=`data-mention-id`,h=`data-mention-prev-label`,g=`data-mention-prev-title`;function _(e){return e.nodeType===1&&e.hasAttribute(m)}function v(e){return e.nodeType===1&&e.tagName===`BR`}function y(e){return e.nodeType===3?e.data.length:_(e)||v(e)?1:e.textContent?.length??0}function b(e,t,n){let r=0;for(let i of Array.from(e.childNodes)){if(i===t)return i.nodeType===3?r+n:r+(n>0?y(i):0);if(i.contains(t))return _(i)?r+1:r+x(i,t,n);r+=y(i)}if(t===e){let t=0,r=Array.from(e.childNodes);for(let e=0;e<Math.min(n,r.length);e++)t+=y(r[e]);return t}return r}function x(e,t,n){let r=0,i=e=>{if(e===t)return r+=e.nodeType===3?n:0,!0;if(e.nodeType===3)return r+=e.data.length,!1;for(let t of Array.from(e.childNodes))if(i(t))return!0;return!1};return i(e),r}function S(e,t){let n=0,r=Array.from(e.childNodes);for(let i=0;i<r.length;i++){let a=r[i],o=y(a);if(t<=n+o)return a.nodeType===3?{node:a,offset:t-n}:{node:e,offset:t<=n?i:i+1};n+=o}return{node:e,offset:r.length}}function C(e,t){let n=[];for(let r of Array.from(e.childNodes))if(_(r)){let e=r.getAttribute(m),i=t.get(e);i&&n.push({kind:`mention`,id:e,ref:i})}else if(v(r))n.push({kind:`text`,value:`
4
4
  `});else if(r.nodeType===3)n.push({kind:`text`,value:r.data});else{let e=r.textContent??``;e&&n.push({kind:`text`,value:e})}return n.length===0&&n.push({kind:`text`,value:``}),{blocks:n}}function w(e){let t=e.renderToken,s=/* @__PURE__ */ new Map,c=e.element??document.createElement(`div`);c.setAttribute(`contenteditable`,`true`),c.setAttribute(`data-persona-composer-input`,``),c.setAttribute(`role`,`textbox`),c.setAttribute(`aria-multiline`,`true`),c.setAttribute(`dir`,`auto`),c.classList.add(`persona-composer-contenteditable`),e.placeholder!=null&&c.setAttribute(`data-placeholder`,e.placeholder);let f=!1,v=0,y=()=>C(c,s),x=e=>{c.replaceChildren();for(let n of e.blocks)if(n.kind===`text`)n.value.length>0&&c.appendChild(document.createTextNode(n.value));else{s.set(n.id,n.ref);let e=t(n.ref);e.setAttribute(`contenteditable`,`false`),e.setAttribute(m,n.id),c.appendChild(e)}},w=()=>{let e=c.getRootNode().activeElement;return e===c||e!=null&&c.contains(e)},T=(e,t)=>{if(v=e,!t?.focus&&!w())return;let n=typeof window<`u`?window.getSelection():null;if(!n)return;let r=S(c,e);try{let e=document.createRange();e.setStart(r.node,r.offset),e.collapse(!0),n.removeAllRanges(),n.addRange(e)}catch{}},E=()=>{c.dispatchEvent(new Event(`input`,{bubbles:!0}))},D=()=>{let e={start:v,end:v},t=typeof window<`u`?window.getSelection():null;if(!t||t.rangeCount===0)return e;let n=t.getRangeAt(0);if(!c.contains(n.startContainer))return e;let r=b(c,n.startContainer,n.startOffset),i=n.collapsed?r:b(c,n.endContainer,n.endOffset);return{start:Math.min(r,i),end:Math.max(r,i)}},O=()=>{let t=/* @__PURE__ */ new Set;for(let e of Array.from(c.childNodes))_(e)&&t.add(e.getAttribute(m));for(let n of Array.from(s.keys()))t.has(n)||(s.delete(n),e.onMentionRemoved?.(n))},k=()=>{f||s.size!==0&&O()},A=()=>{f=!0},j=()=>{f=!1,O()},M=e=>{e.preventDefault();let t=e.clipboardData?.getData(`text/plain`)??``;if(typeof document.execCommand==`function`)document.execCommand(`insertText`,!1,t);else{let{start:e,end:n}=D(),r=d(y(),e,n,t);x(r.doc),T(r.caret,{focus:!0}),O()}E()},N=e=>{if(f)return;let t=e.inputType;if(t===`insertParagraph`){e.preventDefault();let{start:t,end:n}=D(),r=d(y(),t,n,`
@@ -1,6 +1,5 @@
1
- import { B as AgentWidgetContextMentionRef } from "./types-BOZHQIk0.cjs";
2
- import { t as ComposerInputCapability } from "./composer-input-dwg_o9Z-.cjs";
3
- //#region src/context-mentions-inline-entry.d.ts
1
+ import { B as AgentWidgetContextMentionRef } from "./types-BC7MRxO5.cjs";
2
+ import { t as ComposerInputCapability } from "./composer-input-i_FiUp6J.cjs";
4
3
  interface InlineComposerMountContext {
5
4
  /** The live composer textarea to migrate from (value + caret + look). */
6
5
  textarea: HTMLTextAreaElement;
@@ -26,6 +25,5 @@ interface InlineComposerHandle {
26
25
  destroy: () => void;
27
26
  }
28
27
  export declare function mountInlineComposer(ctx: InlineComposerMountContext): InlineComposerHandle;
29
- //#endregion
30
28
  export type { InlineComposerHandle, InlineComposerMountContext };
31
29
  export {}
@@ -1,6 +1,5 @@
1
- import { B as AgentWidgetContextMentionRef } from "./types-BOZHQIk0.js";
2
- import { t as ComposerInputCapability } from "./composer-input-dwg_o9Z-.js";
3
- //#region src/context-mentions-inline-entry.d.ts
1
+ import { B as AgentWidgetContextMentionRef } from "./types-BC7MRxO5.js";
2
+ import { t as ComposerInputCapability } from "./composer-input-i_FiUp6J.js";
4
3
  interface InlineComposerMountContext {
5
4
  /** The live composer textarea to migrate from (value + caret + look). */
6
5
  textarea: HTMLTextAreaElement;
@@ -26,6 +25,5 @@ interface InlineComposerHandle {
26
25
  destroy: () => void;
27
26
  }
28
27
  export declare function mountInlineComposer(ctx: InlineComposerMountContext): InlineComposerHandle;
29
- //#endregion
30
28
  export type { InlineComposerHandle, InlineComposerMountContext };
31
29
  export {}
@@ -1,4 +1,4 @@
1
- function e(e){return e.kind===`text`?e.value.length:1}function t(e){let t=[],n=e=>{let n=t[t.length-1];n&&n.kind===`text`?n.value+=e:t.push({kind:`text`,value:e})};(e.length===0||e[0].kind!==`text`)&&t.push({kind:`text`,value:``});for(let r of e){if(r.kind===`text`){n(r.value);continue}let e=t[t.length-1];(!e||e.kind!==`text`)&&t.push({kind:`text`,value:``}),t.push({kind:`mention`,id:r.id,ref:r.ref}),t.push({kind:`text`,value:``})}let r=t[t.length-1];return(!r||r.kind!==`text`)&&t.push({kind:`text`,value:``}),t}function n(){return{blocks:[{kind:`text`,value:``}]}}function r(e){return{blocks:[{kind:`text`,value:e}]}}function i(e){return e.blocks.map(e=>e.kind===`text`?e.value:`@${e.ref.label}`).join(``)}function a(e){return e.blocks.map(e=>e.kind===`text`?e.value:``).join(``)}function o(t){return t.blocks.reduce((t,n)=>t+e(n),0)}function s(e){let t=[];for(let n of e.blocks)n.kind===`mention`&&t.push({id:n.id,ref:n.ref});return t}function c(t,n){let r=[],i=[],a=0;for(let o of t){let t=e(o),s=a+t;if(s<=n)r.push(o);else if(a>=n)i.push(o);else if(o.kind===`text`){let e=n-a;e>0&&r.push({kind:`text`,value:o.value.slice(0,e)}),e<t&&i.push({kind:`text`,value:o.value.slice(e)})}else i.push(o);a=s}return{left:r,right:i}}function l(e,n,r,i){let a=c(e.blocks,n.start).left,o=c(e.blocks,n.end).right,s=o[0],l=s?.kind===`text`?s.value.charAt(0):``,u=l!==` `&&l!==` `&&l!==`
1
+ function e(e){return e.kind===`text`?e.value.length:1}function t(e){let t=[],n=e=>{let n=t[t.length-1];n&&n.kind===`text`?n.value+=e:t.push({kind:`text`,value:e})};(e.length===0||e[0].kind!==`text`)&&t.push({kind:`text`,value:``});for(let r of e){if(r.kind===`text`){n(r.value);continue}let e=t[t.length-1];e&&e.kind===`text`||t.push({kind:`text`,value:``}),t.push({kind:`mention`,id:r.id,ref:r.ref}),t.push({kind:`text`,value:``})}let r=t[t.length-1];return r&&r.kind===`text`||t.push({kind:`text`,value:``}),t}function n(){return{blocks:[{kind:`text`,value:``}]}}function r(e){return{blocks:[{kind:`text`,value:e}]}}function i(e){return e.blocks.map(e=>e.kind===`text`?e.value:`@${e.ref.label}`).join(``)}function a(e){return e.blocks.map(e=>e.kind===`text`?e.value:``).join(``)}function o(t){return t.blocks.reduce((t,n)=>t+e(n),0)}function s(e){let t=[];for(let n of e.blocks)n.kind===`mention`&&t.push({id:n.id,ref:n.ref});return t}function c(t,n){let r=[],i=[],a=0;for(let o of t){let t=e(o),s=a+t;if(s<=n)r.push(o);else if(a>=n)i.push(o);else if(o.kind===`text`){let e=n-a;e>0&&r.push({kind:`text`,value:o.value.slice(0,e)}),e<t&&i.push({kind:`text`,value:o.value.slice(e)})}else i.push(o);a=s}return{left:r,right:i}}function l(e,n,r,i){let a=c(e.blocks,n.start).left,o=c(e.blocks,n.end).right,s=o[0],l=s?.kind===`text`?s.value.charAt(0):``,u=l!==` `&&l!==` `&&l!==`
2
2
  `,d=t([...a,{kind:`mention`,id:i,ref:r},...u?[{kind:`text`,value:` `}]:[],...o]),f=n.start+1+(l===`
3
3
  `?0:1);return{doc:{blocks:d},caret:f}}function u(n,r){let i=0,a=0,o=!1;for(let t of n.blocks)t.kind===`mention`&&t.id===r&&(i=a,o=!0),a+=e(t);return o?{doc:{blocks:t(n.blocks.filter(e=>e.kind!==`mention`||e.id!==r))},caret:i}:{doc:n,caret:a}}function d(e,n,r,i){let a=o(e),s=Math.max(0,Math.min(n,r,a)),l=Math.min(a,Math.max(n,r,0)),u=c(e.blocks,s).left,d=c(e.blocks,l).right;return{doc:{blocks:t([...u,{kind:`text`,value:i},...d])},caret:s+i.length}}function f(e){let t=[];for(let n of e.blocks)n.kind===`text`?n.value.length>0&&t.push({kind:`text`,text:n.value}):t.push({kind:`mention`,ref:n.ref});return{content:i(e),contextMentions:s(e).map(e=>e.ref),contentSegments:t}}function p(e){e&&(typeof e.requestSubmit==`function`?e.requestSubmit():e.dispatchEvent(new Event(`submit`,{bubbles:!0,cancelable:!0})))}const m=`data-mention-id`,h=`data-mention-prev-label`,g=`data-mention-prev-title`;function _(e){return e.nodeType===1&&e.hasAttribute(m)}function v(e){return e.nodeType===1&&e.tagName===`BR`}function y(e){return e.nodeType===3?e.data.length:_(e)||v(e)?1:e.textContent?.length??0}function b(e,t,n){let r=0;for(let i of Array.from(e.childNodes)){if(i===t)return i.nodeType===3?r+n:r+(n>0?y(i):0);if(i.contains(t))return _(i)?r+1:r+x(i,t,n);r+=y(i)}if(t===e){let t=0,r=Array.from(e.childNodes);for(let e=0;e<Math.min(n,r.length);e++)t+=y(r[e]);return t}return r}function x(e,t,n){let r=0,i=e=>{if(e===t)return r+=e.nodeType===3?n:0,!0;if(e.nodeType===3)return r+=e.data.length,!1;for(let t of Array.from(e.childNodes))if(i(t))return!0;return!1};return i(e),r}function S(e,t){let n=0,r=Array.from(e.childNodes);for(let i=0;i<r.length;i++){let a=r[i],o=y(a);if(t<=n+o)return a.nodeType===3?{node:a,offset:t-n}:{node:e,offset:t<=n?i:i+1};n+=o}return{node:e,offset:r.length}}function C(e,t){let n=[];for(let r of Array.from(e.childNodes))if(_(r)){let e=r.getAttribute(m),i=t.get(e);i&&n.push({kind:`mention`,id:e,ref:i})}else if(v(r))n.push({kind:`text`,value:`
4
4
  `});else if(r.nodeType===3)n.push({kind:`text`,value:r.data});else{let e=r.textContent??``;e&&n.push({kind:`text`,value:e})}return n.length===0&&n.push({kind:`text`,value:``}),{blocks:n}}function w(e){let t=e.renderToken,s=/* @__PURE__ */ new Map,c=e.element??document.createElement(`div`);c.setAttribute(`contenteditable`,`true`),c.setAttribute(`data-persona-composer-input`,``),c.setAttribute(`role`,`textbox`),c.setAttribute(`aria-multiline`,`true`),c.setAttribute(`dir`,`auto`),c.classList.add(`persona-composer-contenteditable`),e.placeholder!=null&&c.setAttribute(`data-placeholder`,e.placeholder);let f=!1,v=0,y=()=>C(c,s),x=e=>{c.replaceChildren();for(let n of e.blocks)if(n.kind===`text`)n.value.length>0&&c.appendChild(document.createTextNode(n.value));else{s.set(n.id,n.ref);let e=t(n.ref);e.setAttribute(`contenteditable`,`false`),e.setAttribute(m,n.id),c.appendChild(e)}},w=()=>{let e=c.getRootNode().activeElement;return e===c||e!=null&&c.contains(e)},T=(e,t)=>{if(v=e,!t?.focus&&!w())return;let n=typeof window<`u`?window.getSelection():null;if(!n)return;let r=S(c,e);try{let e=document.createRange();e.setStart(r.node,r.offset),e.collapse(!0),n.removeAllRanges(),n.addRange(e)}catch{}},E=()=>{c.dispatchEvent(new Event(`input`,{bubbles:!0}))},D=()=>{let e={start:v,end:v},t=typeof window<`u`?window.getSelection():null;if(!t||t.rangeCount===0)return e;let n=t.getRangeAt(0);if(!c.contains(n.startContainer))return e;let r=b(c,n.startContainer,n.startOffset),i=n.collapsed?r:b(c,n.endContainer,n.endOffset);return{start:Math.min(r,i),end:Math.max(r,i)}},O=()=>{let t=/* @__PURE__ */ new Set;for(let e of Array.from(c.childNodes))_(e)&&t.add(e.getAttribute(m));for(let n of Array.from(s.keys()))t.has(n)||(s.delete(n),e.onMentionRemoved?.(n))},k=()=>{f||s.size!==0&&O()},A=()=>{f=!0},j=()=>{f=!1,O()},M=e=>{e.preventDefault();let t=e.clipboardData?.getData(`text/plain`)??``;if(typeof document.execCommand==`function`)document.execCommand(`insertText`,!1,t);else{let{start:e,end:n}=D(),r=d(y(),e,n,t);x(r.doc),T(r.caret,{focus:!0}),O()}E()},N=e=>{if(f)return;let t=e.inputType;if(t===`insertParagraph`){e.preventDefault();let{start:t,end:n}=D(),r=d(y(),t,n,`
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports);const t=(e,t)=>{let n=document.createElement(e);return t&&(n.className=t),n},n=(e,t={},...n)=>{let r=document.createElement(e);if(t.className&&(r.className=t.className),t.text!==void 0&&(r.textContent=t.text),t.attrs)for(let[e,n]of Object.entries(t.attrs))r.setAttribute(e,n);if(t.style){let e=r.style,n=t.style;for(let t of Object.keys(n)){let r=n[t];r!=null&&(e[t]=r)}}let i=n.filter(e=>e!=null);return i.length>0&&r.append(...i),r}
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports);const t=(e,t)=>{let n=document.createElement(e);return t&&(n.className=t),n},n=(e,t={},...n)=>{let r=document.createElement(e);if(t.className&&(r.className=t.className),t.text!==void 0&&(r.textContent=t.text),t.attrs)for(let[e,n]of Object.entries(t.attrs))r.setAttribute(e,n);if(t.style){let e=r.style,n=t.style;for(let t of Object.keys(n)){let r=n[t];r!=null&&(e[t]=r)}}let i=n.filter(e=>e!=null);return i.length>0&&r.append(...i),r}
2
2
  /**
3
3
  * @license lucide v1.18.0 - ISC
4
4
  *