@orion-ds/react 5.1.13 → 5.2.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 (144) hide show
  1. package/AI_COMPONENTS.md +9 -2
  2. package/dist/blocks/index.cjs +1 -1
  3. package/dist/blocks/index.mjs +50 -54
  4. package/dist/blocks/sections/index.d.ts +0 -2
  5. package/dist/blocks/sections/index.d.ts.map +1 -1
  6. package/dist/blocks/templates/index.cjs +1 -1
  7. package/dist/blocks/templates/index.d.ts +0 -5
  8. package/dist/blocks/templates/index.d.ts.map +1 -1
  9. package/dist/blocks/templates/index.mjs +12 -14
  10. package/dist/blocks.css +0 -4
  11. package/dist/client.d.ts +1 -2
  12. package/dist/client.d.ts.map +1 -1
  13. package/dist/components/ThemeController/ThemeController.cjs +1 -1
  14. package/dist/components/ThemeController/ThemeController.d.ts.map +1 -1
  15. package/dist/components/ThemeController/ThemeController.mjs +19 -14
  16. package/dist/components/index.d.ts +0 -3
  17. package/dist/components/index.d.ts.map +1 -1
  18. package/dist/hooks/useTheme.cjs +1 -1
  19. package/dist/hooks/useTheme.d.ts +1 -1
  20. package/dist/hooks/useTheme.d.ts.map +1 -1
  21. package/dist/hooks/useTheme.mjs +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/styles.css +0 -2
  24. package/dist/tokens/types.d.ts +1 -18
  25. package/dist/tokens/types.d.ts.map +1 -1
  26. package/dist/utils/fonts.cjs +1 -1
  27. package/dist/utils/fonts.d.ts.map +1 -1
  28. package/dist/utils/fonts.mjs +1 -0
  29. package/package.json +1 -6
  30. package/dist/blocks/sections/Chat/Chat.cjs +0 -1
  31. package/dist/blocks/sections/Chat/Chat.d.ts +0 -5
  32. package/dist/blocks/sections/Chat/Chat.d.ts.map +0 -1
  33. package/dist/blocks/sections/Chat/Chat.mjs +0 -93
  34. package/dist/blocks/sections/Chat/Chat.module.css +0 -1
  35. package/dist/blocks/sections/Chat/Chat.module.css.cjs +0 -1
  36. package/dist/blocks/sections/Chat/Chat.module.css.mjs +0 -47
  37. package/dist/blocks/sections/Chat/Chat.types.d.ts +0 -33
  38. package/dist/blocks/sections/Chat/Chat.types.d.ts.map +0 -1
  39. package/dist/blocks/sections/Chat/index.d.ts +0 -3
  40. package/dist/blocks/sections/Chat/index.d.ts.map +0 -1
  41. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.cjs +0 -1
  42. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.d.ts +0 -5
  43. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.d.ts.map +0 -1
  44. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.mjs +0 -192
  45. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.module.css +0 -1
  46. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.module.css.cjs +0 -1
  47. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.module.css.mjs +0 -81
  48. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.types.d.ts +0 -42
  49. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.types.d.ts.map +0 -1
  50. package/dist/blocks/templates/app/ChatPageTemplate/index.d.ts +0 -3
  51. package/dist/blocks/templates/app/ChatPageTemplate/index.d.ts.map +0 -1
  52. package/dist/components/Chat/Chat.cjs +0 -1
  53. package/dist/components/Chat/Chat.d.ts +0 -22
  54. package/dist/components/Chat/Chat.d.ts.map +0 -1
  55. package/dist/components/Chat/Chat.mjs +0 -56
  56. package/dist/components/Chat/Chat.module.css +0 -1
  57. package/dist/components/Chat/Chat.module.css.cjs +0 -1
  58. package/dist/components/Chat/Chat.module.css.mjs +0 -237
  59. package/dist/components/Chat/Chat.types.d.ts +0 -387
  60. package/dist/components/Chat/Chat.types.d.ts.map +0 -1
  61. package/dist/components/Chat/components/ChatAttachment.cjs +0 -1
  62. package/dist/components/Chat/components/ChatAttachment.d.ts +0 -5
  63. package/dist/components/Chat/components/ChatAttachment.d.ts.map +0 -1
  64. package/dist/components/Chat/components/ChatAttachment.mjs +0 -125
  65. package/dist/components/Chat/components/ChatAudioPlayer.cjs +0 -1
  66. package/dist/components/Chat/components/ChatAudioPlayer.d.ts +0 -5
  67. package/dist/components/Chat/components/ChatAudioPlayer.d.ts.map +0 -1
  68. package/dist/components/Chat/components/ChatAudioPlayer.mjs +0 -127
  69. package/dist/components/Chat/components/ChatCodeBlock.cjs +0 -1
  70. package/dist/components/Chat/components/ChatCodeBlock.d.ts +0 -5
  71. package/dist/components/Chat/components/ChatCodeBlock.d.ts.map +0 -1
  72. package/dist/components/Chat/components/ChatCodeBlock.mjs +0 -93
  73. package/dist/components/Chat/components/ChatFileUpload.cjs +0 -1
  74. package/dist/components/Chat/components/ChatFileUpload.d.ts +0 -5
  75. package/dist/components/Chat/components/ChatFileUpload.d.ts.map +0 -1
  76. package/dist/components/Chat/components/ChatFileUpload.mjs +0 -114
  77. package/dist/components/Chat/components/ChatHeader.cjs +0 -1
  78. package/dist/components/Chat/components/ChatHeader.d.ts +0 -5
  79. package/dist/components/Chat/components/ChatHeader.d.ts.map +0 -1
  80. package/dist/components/Chat/components/ChatHeader.mjs +0 -36
  81. package/dist/components/Chat/components/ChatImagePreview.cjs +0 -1
  82. package/dist/components/Chat/components/ChatImagePreview.d.ts +0 -5
  83. package/dist/components/Chat/components/ChatImagePreview.d.ts.map +0 -1
  84. package/dist/components/Chat/components/ChatImagePreview.mjs +0 -69
  85. package/dist/components/Chat/components/ChatInput.cjs +0 -1
  86. package/dist/components/Chat/components/ChatInput.d.ts +0 -5
  87. package/dist/components/Chat/components/ChatInput.d.ts.map +0 -1
  88. package/dist/components/Chat/components/ChatInput.mjs +0 -188
  89. package/dist/components/Chat/components/ChatLightbox.cjs +0 -1
  90. package/dist/components/Chat/components/ChatLightbox.d.ts +0 -5
  91. package/dist/components/Chat/components/ChatLightbox.d.ts.map +0 -1
  92. package/dist/components/Chat/components/ChatLightbox.mjs +0 -57
  93. package/dist/components/Chat/components/ChatMarkdown.cjs +0 -1
  94. package/dist/components/Chat/components/ChatMarkdown.d.ts +0 -5
  95. package/dist/components/Chat/components/ChatMarkdown.d.ts.map +0 -1
  96. package/dist/components/Chat/components/ChatMarkdown.mjs +0 -70
  97. package/dist/components/Chat/components/ChatMessage.cjs +0 -1
  98. package/dist/components/Chat/components/ChatMessage.d.ts +0 -5
  99. package/dist/components/Chat/components/ChatMessage.d.ts.map +0 -1
  100. package/dist/components/Chat/components/ChatMessage.mjs +0 -173
  101. package/dist/components/Chat/components/ChatMessages.cjs +0 -1
  102. package/dist/components/Chat/components/ChatMessages.d.ts +0 -5
  103. package/dist/components/Chat/components/ChatMessages.d.ts.map +0 -1
  104. package/dist/components/Chat/components/ChatMessages.mjs +0 -46
  105. package/dist/components/Chat/components/ChatSidebar.cjs +0 -1
  106. package/dist/components/Chat/components/ChatSidebar.d.ts +0 -5
  107. package/dist/components/Chat/components/ChatSidebar.d.ts.map +0 -1
  108. package/dist/components/Chat/components/ChatSidebar.mjs +0 -217
  109. package/dist/components/Chat/components/ChatTypingIndicator.cjs +0 -1
  110. package/dist/components/Chat/components/ChatTypingIndicator.d.ts +0 -5
  111. package/dist/components/Chat/components/ChatTypingIndicator.d.ts.map +0 -1
  112. package/dist/components/Chat/components/ChatTypingIndicator.mjs +0 -31
  113. package/dist/components/Chat/components/ChatVoiceRecorder.cjs +0 -1
  114. package/dist/components/Chat/components/ChatVoiceRecorder.d.ts +0 -5
  115. package/dist/components/Chat/components/ChatVoiceRecorder.d.ts.map +0 -1
  116. package/dist/components/Chat/components/ChatVoiceRecorder.mjs +0 -111
  117. package/dist/components/Chat/components/index.d.ts +0 -18
  118. package/dist/components/Chat/components/index.d.ts.map +0 -1
  119. package/dist/components/Chat/hooks/index.d.ts +0 -12
  120. package/dist/components/Chat/hooks/index.d.ts.map +0 -1
  121. package/dist/components/Chat/hooks/useAutoScroll.cjs +0 -1
  122. package/dist/components/Chat/hooks/useAutoScroll.d.ts +0 -24
  123. package/dist/components/Chat/hooks/useAutoScroll.d.ts.map +0 -1
  124. package/dist/components/Chat/hooks/useAutoScroll.mjs +0 -50
  125. package/dist/components/Chat/hooks/useChatInput.cjs +0 -1
  126. package/dist/components/Chat/hooks/useChatInput.d.ts +0 -43
  127. package/dist/components/Chat/hooks/useChatInput.d.ts.map +0 -1
  128. package/dist/components/Chat/hooks/useChatInput.mjs +0 -44
  129. package/dist/components/Chat/hooks/useStreamingText.d.ts +0 -22
  130. package/dist/components/Chat/hooks/useStreamingText.d.ts.map +0 -1
  131. package/dist/components/Chat/hooks/useVoiceRecorder.cjs +0 -1
  132. package/dist/components/Chat/hooks/useVoiceRecorder.d.ts +0 -26
  133. package/dist/components/Chat/hooks/useVoiceRecorder.d.ts.map +0 -1
  134. package/dist/components/Chat/hooks/useVoiceRecorder.mjs +0 -74
  135. package/dist/components/Chat/index.d.ts +0 -28
  136. package/dist/components/Chat/index.d.ts.map +0 -1
  137. package/dist/components/Chat/utils.cjs +0 -1
  138. package/dist/components/Chat/utils.d.ts +0 -16
  139. package/dist/components/Chat/utils.d.ts.map +0 -1
  140. package/dist/components/Chat/utils.mjs +0 -12
  141. package/dist/rich.cjs +0 -1
  142. package/dist/rich.d.ts +0 -16
  143. package/dist/rich.d.ts.map +0 -1
  144. package/dist/rich.mjs +0 -4
