@orion-ds/react 5.1.13 → 5.3.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 (145) hide show
  1. package/AI_COMPONENTS.md +9 -2
  2. package/README.md +1 -5
  3. package/dist/blocks/index.cjs +1 -1
  4. package/dist/blocks/index.mjs +50 -54
  5. package/dist/blocks/sections/index.d.ts +0 -2
  6. package/dist/blocks/sections/index.d.ts.map +1 -1
  7. package/dist/blocks/templates/index.cjs +1 -1
  8. package/dist/blocks/templates/index.d.ts +0 -5
  9. package/dist/blocks/templates/index.d.ts.map +1 -1
  10. package/dist/blocks/templates/index.mjs +12 -14
  11. package/dist/blocks.css +0 -4
  12. package/dist/client.d.ts +1 -2
  13. package/dist/client.d.ts.map +1 -1
  14. package/dist/components/ThemeController/ThemeController.cjs +1 -1
  15. package/dist/components/ThemeController/ThemeController.d.ts.map +1 -1
  16. package/dist/components/ThemeController/ThemeController.mjs +7 -7
  17. package/dist/components/index.d.ts +0 -3
  18. package/dist/components/index.d.ts.map +1 -1
  19. package/dist/hooks/useTheme.cjs +1 -1
  20. package/dist/hooks/useTheme.d.ts +1 -1
  21. package/dist/hooks/useTheme.d.ts.map +1 -1
  22. package/dist/hooks/useTheme.mjs +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/styles.css +0 -2
  25. package/dist/tokens/types.d.ts +64 -37
  26. package/dist/tokens/types.d.ts.map +1 -1
  27. package/dist/utils/fonts.cjs +1 -1
  28. package/dist/utils/fonts.d.ts.map +1 -1
  29. package/dist/utils/fonts.mjs +1 -0
  30. package/package.json +1 -6
  31. package/dist/blocks/sections/Chat/Chat.cjs +0 -1
  32. package/dist/blocks/sections/Chat/Chat.d.ts +0 -5
  33. package/dist/blocks/sections/Chat/Chat.d.ts.map +0 -1
  34. package/dist/blocks/sections/Chat/Chat.mjs +0 -93
  35. package/dist/blocks/sections/Chat/Chat.module.css +0 -1
  36. package/dist/blocks/sections/Chat/Chat.module.css.cjs +0 -1
  37. package/dist/blocks/sections/Chat/Chat.module.css.mjs +0 -47
  38. package/dist/blocks/sections/Chat/Chat.types.d.ts +0 -33
  39. package/dist/blocks/sections/Chat/Chat.types.d.ts.map +0 -1
  40. package/dist/blocks/sections/Chat/index.d.ts +0 -3
  41. package/dist/blocks/sections/Chat/index.d.ts.map +0 -1
  42. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.cjs +0 -1
  43. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.d.ts +0 -5
  44. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.d.ts.map +0 -1
  45. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.mjs +0 -192
  46. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.module.css +0 -1
  47. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.module.css.cjs +0 -1
  48. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.module.css.mjs +0 -81
  49. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.types.d.ts +0 -42
  50. package/dist/blocks/templates/app/ChatPageTemplate/ChatPageTemplate.types.d.ts.map +0 -1
  51. package/dist/blocks/templates/app/ChatPageTemplate/index.d.ts +0 -3
  52. package/dist/blocks/templates/app/ChatPageTemplate/index.d.ts.map +0 -1
  53. package/dist/components/Chat/Chat.cjs +0 -1
  54. package/dist/components/Chat/Chat.d.ts +0 -22
  55. package/dist/components/Chat/Chat.d.ts.map +0 -1
  56. package/dist/components/Chat/Chat.mjs +0 -56
  57. package/dist/components/Chat/Chat.module.css +0 -1
  58. package/dist/components/Chat/Chat.module.css.cjs +0 -1
  59. package/dist/components/Chat/Chat.module.css.mjs +0 -237
  60. package/dist/components/Chat/Chat.types.d.ts +0 -387
  61. package/dist/components/Chat/Chat.types.d.ts.map +0 -1
  62. package/dist/components/Chat/components/ChatAttachment.cjs +0 -1
  63. package/dist/components/Chat/components/ChatAttachment.d.ts +0 -5
  64. package/dist/components/Chat/components/ChatAttachment.d.ts.map +0 -1
  65. package/dist/components/Chat/components/ChatAttachment.mjs +0 -125
  66. package/dist/components/Chat/components/ChatAudioPlayer.cjs +0 -1
  67. package/dist/components/Chat/components/ChatAudioPlayer.d.ts +0 -5
  68. package/dist/components/Chat/components/ChatAudioPlayer.d.ts.map +0 -1
  69. package/dist/components/Chat/components/ChatAudioPlayer.mjs +0 -127
  70. package/dist/components/Chat/components/ChatCodeBlock.cjs +0 -1
  71. package/dist/components/Chat/components/ChatCodeBlock.d.ts +0 -5
  72. package/dist/components/Chat/components/ChatCodeBlock.d.ts.map +0 -1
  73. package/dist/components/Chat/components/ChatCodeBlock.mjs +0 -93
  74. package/dist/components/Chat/components/ChatFileUpload.cjs +0 -1
  75. package/dist/components/Chat/components/ChatFileUpload.d.ts +0 -5
  76. package/dist/components/Chat/components/ChatFileUpload.d.ts.map +0 -1
  77. package/dist/components/Chat/components/ChatFileUpload.mjs +0 -114
  78. package/dist/components/Chat/components/ChatHeader.cjs +0 -1
  79. package/dist/components/Chat/components/ChatHeader.d.ts +0 -5
  80. package/dist/components/Chat/components/ChatHeader.d.ts.map +0 -1
  81. package/dist/components/Chat/components/ChatHeader.mjs +0 -36
  82. package/dist/components/Chat/components/ChatImagePreview.cjs +0 -1
  83. package/dist/components/Chat/components/ChatImagePreview.d.ts +0 -5
  84. package/dist/components/Chat/components/ChatImagePreview.d.ts.map +0 -1
  85. package/dist/components/Chat/components/ChatImagePreview.mjs +0 -69
  86. package/dist/components/Chat/components/ChatInput.cjs +0 -1
  87. package/dist/components/Chat/components/ChatInput.d.ts +0 -5
  88. package/dist/components/Chat/components/ChatInput.d.ts.map +0 -1
  89. package/dist/components/Chat/components/ChatInput.mjs +0 -188
  90. package/dist/components/Chat/components/ChatLightbox.cjs +0 -1
  91. package/dist/components/Chat/components/ChatLightbox.d.ts +0 -5
  92. package/dist/components/Chat/components/ChatLightbox.d.ts.map +0 -1
  93. package/dist/components/Chat/components/ChatLightbox.mjs +0 -57
  94. package/dist/components/Chat/components/ChatMarkdown.cjs +0 -1
  95. package/dist/components/Chat/components/ChatMarkdown.d.ts +0 -5
  96. package/dist/components/Chat/components/ChatMarkdown.d.ts.map +0 -1
  97. package/dist/components/Chat/components/ChatMarkdown.mjs +0 -70
  98. package/dist/components/Chat/components/ChatMessage.cjs +0 -1
  99. package/dist/components/Chat/components/ChatMessage.d.ts +0 -5
  100. package/dist/components/Chat/components/ChatMessage.d.ts.map +0 -1
  101. package/dist/components/Chat/components/ChatMessage.mjs +0 -173
  102. package/dist/components/Chat/components/ChatMessages.cjs +0 -1
  103. package/dist/components/Chat/components/ChatMessages.d.ts +0 -5
  104. package/dist/components/Chat/components/ChatMessages.d.ts.map +0 -1
  105. package/dist/components/Chat/components/ChatMessages.mjs +0 -46
  106. package/dist/components/Chat/components/ChatSidebar.cjs +0 -1
  107. package/dist/components/Chat/components/ChatSidebar.d.ts +0 -5
  108. package/dist/components/Chat/components/ChatSidebar.d.ts.map +0 -1
  109. package/dist/components/Chat/components/ChatSidebar.mjs +0 -217
  110. package/dist/components/Chat/components/ChatTypingIndicator.cjs +0 -1
  111. package/dist/components/Chat/components/ChatTypingIndicator.d.ts +0 -5
  112. package/dist/components/Chat/components/ChatTypingIndicator.d.ts.map +0 -1
  113. package/dist/components/Chat/components/ChatTypingIndicator.mjs +0 -31
  114. package/dist/components/Chat/components/ChatVoiceRecorder.cjs +0 -1
  115. package/dist/components/Chat/components/ChatVoiceRecorder.d.ts +0 -5
  116. package/dist/components/Chat/components/ChatVoiceRecorder.d.ts.map +0 -1
  117. package/dist/components/Chat/components/ChatVoiceRecorder.mjs +0 -111
  118. package/dist/components/Chat/components/index.d.ts +0 -18
  119. package/dist/components/Chat/components/index.d.ts.map +0 -1
  120. package/dist/components/Chat/hooks/index.d.ts +0 -12
  121. package/dist/components/Chat/hooks/index.d.ts.map +0 -1
  122. package/dist/components/Chat/hooks/useAutoScroll.cjs +0 -1
  123. package/dist/components/Chat/hooks/useAutoScroll.d.ts +0 -24
  124. package/dist/components/Chat/hooks/useAutoScroll.d.ts.map +0 -1
  125. package/dist/components/Chat/hooks/useAutoScroll.mjs +0 -50
  126. package/dist/components/Chat/hooks/useChatInput.cjs +0 -1
  127. package/dist/components/Chat/hooks/useChatInput.d.ts +0 -43
  128. package/dist/components/Chat/hooks/useChatInput.d.ts.map +0 -1
  129. package/dist/components/Chat/hooks/useChatInput.mjs +0 -44
  130. package/dist/components/Chat/hooks/useStreamingText.d.ts +0 -22
  131. package/dist/components/Chat/hooks/useStreamingText.d.ts.map +0 -1
  132. package/dist/components/Chat/hooks/useVoiceRecorder.cjs +0 -1
  133. package/dist/components/Chat/hooks/useVoiceRecorder.d.ts +0 -26
  134. package/dist/components/Chat/hooks/useVoiceRecorder.d.ts.map +0 -1
  135. package/dist/components/Chat/hooks/useVoiceRecorder.mjs +0 -74
  136. package/dist/components/Chat/index.d.ts +0 -28
  137. package/dist/components/Chat/index.d.ts.map +0 -1
  138. package/dist/components/Chat/utils.cjs +0 -1
  139. package/dist/components/Chat/utils.d.ts +0 -16
  140. package/dist/components/Chat/utils.d.ts.map +0 -1
  141. package/dist/components/Chat/utils.mjs +0 -12
  142. package/dist/rich.cjs +0 -1
  143. package/dist/rich.d.ts +0 -16
  144. package/dist/rich.d.ts.map +0 -1
  145. package/dist/rich.mjs +0 -4
