@kitn.ai/ui 0.18.1 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/dist/components/thread.d.ts +54 -0
  2. package/dist/custom-elements.json +195 -0
  3. package/dist/elements/agent-card.js +1 -1
  4. package/dist/elements/artifact.js +1 -1
  5. package/dist/elements/attachments.js +1 -1
  6. package/dist/elements/autoloader.js +1 -1
  7. package/dist/elements/avatar.js +1 -1
  8. package/dist/elements/badge.js +1 -1
  9. package/dist/elements/button.js +1 -1
  10. package/dist/elements/card.js +1 -1
  11. package/dist/elements/cards.js +1 -1
  12. package/dist/elements/chain-of-thought.js +1 -1
  13. package/dist/elements/chat-scope-picker.js +1 -1
  14. package/dist/elements/chat-workspace.js +1 -1
  15. package/dist/elements/chat.js +1 -1
  16. package/dist/elements/checkpoint.js +1 -1
  17. package/dist/elements/choice.js +1 -1
  18. package/dist/elements/chunks/{Icon-C2LTALdM.js → Icon-11SRdjJ4.js} +1 -1
  19. package/dist/elements/chunks/action-icons-CtRg17uX.js +1 -0
  20. package/dist/elements/chunks/arrow-left-CifsGq8x.js +1 -0
  21. package/dist/elements/chunks/{attachments-DLJcWCDV.js → attachments-CBqQRh60.js} +1 -1
  22. package/dist/elements/chunks/{badge-BTNZTODL.js → badge-CxklEXQm.js} +1 -1
  23. package/dist/elements/chunks/{button-DBDZebGr.js → button-BD7lUvVB.js} +1 -1
  24. package/dist/elements/chunks/{card-YfCyI4fH.js → card-B-PRGXdj.js} +1 -1
  25. package/dist/elements/chunks/chat-thread-DIZbRIKG.js +1 -0
  26. package/dist/elements/chunks/check-CUKS495w.js +1 -0
  27. package/dist/elements/chunks/chevron-down-AELmYT1j.js +1 -0
  28. package/dist/elements/chunks/chevron-right-C8g26oKh.js +1 -0
  29. package/dist/elements/chunks/circle-DGcI8Cft.js +1 -0
  30. package/dist/elements/chunks/circle-check-DuU0IcBQ.js +1 -0
  31. package/dist/elements/chunks/{circle-x-pDtzlghQ.js → circle-x-mtjCO_Ok.js} +1 -1
  32. package/dist/elements/chunks/{code-block-DZ6mz6vs.js → code-block-BeWVttmU.js} +1 -1
  33. package/dist/elements/chunks/{collapsible-CWUAShMC.js → collapsible-DGjADCN6.js} +1 -1
  34. package/dist/elements/chunks/{composer-BZyPU6gD.js → composer-CavJww3d.js} +7 -3
  35. package/dist/elements/chunks/{context-Cx6eQA_G.js → context-CnlsNJSJ.js} +1 -1
  36. package/dist/elements/chunks/{conversation-list-C4xTQSpT.js → conversation-list-5O_KdI_I.js} +1 -1
  37. package/dist/elements/chunks/{default-input-BZcwyKcP.js → default-input-CB46cJJ1.js} +1 -1
  38. package/dist/elements/chunks/{define-CNSKFZCd.js → define-DfTe4zwZ.js} +1 -1
  39. package/dist/elements/chunks/{disclosure-BcBs--Jf.js → disclosure-BtFK3a-M.js} +1 -1
  40. package/dist/elements/chunks/{download-BDQwcFav.js → download-qJv1dS3M.js} +1 -1
  41. package/dist/elements/chunks/{dropdown-wgs8xCJZ.js → dropdown-UhtAueYR.js} +1 -1
  42. package/dist/elements/chunks/{ellipsis-CUiEJ6R1.js → ellipsis-B1sOOqiJ.js} +1 -1
  43. package/dist/elements/chunks/{external-link-DJUmC7g2.js → external-link-DToP_VKE.js} +1 -1
  44. package/dist/elements/chunks/{file-text-DOYfYvrh.js → file-text-BwUs_Pj4.js} +1 -1
  45. package/dist/elements/chunks/{file-tree-DQzNQrbr.js → file-tree-C6RhmSnX.js} +1 -1
  46. package/dist/elements/chunks/{folder-DBDUBANz.js → folder-H_Xp0GYP.js} +1 -1
  47. package/dist/elements/chunks/hover-card-Dn3yrk1l.js +1 -0
  48. package/dist/elements/chunks/icon-BrxJQXzC.js +1 -0
  49. package/dist/elements/chunks/{info-DBQl-m6e.js → info-11eT2q5H.js} +1 -1
  50. package/dist/elements/chunks/{input-DZD67EvW.js → input-B9oZKDfb.js} +1 -1
  51. package/dist/elements/chunks/{kbd-DbyVrlnU.js → kbd-D2fx3rWh.js} +1 -1
  52. package/dist/elements/chunks/{link-vko7AttA.js → link-B-RNYWNw.js} +1 -1
  53. package/dist/elements/chunks/{loader-Cg6rO8tQ.js → loader-BJh_aRlp.js} +1 -1
  54. package/dist/elements/chunks/{markdown-n3Xbj3PR.js → markdown-BIpjrDFv.js} +1 -1
  55. package/dist/elements/chunks/{message-CgKytiSB.js → message-CPfqj8Gi.js} +1 -1
  56. package/dist/elements/chunks/{message-feedback-Ds3-US0e.js → message-feedback-8uj0aVYh.js} +1 -1
  57. package/dist/elements/chunks/message-square-CCSQ4M9g.js +1 -0
  58. package/dist/elements/chunks/{minimize-2-3kCdE0q3.js → minimize-2-C9qkiTJg.js} +1 -1
  59. package/dist/elements/chunks/{model-switcher-BMtXGwLU.js → model-switcher-DRrMcRXH.js} +1 -1
  60. package/dist/elements/chunks/{overlay-B1-MBI6h.js → overlay-C8_FUL8q.js} +1 -1
  61. package/dist/elements/chunks/{paperclip-DDEfmkHc.js → paperclip-MA9hxLhW.js} +1 -1
  62. package/dist/elements/chunks/{progress-bar-Dwbiyv3s.js → progress-bar-y5G6HDjg.js} +1 -1
  63. package/dist/elements/chunks/{prompt-suggestion-9lvgFcEa.js → prompt-suggestion-LalWvCJy.js} +1 -1
  64. package/dist/elements/chunks/reasoning-CW3SDdb4.js +1 -0
  65. package/dist/elements/chunks/resizable-xhYF5lCQ.js +1 -0
  66. package/dist/elements/chunks/{rotate-cw-jpisOdOV.js → rotate-cw-2ndEXjgS.js} +1 -1
  67. package/dist/elements/chunks/{scroll-area-g5Ze3K6f.js → scroll-area-BzOPDXrZ.js} +1 -1
  68. package/dist/elements/chunks/scroll-button-B1x4cYqM.js +1 -0
  69. package/dist/elements/chunks/{separator-Bmjc5XyX.js → separator-CPvL5Xdl.js} +1 -1
  70. package/dist/elements/chunks/{settings-group-9imY3kRA.js → settings-group-BiIym17O.js} +1 -1
  71. package/dist/elements/chunks/{settings-Cz1bMJP9.js → settings-hmzIuNXD.js} +1 -1
  72. package/dist/elements/chunks/{share-BdenF0wQ.js → share-BbziTAzn.js} +1 -1
  73. package/dist/elements/chunks/skeleton-Bxhs1thL.js +1 -0
  74. package/dist/elements/chunks/{slots-DkZ-Cmha.js → slots--V19HwUb.js} +1 -1
  75. package/dist/elements/chunks/{star-DY6z1UUH.js → star-BHL3Va5p.js} +1 -1
  76. package/dist/elements/chunks/{store-th4VyJXM.js → store-tpnnWlxY.js} +1 -1
  77. package/dist/elements/chunks/{text-shimmer-CEi-tlXr.js → text-shimmer-1DCKivKx.js} +1 -1
  78. package/dist/elements/chunks/textarea-Czaowo9F.js +1 -0
  79. package/dist/elements/chunks/{thumbs-up-BR33KLfA.js → thumbs-up-CdLqA13R.js} +1 -1
  80. package/dist/elements/chunks/{toast-store-BEMda0fv.js → toast-store-BvBquUFA.js} +1 -1
  81. package/dist/elements/chunks/{tool-TMued3WO.js → tool-4P_ne8Go.js} +1 -1
  82. package/dist/elements/chunks/{tooltip-Cft_Rxiw.js → tooltip-CBeFqJKk.js} +1 -1
  83. package/dist/elements/chunks/{triangle-alert-B07fX3Q8.js → triangle-alert-BllqxXq8.js} +1 -1
  84. package/dist/elements/chunks/{use-card-resolution-M36zVciB.js → use-card-resolution-73xiddIW.js} +1 -1
  85. package/dist/elements/chunks/{video-MKp3LmNT.js → video-O9rA6k7S.js} +1 -1
  86. package/dist/elements/chunks/x-DeS3rQhx.js +1 -0
  87. package/dist/elements/coachmark.js +1 -1
  88. package/dist/elements/code-block.js +1 -1
  89. package/dist/elements/command.js +1 -1
  90. package/dist/elements/compare.js +1 -1
  91. package/dist/elements/composer.js +1 -1
  92. package/dist/elements/confirm-card.js +1 -1
  93. package/dist/elements/context-meter.js +1 -1
  94. package/dist/elements/conversation-list.js +1 -1
  95. package/dist/elements/dialog.js +1 -1
  96. package/dist/elements/editable-label.js +1 -1
  97. package/dist/elements/embed.js +1 -1
  98. package/dist/elements/empty.js +1 -1
  99. package/dist/elements/feedback-bar.js +1 -1
  100. package/dist/elements/file-tree.js +1 -1
  101. package/dist/elements/file-upload.js +1 -1
  102. package/dist/elements/form.js +1 -1
  103. package/dist/elements/hover-card.js +1 -1
  104. package/dist/elements/icon.js +1 -1
  105. package/dist/elements/image.js +1 -1
  106. package/dist/elements/input.js +1 -1
  107. package/dist/elements/kbd.js +1 -1
  108. package/dist/elements/link-preview.js +1 -1
  109. package/dist/elements/loader.js +1 -1
  110. package/dist/elements/markdown.js +1 -1
  111. package/dist/elements/menu.js +1 -1
  112. package/dist/elements/message-skills.js +1 -1
  113. package/dist/elements/message.js +1 -1
  114. package/dist/elements/model-switcher.js +1 -1
  115. package/dist/elements/nav.js +1 -1
  116. package/dist/elements/notice.js +1 -1
  117. package/dist/elements/pane-group.js +1 -1
  118. package/dist/elements/pane.js +1 -1
  119. package/dist/elements/popover.js +1 -1
  120. package/dist/elements/progress-bar.js +1 -1
  121. package/dist/elements/prompt-dock.js +1 -1
  122. package/dist/elements/prompt-input.js +1 -1
  123. package/dist/elements/prompt-suggestions.js +1 -1
  124. package/dist/elements/reasoning.js +1 -1
  125. package/dist/elements/remote.js +1 -1
  126. package/dist/elements/resizable.js +1 -1
  127. package/dist/elements/response-stream.js +1 -1
  128. package/dist/elements/screen.js +1 -1
  129. package/dist/elements/scroll-area.js +1 -1
  130. package/dist/elements/scroll-button.js +1 -1
  131. package/dist/elements/search.js +1 -1
  132. package/dist/elements/segmented.js +1 -1
  133. package/dist/elements/separator.js +1 -1
  134. package/dist/elements/setting-item.js +1 -1
  135. package/dist/elements/settings-group.js +1 -1
  136. package/dist/elements/skeleton.js +1 -1
  137. package/dist/elements/slots.d.ts +3 -0
  138. package/dist/elements/source.js +1 -1
  139. package/dist/elements/status.js +1 -1
  140. package/dist/elements/switch.js +1 -1
  141. package/dist/elements/tabs.js +1 -1
  142. package/dist/elements/tasks.js +1 -1
  143. package/dist/elements/text-shimmer.js +1 -1
  144. package/dist/elements/thinking-bar.js +1 -1
  145. package/dist/elements/thread.d.ts +1 -0
  146. package/dist/elements/thread.js +1 -0
  147. package/dist/elements/toast.js +1 -1
  148. package/dist/elements/tool.js +1 -1
  149. package/dist/elements/tooltip.js +1 -1
  150. package/dist/elements/voice-input.js +1 -1
  151. package/dist/elements/voice-output.js +1 -1
  152. package/dist/elements.d.ts +24 -0
  153. package/dist/index.js +3393 -3311
  154. package/dist/kai.es.js +1 -1
  155. package/dist/llms/llms-full.txt +34 -4
  156. package/dist/llms/llms.txt +3 -3
  157. package/dist/react/index.d.ts +64 -0
  158. package/dist/react/use-voice-input.d.ts +15 -0
  159. package/dist/react.js +263 -240
  160. package/dist/register-impl-CaaHJcea.js +145 -0
  161. package/dist/ui/resizable.d.ts +9 -3
  162. package/frameworks/react/index.tsx +32 -1
  163. package/frameworks/react/use-voice-input.tsx +59 -0
  164. package/llms-full.txt +34 -4
  165. package/llms.txt +3 -3
  166. package/package.json +27 -5
  167. package/src/components/component-meta.json +30 -28
  168. package/src/components/composer.tsx +5 -0
  169. package/src/components/thread.tsx +177 -0
  170. package/src/elements/chat-workspace.tsx +1 -1
  171. package/src/elements/compiled.css +1 -1
  172. package/src/elements/element-manifest.json +4 -0
  173. package/src/elements/element-meta.json +117 -0
  174. package/src/elements/element-types.d.ts +24 -0
  175. package/src/elements/icon-names.json +2 -0
  176. package/src/elements/menu.tsx +7 -4
  177. package/src/elements/register-impl.ts +2 -0
  178. package/src/elements/resizable.tsx +78 -2
  179. package/src/elements/search.tsx +1 -1
  180. package/src/elements/slots.ts +7 -0
  181. package/src/elements/thread.tsx +105 -0
  182. package/src/ui/action-icons.ts +2 -1
  183. package/src/ui/command.tsx +5 -1
  184. package/src/ui/icon.tsx +4 -0
  185. package/src/ui/overlay.tsx +8 -1
  186. package/src/ui/resizable.tsx +47 -9
  187. package/dist/elements/chunks/action-icons-Dtl8Ox5D.js +0 -1
  188. package/dist/elements/chunks/arrow-left-GbBceGBE.js +0 -1
  189. package/dist/elements/chunks/chat-thread-Dz2qbzvI.js +0 -1
  190. package/dist/elements/chunks/check-fhmRksq_.js +0 -1
  191. package/dist/elements/chunks/chevron-down-DcRg1aRU.js +0 -1
  192. package/dist/elements/chunks/chevron-right-ChzBcNJ-.js +0 -1
  193. package/dist/elements/chunks/circle-B4fTe9v6.js +0 -1
  194. package/dist/elements/chunks/circle-check-CJV-3Rem.js +0 -1
  195. package/dist/elements/chunks/hover-card-BQGdGAQ3.js +0 -1
  196. package/dist/elements/chunks/icon-CAyRqVrg.js +0 -1
  197. package/dist/elements/chunks/message-square-MmRkvc-M.js +0 -1
  198. package/dist/elements/chunks/reasoning-DzHWsdAJ.js +0 -1
  199. package/dist/elements/chunks/resizable-Bq_eHxUm.js +0 -1
  200. package/dist/elements/chunks/skeleton-Pjc5jiaY.js +0 -1
  201. package/dist/elements/chunks/textarea-CboigarR.js +0 -1
  202. package/dist/elements/chunks/x-Ckwicf6g.js +0 -1
  203. package/dist/register-impl-cKscku5m.js +0 -141
@@ -0,0 +1,54 @@
1
+ import { JSX } from 'solid-js';
2
+ import { MessageActionDetail } from '../primitives/message-feedback';
3
+ import { ChatMessage } from '../elements/chat-types';
4
+ import { ProseSize } from '../primitives/chat-config';
5
+ /** Imperative handle exposed via `controllerRef` — the thread's scroll control,
6
+ * forwarded onto `<kai-thread>` as the `scrollToBottom()` instance method. */
7
+ export interface ThreadController {
8
+ /** Scroll the message list to the bottom (default `'smooth'`). */
9
+ scrollToBottom(behavior?: ScrollBehavior): void;
10
+ }
11
+ export interface ThreadProps {
12
+ /** Extra classes for the thread root (e.g. `rounded-xl`). */
13
+ class?: string;
14
+ /** The full message thread to render, newest last. Each entry carries its role,
15
+ * content, and optional reasoning/tools/attachments/actions/avatar. A new array
16
+ * reference per streaming chunk re-renders (mutating in place does not). */
17
+ messages: ChatMessage[];
18
+ /** Show a typing indicator on the pending assistant turn — use while awaiting
19
+ * the assistant's reply. */
20
+ loading?: boolean;
21
+ /** Body/prose font scale for rendered markdown (`'xs' | 'sm' | 'base' | 'lg'`).
22
+ * Defaults to `'sm'`. */
23
+ proseSize?: ProseSize;
24
+ /** Shiki theme name for syntax-highlighted code blocks (e.g.
25
+ * `'github-dark-dimmed'`). */
26
+ codeTheme?: string;
27
+ /** Enable Shiki syntax highlighting in code blocks. Turn off to render plain
28
+ * `<pre>` blocks (lighter, no highlighter load). Default true. */
29
+ codeHighlight?: boolean;
30
+ /** Whether each message's action bar is always visible (`'always'`, default) or
31
+ * only revealed on hover of that message row (`'hover'`). */
32
+ actionsReveal?: 'always' | 'hover';
33
+ /** Show the scroll-to-bottom button inside the scroll area. Default true. */
34
+ scrollButton?: boolean;
35
+ /** Custom zero-state shown while the thread is empty. A sensible default renders
36
+ * when omitted (the `<kai-thread>` facade wires this to `slot="empty"`). */
37
+ empty?: JSX.Element;
38
+ /** Fired when a message's action button is clicked (copy / vote / regenerate /
39
+ * edit / custom). The facade re-dispatches this as `kai-message-action`. */
40
+ onMessageAction?: (detail: MessageActionDetail) => void;
41
+ /** Receive the imperative controller once mounted — the `<kai-thread>` facade
42
+ * forwards `scrollToBottom` onto the host. */
43
+ controllerRef?: (controller: ThreadController) => void;
44
+ }
45
+ /**
46
+ * `Thread` — the message-list slice of a chat, as a standalone composable: the
47
+ * scrolling list of messages + per-message rendering (markdown, code highlight,
48
+ * reasoning + tool panels, avatars, and the action row), stick-to-bottom scroll
49
+ * with a scroll-to-bottom button, an optional typing indicator, and an empty
50
+ * state. No composer, header, suggestions, or sidebar — those are sibling/preset
51
+ * concerns. This is the source of truth behind the `<kai-thread>` facade; it is
52
+ * composed from the same internal pieces `ChatThread` uses for its message list.
53
+ */
54
+ export declare function Thread(props: ThreadProps): JSX.Element;
@@ -7771,6 +7771,15 @@
7771
7771
  },
