@composy/chat-core 0.0.1

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 (123) hide show
  1. package/README.md +123 -0
  2. package/dist/index.js +1868 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/index.min.js +1868 -0
  5. package/es/constants/dom.d.ts +41 -0
  6. package/es/constants/dom.d.ts.map +1 -0
  7. package/es/constants/dom.js +30 -0
  8. package/es/constants/dom.js.map +1 -0
  9. package/es/core/chat-manager.d.ts +34 -0
  10. package/es/core/chat-manager.d.ts.map +1 -0
  11. package/es/core/chat-manager.js +93 -0
  12. package/es/core/chat-manager.js.map +1 -0
  13. package/es/core/event-emitter.d.ts +48 -0
  14. package/es/core/event-emitter.d.ts.map +1 -0
  15. package/es/core/event-emitter.js +75 -0
  16. package/es/core/event-emitter.js.map +1 -0
  17. package/es/core/mention-engine.d.ts +41 -0
  18. package/es/core/mention-engine.d.ts.map +1 -0
  19. package/es/core/mention-engine.js +117 -0
  20. package/es/core/mention-engine.js.map +1 -0
  21. package/es/index.d.ts +28 -0
  22. package/es/index.d.ts.map +1 -0
  23. package/es/index.js +140 -0
  24. package/es/index.js.map +1 -0
  25. package/es/renderer/dom-renderer.d.ts +79 -0
  26. package/es/renderer/dom-renderer.d.ts.map +1 -0
  27. package/es/renderer/dom-renderer.js +677 -0
  28. package/es/renderer/dom-renderer.js.map +1 -0
  29. package/es/renderer/style-manager.d.ts +58 -0
  30. package/es/renderer/style-manager.d.ts.map +1 -0
  31. package/es/renderer/style-manager.js +641 -0
  32. package/es/renderer/style-manager.js.map +1 -0
  33. package/es/theme/theme-manager.d.ts +33 -0
  34. package/es/theme/theme-manager.d.ts.map +1 -0
  35. package/es/theme/theme-manager.js +70 -0
  36. package/es/theme/theme-manager.js.map +1 -0
  37. package/es/theme/tokens.d.ts +57 -0
  38. package/es/theme/tokens.d.ts.map +1 -0
  39. package/es/theme/tokens.js +108 -0
  40. package/es/theme/tokens.js.map +1 -0
  41. package/es/types/index.d.ts +204 -0
  42. package/es/types/index.d.ts.map +1 -0
  43. package/es/types/index.js +10 -0
  44. package/esm/constants/dom.d.ts +41 -0
  45. package/esm/constants/dom.d.ts.map +1 -0
  46. package/esm/constants/dom.js +30 -0
  47. package/esm/constants/dom.js.map +1 -0
  48. package/esm/core/chat-manager.d.ts +34 -0
  49. package/esm/core/chat-manager.d.ts.map +1 -0
  50. package/esm/core/chat-manager.js +93 -0
  51. package/esm/core/chat-manager.js.map +1 -0
  52. package/esm/core/event-emitter.d.ts +48 -0
  53. package/esm/core/event-emitter.d.ts.map +1 -0
  54. package/esm/core/event-emitter.js +75 -0
  55. package/esm/core/event-emitter.js.map +1 -0
  56. package/esm/core/mention-engine.d.ts +41 -0
  57. package/esm/core/mention-engine.d.ts.map +1 -0
  58. package/esm/core/mention-engine.js +117 -0
  59. package/esm/core/mention-engine.js.map +1 -0
  60. package/esm/index.d.ts +28 -0
  61. package/esm/index.d.ts.map +1 -0
  62. package/esm/index.js +140 -0
  63. package/esm/index.js.map +1 -0
  64. package/esm/renderer/dom-renderer.d.ts +79 -0
  65. package/esm/renderer/dom-renderer.d.ts.map +1 -0
  66. package/esm/renderer/dom-renderer.js +677 -0
  67. package/esm/renderer/dom-renderer.js.map +1 -0
  68. package/esm/renderer/style-manager.d.ts +58 -0
  69. package/esm/renderer/style-manager.d.ts.map +1 -0
  70. package/esm/renderer/style-manager.js +641 -0
  71. package/esm/renderer/style-manager.js.map +1 -0
  72. package/esm/theme/theme-manager.d.ts +33 -0
  73. package/esm/theme/theme-manager.d.ts.map +1 -0
  74. package/esm/theme/theme-manager.js +70 -0
  75. package/esm/theme/theme-manager.js.map +1 -0
  76. package/esm/theme/tokens.d.ts +57 -0
  77. package/esm/theme/tokens.d.ts.map +1 -0
  78. package/esm/theme/tokens.js +108 -0
  79. package/esm/theme/tokens.js.map +1 -0
  80. package/esm/types/index.d.ts +204 -0
  81. package/esm/types/index.d.ts.map +1 -0
  82. package/esm/types/index.js +10 -0
  83. package/lib/constants/dom.cjs +36 -0
  84. package/lib/constants/dom.cjs.map +1 -0
  85. package/lib/constants/dom.d.ts +41 -0
  86. package/lib/constants/dom.d.ts.map +1 -0
  87. package/lib/core/chat-manager.cjs +94 -0
  88. package/lib/core/chat-manager.cjs.map +1 -0
  89. package/lib/core/chat-manager.d.ts +34 -0
  90. package/lib/core/chat-manager.d.ts.map +1 -0
  91. package/lib/core/event-emitter.cjs +76 -0
  92. package/lib/core/event-emitter.cjs.map +1 -0
  93. package/lib/core/event-emitter.d.ts +48 -0
  94. package/lib/core/event-emitter.d.ts.map +1 -0
  95. package/lib/core/mention-engine.cjs +118 -0
  96. package/lib/core/mention-engine.cjs.map +1 -0
  97. package/lib/core/mention-engine.d.ts +41 -0
  98. package/lib/core/mention-engine.d.ts.map +1 -0
  99. package/lib/index.cjs +160 -0
  100. package/lib/index.cjs.map +1 -0
  101. package/lib/index.d.ts +28 -0
  102. package/lib/index.d.ts.map +1 -0
  103. package/lib/package.json +3 -0
  104. package/lib/renderer/dom-renderer.cjs +678 -0
  105. package/lib/renderer/dom-renderer.cjs.map +1 -0
  106. package/lib/renderer/dom-renderer.d.ts +79 -0
  107. package/lib/renderer/dom-renderer.d.ts.map +1 -0
  108. package/lib/renderer/style-manager.cjs +646 -0
  109. package/lib/renderer/style-manager.cjs.map +1 -0
  110. package/lib/renderer/style-manager.d.ts +58 -0
  111. package/lib/renderer/style-manager.d.ts.map +1 -0
  112. package/lib/theme/theme-manager.cjs +71 -0
  113. package/lib/theme/theme-manager.cjs.map +1 -0
  114. package/lib/theme/theme-manager.d.ts +33 -0
  115. package/lib/theme/theme-manager.d.ts.map +1 -0
  116. package/lib/theme/tokens.cjs +110 -0
  117. package/lib/theme/tokens.cjs.map +1 -0
  118. package/lib/theme/tokens.d.ts +57 -0
  119. package/lib/theme/tokens.d.ts.map +1 -0
  120. package/lib/types/index.cjs +11 -0
  121. package/lib/types/index.d.ts +204 -0
  122. package/lib/types/index.d.ts.map +1 -0
  123. package/package.json +107 -0
