@runtypelabs/persona 4.33.0 → 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.
- package/dist/activity-ui.d.cts +3 -15
- package/dist/activity-ui.d.ts +3 -15
- package/dist/animations/glyph-cycle.d.cts +1 -3
- package/dist/animations/glyph-cycle.d.ts +1 -3
- package/dist/animations/wipe.d.cts +1 -3
- package/dist/animations/wipe.d.ts +1 -3
- package/dist/approval-ui.cjs +2 -2
- package/dist/approval-ui.d.cts +3 -15
- package/dist/approval-ui.d.ts +3 -15
- package/dist/approval-ui.js +1 -1
- package/dist/artifacts-ui.cjs +1 -1
- package/dist/artifacts-ui.d.cts +3 -21
- package/dist/artifacts-ui.d.ts +3 -21
- package/dist/background-runtime.d.cts +2 -3
- package/dist/background-runtime.d.ts +2 -3
- package/dist/{chunk-gu34lr-P.js → chunk-Brdx4NCz.js} +1 -1
- package/dist/{chunk-dLJWKfOb.js → chunk-C-rux8Q9.js} +1 -1
- package/dist/{chunk-Ds_twaZn.js → chunk-C4v-HNhS.js} +1 -1
- package/dist/{chunk-Bkma5hIU.js → chunk-CE4seJxF.js} +1 -1
- package/dist/{chunk-D6U0E82p.js → chunk-CV8EPIhT.js} +1 -1
- package/dist/{chunk-ql5N2I_t.js → chunk-CWzHNuVK.js} +1 -1
- package/dist/{chunk-DbGLjU2P.js → chunk-CYpt7PsO.js} +1 -1
- package/dist/{chunk-DOZmcve8.js → chunk-Csr59G5V.js} +1 -1
- package/dist/{chunk-DW7Vg_l2.js → chunk-CxNPSY-b.js} +1 -1
- package/dist/chunk-Dqa_GOcj.js +1 -0
- package/dist/chunk-DsWv3EGF.js +1 -0
- package/dist/{chunk-C7-m0EmI.js → chunk-NUNdcnAZ.js} +1 -1
- package/dist/{chunk-CXQJG7pb.js → chunk-YMkMvAsa.js} +2 -2
- package/dist/{chunk-C-EHtpbB.js → chunk-h5aOI_Pa.js} +1 -1
- package/dist/chunk-kizhspe5.js +1 -0
- package/dist/client-dispatch.js +1 -1
- package/dist/client-history.js +1 -1
- package/dist/client-stream.js +1 -1
- package/dist/{code-generators-DqauYyfX.d.cts → code-generators-DPAqTcAz.d.cts} +0 -2
- package/dist/{code-generators-DqauYyfX.d.ts → code-generators-DPAqTcAz.d.ts} +0 -2
- package/dist/codegen.cjs +1 -1
- package/dist/codegen.d.cts +1 -1
- package/dist/codegen.d.ts +1 -1
- package/dist/codegen.js +1 -1
- package/dist/composer-actions-runtime.cjs +1 -1
- package/dist/composer-actions-runtime.d.cts +4 -20
- package/dist/composer-actions-runtime.d.ts +4 -20
- package/dist/composer-actions-runtime.js +1 -1
- package/dist/{composer-input-DnqGCXZz.d.ts → composer-input-i_FiUp6J.d.cts} +1 -7
- package/dist/{composer-input-DnqGCXZz.d.cts → composer-input-i_FiUp6J.d.ts} +1 -7
- package/dist/{composer-store-6Iwy6WLI.d.ts → composer-store-DhGNgG7Z.d.cts} +1 -3
- package/dist/{composer-store-6Iwy6WLI.d.cts → composer-store-DhGNgG7Z.d.ts} +1 -3
- package/dist/config-diagnostics.d.cts +0 -2
- package/dist/config-diagnostics.d.ts +0 -2
- package/dist/{context-mention-manager-B-rHF98n.d.ts → context-mention-manager-DL-xwGfL.d.cts} +2 -6
- package/dist/{context-mention-manager-B-rHF98n.d.cts → context-mention-manager-DL-xwGfL.d.ts} +2 -6
- package/dist/context-mentions-inline.cjs +1 -1
- package/dist/context-mentions-inline.d.cts +2 -4
- package/dist/context-mentions-inline.d.ts +2 -4
- package/dist/context-mentions-inline.js +1 -1
- package/dist/context-mentions.cjs +1 -1
- package/dist/context-mentions.d.cts +3 -9
- package/dist/context-mentions.d.ts +3 -9
- package/dist/{defaults-BuOjqUAG.d.ts → defaults-Bga2Xrsp.d.cts} +1 -5
- package/dist/{defaults-BuOjqUAG.d.cts → defaults-Bga2Xrsp.d.ts} +1 -5
- package/dist/dictation-runtime.cjs +1 -1
- package/dist/dictation-runtime.d.cts +4 -13
- package/dist/dictation-runtime.d.ts +4 -13
- package/dist/dictation-runtime.js +1 -1
- package/dist/{dom-context-DHTabIn7.d.cts → dom-context-Bw-_9Evh.d.cts} +0 -2
- package/dist/{dom-context-DHTabIn7.d.ts → dom-context-Bw-_9Evh.d.ts} +0 -2
- package/dist/event-stream-view.cjs +1 -1
- package/dist/event-stream-view.d.cts +3 -16
- package/dist/event-stream-view.d.ts +3 -16
- package/dist/{fallback-speech-engine-SqEfkGda.d.ts → fallback-speech-engine-kLdyPcmk.d.cts} +1 -3
- package/dist/{fallback-speech-engine-SqEfkGda.d.cts → fallback-speech-engine-kLdyPcmk.d.ts} +1 -3
- package/dist/{feature-preferences-DqAmje-2.d.ts → feature-preferences-CmwZGKrf.d.cts} +1 -5
- package/dist/{feature-preferences-DqAmje-2.d.cts → feature-preferences-CmwZGKrf.d.ts} +1 -5
- package/dist/forms-ui.d.cts +2 -4
- package/dist/forms-ui.d.ts +2 -4
- package/dist/{history-confirm-dialog-B3L7QNcO.d.cts → history-confirm-dialog-i46-lPN_.d.cts} +2 -14
- package/dist/{history-confirm-dialog-B3L7QNcO.d.ts → history-confirm-dialog-i46-lPN_.d.ts} +2 -14
- package/dist/history-shell.cjs +1 -1
- package/dist/history-shell.d.cts +8 -27
- package/dist/history-shell.d.ts +8 -27
- package/dist/history-shell.js +1 -1
- package/dist/history-view.d.cts +1 -1
- package/dist/history-view.d.ts +1 -1
- package/dist/icons-extra.cjs +1 -1
- package/dist/icons-extra.d.cts +0 -2
- package/dist/icons-extra.d.ts +0 -2
- package/dist/index.cjs +45 -45
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -10
- package/dist/index.d.ts +10 -10
- package/dist/index.global.js +1 -1
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +49 -49
- package/dist/index.js.map +1 -1
- package/dist/install.global.js +1 -1
- package/dist/install.global.js.map +1 -1
- package/dist/launcher.global.js +2 -2
- package/dist/launcher.global.js.map +1 -1
- package/dist/{loading-label-runtime-loader-JecjOfJS.d.ts → loading-label-runtime-loader-Ccr3ETd3.d.cts} +1 -3
- package/dist/{loading-label-runtime-loader-JecjOfJS.d.cts → loading-label-runtime-loader-Ccr3ETd3.d.ts} +1 -3
- package/dist/loading-label-runtime.cjs +1 -1
- package/dist/loading-label-runtime.d.cts +1 -1
- package/dist/loading-label-runtime.d.ts +1 -1
- package/dist/loading-label-runtime.js +1 -1
- package/dist/markdown-parsers.js +1 -1
- package/dist/{message-bubble-CBYtpDsT.d.ts → message-bubble-C6AVaH7f.d.cts} +20 -3
- package/dist/{message-bubble-CBYtpDsT.d.cts → message-bubble-C6AVaH7f.d.ts} +20 -3
- package/dist/{plugin-kit-C1mRjLgW.d.cts → plugin-kit-BVggqE3C.d.cts} +0 -2
- package/dist/{plugin-kit-C1mRjLgW.d.ts → plugin-kit-BVggqE3C.d.ts} +0 -2
- package/dist/plugin-kit.d.cts +1 -1
- package/dist/plugin-kit.d.ts +1 -1
- package/dist/preferences-runtime.cjs +1 -1
- package/dist/preferences-runtime.d.cts +1 -1
- package/dist/preferences-runtime.d.ts +1 -1
- package/dist/preferences-runtime.js +1 -1
- package/dist/{preview-_UJwwt2L.d.cts → preview-BMdRffo4.d.cts} +2 -6
- package/dist/{preview-_UJwwt2L.d.ts → preview-BMdRffo4.d.ts} +2 -6
- package/dist/{registry-B5ZV3K-h.d.ts → registry-B16l8s1b.d.cts} +1 -8
- package/dist/{registry-B5ZV3K-h.d.cts → registry-B16l8s1b.d.ts} +1 -8
- package/dist/{session-Bys8_XuB.d.cts → session-CtZHe7fc.d.cts} +8 -92
- package/dist/{session-Bys8_XuB.d.ts → session-CtZHe7fc.d.ts} +8 -92
- package/dist/session-reconnect.d.cts +2 -4
- package/dist/session-reconnect.d.ts +2 -4
- package/dist/smart-dom-reader.d.cts +2 -8
- package/dist/smart-dom-reader.d.ts +2 -8
- package/dist/testing.d.cts +0 -2
- package/dist/testing.d.ts +0 -2
- package/dist/theme-editor-preview.cjs +42 -42
- package/dist/theme-editor-preview.d.cts +1 -1
- package/dist/theme-editor-preview.d.ts +1 -1
- package/dist/theme-editor-preview.js +25 -25
- package/dist/theme-editor.cjs +25 -5
- package/dist/theme-editor.d.cts +2 -22
- package/dist/theme-editor.d.ts +2 -22
- package/dist/theme-editor.js +1 -1
- package/dist/theme-reference.cjs +1 -1
- package/dist/theme-reference.d.cts +2 -4
- package/dist/theme-reference.d.ts +2 -4
- package/dist/theme-reference.js +1 -1
- package/dist/{tool-loading-animation-d5qAQcwv.d.ts → tool-loading-animation-D2cyFvmM.d.cts} +1 -7
- package/dist/{tool-loading-animation-d5qAQcwv.d.cts → tool-loading-animation-D2cyFvmM.d.ts} +1 -7
- package/dist/{tooltip-BkW-8MnD.d.cts → tooltip-DbXkAuJL.d.cts} +0 -2
- package/dist/{tooltip-BkW-8MnD.d.ts → tooltip-DbXkAuJL.d.ts} +0 -2
- package/dist/{turn-activity-ui-q6fHVnx-.d.cts → turn-activity-ui-Do1Nd-Ow.d.cts} +2 -12
- package/dist/{turn-activity-ui-q6fHVnx-.d.ts → turn-activity-ui-Do1Nd-Ow.d.ts} +2 -12
- package/dist/turn-activity-ui.d.cts +1 -1
- package/dist/turn-activity-ui.d.ts +1 -1
- package/dist/{types-B_mj21jg.d.cts → types-BC7MRxO5.d.cts} +76 -29
- package/dist/{types-B_mj21jg.d.ts → types-BC7MRxO5.d.ts} +76 -29
- package/dist/ui-extras.js +3 -3
- package/dist/voice-client-tools.d.cts +1 -3
- package/dist/voice-client-tools.d.ts +1 -3
- package/dist/voice-runtime.cjs +1 -1
- package/dist/voice-runtime.d.cts +2 -12
- package/dist/voice-runtime.d.ts +2 -12
- package/dist/voice-runtime.js +2 -2
- package/dist/voice-worklet-player.d.cts +2 -6
- package/dist/voice-worklet-player.d.ts +2 -6
- package/dist/{webmcp-runtime-entry-ClEO3qdI.d.ts → webmcp-runtime-entry-B8g46vS0.d.cts} +1 -5
- package/dist/{webmcp-runtime-entry-ClEO3qdI.d.cts → webmcp-runtime-entry-B8g46vS0.d.ts} +1 -5
- package/dist/webmcp-runtime.d.cts +1 -1
- package/dist/webmcp-runtime.d.ts +1 -1
- package/dist/widget.css +1 -1
- package/package.json +4 -4
- package/src/components/event-stream-view.test.ts +5 -0
- package/src/components/message-bubble.ts +26 -6
- package/src/components/scroll-to-bottom.test.ts +135 -0
- package/src/components/scroll-to-bottom.ts +50 -13
- package/src/components/user-message-collapse.ts +117 -0
- package/src/defaults.ts +6 -0
- package/src/styles/widget.css +56 -0
- package/src/theme-reference.ts +2 -2
- package/src/types/theme.ts +29 -0
- package/src/types.ts +49 -5
- package/src/ui.scroll-additive.test.ts +219 -117
- package/src/ui.scroll.test.ts +176 -13
- package/src/ui.ts +230 -107
- package/src/ui.turn-activity.test.ts +7 -7
- package/src/ui.user-message-collapse.test.ts +540 -0
- package/src/utils/auto-follow.test.ts +0 -38
- package/src/utils/auto-follow.ts +0 -35
- package/src/utils/theme.test.ts +23 -0
- package/src/utils/tokens.ts +16 -0
- package/dist/chunk-CVMIncEY.js +0 -1
- package/dist/chunk-DVgzoVCB.js +0 -1
- package/dist/chunk-d54BJdKd.js +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/utils/code-generators.d.ts
|
|
2
1
|
type CodeFormat = "esm" | "script-installer" | "script-manual" | "script-advanced" | "react-component" | "react-advanced";
|
|
3
2
|
/**
|
|
4
3
|
* Hook code templates for code generation.
|
|
@@ -176,6 +175,5 @@ type CodeGeneratorOptions = {
|
|
|
176
175
|
* The installer format is JSON-only and cannot include hooks or function icons.
|
|
177
176
|
*/
|
|
178
177
|
declare function generateCodeSnippet(config: any, format?: CodeFormat, options?: CodeGeneratorOptions): string;
|
|
179
|
-
//#endregion
|
|
180
178
|
export { generateCodeSnippet as i, CodeGeneratorHooks as n, CodeGeneratorOptions as r, CodeFormat as t };
|
|
181
179
|
export {}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/utils/code-generators.d.ts
|
|
2
1
|
type CodeFormat = "esm" | "script-installer" | "script-manual" | "script-advanced" | "react-component" | "react-advanced";
|
|
3
2
|
/**
|
|
4
3
|
* Hook code templates for code generation.
|
|
@@ -176,6 +175,5 @@ type CodeGeneratorOptions = {
|
|
|
176
175
|
* The installer format is JSON-only and cannot include hooks or function icons.
|
|
177
176
|
*/
|
|
178
177
|
declare function generateCodeSnippet(config: any, format?: CodeFormat, options?: CodeGeneratorOptions): string;
|
|
179
|
-
//#endregion
|
|
180
178
|
export { generateCodeSnippet as i, CodeGeneratorHooks as n, CodeGeneratorOptions as r, CodeFormat as t };
|
|
181
179
|
export {}
|
package/dist/codegen.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return e?.cdnBase?.trim().replace(/\/+$/,``).replace(/[\\'"<>`]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`)}`)||`https://cdn.jsdelivr.net/npm/@runtypelabs/persona@4.
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return e?.cdnBase?.trim().replace(/\/+$/,``).replace(/[\\'"<>`]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`)}`)||`https://cdn.jsdelivr.net/npm/@runtypelabs/persona@4.34.0/dist`}function t(e){if(e!==void 0)return typeof e==`string`?e:Array.isArray(e)?`[${e.map(e=>e.toString()).join(`, `)}]`:e.toString()}function n(e){if(e)return{getHeaders:t(e.getHeaders),onFeedback:t(e.onFeedback),onCopy:t(e.onCopy),requestMiddleware:t(e.requestMiddleware),actionHandlers:t(e.actionHandlers),actionParsers:t(e.actionParsers),postprocessMessage:t(e.postprocessMessage),contextProviders:t(e.contextProviders),streamParser:t(e.streamParser)}}const r=`({ text, message }: any) => {
|
|
2
2
|
const jsonSource = (message as any).rawContent || text || message.content;
|
|
3
3
|
if (!jsonSource || typeof jsonSource !== 'string') return null;
|
|
4
4
|
let cleanJson = jsonSource
|
package/dist/codegen.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as generateCodeSnippet, n as CodeGeneratorHooks, r as CodeGeneratorOptions, t as CodeFormat } from "./code-generators-
|
|
1
|
+
import { i as generateCodeSnippet, n as CodeGeneratorHooks, r as CodeGeneratorOptions, t as CodeFormat } from "./code-generators-DPAqTcAz.cjs";
|
|
2
2
|
export { type CodeFormat, type CodeGeneratorHooks, type CodeGeneratorOptions, generateCodeSnippet };
|
|
3
3
|
export {}
|
package/dist/codegen.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as generateCodeSnippet, n as CodeGeneratorHooks, r as CodeGeneratorOptions, t as CodeFormat } from "./code-generators-
|
|
1
|
+
import { i as generateCodeSnippet, n as CodeGeneratorHooks, r as CodeGeneratorOptions, t as CodeFormat } from "./code-generators-DPAqTcAz.js";
|
|
2
2
|
export { type CodeFormat, type CodeGeneratorHooks, type CodeGeneratorOptions, generateCodeSnippet };
|
|
3
3
|
export {}
|
package/dist/codegen.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function e(e){return e?.cdnBase?.trim().replace(/\/+$/,``).replace(/[\\'"<>`]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`)}`)||`https://cdn.jsdelivr.net/npm/@runtypelabs/persona@4.
|
|
1
|
+
function e(e){return e?.cdnBase?.trim().replace(/\/+$/,``).replace(/[\\'"<>`]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`)}`)||`https://cdn.jsdelivr.net/npm/@runtypelabs/persona@4.34.0/dist`}function t(e){if(e!==void 0)return typeof e==`string`?e:Array.isArray(e)?`[${e.map(e=>e.toString()).join(`, `)}]`:e.toString()}function n(e){if(e)return{getHeaders:t(e.getHeaders),onFeedback:t(e.onFeedback),onCopy:t(e.onCopy),requestMiddleware:t(e.requestMiddleware),actionHandlers:t(e.actionHandlers),actionParsers:t(e.actionParsers),postprocessMessage:t(e.postprocessMessage),contextProviders:t(e.contextProviders),streamParser:t(e.streamParser)}}const r=`({ text, message }: any) => {
|
|
2
2
|
const jsonSource = (message as any).rawContent || text || message.content;
|
|
3
3
|
if (!jsonSource || typeof jsonSource !== 'string') return null;
|
|
4
4
|
let cleanJson = jsonSource
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`.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)}`;const t=e=>e.nodeType===Node.DOCUMENT_NODE,n=e=>e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host!==void 0;function r(e){let r=e.getRootNode?.();return r&&n(r)||r&&t(r)?r:e.ownerDocument??document}function i(e,n,r){let i=t(e)?e.head:e,a=n.replace(/["\\]/g,`\\$&`);if(i.querySelector(`style[data-persona-plugin-style="${a}"]`))return;let o=(t(e)?e:e.ownerDocument??document).createElement(`style`);o.setAttribute(`data-persona-plugin-style`,n),o.textContent=r,i.appendChild(o)}function a(e,a,o){if(t(e)||n(e)){i(e,a,o);return}let s=e;if(s.isConnected){i(r(s),a,o);return}let c=s.ownerDocument??document;i(c,a,o),queueMicrotask(()=>{let e=r(s);e!==c&&i(e,a,o)})}function o(e){let t=e.getRootNode?.();return t instanceof ShadowRoot?t:e.closest(`dialog[open]`)??(e.ownerDocument??document).body}function s(e){let{anchor:t,content:n,placement:r=`bottom-start`,offset:i=6,matchAnchorWidth:a=!1,horizontalOffset:s,verticalOffset:c,zIndex:l=2147483e3,onOpen:u,onDismiss:d}=e,f=()=>e.container??o(t),p=!1,m=null,h=()=>{if(!p)return;let o=f();if(n.parentNode!==o){let e=n.contains(n.ownerDocument.activeElement)?n.ownerDocument.activeElement:null;o.appendChild(n),e?.focus({preventScroll:!0})}let l=e.getAnchorRect?.()??t.getBoundingClientRect();n.style.position=`fixed`,a&&(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 c(e){return(typeof e.composedPath==`function`?e.composedPath():[]).some(e=>e instanceof HTMLElement&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.isContentEditable))}const l=t=>a(t,`composer-actions`,e),u=(e,t)=>{let n=document.createElement(e);return t&&(n.className=t),n},d=(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},f=(...e)=>e.filter(Boolean).join(` `),p=`persona-composer-control`,m=`persona-composer-control--glyph`,h=(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)}},g=`button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])`,_=[`--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}`)],v=`data-persona-menu-focus`,y=/* @__PURE__ */ new Set([`ArrowDown`,`ArrowUp`,`Home`,`End`]);function b(e){return e.getAttribute(`role`)===`menuitem`?e:e.querySelector(g)??e}const x=e=>e.disabled===!0||e.getAttribute(`aria-disabled`)===`true`;function S(e){let{renderLucideIcon:t,attachTooltip:n}=e.deps,r=e.label,i=!1,a=!1,o=!1,c=!1,f=!0,S=u(`div`,`persona-send-button-wrapper`),C=d(`button`,{className:`persona-rounded-button persona-flex persona-items-center persona-justify-center persona-cursor-pointer persona-composer-action-button persona-composer-overflow-trigger ${p} ${m}`,attrs:{type:`button`,"aria-haspopup":`menu`,"aria-expanded":`false`,"data-persona-composer-overflow-trigger":``}});S.appendChild(C);let w=d(`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((V()?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&&b(t)===e;t.toggleAttribute(v,n&&A)}},N=()=>O.filter(e=>e.isConnected||w.contains(e)).map(b).filter(e=>!x(e)),ee=(e,t)=>{e.forEach((e,n)=>{e.setAttribute(`tabindex`,n===t?`0`:`-1`)})},P=e=>{let t=N();if(t.length===0)return;let n=(e%t.length+t.length)%t.length;k=n,ee(t,n),t[n].focus(),M()},F=()=>S.ownerDocument??document,I=null,L=null,R=null,z=()=>{I&&=(F().removeEventListener(`focusin`,I,!0),null)},te=()=>{L&&=(w.removeEventListener(`focusin`,L),null),R&&=(w.removeEventListener(`pointerdown`,R,!0),null)},B=null,ne=()=>(B||=s({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:()=>{re()}}),B),V=()=>B?.isOpen===!0,re=()=>{c=!0,a=!1,C.setAttribute(`aria-expanded`,`false`),z(),te(),k=-1,A=!1;for(let e of O)e.removeAttribute(v);try{e.onClose?.()}finally{c=!1}T()},H=(e=!1)=>{(V()||a)&&(B?.close(),re(),e&&!i&&C.focus())},U=()=>{h(C,w,_),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 W=(t=0,n=!1)=>{if(i||o||c||V())return;l(C),D.hide(),a=!0,o=!0;let r;try{r=e.beforeOpen?.()}finally{o=!1}if(r===!1||!a||i)a&&H();else{if(A=n,U(),ne().open(),a=!1,C.setAttribute(`aria-expanded`,`true`),T(),f){let e=N();ee(e,-1),P(t<0?e.length-1:t),e.length||w.focus()}else(Array.from(w.querySelectorAll(g)).find(e=>!x(e)&&!e.closest(`[hidden]`))??w).focus();V()&&!i&&(I=e=>{let t=typeof e.composedPath==`function`?e.composedPath():[];t.includes(w)||t.includes(S)||H()},F().addEventListener(`focusin`,I,!0),L=()=>M(),w.addEventListener(`focusin`,L),R=()=>{A=!1},w.addEventListener(`pointerdown`,R,!0))}},G=e=>{e.preventDefault(),e.stopPropagation(),V()?H(!0):W(0)},K=e=>{e.key===`ArrowDown`||e.key===`Enter`||e.key===` `?(e.preventDefault(),A=!0,V()?f?P(0):w.focus():W(0,!0)):e.key===`ArrowUp`&&(e.preventDefault(),A=!0,V()?f?P(-1):w.focus():W(-1,!0))},q=e=>{if(!f)e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),e.stopPropagation(),H(!0));else switch(y.has(e.key)&&(A=!0),e.key){case`ArrowDown`:e.preventDefault(),P(k+1);return;case`ArrowUp`:e.preventDefault(),P(k-1);return;case`Home`:e.preventDefault(),P(0);return;case`End`:e.preventDefault(),P(N().length-1);return;case`Escape`:e.preventDefault(),e.stopPropagation(),H(!0);return;case`Tab`:H(!0);return}};return C.addEventListener(`click`,G),C.addEventListener(`keydown`,K),w.addEventListener(`keydown`,q),{trigger:S,triggerButton:C,panel:w,setItems:e=>{for(let t of O)e.includes(t)||t.removeAttribute(v);if(O=[...e],!V()||!f)return;let t=N();ee(t,Math.min(k,t.length-1)),M()},isOpen:V,open:()=>W(0),close:H,setLabel:e=>{e!==r&&(r=e,E(),D.isOpen&&(D.hide(),D.show()))},applyButtonSize:T,refresh:U,setContentMode:(e,t)=>{let n=t&&!f&&V();f=t,w.setAttribute(`role`,e),C.setAttribute(`aria-haspopup`,e),n&&P(0)},destroy:()=>{i=!0,H(),D.destroy(),z(),te(),C.removeEventListener(`click`,G),C.removeEventListener(`keydown`,K),w.removeEventListener(`keydown`,q),B?.destroy(),B=null,S.remove(),w.remove(),O=[]}}}function C(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 w(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?w(n):0),0):Math.max(e.getBoundingClientRect().width,e.scrollWidth))+r(n.marginLeft)+r(n.marginRight)}const T={mention:100,attachment:200,mic:800,overflow:900,send:1e3,custom:500},E=`data-persona-composer-action`,D=`data-persona-composer-disable-when-streaming`,O=`core:overflow`,k=e=>e===`core:attachment`?`attachments`:e.startsWith(`core:mention`)?`mentions`:null;function A(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=u(`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 j(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 M=(e,t)=>{e&&typeof console<`u`&&console.warn(t)},N=(e,t)=>t.includes(`:`)?t:`${e}:${t}`;function ee(e){let{debug:t}=e,n=[],r=/* @__PURE__ */ new Map,i=0,a=e=>{let i=r.get(e.id);i?M(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?N(r,e.id):e.id,s=e.order??T.custom;e.placement===`end`&&s>=T.send&&(M(t,`[Persona] composer action "${o}" ordered at ${s} would render after send; clamped to ${T.send-1}.`),s=T.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,I=e=>e.phase===`streaming`||e.text.trim().length>0||e.attachments.length>0;function L(e,t){if(!e||e===`always`)return!0;let n=I(t);return e===`when-text`?n:!n}const R=e=>e.kind===`custom`,z=e=>e instanceof HTMLButtonElement?e:e.querySelector(`button`)??e,te=e=>{let t=z(e);return t.getAttribute(`aria-label`)?.trim()||t.getAttribute(`title`)?.trim()||``};function B(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 ne=e=>B(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 re(e){let{renderLucideIcon:t,attachTooltip:n,hideTooltipFor:r}=e.deps,i=/* @__PURE__ */ new Map,a=[],o=!1,s=null,c=[],h=[],g=u(`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=u(`span`,`persona-composer-overflow-menu__icon`);if(r.iconName){let e=t(r.iconName,16,`currentColor`,1.5);e&&a.appendChild(e)}let o=u(`span`,`persona-composer-overflow-menu__label`),s=e.getOverflow?.()?.menu?.items?.[n.resolved.id];o.textContent=s?.label??r.shortLabel??r.label;let c=u(`span`,`persona-composer-overflow-menu__text`);c.appendChild(o);let l=s?.description??r.description;i.setAttribute(`aria-label`,s?.label??r.label),l?i.setAttribute(`aria-description`,l):i.removeAttribute(`aria-description`),l&&c.appendChild(d(`span`,{className:`persona-composer-overflow-menu__description`,text:l})),i.append(a,c)},y=(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(D,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=f(`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-composer-action-button`,p,m,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=u(`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)})},x=(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)||!L(r.visibility,a)||F(r.disabled,a,!1)||r.disableWhenStreaming===!0&&a.phase===`streaming`))return!1;let c=z(t.element);if(c.disabled||c.getAttribute(`aria-disabled`)===`true`)return!1;if((t.mode===`menu`||H?.isOpen())&&(s=t.resolved.id,H?.close(!0)),!r||R(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=d(`button`,{attrs:{type:`button`}}),i=r;if(t===`bar`){let e=u(`div`,`persona-send-button-wrapper`);e.appendChild(r),i=e}i.setAttribute(E,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(),x(a,e)};return r.addEventListener(`click`,o),a.detach=()=>r.removeEventListener(`click`,o),y(a,n),a},N=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(E,t.id),r.element.toggleAttribute(D,n.disableWhenStreaming===!0),{resolved:t,element:r.element,owned:!0,managed:!0,destroy:r.destroy,busy:!1,visible:!0,mode:`bar`}):null},P=(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?R(n)?N(e):M(e,t):null},I=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()}},B=(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)}},re=(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)},H=null,U=null,W=null,G=0,K=null,q=null,J=null,ie=0,Y=/* @__PURE__ */ new Set,X=/* @__PURE__ */ new Map,ae=()=>{ie+=1,Z()},Z=()=>{if(o||q!==null||!U)return;let e=U.ownerDocument.defaultView;e&&(q=e.requestAnimationFrame(()=>{q=null,Oe()}))},oe=()=>{q!==null&&U?.ownerDocument.defaultView?.cancelAnimationFrame(q),q=null,K?.disconnect(),K=null,U?.ownerDocument.defaultView?.removeEventListener(`resize`,Z),U?.ownerDocument.fonts?.removeEventListener(`loadingdone`,ae),J=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:O}),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),H?.panel.replaceChildren(g),H?.setContentMode(`menu`,!0),$=!0},ge=t=>{let n=t.resolved.action,r=se()?.menu?.items?.[t.resolved.id],i=z(t.element),a=e.getState();return Object.freeze({id:t.resolved.id,kind:n?R(n)?`custom`:`button`:`builtin`,label:r?.label??(n?(R(n)?void 0:n.shortLabel)??n.label:te(t.element)),description:r?.description??n?.description,group:r?.group??n?.group,iconName:n&&!R(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&&!R(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()||!H?.isOpen())return!1;let t=i.get(e);return!t||t.mode!==`menu`||!h.includes(t)?!1:x(t,new Event(`click`,{bubbles:!0,cancelable:!0}))},openAttachmentPicker:()=>{if(!n()||!H?.isOpen())return;let e=i.get(`core:attachment`);e&&x(e,new Event(`click`,{bubbles:!0,cancelable:!0}))},close:()=>{n()&&H?.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 c){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,H?.panel.replaceChildren(i.element),H?.setContentMode(i.role??($?`menu`:`dialog`),$),!0}return e.signal.aborted||o?!1:($=!0,H?.panel.replaceChildren(g),H?.setContentMode(`menu`,!0),!0)},ye=()=>{if(!Q||Q.signal.aborted||!H?.isOpen())return;if(le&&!c.some(e=>e.id===le?.id&&e.renderComposerMenu===ue)){H.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||!H?.isOpen()||Q)return;Q=new AbortController,le=null,ue=void 0,$=!0,H.panel.replaceChildren(g),H.setContentMode(`menu`,!0)}}finally{fe=!1}H?.refresh()},be=()=>(H?H.setLabel(e.getOverflowLabel?.()??`More actions`):H=S({deps:e.deps,label:e.getOverflowLabel?.()??`More actions`,getButtonSize:_,getConfig:()=>se()?.menu,getComposer:()=>e.getBindings()?.form,beforeOpen:ve,onClose:he}),H),xe=(e,t)=>{let n=e.footer;if(!(U===n&&(t?J===e.form:J===null))){if(oe(),W?.disconnect(),U=n,G=j(n),t){J=e.form;let t=n.ownerDocument.defaultView;t?.addEventListener(`resize`,Z),n.ownerDocument.fonts?.addEventListener(`loadingdone`,ae),t?.MutationObserver&&(K=new t.MutationObserver(n=>{n.some(n=>{if(H?.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`)))})&&Z()}),K.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`&&(W=new ResizeObserver(e=>{if(t){Z();return}let r=e[e.length-1]?.contentRect?.width??j(n);r!==G&&(G=r,Oe())}),W.observe(n),t&&(W.observe(e.form),W.observe(e.actionsStart),W.observe(e.actionsEnd)))}},Se=(e,t)=>{let n=A(e.collapseAutoActionsBelow,t);if(n===null)return!1;let r=G||j(t);return r>0&&r<n},Ce=(e,t,n)=>{if(!t)return`bar`;if(e.resolved.builtIn){let n=k(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&&!ne(e.element)){e.menuLabel?.remove(),e.menuLabel=void 0;return}let i=n?.label??te(e.element);i?(e.menuLabel||=u(`span`,`persona-composer-overflow-menu__label`),e.menuLabel.replaceChildren(d(`span`,{text:i})),r&&e.menuLabel.appendChild(d(`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&&!R(n)){let r=e.element;return t===`menu`?e.element=e.button:(e.element=u(`div`,`persona-send-button-wrapper`),e.element.appendChild(e.button),e.button.removeAttribute(E)),r!==e.element&&r!==e.button&&r.remove(),e.element.setAttribute(E,e.resolved.id),e.mode=t,y(e,n),e}if(t===`menu`){let t=d(`div`,{className:`persona-composer-overflow-menu__slot`,attrs:{role:`none`,"data-persona-tooltip-suppressed":``}});t.appendChild(e.element),r(z(e.element)),e.menuSlot=t;let n=t=>{let n=z(e.element);if(n.disabled)return;let r=t.target===n||n.contains(t.target);s=e.resolved.id,H?.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++]??d(`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=j(e.form);if(!r)return Y;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`),_(),ie].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===H?.trigger||t.some(e=>e.element===n))continue;let r=w(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&&!R(t)?[t.label,t.shortLabel,t.iconName,t.trailingIconName,t.pressed].join(`|`):`custom`}`,a=e.mode===`bar`?w(e.element):0,o=X.get(e.resolved.id);if(!a&&o?.key===r&&(a=o.width),!a&&t&&!R(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=w(t.button),I(t)}if(!a&&t&&R(t)&&(a=o?.width??0),a&&X.set(e.resolved.id,{key:r,width:a}),!a&&i.getComputedStyle(e.element).display!==`none`)return Y;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=H?w(H.trigger):0;return C({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:Y})},Oe=()=>{if(o)return;let t=e.getBindings();if(t&&l(t.form),!t)return;let n=e.getState(),r=n.phase===`streaming`,c=se(),u=c?.collapseAutoActions===`fit`;c?xe(t,u):(oe(),W?.disconnect(),U=null);let d=c&&!u?Se(c,t.footer):!1,f=t.footer.getRootNode(),p=f.activeElement,m=p===H?.triggerButton,_=p?Array.from(i.values()).find(e=>e.element.contains(p)):void 0,y=_?.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)&&L(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)}Y=De(t,e,c)}else Y.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)&&L(a.visibility,n);if(t.visible!==o&&(t.visible=o,!o&&t.managed&&(t.menuSlot??t.element).remove()),!o)continue;let s=Ce(t,c,d);if(t=Te(t,s===`menu`||u&&e.presentation===`auto`&&Y.has(e.id)?`menu`:`bar`),a){let e=F(a.disabled,n,!1)||a.disableWhenStreaming===!0&&r;re(t,e),!R(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&&!R(t)&&v(e,t)}e.setItems(S.map(e=>e.menuSlot??e.element)),e.refresh(),ye();let t=Number.isFinite(c?.order)?c?.order:T.overflow,n=x.start.findIndex(e=>e.resolved.order>t),r={resolved:{id:O,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 H&&(H.close(),H.trigger.remove(),H.setItems([]));if(B(t.actionsStart,x.start),B(t.actionsEnd,x.end),_&&p&&_.visible&&(!p.isConnected||_.mode!==y||f.activeElement!==p))_.mode===`bar`?(H?.close(),b(_.element).focus()):H?.isOpen()&&$?b(_.menuSlot??_.element).focus():H?.triggerButton.focus();else if(m&&!S.length){let e=s?i.get(s):void 0;e?.visible&&e.mode===`bar`?b(e.element).focus():t.input.focus()}s=null},ke=()=>{if(o)return;let t=e.collect();c=t.plugins;let n=ee(t),r=new Set(n.map(e=>e.id));for(let[e,t]of i)r.has(e)||(I(t),i.delete(e),X.delete(e));for(let e of n){let t=i.get(e.id);if(!t){let t=P(e,`bar`);t&&i.set(e.id,t);continue}let n=t.resolved.action,r=e.action;if(!!n!=!!r||n&&r&&R(n)!==R(r)||n&&r&&R(n)&&R(r)&&n.render!==r.render){I(t),i.delete(e.id),X.delete(e.id);let n=P(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&&!R(r)?y(t,r):r&&t.element.toggleAttribute(D,r.disableWhenStreaming===!0)}a=n,Oe()};return{resolve:ke,sync:Oe,getResolved:()=>a,getOverflowMenu:()=>H,destroy:()=>{if(!o){o=!0,oe(),W?.disconnect(),W=null,U=null,H?.close(),he();for(let e of i.values())I(e);i.clear(),H?.destroy(),H=null,a=[]}}}}const H=[`--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:d(`span`,{className:`persona-composer-model-picker-wrapper`,attrs:{"data-persona-composer-model-picker-wrapper":``}}),chevron:d(`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=d(`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=d(`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:u}=U();return l.append(n,u),{element:l,destroy:()=>{r===o&&(r=null),n.removeEventListener(`change`,s),n.removeEventListener(`click`,c)}}},o=()=>{let n=d(`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=u(`span`,`persona-composer-model-picker-label`),o=u(`span`,`persona-composer-model-picker-suffix`);n.append(a,o);let c=d(`div`,{className:`persona-composer-model-menu`,attrs:{role:`listbox`,tabindex:`-1`,"aria-label":t,"data-persona-composer-model-menu":``}}),l=/* @__PURE__ */ new Map,f=``,p=null,m=()=>p?.isOpen===!0,g=(e=!1)=>{m()&&(p?.close(),n.setAttribute(`aria-expanded`,`false`),e&&n.focus())},_=e=>{let t=[...l.values()];t.length!==0&&t[(e%t.length+t.length)%t.length].focus()},v=t=>{if(m())return;p||=s({anchor:n,content:c,placement:`top-start`,offset:6,onDismiss:()=>n.setAttribute(`aria-expanded`,`false`)}),h(n,c,H),p.open(),n.setAttribute(`aria-expanded`,`true`);let r=[...l.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=d(`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=u(`span`,`persona-composer-model-option-icon`);e.appendChild(r),n.appendChild(e)}}let r=u(`span`,`persona-composer-model-option-body`),i=u(`span`,`persona-composer-model-option-label`);if(i.textContent=t.label,r.appendChild(i),t.description){let e=u(`span`,`persona-composer-model-option-description`);e.textContent=t.description,r.appendChild(e)}n.appendChild(r);let a=u(`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(),s=r.map(e=>`${e.id}:${e.label}:${e.icon??``}:${e.description??``}`).join(`|`);if(s!==f){f=s;for(let e of l.values())e.removeEventListener(`click`,b);l.clear(),c.replaceChildren(...r.map(e=>{let t=x(e);return l.set(e.id,t),t}))}let u=i(r);for(let[e,t]of l)t.setAttribute(`aria-selected`,String(e===u?.id));a.textContent=u?.label??``;let d=e.getSuffix?.()??``;o.textContent=d,n.setAttribute(`aria-label`,[t,[u?.label,d].filter(Boolean).join(` `)].filter(Boolean).join(`: `))};S(),r=S;let C=e=>{e.preventDefault(),e.stopPropagation(),m()?g(!0):v()},w=e=>{e.key===`ArrowDown`?(e.preventDefault(),m()?_(0):v(0)):e.key===`ArrowUp`&&(e.preventDefault(),m()?_(-1):v(-1))},T=e=>{let t=[...l.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 l.values())e.removeEventListener(`click`,b);l.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`?o():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 ie(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=d(`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=d(`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=u(`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 Y(e){e.style.display=e.childElementCount>0?`flex`:`none`}function X(e){let t=e.row,n=``,r=!1,i=new Set(e.initialIds??[]),a=t=>{let n=d(`span`,{className:`persona-mention-chip persona-composer-mode-chip`,attrs:{"data-persona-composer-mode":t.id}});if(t.iconName){let r=u(`span`,`persona-mention-chip-icon`),i=e.renderIcon(t.iconName,12,`currentColor`,1.5);i&&r.appendChild(i),n.appendChild(r)}let r=u(`span`,`persona-mention-chip-label`);r.textContent=t.shortLabel??t.label,n.appendChild(r);let i=d(`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(),Y(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}Y(t)},destroy:()=>{r=!0,c(),Y(t)}}}function ae(e){let t=null,n=null,r=/* @__PURE__ */ new Map,i=t=>{let n=r.get(t);if(n)return n;let i=ie({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()}}}exports.createComposerActionRenderer=re,exports.createComposerCoreControls=ae,exports.createComposerModeChipRow=X,exports.createComposerModelPickerAction=W,exports.createComposerSegmentedModeAction=ie,exports.createPopover=s,exports.ensureComposerActionStyles=l,exports.isEditableEventTarget=c;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`.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)}`;const t=e=>e.nodeType===Node.DOCUMENT_NODE,n=e=>e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host!==void 0;function r(e){let r=e.getRootNode?.();return r&&n(r)||r&&t(r)?r:e.ownerDocument??document}function i(e,n,r){let i=t(e)?e.head:e,a=n.replace(/["\\]/g,`\\$&`);if(i.querySelector(`style[data-persona-plugin-style="${a}"]`))return;let o=(t(e)?e:e.ownerDocument??document).createElement(`style`);o.setAttribute(`data-persona-plugin-style`,n),o.textContent=r,i.appendChild(o)}function a(e,a,o){if(t(e)||n(e)){i(e,a,o);return}let s=e;if(s.isConnected){i(r(s),a,o);return}let c=s.ownerDocument??document;i(c,a,o),queueMicrotask(()=>{let e=r(s);e!==c&&i(e,a,o)})}function o(e){let t=e.getRootNode?.();return t instanceof ShadowRoot?t:e.closest(`dialog[open]`)??(e.ownerDocument??document).body}function s(e){let{anchor:t,content:n,placement:r=`bottom-start`,offset:i=6,matchAnchorWidth:a=!1,horizontalOffset:s,verticalOffset:c,zIndex:l=2147483e3,onOpen:u,onDismiss:d}=e,f=()=>e.container??o(t),p=!1,m=null,h=()=>{if(!p)return;let o=f();if(n.parentNode!==o){let e=n.contains(n.ownerDocument.activeElement)?n.ownerDocument.activeElement:null;o.appendChild(n),e?.focus({preventScroll:!0})}let l=e.getAnchorRect?.()??t.getBoundingClientRect();n.style.position=`fixed`,a&&(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 c(e){return(typeof e.composedPath==`function`?e.composedPath():[]).some(e=>e instanceof HTMLElement&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.isContentEditable))}const l=t=>a(t,`composer-actions`,e),u=(e,t)=>{let n=document.createElement(e);return t&&(n.className=t),n},d=(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},f=(...e)=>e.filter(Boolean).join(` `),p=`persona-composer-control`,m=`persona-composer-control--glyph`,h=(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)}},g=`button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])`,_=[`--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}`)],v=`data-persona-menu-focus`,y=/* @__PURE__ */ new Set([`ArrowDown`,`ArrowUp`,`Home`,`End`]);function b(e){return e.getAttribute(`role`)===`menuitem`?e:e.querySelector(g)??e}const x=e=>e.disabled===!0||e.getAttribute(`aria-disabled`)===`true`;function S(e){let{renderLucideIcon:t,attachTooltip:n}=e.deps,r=e.label,i=!1,a=!1,o=!1,c=!1,f=!0,S=u(`div`,`persona-send-button-wrapper`),C=d(`button`,{className:`persona-rounded-button persona-flex persona-items-center persona-justify-center persona-cursor-pointer persona-composer-action-button persona-composer-overflow-trigger ${p} ${m}`,attrs:{type:`button`,"aria-haspopup":`menu`,"aria-expanded":`false`,"data-persona-composer-overflow-trigger":``}});S.appendChild(C);let w=d(`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((V()?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&&b(t)===e;t.toggleAttribute(v,n&&A)}},N=()=>O.filter(e=>e.isConnected||w.contains(e)).map(b).filter(e=>!x(e)),ee=(e,t)=>{e.forEach((e,n)=>{e.setAttribute(`tabindex`,n===t?`0`:`-1`)})},P=e=>{let t=N();if(t.length===0)return;let n=(e%t.length+t.length)%t.length;k=n,ee(t,n),t[n].focus(),M()},F=()=>S.ownerDocument??document,I=null,L=null,R=null,z=()=>{I&&=(F().removeEventListener(`focusin`,I,!0),null)},te=()=>{L&&=(w.removeEventListener(`focusin`,L),null),R&&=(w.removeEventListener(`pointerdown`,R,!0),null)},B=null,ne=()=>(B||=s({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:()=>{re()}}),B),V=()=>B?.isOpen===!0,re=()=>{c=!0,a=!1,C.setAttribute(`aria-expanded`,`false`),z(),te(),k=-1,A=!1;for(let e of O)e.removeAttribute(v);try{e.onClose?.()}finally{c=!1}T()},H=(e=!1)=>{(V()||a)&&(B?.close(),re(),e&&!i&&C.focus())},U=()=>{h(C,w,_),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 W=(t=0,n=!1)=>{if(i||o||c||V())return;l(C),D.hide(),a=!0,o=!0;let r;try{r=e.beforeOpen?.()}finally{o=!1}if(r===!1||!a||i)a&&H();else{if(A=n,U(),ne().open(),a=!1,C.setAttribute(`aria-expanded`,`true`),T(),f){let e=N();ee(e,-1),P(t<0?e.length-1:t),e.length||w.focus()}else(Array.from(w.querySelectorAll(g)).find(e=>!x(e)&&!e.closest(`[hidden]`))??w).focus();V()&&!i&&(I=e=>{let t=typeof e.composedPath==`function`?e.composedPath():[];t.includes(w)||t.includes(S)||H()},F().addEventListener(`focusin`,I,!0),L=()=>M(),w.addEventListener(`focusin`,L),R=()=>{A=!1},w.addEventListener(`pointerdown`,R,!0))}},G=e=>{e.preventDefault(),e.stopPropagation(),V()?H(!0):W(0)},K=e=>{e.key===`ArrowDown`||e.key===`Enter`||e.key===` `?(e.preventDefault(),A=!0,V()?f?P(0):w.focus():W(0,!0)):e.key===`ArrowUp`&&(e.preventDefault(),A=!0,V()?f?P(-1):w.focus():W(-1,!0))},q=e=>{if(!f)e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),e.stopPropagation(),H(!0));else switch(y.has(e.key)&&(A=!0),e.key){case`ArrowDown`:e.preventDefault(),P(k+1);return;case`ArrowUp`:e.preventDefault(),P(k-1);return;case`Home`:e.preventDefault(),P(0);return;case`End`:e.preventDefault(),P(N().length-1);return;case`Escape`:e.preventDefault(),e.stopPropagation(),H(!0);return;case`Tab`:H(!0);return}};return C.addEventListener(`click`,G),C.addEventListener(`keydown`,K),w.addEventListener(`keydown`,q),{trigger:S,triggerButton:C,panel:w,setItems:e=>{for(let t of O)e.includes(t)||t.removeAttribute(v);if(O=[...e],!V()||!f)return;let t=N();ee(t,Math.min(k,t.length-1)),M()},isOpen:V,open:()=>W(0),close:H,setLabel:e=>{e!==r&&(r=e,E(),D.isOpen&&(D.hide(),D.show()))},applyButtonSize:T,refresh:U,setContentMode:(e,t)=>{let n=t&&!f&&V();f=t,w.setAttribute(`role`,e),C.setAttribute(`aria-haspopup`,e),n&&P(0)},destroy:()=>{i=!0,H(),D.destroy(),z(),te(),C.removeEventListener(`click`,G),C.removeEventListener(`keydown`,K),w.removeEventListener(`keydown`,q),B?.destroy(),B=null,S.remove(),w.remove(),O=[]}}}function C(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 w(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?w(n):0),0):Math.max(e.getBoundingClientRect().width,e.scrollWidth))+r(n.marginLeft)+r(n.marginRight)}const T={mention:100,attachment:200,mic:800,overflow:900,send:1e3,custom:500},E=`data-persona-composer-action`,D=`data-persona-composer-disable-when-streaming`,O=`core:overflow`,k=e=>e===`core:attachment`?`attachments`:e.startsWith(`core:mention`)?`mentions`:null;function A(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=u(`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 j(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 M=(e,t)=>{e&&typeof console<`u`&&console.warn(t)},N=(e,t)=>t.includes(`:`)?t:`${e}:${t}`;function ee(e){let{debug:t}=e,n=[],r=/* @__PURE__ */ new Map,i=0,a=e=>{let i=r.get(e.id);i?M(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?N(r,e.id):e.id,s=e.order??T.custom;e.placement===`end`&&s>=T.send&&(M(t,`[Persona] composer action "${o}" ordered at ${s} would render after send; clamped to ${T.send-1}.`),s=T.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,I=e=>e.phase===`streaming`||e.text.trim().length>0||e.attachments.length>0;function L(e,t){if(!e||e===`always`)return!0;let n=I(t);return e===`when-text`?n:!n}const R=e=>e.kind===`custom`,z=e=>e instanceof HTMLButtonElement?e:e.querySelector(`button`)??e,te=e=>{let t=z(e);return t.getAttribute(`aria-label`)?.trim()||t.getAttribute(`title`)?.trim()||``};function B(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 ne=e=>B(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 re(e){let{renderLucideIcon:t,attachTooltip:n,hideTooltipFor:r}=e.deps,i=/* @__PURE__ */ new Map,a=[],o=!1,s=null,c=[],h=[],g=u(`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=u(`span`,`persona-composer-overflow-menu__icon`);if(r.iconName){let e=t(r.iconName,16,`currentColor`,1.5);e&&a.appendChild(e)}let o=u(`span`,`persona-composer-overflow-menu__label`),s=e.getOverflow?.()?.menu?.items?.[n.resolved.id];o.textContent=s?.label??r.shortLabel??r.label;let c=u(`span`,`persona-composer-overflow-menu__text`);c.appendChild(o);let l=s?.description??r.description;i.setAttribute(`aria-label`,s?.label??r.label),l?i.setAttribute(`aria-description`,l):i.removeAttribute(`aria-description`),l&&c.appendChild(d(`span`,{className:`persona-composer-overflow-menu__description`,text:l})),i.append(a,c)},y=(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(D,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=f(`persona-rounded-button persona-flex persona-items-center persona-justify-center disabled:persona-opacity-50 persona-cursor-pointer persona-composer-action-button`,p,m,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=u(`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)})},x=(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)||!L(r.visibility,a)||F(r.disabled,a,!1)||r.disableWhenStreaming===!0&&a.phase===`streaming`))return!1;let c=z(t.element);if(c.disabled||c.getAttribute(`aria-disabled`)===`true`)return!1;if((t.mode===`menu`||H?.isOpen())&&(s=t.resolved.id,H?.close(!0)),!r||R(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=d(`button`,{attrs:{type:`button`}}),i=r;if(t===`bar`){let e=u(`div`,`persona-send-button-wrapper`);e.appendChild(r),i=e}i.setAttribute(E,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(),x(a,e)};return r.addEventListener(`click`,o),a.detach=()=>r.removeEventListener(`click`,o),y(a,n),a},N=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(E,t.id),r.element.toggleAttribute(D,n.disableWhenStreaming===!0),{resolved:t,element:r.element,owned:!0,managed:!0,destroy:r.destroy,busy:!1,visible:!0,mode:`bar`}):null},P=(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?R(n)?N(e):M(e,t):null},I=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()}},B=(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)}},re=(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)},H=null,U=null,W=null,G=0,K=null,q=null,J=null,ie=0,Y=/* @__PURE__ */ new Set,X=/* @__PURE__ */ new Map,ae=()=>{ie+=1,Z()},Z=()=>{if(o||q!==null||!U)return;let e=U.ownerDocument.defaultView;e&&(q=e.requestAnimationFrame(()=>{q=null,Oe()}))},oe=()=>{q!==null&&U?.ownerDocument.defaultView?.cancelAnimationFrame(q),q=null,K?.disconnect(),K=null,U?.ownerDocument.defaultView?.removeEventListener(`resize`,Z),U?.ownerDocument.fonts?.removeEventListener(`loadingdone`,ae),J=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:O}),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),H?.panel.replaceChildren(g),H?.setContentMode(`menu`,!0),$=!0},ge=t=>{let n=t.resolved.action,r=se()?.menu?.items?.[t.resolved.id],i=z(t.element),a=e.getState();return Object.freeze({id:t.resolved.id,kind:n?R(n)?`custom`:`button`:`builtin`,label:r?.label??(n?(R(n)?void 0:n.shortLabel)??n.label:te(t.element)),description:r?.description??n?.description,group:r?.group??n?.group,iconName:n&&!R(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&&!R(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()||!H?.isOpen())return!1;let t=i.get(e);return!t||t.mode!==`menu`||!h.includes(t)?!1:x(t,new Event(`click`,{bubbles:!0,cancelable:!0}))},openAttachmentPicker:()=>{if(!n()||!H?.isOpen())return;let e=i.get(`core:attachment`);e&&x(e,new Event(`click`,{bubbles:!0,cancelable:!0}))},close:()=>{n()&&H?.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 c){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,H?.panel.replaceChildren(i.element),H?.setContentMode(i.role??($?`menu`:`dialog`),$),!0}return e.signal.aborted||o?!1:($=!0,H?.panel.replaceChildren(g),H?.setContentMode(`menu`,!0),!0)},ye=()=>{if(!Q||Q.signal.aborted||!H?.isOpen())return;if(le&&!c.some(e=>e.id===le?.id&&e.renderComposerMenu===ue)){H.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||!H?.isOpen()||Q)return;Q=new AbortController,le=null,ue=void 0,$=!0,H.panel.replaceChildren(g),H.setContentMode(`menu`,!0)}}finally{fe=!1}H?.refresh()},be=()=>(H?H.setLabel(e.getOverflowLabel?.()??`More actions`):H=S({deps:e.deps,label:e.getOverflowLabel?.()??`More actions`,getButtonSize:_,getConfig:()=>se()?.menu,getComposer:()=>e.getBindings()?.form,beforeOpen:ve,onClose:he}),H),xe=(e,t)=>{let n=e.footer;if(!(U===n&&(t?J===e.form:J===null))){if(oe(),W?.disconnect(),U=n,G=j(n),t){J=e.form;let t=n.ownerDocument.defaultView;t?.addEventListener(`resize`,Z),n.ownerDocument.fonts?.addEventListener(`loadingdone`,ae),t?.MutationObserver&&(K=new t.MutationObserver(n=>{n.some(n=>{if(H?.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`)))})&&Z()}),K.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`&&(W=new ResizeObserver(e=>{if(t){Z();return}let r=e[e.length-1]?.contentRect?.width??j(n);r!==G&&(G=r,Oe())}),W.observe(n),t&&(W.observe(e.form),W.observe(e.actionsStart),W.observe(e.actionsEnd)))}},Se=(e,t)=>{let n=A(e.collapseAutoActionsBelow,t);if(n===null)return!1;let r=G||j(t);return r>0&&r<n},Ce=(e,t,n)=>{if(!t)return`bar`;if(e.resolved.builtIn){let n=k(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&&!ne(e.element)){e.menuLabel?.remove(),e.menuLabel=void 0;return}let i=n?.label??te(e.element);i?(e.menuLabel||=u(`span`,`persona-composer-overflow-menu__label`),e.menuLabel.replaceChildren(d(`span`,{text:i})),r&&e.menuLabel.appendChild(d(`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&&!R(n)){let r=e.element;return t===`menu`?e.element=e.button:(e.element=u(`div`,`persona-send-button-wrapper`),e.element.appendChild(e.button),e.button.removeAttribute(E)),r!==e.element&&r!==e.button&&r.remove(),e.element.setAttribute(E,e.resolved.id),e.mode=t,y(e,n),e}if(t===`menu`){let t=d(`div`,{className:`persona-composer-overflow-menu__slot`,attrs:{role:`none`,"data-persona-tooltip-suppressed":``}});t.appendChild(e.element),r(z(e.element)),e.menuSlot=t;let n=t=>{let n=z(e.element);if(n.disabled)return;let r=t.target===n||n.contains(t.target);s=e.resolved.id,H?.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++]??d(`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=j(e.form);if(!r)return Y;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`),_(),ie].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===H?.trigger||t.some(e=>e.element===n))continue;let r=w(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&&!R(t)?[t.label,t.shortLabel,t.iconName,t.trailingIconName,t.pressed].join(`|`):`custom`}`,a=e.mode===`bar`?w(e.element):0,o=X.get(e.resolved.id);if(!a&&o?.key===r&&(a=o.width),!a&&t&&!R(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=w(t.button),I(t)}if(!a&&t&&R(t)&&(a=o?.width??0),a&&X.set(e.resolved.id,{key:r,width:a}),!a&&i.getComputedStyle(e.element).display!==`none`)return Y;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=H?w(H.trigger):0;return C({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:Y})},Oe=()=>{if(o)return;let t=e.getBindings();if(t&&l(t.form),!t)return;let n=e.getState(),r=n.phase===`streaming`,c=se(),u=c?.collapseAutoActions===`fit`;c?xe(t,u):(oe(),W?.disconnect(),U=null);let d=c&&!u?Se(c,t.footer):!1,f=t.footer.getRootNode(),p=f.activeElement,m=p===H?.triggerButton,_=p?Array.from(i.values()).find(e=>e.element.contains(p)):void 0,y=_?.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)&&L(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)}Y=De(t,e,c)}else Y.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)&&L(a.visibility,n);if(t.visible!==o&&(t.visible=o,!o&&t.managed&&(t.menuSlot??t.element).remove()),!o)continue;let s=Ce(t,c,d);if(t=Te(t,s===`menu`||u&&e.presentation===`auto`&&Y.has(e.id)?`menu`:`bar`),a){let e=F(a.disabled,n,!1)||a.disableWhenStreaming===!0&&r;re(t,e),!R(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&&!R(t)&&v(e,t)}e.setItems(S.map(e=>e.menuSlot??e.element)),e.refresh(),ye();let t=Number.isFinite(c?.order)?c?.order:T.overflow,n=x.start.findIndex(e=>e.resolved.order>t),r={resolved:{id:O,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 H&&(H.close(),H.trigger.remove(),H.setItems([]));if(B(t.actionsStart,x.start),B(t.actionsEnd,x.end),_&&p&&_.visible&&(!p.isConnected||_.mode!==y||f.activeElement!==p))_.mode===`bar`?(H?.close(),b(_.element).focus()):H?.isOpen()&&$?b(_.menuSlot??_.element).focus():H?.triggerButton.focus();else if(m&&!S.length){let e=s?i.get(s):void 0;e?.visible&&e.mode===`bar`?b(e.element).focus():t.input.focus()}s=null},ke=()=>{if(o)return;let t=e.collect();c=t.plugins;let n=ee(t),r=new Set(n.map(e=>e.id));for(let[e,t]of i)r.has(e)||(I(t),i.delete(e),X.delete(e));for(let e of n){let t=i.get(e.id);if(!t){let t=P(e,`bar`);t&&i.set(e.id,t);continue}let n=t.resolved.action,r=e.action;if(!!n!=!!r||n&&r&&R(n)!==R(r)||n&&r&&R(n)&&R(r)&&n.render!==r.render){I(t),i.delete(e.id),X.delete(e.id);let n=P(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&&!R(r)?y(t,r):r&&t.element.toggleAttribute(D,r.disableWhenStreaming===!0)}a=n,Oe()};return{resolve:ke,sync:Oe,getResolved:()=>a,getOverflowMenu:()=>H,destroy:()=>{if(!o){o=!0,oe(),W?.disconnect(),W=null,U=null,H?.close(),he();for(let e of i.values())I(e);i.clear(),H?.destroy(),H=null,a=[]}}}}const H=[`--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:d(`span`,{className:`persona-composer-model-picker-wrapper`,attrs:{"data-persona-composer-model-picker-wrapper":``}}),chevron:d(`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=d(`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=d(`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:u}=U();return l.append(n,u),{element:l,destroy:()=>{r===o&&(r=null),n.removeEventListener(`change`,s),n.removeEventListener(`click`,c)}}},o=()=>{let n=d(`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=u(`span`,`persona-composer-model-picker-label`),o=u(`span`,`persona-composer-model-picker-suffix`);n.append(a,o);let c=d(`div`,{className:`persona-composer-model-menu`,attrs:{role:`listbox`,tabindex:`-1`,"aria-label":t,"data-persona-composer-model-menu":``}}),l=/* @__PURE__ */ new Map,f=``,p=null,m=()=>p?.isOpen===!0,g=(e=!1)=>{m()&&(p?.close(),n.setAttribute(`aria-expanded`,`false`),e&&n.focus())},_=e=>{let t=[...l.values()];t.length!==0&&t[(e%t.length+t.length)%t.length].focus()},v=t=>{if(m())return;p||=s({anchor:n,content:c,placement:`top-start`,offset:6,onDismiss:()=>n.setAttribute(`aria-expanded`,`false`)}),h(n,c,H),p.open(),n.setAttribute(`aria-expanded`,`true`);let r=[...l.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=d(`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=u(`span`,`persona-composer-model-option-icon`);e.appendChild(r),n.appendChild(e)}}let r=u(`span`,`persona-composer-model-option-body`),i=u(`span`,`persona-composer-model-option-label`);if(i.textContent=t.label,r.appendChild(i),t.description){let e=u(`span`,`persona-composer-model-option-description`);e.textContent=t.description,r.appendChild(e)}n.appendChild(r);let a=u(`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(),s=r.map(e=>`${e.id}:${e.label}:${e.icon??``}:${e.description??``}`).join(`|`);if(s!==f){f=s;for(let e of l.values())e.removeEventListener(`click`,b);l.clear(),c.replaceChildren(...r.map(e=>{let t=x(e);return l.set(e.id,t),t}))}let u=i(r);for(let[e,t]of l)t.setAttribute(`aria-selected`,String(e===u?.id));a.textContent=u?.label??``;let d=e.getSuffix?.()??``;o.textContent=d,n.setAttribute(`aria-label`,[t,[u?.label,d].filter(Boolean).join(` `)].filter(Boolean).join(`: `))};S(),r=S;let C=e=>{e.preventDefault(),e.stopPropagation(),m()?g(!0):v()},w=e=>{e.key===`ArrowDown`?(e.preventDefault(),m()?_(0):v(0)):e.key===`ArrowUp`&&(e.preventDefault(),m()?_(-1):v(-1))},T=e=>{let t=[...l.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 l.values())e.removeEventListener(`click`,b);l.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`?o():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 ie(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=d(`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=d(`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=u(`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 Y(e){e.style.display=e.childElementCount>0?`flex`:`none`}function X(e){let t=e.row,n=``,r=!1,i=new Set(e.initialIds??[]),a=t=>{let n=d(`span`,{className:`persona-mention-chip persona-composer-mode-chip`,attrs:{"data-persona-composer-mode":t.id}});if(t.iconName){let r=u(`span`,`persona-mention-chip-icon`),i=e.renderIcon(t.iconName,12,`currentColor`,1.5);i&&r.appendChild(i),n.appendChild(r)}let r=u(`span`,`persona-mention-chip-label`);r.textContent=t.shortLabel??t.label,n.appendChild(r);let i=d(`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(),Y(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}Y(t)},destroy:()=>{r=!0,c(),Y(t)}}}function ae(e){let t=null,n=null,r=/* @__PURE__ */ new Map,i=t=>{let n=r.get(t);if(n)return n;let i=ie({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()}}}exports.createComposerActionRenderer=re,exports.createComposerCoreControls=ae,exports.createComposerModeChipRow=X,exports.createComposerModelPickerAction=W,exports.createComposerSegmentedModeAction=ie,exports.createPopover=s,exports.ensureComposerActionStyles=l,exports.isEditableEventTarget=c;
|
|
@@ -1,8 +1,7 @@
|
|
|
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-
|
|
2
|
-
import { i as createPopover, s as isEditableEventTarget } from "./plugin-kit-
|
|
3
|
-
import { i as hideTooltipFor, r as attachTooltip } from "./tooltip-
|
|
4
|
-
import { t as createComposerStore } from "./composer-store-
|
|
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.cjs";
|
|
2
|
+
import { i as createPopover, s as isEditableEventTarget } from "./plugin-kit-BVggqE3C.cjs";
|
|
3
|
+
import { i as hideTooltipFor, r as attachTooltip } from "./tooltip-DbXkAuJL.cjs";
|
|
4
|
+
import { t as createComposerStore } from "./composer-store-DhGNgG7Z.cjs";
|
|
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,8 +1,7 @@
|
|
|
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-
|
|
2
|
-
import { i as createPopover, s as isEditableEventTarget } from "./plugin-kit-
|
|
3
|
-
import { i as hideTooltipFor, r as attachTooltip } from "./tooltip-
|
|
4
|
-
import { t as createComposerStore } from "./composer-store-
|
|
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 {}
|