@oro.ad/nuxt-claude-devtools 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/client/200.html +1 -1
- package/dist/client/404.html +1 -1
- package/dist/client/_nuxt/{COus5Ssl.js → 0BAoaFXM.js} +1 -1
- package/dist/client/_nuxt/{B_BoWmnX.js → 88aFj9mk.js} +1 -1
- package/dist/client/_nuxt/{DolUcBed.js → B5vRr8Ti.js} +1 -1
- package/dist/client/_nuxt/{CDQtmRaX.js → BI4BFakr.js} +1 -1
- package/dist/client/_nuxt/{CPA0s6N9.js → BJuQJ8yP.js} +1 -1
- package/dist/client/_nuxt/{BB1-kxmm.js → BMxGt8ZG.js} +1 -1
- package/dist/client/_nuxt/{TQi6eIO6.js → Baq9Hzkz.js} +1 -1
- package/dist/client/_nuxt/{DbJLoP3G.js → Bf779K50.js} +1 -1
- package/dist/client/_nuxt/BmF8r-gh.js +1 -0
- package/dist/client/_nuxt/BryQ1L4F.js +1 -0
- package/dist/client/_nuxt/{V4UvAcd3.js → BsG0VKct.js} +1 -1
- package/dist/client/_nuxt/Bt-DdLhQ.js +12 -0
- package/dist/client/_nuxt/{CHeJJZL9.js → C6Xm_PzB.js} +1 -1
- package/dist/client/_nuxt/{DC_XB519.js → C8AkZ-W3.js} +1 -1
- package/dist/client/_nuxt/{BSVkH7b6.js → CEM1iRz_.js} +1 -1
- package/dist/client/_nuxt/{BcZxFXBD.js → CETmet01.js} +1 -1
- package/dist/client/_nuxt/CG1tBJBN.js +1 -0
- package/dist/client/_nuxt/{D2l4TRxW.js → CXOn8Upj.js} +1 -1
- package/dist/client/_nuxt/CYomf6PL.js +1 -0
- package/dist/client/_nuxt/{DEys9N1G.js → CrhTgxiU.js} +1 -1
- package/dist/client/_nuxt/{BYp73eMl.js → CtWfW1XP.js} +1 -1
- package/dist/client/_nuxt/{d8BPa19J.js → CuUOvg0u.js} +1 -1
- package/dist/client/_nuxt/CxYvL5O5.js +1 -0
- package/dist/client/_nuxt/D8DUrd91.js +1 -0
- package/dist/client/_nuxt/{DSt96JPY.js → DFkDlupw.js} +2 -2
- package/dist/client/_nuxt/{B8uzckkK.js → DG-9quB_.js} +1 -1
- package/dist/client/_nuxt/DHlhBFAg.js +1 -0
- package/dist/client/_nuxt/{BnXQTjo-.js → DJw5U4z8.js} +1 -1
- package/dist/client/_nuxt/{M6QPYocW.js → DRReoGGV.js} +1 -1
- package/dist/client/_nuxt/{DGQ4s7ae.js → DSMailoF.js} +1 -1
- package/dist/client/_nuxt/{qbS8UemQ.js → DUPgidXP.js} +1 -1
- package/dist/client/_nuxt/{QumocfwJ.js → D_JyZ6Hh.js} +1 -1
- package/dist/client/_nuxt/{BAb1fJOF.js → Dgm9zqhP.js} +2 -2
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/9c3f4183-f791-4377-86dc-370ce38cc49b.json +1 -0
- package/dist/client/_nuxt/{C--9REmc.js → h1c4XpR7.js} +1 -1
- package/dist/client/_nuxt/kN0L7CSs.js +1 -0
- package/dist/client/_nuxt/{BMZIbUUD.js → n4TwJfzb.js} +1 -1
- package/dist/client/_nuxt/zY60w9UT.js +1 -0
- package/dist/client/agents/index.html +1 -1
- package/dist/client/commands/index.html +1 -1
- package/dist/client/docs/index.html +1 -1
- package/dist/client/index.html +1 -1
- package/dist/client/mcp/index.html +1 -1
- package/dist/client/plugins/index.html +1 -1
- package/dist/client/settings/index.html +1 -1
- package/dist/client/skills/index.html +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +0 -4
- package/dist/runtime/overlay/components/ChatOverlay.d.vue.ts +0 -1
- package/dist/runtime/overlay/components/ChatOverlay.vue +221 -731
- package/dist/runtime/overlay/components/ChatOverlay.vue.d.ts +0 -1
- package/dist/runtime/overlay/components/MarkdownContent.vue +1 -1
- package/dist/runtime/overlay/components/ToolCallBlock.vue +1 -1
- package/dist/runtime/overlay/components/chat/ChatHeader.d.vue.ts +18 -0
- package/dist/runtime/overlay/components/chat/ChatHeader.vue +82 -0
- package/dist/runtime/overlay/components/chat/ChatHeader.vue.d.ts +18 -0
- package/dist/runtime/overlay/components/chat/ChatInput.d.vue.ts +22 -0
- package/dist/runtime/overlay/components/chat/ChatInput.vue +526 -0
- package/dist/runtime/overlay/components/chat/ChatInput.vue.d.ts +22 -0
- package/dist/runtime/overlay/components/chat/ChatMessages.d.vue.ts +13 -0
- package/dist/runtime/overlay/components/chat/ChatMessages.vue +160 -0
- package/dist/runtime/overlay/components/chat/ChatMessages.vue.d.ts +13 -0
- package/dist/runtime/overlay/components/chat/ClaudeBadge.d.vue.ts +22 -0
- package/dist/runtime/overlay/components/chat/ClaudeBadge.vue +85 -0
- package/dist/runtime/overlay/components/chat/ClaudeBadge.vue.d.ts +22 -0
- package/dist/runtime/overlay/components/chat/HistoryPanel.d.vue.ts +17 -0
- package/dist/runtime/overlay/components/chat/HistoryPanel.vue +65 -0
- package/dist/runtime/overlay/components/chat/HistoryPanel.vue.d.ts +17 -0
- package/dist/runtime/overlay/components/chat/NicknameModal.d.vue.ts +13 -0
- package/dist/runtime/overlay/components/chat/NicknameModal.vue +89 -0
- package/dist/runtime/overlay/components/chat/NicknameModal.vue.d.ts +13 -0
- package/dist/runtime/overlay/components/chat/index.d.ts +6 -0
- package/dist/runtime/overlay/components/chat/index.js +6 -0
- package/dist/runtime/overlay/composables/index.d.ts +3 -0
- package/dist/runtime/overlay/composables/index.js +3 -0
- package/dist/runtime/overlay/composables/useMessageContext.d.ts +25 -0
- package/dist/runtime/overlay/composables/useMessageContext.js +29 -0
- package/dist/runtime/overlay/composables/useMobileSwipe.d.ts +15 -0
- package/dist/runtime/overlay/composables/useMobileSwipe.js +79 -0
- package/dist/runtime/overlay/composables/usePanelInteraction.d.ts +30 -0
- package/dist/runtime/overlay/composables/usePanelInteraction.js +184 -0
- package/dist/runtime/overlay/composables/usePanelPosition.d.ts +69 -0
- package/dist/runtime/overlay/composables/usePanelPosition.js +147 -0
- package/dist/runtime/server/claude-session.d.ts +11 -0
- package/dist/runtime/server/claude-session.js +166 -6
- package/dist/runtime/shared/composables/useClaudeChat.d.ts +7 -3
- package/dist/runtime/shared/composables/useClaudeChat.js +27 -251
- package/dist/runtime/shared/composables/useClaudeChatCore.d.ts +40 -0
- package/dist/runtime/shared/composables/useClaudeChatCore.js +350 -0
- package/dist/runtime/shared/composables/useMessageContext.d.ts +54 -0
- package/dist/runtime/shared/composables/useMessageContext.js +195 -0
- package/dist/runtime/shared/composables/useShare.d.ts +14 -4
- package/dist/runtime/shared/composables/useShare.js +57 -35
- package/dist/runtime/shared/composables/useVoiceInput.js +40 -11
- package/dist/runtime/shared/types.d.ts +36 -0
- package/dist/runtime/types.d.ts +14 -0
- package/package.json +1 -1
- package/dist/client/_nuxt/BSF2Vz9o.js +0 -1
- package/dist/client/_nuxt/BflmC3YB.js +0 -1
- package/dist/client/_nuxt/CRkq21kc.js +0 -1
- package/dist/client/_nuxt/Cgba93Y9.js +0 -1
- package/dist/client/_nuxt/DH8Ugy8E.js +0 -1
- package/dist/client/_nuxt/DeGmaFBY.js +0 -1
- package/dist/client/_nuxt/DgfRwrFR.js +0 -1
- package/dist/client/_nuxt/builds/meta/2be12f06-336a-4fdd-b982-2f6c682c14a6.json +0 -1
- package/dist/client/_nuxt/wDw60tEC.js +0 -10
- package/dist/client/_nuxt/xEjB6ozD.js +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
|
-
/** Custom socket URL (for tunnel) */
|
|
3
2
|
socketUrl?: string;
|
|
4
3
|
};
|
|
5
4
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -27,5 +27,5 @@ const renderedContent = computed(() => {
|
|
|
27
27
|
</template>
|
|
28
28
|
|
|
29
29
|
<style>
|
|
30
|
-
.markdown-content{font-family
|
|
30
|
+
.markdown-content{color:hsla(0,0%,100%,.92);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.7;word-break:break-word}.markdown-content h1{background:linear-gradient(135deg,#fff,hsla(0,0%,100%,.75));-webkit-background-clip:text;background-clip:text;font-size:1.35rem;margin-bottom:.625rem;margin-top:1.25rem}.markdown-content h1,.markdown-content h2{font-weight:700;-webkit-text-fill-color:transparent}.markdown-content h2{background:linear-gradient(135deg,#fff,hsla(0,0%,100%,.8));-webkit-background-clip:text;background-clip:text;font-size:1.2rem;margin-bottom:.5rem;margin-top:1rem}.markdown-content h3{color:hsla(0,0%,100%,.95);font-size:1.05rem;font-weight:600;margin-bottom:.375rem;margin-top:.75rem}.markdown-content p{margin:.625rem 0}.markdown-content ol,.markdown-content ul{margin:.625rem 0 .625rem 1.25rem}.markdown-content ul{list-style-type:disc}.markdown-content ol{list-style-type:decimal}.markdown-content li{color:hsla(0,0%,100%,.88);margin:.375rem 0}.markdown-content li::marker{color:rgba(254,154,0,.7)}.markdown-content code{background:rgba(254,154,0,.12);border:1px solid rgba(254,154,0,.2);border-radius:6px;color:#fcd34d;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,monospace;font-size:.8rem;padding:.15rem .45rem}.markdown-content pre{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(0,0,0,.35);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05);margin:.75rem 0;overflow-x:auto;padding:1rem 1.125rem}.markdown-content pre code{background:transparent;border:none;color:#e2e8f0;font-size:.825rem;line-height:1.6;padding:0}.markdown-content blockquote{background:rgba(254,154,0,.08);border-left:3px solid rgba(254,154,0,.5);border-radius:0 10px 10px 0;color:hsla(0,0%,100%,.7);font-style:italic;margin:.75rem 0;padding:.75rem 1rem .75rem 1.25rem}.markdown-content blockquote p{margin:0}.markdown-content a{border-bottom:1px solid transparent;color:#fbbf24;text-decoration:none;transition:all .2s ease}.markdown-content a:hover{border-bottom-color:rgba(254,154,0,.5);color:#fcd34d;text-shadow:0 0 12px rgba(254,154,0,.4)}.markdown-content table{border:1px solid hsla(0,0%,100%,.1);border-collapse:separate;border-radius:10px;border-spacing:0;font-size:.875rem;margin:.75rem 0;overflow:hidden;width:100%}.markdown-content td,.markdown-content th{border:none;border-bottom:1px solid hsla(0,0%,100%,.08);padding:.625rem .875rem;text-align:left}.markdown-content th{background:rgba(254,154,0,.15);color:hsla(0,0%,100%,.95);font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.markdown-content tr:last-child td{border-bottom:none}.markdown-content tr:nth-child(2n){background:hsla(0,0%,100%,.03)}.markdown-content tr:hover{background:rgba(254,154,0,.08)}.markdown-content hr{background:linear-gradient(90deg,transparent,rgba(254,154,0,.4) 20%,rgba(59,130,246,.4) 80%,transparent);border:none;height:1px;margin:1.25rem 0}.markdown-content img{border:1px solid hsla(0,0%,100%,.1);border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.3);height:auto;max-width:100%}.markdown-content strong{color:hsla(0,0%,100%,.98);font-weight:600}.markdown-content em{color:hsla(0,0%,100%,.85)}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}
|
|
31
31
|
</style>
|
|
@@ -73,5 +73,5 @@ const resultPreview = computed(() => {
|
|
|
73
73
|
</template>
|
|
74
74
|
|
|
75
75
|
<style>
|
|
76
|
-
.claude-tool-block{background:rgba(0,0,0,.
|
|
76
|
+
.claude-tool-block{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(0,0,0,.25);border:1px solid hsla(0,0%,100%,.08);border-radius:10px;margin:10px 0;overflow:hidden;transition:all .2s ease}.claude-tool-block:hover{border-color:rgba(254,154,0,.2);box-shadow:0 4px 15px rgba(0,0,0,.2)}.claude-tool-header{align-items:center;background:transparent;border:none;color:hsla(0,0%,100%,.9);cursor:pointer;display:flex;font-size:13px;gap:10px;padding:10px 14px;text-align:left;transition:all .15s ease;width:100%}.claude-tool-header:hover{background:rgba(254,154,0,.1)}.claude-tool-icon{filter:drop-shadow(0 0 6px currentColor);font-size:13px}.claude-tool-name{color:#fbbf24;flex:1;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;text-shadow:0 0 15px rgba(254,154,0,.4)}.claude-tool-expand{color:hsla(0,0%,100%,.4);font-size:10px;transition:transform .2s ease}.claude-tool-header:hover .claude-tool-expand{color:hsla(0,0%,100%,.6)}.claude-tool-details{animation:tool-details-in .2s ease-out;padding:0 14px 14px}@keyframes tool-details-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.claude-tool-section{margin-top:12px}.claude-tool-section-title{align-items:center;color:hsla(0,0%,100%,.5);display:flex;font-size:11px;font-weight:500;gap:8px;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.claude-tool-error-badge{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:6px;box-shadow:0 2px 8px rgba(239,68,68,.3);color:#fff;font-size:10px;font-weight:500;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.claude-tool-code{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.06);border-radius:8px;color:hsla(0,0%,100%,.8);font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,monospace;font-size:11px;line-height:1.5;margin:0;max-height:200px;overflow-x:auto;overflow-y:auto;padding:10px 12px;white-space:pre-wrap;word-break:break-all}.claude-tool-code::-webkit-scrollbar{height:4px;width:4px}.claude-tool-code::-webkit-scrollbar-track{background:transparent}.claude-tool-code::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.15);border-radius:2px}.claude-tool-code::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.25)}
|
|
77
77
|
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
statusColor: 'green' | 'blue' | 'red';
|
|
3
|
+
showShareCopied: boolean;
|
|
4
|
+
isMobile: boolean;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
|
+
newChat: () => any;
|
|
8
|
+
share: () => any;
|
|
9
|
+
history: () => any;
|
|
10
|
+
dragStart: (e: MouseEvent) => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onNewChat?: (() => any) | undefined;
|
|
13
|
+
onShare?: (() => any) | undefined;
|
|
14
|
+
onHistory?: (() => any) | undefined;
|
|
15
|
+
onDragStart?: ((e: MouseEvent) => any) | undefined;
|
|
16
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
declare const _default: typeof __VLS_export;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
defineProps({
|
|
3
|
+
statusColor: { type: String, required: true },
|
|
4
|
+
showShareCopied: { type: Boolean, required: true },
|
|
5
|
+
isMobile: { type: Boolean, required: true }
|
|
6
|
+
});
|
|
7
|
+
const emit = defineEmits(["share", "history", "newChat", "dragStart"]);
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<template>
|
|
11
|
+
<div class="claude-header">
|
|
12
|
+
<div
|
|
13
|
+
:class="['claude-header-left', { 'claude-header-draggable': !isMobile }]"
|
|
14
|
+
@mousedown="(e) => !isMobile && emit('dragStart', e)"
|
|
15
|
+
>
|
|
16
|
+
<span class="claude-header-title">Claude</span>
|
|
17
|
+
<span :class="['claude-status-dot', `claude-status-dot-${statusColor}`]" />
|
|
18
|
+
</div>
|
|
19
|
+
<div class="claude-header-actions">
|
|
20
|
+
<!-- Share button -->
|
|
21
|
+
<button
|
|
22
|
+
:class="{ 'claude-btn-success': showShareCopied }"
|
|
23
|
+
:title="showShareCopied ? 'Link copied!' : 'Share chat'"
|
|
24
|
+
class="claude-btn-icon"
|
|
25
|
+
@click="emit('share')"
|
|
26
|
+
>
|
|
27
|
+
<svg
|
|
28
|
+
v-if="showShareCopied"
|
|
29
|
+
fill="currentColor"
|
|
30
|
+
height="18"
|
|
31
|
+
viewBox="0 0 24 24"
|
|
32
|
+
width="18"
|
|
33
|
+
>
|
|
34
|
+
<path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" />
|
|
35
|
+
</svg>
|
|
36
|
+
<svg
|
|
37
|
+
v-else
|
|
38
|
+
fill="currentColor"
|
|
39
|
+
height="18"
|
|
40
|
+
viewBox="0 0 24 24"
|
|
41
|
+
width="18"
|
|
42
|
+
>
|
|
43
|
+
<path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z" />
|
|
44
|
+
</svg>
|
|
45
|
+
</button>
|
|
46
|
+
<!-- History button -->
|
|
47
|
+
<button
|
|
48
|
+
class="claude-btn-icon"
|
|
49
|
+
title="History"
|
|
50
|
+
@click="emit('history')"
|
|
51
|
+
>
|
|
52
|
+
<svg
|
|
53
|
+
fill="currentColor"
|
|
54
|
+
height="18"
|
|
55
|
+
viewBox="0 0 24 24"
|
|
56
|
+
width="18"
|
|
57
|
+
>
|
|
58
|
+
<path d="M13 3a9 9 0 0 0-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42A8.954 8.954 0 0 0 13 21a9 9 0 0 0 0-18zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z" />
|
|
59
|
+
</svg>
|
|
60
|
+
</button>
|
|
61
|
+
<!-- New chat button -->
|
|
62
|
+
<button
|
|
63
|
+
class="claude-btn-icon"
|
|
64
|
+
title="New chat"
|
|
65
|
+
@click="emit('newChat')"
|
|
66
|
+
>
|
|
67
|
+
<svg
|
|
68
|
+
fill="currentColor"
|
|
69
|
+
height="18"
|
|
70
|
+
viewBox="0 0 24 24"
|
|
71
|
+
width="18"
|
|
72
|
+
>
|
|
73
|
+
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
|
|
74
|
+
</svg>
|
|
75
|
+
</button>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</template>
|
|
79
|
+
|
|
80
|
+
<style>
|
|
81
|
+
.claude-header{align-items:center;background:transparent;display:flex;flex-shrink:0;justify-content:space-between;left:0;padding:16px 20px;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.claude-header>*{pointer-events:auto}.claude-header-draggable{cursor:grab}.claude-header-draggable:active{cursor:grabbing}.claude-header-left{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--claude-radius-sm);box-shadow:0 4px 12px rgba(0,0,0,.3);display:flex;gap:10px;padding:8px 14px}.claude-header-title{color:hsla(0,0%,100%,.95);font-size:15px;font-weight:600}.claude-status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.claude-status-dot-green{background:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.6)}.claude-status-dot-blue{animation:claude-status-pulse 1.5s ease-in-out infinite;background:#fbbf24;box-shadow:0 0 8px rgba(251,191,36,.6)}.claude-status-dot-red{background:#f87171;box-shadow:0 0 8px hsla(0,91%,71%,.6)}@keyframes claude-status-pulse{0%,to{opacity:1}50%{opacity:.5}}.claude-header-actions{display:flex;gap:8px}.claude-btn-icon{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--claude-radius-sm);box-shadow:0 4px 12px rgba(0,0,0,.3);color:hsla(0,0%,100%,.7);cursor:pointer;display:flex;height:38px;justify-content:center;transition:all .2s ease;width:38px}.claude-btn-icon:hover{background:rgba(0,0,0,.5);border-color:hsla(0,0%,100%,.2);box-shadow:0 6px 16px rgba(0,0,0,.4);color:#fff;transform:translateY(-2px)}.claude-btn-success{background:rgba(74,222,128,.2)!important;border-color:rgba(74,222,128,.3)!important;color:#4ade80!important}@media (max-width:640px){.claude-header{padding:6px 16px;top:36px}.claude-header-left{padding:8px 12px}.claude-btn-icon{height:44px;width:44px}}
|
|
82
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
statusColor: 'green' | 'blue' | 'red';
|
|
3
|
+
showShareCopied: boolean;
|
|
4
|
+
isMobile: boolean;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
|
+
newChat: () => any;
|
|
8
|
+
share: () => any;
|
|
9
|
+
history: () => any;
|
|
10
|
+
dragStart: (e: MouseEvent) => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onNewChat?: (() => any) | undefined;
|
|
13
|
+
onShare?: (() => any) | undefined;
|
|
14
|
+
onHistory?: (() => any) | undefined;
|
|
15
|
+
onDragStart?: ((e: MouseEvent) => any) | undefined;
|
|
16
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
declare const _default: typeof __VLS_export;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ImageAttachment, SlashCommand } from '../../../shared/types.js';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
isConnected: boolean;
|
|
4
|
+
isProcessing: boolean;
|
|
5
|
+
isRecording: boolean;
|
|
6
|
+
isSpeechSupported: boolean;
|
|
7
|
+
commands: SlashCommand[];
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
10
|
+
focus: () => void | undefined;
|
|
11
|
+
appendText: (text: string) => void;
|
|
12
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
13
|
+
submit: (message: string, attachments?: ImageAttachment[] | undefined) => any;
|
|
14
|
+
stop: () => any;
|
|
15
|
+
voiceInput: () => any;
|
|
16
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
|
+
onSubmit?: ((message: string, attachments?: ImageAttachment[] | undefined) => any) | undefined;
|
|
18
|
+
onStop?: (() => any) | undefined;
|
|
19
|
+
onVoiceInput?: (() => any) | undefined;
|
|
20
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const _default: typeof __VLS_export;
|
|
22
|
+
export default _default;
|