@@ -0,0 +1,79 @@
1
+ import type { ChatConfig, ChatMessage, MentionItem } from '../types';
2
+ import { EventEmitter } from '../core/event-emitter';
3
+ import { MentionEngine } from '../core/mention-engine';
4
+ export declare class DOMRenderer {
5
+ private container;
6
+ private config;
7
+ private emitter;
8
+ private mentionEngine;
9
+ private prefix;
10
+ private root;
11
+ private messageListEl;
12
+ private inputArea;
13
+ private textareaEl;
14
+ private sendBtn;
15
+ private mentionPanel;
16
+ private loadMoreEl;
17
+ private toolbarEl;
18
+ private dropOverlay;
19
+ private voiceBtn;
20
+ private loadingMore;
21
+ private isRecording;
22
+ private recognition;
23
+ private lastVoiceTranscript;
24
+ constructor(container: HTMLElement, config: ChatConfig, emitter: EventEmitter, mentionEngine: MentionEngine);
25
+ init(): void;
26
+ updateMessageContent(id: string, content: string): void;
27
+ renderMessages(messages: ChatMessage[]): void;
28
+ appendMessage(message: ChatMessage): void;
29
+ prependMessages(messages: ChatMessage[]): void;
30
+ updateMessage(id: string, message: ChatMessage): void;
31
+ removeMessage(id: string): void;
32
+ scrollToBottom(smooth?: boolean): void;
33
+ isAtBottom(threshold?: number): boolean;
34
+ setLoadingMore(loading: boolean): void;
35
+ focusInput(): void;
36
+ setInputContent(content: string): void;
37
+ getInputContent(): string;
38
+ clearInput(): void;
39
+ renderMentionPanel(members: MentionItem[], activeIndex: number): void;
40
+ hideMentionPanel(): void;
41
+ destroy(): void;
42
+ private renderInputArea;
43
+ private renderToolbar;
44
+ private createToolbarBtn;
45
+ private openFilePicker;
46
+ private toggleVoice;
47
+ private startVoice;
48
+ private stopVoice;
49
+ private finishVoice;
50
+ private setupEventListeners;
51
+ private setupDropEvents;
52
+ private handleSend;
53
+ private insertMention;
54
+ private insertTextAtCursor;
55
+ private autoResize;
56
+ private updateSendButtonState;
57
+ private renderLoadMoreButton;
58
+ private renderTimeDivider;
59
+ private createTimeDivider;
60
+ private renderMessageRow;
61
+ private createMessageRow;
62
+ private createAvatar;
63
+ private createMessageFooter;
64
+ private createBubble;
65
+ private renderTextContent;
66
+ private renderEmpty;
67
+ private removeEmpty;
68
+ private el;
69
+ private getMessageElements;
70
+ private formatTime;
71
+ private formatShortTime;
72
+ private formatFileSize;
73
+ private limitInput;
74
+ private getCssSizeValue;
75
+ private escapeHtml;
76
+ private escapeAttr;
77
+ private escapeRegex;
78
+ }
79
+ //# sourceMappingURL=dom-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-renderer.d.ts","sourceRoot":"","sources":["../../src/renderer/dom-renderer.ts"],"names":[],"mappings":"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"}