@@ -1,3 +0,0 @@
1
- export { ChatSection } from './Chat';
2
- export type { ChatSectionProps, ChatMessage, ChatConversation, ChatInputProps, ChatMessageRole, } from './Chat.types';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/Chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),C=require("@orion-ds/react"),r=require("lucide-react"),a=require("./ChatPageTemplate.module.css.cjs"),h=t.forwardRef(({title:j="Chat",messages:d=[],inputPlaceholder:x="Type a message...",onSendMessage:c,participants:u=[],selectedParticipantId:N,onSelectParticipant:p,isTyping:v=!1,isLoading:l=!1,error:m,className:b,...g},y)=>{const[i,o]=t.useState(""),f=t.useRef(null);t.useEffect(()=>{f.current?.scrollIntoView({behavior:"smooth"})},[d]);const n=t.useCallback(()=>{i.trim()&&(c?.(i.trim()),o(""))},[i,c]),S=t.useCallback(s=>{s.key==="Enter"&&!s.shiftKey&&(s.preventDefault(),n())},[n]);return e.jsxs("div",{ref:y,className:[a.default.root,b].filter(Boolean).join(" "),...g,children:[u.length>0&&e.jsxs("div",{className:a.default.sidebar,children:[e.jsx("h3",{className:a.default.sidebarTitle,children:"Participants"}),e.jsx("div",{className:a.default.participantsList,children:u.map(s=>e.jsxs("div",{className:[a.default.participant,N===s.id&&a.default.participantActive].filter(Boolean).join(" "),onClick:()=>p?.(s.id),children:[s.avatar&&e.jsx("img",{src:s.avatar,alt:s.name,className:a.default.participantAvatar}),e.jsxs("div",{className:a.default.participantInfo,children:[e.jsx("div",{className:a.default.participantName,children:s.name}),s.status&&e.jsx("div",{className:[a.default.participantStatus,a.default[`status${s.status}`]].filter(Boolean).join(" "),children:s.status})]})]},s.id))})]}),e.jsxs("div",{className:a.default.mainArea,children:[e.jsxs("div",{className:a.default.header,children:[e.jsx("h2",{className:a.default.title,children:j}),m&&e.jsx("div",{className:a.default.errorBadge,children:m})]}),e.jsxs("div",{className:a.default.messagesContainer,children:[d.length===0?e.jsxs("div",{className:a.default.emptyState,children:[e.jsx("div",{className:a.default.emptyStateIcon,children:"💬"}),e.jsx("h3",{className:a.default.emptyStateTitle,children:"No messages yet"}),e.jsx("p",{className:a.default.emptyStateText,children:"Start the conversation by sending a message"})]}):e.jsxs(e.Fragment,{children:[d.map(s=>e.jsxs("div",{className:[a.default.messageWrapper,a.default[`message${s.role}`]].filter(Boolean).join(" "),children:[e.jsxs("div",{className:a.default.messageBubble,children:[e.jsx("p",{className:a.default.messageContent,children:s.content}),s.timestamp&&e.jsx("span",{className:a.default.messageTime,children:new Date(s.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),s.status&&e.jsxs("span",{className:[a.default.messageStatus,a.default[`status${s.status}`]].filter(Boolean).join(" "),title:s.status,children:[s.status==="sending"&&"⏱",s.status==="sent"&&"✓",s.status==="error"&&"✗"]})]},s.id)),v&&e.jsx("div",{className:[a.default.messageWrapper,a.default.messageAssistant].join(" "),children:e.jsx("div",{className:a.default.messageBubble,children:e.jsxs("div",{className:a.default.typingIndicator,children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]})})})]}),e.jsx("div",{ref:f})]}),e.jsx("div",{className:a.default.inputArea,children:e.jsxs("div",{className:a.default.inputGroup,children:[e.jsx("button",{className:a.default.actionButton,"aria-label":"Attach file",disabled:l,children:e.jsx(r.Paperclip,{size:20})}),e.jsx("textarea",{className:a.default.input,placeholder:x,value:i,onChange:s=>o(s.target.value),onKeyDown:S,disabled:l,rows:1}),e.jsx("button",{className:a.default.actionButton,"aria-label":"Add emoji",disabled:l,children:e.jsx(r.Smile,{size:20})}),e.jsx(C.Button,{variant:"primary",iconOnly:!0,icon:e.jsx(r.Send,{size:20}),onClick:n,disabled:!i.trim()||l,isLoading:l,"aria-label":"Send message"})]})})]})]})});h.displayName="ChatPageTemplate";exports.ChatPageTemplate=h;
@@ -1,5 +0,0 @@
1
- import { ChatPageTemplateProps } from './ChatPageTemplate.types';
2
-
3
- export declare const ChatPageTemplate: import('react').ForwardRefExoticComponent<ChatPageTemplateProps & import('react').RefAttributes<HTMLDivElement>>;
4
- export default ChatPageTemplate;
5
- //# sourceMappingURL=ChatPageTemplate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatPageTemplate.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,eAAO,MAAM,gBAAgB,kHA8N5B,CAAC;AAGF,eAAe,gBAAgB,CAAC"}
@@ -1,192 +0,0 @@
1
- import { jsxs as s, jsx as t, Fragment as j } from "react/jsx-runtime";
2
- import { forwardRef as C, useState as T, useRef as A, useEffect as w, useCallback as u } from "react";
3
- import { Button as x } from "@orion-ds/react";
4
- import { Paperclip as I, Smile as k, Send as D } from "lucide-react";
5
- import e from "./ChatPageTemplate.module.css.mjs";
6
- const P = C(
7
- ({
8
- title: p = "Chat",
9
- messages: n = [],
10
- inputPlaceholder: N = "Type a message...",
11
- onSendMessage: c,
12
- participants: d = [],
13
- selectedParticipantId: v,
14
- onSelectParticipant: f,
15
- isTyping: b = !1,
16
- isLoading: i = !1,
17
- error: m,
18
- className: y,
19
- ...g
20
- }, S) => {
21
- const [l, o] = T(""), h = A(null);
22
- w(() => {
23
- h.current?.scrollIntoView({ behavior: "smooth" });
24
- }, [n]);
25
- const r = u(() => {
26
- l.trim() && (c?.(l.trim()), o(""));
27
- }, [l, c]), B = u(
28
- (a) => {
29
- a.key === "Enter" && !a.shiftKey && (a.preventDefault(), r());
30
- },
31
- [r]
32
- );
33
- return /* @__PURE__ */ s(
34
- "div",
35
- {
36
- ref: S,
37
- className: [e.root, y].filter(Boolean).join(" "),
38
- ...g,
39
- children: [
40
- d.length > 0 && /* @__PURE__ */ s("div", { className: e.sidebar, children: [
41
- /* @__PURE__ */ t("h3", { className: e.sidebarTitle, children: "Participants" }),
42
- /* @__PURE__ */ t("div", { className: e.participantsList, children: d.map((a) => /* @__PURE__ */ s(
43
- "div",
44
- {
45
- className: [
46
- e.participant,
47
- v === a.id && e.participantActive
48
- ].filter(Boolean).join(" "),
49
- onClick: () => f?.(a.id),
50
- children: [
51
- a.avatar && /* @__PURE__ */ t(
52
- "img",
53
- {
54
- src: a.avatar,
55
- alt: a.name,
56
- className: e.participantAvatar
57
- }
58
- ),
59
- /* @__PURE__ */ s("div", { className: e.participantInfo, children: [
60
- /* @__PURE__ */ t("div", { className: e.participantName, children: a.name }),
61
- a.status && /* @__PURE__ */ t(
62
- "div",
63
- {
64
- className: [
65
- e.participantStatus,
66
- e[`status${a.status}`]
67
- ].filter(Boolean).join(" "),
68
- children: a.status
69
- }
70
- )
71
- ] })
72
- ]
73
- },
74
- a.id
75
- )) })
76
- ] }),
77
- /* @__PURE__ */ s("div", { className: e.mainArea, children: [
78
- /* @__PURE__ */ s("div", { className: e.header, children: [
79
- /* @__PURE__ */ t("h2", { className: e.title, children: p }),
80
- m && /* @__PURE__ */ t("div", { className: e.errorBadge, children: m })
81
- ] }),
82
- /* @__PURE__ */ s("div", { className: e.messagesContainer, children: [
83
- n.length === 0 ? /* @__PURE__ */ s("div", { className: e.emptyState, children: [
84
- /* @__PURE__ */ t("div", { className: e.emptyStateIcon, children: "💬" }),
85
- /* @__PURE__ */ t("h3", { className: e.emptyStateTitle, children: "No messages yet" }),
86
- /* @__PURE__ */ t("p", { className: e.emptyStateText, children: "Start the conversation by sending a message" })
87
- ] }) : /* @__PURE__ */ s(j, { children: [
88
- n.map((a) => /* @__PURE__ */ s(
89
- "div",
90
- {
91
- className: [
92
- e.messageWrapper,
93
- e[`message${a.role}`]
94
- ].filter(Boolean).join(" "),
95
- children: [
96
- /* @__PURE__ */ s("div", { className: e.messageBubble, children: [
97
- /* @__PURE__ */ t("p", { className: e.messageContent, children: a.content }),
98
- a.timestamp && /* @__PURE__ */ t("span", { className: e.messageTime, children: new Date(a.timestamp).toLocaleTimeString([], {
99
- hour: "2-digit",
100
- minute: "2-digit"
101
- }) })
102
- ] }),
103
- a.status && /* @__PURE__ */ s(
104
- "span",
105
- {
106
- className: [
107
- e.messageStatus,
108
- e[`status${a.status}`]
109
- ].filter(Boolean).join(" "),
110
- title: a.status,
111
- children: [
112
- a.status === "sending" && "⏱",
113
- a.status === "sent" && "✓",
114
- a.status === "error" && "✗"
115
- ]
116
- }
117
- )
118
- ]
119
- },
120
- a.id
121
- )),
122
- b && /* @__PURE__ */ t(
123
- "div",
124
- {
125
- className: [
126
- e.messageWrapper,
127
- e.messageAssistant
128
- ].join(" "),
129
- children: /* @__PURE__ */ t("div", { className: e.messageBubble, children: /* @__PURE__ */ s("div", { className: e.typingIndicator, children: [
130
- /* @__PURE__ */ t("span", {}),
131
- /* @__PURE__ */ t("span", {}),
132
- /* @__PURE__ */ t("span", {})
133
- ] }) })
134
- }
135
- )
136
- ] }),
137
- /* @__PURE__ */ t("div", { ref: h })
138
- ] }),
139
- /* @__PURE__ */ t("div", { className: e.inputArea, children: /* @__PURE__ */ s("div", { className: e.inputGroup, children: [
140
- /* @__PURE__ */ t(
141
- "button",
142
- {
143
- className: e.actionButton,
144
- "aria-label": "Attach file",
145
- disabled: i,
146
- children: /* @__PURE__ */ t(I, { size: 20 })
147
- }
148
- ),
149
- /* @__PURE__ */ t(
150
- "textarea",
151
- {
152
- className: e.input,
153
- placeholder: N,
154
- value: l,
155
- onChange: (a) => o(a.target.value),
156
- onKeyDown: B,
157
- disabled: i,
158
- rows: 1
159
- }
160
- ),
161
- /* @__PURE__ */ t(
162
- "button",
163
- {
164
- className: e.actionButton,
165
- "aria-label": "Add emoji",
166
- disabled: i,
167
- children: /* @__PURE__ */ t(k, { size: 20 })
168
- }
169
- ),
170
- /* @__PURE__ */ t(
171
- x,
172
- {
173
- variant: "primary",
174
- iconOnly: !0,
175
- icon: /* @__PURE__ */ t(D, { size: 20 }),
176
- onClick: r,
177
- disabled: !l.trim() || i,
178
- isLoading: i,
179
- "aria-label": "Send message"
180
- }
181
- )
182
- ] }) })
183
- ] })
184
- ]
185
- }
186
- );
187
- }
188
- );
189
- P.displayName = "ChatPageTemplate";
190
- export {
191
- P as ChatPageTemplate
192
- };
@@ -1 +0,0 @@
1
- ._root_z5x1z_3{display:flex;height:100%;width:100%;background:var(--surface-base);overflow:hidden}._sidebar_z5x1z_11{width:280px;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;background:var(--surface-subtle);overflow-y:auto}@media(max-width:768px){._sidebar_z5x1z_11{display:none}}._sidebarTitle_z5x1z_26{margin:var(--spacing-4);font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}._participantsList_z5x1z_35{display:flex;flex-direction:column}._participant_z5x1z_35{padding:var(--spacing-3) var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-3);cursor:pointer;transition:background-color .15s ease;border-left:3px solid transparent}._participant_z5x1z_35:hover{background:var(--surface-layer)}._participantActive_z5x1z_54{background:var(--surface-base);border-left-color:var(--border-primary)}._participantAvatar_z5x1z_59{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover}._participantInfo_z5x1z_66{flex:1;min-width:0}._participantName_z5x1z_71{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._participantStatus_z5x1z_80{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:capitalize}._statusonline_z5x1z_86{color:var(--text-success)}._statusaway_z5x1z_90{color:var(--text-warning)}._statusoffline_z5x1z_94{color:var(--text-tertiary)}._mainArea_z5x1z_98{flex:1;display:flex;flex-direction:column;overflow:hidden}._header_z5x1z_105{padding:var(--spacing-4);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;background:var(--surface-base)}._title_z5x1z_114{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}._errorBadge_z5x1z_121{padding:var(--spacing-2) var(--spacing-3);background:var(--surface-danger-subtle);color:var(--text-danger);border-radius:var(--radius-control);font-size:var(--font-size-xs);font-weight:500}._messagesContainer_z5x1z_130{flex:1;overflow-y:auto;padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-3)}._emptyState_z5x1z_139{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-3);text-align:center}._emptyStateIcon_z5x1z_149{font-size:48px}._emptyStateTitle_z5x1z_153{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--text-primary)}._emptyStateText_z5x1z_160{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}._messageWrapper_z5x1z_166{display:flex;align-items:flex-end;gap:var(--spacing-2)}._messageuser_z5x1z_172{justify-content:flex-end}._messageassistant_z5x1z_176{justify-content:flex-start}._messageBubble_z5x1z_180{max-width:60%;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-control);overflow-wrap:break-word}._messageuser_z5x1z_172 ._messageBubble_z5x1z_180{background:var(--interactive-primary);color:var(--interactive-primary-text);border-bottom-right-radius:4px}._messageassistant_z5x1z_176 ._messageBubble_z5x1z_180{background:var(--surface-layer);color:var(--text-primary);border-bottom-left-radius:4px}._messageContent_z5x1z_199{margin:0;font-size:var(--font-size-base);line-height:1.5}._messageTime_z5x1z_205{display:block;font-size:var(--font-size-xs);opacity:.7;margin-top:var(--spacing-1)}._messageStatus_z5x1z_212{font-size:var(--font-size-xs);opacity:.7}._statussending_z5x1z_217{color:var(--text-warning)}._statussent_z5x1z_221{color:var(--text-success)}._statuserror_z5x1z_225{color:var(--text-danger)}._typingIndicator_z5x1z_229{display:flex;gap:4px;align-items:center;padding:var(--spacing-1) 0}._typingIndicator_z5x1z_229 span{width:8px;height:8px;border-radius:var(--radius-full);background:var(--text-secondary);animation:_typing_z5x1z_229 1.4s infinite}._typingIndicator_z5x1z_229 span:nth-child(2){animation-delay:.2s}._typingIndicator_z5x1z_229 span:nth-child(3){animation-delay:.4s}@keyframes _typing_z5x1z_229{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}._inputArea_z5x1z_265{padding:var(--spacing-4);border-top:1px solid var(--border-subtle);background:var(--surface-base)}._inputGroup_z5x1z_271{display:flex;align-items:flex-end;gap:var(--spacing-2)}._input_z5x1z_265{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-base);color:var(--text-primary);font-family:var(--font-secondary);font-size:var(--font-size-base);resize:none;max-height:120px;transition:border-color .15s ease}._input_z5x1z_265:hover{border-color:var(--border-base)}._input_z5x1z_265:focus{outline:none;border-color:var(--border-primary);box-shadow:0 0 0 2px var(--surface-primary-subtle)}._input_z5x1z_265:disabled{background:var(--surface-subtle);color:var(--text-tertiary)}._actionButton_z5x1z_306{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);border:none;border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,background-color .15s ease}._actionButton_z5x1z_306:hover:not(:disabled){color:var(--text-primary);background:var(--surface-subtle)}._actionButton_z5x1z_306:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){._messageBubble_z5x1z_180{max-width:85%}._inputArea_z5x1z_265{padding:var(--spacing-3)}}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t="_root_z5x1z_3",a="_sidebar_z5x1z_11",e="_sidebarTitle_z5x1z_26",s="_participantsList_z5x1z_35",n="_participant_z5x1z_35",i="_participantActive_z5x1z_54",_="_participantAvatar_z5x1z_59",r="_participantInfo_z5x1z_66",p="_participantName_z5x1z_71",o="_participantStatus_z5x1z_80",c="_statusonline_z5x1z_86",z="_statusaway_z5x1z_90",u="_statusoffline_z5x1z_94",m="_mainArea_z5x1z_98",g="_header_z5x1z_105",x="_title_z5x1z_114",l="_errorBadge_z5x1z_121",y="_messagesContainer_z5x1z_130",d="_emptyState_z5x1z_139",S="_emptyStateIcon_z5x1z_149",b="_emptyStateTitle_z5x1z_153",T="_emptyStateText_z5x1z_160",A="_messageWrapper_z5x1z_166",f="_messageuser_z5x1z_172",B="_messageassistant_z5x1z_176",I="_messageBubble_z5x1z_180",v="_messageContent_z5x1z_199",C="_messageTime_z5x1z_205",h="_messageStatus_z5x1z_212",w="_statussending_z5x1z_217",G="_statussent_z5x1z_221",L="_statuserror_z5x1z_225",N="_typingIndicator_z5x1z_229",W="_typing_z5x1z_229",M="_inputArea_z5x1z_265",j="_inputGroup_z5x1z_271",O="_input_z5x1z_265",P="_actionButton_z5x1z_306",k={root:t,sidebar:a,sidebarTitle:e,participantsList:s,participant:n,participantActive:i,participantAvatar:_,participantInfo:r,participantName:p,participantStatus:o,statusonline:c,statusaway:z,statusoffline:u,mainArea:m,header:g,title:x,errorBadge:l,messagesContainer:y,emptyState:d,emptyStateIcon:S,emptyStateTitle:b,emptyStateText:T,messageWrapper:A,messageuser:f,messageassistant:B,messageBubble:I,messageContent:v,messageTime:C,messageStatus:h,statussending:w,statussent:G,statuserror:L,typingIndicator:N,typing:W,inputArea:M,inputGroup:j,input:O,actionButton:P};exports.actionButton=P;exports.default=k;exports.emptyState=d;exports.emptyStateIcon=S;exports.emptyStateText=T;exports.emptyStateTitle=b;exports.errorBadge=l;exports.header=g;exports.input=O;exports.inputArea=M;exports.inputGroup=j;exports.mainArea=m;exports.messageBubble=I;exports.messageContent=v;exports.messageStatus=h;exports.messageTime=C;exports.messageWrapper=A;exports.messageassistant=B;exports.messagesContainer=y;exports.messageuser=f;exports.participant=n;exports.participantActive=i;exports.participantAvatar=_;exports.participantInfo=r;exports.participantName=p;exports.participantStatus=o;exports.participantsList=s;exports.root=t;exports.sidebar=a;exports.sidebarTitle=e;exports.statusaway=z;exports.statuserror=L;exports.statusoffline=u;exports.statusonline=c;exports.statussending=w;exports.statussent=G;exports.title=x;exports.typing=W;exports.typingIndicator=N;
@@ -1,81 +0,0 @@
1
- const t = "_root_z5x1z_3", s = "_sidebar_z5x1z_11", a = "_sidebarTitle_z5x1z_26", e = "_participantsList_z5x1z_35", n = "_participant_z5x1z_35", _ = "_participantActive_z5x1z_54", i = "_participantAvatar_z5x1z_59", o = "_participantInfo_z5x1z_66", p = "_participantName_z5x1z_71", r = "_participantStatus_z5x1z_80", z = "_statusonline_z5x1z_86", c = "_statusaway_z5x1z_90", u = "_statusoffline_z5x1z_94", m = "_mainArea_z5x1z_98", x = "_header_z5x1z_105", g = "_title_z5x1z_114", y = "_errorBadge_z5x1z_121", l = "_messagesContainer_z5x1z_130", d = "_emptyState_z5x1z_139", S = "_emptyStateIcon_z5x1z_149", b = "_emptyStateTitle_z5x1z_153", A = "_emptyStateText_z5x1z_160", T = "_messageWrapper_z5x1z_166", f = "_messageuser_z5x1z_172", B = "_messageassistant_z5x1z_176", I = "_messageBubble_z5x1z_180", v = "_messageContent_z5x1z_199", C = "_messageTime_z5x1z_205", h = "_messageStatus_z5x1z_212", w = "_statussending_z5x1z_217", G = "_statussent_z5x1z_221", L = "_statuserror_z5x1z_225", N = "_typingIndicator_z5x1z_229", W = "_typing_z5x1z_229", j = "_inputArea_z5x1z_265", k = "_inputGroup_z5x1z_271", q = "_input_z5x1z_265", D = "_actionButton_z5x1z_306", E = {
2
- root: t,
3
- sidebar: s,
4
- sidebarTitle: a,
5
- participantsList: e,
6
- participant: n,
7
- participantActive: _,
8
- participantAvatar: i,
9
- participantInfo: o,
10
- participantName: p,
11
- participantStatus: r,
12
- statusonline: z,
13
- statusaway: c,
14
- statusoffline: u,
15
- mainArea: m,
16
- header: x,
17
- title: g,
18
- errorBadge: y,
19
- messagesContainer: l,
20
- emptyState: d,
21
- emptyStateIcon: S,
22
- emptyStateTitle: b,
23
- emptyStateText: A,
24
- messageWrapper: T,
25
- messageuser: f,
26
- messageassistant: B,
27
- messageBubble: I,
28
- messageContent: v,
29
- messageTime: C,
30
- messageStatus: h,
31
- statussending: w,
32
- statussent: G,
33
- statuserror: L,
34
- typingIndicator: N,
35
- typing: W,
36
- inputArea: j,
37
- inputGroup: k,
38
- input: q,
39
- actionButton: D
40
- };
41
- export {
42
- D as actionButton,
43
- E as default,
44
- d as emptyState,
45
- S as emptyStateIcon,
46
- A as emptyStateText,
47
- b as emptyStateTitle,
48
- y as errorBadge,
49
- x as header,
50
- q as input,
51
- j as inputArea,
52
- k as inputGroup,
53
- m as mainArea,
54
- I as messageBubble,
55
- v as messageContent,
56
- h as messageStatus,
57
- C as messageTime,
58
- T as messageWrapper,
59
- B as messageassistant,
60
- l as messagesContainer,
61
- f as messageuser,
62
- n as participant,
63
- _ as participantActive,
64
- i as participantAvatar,
65
- o as participantInfo,
66
- p as participantName,
67
- r as participantStatus,
68
- e as participantsList,
69
- t as root,
70
- s as sidebar,
71
- a as sidebarTitle,
72
- c as statusaway,
73
- L as statuserror,
74
- u as statusoffline,
75
- z as statusonline,
76
- w as statussending,
77
- G as statussent,
78
- g as title,
79
- W as typing,
80
- N as typingIndicator
81
- };
@@ -1,42 +0,0 @@
1
- import { ReactNode } from 'react';
2
-
3
- export interface ChatParticipant {
4
- id: string;
5
- name: string;
6
- avatar?: string;
7
- status?: "online" | "offline" | "away";
8
- }
9
- export interface ChatMessage {
10
- id: string;
11
- role: "user" | "assistant";
12
- content: string;
13
- timestamp?: Date;
14
- status?: "sending" | "sent" | "error";
15
- }
16
- export interface ChatPageTemplateProps {
17
- /** Page title */
18
- title?: string;
19
- /** Messages to display */
20
- messages?: ChatMessage[];
21
- /** Input placeholder text */
22
- inputPlaceholder?: string;
23
- /** Called when message is sent */
24
- onSendMessage?: (message: string) => void;
25
- /** Chat participants (for sidebar or header) */
26
- participants?: ChatParticipant[];
27
- /** Currently selected participant */
28
- selectedParticipantId?: string;
29
- /** Called when participant is selected */
30
- onSelectParticipant?: (participantId: string) => void;
31
- /** Loading/typing indicator state */
32
- isTyping?: boolean;
33
- /** Loading state */
34
- isLoading?: boolean;
35
- /** Error message */
36
- error?: string;
37
- /** Custom className */
38
- className?: string;
39
- /** Additional content */
40
- children?: ReactNode;
41
- }
42
- //# sourceMappingURL=ChatPageTemplate.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatPageTemplate.types.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IAEzB,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1C,gDAAgD;IAChD,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IAEjC,qCAAqC;IACrC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtD,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
@@ -1,3 +0,0 @@
1
- export { ChatPageTemplate } from './ChatPageTemplate';
2
- export type { ChatPageTemplateProps, ChatMessage, ChatParticipant, } from './ChatPageTemplate.types';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/templates/app/ChatPageTemplate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,qBAAqB,EACrB,WAAW,EACX,eAAe,GAChB,MAAM,0BAA0B,CAAC"}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),s=require("./Chat.module.css.cjs"),d=require("./components/ChatHeader.cjs"),h=require("./components/ChatMessages.cjs"),n=require("./components/ChatMessage.cjs"),C=require("./components/ChatInput.cjs"),c=require("./components/ChatTypingIndicator.cjs"),l=require("./components/ChatCodeBlock.cjs"),u=require("./components/ChatMarkdown.cjs"),p=require("./components/ChatImagePreview.cjs"),m=require("./components/ChatAudioPlayer.cjs"),y=require("./components/ChatVoiceRecorder.cjs"),g=require("./components/ChatFileUpload.cjs"),M=require("./components/ChatAttachment.cjs"),q=require("./components/ChatSidebar.cjs"),a=({children:t,className:r,...i})=>o.jsx("div",{className:[s.default.chat,r].filter(Boolean).join(" "),role:"region","aria-label":"Chat interface",...i,children:t});a.displayName="Chat";const e=a;e.Header=d.ChatHeader;e.Messages=h.ChatMessages;e.Message=n.ChatMessage;e.Input=C.ChatInput;e.TypingIndicator=c.ChatTypingIndicator;e.CodeBlock=l.ChatCodeBlock;e.Markdown=u.ChatMarkdown;e.ImagePreview=p.ChatImagePreview;e.AudioPlayer=m.ChatAudioPlayer;e.VoiceRecorder=y.ChatVoiceRecorder;e.FileUpload=g.ChatFileUpload;e.Attachment=M.ChatAttachment;e.Sidebar=q.ChatSidebar;e.Header.displayName="Chat.Header";e.Messages.displayName="Chat.Messages";e.Message.displayName="Chat.Message";e.Input.displayName="Chat.Input";e.TypingIndicator.displayName="Chat.TypingIndicator";e.CodeBlock.displayName="Chat.CodeBlock";e.Markdown.displayName="Chat.Markdown";e.ImagePreview.displayName="Chat.ImagePreview";e.AudioPlayer.displayName="Chat.AudioPlayer";e.VoiceRecorder.displayName="Chat.VoiceRecorder";e.FileUpload.displayName="Chat.FileUpload";e.Attachment.displayName="Chat.Attachment";e.Sidebar.displayName="Chat.Sidebar";exports.Chat=e;
@@ -1,22 +0,0 @@
1
- import { default as React } from 'react';
2
- import { ChatProps } from './Chat.types';
3
- import { ChatMessage, ChatMessages, ChatInput, ChatHeader, ChatTypingIndicator, ChatCodeBlock, ChatMarkdown, ChatImagePreview, ChatAudioPlayer, ChatVoiceRecorder, ChatFileUpload, ChatAttachment, ChatSidebar } from './components';
4
-
5
- type ChatComponent = React.FC<ChatProps> & {
6
- Header: typeof ChatHeader;
7
- Messages: typeof ChatMessages;
8
- Message: typeof ChatMessage;
9
- Input: typeof ChatInput;
10
- TypingIndicator: typeof ChatTypingIndicator;
11
- CodeBlock: typeof ChatCodeBlock;
12
- Markdown: typeof ChatMarkdown;
13
- ImagePreview: typeof ChatImagePreview;
14
- AudioPlayer: typeof ChatAudioPlayer;
15
- VoiceRecorder: typeof ChatVoiceRecorder;
16
- FileUpload: typeof ChatFileUpload;
17
- Attachment: typeof ChatAttachment;
18
- Sidebar: typeof ChatSidebar;
19
- };
20
- export declare const Chat: ChatComponent;
21
- export {};
22
- //# sourceMappingURL=Chat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/Chat.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,WAAW,EACZ,MAAM,cAAc,CAAC;AAoBtB,KAAK,aAAa,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG;IACzC,MAAM,EAAE,OAAO,UAAU,CAAC;IAC1B,QAAQ,EAAE,OAAO,YAAY,CAAC;IAC9B,OAAO,EAAE,OAAO,WAAW,CAAC;IAC5B,KAAK,EAAE,OAAO,SAAS,CAAC;IACxB,eAAe,EAAE,OAAO,mBAAmB,CAAC;IAC5C,SAAS,EAAE,OAAO,aAAa,CAAC;IAChC,QAAQ,EAAE,OAAO,YAAY,CAAC;IAC9B,YAAY,EAAE,OAAO,gBAAgB,CAAC;IACtC,WAAW,EAAE,OAAO,eAAe,CAAC;IACpC,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,UAAU,EAAE,OAAO,cAAc,CAAC;IAClC,UAAU,EAAE,OAAO,cAAc,CAAC;IAClC,OAAO,EAAE,OAAO,WAAW,CAAC;CAC7B,CAAC;AAGF,eAAO,MAAM,IAAI,EAAe,aAAa,CAAC"}
@@ -1,56 +0,0 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import m from "./Chat.module.css.mjs";
3
- import { ChatHeader as d } from "./components/ChatHeader.mjs";
4
- import { ChatMessages as p } from "./components/ChatMessages.mjs";
5
- import { ChatMessage as s } from "./components/ChatMessage.mjs";
6
- import { ChatInput as l } from "./components/ChatInput.mjs";
7
- import { ChatTypingIndicator as h } from "./components/ChatTypingIndicator.mjs";
8
- import { ChatCodeBlock as C } from "./components/ChatCodeBlock.mjs";
9
- import { ChatMarkdown as n } from "./components/ChatMarkdown.mjs";
10
- import { ChatImagePreview as c } from "./components/ChatImagePreview.mjs";
11
- import { ChatAudioPlayer as y } from "./components/ChatAudioPlayer.mjs";
12
- import { ChatVoiceRecorder as f } from "./components/ChatVoiceRecorder.mjs";
13
- import { ChatFileUpload as g } from "./components/ChatFileUpload.mjs";
14
- import { ChatAttachment as N } from "./components/ChatAttachment.mjs";
15
- import { ChatSidebar as I } from "./components/ChatSidebar.mjs";
16
- const e = ({ children: t, className: o, ...r }) => /* @__PURE__ */ i(
17
- "div",
18
- {
19
- className: [m.chat, o].filter(Boolean).join(" "),
20
- role: "region",
21
- "aria-label": "Chat interface",
22
- ...r,
23
- children: t
24
- }
25
- );
26
- e.displayName = "Chat";
27
- const a = e;
28
- a.Header = d;
29
- a.Messages = p;
30
- a.Message = s;
31
- a.Input = l;
32
- a.TypingIndicator = h;
33
- a.CodeBlock = C;
34
- a.Markdown = n;
35
- a.ImagePreview = c;
36
- a.AudioPlayer = y;
37
- a.VoiceRecorder = f;
38
- a.FileUpload = g;
39
- a.Attachment = N;
40
- a.Sidebar = I;
41
- a.Header.displayName = "Chat.Header";
42
- a.Messages.displayName = "Chat.Messages";
43
- a.Message.displayName = "Chat.Message";
44
- a.Input.displayName = "Chat.Input";
45
- a.TypingIndicator.displayName = "Chat.TypingIndicator";
46
- a.CodeBlock.displayName = "Chat.CodeBlock";
47
- a.Markdown.displayName = "Chat.Markdown";
48
- a.ImagePreview.displayName = "Chat.ImagePreview";
49
- a.AudioPlayer.displayName = "Chat.AudioPlayer";
50
- a.VoiceRecorder.displayName = "Chat.VoiceRecorder";
51
- a.FileUpload.displayName = "Chat.FileUpload";
52
- a.Attachment.displayName = "Chat.Attachment";
53
- a.Sidebar.displayName = "Chat.Sidebar";
54
- export {
55
- a as Chat
56
- };
@@ -1 +0,0 @@
1
- ._chat_ytosv_12{display:flex;flex-direction:column;height:100%;flex:1;min-height:0;background:var(--surface-base);border-radius:var(--radius-container);overflow:hidden;position:relative}._header_ytosv_28{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--surface-base);border-bottom:1px solid var(--border-subtle);flex-shrink:0}._headerAvatar_ytosv_38{flex-shrink:0}._headerContent_ytosv_42{flex:1;min-width:0}._headerTitle_ytosv_47{font-size:var(--font-size-16);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-tight);margin:0}._headerSubtitle_ytosv_55{font-size:var(--font-size-14);color:var(--text-secondary);line-height:var(--line-height-normal);margin:0}._headerActions_ytosv_62{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}._messages_ytosv_73{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-4);padding-bottom:var(--spacing-32);display:flex;flex-direction:column;gap:var(--spacing-4);scroll-behavior:smooth}._messagesInner_ytosv_86{display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-4);max-width:var(--chat-max-width);width:100%;margin:0 auto}._message_ytosv_73{display:flex;gap:var(--spacing-3);max-width:100%;animation:_messageIn_ytosv_1 var(--transition-spring)}@keyframes _messageIn_ytosv_1{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){._message_ytosv_73{animation:none}}._messageUser_ytosv_124{flex-direction:row-reverse}._messageUser_ytosv_124 ._messageContent_ytosv_129{flex:0 1 auto;max-width:75%;align-items:flex-end}._messageAssistant_ytosv_128 ._messageContent_ytosv_129{flex:0 1 auto;max-width:90%}._messageAvatar_ytosv_144{flex-shrink:0;width:var(--size-avatar-md);height:var(--size-avatar-md);border-radius:var(--radius-full);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface-subtle);color:var(--text-secondary);font-size:var(--font-size-14)}._messageAvatarUser_ytosv_158{background:var(--interactive-primary);color:var(--interactive-primary-text)}._messageAvatarAssistant_ytosv_163{background:var(--surface-layer);color:var(--text-brand)}._messageContent_ytosv_129{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-2)}._messageBubble_ytosv_176{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--chat-bubble-radius);line-height:var(--line-height-relaxed);overflow-wrap:break-word}._messageBubbleUser_ytosv_183{background:var(--interactive-primary);color:var(--text-on-brand-primary);box-shadow:var(--shadow-sm);width:fit-content;max-width:100%}._messageBubbleAssistant_ytosv_191{background:var(--surface-layer);color:var(--text-primary);width:fit-content;max-width:100%}._messageBubbleSystem_ytosv_198{background:var(--surface-layer);color:var(--text-secondary);font-size:var(--font-size-14);text-align:center;border-radius:var(--chat-bubble-radius);padding:var(--spacing-2) var(--spacing-3)}._messageAttachments_ytosv_207{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-2)}._messageUser_ytosv_124 ._messageAttachments_ytosv_207{justify-content:flex-end}._messageFooter_ytosv_218{display:flex;align-items:center;gap:var(--spacing-2);padding:0 var(--spacing-1)}._messageUser_ytosv_124 ._messageFooter_ytosv_218{justify-content:flex-end}._messageTimestamp_ytosv_229{font-size:var(--font-size-12);color:var(--text-tertiary)}._messageStatus_ytosv_234{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-12);color:var(--text-tertiary)}._messageStatusError_ytosv_242{color:var(--status-error)}._messageActions_ytosv_246{display:flex;align-items:center;gap:var(--spacing-1);opacity:0;transition:opacity var(--transition-fast)}._message_ytosv_73:hover ._messageActions_ytosv_246{opacity:1}._streamingCursor_ytosv_259{display:inline-block;width:var(--spacing-05);height:1.1em;background:currentColor;margin-left:var(--spacing-05);border-radius:1px;vertical-align:text-bottom;animation:_cursorPulse_ytosv_1 1.2s ease-in-out infinite}@keyframes _cursorPulse_ytosv_1{0%,to{opacity:1}50%{opacity:.15}}._thinkingBubble_ytosv_288{display:flex;align-items:center;justify-content:center;min-height:40px;min-width:56px}._thinkingSpinner_ytosv_296{display:block;width:20px;height:20px;border-radius:var(--radius-full);background:conic-gradient(from 0deg,transparent 0%,transparent 10%,var(--text-tertiary) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),var(--text-primary) calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),var(--text-primary) calc(100% - 2px));animation:_thinkingSpin_ytosv_296 1.2s linear infinite}@keyframes _thinkingSpin_ytosv_296{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){._thinkingSpinner_ytosv_296{animation:none;background:none;-webkit-mask:none;mask:none;border:2px solid var(--border-subtle);border-top-color:var(--text-tertiary)}}._inputContainer_ytosv_341{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-10) var(--spacing-4) var(--spacing-4);background:linear-gradient(to bottom,transparent 0%,var(--surface-base) 50%);pointer-events:none;z-index:var(--z-dropdown)}._inputWrapper_ytosv_356{display:flex;flex-direction:column;gap:var(--spacing-2);max-width:var(--chat-max-width);margin:0 auto;pointer-events:auto}._inputBox_ytosv_365{display:flex;align-items:flex-end;gap:var(--spacing-2);background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--spacing-3) var(--spacing-4);box-shadow:var(--shadow-card-sm);transition:all var(--transition-fast)}._inputBox_ytosv_365:focus-within{border-color:var(--interactive-primary);box-shadow:var(--shadow-md)}._inputActions_ytosv_382{display:flex;align-items:center;gap:var(--spacing-1);flex-shrink:0}._inputTextarea_ytosv_389{flex:1;min-height:var(--chat-textarea-min-height);max-height:var(--chat-textarea-max-height);padding:var(--spacing-1) 0;background:transparent;border:none;outline:none;font-family:var(--font-secondary);font-size:var(--font-size-16);color:var(--text-primary);line-height:var(--line-height-relaxed);resize:none;overflow-y:auto}._inputTextarea_ytosv_389::placeholder{color:var(--text-tertiary)}._inputSendButton_ytosv_409{flex-shrink:0}._inputButton_ytosv_413{display:flex;align-items:center;justify-content:center;width:var(--size-avatar-md);height:var(--size-avatar-md);padding:0;background:transparent;border:none;border-radius:var(--radius-control);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}._inputButton_ytosv_413:hover:not(:disabled){background:var(--surface-layer);color:var(--text-primary)}._inputButton_ytosv_413:disabled{opacity:.5;cursor:not-allowed}._inputButtonPrimary_ytosv_438{background:var(--interactive-primary);color:var(--interactive-primary-text);border-radius:var(--radius-full)}._inputButtonPrimary_ytosv_438:hover:not(:disabled){background:var(--interactive-primary-hover);color:var(--interactive-primary-text)}._pendingAttachments_ytosv_450{display:flex;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--surface-subtle);border-radius:var(--chat-bubble-radius)}._pendingAttachment_ytosv_450{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--chat-bubble-radius);font-size:var(--font-size-14);color:var(--text-primary)}._pendingAttachmentRemove_ytosv_471{display:flex;align-items:center;justify-content:center;width:var(--size-icon-md);height:var(--size-icon-md);padding:0;background:transparent;border:none;border-radius:var(--radius-full);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}._pendingAttachmentRemove_ytosv_471:hover{background:var(--surface-subtle);color:var(--status-error)}._codeBlock_ytosv_495{position:relative;margin:var(--spacing-2) 0;border-radius:var(--chat-bubble-radius);overflow:hidden;background:var(--surface-sunken)}._codeBlockHeader_ytosv_503{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3);background:var(--surface-layer);border-bottom:1px solid var(--border-subtle)}._codeBlockLanguage_ytosv_512{font-size:var(--font-size-12);font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase}._codeBlockCopy_ytosv_519{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-12);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}._codeBlockCopy_ytosv_519:hover{background:var(--surface-subtle);color:var(--text-primary)}._codeBlockCopied_ytosv_538{color:var(--status-success)}._codeBlockContent_ytosv_542{overflow-x:auto;padding:var(--spacing-3);font-family:var(--font-mono);font-size:var(--font-size-14);line-height:var(--line-height-relaxed)}._markdown_ytosv_554{font-family:var(--font-secondary);font-size:var(--font-size-16);line-height:var(--line-height-relaxed);color:inherit}._markdown_ytosv_554 p{margin:0 0 var(--spacing-2)}._markdown_ytosv_554 p:last-child{margin-bottom:0}._markdown_ytosv_554 strong{font-weight:var(--font-weight-semibold)}._markdown_ytosv_554 em{font-style:italic}._markdown_ytosv_554 a{color:var(--text-brand);text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color var(--transition-fast)}._markdown_ytosv_554 a:hover{text-decoration-color:currentColor}._markdown_ytosv_554 ul,._markdown_ytosv_554 ol{margin:var(--spacing-2) 0;padding-left:var(--spacing-6)}._markdown_ytosv_554 li{margin:var(--spacing-1) 0}._markdown_ytosv_554 h1,._markdown_ytosv_554 h2,._markdown_ytosv_554 h3,._markdown_ytosv_554 h4,._markdown_ytosv_554 h5,._markdown_ytosv_554 h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:var(--spacing-4) 0 var(--spacing-2)}._markdown_ytosv_554 h1:first-child,._markdown_ytosv_554 h2:first-child,._markdown_ytosv_554 h3:first-child{margin-top:0}._markdown_ytosv_554 h1{font-size:var(--font-size-24)}._markdown_ytosv_554 h2{font-size:var(--font-size-20)}._markdown_ytosv_554 h3{font-size:var(--font-size-18)}._markdown_ytosv_554 h4{font-size:var(--font-size-16)}._markdown_ytosv_554 blockquote{margin:var(--spacing-3) 0;padding:var(--spacing-2) var(--spacing-4);border-left:3px solid var(--border-strong);background:var(--surface-layer);color:var(--text-secondary)}._markdown_ytosv_554 hr{margin:var(--spacing-4) 0;border:none;border-top:1px solid var(--border-subtle)}._markdown_ytosv_554 table{width:100%;margin:var(--spacing-3) 0;border-collapse:collapse;font-size:var(--font-size-14)}._markdown_ytosv_554 th,._markdown_ytosv_554 td{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-subtle);text-align:left}._markdown_ytosv_554 th{background:var(--surface-layer);font-weight:var(--font-weight-medium)}._markdown_ytosv_554 code{padding:var(--spacing-05) var(--spacing-2);background:var(--surface-layer);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em}._markdown_ytosv_554 pre{margin:var(--spacing-3) 0;padding:0;background:transparent;border-radius:var(--radius-sm);overflow:hidden}._markdown_ytosv_554 pre code{padding:0;background:transparent;border-radius:0}._markdownUser_ytosv_684 a{color:inherit;opacity:.9}._markdownUser_ytosv_684 code{background:var(--overlay-light)}._imagePreview_ytosv_698{position:relative;border-radius:var(--chat-bubble-radius);overflow:hidden;cursor:pointer;transition:transform var(--transition-fast)}._imagePreview_ytosv_698:hover{transform:scale(1.02)}._imagePreviewImg_ytosv_710{display:block;max-width:var(--chat-image-max-width);max-height:var(--chat-image-max-height);width:auto;height:auto;object-fit:cover;border-radius:var(--chat-bubble-radius)}._audioPlayer_ytosv_721{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--surface-layer);border-radius:var(--chat-bubble-radius);min-width:200px}._audioPlayerButton_ytosv_731{display:flex;align-items:center;justify-content:center;width:var(--size-avatar-sm);height:var(--size-avatar-sm);padding:0;background:var(--interactive-primary);border:none;border-radius:var(--radius-full);color:var(--interactive-primary-text);cursor:pointer;transition:all var(--transition-fast)}._audioPlayerButton_ytosv_731:hover{background:var(--interactive-primary-hover)}._audioPlayerProgress_ytosv_750{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1)}._audioPlayerTrack_ytosv_757{height:4px;background:var(--surface-subtle);border-radius:var(--radius-full);overflow:hidden}._audioPlayerFill_ytosv_764{height:100%;background:var(--interactive-primary);transition:width .1s linear}._audioPlayerTime_ytosv_770{display:flex;justify-content:space-between;font-size:var(--font-size-12);color:var(--text-tertiary);font-family:var(--font-mono)}._voiceRecorder_ytosv_779{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:var(--surface-layer);border-radius:var(--chat-bubble-radius)}._voiceRecorderButton_ytosv_788{display:flex;align-items:center;justify-content:center;width:var(--size-avatar-lg);height:var(--size-avatar-lg);padding:0;background:var(--status-error);border:none;border-radius:var(--radius-full);color:var(--color-neutral-0);cursor:pointer;transition:all var(--transition-fast)}._voiceRecorderButton_ytosv_788:hover{opacity:.9}._voiceRecorderButtonIdle_ytosv_807{background:var(--interactive-primary)}._voiceRecorderInfo_ytosv_811{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1)}._voiceRecorderDuration_ytosv_818{font-size:var(--font-size-18);font-family:var(--font-mono);color:var(--text-primary)}._voiceRecorderLabel_ytosv_824{font-size:var(--font-size-14);color:var(--text-secondary)}._voiceRecorderWaveform_ytosv_829{display:flex;align-items:center;gap:var(--spacing-05);height:32px}._voiceRecorderBar_ytosv_836{width:3px;background:var(--status-error);border-radius:var(--radius-full);animation:_waveform_ytosv_1 .5s ease-in-out infinite}._voiceRecorderBar_ytosv_836:nth-child(2){animation-delay:.1s}._voiceRecorderBar_ytosv_836:nth-child(3){animation-delay:.2s}._voiceRecorderBar_ytosv_836:nth-child(4){animation-delay:.3s}._voiceRecorderBar_ytosv_836:nth-child(5){animation-delay:.4s}@keyframes _waveform_ytosv_1{0%,to{height:8px}50%{height:24px}}._voiceRecorderActions_ytosv_866{display:flex;gap:var(--spacing-2)}._fileUpload_ytosv_872{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-6);border:2px dashed var(--border-default);border-radius:var(--radius-container);background:var(--surface-subtle);cursor:pointer;transition:all var(--transition-fast)}._fileUpload_ytosv_872:hover{border-color:var(--interactive-primary);background:var(--surface-layer)}._fileUploadDragging_ytosv_890{border-color:var(--interactive-primary);background:var(--interactive-primary-subtle)}._fileUploadIcon_ytosv_895{color:var(--text-tertiary);margin-bottom:var(--spacing-2)}._fileUploadText_ytosv_900{font-size:var(--font-size-14);color:var(--text-secondary);text-align:center}._fileUploadHint_ytosv_906{font-size:var(--font-size-12);color:var(--text-tertiary);margin-top:var(--spacing-1)}._attachmentPreview_ytosv_913{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);background:var(--surface-layer);border:1px solid var(--border-subtle);border-radius:var(--chat-bubble-radius);cursor:pointer;transition:all var(--transition-fast)}._attachmentPreview_ytosv_913:hover{border-color:var(--border-default)}._attachmentPreviewIcon_ytosv_929{display:flex;align-items:center;justify-content:center;width:var(--size-avatar-sm);height:var(--size-avatar-sm);background:var(--surface-subtle);border-radius:var(--radius-sm);color:var(--text-secondary)}._attachmentPreviewInfo_ytosv_940{flex:1;min-width:0}._attachmentPreviewName_ytosv_945{font-size:var(--font-size-14);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._attachmentPreviewMeta_ytosv_953{font-size:var(--font-size-12);color:var(--text-tertiary)}._attachmentPreviewRemove_ytosv_958{display:flex;align-items:center;justify-content:center;width:var(--size-icon-lg);height:var(--size-icon-lg);padding:0;background:transparent;border:none;border-radius:var(--radius-full);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}._attachmentPreviewRemove_ytosv_958:hover{background:var(--surface-subtle);color:var(--status-error)}._lightbox_ytosv_982{position:fixed;inset:0;z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);background:var(--overlay-dark-heavy);animation:_lightboxIn_ytosv_1 .2s ease-out}@keyframes _lightboxIn_ytosv_1{0%{opacity:0}to{opacity:1}}._lightboxImage_ytosv_1003{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm)}._lightboxClose_ytosv_1010{position:absolute;top:var(--spacing-4);right:var(--spacing-4);display:flex;align-items:center;justify-content:center;width:var(--size-avatar-md);height:var(--size-avatar-md);padding:0;background:var(--overlay-light-subtle);border:none;border-radius:var(--radius-full);color:var(--color-neutral-0);cursor:pointer;transition:all var(--transition-fast)}._lightboxClose_ytosv_1010:hover{background:var(--overlay-light)}._sidebar_ytosv_1036{display:flex;flex-direction:column;width:var(--size-sidebar-width);flex-shrink:0;height:100%;background:var(--surface-sunken);border-right:1px solid var(--border-subtle);overflow:hidden}._sidebarHeader_ytosv_1047{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--border-subtle)}._sidebarNewButton_ytosv_1055{flex:1}._sidebarSearch_ytosv_1059{padding:var(--spacing-2) var(--spacing-4)}._sidebarSearchInput_ytosv_1063{width:100%;padding:var(--spacing-2) var(--spacing-3);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--font-size-14);color:var(--text-primary);outline:none;transition:all var(--transition-fast)}._sidebarSearchInput_ytosv_1063::placeholder{color:var(--text-tertiary)}._sidebarSearchInput_ytosv_1063:focus{border-color:var(--interactive-primary)}._sidebarList_ytosv_1083{flex:1;overflow-y:auto;padding:var(--spacing-2)}._sidebarItem_ytosv_1089{display:flex;align-items:flex-start;gap:var(--spacing-3);width:100%;padding:var(--spacing-3);background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:all var(--transition-fast)}._sidebarItem_ytosv_1089:hover,._sidebarItemActive_ytosv_1107{background:var(--surface-base)}._sidebarItemContent_ytosv_1111{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}._sidebarItemTitle_ytosv_1119{display:block;font-size:var(--font-size-14);font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:var(--line-height-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._sidebarItemPreview_ytosv_1130{display:block;font-size:var(--font-size-12);color:var(--text-tertiary);line-height:var(--line-height-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._sidebarItemDelete_ytosv_1140{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--size-icon-lg);height:var(--size-icon-lg);padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all var(--transition-fast)}._sidebarItem_ytosv_1089:hover ._sidebarItemDelete_ytosv_1140{opacity:1}._sidebarItemDelete_ytosv_1140:hover{background:var(--surface-subtle);color:var(--status-error)}._sidebarFooter_ytosv_1166{padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--border-subtle)}._sidebarEmpty_ytosv_1171{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);color:var(--text-tertiary);text-align:center}._sidebarEmptyIcon_ytosv_1181{margin-bottom:var(--spacing-2)}._sidebarGroupHeader_ytosv_1186{padding:var(--spacing-2) var(--spacing-3);margin-top:var(--spacing-3);font-size:var(--font-size-10);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}._sidebarGroupHeader_ytosv_1186:first-child{margin-top:0}._sidebarCollapsed_ytosv_1201{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);z-index:var(--z-sticky);box-shadow:var(--shadow-lg)}._sidebarCollapsed_ytosv_1201._sidebarOpen_ytosv_1211{transform:translate(0)}._section_ytosv_1219{display:flex;height:100%;background:var(--surface-base);overflow:hidden}._sectionMain_ytosv_1226{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}._pageTemplate_ytosv_1239{display:flex;height:100vh;background:var(--surface-base);overflow:hidden}._pageTemplateHeader_ytosv_1246{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);background:var(--surface-base);border-bottom:1px solid var(--border-subtle)}._pageTemplateLogo_ytosv_1255{display:flex;align-items:center;gap:var(--spacing-2);font-weight:var(--font-weight-semibold);color:var(--text-primary)}._pageTemplateUser_ytosv_1263{display:flex;align-items:center;gap:var(--spacing-2)}._scrollToBottomWrapper_ytosv_1273{position:sticky;bottom:var(--spacing-20);display:flex;justify-content:center;pointer-events:none;z-index:var(--z-dropdown)}._scrollToBottomButton_ytosv_1282{pointer-events:auto;box-shadow:var(--shadow-md)}@keyframes _spin_ytosv_1{to{transform:rotate(360deg)}}._inputSpinner_ytosv_1297{display:inline-block;width:20px;height:20px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:_spin_ytosv_1 1s linear infinite}._pendingAttachmentSize_ytosv_1311{color:var(--text-tertiary)}._voiceRecorderError_ytosv_1319{color:var(--status-error)}._headerAvatarDefault_ytosv_1327{background:var(--surface-layer);color:var(--text-brand)}._sidebarOverlay_ytosv_1336{position:fixed;inset:0;background:var(--overlay-dark-heavy);z-index:var(--z-dropdown);display:none}._sidebarNewButtonInner_ytosv_1344{display:flex;align-items:center;gap:var(--spacing-2);width:100%;justify-content:center}._sidebarCloseButton_ytosv_1352{display:none}._sidebarSearchWrapper_ytosv_1356{position:relative}._sidebarSearchIcon_ytosv_1360{position:absolute;left:var(--spacing-3);top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}._sidebarSearchInputWithIcon_ytosv_1369{padding-left:var(--spacing-8)}._sidebarItemIcon_ytosv_1373{flex-shrink:0;color:var(--text-tertiary);margin-top:2px}._sidebarItemDate_ytosv_1379{font-size:var(--font-size-12);color:var(--text-tertiary);flex-shrink:0;margin-top:2px;white-space:nowrap}._sidebarItemDeleteConfirm_ytosv_1388{font-size:var(--font-size-12);color:var(--status-error);font-weight:var(--font-weight-medium)}._messageRetry_ytosv_1398{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);margin-left:var(--spacing-2);background:transparent;border:1px solid var(--status-error);border-radius:var(--radius-sm);color:var(--status-error);font-size:var(--font-size-12);cursor:pointer;transition:all var(--transition-fast)}._messageRetry_ytosv_1398:hover{background:var(--status-error);color:var(--color-neutral-0)}._messageReactions_ytosv_1422{display:flex;align-items:center;gap:var(--spacing-1);opacity:0;transition:opacity var(--transition-fast)}._message_ytosv_73:hover ._messageReactions_ytosv_1422{opacity:1}._messageReactionButton_ytosv_1434{display:flex;align-items:center;justify-content:center;width:var(--size-icon-lg);height:var(--size-icon-lg);padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}._messageReactionButton_ytosv_1434:hover{background:var(--surface-layer);color:var(--text-primary)}._messageReactionActive_ytosv_1454{color:var(--interactive-primary);opacity:1}._messageReactionsVisible_ytosv_1460{opacity:1}._emptyState_ytosv_1468{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-4);color:var(--text-tertiary);text-align:center;padding:var(--spacing-8)}._emptyStateIcon_ytosv_1480{width:64px;height:64px;border-radius:var(--radius-full);background:var(--surface-subtle);display:flex;align-items:center;justify-content:center}._emptyStateTitle_ytosv_1490{font-size:var(--font-size-20);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-2)}._emptyStateText_ytosv_1497{font-size:var(--font-size-14)}._pageTemplateSidebarHeader_ytosv_1505{display:flex;align-items:center;gap:var(--spacing-2);width:100%}._pageTemplateSidebarHeaderLogo_ytosv_1512{flex:1}._pageTemplateSidebarHeaderLogoText_ytosv_1516{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-18)}._pageTemplateUserButton_ytosv_1526{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}._pageTemplateUserButtonActive_ytosv_1539{background:var(--surface-base)}._pageTemplateUserAvatar_ytosv_1543{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover}._pageTemplateUserAvatarFallback_ytosv_1550{width:32px;height:32px;border-radius:var(--radius-full);background:var(--interactive-primary);color:var(--interactive-primary-text);display:flex;align-items:center;justify-content:center}._pageTemplateUserName_ytosv_1561{flex:1;text-align:left;color:var(--text-primary);font-weight:var(--font-weight-medium)}._pageTemplateUserMenu_ytosv_1572{position:absolute;bottom:100%;left:0;right:0;margin-bottom:var(--spacing-2);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);overflow:hidden}._pageTemplateMenuItem_ytosv_1585{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);background:transparent;border:none;color:var(--text-primary);cursor:pointer;text-align:left;font-size:var(--font-size-14);transition:background var(--transition-fast)}._pageTemplateMenuItem_ytosv_1585:hover{background:var(--surface-subtle)}._pageTemplateMenuItemDanger_ytosv_1604{color:var(--status-error)}._pageTemplateMenuItemDanger_ytosv_1604:hover{background:var(--surface-subtle)}._pageTemplateMenuOverlay_ytosv_1613{position:fixed;inset:0;z-index:var(--z-dropdown)}@media(max-width:768px){._sidebar_ytosv_1036{position:fixed;left:0;top:0;bottom:0;z-index:var(--z-sticky);transform:translate(-100%);transition:transform var(--transition-smooth);box-shadow:var(--shadow-lg)}._sidebar_ytosv_1036._sidebarOpen_ytosv_1211{transform:translate(0)}._sidebarOverlay_ytosv_1336{display:block}._sidebarCloseButton_ytosv_1352{display:flex}._messages_ytosv_73{padding:var(--spacing-3);padding-bottom:var(--spacing-24)}._inputContainer_ytosv_341{padding:var(--spacing-8) var(--spacing-3) var(--spacing-3)}._messageAvatar_ytosv_144{width:var(--size-avatar-sm);height:var(--size-avatar-sm)}._messageBubble_ytosv_176{padding:var(--spacing-2) var(--spacing-3)}._messageUser_ytosv_124 ._messageContent_ytosv_129{max-width:85%}._messageAssistant_ytosv_128 ._messageContent_ytosv_129{max-width:100%}._imagePreviewImg_ytosv_710{max-width:var(--chat-image-max-width-mobile);max-height:var(--chat-image-max-height-mobile)}._section_ytosv_1219>._sidebar_ytosv_1036{position:fixed;left:0;top:0;bottom:0;z-index:var(--z-sticky);transform:translate(-100%);transition:transform var(--transition-smooth);box-shadow:var(--shadow-lg)}._section_ytosv_1219>._sidebar_ytosv_1036._sidebarOpen_ytosv_1211{transform:translate(0)}._sectionMobileMenuButton_ytosv_1694{display:flex!important}._pageTemplate_ytosv_1239>._sidebar_ytosv_1036{position:fixed;left:0;top:0;bottom:0;z-index:var(--z-sticky);transform:translate(-100%);transition:transform var(--transition-smooth);box-shadow:var(--shadow-lg)}._pageTemplate_ytosv_1239>._sidebar_ytosv_1036:not(._sidebarCollapsed_ytosv_1201){transform:translate(0)}}@media(min-width:769px){._sectionMobileMenuButton_ytosv_1694{display:none!important}}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_chat_ytosv_12",t="_header_ytosv_28",s="_headerAvatar_ytosv_38",o="_headerContent_ytosv_42",a="_headerTitle_ytosv_47",r="_headerSubtitle_ytosv_55",n="_headerActions_ytosv_62",i="_messages_ytosv_73",c="_messagesInner_ytosv_86",_="_message_ytosv_73",d="_messageUser_ytosv_124",m="_messageAssistant_ytosv_128",v="_messageContent_ytosv_129",l="_messageAvatar_ytosv_144",g="_messageAvatarUser_ytosv_158",b="_messageAvatarAssistant_ytosv_163",y="_messageBubble_ytosv_176",u="_messageBubbleUser_ytosv_183",p="_messageBubbleAssistant_ytosv_191",h="_messageBubbleSystem_ytosv_198",B="_messageAttachments_ytosv_207",I="_messageFooter_ytosv_218",A="_messageTimestamp_ytosv_229",P="_messageStatus_ytosv_234",R="_messageStatusError_ytosv_242",w="_messageActions_ytosv_246",S="_streamingCursor_ytosv_259",C="_thinkingBubble_ytosv_288",k="_thinkingSpinner_ytosv_296",f="_inputContainer_ytosv_341",T="_inputWrapper_ytosv_356",U="_inputBox_ytosv_365",x="_inputActions_ytosv_382",D="_inputTextarea_ytosv_389",W="_inputButton_ytosv_413",E="_inputButtonPrimary_ytosv_438",H="_pendingAttachments_ytosv_450",F="_pendingAttachment_ytosv_450",L="_pendingAttachmentRemove_ytosv_471",N="_codeBlock_ytosv_495",O="_codeBlockHeader_ytosv_503",M="_codeBlockLanguage_ytosv_512",z="_codeBlockCopy_ytosv_519",G="_codeBlockCopied_ytosv_538",V="_codeBlockContent_ytosv_542",j="_markdown_ytosv_554",q="_markdownUser_ytosv_684",J="_imagePreview_ytosv_698",K="_imagePreviewImg_ytosv_710",Q="_audioPlayer_ytosv_721",X="_audioPlayerButton_ytosv_731",Y="_audioPlayerProgress_ytosv_750",Z="_audioPlayerTrack_ytosv_757",$="_audioPlayerFill_ytosv_764",ee="_audioPlayerTime_ytosv_770",te="_voiceRecorder_ytosv_779",se="_voiceRecorderButton_ytosv_788",oe="_voiceRecorderButtonIdle_ytosv_807",ae="_voiceRecorderInfo_ytosv_811",re="_voiceRecorderDuration_ytosv_818",ne="_voiceRecorderLabel_ytosv_824",ie="_voiceRecorderWaveform_ytosv_829",ce="_voiceRecorderBar_ytosv_836",_e="_voiceRecorderActions_ytosv_866",de="_fileUpload_ytosv_872",me="_fileUploadDragging_ytosv_890",ve="_fileUploadIcon_ytosv_895",le="_fileUploadText_ytosv_900",ge="_fileUploadHint_ytosv_906",be="_attachmentPreview_ytosv_913",ye="_attachmentPreviewIcon_ytosv_929",ue="_attachmentPreviewInfo_ytosv_940",pe="_attachmentPreviewName_ytosv_945",he="_attachmentPreviewMeta_ytosv_953",Be="_attachmentPreviewRemove_ytosv_958",Ie="_lightbox_ytosv_982",Ae="_lightboxImage_ytosv_1003",Pe="_lightboxClose_ytosv_1010",Re="_sidebar_ytosv_1036",we="_sidebarHeader_ytosv_1047",Se="_sidebarNewButton_ytosv_1055",Ce="_sidebarSearch_ytosv_1059",ke="_sidebarSearchInput_ytosv_1063",fe="_sidebarList_ytosv_1083",Te="_sidebarItem_ytosv_1089",Ue="_sidebarItemActive_ytosv_1107",xe="_sidebarItemContent_ytosv_1111",De="_sidebarItemTitle_ytosv_1119",We="_sidebarItemPreview_ytosv_1130",Ee="_sidebarItemDelete_ytosv_1140",He="_sidebarFooter_ytosv_1166",Fe="_sidebarEmpty_ytosv_1171",Le="_sidebarEmptyIcon_ytosv_1181",Ne="_sidebarGroupHeader_ytosv_1186",Oe="_sidebarCollapsed_ytosv_1201",Me="_sidebarOpen_ytosv_1211",ze="_scrollToBottomWrapper_ytosv_1273",Ge="_scrollToBottomButton_ytosv_1282",Ve="_inputSpinner_ytosv_1297",je="_pendingAttachmentSize_ytosv_1311",qe="_voiceRecorderError_ytosv_1319",Je="_headerAvatarDefault_ytosv_1327",Ke="_sidebarOverlay_ytosv_1336",Qe="_sidebarNewButtonInner_ytosv_1344",Xe="_sidebarCloseButton_ytosv_1352",Ye="_sidebarSearchWrapper_ytosv_1356",Ze="_sidebarSearchIcon_ytosv_1360",$e="_sidebarSearchInputWithIcon_ytosv_1369",et="_sidebarItemIcon_ytosv_1373",tt="_sidebarItemDate_ytosv_1379",st="_sidebarItemDeleteConfirm_ytosv_1388",ot="_messageRetry_ytosv_1398",at="_messageReactions_ytosv_1422",rt="_messageReactionButton_ytosv_1434",nt="_messageReactionActive_ytosv_1454",it="_messageReactionsVisible_ytosv_1460",ct={chat:e,header:t,headerAvatar:s,headerContent:o,headerTitle:a,headerSubtitle:r,headerActions:n,messages:i,messagesInner:c,message:_,messageUser:d,messageAssistant:m,messageContent:v,messageAvatar:l,messageAvatarUser:g,messageAvatarAssistant:b,messageBubble:y,messageBubbleUser:u,messageBubbleAssistant:p,messageBubbleSystem:h,messageAttachments:B,messageFooter:I,messageTimestamp:A,messageStatus:P,messageStatusError:R,messageActions:w,streamingCursor:S,thinkingBubble:C,thinkingSpinner:k,inputContainer:f,inputWrapper:T,inputBox:U,inputActions:x,inputTextarea:D,inputButton:W,inputButtonPrimary:E,pendingAttachments:H,pendingAttachment:F,pendingAttachmentRemove:L,codeBlock:N,codeBlockHeader:O,codeBlockLanguage:M,codeBlockCopy:z,codeBlockCopied:G,codeBlockContent:V,markdown:j,markdownUser:q,imagePreview:J,imagePreviewImg:K,audioPlayer:Q,audioPlayerButton:X,audioPlayerProgress:Y,audioPlayerTrack:Z,audioPlayerFill:$,audioPlayerTime:ee,voiceRecorder:te,voiceRecorderButton:se,voiceRecorderButtonIdle:oe,voiceRecorderInfo:ae,voiceRecorderDuration:re,voiceRecorderLabel:ne,voiceRecorderWaveform:ie,voiceRecorderBar:ce,voiceRecorderActions:_e,fileUpload:de,fileUploadDragging:me,fileUploadIcon:ve,fileUploadText:le,fileUploadHint:ge,attachmentPreview:be,attachmentPreviewIcon:ye,attachmentPreviewInfo:ue,attachmentPreviewName:pe,attachmentPreviewMeta:he,attachmentPreviewRemove:Be,lightbox:Ie,lightboxImage:Ae,lightboxClose:Pe,sidebar:Re,sidebarHeader:we,sidebarNewButton:Se,sidebarSearch:Ce,sidebarSearchInput:ke,sidebarList:fe,sidebarItem:Te,sidebarItemActive:Ue,sidebarItemContent:xe,sidebarItemTitle:De,sidebarItemPreview:We,sidebarItemDelete:Ee,sidebarFooter:He,sidebarEmpty:Fe,sidebarEmptyIcon:Le,sidebarGroupHeader:Ne,sidebarCollapsed:Oe,sidebarOpen:Me,scrollToBottomWrapper:ze,scrollToBottomButton:Ge,inputSpinner:Ve,pendingAttachmentSize:je,voiceRecorderError:qe,headerAvatarDefault:Je,sidebarOverlay:Ke,sidebarNewButtonInner:Qe,sidebarCloseButton:Xe,sidebarSearchWrapper:Ye,sidebarSearchIcon:Ze,sidebarSearchInputWithIcon:$e,sidebarItemIcon:et,sidebarItemDate:tt,sidebarItemDeleteConfirm:st,messageRetry:ot,messageReactions:at,messageReactionButton:rt,messageReactionActive:nt,messageReactionsVisible:it};exports.attachmentPreview=be;exports.attachmentPreviewIcon=ye;exports.attachmentPreviewInfo=ue;exports.attachmentPreviewMeta=he;exports.attachmentPreviewName=pe;exports.attachmentPreviewRemove=Be;exports.audioPlayer=Q;exports.audioPlayerButton=X;exports.audioPlayerFill=$;exports.audioPlayerProgress=Y;exports.audioPlayerTime=ee;exports.audioPlayerTrack=Z;exports.chat=e;exports.codeBlock=N;exports.codeBlockContent=V;exports.codeBlockCopied=G;exports.codeBlockCopy=z;exports.codeBlockHeader=O;exports.codeBlockLanguage=M;exports.default=ct;exports.fileUpload=de;exports.fileUploadDragging=me;exports.fileUploadHint=ge;exports.fileUploadIcon=ve;exports.fileUploadText=le;exports.header=t;exports.headerActions=n;exports.headerAvatar=s;exports.headerAvatarDefault=Je;exports.headerContent=o;exports.headerSubtitle=r;exports.headerTitle=a;exports.imagePreview=J;exports.imagePreviewImg=K;exports.inputActions=x;exports.inputBox=U;exports.inputButton=W;exports.inputButtonPrimary=E;exports.inputContainer=f;exports.inputSpinner=Ve;exports.inputTextarea=D;exports.inputWrapper=T;exports.lightbox=Ie;exports.lightboxClose=Pe;exports.lightboxImage=Ae;exports.markdown=j;exports.markdownUser=q;exports.message=_;exports.messageActions=w;exports.messageAssistant=m;exports.messageAttachments=B;exports.messageAvatar=l;exports.messageAvatarAssistant=b;exports.messageAvatarUser=g;exports.messageBubble=y;exports.messageBubbleAssistant=p;exports.messageBubbleSystem=h;exports.messageBubbleUser=u;exports.messageContent=v;exports.messageFooter=I;exports.messageReactionActive=nt;exports.messageReactionButton=rt;exports.messageReactions=at;exports.messageReactionsVisible=it;exports.messageRetry=ot;exports.messageStatus=P;exports.messageStatusError=R;exports.messageTimestamp=A;exports.messageUser=d;exports.messages=i;exports.messagesInner=c;exports.pendingAttachment=F;exports.pendingAttachmentRemove=L;exports.pendingAttachmentSize=je;exports.pendingAttachments=H;exports.scrollToBottomButton=Ge;exports.scrollToBottomWrapper=ze;exports.sidebar=Re;exports.sidebarCloseButton=Xe;exports.sidebarCollapsed=Oe;exports.sidebarEmpty=Fe;exports.sidebarEmptyIcon=Le;exports.sidebarFooter=He;exports.sidebarGroupHeader=Ne;exports.sidebarHeader=we;exports.sidebarItem=Te;exports.sidebarItemActive=Ue;exports.sidebarItemContent=xe;exports.sidebarItemDate=tt;exports.sidebarItemDelete=Ee;exports.sidebarItemDeleteConfirm=st;exports.sidebarItemIcon=et;exports.sidebarItemPreview=We;exports.sidebarItemTitle=De;exports.sidebarList=fe;exports.sidebarNewButton=Se;exports.sidebarNewButtonInner=Qe;exports.sidebarOpen=Me;exports.sidebarOverlay=Ke;exports.sidebarSearch=Ce;exports.sidebarSearchIcon=Ze;exports.sidebarSearchInput=ke;exports.sidebarSearchInputWithIcon=$e;exports.sidebarSearchWrapper=Ye;exports.streamingCursor=S;exports.thinkingBubble=C;exports.thinkingSpinner=k;exports.voiceRecorder=te;exports.voiceRecorderActions=_e;exports.voiceRecorderBar=ce;exports.voiceRecorderButton=se;exports.voiceRecorderButtonIdle=oe;exports.voiceRecorderDuration=re;exports.voiceRecorderError=qe;exports.voiceRecorderInfo=ae;exports.voiceRecorderLabel=ne;exports.voiceRecorderWaveform=ie;