@haklex/rich-ext-chat 0.5.0 → 0.6.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.
package/README.md ADDED
@@ -0,0 +1,106 @@
1
+ # @haklex/rich-ext-chat
2
+
3
+ Static chat-snapshot blocks for assistant / conversation transcripts. Renders multi-participant message lists with variant-aware bubble styling.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pnpm add @haklex/rich-ext-chat
9
+ ```
10
+
11
+ ## Peer Dependencies
12
+
13
+ | Package | Version |
14
+ | --------- | --------- |
15
+ | `lexical` | `^0.44.0` |
16
+ | `react` | `>= 19` |
17
+
18
+ ## Usage
19
+
20
+ ### Register nodes
21
+
22
+ Edit (read + write):
23
+
24
+ ```ts
25
+ import { chatEditNodes } from '@haklex/rich-ext-chat/edit';
26
+
27
+ const editorConfig = { nodes: [...chatEditNodes] };
28
+ ```
29
+
30
+ Static / read-only:
31
+
32
+ ```ts
33
+ import { chatNodes } from '@haklex/rich-ext-chat/node';
34
+
35
+ const staticConfig = { nodes: [...chatNodes] };
36
+ ```
37
+
38
+ ### Use renderers
39
+
40
+ ```tsx
41
+ import { ChatEditRenderer } from '@haklex/rich-ext-chat/edit';
42
+ import { ChatRenderer } from '@haklex/rich-ext-chat/renderer';
43
+ ```
44
+
45
+ ### Tree-shake the default renderer
46
+
47
+ ```ts
48
+ import { CHAT_NODE_KEY, chatNodes } from '@haklex/rich-ext-chat/node';
49
+ import type { RichRendererModule } from '@haklex/rich-compose';
50
+
51
+ const lightModule: RichRendererModule = {
52
+ name: 'chat',
53
+ nodes: chatNodes,
54
+ renderers: { [CHAT_NODE_KEY]: MyLightChat },
55
+ };
56
+ ```
57
+
58
+ ### Import styles
59
+
60
+ ```ts
61
+ import '@haklex/rich-ext-chat/style.css';
62
+ ```
63
+
64
+ ## Exports
65
+
66
+ ### Nodes
67
+
68
+ - `ChatNode` -- static (read-only) node
69
+ - `ChatEditNode` -- edit node
70
+ - `$createChatNode()` / `$isChatNode()` -- Lexical helpers
71
+ - `chatNodes` -- array of static nodes for config registration
72
+ - `chatEditNodes` -- array of edit nodes for config registration
73
+
74
+ ### Renderers
75
+
76
+ - `ChatRenderer` -- static renderer
77
+ - `ChatEditRenderer` -- edit renderer with participant management
78
+
79
+ ### Slot Key
80
+
81
+ - `CHAT_NODE_KEY` -- `'Chat'` constant for `RendererConfig` slot lookup
82
+
83
+ ### Types
84
+
85
+ - `ChatMessage`, `ChatParticipant`, `ChatParticipantKind`, `ChatVariant`
86
+ - `ChatRendererProps` (also flowed into `RendererConfig.Chat` via module augmentation)
87
+ - `SerializedChatNode`
88
+
89
+ ## Sub-path Exports
90
+
91
+ | Path | Description |
92
+ | --------------------------------- | --------------------------------------------------------- |
93
+ | `@haklex/rich-ext-chat` | Full exports (node + renderer + edit) |
94
+ | `@haklex/rich-ext-chat/node` | Lightweight node + slot key + types — no default renderer |
95
+ | `@haklex/rich-ext-chat/renderer` | Default `ChatRenderer` (heavy) |
96
+ | `@haklex/rich-ext-chat/edit` | Edit-mode node + `ChatEditRenderer` |
97
+ | `@haklex/rich-ext-chat/static` | Convenience: node + renderer (SSR bundle) |
98
+ | `@haklex/rich-ext-chat/style.css` | Stylesheet |
99
+
100
+ ## Part of Haklex
101
+
102
+ This package is part of the [Haklex](../../README.md) rich editor ecosystem.
103
+
104
+ ## License
105
+
106
+ MIT
@@ -0,0 +1,4 @@
1
+ //#region src/augment.ts
2
+ var __augmentLoaded_chat = true;
3
+ //#endregion
4
+ export { __augmentLoaded_chat as t };
package/dist/augment.d.ts CHANGED
@@ -5,5 +5,5 @@ declare module '@haklex/rich-editor' {
5
5
  Chat?: ComponentType<ChatRendererProps>;
6
6
  }
7
7
  }
8
- export {};
8
+ export declare const __augmentLoaded_chat = true;
9
9
  //# sourceMappingURL=augment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"augment.d.ts","sourceRoot":"","sources":["../src/augment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,cAAc;QACtB,IAAI,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;KACzC;CACF;AAED,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"augment.d.ts","sourceRoot":"","sources":["../src/augment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,cAAc;QACtB,IAAI,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;KACzC;CACF;AAED,eAAO,MAAM,oBAAoB,OAAO,CAAC"}
@@ -1,5 +1,5 @@
1
- import { A as variantPill, C as participantLabel, D as rail, E as participantRow, M as variantPillHint, N as variantPillName, O as sectionLabel, P as variantStack, S as participantInput, T as participantPillUser, _ as modalBody, a as buttonGhost, b as pane, c as editLabel, d as messageActions, f as messageCard, g as modal, h as messageTextarea, i as button, j as variantPillActive, k as semanticClassNames, l as editOverlay, m as messageSelect, n as addMessage, o as buttonPrimary, p as messageHead, r as addMessageButton, s as editContainer, t as ChatRenderer, u as editorDialogPopup, v as modalFooter, w as participantPill, x as participantCard, y as modalHeader } from "./ChatRenderer-DYZpPFed.js";
2
- import { i as _defineProperty, n as $isChatNode, o as createMessageId, r as ChatNode } from "./ChatNode-DIZ2_6jG.js";
1
+ import { A as variantPill, C as participantLabel, D as rail, E as participantRow, M as variantPillHint, N as variantPillName, O as sectionLabel, P as variantStack, S as participantInput, T as participantPillUser, _ as modalBody, a as buttonGhost, b as pane, c as editLabel, d as messageActions, f as messageCard, g as modal, h as messageTextarea, i as button, j as variantPillActive, k as semanticClassNames, l as editOverlay, m as messageSelect, n as addMessage, o as buttonPrimary, p as messageHead, r as addMessageButton, s as editContainer, t as ChatRenderer, u as editorDialogPopup, v as modalFooter, w as participantPill, x as participantCard, y as modalHeader } from "./ChatRenderer-ahbuFXVc.js";
2
+ import { i as _defineProperty, n as $isChatNode, o as createMessageId, r as ChatNode } from "./ChatNode-9-6kP6Uk.js";
3
3
  import { $getNodeByKey, $insertNodes } from "lexical";
4
4
  import { ArrowDown, ArrowUp, MessageSquare, Pencil, Trash2 } from "lucide-react";
5
5
  import { createContext, createElement, useCallback, useContext, useEffect, useRef, useState } from "react";
package/dist/edit.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Klass, LexicalNode } from 'lexical';
2
+ export * from './augment';
2
3
  export type { ChatEditDecoratorProps } from './ChatEditDecorator';
3
4
  export { ChatEditDecorator } from './ChatEditDecorator';
4
5
  export type { ChatEditorModalProps } from './ChatEditorModal';
@@ -1 +1 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../src/edit.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAIlD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE1F,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAkB,CAAC"}
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../src/edit.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAIlD,cAAc,WAAW,CAAC;AAC1B,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE1F,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAkB,CAAC"}
package/dist/edit.mjs CHANGED
@@ -1,2 +1,3 @@
1
- import { a as ChatEditDecorator, i as ChatEditNode, n as $createChatEditNode, o as ChatEditRenderer, r as $isChatEditNode, s as ChatEditorModal, t as chatEditNodes } from "./edit-C2JFybx6.js";
2
- export { $createChatEditNode, $isChatEditNode, ChatEditDecorator, ChatEditNode, ChatEditRenderer, ChatEditorModal, chatEditNodes };
1
+ import { t as __augmentLoaded_chat } from "./augment-C92w8N8d.js";
2
+ import { a as ChatEditDecorator, i as ChatEditNode, n as $createChatEditNode, o as ChatEditRenderer, r as $isChatEditNode, s as ChatEditorModal, t as chatEditNodes } from "./edit-Ba-8EZcX.js";
3
+ export { $createChatEditNode, $isChatEditNode, ChatEditDecorator, ChatEditNode, ChatEditRenderer, ChatEditorModal, __augmentLoaded_chat, chatEditNodes };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './augment';
1
2
  export * from './edit';
2
3
  export * from './node';
3
4
  export * from './renderer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
package/dist/index.mjs CHANGED
@@ -1,6 +1,7 @@
1
- import { t as ChatRenderer } from "./ChatRenderer-DYZpPFed.js";
2
- import { a as ChatEditDecorator, i as ChatEditNode, n as $createChatEditNode, o as ChatEditRenderer, r as $isChatEditNode, s as ChatEditorModal, t as chatEditNodes } from "./edit-C2JFybx6.js";
3
- import { a as CHAT_NODE_KEY, n as $isChatNode, r as ChatNode, t as $createChatNode } from "./ChatNode-DIZ2_6jG.js";
1
+ import { t as __augmentLoaded_chat } from "./augment-C92w8N8d.js";
2
+ import { t as ChatRenderer } from "./ChatRenderer-ahbuFXVc.js";
3
+ import { a as ChatEditDecorator, i as ChatEditNode, n as $createChatEditNode, o as ChatEditRenderer, r as $isChatEditNode, s as ChatEditorModal, t as chatEditNodes } from "./edit-Ba-8EZcX.js";
4
+ import { a as CHAT_NODE_KEY, n as $isChatNode, r as ChatNode, t as $createChatNode } from "./ChatNode-9-6kP6Uk.js";
4
5
  import { chatNodes } from "./node.mjs";
5
6
  import "./renderer.mjs";
6
- export { $createChatEditNode, $createChatNode, $isChatEditNode, $isChatNode, CHAT_NODE_KEY, ChatEditDecorator, ChatEditNode, ChatEditRenderer, ChatEditorModal, ChatNode, ChatRenderer, chatEditNodes, chatNodes };
7
+ export { $createChatEditNode, $createChatNode, $isChatEditNode, $isChatNode, CHAT_NODE_KEY, ChatEditDecorator, ChatEditNode, ChatEditRenderer, ChatEditorModal, ChatNode, ChatRenderer, __augmentLoaded_chat, chatEditNodes, chatNodes };
package/dist/node.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Klass, LexicalNode } from 'lexical';
2
+ export * from './augment';
2
3
  export { $createChatNode, $isChatNode, ChatNode } from './nodes/ChatNode';
3
4
  export { CHAT_NODE_KEY } from './slot';
4
5
  export type { ChatMessage, ChatParticipant, ChatParticipantKind, ChatRendererProps, ChatVariant, SerializedChatNode, } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,YAAY,EACV,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAc,CAAC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAIlD,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,YAAY,EACV,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAc,CAAC"}
package/dist/node.mjs CHANGED
@@ -1,5 +1,6 @@
1
- import { a as CHAT_NODE_KEY, n as $isChatNode, r as ChatNode, t as $createChatNode } from "./ChatNode-DIZ2_6jG.js";
1
+ import { t as __augmentLoaded_chat } from "./augment-C92w8N8d.js";
2
+ import { a as CHAT_NODE_KEY, n as $isChatNode, r as ChatNode, t as $createChatNode } from "./ChatNode-9-6kP6Uk.js";
2
3
  //#region src/node.ts
3
4
  var chatNodes = [ChatNode];
4
5
  //#endregion
5
- export { $createChatNode, $isChatNode, CHAT_NODE_KEY, ChatNode, chatNodes };
6
+ export { $createChatNode, $isChatNode, CHAT_NODE_KEY, ChatNode, __augmentLoaded_chat, chatNodes };
@@ -1,4 +1,5 @@
1
1
  import { ChatRenderer } from './ChatRenderer';
2
+ export * from './augment';
2
3
  export type { ChatMessage, ChatParticipant, ChatParticipantKind, ChatRendererProps, ChatVariant, } from './types';
3
4
  export { ChatRenderer };
4
5
  export default ChatRenderer;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,WAAW,CAAC;AAEnB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,YAAY,EACV,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAc,WAAW,CAAC;AAC1B,YAAY,EACV,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
package/dist/renderer.mjs CHANGED
@@ -1,5 +1,6 @@
1
- import { t as ChatRenderer } from "./ChatRenderer-DYZpPFed.js";
1
+ import { t as __augmentLoaded_chat } from "./augment-C92w8N8d.js";
2
+ import { t as ChatRenderer } from "./ChatRenderer-ahbuFXVc.js";
2
3
  //#region src/renderer.ts
3
4
  var renderer_default = ChatRenderer;
4
5
  //#endregion
5
- export { ChatRenderer, renderer_default as default };
6
+ export { ChatRenderer, __augmentLoaded_chat, renderer_default as default };
package/dist/static.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './augment';
1
2
  export * from './node';
2
3
  export * from './renderer';
3
4
  //# sourceMappingURL=static.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
package/dist/static.mjs CHANGED
@@ -1,5 +1,6 @@
1
- import { t as ChatRenderer } from "./ChatRenderer-DYZpPFed.js";
2
- import { a as CHAT_NODE_KEY, n as $isChatNode, r as ChatNode, t as $createChatNode } from "./ChatNode-DIZ2_6jG.js";
1
+ import { t as __augmentLoaded_chat } from "./augment-C92w8N8d.js";
2
+ import { t as ChatRenderer } from "./ChatRenderer-ahbuFXVc.js";
3
+ import { a as CHAT_NODE_KEY, n as $isChatNode, r as ChatNode, t as $createChatNode } from "./ChatNode-9-6kP6Uk.js";
3
4
  import { chatNodes } from "./node.mjs";
4
5
  import "./renderer.mjs";
5
- export { $createChatNode, $isChatNode, CHAT_NODE_KEY, ChatNode, ChatRenderer, chatNodes };
6
+ export { $createChatNode, $isChatNode, CHAT_NODE_KEY, ChatNode, ChatRenderer, __augmentLoaded_chat, chatNodes };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haklex/rich-ext-chat",
3
- "version": "0.5.0",
3
+ "version": "0.6.1",
4
4
  "description": "Static chat-snapshot node for the haklex rich editor",
5
5
  "repository": {
6
6
  "type": "git",
@@ -53,15 +53,15 @@
53
53
  "typescript": "^5.9.3",
54
54
  "vite": "^8.0.10",
55
55
  "vite-plugin-dts": "^4.5.4",
56
- "@haklex/rich-editor": "0.5.0"
56
+ "@haklex/rich-editor": "0.6.1"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "lexical": "^0.44.0",
60
60
  "lucide-react": "^1.0.0",
61
61
  "react": ">=19",
62
- "@haklex/rich-editor": "0.5.0",
63
- "@haklex/rich-editor-ui": "0.5.0",
64
- "@haklex/rich-style-token": "0.5.0"
62
+ "@haklex/rich-editor": "0.6.1",
63
+ "@haklex/rich-style-token": "0.6.1",
64
+ "@haklex/rich-editor-ui": "0.6.1"
65
65
  },
66
66
  "publishConfig": {
67
67
  "access": "public"