7772
7772
  "description": "Which item index is maximized (null = none). Declarative source of truth.",
7773
7773
  "privacy": "public"
7774
+ },
7775
+ {
7776
+ "kind": "field",
7777
+ "name": "handle",
7778
+ "type": {
7779
+ "text": "undefined | \"none\" | \"line\" | \"grip\""
7780
+ },
7781
+ "description": "Divider affordance drawn inside each draggable handle's 8px grab zone: - `line` (default) — a 1px hairline, transparent at rest, tinting on hover/drag. - `grip` — a dotted grip handle. - `none` — no visible divider, just the invisible hit-area. The full grab zone and keyboard/ARIA behavior are identical for all three.",
7782
+ "privacy": "public"
7774
7783
  }
7775
7784
  ],
7776
7785
  "attributes": [
@@ -7788,6 +7797,14 @@
7788
7797
  "text": "undefined | \"vertical\" | \"horizontal\""
7789
7798
  },
7790
7799
  "description": "Layout axis: `horizontal` (row, default) or `vertical` (column)."
7800
+ },
7801
+ {
7802
+ "name": "handle",
7803
+ "fieldName": "handle",
7804
+ "type": {
7805
+ "text": "undefined | \"none\" | \"line\" | \"grip\""
7806
+ },
7807
+ "description": "Divider affordance drawn inside each draggable handle's 8px grab zone: - `line` (default) — a 1px hairline, transparent at rest, tinting on hover/drag. - `grip` — a dotted grip handle. - `none` — no visible divider, just the invisible hit-area. The full grab zone and keyboard/ARIA behavior are identical for all three."
7791
7808
  }
7792
7809
  ],
7793
7810
  "events": [
@@ -10153,6 +10170,184 @@
10153
10170
  ],
10154
10171
  "cssProperties": []
10155
10172
  },