@@ -1 +0,0 @@
1
- ._section_n9a63_1{display:flex;height:520px;background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-container);overflow:hidden}._sidebar_n9a63_10{width:240px;border-right:1px solid var(--border-subtle);background:var(--surface-subtle);display:flex;flex-direction:column;flex-shrink:0}._sidebarHeader_n9a63_19{padding:var(--spacing-4);border-bottom:1px solid var(--border-subtle);font-family:var(--font-secondary);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}._conversationList_n9a63_28{flex:1;overflow-y:auto}._conversationItem_n9a63_33{display:block;width:100%;padding:var(--spacing-3) var(--spacing-4);border:none;background:transparent;text-align:left;cursor:pointer;transition:background .15s ease;font-family:var(--font-secondary);font-size:var(--font-size-sm);color:var(--text-primary)}._conversationItem_n9a63_33:hover,._conversationItemActive_n9a63_51{background:var(--surface-layer)}._conversationTitle_n9a63_55{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._main_n9a63_63{flex:1;display:flex;flex-direction:column;min-width:0}._messages_n9a63_70{flex:1;overflow-y:auto;padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-4)}._message_n9a63_70{display:flex;gap:var(--spacing-3);max-width:80%}._messageUser_n9a63_85{align-self:flex-end;flex-direction:row-reverse}._messageAssistant_n9a63_90{align-self:flex-start}._messageSystem_n9a63_94{align-self:center;max-width:90%}._messageAvatar_n9a63_99{width:32px;height:32px;border-radius:var(--radius-full);background:var(--surface-layer);display:flex;align-items:center;justify-content:center;font-family:var(--font-secondary);font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);flex-shrink:0}._messageBubble_n9a63_114{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-container);font-family:var(--font-secondary);font-size:var(--font-size-base);line-height:1.5}._messageBubbleUser_n9a63_122{background:var(--interactive-primary);color:var(--interactive-primary-text)}._messageBubbleAssistant_n9a63_127{background:var(--surface-subtle);color:var(--text-primary)}._messageBubbleSystem_n9a63_132{background:var(--surface-layer);color:var(--text-secondary);font-size:var(--font-size-sm);text-align:center}._inputArea_n9a63_139{padding:var(--spacing-4);border-top:1px solid var(--border-subtle);display:flex;gap:var(--spacing-2)}._input_n9a63_139{flex:1;padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--border-base);border-radius:var(--radius-control);background:var(--surface-base);color:var(--text-primary);font-family:var(--font-secondary);font-size:var(--font-size-base);outline:none;transition:border-color .15s ease}._input_n9a63_139::placeholder{color:var(--text-tertiary)}._input_n9a63_139:focus{border-color:var(--interactive-primary)}._sendButton_n9a63_167{padding:var(--spacing-3) var(--spacing-4);border:none;border-radius:var(--radius-control);background:var(--interactive-primary);color:var(--interactive-primary-text);font-family:var(--font-secondary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background .15s ease;white-space:nowrap}._sendButton_n9a63_167:hover{background:var(--interactive-primary-hover)}._sendButton_n9a63_167:disabled{opacity:.5;cursor:not-allowed}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s="_section_n9a63_1",e="_sidebar_n9a63_10",a="_sidebarHeader_n9a63_19",t="_conversationList_n9a63_28",n="_conversationItem_n9a63_33",o="_conversationItemActive_n9a63_51",_="_conversationTitle_n9a63_55",i="_main_n9a63_63",m="_messages_n9a63_70",r="_message_n9a63_70",c="_messageUser_n9a63_85",b="_messageAssistant_n9a63_90",g="_messageSystem_n9a63_94",u="_messageAvatar_n9a63_99",l="_messageBubble_n9a63_114",v="_messageBubbleUser_n9a63_122",d="_messageBubbleAssistant_n9a63_127",A="_messageBubbleSystem_n9a63_132",B="_inputArea_n9a63_139",y="_input_n9a63_139",S="_sendButton_n9a63_167",p={section:s,sidebar:e,sidebarHeader:a,conversationList:t,conversationItem:n,conversationItemActive:o,conversationTitle:_,main:i,messages:m,message:r,messageUser:c,messageAssistant:b,messageSystem:g,messageAvatar:u,messageBubble:l,messageBubbleUser:v,messageBubbleAssistant:d,messageBubbleSystem:A,inputArea:B,input:y,sendButton:S};exports.conversationItem=n;exports.conversationItemActive=o;exports.conversationList=t;exports.conversationTitle=_;exports.default=p;exports.input=y;exports.inputArea=B;exports.main=i;exports.message=r;exports.messageAssistant=b;exports.messageAvatar=u;exports.messageBubble=l;exports.messageBubbleAssistant=d;exports.messageBubbleSystem=A;exports.messageBubbleUser=v;exports.messageSystem=g;exports.messageUser=c;exports.messages=m;exports.section=s;exports.sendButton=S;exports.sidebar=e;exports.sidebarHeader=a;
@@ -1,47 +0,0 @@
1
- const s = "_section_n9a63_1", e = "_sidebar_n9a63_10", a = "_sidebarHeader_n9a63_19", n = "_conversationList_n9a63_28", t = "_conversationItem_n9a63_33", _ = "_conversationItemActive_n9a63_51", o = "_conversationTitle_n9a63_55", i = "_main_n9a63_63", m = "_messages_n9a63_70", c = "_message_n9a63_70", r = "_messageUser_n9a63_85", b = "_messageAssistant_n9a63_90", g = "_messageSystem_n9a63_94", u = "_messageAvatar_n9a63_99", v = "_messageBubble_n9a63_114", l = "_messageBubbleUser_n9a63_122", A = "_messageBubbleAssistant_n9a63_127", B = "_messageBubbleSystem_n9a63_132", d = "_inputArea_n9a63_139", p = "_input_n9a63_139", y = "_sendButton_n9a63_167", I = {
2
- section: s,
3
- sidebar: e,
4
- sidebarHeader: a,
5
- conversationList: n,
6
- conversationItem: t,
7
- conversationItemActive: _,
8
- conversationTitle: o,
9
- main: i,
10
- messages: m,
11
- message: c,
12
- messageUser: r,
13
- messageAssistant: b,
14
- messageSystem: g,
15
- messageAvatar: u,
16
- messageBubble: v,
17
- messageBubbleUser: l,
18
- messageBubbleAssistant: A,
19
- messageBubbleSystem: B,
20
- inputArea: d,
21
- input: p,
22
- sendButton: y
23
- };
24
- export {
25
- t as conversationItem,
26
- _ as conversationItemActive,
27
- n as conversationList,
28
- o as conversationTitle,
29
- I as default,
30
- p as input,
31
- d as inputArea,
32
- i as main,
33
- c as message,
34
- b as messageAssistant,
35
- u as messageAvatar,
36
- v as messageBubble,
37
- A as messageBubbleAssistant,
38
- B as messageBubbleSystem,
39
- l as messageBubbleUser,
40
- g as messageSystem,
41
- r as messageUser,
42
- m as messages,
43
- s as section,
44
- y as sendButton,
45
- e as sidebar,
46
- a as sidebarHeader
47
- };
@@ -1,33 +0,0 @@
1
- export type ChatMessageRole = "user" | "assistant" | "system";
2
- export interface ChatMessage {
3
- id: string;
4
- role: ChatMessageRole;
5
- content: string;
6
- timestamp?: Date;
7
- }
8
- export interface ChatConversation {
9
- id: string;
10
- title: string;
11
- updatedAt?: Date;
12
- }
13
- export interface ChatInputProps {
14
- placeholder?: string;
15
- onSend?: (message: string) => void;
16
- }
17
- export interface ChatSectionProps {
18
- /** Messages to display */
19
- messages?: ChatMessage[];
20
- /** Available conversations for sidebar */
21
- conversations?: ChatConversation[];
22
- /** Currently active conversation id */
23
- activeConversationId?: string;
24
- /** Callback when a conversation is selected */
25
- onConversationSelect?: (id: string) => void;
26
- /** Callback when a new message is sent */
27
- onSendMessage?: (content: string) => void;
28
- /** Input placeholder text */
29
- placeholder?: string;
30
- /** Optional className */
31
- className?: string;
32
- }
33
- //# sourceMappingURL=Chat.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chat.types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/sections/Chat/Chat.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,uCAAuC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,0CAA0C;IAC1C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -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
- };