10173
+ {
10174
+ "kind": "class",
10175
+ "customElement": true,
10176
+ "tagName": "kai-thread",
10177
+ "name": "KaiThreadElement",
10178
+ "description": "",
10179
+ "members": [
10180
+ {
10181
+ "kind": "field",
10182
+ "name": "messages",
10183
+ "type": {
10184
+ "text": "undefined | { id: string; role: \"user\" | \"assistant\"; content: string; reasoning?: undefined | { text: string; label?: undefined | string }; tools?: undefined | { type: string; state: \"input-streaming\" | \"input-available\" | \"output-available\" | \"output-error\"; input?: undefined | Record<string, unknown>; output?: undefined | Record<string, unknown>; toolCallId?: undefined | string; errorText?: undefined | string }[]; attachments?: undefined | { id: string; type: \"file\" | \"source-document\"; filename?: undefined | string; mediaType?: undefined | string; url?: undefined | string; title?: undefined | string }[]; actions?: undefined | (\"copy\" | \"like\" | \"dislike\" | \"regenerate\" | \"edit\" | { id: string; label: string; icon?: undefined | string; tooltip?: undefined | string })[]; avatar?: undefined | { src?: undefined | string; fallback?: undefined | string; alt?: undefined | string }; feedback?: undefined | \"like\" | \"dislike\" }[]"
10185
+ },
10186
+ "description": "The full message thread to render, newest last. Each entry carries its role, content, and optional reasoning/tools/attachments/actions/avatar. Set as a JS property (`el.messages = [...]`); a NEW array reference per streaming chunk re-renders (mutating in place does not).",
10187
+ "privacy": "public"
10188
+ },
10189
+ {
10190
+ "kind": "field",
10191
+ "name": "loading",
10192
+ "type": {
10193
+ "text": "undefined | false | true"
10194
+ },
10195
+ "description": "Show a typing indicator on the pending assistant turn — set while awaiting the assistant's reply.",
10196
+ "privacy": "public"
10197
+ },
10198
+ {
10199
+ "kind": "field",
10200
+ "name": "proseSize",
10201
+ "type": {
10202
+ "text": "undefined | \"sm\" | \"lg\" | \"xs\" | \"base\""
10203
+ },
10204
+ "description": "Body/prose font scale for rendered markdown (`'xs' | 'sm' | 'base' | 'lg'`). Defaults to `'sm'`.",
10205
+ "privacy": "public"
10206
+ },
10207
+ {
10208
+ "kind": "field",
10209
+ "name": "codeTheme",
10210
+ "type": {
10211
+ "text": "undefined | string"
10212
+ },
10213
+ "description": "Shiki theme name for syntax-highlighted code blocks (e.g. `'github-dark-dimmed'`).",
10214
+ "privacy": "public"
10215
+ },
10216
+ {
10217
+ "kind": "field",
10218
+ "name": "codeHighlight",
10219
+ "type": {
10220
+ "text": "undefined | false | true"
10221
+ },
10222
+ "description": "Enable Shiki syntax highlighting in code blocks. Turn off to render plain `<pre>` blocks (lighter, no highlighter load). Default true.",
10223
+ "privacy": "public"
10224
+ },
10225
+ {
10226
+ "kind": "field",
10227
+ "name": "actionsReveal",
10228
+ "type": {
10229
+ "text": "undefined | \"always\" | \"hover\""
10230
+ },
10231
+ "description": "Whether each message's action bar is always visible (`'always'`, default) or only revealed on hover of that message row (`'hover'`).",
10232
+ "privacy": "public"
10233
+ },
10234
+ {
10235
+ "kind": "field",
10236
+ "name": "scrollButton",
10237
+ "type": {
10238
+ "text": "undefined | false | true"
10239
+ },
10240
+ "description": "Show the scroll-to-bottom button inside the scroll area. Default true.",
10241
+ "privacy": "public"
10242
+ },
10243
+ {
10244
+ "kind": "field",
10245
+ "name": "class",
10246
+ "type": {
10247
+ "text": "undefined | string"
10248
+ },
10249
+ "description": "Extra classes applied to the thread's inner root.",
10250
+ "privacy": "public"
10251
+ },
10252
+ {
10253
+ "kind": "method",
10254
+ "name": "scrollToBottom",
10255
+ "parameters": [
10256
+ {
10257
+ "name": "behavior?: ScrollBehavior"
10258
+ }
10259
+ ],
10260
+ "return": {
10261
+ "type": {
10262
+ "text": "void"
10263
+ }
10264
+ },
10265
+ "description": "Scroll the message list to the bottom (default `'smooth'`).",
10266
+ "privacy": "public"
10267
+ }
10268
+ ],
10269
+ "attributes": [
10270
+ {
10271
+ "name": "theme",
10272
+ "type": {
10273
+ "text": "'light' | 'dark' | 'auto'"
10274
+ },
10275
+ "description": "Color mode (auto follows prefers-color-scheme)."
10276
+ },
10277
+ {
10278
+ "name": "loading",
10279
+ "fieldName": "loading",
10280
+ "type": {
10281
+ "text": "undefined | false | true"
10282
+ },
10283
+ "description": "Show a typing indicator on the pending assistant turn — set while awaiting the assistant's reply."
10284
+ },
10285
+ {
10286
+ "name": "prose-size",
10287
+ "fieldName": "proseSize",
10288
+ "type": {
10289
+ "text": "undefined | \"sm\" | \"lg\" | \"xs\" | \"base\""
10290
+ },
10291
+ "description": "Body/prose font scale for rendered markdown (`'xs' | 'sm' | 'base' | 'lg'`). Defaults to `'sm'`."
10292
+ },
10293
+ {
10294
+ "name": "code-theme",
10295
+ "fieldName": "codeTheme",
10296
+ "type": {
10297
+ "text": "undefined | string"
10298
+ },
10299
+ "description": "Shiki theme name for syntax-highlighted code blocks (e.g. `'github-dark-dimmed'`)."
10300
+ },
10301
+ {
10302
+ "name": "code-highlight",
10303
+ "fieldName": "codeHighlight",
10304
+ "type": {
10305
+ "text": "undefined | false | true"
10306
+ },
10307
+ "description": "Enable Shiki syntax highlighting in code blocks. Turn off to render plain `<pre>` blocks (lighter, no highlighter load). Default true."
10308
+ },
10309
+ {
10310
+ "name": "actions-reveal",
10311
+ "fieldName": "actionsReveal",
10312
+ "type": {
10313
+ "text": "undefined | \"always\" | \"hover\""
10314
+ },
10315
+ "description": "Whether each message's action bar is always visible (`'always'`, default) or only revealed on hover of that message row (`'hover'`)."
10316
+ },
10317
+ {
10318
+ "name": "scroll-button",
10319
+ "fieldName": "scrollButton",
10320
+ "type": {
10321
+ "text": "undefined | false | true"
10322
+ },
10323
+ "description": "Show the scroll-to-bottom button inside the scroll area. Default true."
10324
+ },
10325
+ {
10326
+ "name": "class",
10327
+ "fieldName": "class",
10328
+ "type": {
10329
+ "text": "undefined | string"
10330
+ },
10331
+ "description": "Extra classes applied to the thread's inner root."
10332
+ }
10333
+ ],
10334
+ "events": [
10335
+ {
10336
+ "name": "kai-message-action",
10337
+ "type": {
10338
+ "text": "CustomEvent<{ messageId: string; action: string; state?: undefined | \"on\" | \"off\" }>"
10339
+ },
10340
+ "description": "A message's action button was clicked. `action` is the built-in name (`copy` / `like` / `dislike` / `regenerate` / `edit`) or a custom id. `state` is present only for the toggleable feedback votes: `'on'` when a like/dislike is set, `'off'` when re-tapped to clear."
10341
+ }
10342
+ ],
10343
+ "cssProperties": [],
10344
+ "slots": [
10345
+ {
10346
+ "name": "empty",
10347
+ "description": "Custom zero-state rendered in the message area while the thread is empty; replaces the built-in default."
10348
+ }
10349
+ ]
10350
+ },
10156
10351
  {
10157
10352
  "kind": "class",
10158
10353
  "customElement": true,
@@ -1 +1 @@
1
- import{c as r,m as S,s as q,i,a as f,b as d,S as v,d as m,t as b,e as B,f as I}from"./chunks/define-CNSKFZCd.js";import{c as u}from"./chunks/cn-CU7UAWzk.js";import{I as N}from"./chunks/Icon-C2LTALdM.js";import{e as j}from"./chunks/ellipsis-CUiEJ6R1.js";var D=[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]],E=l=>r(N,S(l,{name:"Bell",iconNode:D})),H=E,L=b("<span aria-hidden=true>"),P=b("<span>"),W=b('<span class="inline-flex items-center gap-1 rounded-full bg-tool-amber/15 px-2 py-0.5 text-[11px] font-medium text-tool-amber">Needs you'),O=b("<button type=button part=menu aria-label=More>"),R=b('<div><span class="inline-flex shrink-0 items-center gap-1.5"role=status><span class="relative inline-flex"><span aria-hidden=true part=status></span></span></span><button type=button><span class="block truncate text-sm font-medium leading-tight text-foreground"></span></button><span class="flex shrink-0 items-center gap-2">');const M={working:"bg-tool-blue",idle:"bg-muted-foreground",done:"bg-tool-green",error:"bg-tool-red",blocked:"bg-tool-amber"},T={working:"text-tool-blue",idle:"text-muted-foreground",done:"text-tool-green",error:"text-tool-red",blocked:"text-tool-amber"},X={working:"Working",idle:"Idle",done:"Done",error:"Error",blocked:"Blocked"};function _(l){const[t]=q(l,["name","status","needsAttention","active","onActivate","onClick","onMenu","class","leading","subtitle","lastLine"]),o=()=>t.status.tone,z=()=>{var n,a;(n=t.onActivate)==null||n.call(t),(a=t.onClick)==null||a.call(t)};return(()=>{var n=R(),a=n.firstChild,p=a.firstChild,h=p.firstChild,c=a.nextSibling,$=c.firstChild,x=c.nextSibling;return i(p,r(v,{get when(){return t.status.pulse},get children(){var e=L();return f(()=>d(e,u("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75 motion-reduce:hidden",M[o()]))),e}}),h),i(a,r(v,{get when(){return t.status.label},get children(){var e=P();return i(e,()=>t.status.label),f(()=>d(e,u("text-[11px] font-medium leading-none",T[o()]))),e}}),null),c.$$click=z,i($,()=>t.name),i(x,r(v,{get when(){return t.needsAttention},get children(){var e=W(),s=e.firstChild;return i(e,r(H,{class:"size-3","aria-hidden":"true"}),s),e}}),null),i(x,r(v,{get when(){return t.onMenu},get children(){var e=O();return e.$$click=s=>{var g;s.stopPropagation(),(g=t.onMenu)==null||g.call(t,s)},i(e,r(j,{class:"size-4","aria-hidden":"true"})),f(()=>d(e,u("relative z-10 inline-flex size-7 shrink-0 items-center justify-center rounded-md","text-muted-foreground outline-none transition-colors","hover:bg-surface-sunken hover:text-foreground","focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring"))),e}}),null),f(e=>{var s=t.active?"":void 0,g=t.needsAttention?"":void 0,k=u("group relative flex w-full cursor-pointer items-center gap-3 rounded-lg border px-3 py-2.5 text-left","transition-[background-color,border-color,box-shadow]",t.active?"border-primary bg-accent":"border-border bg-surface hover:bg-accent",t.needsAttention&&"border-tool-amber/50 ring-2 ring-inset ring-tool-amber/60",t.class),w=t.status.label??X[o()],y=u("relative inline-block size-2 rounded-full",M[o()]),A=t.active?"true":void 0,C=u("min-w-0 flex-1 text-left outline-none","before:absolute before:inset-0 before:rounded-lg before:content-['']","focus-visible:before:ring-2 focus-visible:before:ring-inset focus-visible:before:ring-ring");return s!==e.e&&m(n,"data-active",e.e=s),g!==e.t&&m(n,"data-needs-attention",e.t=g),k!==e.a&&d(n,e.a=k),w!==e.o&&m(a,"aria-label",e.o=w),y!==e.i&&d(h,e.i=y),A!==e.n&&m(c,"aria-current",e.n=A),C!==e.s&&d(c,e.s=C),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),n})()}B(["click"]),I("kai-agent-card",{name:void 0,active:void 0,needsAttention:void 0,status:void 0},(l,{dispatch:t,flag:o})=>r(_,{get name(){return l.name??""},get active(){return o("active")},get needsAttention(){return o("needsAttention")},get status(){return l.status??{tone:"idle"}},onActivate:()=>t("kai-activate"),onMenu:()=>t("kai-menu")}));
1
+ import{c as r,m as S,s as q,i,a as f,b as d,S as v,d as m,t as b,e as B,f as I}from"./chunks/define-DfTe4zwZ.js";import{c as u}from"./chunks/cn-CU7UAWzk.js";import{I as N}from"./chunks/Icon-11SRdjJ4.js";import{e as j}from"./chunks/ellipsis-B1sOOqiJ.js";var D=[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]],E=l=>r(N,S(l,{name:"Bell",iconNode:D})),H=E,L=b("<span aria-hidden=true>"),P=b("<span>"),W=b('<span class="inline-flex items-center gap-1 rounded-full bg-tool-amber/15 px-2 py-0.5 text-[11px] font-medium text-tool-amber">Needs you'),O=b("<button type=button part=menu aria-label=More>"),R=b('<div><span class="inline-flex shrink-0 items-center gap-1.5"role=status><span class="relative inline-flex"><span aria-hidden=true part=status></span></span></span><button type=button><span class="block truncate text-sm font-medium leading-tight text-foreground"></span></button><span class="flex shrink-0 items-center gap-2">');const M={working:"bg-tool-blue",idle:"bg-muted-foreground",done:"bg-tool-green",error:"bg-tool-red",blocked:"bg-tool-amber"},T={working:"text-tool-blue",idle:"text-muted-foreground",done:"text-tool-green",error:"text-tool-red",blocked:"text-tool-amber"},X={working:"Working",idle:"Idle",done:"Done",error:"Error",blocked:"Blocked"};function _(l){const[t]=q(l,["name","status","needsAttention","active","onActivate","onClick","onMenu","class","leading","subtitle","lastLine"]),o=()=>t.status.tone,z=()=>{var n,a;(n=t.onActivate)==null||n.call(t),(a=t.onClick)==null||a.call(t)};return(()=>{var n=R(),a=n.firstChild,p=a.firstChild,h=p.firstChild,c=a.nextSibling,$=c.firstChild,x=c.nextSibling;return i(p,r(v,{get when(){return t.status.pulse},get children(){var e=L();return f(()=>d(e,u("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75 motion-reduce:hidden",M[o()]))),e}}),h),i(a,r(v,{get when(){return t.status.label},get children(){var e=P();return i(e,()=>t.status.label),f(()=>d(e,u("text-[11px] font-medium leading-none",T[o()]))),e}}),null),c.$$click=z,i($,()=>t.name),i(x,r(v,{get when(){return t.needsAttention},get children(){var e=W(),s=e.firstChild;return i(e,r(H,{class:"size-3","aria-hidden":"true"}),s),e}}),null),i(x,r(v,{get when(){return t.onMenu},get children(){var e=O();return e.$$click=s=>{var g;s.stopPropagation(),(g=t.onMenu)==null||g.call(t,s)},i(e,r(j,{class:"size-4","aria-hidden":"true"})),f(()=>d(e,u("relative z-10 inline-flex size-7 shrink-0 items-center justify-center rounded-md","text-muted-foreground outline-none transition-colors","hover:bg-surface-sunken hover:text-foreground","focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring"))),e}}),null),f(e=>{var s=t.active?"":void 0,g=t.needsAttention?"":void 0,k=u("group relative flex w-full cursor-pointer items-center gap-3 rounded-lg border px-3 py-2.5 text-left","transition-[background-color,border-color,box-shadow]",t.active?"border-primary bg-accent":"border-border bg-surface hover:bg-accent",t.needsAttention&&"border-tool-amber/50 ring-2 ring-inset ring-tool-amber/60",t.class),w=t.status.label??X[o()],y=u("relative inline-block size-2 rounded-full",M[o()]),A=t.active?"true":void 0,C=u("min-w-0 flex-1 text-left outline-none","before:absolute before:inset-0 before:rounded-lg before:content-['']","focus-visible:before:ring-2 focus-visible:before:ring-inset focus-visible:before:ring-ring");return s!==e.e&&m(n,"data-active",e.e=s),g!==e.t&&m(n,"data-needs-attention",e.t=g),k!==e.a&&d(n,e.a=k),w!==e.o&&m(a,"aria-label",e.o=w),y!==e.i&&d(h,e.i=y),A!==e.n&&m(c,"aria-current",e.n=A),C!==e.s&&d(c,e.s=C),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),n})()}B(["click"]),I("kai-agent-card",{name:void 0,active:void 0,needsAttention:void 0,status:void 0},(l,{dispatch:t,flag:o})=>r(_,{get name(){return l.name??""},get active(){return o("active")},get needsAttention(){return o("needsAttention")},get status(){return l.status??{tone:"idle"}},onActivate:()=>t("kai-activate"),onMenu:()=>t("kai-menu")}));
@@ -1 +1 @@
1
- import{c as a,m as P,s as ce,g as k,h as F,j as C,o as j,k as he,i as f,S as b,t as v,d as p,a as y,b as Z,l as J,u as Q,n as ge,p as X,e as fe,f as be}from"./chunks/define-CNSKFZCd.js";import{c as E}from"./chunks/cn-CU7UAWzk.js";import{B as z}from"./chunks/button-DBDZebGr.js";import{C as me,a as ve}from"./chunks/code-block-DZ6mz6vs.js";import{F as pe}from"./chunks/file-tree-DQzNQrbr.js";import{L as we}from"./chunks/loader-Cg6rO8tQ.js";import{a as xe}from"./chunks/arrow-left-GbBceGBE.js";import{I as Y}from"./chunks/Icon-C2LTALdM.js";import{r as ke,h as ye,c as ze}from"./chunks/rotate-cw-jpisOdOV.js";import{d as Te}from"./chunks/download-BDQwcFav.js";import{e as ee}from"./chunks/external-link-DJUmC7g2.js";import{f as Fe}from"./chunks/file-text-DOYfYvrh.js";import{m as Ce,a as Pe}from"./chunks/minimize-2-3kCdE0q3.js";var Re=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Se=r=>a(Y,P(r,{name:"ArrowRight",iconNode:Re})),Oe=Se,Ne=[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Ie=r=>a(Y,P(r,{name:"Eye",iconNode:Ne})),je=Ie;const Ee="6.0.227",re=`https://cdn.jsdelivr.net/npm/pdfjs-dist@${Ee}/build`,He=()=>import(`${re}/pdf.min.mjs`),Me=`${re}/pdf.worker.min.mjs`;let Ue=He,Le=Me,H=null;function $e(){if(!H){const r=Ue;H=(async()=>{const n=await r(),e=n.default??n;return e.GlobalWorkerOptions.workerSrc=Le,e})()}return H}async function Be(r,n,e){const l=await(await $e()).getDocument({url:r}).promise;n.replaceChildren();const s=typeof window<"u"&&window.devicePixelRatio?window.devicePixelRatio:1;for(let d=1;d<=l.numPages;d++){const c=await l.getPage(d),i=c.getViewport({scale:1}),h=i.width>0?e/i.width:1,u=c.getViewport({scale:h*s}),g=document.createElement("canvas");g.width=Math.max(1,Math.floor(u.width)),g.height=Math.max(1,Math.floor(u.height)),g.setAttribute("role","img"),g.setAttribute("aria-label",`Page ${d}`),g.style.width="100%",g.style.height="auto",g.style.display="block";const w=g.getContext("2d");n.appendChild(g),await c.render({canvasContext:w,viewport:u}).promise}return{pages:l.numPages}}var De=v('<div><div class="relative min-h-0 flex-1">'),Ae=v('<form class="min-w-0 flex-1"><label class=sr-only for=kai-artifact-path>Address</label><input id=kai-artifact-path name=kai-artifact-path type=text autocomplete=off placeholder="Enter a path or URL\u2026">'),Ve=v("<div class=flex-1 aria-hidden=true>"),We=v('<div role=tablist aria-label=View class="flex shrink-0 items-center gap-0.5 rounded-md bg-muted p-0.5">'),qe=v('<div data-artifact-toolbar class="flex shrink-0 items-center gap-1.5 border-b border-border bg-surface px-2 py-1.5">'),Ke=v("<button type=button role=tab>"),_e=v('<iframe class="absolute inset-0 h-full w-full border-0 bg-white">'),Ge=v('<div class="absolute inset-0 flex"><div class="w-56 shrink-0 overflow-auto border-r border-border bg-surface-sunken py-1.5 scrollbar-thin"></div><div class="min-w-0 flex-1 overflow-auto scrollbar-thin">'),Ze=v('<div class="flex h-full items-center justify-center p-6 text-sm text-muted-foreground">Select a file to view its source.'),Je=v('<div class="flex h-full items-center justify-center p-6 text-sm text-muted-foreground">No source \u2014 this file (<!>) has no code view.'),Qe=v(`<div role=region aria-label="PDF preview unavailable"class="absolute inset-0 flex flex-col items-center justify-center gap-3 bg-card p-6 text-center"><div class="text-sm font-medium text-foreground"></div><div class="text-xs text-muted-foreground">Can't preview this PDF inline.</div><div class="flex flex-wrap items-center justify-center gap-2"><a class="inline-flex h-8 items-center gap-1.5 rounded-md border border-border bg-background px-3 text-xs font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"target=_blank rel="noopener noreferrer">Open in new tab</a><a class="inline-flex h-8 items-center gap-1.5 rounded-md border border-border bg-background px-3 text-xs font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"download>Download`),Xe=v('<div class="pointer-events-none absolute inset-0 flex items-center justify-center">'),Ye=v('<div class="absolute inset-0"><div role=region aria-label="PDF preview"tabindex=0 class="absolute inset-0 flex flex-col items-center gap-3 overflow-auto bg-surface-sunken p-3 scrollbar-thin focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset">');const er="allow-scripts allow-forms";function rr(r,n){if(r.url)return r.url;if(!n)return r.path;try{return new URL(r.path,n).href}catch{return r.path}}function tr(r,n){if(!r)return!1;const e=n.find(s=>s.url===r||s.path===r);if(e?.type==="pdf")return!0;const l=r.split(/[?#]/)[0];return/\.pdf$/i.test(l)}function nr(r){const n=P({files:[],defaultTab:"preview",sandbox:er,showNav:!0,showReload:!0,showHome:!0,showPathField:!0,showTabs:!0,expandable:!1,openInTab:!1,standalone:!1,readonlyPath:!1,maximized:!1},r),[e,l]=ce(n,["src","files","tab","defaultTab","activeFile","sandbox","iframeTitle","onNavigate","onTabChange","onFileSelect","maximized","onMaximizeChange","showNav","showReload","showHome","showPathField","showTabs","expandable","openInTab","standalone","readonlyPath","displayUrl","controllerRef","class"]),[s,d]=k(e.src?[e.src]:[]),[c,i]=k(e.src?0:-1),h=()=>s()[c()]??"",u=()=>c()>0,g=()=>c()<s().length-1,[w,M]=k(e.tab??e.defaultTab),[U,L]=k(e.activeFile),[ne,ae]=k(0),[R,S]=k(e.maximized??!1);F(()=>S(e.maximized??!1));const ie=()=>{var t;const o=!R();S(o),(t=e.onMaximizeChange)==null||t.call(e,o)},$=C(()=>{const t=h();return!!t&&t!=="about:blank"}),B=()=>{$()&&window.open(h(),"_blank","noopener,noreferrer")},D=C(()=>e.expandable&&!e.standalone),le=C(()=>e.showNav||e.showReload||e.showHome||e.showPathField||e.showTabs||D()||e.openInTab);let x;F(()=>{e.tab!==void 0&&M(e.tab)}),F(()=>L(e.activeFile)),F(J(()=>e.src,t=>{t&&t!==h()&&T(t)},{defer:!0}));const A=t=>t===void 0?void 0:e.files.find(o=>o.path===t),V=C(()=>A(U())),oe=C(()=>{const t=V();return!!t&&t.type!=="image"&&t.type!=="pdf"&&typeof t.code=="string"});function T(t){if(t===h()){N();return}d(o=>[...o.slice(0,c()+1),t]),i(o=>o+1),O()}function O(){var t;const o=h();x&&(x.src=o||"about:blank"),(t=e.onNavigate)==null||t.call(e,o)}function se(t){var o;t!==w()&&(M(t),(o=e.onTabChange)==null||o.call(e,t))}function W(t,o){var m;L(t),(m=e.onFileSelect)==null||m.call(e,t),T(rr(o,e.src))}const q=()=>{u()&&(i(t=>t-1),O())},K=()=>{g()&&(i(t=>t+1),O())};function N(){var t;const o=h();x&&(x.src="about:blank",x.src=o||"about:blank"),ae(m=>m+1),(t=e.onNavigate)==null||t.call(e,o)}const _=()=>{e.src&&T(e.src)},G=t=>{var o;R()!==t&&(S(t),(o=e.onMaximizeChange)==null||o.call(e,t))};j(()=>{var t;(t=e.controllerRef)==null||t.call(e,{back:()=>q(),forward:()=>K(),reload:()=>N(),home:()=>_(),navigate:o=>T(o),selectFile:o=>{const m=A(o);m&&W(o,m)},openExternal:()=>B(),maximize:()=>G(!0),restore:()=>G(!1)})});const de=()=>{var t,o;try{const m=(t=x?.contentWindow)==null?void 0:t.location.href;m&&m!=="about:blank"&&m!==h()&&(d(I=>[...I.slice(0,c()+1),m]),i(I=>I+1),(o=e.onNavigate)==null||o.call(e,m))}catch{}},ue=t=>{t.preventDefault();const o=t.currentTarget.elements.namedItem("kai-artifact-path");if(e.readonlyPath||e.displayUrl!=null){o&&(o.value=e.displayUrl??h());return}o&&o.value&&T(o.value)};return(()=>{var t=De(),o=t.firstChild;return he(t,P({get class(){return E("flex h-full w-full flex-col overflow-hidden bg-card text-card-foreground",e.standalone&&"rounded-xl border border-border",e.class)}},l),!1,!0),f(t,a(b,{get when(){return le()},get children(){return a(ar,{url:()=>e.displayUrl??h(),tab:w,canBack:u,canForward:g,canHome:()=>!!e.src,onBack:q,onForward:K,onReload:N,onHome:_,onSubmitPath:ue,onTab:se,showNav:()=>e.showNav,showReload:()=>e.showReload,showHome:()=>e.showHome,showPathField:()=>e.showPathField,showTabs:()=>e.showTabs,showExpand:D,showOpenInTab:()=>e.openInTab,maximized:R,onToggleMaximize:ie,canOpenInTab:$,onOpenInTab:B,readonlyPath:()=>e.readonlyPath||e.displayUrl!=null})}}),o),f(o,a(b,{get when(){return w()==="preview"},get fallback(){return a(lr,{get files(){return e.files},activeFile:U,activeFileObj:V,hasSource:oe,onSelect:W})},get children(){return a(b,{get when(){return tr(h(),e.files)},get fallback(){return a(ir,{ref:m=>x=m,src:h,get sandbox(){return e.sandbox},get title(){return e.iframeTitle??"Artifact preview"},onLoad:de})},get children(){return a(sr,{get url(){return h()},get reloadKey(){return ne()}})}})}})),t})()}function ar(r){return(()=>{var n=qe();return f(n,a(b,{get when(){return r.showNav()},get children(){return[a(z,{variant:"ghost",size:"icon-sm","aria-label":"Back",get disabled(){return!r.canBack()},onClick:()=>r.onBack(),get children(){return a(xe,{size:16,"aria-hidden":"true"})}}),a(z,{variant:"ghost",size:"icon-sm","aria-label":"Forward",get disabled(){return!r.canForward()},onClick:()=>r.onForward(),get children(){return a(Oe,{size:16,"aria-hidden":"true"})}})]}}),null),f(n,a(b,{get when(){return r.showReload()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Reload",onClick:()=>r.onReload(),get children(){return a(ke,{size:15,"aria-hidden":"true"})}})}}),null),f(n,a(b,{get when(){return r.showHome()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Home",get disabled(){return!r.canHome()},onClick:()=>r.onHome(),get children(){return a(ye,{size:15,"aria-hidden":"true"})}})}}),null),f(n,a(b,{get when(){return r.showPathField()},get children(){var e=Ae(),l=e.firstChild,s=l.nextSibling;return e.addEventListener("submit",d=>r.onSubmitPath(d)),p(s,"spellcheck",!1),y(d=>{var c=r.readonlyPath()||void 0,i=r.readonlyPath()?"true":void 0,h=E("h-7 w-full rounded-md border border-border px-2.5 text-xs text-foreground font-mono outline-none",r.readonlyPath()?"bg-muted/40 cursor-default":"bg-background focus-visible:ring-2 focus-visible:ring-ring");return c!==d.e&&(s.readOnly=d.e=c),i!==d.t&&p(s,"aria-readonly",d.t=i),h!==d.a&&Z(s,d.a=h),d},{e:void 0,t:void 0,a:void 0}),y(()=>s.value=r.url()),e}}),null),f(n,a(b,{get when(){return!r.showPathField()},get children(){return Ve()}}),null),f(n,a(b,{get when(){return r.showExpand()},get children(){return a(z,{variant:"ghost",size:"icon-sm",get"aria-label"(){return r.maximized()?"Collapse":"Expand"},get"aria-expanded"(){return r.maximized()},onClick:()=>r.onToggleMaximize(),get children(){return a(b,{get when(){return r.maximized()},get fallback(){return a(Pe,{size:15,"aria-hidden":"true"})},get children(){return a(Ce,{size:15,"aria-hidden":"true"})}})}})}}),null),f(n,a(b,{get when(){return r.showOpenInTab()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Open in new tab",get disabled(){return!r.canOpenInTab()},onClick:()=>r.onOpenInTab(),get children(){return a(ee,{size:15,"aria-hidden":"true"})}})}}),null),f(n,a(b,{get when(){return r.showTabs()},get children(){var e=We();return f(e,a(te,{label:"Preview",get icon(){return a(je,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="preview"},onClick:()=>r.onTab("preview")}),null),f(e,a(te,{label:"Code",get icon(){return a(ze,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="code"},onClick:()=>r.onTab("code")}),null),e}}),null),n})()}function te(r){return(()=>{var n=Ke();return n.$$click=()=>r.onClick(),f(n,()=>r.icon,null),f(n,()=>r.label,null),y(e=>{var l=r.selected,s=E("inline-flex h-6 items-center gap-1.5 rounded px-2 text-xs font-medium transition-colors outline-none","focus-visible:ring-2 focus-visible:ring-ring",r.selected?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground");return l!==e.e&&p(n,"aria-selected",e.e=l),s!==e.t&&Z(n,e.t=s),e},{e:void 0,t:void 0}),n})()}function ir(r){return(()=>{var n=_e();n.addEventListener("load",()=>r.onLoad());var e=r.ref;return typeof e=="function"?Q(e,n):r.ref=n,y(l=>{var s=r.src()||"about:blank",d=r.sandbox,c=r.title;return s!==l.e&&p(n,"src",l.e=s),d!==l.t&&p(n,"sandbox",l.t=d),c!==l.a&&p(n,"title",l.a=c),l},{e:void 0,t:void 0,a:void 0}),n})()}function lr(r){return(()=>{var n=Ge(),e=n.firstChild,l=e.nextSibling;return f(e,a(pe,{get files(){return r.files},get activeFile(){return r.activeFile()},onSelect:(s,d)=>r.onSelect(s,d)})),f(l,a(b,{get when(){return r.activeFileObj()},get fallback(){return Ze()},get children(){return a(b,{get when(){return r.hasSource()},get fallback(){return(()=>{var s=Je(),d=s.firstChild,c=d.nextSibling;return c.nextSibling,f(s,()=>r.activeFileObj().type??"binary",c),s})()},get children(){return a(me,{class:"h-full rounded-none border-0",get children(){return a(ve,{get code(){return r.activeFileObj().code??""},get language(){return r.activeFileObj().language}})}})}})}})),n})()}function or(r){const n=()=>{const e=r.url.split(/[?#]/)[0];return e.slice(e.lastIndexOf("/")+1)||"document.pdf"};return(()=>{var e=Qe(),l=e.firstChild,s=l.nextSibling,d=s.nextSibling,c=d.firstChild;c.firstChild;var i=c.nextSibling,h=i.firstChild;return f(e,a(Fe,{size:40,class:"text-muted-foreground","aria-hidden":"true"}),l),f(l,n),f(c,a(ee,{size:13,"aria-hidden":"true"}),null),f(i,a(Te,{size:13,"aria-hidden":"true"}),h),y(u=>{var g=r.url,w=r.url;return g!==u.e&&p(c,"href",u.e=g),w!==u.t&&p(i,"href",u.t=w),u},{e:void 0,t:void 0}),e})()}function sr(r){const[n,e]=k("loading");let l,s=0,d;const c=async()=>{if(!l){e("error");return}const i=++s;e("loading");try{const h=l.clientWidth||600;await Be(r.url,l,h),i===s&&e("success")}catch{i===s&&e("error")}};return F(J(()=>[r.url,r.reloadKey],()=>{c()})),j(()=>{if(!l||typeof ResizeObserver>"u")return;const i=new ResizeObserver(()=>{n()==="success"&&(clearTimeout(d),d=setTimeout(()=>{c()},200))});i.observe(l),X(()=>{i.disconnect(),clearTimeout(d),s++})}),(()=>{var i=Ye(),h=i.firstChild;return Q(u=>l=u,h),f(i,a(b,{get when(){return ge(()=>!0)()&&n()==="loading"},get children(){var u=Xe();return f(u,a(we,{variant:"circular",size:"md"})),u}}),null),f(i,a(b,{get when(){return n()==="error"},get children(){return a(or,{get url(){return r.url}})}}),null),y(()=>p(h,"aria-busy",n()==="loading")),i})()}fe(["click"]);var dr=v("<style>:host{display:block;height:100%;min-height:0}"),ur=v('<div style="display:grid;grid-template-rows:minmax(0, 1fr);grid-template-columns:minmax(0, 1fr);height:100%;min-height:0">');be("kai-artifact",{src:void 0,files:[],tab:void 0,defaultTab:void 0,activeFile:void 0,sandbox:"allow-scripts allow-forms",iframeTitle:void 0,maximized:!1,expandable:!1,openInTab:!1,noNav:!1,noReload:!1,noHome:!1,noPathField:!1,noTabs:!1,standalone:!1,readonlyPath:!1,displayUrl:void 0},(r,{element:n,dispatch:e,flag:l,expose:s})=>{const[d,c]=k(l("maximized"));let i;s({back:()=>i?.back(),forward:()=>i?.forward(),reload:()=>i?.reload(),home:()=>i?.home(),navigate:u=>i?.navigate(u),selectFile:u=>i?.selectFile(u),openExternal:()=>i?.openExternal(),maximize:()=>i?.maximize(),restore:()=>i?.restore()});const h=u=>{c(u),n.dispatchEvent(new CustomEvent("kai-maximize-intent",{detail:{requested:u},bubbles:!0,composed:!0})),e("kai-maximize-change",{maximized:u})};return j(()=>{const u=g=>c(g.detail.maximized);n.addEventListener("kai-maximize-state",u),X(()=>n.removeEventListener("kai-maximize-state",u))}),[dr(),(()=>{var u=ur();return f(u,a(nr,{get src(){return r.src},get files(){return r.files},get tab(){return r.tab},get defaultTab(){return r.defaultTab},get activeFile(){return r.activeFile},get sandbox(){return r.sandbox},get iframeTitle(){return r.iframeTitle},get maximized(){return d()},get expandable(){return l("expandable")},get openInTab(){return l("openInTab")},get showNav(){return!l("noNav")},get showReload(){return!l("noReload")},get showHome(){return!l("noHome")},get showPathField(){return!l("noPathField")},get showTabs(){return!l("noTabs")},get standalone(){return l("standalone")},get readonlyPath(){return l("readonlyPath")},get displayUrl(){return r.displayUrl},onMaximizeChange:h,onNavigate:g=>e("kai-navigate",{url:g}),onTabChange:g=>e("kai-tab-change",{tab:g}),onFileSelect:g=>e("kai-file-select",{path:g}),controllerRef:g=>i=g})),u})()]});
1
+ import{c as a,m as P,s as ce,g as k,h as F,j as C,o as Z,k as j,l as he,i as f,S as b,t as v,d as p,a as y,b as J,u as Q,n as ge,p as X,e as fe,f as be}from"./chunks/define-DfTe4zwZ.js";import{c as E}from"./chunks/cn-CU7UAWzk.js";import{B as z}from"./chunks/button-BD7lUvVB.js";import{C as me,a as ve}from"./chunks/code-block-BeWVttmU.js";import{F as pe}from"./chunks/file-tree-C6RhmSnX.js";import{L as we}from"./chunks/loader-BJh_aRlp.js";import{a as xe}from"./chunks/arrow-left-CifsGq8x.js";import{I as Y}from"./chunks/Icon-11SRdjJ4.js";import{r as ke,h as ye,c as ze}from"./chunks/rotate-cw-2ndEXjgS.js";import{d as Te}from"./chunks/download-qJv1dS3M.js";import{e as ee}from"./chunks/external-link-DToP_VKE.js";import{f as Fe}from"./chunks/file-text-BwUs_Pj4.js";import{m as Ce,a as Pe}from"./chunks/minimize-2-C9qkiTJg.js";var Re=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Se=r=>a(Y,P(r,{name:"ArrowRight",iconNode:Re})),Oe=Se,Ne=[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Ie=r=>a(Y,P(r,{name:"Eye",iconNode:Ne})),je=Ie;const Ee="6.0.227",re=`https://cdn.jsdelivr.net/npm/pdfjs-dist@${Ee}/build`,He=()=>import(/*@vite-ignore*/`${re}/pdf.min.mjs`),Me=`${re}/pdf.worker.min.mjs`;let Ue=He,Le=Me,H=null;function $e(){if(!H){const r=Ue;H=(async()=>{const n=await r(),e=n.default??n;return e.GlobalWorkerOptions.workerSrc=Le,e})()}return H}async function Be(r,n,e){const l=await(await $e()).getDocument({url:r}).promise;n.replaceChildren();const s=typeof window<"u"&&window.devicePixelRatio?window.devicePixelRatio:1;for(let d=1;d<=l.numPages;d++){const c=await l.getPage(d),i=c.getViewport({scale:1}),h=i.width>0?e/i.width:1,u=c.getViewport({scale:h*s}),g=document.createElement("canvas");g.width=Math.max(1,Math.floor(u.width)),g.height=Math.max(1,Math.floor(u.height)),g.setAttribute("role","img"),g.setAttribute("aria-label",`Page ${d}`),g.style.width="100%",g.style.height="auto",g.style.display="block";const w=g.getContext("2d");n.appendChild(g),await c.render({canvasContext:w,viewport:u}).promise}return{pages:l.numPages}}var De=v('<div><div class="relative min-h-0 flex-1">'),Ae=v('<form class="min-w-0 flex-1"><label class=sr-only for=kai-artifact-path>Address</label><input id=kai-artifact-path name=kai-artifact-path type=text autocomplete=off placeholder="Enter a path or URL\u2026">'),Ve=v("<div class=flex-1 aria-hidden=true>"),We=v('<div role=tablist aria-label=View class="flex shrink-0 items-center gap-0.5 rounded-md bg-muted p-0.5">'),qe=v('<div data-artifact-toolbar class="flex shrink-0 items-center gap-1.5 border-b border-border bg-surface px-2 py-1.5">'),Ke=v("<button type=button role=tab>"),_e=v('<iframe class="absolute inset-0 h-full w-full border-0 bg-white">'),Ge=v('<div class="absolute inset-0 flex"><div class="w-56 shrink-0 overflow-auto border-r border-border bg-surface-sunken py-1.5 scrollbar-thin"></div><div class="min-w-0 flex-1 overflow-auto scrollbar-thin">'),Ze=v('<div class="flex h-full items-center justify-center p-6 text-sm text-muted-foreground">Select a file to view its source.'),Je=v('<div class="flex h-full items-center justify-center p-6 text-sm text-muted-foreground">No source \u2014 this file (<!>) has no code view.'),Qe=v(`<div role=region aria-label="PDF preview unavailable"class="absolute inset-0 flex flex-col items-center justify-center gap-3 bg-card p-6 text-center"><div class="text-sm font-medium text-foreground"></div><div class="text-xs text-muted-foreground">Can't preview this PDF inline.</div><div class="flex flex-wrap items-center justify-center gap-2"><a class="inline-flex h-8 items-center gap-1.5 rounded-md border border-border bg-background px-3 text-xs font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"target=_blank rel="noopener noreferrer">Open in new tab</a><a class="inline-flex h-8 items-center gap-1.5 rounded-md border border-border bg-background px-3 text-xs font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"download>Download`),Xe=v('<div class="pointer-events-none absolute inset-0 flex items-center justify-center">'),Ye=v('<div class="absolute inset-0"><div role=region aria-label="PDF preview"tabindex=0 class="absolute inset-0 flex flex-col items-center gap-3 overflow-auto bg-surface-sunken p-3 scrollbar-thin focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset">');const er="allow-scripts allow-forms";function rr(r,n){if(r.url)return r.url;if(!n)return r.path;try{return new URL(r.path,n).href}catch{return r.path}}function tr(r,n){if(!r)return!1;const e=n.find(s=>s.url===r||s.path===r);if(e?.type==="pdf")return!0;const l=r.split(/[?#]/)[0];return/\.pdf$/i.test(l)}function nr(r){const n=P({files:[],defaultTab:"preview",sandbox:er,showNav:!0,showReload:!0,showHome:!0,showPathField:!0,showTabs:!0,expandable:!1,openInTab:!1,standalone:!1,readonlyPath:!1,maximized:!1},r),[e,l]=ce(n,["src","files","tab","defaultTab","activeFile","sandbox","iframeTitle","onNavigate","onTabChange","onFileSelect","maximized","onMaximizeChange","showNav","showReload","showHome","showPathField","showTabs","expandable","openInTab","standalone","readonlyPath","displayUrl","controllerRef","class"]),[s,d]=k(e.src?[e.src]:[]),[c,i]=k(e.src?0:-1),h=()=>s()[c()]??"",u=()=>c()>0,g=()=>c()<s().length-1,[w,M]=k(e.tab??e.defaultTab),[U,L]=k(e.activeFile),[ne,ae]=k(0),[R,S]=k(e.maximized??!1);F(()=>S(e.maximized??!1));const ie=()=>{var t;const o=!R();S(o),(t=e.onMaximizeChange)==null||t.call(e,o)},$=C(()=>{const t=h();return!!t&&t!=="about:blank"}),B=()=>{$()&&window.open(h(),"_blank","noopener,noreferrer")},D=C(()=>e.expandable&&!e.standalone),le=C(()=>e.showNav||e.showReload||e.showHome||e.showPathField||e.showTabs||D()||e.openInTab);let x;F(()=>{e.tab!==void 0&&M(e.tab)}),F(()=>L(e.activeFile)),F(Z(()=>e.src,t=>{t&&t!==h()&&T(t)},{defer:!0}));const A=t=>t===void 0?void 0:e.files.find(o=>o.path===t),V=C(()=>A(U())),oe=C(()=>{const t=V();return!!t&&t.type!=="image"&&t.type!=="pdf"&&typeof t.code=="string"});function T(t){if(t===h()){N();return}d(o=>[...o.slice(0,c()+1),t]),i(o=>o+1),O()}function O(){var t;const o=h();x&&(x.src=o||"about:blank"),(t=e.onNavigate)==null||t.call(e,o)}function se(t){var o;t!==w()&&(M(t),(o=e.onTabChange)==null||o.call(e,t))}function W(t,o){var m;L(t),(m=e.onFileSelect)==null||m.call(e,t),T(rr(o,e.src))}const q=()=>{u()&&(i(t=>t-1),O())},K=()=>{g()&&(i(t=>t+1),O())};function N(){var t;const o=h();x&&(x.src="about:blank",x.src=o||"about:blank"),ae(m=>m+1),(t=e.onNavigate)==null||t.call(e,o)}const _=()=>{e.src&&T(e.src)},G=t=>{var o;R()!==t&&(S(t),(o=e.onMaximizeChange)==null||o.call(e,t))};j(()=>{var t;(t=e.controllerRef)==null||t.call(e,{back:()=>q(),forward:()=>K(),reload:()=>N(),home:()=>_(),navigate:o=>T(o),selectFile:o=>{const m=A(o);m&&W(o,m)},openExternal:()=>B(),maximize:()=>G(!0),restore:()=>G(!1)})});const de=()=>{var t,o;try{const m=(t=x?.contentWindow)==null?void 0:t.location.href;m&&m!=="about:blank"&&m!==h()&&(d(I=>[...I.slice(0,c()+1),m]),i(I=>I+1),(o=e.onNavigate)==null||o.call(e,m))}catch{}},ue=t=>{t.preventDefault();const o=t.currentTarget.elements.namedItem("kai-artifact-path");if(e.readonlyPath||e.displayUrl!=null){o&&(o.value=e.displayUrl??h());return}o&&o.value&&T(o.value)};return(()=>{var t=De(),o=t.firstChild;return he(t,P({get class(){return E("flex h-full w-full flex-col overflow-hidden bg-card text-card-foreground",e.standalone&&"rounded-xl border border-border",e.class)}},l),!1,!0),f(t,a(b,{get when(){return le()},get children(){return a(ar,{url:()=>e.displayUrl??h(),tab:w,canBack:u,canForward:g,canHome:()=>!!e.src,onBack:q,onForward:K,onReload:N,onHome:_,onSubmitPath:ue,onTab:se,showNav:()=>e.showNav,showReload:()=>e.showReload,showHome:()=>e.showHome,showPathField:()=>e.showPathField,showTabs:()=>e.showTabs,showExpand:D,showOpenInTab:()=>e.openInTab,maximized:R,onToggleMaximize:ie,canOpenInTab:$,onOpenInTab:B,readonlyPath:()=>e.readonlyPath||e.displayUrl!=null})}}),o),f(o,a(b,{get when(){return w()==="preview"},get fallback(){return a(lr,{get files(){return e.files},activeFile:U,activeFileObj:V,hasSource:oe,onSelect:W})},get children(){return a(b,{get when(){return tr(h(),e.files)},get fallback(){return a(ir,{ref:m=>x=m,src:h,get sandbox(){return e.sandbox},get title(){return e.iframeTitle??"Artifact preview"},onLoad:de})},get children(){return a(sr,{get url(){return h()},get reloadKey(){return ne()}})}})}})),t})()}function ar(r){return(()=>{var n=qe();return f(n,a(b,{get when(){return r.showNav()},get children(){return[a(z,{variant:"ghost",size:"icon-sm","aria-label":"Back",get disabled(){return!r.canBack()},onClick:()=>r.onBack(),get children(){return a(xe,{size:16,"aria-hidden":"true"})}}),a(z,{variant:"ghost",size:"icon-sm","aria-label":"Forward",get disabled(){return!r.canForward()},onClick:()=>r.onForward(),get children(){return a(Oe,{size:16,"aria-hidden":"true"})}})]}}),null),f(n,a(b,{get when(){return r.showReload()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Reload",onClick:()=>r.onReload(),get children(){return a(ke,{size:15,"aria-hidden":"true"})}})}}),null),f(n,a(b,{get when(){return r.showHome()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Home",get disabled(){return!r.canHome()},onClick:()=>r.onHome(),get children(){return a(ye,{size:15,"aria-hidden":"true"})}})}}),null),f(n,a(b,{get when(){return r.showPathField()},get children(){var e=Ae(),l=e.firstChild,s=l.nextSibling;return e.addEventListener("submit",d=>r.onSubmitPath(d)),p(s,"spellcheck",!1),y(d=>{var c=r.readonlyPath()||void 0,i=r.readonlyPath()?"true":void 0,h=E("h-7 w-full rounded-md border border-border px-2.5 text-xs text-foreground font-mono outline-none",r.readonlyPath()?"bg-muted/40 cursor-default":"bg-background focus-visible:ring-2 focus-visible:ring-ring");return c!==d.e&&(s.readOnly=d.e=c),i!==d.t&&p(s,"aria-readonly",d.t=i),h!==d.a&&J(s,d.a=h),d},{e:void 0,t:void 0,a:void 0}),y(()=>s.value=r.url()),e}}),null),f(n,a(b,{get when(){return!r.showPathField()},get children(){return Ve()}}),null),f(n,a(b,{get when(){return r.showExpand()},get children(){return a(z,{variant:"ghost",size:"icon-sm",get"aria-label"(){return r.maximized()?"Collapse":"Expand"},get"aria-expanded"(){return r.maximized()},onClick:()=>r.onToggleMaximize(),get children(){return a(b,{get when(){return r.maximized()},get fallback(){return a(Pe,{size:15,"aria-hidden":"true"})},get children(){return a(Ce,{size:15,"aria-hidden":"true"})}})}})}}),null),f(n,a(b,{get when(){return r.showOpenInTab()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Open in new tab",get disabled(){return!r.canOpenInTab()},onClick:()=>r.onOpenInTab(),get children(){return a(ee,{size:15,"aria-hidden":"true"})}})}}),null),f(n,a(b,{get when(){return r.showTabs()},get children(){var e=We();return f(e,a(te,{label:"Preview",get icon(){return a(je,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="preview"},onClick:()=>r.onTab("preview")}),null),f(e,a(te,{label:"Code",get icon(){return a(ze,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="code"},onClick:()=>r.onTab("code")}),null),e}}),null),n})()}function te(r){return(()=>{var n=Ke();return n.$$click=()=>r.onClick(),f(n,()=>r.icon,null),f(n,()=>r.label,null),y(e=>{var l=r.selected,s=E("inline-flex h-6 items-center gap-1.5 rounded px-2 text-xs font-medium transition-colors outline-none","focus-visible:ring-2 focus-visible:ring-ring",r.selected?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground");return l!==e.e&&p(n,"aria-selected",e.e=l),s!==e.t&&J(n,e.t=s),e},{e:void 0,t:void 0}),n})()}function ir(r){return(()=>{var n=_e();n.addEventListener("load",()=>r.onLoad());var e=r.ref;return typeof e=="function"?Q(e,n):r.ref=n,y(l=>{var s=r.src()||"about:blank",d=r.sandbox,c=r.title;return s!==l.e&&p(n,"src",l.e=s),d!==l.t&&p(n,"sandbox",l.t=d),c!==l.a&&p(n,"title",l.a=c),l},{e:void 0,t:void 0,a:void 0}),n})()}function lr(r){return(()=>{var n=Ge(),e=n.firstChild,l=e.nextSibling;return f(e,a(pe,{get files(){return r.files},get activeFile(){return r.activeFile()},onSelect:(s,d)=>r.onSelect(s,d)})),f(l,a(b,{get when(){return r.activeFileObj()},get fallback(){return Ze()},get children(){return a(b,{get when(){return r.hasSource()},get fallback(){return(()=>{var s=Je(),d=s.firstChild,c=d.nextSibling;return c.nextSibling,f(s,()=>r.activeFileObj().type??"binary",c),s})()},get children(){return a(me,{class:"h-full rounded-none border-0",get children(){return a(ve,{get code(){return r.activeFileObj().code??""},get language(){return r.activeFileObj().language}})}})}})}})),n})()}function or(r){const n=()=>{const e=r.url.split(/[?#]/)[0];return e.slice(e.lastIndexOf("/")+1)||"document.pdf"};return(()=>{var e=Qe(),l=e.firstChild,s=l.nextSibling,d=s.nextSibling,c=d.firstChild;c.firstChild;var i=c.nextSibling,h=i.firstChild;return f(e,a(Fe,{size:40,class:"text-muted-foreground","aria-hidden":"true"}),l),f(l,n),f(c,a(ee,{size:13,"aria-hidden":"true"}),null),f(i,a(Te,{size:13,"aria-hidden":"true"}),h),y(u=>{var g=r.url,w=r.url;return g!==u.e&&p(c,"href",u.e=g),w!==u.t&&p(i,"href",u.t=w),u},{e:void 0,t:void 0}),e})()}function sr(r){const[n,e]=k("loading");let l,s=0,d;const c=async()=>{if(!l){e("error");return}const i=++s;e("loading");try{const h=l.clientWidth||600;await Be(r.url,l,h),i===s&&e("success")}catch{i===s&&e("error")}};return F(Z(()=>[r.url,r.reloadKey],()=>{c()})),j(()=>{if(!l||typeof ResizeObserver>"u")return;const i=new ResizeObserver(()=>{n()==="success"&&(clearTimeout(d),d=setTimeout(()=>{c()},200))});i.observe(l),X(()=>{i.disconnect(),clearTimeout(d),s++})}),(()=>{var i=Ye(),h=i.firstChild;return Q(u=>l=u,h),f(i,a(b,{get when(){return ge(()=>!0)()&&n()==="loading"},get children(){var u=Xe();return f(u,a(we,{variant:"circular",size:"md"})),u}}),null),f(i,a(b,{get when(){return n()==="error"},get children(){return a(or,{get url(){return r.url}})}}),null),y(()=>p(h,"aria-busy",n()==="loading")),i})()}fe(["click"]);var dr=v("<style>:host{display:block;height:100%;min-height:0}"),ur=v('<div style="display:grid;grid-template-rows:minmax(0, 1fr);grid-template-columns:minmax(0, 1fr);height:100%;min-height:0">');be("kai-artifact",{src:void 0,files:[],tab:void 0,defaultTab:void 0,activeFile:void 0,sandbox:"allow-scripts allow-forms",iframeTitle:void 0,maximized:!1,expandable:!1,openInTab:!1,noNav:!1,noReload:!1,noHome:!1,noPathField:!1,noTabs:!1,standalone:!1,readonlyPath:!1,displayUrl:void 0},(r,{element:n,dispatch:e,flag:l,expose:s})=>{const[d,c]=k(l("maximized"));let i;s({back:()=>i?.back(),forward:()=>i?.forward(),reload:()=>i?.reload(),home:()=>i?.home(),navigate:u=>i?.navigate(u),selectFile:u=>i?.selectFile(u),openExternal:()=>i?.openExternal(),maximize:()=>i?.maximize(),restore:()=>i?.restore()});const h=u=>{c(u),n.dispatchEvent(new CustomEvent("kai-maximize-intent",{detail:{requested:u},bubbles:!0,composed:!0})),e("kai-maximize-change",{maximized:u})};return j(()=>{const u=g=>c(g.detail.maximized);n.addEventListener("kai-maximize-state",u),X(()=>n.removeEventListener("kai-maximize-state",u))}),[dr(),(()=>{var u=ur();return f(u,a(nr,{get src(){return r.src},get files(){return r.files},get tab(){return r.tab},get defaultTab(){return r.defaultTab},get activeFile(){return r.activeFile},get sandbox(){return r.sandbox},get iframeTitle(){return r.iframeTitle},get maximized(){return d()},get expandable(){return l("expandable")},get openInTab(){return l("openInTab")},get showNav(){return!l("noNav")},get showReload(){return!l("noReload")},get showHome(){return!l("noHome")},get showPathField(){return!l("noPathField")},get showTabs(){return!l("noTabs")},get standalone(){return l("standalone")},get readonlyPath(){return l("readonlyPath")},get displayUrl(){return r.displayUrl},onMaximizeChange:h,onNavigate:g=>e("kai-navigate",{url:g}),onTabChange:g=>e("kai-tab-change",{tab:g}),onFileSelect:g=>e("kai-file-select",{path:g}),controllerRef:g=>i=g})),u})()]});
@@ -1 +1 @@
1
- import{f as b,c as e,F as T,S as a,n as c,a as k,d as o,i as m,t as d}from"./chunks/define-CNSKFZCd.js";import{A as M,a as C,b as j,c as A,d as v,e as p,f as F,g as f,h as R,i as S,j as $}from"./chunks/attachments-DLJcWCDV.js";var z=d('<img part=preview class="block max-h-64 max-w-xs rounded object-contain">'),E=d('<div class="text-body font-medium">'),H=d('<div class="text-muted-foreground text-caption">');b("kai-attachments",{items:[],variant:"grid",hoverCard:!1,removable:!1,showMediaType:!1,emptyText:void 0},(n,{dispatch:w,flag:g})=>{const i=()=>n.variant??"grid",y=()=>g("hoverCard"),x=()=>g("removable"),l=()=>g("showMediaType");return e(a,{get when(){return n.items.length},get fallback(){return e(a,{get when(){return n.emptyText},get children(){return e($,{get children(){return n.emptyText}})}})},get children(){return e(M,{get variant(){return i()},get children(){return e(T,{get each(){return n.items},children:r=>e(C,{data:r,get onRemove(){return x()?()=>w("kai-remove",{id:r.id}):void 0},get children(){return[e(a,{get when(){return y()},get fallback(){return[e(v,{}),e(a,{get when(){return i()!=="grid"},get children(){return e(p,{get showMediaType(){return l()}})}})]},get children(){return e(j,{get children(){return[e(A,{get class(){return c(()=>i()==="grid")()?"block size-full":`flex items-center gap-1.5${i()==="list"?" w-full":""}`},get children(){return[e(v,{}),e(a,{get when(){return i()!=="grid"},get children(){return e(p,{get showMediaType(){return l()}})}})]}}),e(F,{get children(){return e(a,{get when(){return c(()=>R(r)==="image"&&r.type==="file")()&&r.url},get fallback(){return[(()=>{var t=E();return m(t,()=>f(r)),t})(),e(a,{get when(){return r.mediaType},get children(){var t=H();return m(t,()=>r.mediaType),t}})]},get children(){var t=z();return k(s=>{var u=r.url,h=f(r);return u!==s.e&&o(t,"src",s.e=u),h!==s.t&&o(t,"alt",s.t=h),s},{e:void 0,t:void 0}),t}})}})]}})}}),e(S,{})]}})})}})}})});
1
+ import{f as b,c as e,F as T,S as a,n as c,a as k,d as o,i as m,t as d}from"./chunks/define-DfTe4zwZ.js";import{A as M,a as C,b as j,c as A,d as v,e as p,f as F,g as f,h as R,i as S,j as $}from"./chunks/attachments-CBqQRh60.js";var z=d('<img part=preview class="block max-h-64 max-w-xs rounded object-contain">'),E=d('<div class="text-body font-medium">'),H=d('<div class="text-muted-foreground text-caption">');b("kai-attachments",{items:[],variant:"grid",hoverCard:!1,removable:!1,showMediaType:!1,emptyText:void 0},(n,{dispatch:w,flag:g})=>{const i=()=>n.variant??"grid",y=()=>g("hoverCard"),x=()=>g("removable"),l=()=>g("showMediaType");return e(a,{get when(){return n.items.length},get fallback(){return e(a,{get when(){return n.emptyText},get children(){return e($,{get children(){return n.emptyText}})}})},get children(){return e(M,{get variant(){return i()},get children(){return e(T,{get each(){return n.items},children:r=>e(C,{data:r,get onRemove(){return x()?()=>w("kai-remove",{id:r.id}):void 0},get children(){return[e(a,{get when(){return y()},get fallback(){return[e(v,{}),e(a,{get when(){return i()!=="grid"},get children(){return e(p,{get showMediaType(){return l()}})}})]},get children(){return e(j,{get children(){return[e(A,{get class(){return c(()=>i()==="grid")()?"block size-full":`flex items-center gap-1.5${i()==="list"?" w-full":""}`},get children(){return[e(v,{}),e(a,{get when(){return i()!=="grid"},get children(){return e(p,{get showMediaType(){return l()}})}})]}}),e(F,{get children(){return e(a,{get when(){return c(()=>R(r)==="image"&&r.type==="file")()&&r.url},get fallback(){return[(()=>{var t=E();return m(t,()=>f(r)),t})(),e(a,{get when(){return r.mediaType},get children(){var t=H();return m(t,()=>r.mediaType),t}})]},get children(){var t=z();return k(s=>{var u=r.url,h=f(r);return u!==s.e&&o(t,"src",s.e=u),h!==s.t&&o(t,"alt",s.t=h),s},{e:void 0,t:void 0}),t}})}})]}})}}),e(S,{})]}})})}})}})});
@@ -1 +1 @@
1
- const p={"kai-conversations":"conversation-list","kai-prompt-input":"prompt-input","kai-chat":"chat","kai-workspace":"chat-workspace","kai-thinking-bar":"thinking-bar","kai-model-switcher":"model-switcher","kai-attachments":"attachments","kai-message":"message","kai-markdown":"markdown","kai-code-block":"code-block","kai-reasoning":"reasoning","kai-tool":"tool","kai-context":"context-meter","kai-feedback-bar":"feedback-bar","kai-scope-picker":"chat-scope-picker","kai-suggestions":"prompt-suggestions","kai-file-upload":"file-upload","kai-voice-input":"voice-input","kai-loader":"loader","kai-text-shimmer":"text-shimmer","kai-image":"image","kai-checkpoint":"checkpoint","kai-skills":"message-skills","kai-source":"source","kai-sources":"source","kai-response-stream":"response-stream","kai-empty":"empty","kai-status":"status","kai-nav":"nav","kai-progress-bar":"progress-bar","kai-coachmark":"coachmark","kai-tabs":"tabs","kai-voice-output":"voice-output","kai-screen":"screen","kai-chain-of-thought":"chain-of-thought","kai-resizable":"resizable","kai-resizable-item":"resizable","kai-file-tree":"file-tree","kai-artifact":"artifact","kai-scroll-button":"scroll-button","kai-popover":"popover","kai-switch":"switch","kai-button":"button","kai-avatar":"avatar","kai-badge":"badge","kai-tooltip":"tooltip","kai-notice":"notice","kai-icon":"icon","kai-separator":"separator","kai-scroll-area":"scroll-area","kai-hover-card":"hover-card","kai-skeleton":"skeleton","kai-toast-region":"toast","kai-card":"card","kai-form":"form","kai-link-preview":"link-preview","kai-embed":"embed","kai-confirm":"confirm-card","kai-tasks":"tasks","kai-choice":"choice","kai-cards":"cards","kai-compare":"compare","kai-composer":"composer","kai-menu":"menu","kai-command":"command","kai-prompt-dock":"prompt-dock","kai-segmented":"segmented","kai-settings-group":"settings-group","kai-setting-item":"setting-item","kai-pane":"pane","kai-pane-group":"pane-group","kai-agent-card":"agent-card","kai-dialog":"dialog","kai-input":"input","kai-search":"search","kai-kbd":"kbd","kai-editable-label":"editable-label"},g={tags:p},s=g.tags,n=new Set,h=import.meta.url.slice(0,import.meta.url.lastIndexOf("/")+1);let k=null;function b(a){k=a.endsWith("/")?a:a+"/"}async function f(a){if(customElements.get(a)||n.has(a))return;const e=s[a];if(e){n.add(a);try{await import(`${k??h}${e}.js`)}catch(t){n.delete(a),v(a,t)}}}let l=!1;function v(a,e){if(l)return;l=!0;const t=e?.message??String(e);console.warn(`[kai-autoloader] could not load "${a}" (${t}). The autoloader is a CDN / static-file tool \u2014 load it from a <script type="module" src=".../@kitn.ai/ui/dist/elements/autoloader.js">. It is NOT importable through a bundler. In a bundled app, register elements with per-element imports (import '@kitn.ai/ui/elements/<el>') or the register-all bundle (import '@kitn.ai/ui/elements'). To drive the autoloader from a bundler, host dist/elements/ and call setAutoloaderBasePath('<url>/') before use.`)}function d(a){var e,t,i;const r=new Set,o=(t=(e=a.tagName)==null?void 0:e.toLowerCase)==null?void 0:t.call(e);o&&o in s&&!customElements.get(o)&&r.add(o),(i=a.querySelectorAll)==null||i.call(a,":not(:defined)").forEach(u=>{const c=u.tagName.toLowerCase();c in s&&r.add(c)}),r.forEach(f)}function m(a=document){d(a),new MutationObserver(e=>{for(const t of e)for(const i of t.addedNodes)i.nodeType===1&&d(i)}).observe(document.documentElement,{childList:!0,subtree:!0})}typeof document<"u"&&queueMicrotask(()=>m());export{b as setAutoloaderBasePath,m as startAutoloader};
1
+ const p={"kai-conversations":"conversation-list","kai-prompt-input":"prompt-input","kai-chat":"chat","kai-workspace":"chat-workspace","kai-thread":"thread","kai-thinking-bar":"thinking-bar","kai-model-switcher":"model-switcher","kai-attachments":"attachments","kai-message":"message","kai-markdown":"markdown","kai-code-block":"code-block","kai-reasoning":"reasoning","kai-tool":"tool","kai-context":"context-meter","kai-feedback-bar":"feedback-bar","kai-scope-picker":"chat-scope-picker","kai-suggestions":"prompt-suggestions","kai-file-upload":"file-upload","kai-voice-input":"voice-input","kai-loader":"loader","kai-text-shimmer":"text-shimmer","kai-image":"image","kai-checkpoint":"checkpoint","kai-skills":"message-skills","kai-source":"source","kai-sources":"source","kai-response-stream":"response-stream","kai-empty":"empty","kai-status":"status","kai-nav":"nav","kai-progress-bar":"progress-bar","kai-coachmark":"coachmark","kai-tabs":"tabs","kai-voice-output":"voice-output","kai-screen":"screen","kai-chain-of-thought":"chain-of-thought","kai-resizable":"resizable","kai-resizable-item":"resizable","kai-file-tree":"file-tree","kai-artifact":"artifact","kai-scroll-button":"scroll-button","kai-popover":"popover","kai-switch":"switch","kai-button":"button","kai-avatar":"avatar","kai-badge":"badge","kai-tooltip":"tooltip","kai-notice":"notice","kai-icon":"icon","kai-separator":"separator","kai-scroll-area":"scroll-area","kai-hover-card":"hover-card","kai-skeleton":"skeleton","kai-toast-region":"toast","kai-card":"card","kai-form":"form","kai-link-preview":"link-preview","kai-embed":"embed","kai-confirm":"confirm-card","kai-tasks":"tasks","kai-choice":"choice","kai-cards":"cards","kai-compare":"compare","kai-composer":"composer","kai-menu":"menu","kai-command":"command","kai-prompt-dock":"prompt-dock","kai-segmented":"segmented","kai-settings-group":"settings-group","kai-setting-item":"setting-item","kai-pane":"pane","kai-pane-group":"pane-group","kai-agent-card":"agent-card","kai-dialog":"dialog","kai-input":"input","kai-search":"search","kai-kbd":"kbd","kai-editable-label":"editable-label"},h={tags:p},s=h.tags,n=new Set,g=import.meta.url.slice(0,import.meta.url.lastIndexOf("/")+1);let k=null;function b(a){k=a.endsWith("/")?a:a+"/"}async function f(a){if(customElements.get(a)||n.has(a))return;const e=s[a];if(e){n.add(a);try{await import(/*@vite-ignore*/`${k??g}${e}.js`)}catch(t){n.delete(a),v(a,t)}}}let l=!1;function v(a,e){if(l)return;l=!0;const t=e?.message??String(e);console.warn(`[kai-autoloader] could not load "${a}" (${t}). The autoloader is a CDN / static-file tool \u2014 load it from a <script type="module" src=".../@kitn.ai/ui/dist/elements/autoloader.js">. It is NOT importable through a bundler. In a bundled app, register elements with per-element imports (import '@kitn.ai/ui/elements/<el>') or the register-all bundle (import '@kitn.ai/ui/elements'). To drive the autoloader from a bundler, host dist/elements/ and call setAutoloaderBasePath('<url>/') before use.`)}function d(a){var e,t,i;const r=new Set,o=(t=(e=a.tagName)==null?void 0:e.toLowerCase)==null?void 0:t.call(e);o&&o in s&&!customElements.get(o)&&r.add(o),(i=a.querySelectorAll)==null||i.call(a,":not(:defined)").forEach(u=>{const c=u.tagName.toLowerCase();c in s&&r.add(c)}),r.forEach(f)}function m(a=document){d(a),new MutationObserver(e=>{for(const t of e)for(const i of t.addedNodes)i.nodeType===1&&d(i)}).observe(document.documentElement,{childList:!0,subtree:!0})}typeof document<"u"&&queueMicrotask(()=>m());export{b as setAutoloaderBasePath,m as startAutoloader};
@@ -1 +1 @@
1
- import{s as m,k as g,m as v,i,c as d,a as b,d as o,S as k,t as l,f as x}from"./chunks/define-CNSKFZCd.js";import{c as h}from"./chunks/cn-CU7UAWzk.js";var w=l('<img class="h-full w-full rounded-md object-cover">'),z=l("<div>"),p=l("<span>");const j={sm:"h-6 w-6 text-[10px]",md:"h-8 w-8 text-xs",lg:"h-10 w-10 text-sm"};function y(e){const[r,u]=m(e,["src","alt","fallback","size","class"]),f=()=>r.size??"md";return(()=>{var s=z();return g(s,v({get class(){return h("inline-flex items-center justify-center rounded-md bg-accent font-semibold text-accent-foreground flex-shrink-0",j[f()],r.class)}},u),!1,!0),i(s,d(k,{get when(){return r.src},get fallback(){return(()=>{var t=p();return i(t,()=>r.fallback),t})()},get children(){var t=w();return b(a=>{var c=r.src,n=r.alt??r.fallback;return c!==a.e&&o(t,"src",a.e=c),n!==a.t&&o(t,"alt",a.t=n),a},{e:void 0,t:void 0}),t}})),s})()}x("kai-avatar",{src:void 0,alt:void 0,fallback:"",size:"md"},e=>d(y,{get src(){return e.src},get alt(){return e.alt},get fallback(){return e.fallback??""},get size(){return e.size??"md"}}));
1
+ import{s as m,l as g,m as v,i,c as d,a as b,d as o,S as k,t as l,f as x}from"./chunks/define-DfTe4zwZ.js";import{c as h}from"./chunks/cn-CU7UAWzk.js";var w=l('<img class="h-full w-full rounded-md object-cover">'),z=l("<div>"),p=l("<span>");const j={sm:"h-6 w-6 text-[10px]",md:"h-8 w-8 text-xs",lg:"h-10 w-10 text-sm"};function y(e){const[r,u]=m(e,["src","alt","fallback","size","class"]),f=()=>r.size??"md";return(()=>{var s=z();return g(s,v({get class(){return h("inline-flex items-center justify-center rounded-md bg-accent font-semibold text-accent-foreground flex-shrink-0",j[f()],r.class)}},u),!1,!0),i(s,d(k,{get when(){return r.src},get fallback(){return(()=>{var t=p();return i(t,()=>r.fallback),t})()},get children(){var t=w();return b(a=>{var c=r.src,n=r.alt??r.fallback;return c!==a.e&&o(t,"src",a.e=c),n!==a.t&&o(t,"alt",a.t=n),a},{e:void 0,t:void 0}),t}})),s})()}x("kai-avatar",{src:void 0,alt:void 0,fallback:"",size:"md"},e=>d(y,{get src(){return e.src},get alt(){return e.alt},get fallback(){return e.fallback??""},get size(){return e.size??"md"}}));
@@ -1 +1 @@
1
- import{f as e,c as i,q as n,t as r}from"./chunks/define-CNSKFZCd.js";import{B as l}from"./chunks/badge-BTNZTODL.js";var o=r("<style>:host{display:inline-flex}"),s=r("<slot>");e("kai-badge",{variant:"default"},t=>[o(),i(l,{get variant(){return t.variant??"default"},part:"badge",get children(){var a=s();return a._$owner=n(),a}})]);
1
+ import{f as e,c as i,q as n,t as r}from"./chunks/define-DfTe4zwZ.js";import{B as l}from"./chunks/badge-CxklEXQm.js";var o=r("<style>:host{display:inline-flex}"),s=r("<slot>");e("kai-badge",{variant:"default"},t=>[o(),i(l,{get variant(){return t.variant??"default"},part:"badge",get children(){var a=s();return a._$owner=n(),a}})]);
@@ -1 +1 @@
1
- import{f,c as r,q as c,i as v,S as s,n as b,t as a}from"./chunks/define-CNSKFZCd.js";import{B as m}from"./chunks/button-DBDZebGr.js";import{r as d}from"./chunks/icon-CAyRqVrg.js";var k=a("<style>:host{display:inline-flex}:host([full]){display:block}"),p=a("<slot name=icon>"),y=a("<slot>");f("kai-button",{variant:"default",size:"md",icon:void 0,iconTrailing:void 0,label:void 0,disabled:!1,full:!1,align:"center",type:"button"},(n,{dispatch:g,flag:o,element:t,expose:h})=>{const l=()=>n.size==="icon"||n.size==="icon-sm";return h({focus:e=>{var i,u;return(u=(i=t.shadowRoot)==null?void 0:i.querySelector("button"))==null?void 0:u.focus(e)},blur:()=>{var e,i;return(i=(e=t.shadowRoot)==null?void 0:e.querySelector("button"))==null?void 0:i.blur()},click:()=>{var e,i;return(i=(e=t.shadowRoot)==null?void 0:e.querySelector("button"))==null?void 0:i.click()}}),[k(),r(m,{part:"button",get variant(){return n.variant??"default"},get size(){return n.size??"md"},get align(){return n.align??"center"},get full(){return o("full")||!l()},get type(){return n.type??"button"},get disabled(){return o("disabled")},get"aria-label"(){return n.label},onClick:()=>g("kai-click"),get children(){return[(()=>{var e=p();return e._$owner=c(),v(e,r(s,{get when(){return n.icon},get children(){return d(n.icon,{class:"size-4 shrink-0",imgClass:"size-4 shrink-0",spanClass:"inline-flex size-4 shrink-0 items-center justify-center",ariaHidden:!0})}})),e})(),r(s,{get when(){return!l()},get children(){var e=y();return e._$owner=c(),e}}),r(s,{get when(){return b(()=>!!n.iconTrailing)()&&!l()},get children(){return d(n.iconTrailing,{class:"size-4 shrink-0 opacity-60",imgClass:"size-4 shrink-0",spanClass:"inline-flex size-4 shrink-0 items-center justify-center",ariaHidden:!0})}})]}})]});
1
+ import{f,c as r,q as c,i as v,S as s,n as b,t as a}from"./chunks/define-DfTe4zwZ.js";import{B as m}from"./chunks/button-BD7lUvVB.js";import{r as d}from"./chunks/icon-BrxJQXzC.js";var k=a("<style>:host{display:inline-flex}:host([full]){display:block}"),p=a("<slot name=icon>"),y=a("<slot>");f("kai-button",{variant:"default",size:"md",icon:void 0,iconTrailing:void 0,label:void 0,disabled:!1,full:!1,align:"center",type:"button"},(n,{dispatch:g,flag:o,element:t,expose:h})=>{const l=()=>n.size==="icon"||n.size==="icon-sm";return h({focus:e=>{var i,u;return(u=(i=t.shadowRoot)==null?void 0:i.querySelector("button"))==null?void 0:u.focus(e)},blur:()=>{var e,i;return(i=(e=t.shadowRoot)==null?void 0:e.querySelector("button"))==null?void 0:i.blur()},click:()=>{var e,i;return(i=(e=t.shadowRoot)==null?void 0:e.querySelector("button"))==null?void 0:i.click()}}),[k(),r(m,{part:"button",get variant(){return n.variant??"default"},get size(){return n.size??"md"},get align(){return n.align??"center"},get full(){return o("full")||!l()},get type(){return n.type??"button"},get disabled(){return o("disabled")},get"aria-label"(){return n.label},onClick:()=>g("kai-click"),get children(){return[(()=>{var e=p();return e._$owner=c(),v(e,r(s,{get when(){return n.icon},get children(){return d(n.icon,{class:"size-4 shrink-0",imgClass:"size-4 shrink-0",spanClass:"inline-flex size-4 shrink-0 items-center justify-center",ariaHidden:!0})}})),e})(),r(s,{get when(){return!l()},get children(){var e=y();return e._$owner=c(),e}}),r(s,{get when(){return b(()=>!!n.iconTrailing)()&&!l()},get children(){return d(n.iconTrailing,{class:"size-4 shrink-0 opacity-60",imgClass:"size-4 shrink-0",spanClass:"inline-flex size-4 shrink-0 items-center justify-center",ariaHidden:!0})}})]}})]});
@@ -1 +1 @@
1
- import{m as C,s as M,g as y,r as j,i as n,c as a,S as c,D as K,n as x,t as o,e as P,f as X,o as F,q as E,d as G,p as H}from"./chunks/define-CNSKFZCd.js";import{c as I}from"./chunks/cn-CU7UAWzk.js";import{x as J}from"./chunks/x-Ckwicf6g.js";var N=o('<div class="min-w-0 flex-1">'),Q=o('<div class="-mt-1 shrink-0">'),R=o('<div part=header class="flex items-start justify-between gap-3">'),U=o('<div part=body class="min-w-0 text-sm">'),V=o("<div class=kc-actions>"),W=o("<div part=footer>"),Y=o('<div class="flex min-w-0 flex-1 flex-col"style=padding:var(--kai-card-spacing);gap:var(--kai-card-spacing)>'),Z=o('<button type=button part=dismiss aria-label=Dismiss class="absolute right-2 top-2 z-10 shrink-0 rounded p-1 opacity-60 transition-opacity hover:opacity-100">'),ee=o("<style>"),re=o("<div part=media class=kc-media>"),te=o("<div class=kc-layout>");const ne={outlined:"border border-border bg-card text-card-foreground kai-elevation-sm",filled:"border border-transparent bg-surface-strong text-card-foreground",plain:"border border-transparent bg-transparent",accent:"border border-transparent bg-primary text-primary-foreground"};function ae(u){const f=C({appearance:"outlined",orientation:"vertical",collapse:"28rem",dense:!1},u),[e,v]=M(f,["appearance","orientation","collapse","dense","media","header","headerActions","footer","footerActions","hasBody","dismissible","onDismiss","href","target","rel","clickable","onCardClick","class","children"]),[b,k]=y(!0),w=r=>{var t;r.stopPropagation(),k(!1),(t=e.onDismiss)==null||t.call(e)},g=()=>!!e.href,s=()=>!g()&&!!e.clickable,l=()=>g()||s(),h=/^[\d.]+(px|rem|em|ch|vw|vh|%)$/,m=()=>h.test(e.collapse)?e.collapse:"28rem",d=`kc-i-${j()}`,_=()=>{const r=m(),t=e.orientation==="horizontal",i=e.orientation==="responsive",p=`.${d}`,q=`${p} .kc-layout{display:flex;flex-direction:${t?"row":"column"}}${p} .kc-media{overflow:hidden;${t?"flex-shrink:0;align-self:stretch":"width:100%"}}${p} [part="footer"]{display:flex;flex-direction:column;gap:0.75rem}${p} .kc-actions{display:flex;flex-direction:column-reverse;align-items:stretch;gap:0.5rem}`,L=`${p} [part="footer"]{flex-direction:row;align-items:center}${p} .kc-actions{flex-direction:row;align-items:center;margin-left:auto}`+(i?`${p} .kc-layout{flex-direction:row}${p} .kc-media{width:auto;flex-shrink:0;align-self:stretch}`:"");return`${q}@container (min-width:${r}){${L}}`},$=r=>{var t;return(t=e.onCardClick)==null?void 0:t.call(e,r)},B=r=>{s()&&(r.key==="Enter"||r.key===" "||r.key==="Spacebar")&&(r.preventDefault(),$(r))},z=()=>e.rel??(e.target==="_blank"?"noopener noreferrer":void 0),A=()=>!!e.header||!!e.headerActions,D=()=>!!e.footer||!!e.footerActions,O=()=>A()||e.hasBody||D(),S=(()=>{var r=Y();return n(r,a(c,{get when(){return A()},get children(){var t=R();return n(t,a(c,{get when(){return e.header},get children(){var i=N();return n(i,()=>e.header),i}}),null),n(t,a(c,{get when(){return e.headerActions},get children(){var i=Q();return n(i,()=>e.headerActions),i}}),null),t}}),null),n(r,a(c,{get when(){return e.hasBody},get children(){var t=U();return n(t,()=>e.children),t}}),null),n(r,a(c,{get when(){return D()},get children(){var t=W();return n(t,a(c,{get when(){return e.footer},get children(){var i=N();return n(i,()=>e.footer),i}}),null),n(t,a(c,{get when(){return e.footerActions},get children(){var i=V();return n(i,()=>e.footerActions),i}}),null),t}}),null),r})();return a(c,{get when(){return b()},get children(){return a(K,C({get component(){return g()?"a":"div"},part:"card",get href(){return x(()=>!!g())()?e.href:void 0},get target(){return x(()=>!!g())()?e.target:void 0},get rel(){return x(()=>!!g())()?z():void 0},get role(){return s()?"button":void 0},get tabindex(){return s()?0:void 0},get onClick(){return l()?$:void 0},get onKeyDown(){return s()?B:void 0},get style(){return{"--kai-card-spacing":e.dense?"0.875rem":"1.25rem"}},get class(){return I("relative block overflow-hidden rounded-xl no-underline @container",d,ne[e.appearance],l()&&"cursor-pointer transition-colors hover:border-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",e.class)}},v,{get children(){return[a(c,{get when(){return e.dismissible},get children(){var r=Z();return r.$$click=w,n(r,a(J,{class:"size-3.5","aria-hidden":"true"})),r}}),(()=>{var r=ee();return n(r,_),r})(),(()=>{var r=te();return n(r,a(c,{get when(){return e.media},get children(){var t=re();return n(t,()=>e.media),t}}),null),n(r,a(c,{get when(){return O()},children:S}),null),r})()]}}))}})}P(["click"]);var T=o("<slot>");const ie=["media","header","header-actions","footer","footer-actions"];X("kai-card",{appearance:"outlined",orientation:"vertical",collapse:"28rem",dense:!1,dismissible:!1,href:void 0,target:void 0,rel:void 0,clickable:!1},(u,{element:f,dispatch:e,flag:v})=>{const[b,k]=y({media:!1,header:!1,"header-actions":!1,footer:!1,"footer-actions":!1}),[w,g]=y(!1);F(()=>{const l=()=>{const m={};for(const d of ie)m[d]=!!f.querySelector(`:scope > [slot="${d}"]`);k(m),g(Array.from(f.childNodes).some(d=>d.nodeType===Node.ELEMENT_NODE&&!d.hasAttribute("slot")||d.nodeType===Node.TEXT_NODE&&(d.textContent??"").trim()!==""))};l();const h=new MutationObserver(l);h.observe(f,{childList:!0,characterData:!0,subtree:!0}),H(()=>h.disconnect())});const s=l=>b()[l]?(()=>{var h=T();return G(h,"name",l),h._$owner=E(),h})():void 0;return a(ae,{get appearance(){return u.appearance},get orientation(){return u.orientation},get collapse(){return u.collapse},get dense(){return v("dense")},get dismissible(){return v("dismissible")},get href(){return u.href},get target(){return u.target},get rel(){return u.rel},get clickable(){return v("clickable")},onDismiss:()=>e("kai-dismiss"),onCardClick:()=>e("kai-card-click"),get media(){return s("media")},get header(){return s("header")},get headerActions(){return s("header-actions")},get footer(){return s("footer")},get footerActions(){return s("footer-actions")},get hasBody(){return w()},get children(){var l=T();return l._$owner=E(),l}})});
1
+ import{m as C,s as M,g as y,r as j,i as n,c as a,S as c,D as K,n as x,t as o,e as P,f as X,k as F,p as G,q as E,d as H}from"./chunks/define-DfTe4zwZ.js";import{c as I}from"./chunks/cn-CU7UAWzk.js";import{x as J}from"./chunks/x-DeS3rQhx.js";var N=o('<div class="min-w-0 flex-1">'),Q=o('<div class="-mt-1 shrink-0">'),R=o('<div part=header class="flex items-start justify-between gap-3">'),U=o('<div part=body class="min-w-0 text-sm">'),V=o("<div class=kc-actions>"),W=o("<div part=footer>"),Y=o('<div class="flex min-w-0 flex-1 flex-col"style=padding:var(--kai-card-spacing);gap:var(--kai-card-spacing)>'),Z=o('<button type=button part=dismiss aria-label=Dismiss class="absolute right-2 top-2 z-10 shrink-0 rounded p-1 opacity-60 transition-opacity hover:opacity-100">'),ee=o("<style>"),re=o("<div part=media class=kc-media>"),te=o("<div class=kc-layout>");const ne={outlined:"border border-border bg-card text-card-foreground kai-elevation-sm",filled:"border border-transparent bg-surface-strong text-card-foreground",plain:"border border-transparent bg-transparent",accent:"border border-transparent bg-primary text-primary-foreground"};function ae(u){const f=C({appearance:"outlined",orientation:"vertical",collapse:"28rem",dense:!1},u),[e,v]=M(f,["appearance","orientation","collapse","dense","media","header","headerActions","footer","footerActions","hasBody","dismissible","onDismiss","href","target","rel","clickable","onCardClick","class","children"]),[b,k]=y(!0),w=r=>{var t;r.stopPropagation(),k(!1),(t=e.onDismiss)==null||t.call(e)},g=()=>!!e.href,s=()=>!g()&&!!e.clickable,l=()=>g()||s(),h=/^[\d.]+(px|rem|em|ch|vw|vh|%)$/,m=()=>h.test(e.collapse)?e.collapse:"28rem",d=`kc-i-${j()}`,_=()=>{const r=m(),t=e.orientation==="horizontal",i=e.orientation==="responsive",p=`.${d}`,q=`${p} .kc-layout{display:flex;flex-direction:${t?"row":"column"}}${p} .kc-media{overflow:hidden;${t?"flex-shrink:0;align-self:stretch":"width:100%"}}${p} [part="footer"]{display:flex;flex-direction:column;gap:0.75rem}${p} .kc-actions{display:flex;flex-direction:column-reverse;align-items:stretch;gap:0.5rem}`,L=`${p} [part="footer"]{flex-direction:row;align-items:center}${p} .kc-actions{flex-direction:row;align-items:center;margin-left:auto}`+(i?`${p} .kc-layout{flex-direction:row}${p} .kc-media{width:auto;flex-shrink:0;align-self:stretch}`:"");return`${q}@container (min-width:${r}){${L}}`},$=r=>{var t;return(t=e.onCardClick)==null?void 0:t.call(e,r)},B=r=>{s()&&(r.key==="Enter"||r.key===" "||r.key==="Spacebar")&&(r.preventDefault(),$(r))},z=()=>e.rel??(e.target==="_blank"?"noopener noreferrer":void 0),A=()=>!!e.header||!!e.headerActions,D=()=>!!e.footer||!!e.footerActions,O=()=>A()||e.hasBody||D(),S=(()=>{var r=Y();return n(r,a(c,{get when(){return A()},get children(){var t=R();return n(t,a(c,{get when(){return e.header},get children(){var i=N();return n(i,()=>e.header),i}}),null),n(t,a(c,{get when(){return e.headerActions},get children(){var i=Q();return n(i,()=>e.headerActions),i}}),null),t}}),null),n(r,a(c,{get when(){return e.hasBody},get children(){var t=U();return n(t,()=>e.children),t}}),null),n(r,a(c,{get when(){return D()},get children(){var t=W();return n(t,a(c,{get when(){return e.footer},get children(){var i=N();return n(i,()=>e.footer),i}}),null),n(t,a(c,{get when(){return e.footerActions},get children(){var i=V();return n(i,()=>e.footerActions),i}}),null),t}}),null),r})();return a(c,{get when(){return b()},get children(){return a(K,C({get component(){return g()?"a":"div"},part:"card",get href(){return x(()=>!!g())()?e.href:void 0},get target(){return x(()=>!!g())()?e.target:void 0},get rel(){return x(()=>!!g())()?z():void 0},get role(){return s()?"button":void 0},get tabindex(){return s()?0:void 0},get onClick(){return l()?$:void 0},get onKeyDown(){return s()?B:void 0},get style(){return{"--kai-card-spacing":e.dense?"0.875rem":"1.25rem"}},get class(){return I("relative block overflow-hidden rounded-xl no-underline @container",d,ne[e.appearance],l()&&"cursor-pointer transition-colors hover:border-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",e.class)}},v,{get children(){return[a(c,{get when(){return e.dismissible},get children(){var r=Z();return r.$$click=w,n(r,a(J,{class:"size-3.5","aria-hidden":"true"})),r}}),(()=>{var r=ee();return n(r,_),r})(),(()=>{var r=te();return n(r,a(c,{get when(){return e.media},get children(){var t=re();return n(t,()=>e.media),t}}),null),n(r,a(c,{get when(){return O()},children:S}),null),r})()]}}))}})}P(["click"]);var T=o("<slot>");const ie=["media","header","header-actions","footer","footer-actions"];X("kai-card",{appearance:"outlined",orientation:"vertical",collapse:"28rem",dense:!1,dismissible:!1,href:void 0,target:void 0,rel:void 0,clickable:!1},(u,{element:f,dispatch:e,flag:v})=>{const[b,k]=y({media:!1,header:!1,"header-actions":!1,footer:!1,"footer-actions":!1}),[w,g]=y(!1);F(()=>{const l=()=>{const m={};for(const d of ie)m[d]=!!f.querySelector(`:scope > [slot="${d}"]`);k(m),g(Array.from(f.childNodes).some(d=>d.nodeType===Node.ELEMENT_NODE&&!d.hasAttribute("slot")||d.nodeType===Node.TEXT_NODE&&(d.textContent??"").trim()!==""))};l();const h=new MutationObserver(l);h.observe(f,{childList:!0,characterData:!0,subtree:!0}),G(()=>h.disconnect())});const s=l=>b()[l]?(()=>{var h=T();return H(h,"name",l),h._$owner=E(),h})():void 0;return a(ae,{get appearance(){return u.appearance},get orientation(){return u.orientation},get collapse(){return u.collapse},get dense(){return v("dense")},get dismissible(){return v("dismissible")},get href(){return u.href},get target(){return u.target},get rel(){return u.rel},get clickable(){return v("clickable")},onDismiss:()=>e("kai-dismiss"),onCardClick:()=>e("kai-card-click"),get media(){return s("media")},get header(){return s("header")},get headerActions(){return s("header-actions")},get footer(){return s("footer")},get footerActions(){return s("footer-actions")},get hasBody(){return w()},get children(){var l=T();return l._$owner=E(),l}})});
@@ -1 +1 @@
1
- import{c as o,i as l,t as m,f as x,g as b,h as v,l as C,o as f,F as I,D as w,S,p as A}from"./chunks/define-CNSKFZCd.js";import{e as E,C as k,r as L}from"./chunks/card-routing-C986KuUA.js";import{C as U}from"./chunks/card-YfCyI4fH.js";import{t as $}from"./chunks/triangle-alert-B07fX3Q8.js";import"./form.js";import"./confirm-card.js";import"./tasks.js";import"./choice.js";import"./link-preview.js";import"./embed.js";const g={form:"kai-form",confirm:"kai-confirm",tasks:"kai-tasks",choice:"kai-choice",link:"kai-link-preview",embed:"kai-embed"};function D(e){return e?{...g,...e}:{...g}}var F=m('<div role=alert class="flex items-center gap-2 p-4 text-sm text-muted-foreground"><span>Unsupported card type: <code class=font-mono>');function R(e){return o(U,{get children(){var t=F(),s=t.firstChild,d=s.firstChild,c=d.nextSibling;return l(t,o($,{class:"size-4 shrink-0 text-destructive dark:text-red-400","aria-hidden":"true"}),s),l(c,()=>e.type),t}})}var q=m('<div class="flex flex-col gap-3">');function z(e){switch(e.kind){case"action":return{kind:"action",action:e.action,payload:e.payload};case"submit":return{kind:"submit",data:e.data};case"dismiss":return{kind:"dismissed"};default:return}}function N(e){let t;return v(()=>{t&&(t.data=e.envelope.data,t.cardId=e.envelope.id,e.envelope.title!=null&&(t.heading=e.envelope.title),t.resolution=e.envelope.resolution,t.setAttribute("theme",e.theme),t.setAttribute("data-card-id",e.envelope.id))}),f(()=>{e.tag||e.emit({kind:"error",cardId:e.envelope.id,message:`Unsupported card type: ${e.envelope.type}`})}),o(S,{get when(){return e.tag},get fallback(){return o(R,{get type(){return e.envelope.type},get cardId(){return e.envelope.id}})},children:s=>o(w,{get component(){return s()},ref(d){var c=t;typeof c=="function"?c(d):t=d}})})}x("kai-cards",{cards:void 0,types:void 0,policy:void 0},(e,{element:t,dispatch:s,expose:d})=>{const[c,p]=b(e.cards??[]);v(C(()=>e.cards,r=>p(r??[]),{defer:!0})),f(()=>{const r=a=>{const i=a.detail;L(e.policy??{},i);const n=z(i);n&&s("kai-card-resolved",{cardId:i.cardId,resolution:n})};t.addEventListener(k,r),A(()=>t.removeEventListener(k,r))});const u=(r,a)=>p(i=>i.some(n=>n.id===r)?i.map(n=>n.id===r?{...n,resolution:a}:n):i);d({resolve:(r,a)=>u(r,a),dismiss:r=>u(r,{kind:"dismissed"}),getCard:r=>{var a;return((a=t.shadowRoot)==null?void 0:a.querySelector(`[data-card-id="${CSS.escape(r)}"]`))??null}});const h=()=>e.theme??"auto",y=()=>D(e.types);return(()=>{var r=q();return l(r,o(I,{get each(){return c()},children:a=>o(N,{envelope:a,get tag(){return y()[a.type]},get theme(){return h()},emit:i=>E(t,i)})})),r})()});
1
+ import{c as o,i as l,t as m,f as x,g as b,h as v,o as C,k as f,p as I,F as S,D as w,S as A}from"./chunks/define-DfTe4zwZ.js";import{C as k,r as E,e as L}from"./chunks/card-routing-C986KuUA.js";import{C as U}from"./chunks/card-B-PRGXdj.js";import{t as $}from"./chunks/triangle-alert-BllqxXq8.js";import"./form.js";import"./confirm-card.js";import"./tasks.js";import"./choice.js";import"./link-preview.js";import"./embed.js";const g={form:"kai-form",confirm:"kai-confirm",tasks:"kai-tasks",choice:"kai-choice",link:"kai-link-preview",embed:"kai-embed"};function D(e){return e?{...g,...e}:{...g}}var F=m('<div role=alert class="flex items-center gap-2 p-4 text-sm text-muted-foreground"><span>Unsupported card type: <code class=font-mono>');function R(e){return o(U,{get children(){var t=F(),s=t.firstChild,d=s.firstChild,c=d.nextSibling;return l(t,o($,{class:"size-4 shrink-0 text-destructive dark:text-red-400","aria-hidden":"true"}),s),l(c,()=>e.type),t}})}var q=m('<div class="flex flex-col gap-3">');function z(e){switch(e.kind){case"action":return{kind:"action",action:e.action,payload:e.payload};case"submit":return{kind:"submit",data:e.data};case"dismiss":return{kind:"dismissed"};default:return}}function N(e){let t;return v(()=>{t&&(t.data=e.envelope.data,t.cardId=e.envelope.id,e.envelope.title!=null&&(t.heading=e.envelope.title),t.resolution=e.envelope.resolution,t.setAttribute("theme",e.theme),t.setAttribute("data-card-id",e.envelope.id))}),f(()=>{e.tag||e.emit({kind:"error",cardId:e.envelope.id,message:`Unsupported card type: ${e.envelope.type}`})}),o(A,{get when(){return e.tag},get fallback(){return o(R,{get type(){return e.envelope.type},get cardId(){return e.envelope.id}})},children:s=>o(w,{get component(){return s()},ref(d){var c=t;typeof c=="function"?c(d):t=d}})})}x("kai-cards",{cards:void 0,types:void 0,policy:void 0},(e,{element:t,dispatch:s,expose:d})=>{const[c,p]=b(e.cards??[]);v(C(()=>e.cards,r=>p(r??[]),{defer:!0})),f(()=>{const r=a=>{const i=a.detail;E(e.policy??{},i);const n=z(i);n&&s("kai-card-resolved",{cardId:i.cardId,resolution:n})};t.addEventListener(k,r),I(()=>t.removeEventListener(k,r))});const u=(r,a)=>p(i=>i.some(n=>n.id===r)?i.map(n=>n.id===r?{...n,resolution:a}:n):i);d({resolve:(r,a)=>u(r,a),dismiss:r=>u(r,{kind:"dismissed"}),getCard:r=>{var a;return((a=t.shadowRoot)==null?void 0:a.querySelector(`[data-card-id="${CSS.escape(r)}"]`))??null}});const h=()=>e.theme??"auto",y=()=>D(e.types);return(()=>{var r=q();return l(r,o(S,{get each(){return c()},children:a=>o(N,{envelope:a,get tag(){return y()[a.type]},get theme(){return h()},emit:i=>L(t,i)})})),r})()});
@@ -1 +1 @@
1
- import{g as C,c as a,F as I,S as y,n as L,i as g,a as z,b as V,s as R,k as q,m as E,t as v,f as F,o as H,p as K}from"./chunks/define-CNSKFZCd.js";import{c as f}from"./chunks/cn-CU7UAWzk.js";import{C as M,a as _,b as B}from"./chunks/collapsible-CWUAShMC.js";import{c as k}from"./chunks/chevron-down-DcRg1aRU.js";import{c as D}from"./chunks/circle-B4fTe9v6.js";var A=v("<div>"),G=v('<span class="relative inline-flex size-4 items-center justify-center"><span>'),J=v('<div class="flex items-center gap-2"><span>'),N=v('<span class="relative inline-flex size-4 items-center justify-center">'),P=v('<div class="grid grid-cols-[min-content_minmax(0,1fr)] gap-x-4"><div class="bg-primary/20 ml-1.75 h-full w-px group-data-[last=true]:hidden"></div><div class="ml-1.75 h-full w-px bg-transparent group-data-[last=false]:hidden"></div><div class="mt-2 space-y-2">'),Q=v('<div class="flex justify-start group-data-[last=true]:hidden"><div class="bg-primary/20 ml-1.75 h-4 w-px">');function T(e){const[n,c]=R(e,["children","class"]);return(()=>{var o=A();return q(o,E({get class(){return f("text-muted-foreground text-sm",n.class)}},c),!1,!0),g(o,()=>n.children),o})()}function U(e){const n=()=>e.swapIconOnHover??!0;return a(_,{get class(){return f("group text-muted-foreground hover:text-foreground flex cursor-pointer items-center justify-start gap-1 text-left text-meta transition-colors",e.class)},get children(){return[(()=>{var c=J(),o=c.firstChild;return g(c,a(y,{get when(){return e.leftIcon},get fallback(){return(()=>{var l=N();return g(l,a(D,{class:"size-2 fill-current"})),l})()},get children(){var l=G(),d=l.firstChild;return g(d,()=>e.leftIcon),g(l,a(y,{get when(){return n()},get children(){return a(k,{class:"absolute size-4 opacity-0 transition-opacity group-hover:opacity-100 group-data-[state=open]:rotate-180"})}}),null),z(()=>V(d,f("transition-opacity",n()&&"group-hover:opacity-0"))),l}}),o),g(o,()=>e.children),c})(),a(y,{get when(){return!e.leftIcon},get children(){return a(k,{class:"size-4 transition-transform group-data-[state=open]:rotate-180"})}})]}})}function W(e){return a(B,{get class(){return f("text-popover-foreground data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down overflow-hidden",e.class)},get children(){var n=P(),c=n.firstChild,o=c.nextSibling,l=o.nextSibling;return g(l,()=>e.children),n}})}function X(e){return(()=>{var n=A();return g(n,()=>e.children),z(()=>V(n,f("space-y-0",e.class))),n})()}function Y(e){return a(M,{get class(){return f("group",e.class)},get"data-last"(){return e.isLast??!1},get open(){return e.open},get onOpenChange(){return e.onOpenChange},get children(){return[L(()=>e.children),Q()]}})}function O(e){return e==null?new Set:new Set(Array.isArray(e)?e:[e])}function $(e){var n;const[c,o]=C(O(e.defaultValue)),l=()=>e.type??"multiple",d=(t,r)=>t.id??String(r),m=()=>e.value!==void 0,u=()=>m()?O(e.value):c(),s=t=>u().has(t),h=t=>{if(l()==="single"){const r=t.values().next();return r.done?"":r.value}return[...t]},p=t=>{var r;const i=u();i.size===t.size&&[...i].every(b=>t.has(b))||(m()||o(t),(r=e.onValueChange)==null||r.call(e,h(t)))},x=(t,r)=>{if(l()==="single"){p(r?new Set([t]):new Set);return}const i=new Set(u());r?i.add(t):i.delete(t),p(i)},w=t=>{const r=e.steps[t];return r?d(r,t):void 0},S=()=>e.steps.map((t,r)=>d(t,r));return(n=e.controllerRef)==null||n.call(e,{value:()=>h(u()),expand:t=>{if(t===void 0){if(l()==="single"){const i=S();p(i.length?new Set([i[i.length-1]]):new Set)}else p(new Set(S()));return}const r=w(t);r!==void 0&&x(r,!0)},collapse:t=>{if(t===void 0){p(new Set);return}const r=w(t);r!==void 0&&x(r,!1)},toggle:t=>{if(t===void 0)return;const r=w(t);r!==void 0&&x(r,!s(r))}}),a(X,{get class(){return e.class},get children(){return a(I,{get each(){return e.steps},children:(t,r)=>{const i=()=>d(t,r());return a(Y,{get isLast(){return r()===e.steps.length-1},get open(){return s(i())},onOpenChange:b=>x(i(),b),get children(){return[a(U,{get children(){return t.label}}),a(y,{get when(){return t.content},get children(){return a(W,{get children(){return a(T,{get children(){return t.content}})}})}})]}})}})}})}function j(e){var n;return{label:e.getAttribute("label")??"",content:((n=e.textContent)==null?void 0:n.trim())||void 0,id:e.getAttribute("step-id")??void 0}}F("kai-chain-of-thought",{steps:[],type:void 0,value:void 0,defaultValue:void 0},(e,{element:n,dispatch:c,expose:o})=>{const[l,d]=C([]);H(()=>{const s=()=>{const p=[...n.querySelectorAll("kai-step")];d(p.map(j))};s();const h=new MutationObserver(s);h.observe(n,{childList:!0,attributes:!0,subtree:!0}),K(()=>h.disconnect())});const m=()=>[...e.steps,...l()];let u;return o({expand:s=>u?.expand(s),collapse:s=>u?.collapse(s),toggle:s=>u?.toggle(s)}),a($,{get steps(){return m()},get type(){return e.type},get value(){return e.value},get defaultValue(){return e.defaultValue},onValueChange:s=>{c("kai-value-change",{value:s})},controllerRef:s=>u=s})});export{j as parseKaiStepElement};
1
+ import{g as C,c as a,F as I,S as y,n as L,i as g,a as z,b as V,s as R,l as q,m as E,t as v,f as F,k as H,p as K}from"./chunks/define-DfTe4zwZ.js";import{c as f}from"./chunks/cn-CU7UAWzk.js";import{C as M,a as _,b as B}from"./chunks/collapsible-DGjADCN6.js";import{c as k}from"./chunks/chevron-down-AELmYT1j.js";import{c as D}from"./chunks/circle-DGcI8Cft.js";var A=v("<div>"),G=v('<span class="relative inline-flex size-4 items-center justify-center"><span>'),J=v('<div class="flex items-center gap-2"><span>'),N=v('<span class="relative inline-flex size-4 items-center justify-center">'),P=v('<div class="grid grid-cols-[min-content_minmax(0,1fr)] gap-x-4"><div class="bg-primary/20 ml-1.75 h-full w-px group-data-[last=true]:hidden"></div><div class="ml-1.75 h-full w-px bg-transparent group-data-[last=false]:hidden"></div><div class="mt-2 space-y-2">'),Q=v('<div class="flex justify-start group-data-[last=true]:hidden"><div class="bg-primary/20 ml-1.75 h-4 w-px">');function T(e){const[n,c]=R(e,["children","class"]);return(()=>{var o=A();return q(o,E({get class(){return f("text-muted-foreground text-sm",n.class)}},c),!1,!0),g(o,()=>n.children),o})()}function U(e){const n=()=>e.swapIconOnHover??!0;return a(_,{get class(){return f("group text-muted-foreground hover:text-foreground flex cursor-pointer items-center justify-start gap-1 text-left text-meta transition-colors",e.class)},get children(){return[(()=>{var c=J(),o=c.firstChild;return g(c,a(y,{get when(){return e.leftIcon},get fallback(){return(()=>{var l=N();return g(l,a(D,{class:"size-2 fill-current"})),l})()},get children(){var l=G(),d=l.firstChild;return g(d,()=>e.leftIcon),g(l,a(y,{get when(){return n()},get children(){return a(k,{class:"absolute size-4 opacity-0 transition-opacity group-hover:opacity-100 group-data-[state=open]:rotate-180"})}}),null),z(()=>V(d,f("transition-opacity",n()&&"group-hover:opacity-0"))),l}}),o),g(o,()=>e.children),c})(),a(y,{get when(){return!e.leftIcon},get children(){return a(k,{class:"size-4 transition-transform group-data-[state=open]:rotate-180"})}})]}})}function W(e){return a(B,{get class(){return f("text-popover-foreground data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down overflow-hidden",e.class)},get children(){var n=P(),c=n.firstChild,o=c.nextSibling,l=o.nextSibling;return g(l,()=>e.children),n}})}function X(e){return(()=>{var n=A();return g(n,()=>e.children),z(()=>V(n,f("space-y-0",e.class))),n})()}function Y(e){return a(M,{get class(){return f("group",e.class)},get"data-last"(){return e.isLast??!1},get open(){return e.open},get onOpenChange(){return e.onOpenChange},get children(){return[L(()=>e.children),Q()]}})}function O(e){return e==null?new Set:new Set(Array.isArray(e)?e:[e])}function $(e){var n;const[c,o]=C(O(e.defaultValue)),l=()=>e.type??"multiple",d=(t,r)=>t.id??String(r),m=()=>e.value!==void 0,u=()=>m()?O(e.value):c(),s=t=>u().has(t),h=t=>{if(l()==="single"){const r=t.values().next();return r.done?"":r.value}return[...t]},p=t=>{var r;const i=u();i.size===t.size&&[...i].every(b=>t.has(b))||(m()||o(t),(r=e.onValueChange)==null||r.call(e,h(t)))},x=(t,r)=>{if(l()==="single"){p(r?new Set([t]):new Set);return}const i=new Set(u());r?i.add(t):i.delete(t),p(i)},w=t=>{const r=e.steps[t];return r?d(r,t):void 0},S=()=>e.steps.map((t,r)=>d(t,r));return(n=e.controllerRef)==null||n.call(e,{value:()=>h(u()),expand:t=>{if(t===void 0){if(l()==="single"){const i=S();p(i.length?new Set([i[i.length-1]]):new Set)}else p(new Set(S()));return}const r=w(t);r!==void 0&&x(r,!0)},collapse:t=>{if(t===void 0){p(new Set);return}const r=w(t);r!==void 0&&x(r,!1)},toggle:t=>{if(t===void 0)return;const r=w(t);r!==void 0&&x(r,!s(r))}}),a(X,{get class(){return e.class},get children(){return a(I,{get each(){return e.steps},children:(t,r)=>{const i=()=>d(t,r());return a(Y,{get isLast(){return r()===e.steps.length-1},get open(){return s(i())},onOpenChange:b=>x(i(),b),get children(){return[a(U,{get children(){return t.label}}),a(y,{get when(){return t.content},get children(){return a(W,{get children(){return a(T,{get children(){return t.content}})}})}})]}})}})}})}function j(e){var n;return{label:e.getAttribute("label")??"",content:((n=e.textContent)==null?void 0:n.trim())||void 0,id:e.getAttribute("step-id")??void 0}}F("kai-chain-of-thought",{steps:[],type:void 0,value:void 0,defaultValue:void 0},(e,{element:n,dispatch:c,expose:o})=>{const[l,d]=C([]);H(()=>{const s=()=>{const p=[...n.querySelectorAll("kai-step")];d(p.map(j))};s();const h=new MutationObserver(s);h.observe(n,{childList:!0,attributes:!0,subtree:!0}),K(()=>h.disconnect())});const m=()=>[...e.steps,...l()];let u;return o({expand:s=>u?.expand(s),collapse:s=>u?.collapse(s),toggle:s=>u?.toggle(s)}),a($,{get steps(){return m()},get type(){return e.type},get value(){return e.value},get defaultValue(){return e.defaultValue},onValueChange:s=>{c("kai-value-change",{value:s})},controllerRef:s=>u=s})});export{j as parseKaiStepElement};
@@ -1 +1 @@
1
- import{s as d,c as r,m as g,n as h,S as c,F as u,t as n,f as p}from"./chunks/define-CNSKFZCd.js";import{c as v}from"./chunks/cn-CU7UAWzk.js";import{D as b,a as f,b as o,c as m}from"./chunks/dropdown-wgs8xCJZ.js";import{B as x}from"./chunks/button-DBDZebGr.js";import{w}from"./chunks/disclosure-BcBs--Jf.js";var A=n('<div class="px-2 py-1 text-[10px] uppercase tracking-wider text-muted-foreground">Authors'),C=n('<div class="px-2 py-1 text-[10px] uppercase tracking-wider text-muted-foreground">Tags'),k=n('<svg width=12 height=12 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3">'),S=n('<svg width=12 height=12 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><polyline points="6 9 12 15 18 9">');function T(a){const[e]=d(a,["currentLabel","onScopeChange","availableAuthors","availableTags","class","defaultOpen","disabled","controllerRef"]);return r(m,{get defaultOpen(){return e.defaultOpen},get disabled(){return e.disabled},get controllerRef(){return e.controllerRef},get children(){return[r(b,{as:t=>r(x,g({variant:"ghost",size:"sm",get class(){return v("gap-1 text-xs",e.class)}},t,{get children(){return[k(),h(()=>e.currentLabel),S()]}}))}),r(f,{class:"min-w-[180px]",get children(){return[r(o,{onSelect:()=>e.onScopeChange(void 0),children:"All Content"}),r(c,{get when(){var t;return(t=e.availableAuthors)==null?void 0:t.length},get children(){return[A(),r(u,{get each(){return e.availableAuthors},children:t=>r(o,{onSelect:()=>e.onScopeChange({authors:[t]}),children:t})})]}}),r(c,{get when(){var t;return(t=e.availableTags)==null?void 0:t.length},get children(){return[C(),r(u,{get each(){return e.availableTags},children:t=>r(o,{onSelect:()=>e.onScopeChange({tags:[t]}),children:t})})]}})]}})]}})}p("kai-scope-picker",{availableAuthors:[],availableTags:[],currentLabel:"All Content",open:void 0,defaultOpen:void 0,disabled:void 0},(a,e)=>{const{dispatch:t,flag:s}=e;let i;return w(e,()=>i,()=>a.open),r(T,{get currentLabel(){return a.currentLabel??"All Content"},get availableAuthors(){return a.availableAuthors},get availableTags(){return a.availableTags},onScopeChange:l=>t("kai-scope-change",{filters:l}),get defaultOpen(){return s("defaultOpen")},get disabled(){return s("disabled")},controllerRef:l=>i=l})});
1
+ import{s as d,c as r,m as g,n as h,S as c,F as u,t as n,f as p}from"./chunks/define-DfTe4zwZ.js";import{c as v}from"./chunks/cn-CU7UAWzk.js";import{D as b,a as f,b as o,c as m}from"./chunks/dropdown-UhtAueYR.js";import{B as x}from"./chunks/button-BD7lUvVB.js";import{w}from"./chunks/disclosure-BtFK3a-M.js";var A=n('<div class="px-2 py-1 text-[10px] uppercase tracking-wider text-muted-foreground">Authors'),C=n('<div class="px-2 py-1 text-[10px] uppercase tracking-wider text-muted-foreground">Tags'),k=n('<svg width=12 height=12 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3">'),S=n('<svg width=12 height=12 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><polyline points="6 9 12 15 18 9">');function T(a){const[e]=d(a,["currentLabel","onScopeChange","availableAuthors","availableTags","class","defaultOpen","disabled","controllerRef"]);return r(m,{get defaultOpen(){return e.defaultOpen},get disabled(){return e.disabled},get controllerRef(){return e.controllerRef},get children(){return[r(b,{as:t=>r(x,g({variant:"ghost",size:"sm",get class(){return v("gap-1 text-xs",e.class)}},t,{get children(){return[k(),h(()=>e.currentLabel),S()]}}))}),r(f,{class:"min-w-[180px]",get children(){return[r(o,{onSelect:()=>e.onScopeChange(void 0),children:"All Content"}),r(c,{get when(){var t;return(t=e.availableAuthors)==null?void 0:t.length},get children(){return[A(),r(u,{get each(){return e.availableAuthors},children:t=>r(o,{onSelect:()=>e.onScopeChange({authors:[t]}),children:t})})]}}),r(c,{get when(){var t;return(t=e.availableTags)==null?void 0:t.length},get children(){return[C(),r(u,{get each(){return e.availableTags},children:t=>r(o,{onSelect:()=>e.onScopeChange({tags:[t]}),children:t})})]}})]}})]}})}p("kai-scope-picker",{availableAuthors:[],availableTags:[],currentLabel:"All Content",open:void 0,defaultOpen:void 0,disabled:void 0},(a,e)=>{const{dispatch:t,flag:s}=e;let i;return w(e,()=>i,()=>a.open),r(T,{get currentLabel(){return a.currentLabel??"All Content"},get availableAuthors(){return a.availableAuthors},get availableTags(){return a.availableTags},onScopeChange:l=>t("kai-scope-change",{filters:l}),get defaultOpen(){return s("defaultOpen")},get disabled(){return s("disabled")},controllerRef:l=>i=l})});
@@ -1 +1 @@
1
- import{f as I,g as R,o as C,c as t,i as d,q as f,S as u,a as H,b as $,u as O,t as c,p as S}from"./chunks/define-CNSKFZCd.js";import{c as y,C as V,a as _}from"./chunks/conversation-list-C4xTQSpT.js";import{r as q,W as A}from"./chunks/slots-DkZ-Cmha.js";import{C as E}from"./chunks/chat-thread-Dz2qbzvI.js";import{R as L,a as M,b as N}from"./chunks/resizable-Bq_eHxUm.js";var j=c('<div class="shrink-0 border-b border-border"><slot name=main-header>'),D=c("<slot name=main>"),F=c('<div class="flex h-full flex-col overflow-hidden"><div class="min-h-0 flex-1">'),G=c("<div><slot name=sidebar-header>"),J=c('<div class="min-h-0 flex-1">'),K=c("<div class=shrink-0><slot name=sidebar-footer>"),P=c('<div part=sidebar class="flex h-full flex-col overflow-hidden bg-surface">'),Q=c('<div class="h-full w-full overflow-hidden bg-background">'),U=c('<div class="flex h-full"><div class="flex w-11 shrink-0 flex-col items-center border-r border-border bg-surface pt-2.5"></div><div class="min-w-0 flex-1">');I("kai-workspace",{groups:[],conversations:[],activeId:void 0,messages:[],value:void 0,placeholder:"Send a message...",loading:!1,suggestions:void 0,suggestionMode:"submit",proseSize:"sm",codeTheme:"github-dark-dimmed",codeHighlight:!0,chatTitle:void 0,models:void 0,currentModel:void 0,context:void 0,scrollButton:!0,search:!1,voice:!1,triggers:void 0,kindIcons:void 0,sidebarWidth:26,sidebarMinWidth:240,sidebarMaxWidth:420,sidebarCollapsed:void 0,defaultSidebarCollapsed:void 0,collapseBelow:void 0,compact:void 0,noConversations:void 0},(r,{dispatch:i,flag:g,expose:T,element:w})=>{const[v,z]=R({});C(()=>{const e=()=>z(q(w,A));e();const s=new MutationObserver(e);s.observe(w,{childList:!0}),S(()=>s.disconnect())});const[b,W]=y(()=>r.sidebarCollapsed,g("defaultSidebarCollapsed")),h=e=>{W(e),i("kai-sidebar-toggle",{collapsed:e})},p=()=>h(!b());let m,k=!1;C(()=>{if(typeof ResizeObserver>"u")return;const e=new ResizeObserver(s=>{var o;const n=r.collapseBelow;if(n==null||r.sidebarCollapsed!==void 0)return;const a=(((o=s[0])==null?void 0:o.contentRect.width)??m.clientWidth)<n;a&&!b()?(k=!0,h(!0)):!a&&b()&&k&&(k=!1,h(!1))});e.observe(m),S(()=>e.disconnect())});let l;T({toggleSidebar:()=>p(),collapseSidebar:()=>h(!0),expandSidebar:()=>h(!1),focus:e=>l?.focus(e),clear:()=>l?.clear(),send:()=>l?.send(),scrollToBottom:e=>l?.scrollToBottom(e)});const B=t(E,{get messages(){return r.messages},get value(){return r.value},get placeholder(){return r.placeholder},get loading(){return g("loading")},get suggestions(){return r.suggestions},get suggestionMode(){return r.suggestionMode},get proseSize(){return r.proseSize},get codeTheme(){return r.codeTheme},get codeHighlight(){return g("codeHighlight")},get chatTitle(){return r.chatTitle},get models(){return r.models},get currentModel(){return r.currentModel},get context(){return r.context},get scrollButton(){return r.scrollButton!==!1},get search(){return g("search")},get voice(){return g("voice")},get triggers(){return r.triggers},get kindIcons(){return r.kindIcons},onValueChange:e=>i("kai-value-change",{value:e}),onSubmit:e=>i("kai-submit",e),onSuggestionClick:e=>i("kai-suggestion-click",{value:e}),onModelChange:e=>i("kai-model-change",{modelId:e}),onMessageAction:e=>i("kai-message-action",e),onSearch:()=>i("kai-search",{}),onVoice:()=>i("kai-voice",{}),controllerRef:e=>l=e}),x=(()=>{var e=F(),s=e.firstChild;return d(e,t(u,{get when(){return v()["main-header"]},get children(){var o=j(),n=o.firstChild;return n._$owner=f(),o}}),s),d(s,t(u,{get when(){return v().main},fallback:B,get children(){var o=D();return o._$owner=f(),o}})),e})();return(()=>{var e=Q(),s=m;return typeof s=="function"?O(s,e):m=e,d(e,t(u,{get when(){return!b()},get fallback(){return(()=>{var o=U(),n=o.firstChild,a=n.nextSibling;return d(n,t(_,{onExpand:p,class:"bg-transparent shadow-none backdrop-blur-none"})),d(a,x),o})()},get children(){return t(L,{orientation:"horizontal",get children(){return[t(M,{get defaultSize(){return r.sidebarWidth},get"data-min-size"(){return String(r.sidebarMinWidth)},get"data-max-size"(){return String(r.sidebarMaxWidth)},get children(){var o=P();return d(o,t(u,{get when(){return v()["sidebar-header"]},get children(){var n=G(),a=n.firstChild;return a._$owner=f(),H(()=>$(n,g("noConversations")?"min-h-0 flex-1":"shrink-0")),n}}),null),d(o,t(u,{get when(){return!g("noConversations")},get children(){var n=J();return d(n,t(V,{class:"bg-transparent",get groups(){return r.groups},get conversations(){return r.conversations},get activeId(){return r.activeId},get compact(){return g("compact")},onSelect:a=>i("kai-conversation-select",{id:a}),onNewChat:()=>i("kai-new-chat",{}),onToggleSidebar:p})),n}}),null),d(o,t(u,{get when(){return v()["sidebar-footer"]},get children(){var n=K(),a=n.firstChild;return a._$owner=f(),n}}),null),o}}),t(N,{withHandle:!0}),t(M,{children:x})]}})}})),e})()});
1
+ import{f as I,g as R,k as C,p as S,c as t,i as d,q as f,S as u,u as $,a as H,b as O,t as c}from"./chunks/define-DfTe4zwZ.js";import{c as y,C as V,a as _}from"./chunks/conversation-list-5O_KdI_I.js";import{r as q,W as A}from"./chunks/slots--V19HwUb.js";import{C as E}from"./chunks/chat-thread-DIZbRIKG.js";import{R as L,a as M,b as N}from"./chunks/resizable-xhYF5lCQ.js";var j=c('<div class="shrink-0 border-b border-border"><slot name=main-header>'),D=c("<slot name=main>"),F=c('<div class="flex h-full flex-col overflow-hidden"><div class="min-h-0 flex-1">'),G=c("<div><slot name=sidebar-header>"),J=c('<div class="min-h-0 flex-1">'),K=c("<div class=shrink-0><slot name=sidebar-footer>"),P=c('<div part=sidebar class="flex h-full flex-col overflow-hidden bg-surface">'),Q=c('<div class="h-full w-full overflow-hidden bg-background">'),U=c('<div class="flex h-full"><div class="flex w-11 shrink-0 flex-col items-center border-r border-border bg-surface pt-2.5"></div><div class="min-w-0 flex-1">');I("kai-workspace",{groups:[],conversations:[],activeId:void 0,messages:[],value:void 0,placeholder:"Send a message...",loading:!1,suggestions:void 0,suggestionMode:"submit",proseSize:"sm",codeTheme:"github-dark-dimmed",codeHighlight:!0,chatTitle:void 0,models:void 0,currentModel:void 0,context:void 0,scrollButton:!0,search:!1,voice:!1,triggers:void 0,kindIcons:void 0,sidebarWidth:26,sidebarMinWidth:240,sidebarMaxWidth:420,sidebarCollapsed:void 0,defaultSidebarCollapsed:void 0,collapseBelow:void 0,compact:void 0,noConversations:void 0},(r,{dispatch:i,flag:g,expose:T,element:w})=>{const[v,z]=R({});C(()=>{const e=()=>z(q(w,A));e();const s=new MutationObserver(e);s.observe(w,{childList:!0}),S(()=>s.disconnect())});const[b,W]=y(()=>r.sidebarCollapsed,g("defaultSidebarCollapsed")),h=e=>{W(e),i("kai-sidebar-toggle",{collapsed:e})},p=()=>h(!b());let m,k=!1;C(()=>{if(typeof ResizeObserver>"u")return;const e=new ResizeObserver(s=>{var o;const n=r.collapseBelow;if(n==null||r.sidebarCollapsed!==void 0)return;const a=(((o=s[0])==null?void 0:o.contentRect.width)??m.clientWidth)<n;a&&!b()?(k=!0,h(!0)):!a&&b()&&k&&(k=!1,h(!1))});e.observe(m),S(()=>e.disconnect())});let l;T({toggleSidebar:()=>p(),collapseSidebar:()=>h(!0),expandSidebar:()=>h(!1),focus:e=>l?.focus(e),clear:()=>l?.clear(),send:()=>l?.send(),scrollToBottom:e=>l?.scrollToBottom(e)});const B=t(E,{get messages(){return r.messages},get value(){return r.value},get placeholder(){return r.placeholder},get loading(){return g("loading")},get suggestions(){return r.suggestions},get suggestionMode(){return r.suggestionMode},get proseSize(){return r.proseSize},get codeTheme(){return r.codeTheme},get codeHighlight(){return g("codeHighlight")},get chatTitle(){return r.chatTitle},get models(){return r.models},get currentModel(){return r.currentModel},get context(){return r.context},get scrollButton(){return r.scrollButton!==!1},get search(){return g("search")},get voice(){return g("voice")},get triggers(){return r.triggers},get kindIcons(){return r.kindIcons},onValueChange:e=>i("kai-value-change",{value:e}),onSubmit:e=>i("kai-submit",e),onSuggestionClick:e=>i("kai-suggestion-click",{value:e}),onModelChange:e=>i("kai-model-change",{modelId:e}),onMessageAction:e=>i("kai-message-action",e),onSearch:()=>i("kai-search",{}),onVoice:()=>i("kai-voice",{}),controllerRef:e=>l=e}),x=(()=>{var e=F(),s=e.firstChild;return d(e,t(u,{get when(){return v()["main-header"]},get children(){var o=j(),n=o.firstChild;return n._$owner=f(),o}}),s),d(s,t(u,{get when(){return v().main},fallback:B,get children(){var o=D();return o._$owner=f(),o}})),e})();return(()=>{var e=Q(),s=m;return typeof s=="function"?$(s,e):m=e,d(e,t(u,{get when(){return!b()},get fallback(){return(()=>{var o=U(),n=o.firstChild,a=n.nextSibling;return d(n,t(_,{onExpand:p,class:"bg-transparent shadow-none backdrop-blur-none"})),d(a,x),o})()},get children(){return t(L,{orientation:"horizontal",get children(){return[t(M,{get defaultSize(){return r.sidebarWidth},get"data-min-size"(){return String(r.sidebarMinWidth)},get"data-max-size"(){return String(r.sidebarMaxWidth)},get children(){var o=P();return d(o,t(u,{get when(){return v()["sidebar-header"]},get children(){var n=G(),a=n.firstChild;return a._$owner=f(),H(()=>O(n,g("noConversations")?"min-h-0 flex-1":"shrink-0")),n}}),null),d(o,t(u,{get when(){return!g("noConversations")},get children(){var n=J();return d(n,t(V,{class:"bg-transparent",get groups(){return r.groups},get conversations(){return r.conversations},get activeId(){return r.activeId},get compact(){return g("compact")},onSelect:a=>i("kai-conversation-select",{id:a}),onNewChat:()=>i("kai-new-chat",{}),onToggleSidebar:p})),n}}),null),d(o,t(u,{get when(){return v()["sidebar-footer"]},get children(){var n=K(),a=n.firstChild;return a._$owner=f(),n}}),null),o}}),t(N,{}),t(M,{children:x})]}})}})),e})()});
@@ -1 +1 @@
1
- import{f as u,g as d,o as h,h as m,c as v,p}from"./chunks/define-CNSKFZCd.js";import{r as k,C as b}from"./chunks/slots-DkZ-Cmha.js";import{C as S}from"./chunks/chat-thread-Dz2qbzvI.js";u("kai-chat",{messages:[],value:void 0,placeholder:"Send a message...",loading:!1,suggestions:void 0,suggestionMode:"submit",persistSuggestions:!1,proseSize:"sm",codeTheme:"github-dark-dimmed",codeHighlight:!0,chatTitle:void 0,models:void 0,currentModel:void 0,context:void 0,scrollButton:!0,search:!1,voice:!1,triggers:void 0,kindIcons:void 0,actionsReveal:"always"},(t,{dispatch:o,flag:s,element:i,expose:g})=>{const[l,c]=d({}),n=e=>l()[e]===!0;h(()=>{const e=()=>c(k(i,b));e();const a=new MutationObserver(e);a.observe(i,{childList:!0}),p(()=>a.disconnect())}),m(()=>{i.toggleAttribute("loading",s("loading"))});let r;return g({focus:e=>r?.focus(e),blur:()=>{var e,a;return(a=(e=i.shadowRoot)==null?void 0:e.activeElement)==null?void 0:a.blur()},clear:()=>r?.clear(),send:()=>r?.send(),scrollToBottom:e=>r?.scrollToBottom(e)}),v(S,{get messages(){return t.messages},get value(){return t.value},get placeholder(){return t.placeholder},get loading(){return s("loading")},get suggestions(){return t.suggestions},get suggestionMode(){return t.suggestionMode},get persistSuggestions(){return s("persistSuggestions")},get proseSize(){return t.proseSize},get codeTheme(){return t.codeTheme},get codeHighlight(){return s("codeHighlight")},get chatTitle(){return t.chatTitle},get models(){return t.models},get currentModel(){return t.currentModel},get context(){return t.context},get scrollButton(){return t.scrollButton!==!1},get search(){return s("search")},get voice(){return s("voice")},get triggers(){return t.triggers},get kindIcons(){return t.kindIcons},get actionsReveal(){return t.actionsReveal},onValueChange:e=>o("kai-value-change",{value:e}),onSubmit:e=>o("kai-submit",e),onAttachmentsChange:e=>o("kai-attachments-change",{attachments:e}),onSuggestionClick:e=>o("kai-suggestion-click",{value:e}),onModelChange:e=>o("kai-model-change",{modelId:e}),onMessageAction:e=>o("kai-message-action",e),onSearch:()=>o("kai-search",{}),onVoice:()=>o("kai-voice",{}),controllerRef:e=>r=e,get headerStart(){return n("header-start")},get headerEnd(){return n("header-end")},get headerFull(){return n("header")},get sidebar(){return n("sidebar")},get empty(){return n("empty")},get composer(){return n("composer")},get composerActions(){return n("composer-actions")},get footer(){return n("footer")}})});
1
+ import{f as u,g as d,k as h,p as m,h as v,c as p}from"./chunks/define-DfTe4zwZ.js";import{r as k,C as b}from"./chunks/slots--V19HwUb.js";import{C as S}from"./chunks/chat-thread-DIZbRIKG.js";u("kai-chat",{messages:[],value:void 0,placeholder:"Send a message...",loading:!1,suggestions:void 0,suggestionMode:"submit",persistSuggestions:!1,proseSize:"sm",codeTheme:"github-dark-dimmed",codeHighlight:!0,chatTitle:void 0,models:void 0,currentModel:void 0,context:void 0,scrollButton:!0,search:!1,voice:!1,triggers:void 0,kindIcons:void 0,actionsReveal:"always"},(t,{dispatch:o,flag:s,element:i,expose:g})=>{const[l,c]=d({}),n=e=>l()[e]===!0;h(()=>{const e=()=>c(k(i,b));e();const a=new MutationObserver(e);a.observe(i,{childList:!0}),m(()=>a.disconnect())}),v(()=>{i.toggleAttribute("loading",s("loading"))});let r;return g({focus:e=>r?.focus(e),blur:()=>{var e,a;return(a=(e=i.shadowRoot)==null?void 0:e.activeElement)==null?void 0:a.blur()},clear:()=>r?.clear(),send:()=>r?.send(),scrollToBottom:e=>r?.scrollToBottom(e)}),p(S,{get messages(){return t.messages},get value(){return t.value},get placeholder(){return t.placeholder},get loading(){return s("loading")},get suggestions(){return t.suggestions},get suggestionMode(){return t.suggestionMode},get persistSuggestions(){return s("persistSuggestions")},get proseSize(){return t.proseSize},get codeTheme(){return t.codeTheme},get codeHighlight(){return s("codeHighlight")},get chatTitle(){return t.chatTitle},get models(){return t.models},get currentModel(){return t.currentModel},get context(){return t.context},get scrollButton(){return t.scrollButton!==!1},get search(){return s("search")},get voice(){return s("voice")},get triggers(){return t.triggers},get kindIcons(){return t.kindIcons},get actionsReveal(){return t.actionsReveal},onValueChange:e=>o("kai-value-change",{value:e}),onSubmit:e=>o("kai-submit",e),onAttachmentsChange:e=>o("kai-attachments-change",{attachments:e}),onSuggestionClick:e=>o("kai-suggestion-click",{value:e}),onModelChange:e=>o("kai-model-change",{modelId:e}),onMessageAction:e=>o("kai-message-action",e),onSearch:()=>o("kai-search",{}),onVoice:()=>o("kai-voice",{}),controllerRef:e=>r=e,get headerStart(){return n("header-start")},get headerEnd(){return n("header-end")},get headerFull(){return n("header")},get sidebar(){return n("sidebar")},get empty(){return n("empty")},get composer(){return n("composer")},get composerActions(){return n("composer-actions")},get footer(){return n("footer")}})});