@haklex/rich-compose 0.2.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +53 -48
  2. package/dist/core/compose.d.ts.map +1 -1
  3. package/dist/core/dedup.d.ts.map +1 -1
  4. package/dist/core/index.d.ts.map +1 -1
  5. package/dist/core/lazy.d.ts.map +1 -1
  6. package/dist/core/types.d.ts +21 -21
  7. package/dist/core/types.d.ts.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.mjs +1 -1
  11. package/dist/modules/alert/index.d.ts +1 -1
  12. package/dist/modules/alert/index.d.ts.map +1 -1
  13. package/dist/modules/alert/module.d.ts.map +1 -1
  14. package/dist/modules/alert/renderer.d.ts.map +1 -1
  15. package/dist/modules/banner/index.d.ts +1 -1
  16. package/dist/modules/banner/index.d.ts.map +1 -1
  17. package/dist/modules/banner/module.d.ts.map +1 -1
  18. package/dist/modules/banner/renderer.d.ts.map +1 -1
  19. package/dist/modules/chat/index.d.ts +3 -3
  20. package/dist/modules/chat/index.d.ts.map +1 -1
  21. package/dist/modules/chat/index.mjs +9 -2
  22. package/dist/modules/chat/module.d.ts +7 -0
  23. package/dist/modules/chat/module.d.ts.map +1 -1
  24. package/dist/modules/chat/node.d.ts +2 -2
  25. package/dist/modules/chat/node.d.ts.map +1 -1
  26. package/dist/modules/chat/node.mjs +1 -1
  27. package/dist/modules/chat/renderer.d.ts +1 -1
  28. package/dist/modules/chat/renderer.d.ts.map +1 -1
  29. package/dist/modules/chat/renderer.mjs +1 -1
  30. package/dist/modules/code-block/index.d.ts +1 -1
  31. package/dist/modules/code-block/index.d.ts.map +1 -1
  32. package/dist/modules/code-block/module.d.ts.map +1 -1
  33. package/dist/modules/code-block/renderer.d.ts.map +1 -1
  34. package/dist/modules/code-snippet/index.d.ts +1 -1
  35. package/dist/modules/code-snippet/index.d.ts.map +1 -1
  36. package/dist/modules/code-snippet/index.mjs +7 -2
  37. package/dist/modules/code-snippet/module.d.ts +5 -0
  38. package/dist/modules/code-snippet/module.d.ts.map +1 -1
  39. package/dist/modules/code-snippet/node.d.ts +2 -2
  40. package/dist/modules/code-snippet/node.d.ts.map +1 -1
  41. package/dist/modules/code-snippet/node.mjs +1 -1
  42. package/dist/modules/code-snippet/renderer.d.ts +1 -1
  43. package/dist/modules/code-snippet/renderer.d.ts.map +1 -1
  44. package/dist/modules/code-snippet/renderer.mjs +1 -1
  45. package/dist/modules/embed/index.d.ts +1 -1
  46. package/dist/modules/embed/index.d.ts.map +1 -1
  47. package/dist/modules/embed/module.d.ts.map +1 -1
  48. package/dist/modules/embed/node.d.ts.map +1 -1
  49. package/dist/modules/excalidraw/index.d.ts +2 -2
  50. package/dist/modules/excalidraw/index.d.ts.map +1 -1
  51. package/dist/modules/excalidraw/module.d.ts.map +1 -1
  52. package/dist/modules/excalidraw/node.d.ts +2 -2
  53. package/dist/modules/excalidraw/node.d.ts.map +1 -1
  54. package/dist/modules/gallery/index.d.ts +2 -2
  55. package/dist/modules/gallery/index.d.ts.map +1 -1
  56. package/dist/modules/gallery/index.mjs +7 -2
  57. package/dist/modules/gallery/module.d.ts +5 -0
  58. package/dist/modules/gallery/module.d.ts.map +1 -1
  59. package/dist/modules/gallery/node.d.ts +2 -2
  60. package/dist/modules/gallery/node.d.ts.map +1 -1
  61. package/dist/modules/gallery/node.mjs +1 -1
  62. package/dist/modules/gallery/renderer.d.ts +1 -1
  63. package/dist/modules/gallery/renderer.d.ts.map +1 -1
  64. package/dist/modules/gallery/renderer.mjs +1 -1
  65. package/dist/modules/image/index.d.ts +1 -1
  66. package/dist/modules/image/index.d.ts.map +1 -1
  67. package/dist/modules/image/module.d.ts.map +1 -1
  68. package/dist/modules/image/renderer.d.ts.map +1 -1
  69. package/dist/modules/link-card/index.d.ts +1 -1
  70. package/dist/modules/link-card/index.d.ts.map +1 -1
  71. package/dist/modules/link-card/module.d.ts.map +1 -1
  72. package/dist/modules/link-card/renderer.d.ts.map +1 -1
  73. package/dist/modules/mention/index.d.ts +2 -2
  74. package/dist/modules/mention/index.d.ts.map +1 -1
  75. package/dist/modules/mention/module.d.ts.map +1 -1
  76. package/dist/modules/mention/renderer.d.ts.map +1 -1
  77. package/dist/modules/mermaid/index.d.ts +1 -1
  78. package/dist/modules/mermaid/index.d.ts.map +1 -1
  79. package/dist/modules/mermaid/module.d.ts.map +1 -1
  80. package/dist/modules/mermaid/renderer.d.ts.map +1 -1
  81. package/dist/modules/mermaid/ssr-fallback.d.ts.map +1 -1
  82. package/dist/modules/nested-doc/index.d.ts +1 -1
  83. package/dist/modules/nested-doc/index.d.ts.map +1 -1
  84. package/dist/modules/nested-doc/module.d.ts.map +1 -1
  85. package/dist/modules/nested-doc/node.d.ts.map +1 -1
  86. package/dist/modules/poll/index.d.ts +5 -0
  87. package/dist/modules/poll/index.d.ts.map +1 -0
  88. package/dist/modules/poll/index.mjs +20 -0
  89. package/dist/modules/poll/module.d.ts +12 -0
  90. package/dist/modules/poll/module.d.ts.map +1 -0
  91. package/dist/modules/poll/node.d.ts +3 -0
  92. package/dist/modules/poll/node.d.ts.map +1 -0
  93. package/dist/modules/poll/node.mjs +2 -0
  94. package/dist/modules/poll/renderer.d.ts +4 -0
  95. package/dist/modules/poll/renderer.d.ts.map +1 -0
  96. package/dist/modules/poll/renderer.mjs +5 -0
  97. package/dist/modules/ruby/index.d.ts +1 -1
  98. package/dist/modules/ruby/index.d.ts.map +1 -1
  99. package/dist/modules/ruby/module.d.ts.map +1 -1
  100. package/dist/modules/ruby/renderer.d.ts.map +1 -1
  101. package/dist/modules/video/index.d.ts +1 -1
  102. package/dist/modules/video/index.d.ts.map +1 -1
  103. package/dist/modules/video/module.d.ts.map +1 -1
  104. package/dist/modules/video/renderer.d.ts.map +1 -1
  105. package/package.json +53 -36
package/README.md CHANGED
@@ -22,11 +22,11 @@ pnpm add @haklex/rich-compose
22
22
 
23
23
  ## Peer Dependencies
24
24
 
25
- | Package | Version |
26
- | --- | --- |
27
- | `react` / `react-dom` | `>=19` |
28
- | `lexical` / `@lexical/react` | `^0.44.0` |
29
- | `@haklex/rich-editor` | workspace |
25
+ | Package | Version |
26
+ | ------------------------------ | --------- |
27
+ | `react` / `react-dom` | `>=19` |
28
+ | `lexical` / `@lexical/react` | `^0.44.0` |
29
+ | `@haklex/rich-editor` | workspace |
30
30
  | `@haklex/rich-static-renderer` | workspace |
31
31
 
32
32
  Per-module upstream packages (`@haklex/rich-ext-*`, `@haklex/rich-renderer-*`) are optional peers — install only those you compose into your renderer.
@@ -57,7 +57,7 @@ const RichContent = composeRenderer({
57
57
  Import the module sugar. Klass + renderer + (optional) lazy/SSR fallback are wired automatically.
58
58
 
59
59
  ```tsx
60
- import { embedModule } from '@haklex/rich-compose/modules/embed'
60
+ import { embedModule } from '@haklex/rich-compose/modules/embed';
61
61
  ```
62
62
 
63
63
  ### Mode B — custom renderer (tree-shake the default)
@@ -65,13 +65,13 @@ import { embedModule } from '@haklex/rich-compose/modules/embed'
65
65
  Import the Klass from the `/node` subpath; supply your own renderer. The default renderer's chunk never enters the bundle.
66
66
 
67
67
  ```tsx
68
- import { GalleryNode } from '@haklex/rich-compose/modules/gallery/node'
68
+ import { GalleryNode } from '@haklex/rich-compose/modules/gallery/node';
69
69
 
70
70
  const myGalleryModule: RichRendererModule = {
71
71
  name: 'gallery',
72
72
  nodes: [GalleryNode],
73
73
  renderers: { Gallery: MyGalleryRenderer },
74
- }
74
+ };
75
75
  ```
76
76
 
77
77
  For modules with no custom Klass (most of the renderer-only modules), simply construct a module with the same `name` and your renderer:
@@ -80,7 +80,7 @@ For modules with no custom Klass (most of the renderer-only modules), simply con
80
80
  const myLinkCardModule: RichRendererModule = {
81
81
  name: 'link-card',
82
82
  renderers: { LinkCard: MyLinkCardRenderer },
83
- }
83
+ };
84
84
  ```
85
85
 
86
86
  ### Mode C — wrap the default
@@ -88,8 +88,8 @@ const myLinkCardModule: RichRendererModule = {
88
88
  Pull the default renderer from `/renderer` and wrap it.
89
89
 
90
90
  ```tsx
91
- import { LinkCardNode } from '@haklex/rich-compose/modules/link-card/node' // when applicable
92
- import { LinkCardRenderer } from '@haklex/rich-compose/modules/link-card/renderer'
91
+ import { LinkCardNode } from '@haklex/rich-compose/modules/link-card/node'; // when applicable
92
+ import { LinkCardRenderer } from '@haklex/rich-compose/modules/link-card/renderer';
93
93
 
94
94
  const wrappedModule: RichRendererModule = {
95
95
  name: 'link-card',
@@ -100,21 +100,22 @@ const wrappedModule: RichRendererModule = {
100
100
  </div>
101
101
  ),
102
102
  },
103
- }
103
+ };
104
104
  ```
105
105
 
106
106
  ## `RichRendererModule` shape
107
107
 
108
108
  ```ts
109
109
  interface RichRendererModule {
110
- name: string // dedup key
111
- nodes?: Klass<LexicalNode>[] // optional — omit for builtin types
112
- renderers?: Partial<RendererConfig> // sync renderer map
113
- Provider?: ComponentType<{ children: ReactNode }> // optional internal provider
114
- lazyRenderers?: Partial<{ // code-split renderers
115
- [K in RendererKey]: () => Promise<{ default: NonNullable<RendererConfig[K]> }>
116
- }>
117
- ssrFallback?: Partial<Record<RendererKey, ReactNode>> // deterministic fallback
110
+ name: string; // dedup key
111
+ nodes?: Klass<LexicalNode>[]; // optional — omit for builtin types
112
+ renderers?: Partial<RendererConfig>; // sync renderer map
113
+ Provider?: ComponentType<{ children: ReactNode }>; // optional internal provider
114
+ lazyRenderers?: Partial<{
115
+ // code-split renderers
116
+ [K in RendererKey]: () => Promise<{ default: NonNullable<RendererConfig[K]> }>;
117
+ }>;
118
+ ssrFallback?: Partial<Record<RendererKey, ReactNode>>; // deterministic fallback
118
119
  }
119
120
  ```
120
121
 
@@ -128,9 +129,11 @@ To override a lazy renderer (e.g., for a sync, pre-tokenized code block on SSR),
128
129
 
129
130
  ```ts
130
131
  composeRenderer({
131
- modules: [/* ... */],
132
+ modules: [
133
+ /* ... */
134
+ ],
132
135
  overrides: { CodeBlock: PreTokenizedCodeBlock },
133
- })
136
+ });
134
137
  ```
135
138
 
136
139
  The lazy chunk is still emitted but never fetched at runtime.
@@ -151,44 +154,46 @@ nodes:
151
154
 
152
155
  ## Module catalog
153
156
 
154
- | Module | Klass | Renderer mode | Source |
155
- | --- | --- | --- | --- |
156
- | `alert` | builtin | sync | `rich-renderer-alert` |
157
- | `banner` | builtin | sync | `rich-renderer-banner` |
158
- | `chat` | `ChatNode` | sync | `rich-ext-chat` |
159
- | `code-block` | builtin | lazy + ssr fallback | `rich-renderer-codeblock` |
160
- | `code-snippet` | `CodeSnippetNode` | sync | `rich-ext-code-snippet` |
161
- | `embed` | `EmbedNode` | sync (via node decorate) | `rich-ext-embed` |
162
- | `excalidraw` | `ExcalidrawNode` | via node decorate | `rich-ext-excalidraw` |
163
- | `gallery` | `GalleryNode` | sync | `rich-ext-gallery` |
164
- | `image` | builtin | sync | `rich-renderer-image` |
165
- | `link-card` | builtin | sync | `rich-renderer-linkcard` |
166
- | `mention` | builtin | sync | `rich-renderer-mention` |
167
- | `mermaid` | builtin | lazy + ssr fallback | `rich-renderer-mermaid` |
168
- | `nested-doc` | `NestedDocNode` | recursive (via composeRenderer) | `rich-ext-nested-doc` |
169
- | `ruby` | builtin | sync | `rich-renderer-ruby` |
170
- | `video` | builtin | sync | `rich-renderer-video` |
157
+ | Module | Klass | Renderer mode | Source |
158
+ | -------------- | ----------------- | ------------------------------- | ------------------------- |
159
+ | `alert` | builtin | sync | `rich-renderer-alert` |
160
+ | `banner` | builtin | sync | `rich-renderer-banner` |
161
+ | `chat` | `ChatNode` | sync | `rich-ext-chat` |
162
+ | `code-block` | builtin | lazy + ssr fallback | `rich-renderer-codeblock` |
163
+ | `code-snippet` | `CodeSnippetNode` | sync | `rich-ext-code-snippet` |
164
+ | `embed` | `EmbedNode` | sync (via node decorate) | `rich-ext-embed` |
165
+ | `excalidraw` | `ExcalidrawNode` | via node decorate | `rich-ext-excalidraw` |
166
+ | `gallery` | `GalleryNode` | sync | `rich-ext-gallery` |
167
+ | `image` | builtin | sync | `rich-renderer-image` |
168
+ | `link-card` | builtin | sync | `rich-renderer-linkcard` |
169
+ | `mention` | builtin | sync | `rich-renderer-mention` |
170
+ | `mermaid` | builtin | lazy + ssr fallback | `rich-renderer-mermaid` |
171
+ | `nested-doc` | `NestedDocNode` | recursive (via composeRenderer) | `rich-ext-nested-doc` |
172
+ | `ruby` | builtin | sync | `rich-renderer-ruby` |
173
+ | `video` | builtin | sync | `rich-renderer-video` |
171
174
 
172
175
  Not shipped (handled by `@haklex/rich-editor`'s default renderers via Klass `decorate()`): `katex`, `poll`, `tag`, `footnote`. To override these, pass `overrides` to `composeRenderer`:
173
176
 
174
177
  ```ts
175
178
  composeRenderer({
176
- modules: [/* ... */],
179
+ modules: [
180
+ /* ... */
181
+ ],
177
182
  overrides: { KaTeX: MyKaTeXRenderer, Poll: MyPollRenderer },
178
- })
183
+ });
179
184
  ```
180
185
 
181
186
  > **Note**: `@haklex/rich-editor` registers a wide set of custom Klasses in `customNodes` (LinkCard, Mention, Image, Video, KaTeX, Mermaid, Alert, Banner, Ruby, Tag, Poll, CodeBlock, Footnote, etc.). Modules for these contribute only renderer mappings — there is no Klass to register, hence no `node.ts` and no `/node` subpath.
182
187
 
183
188
  ## Sub-path exports
184
189
 
185
- | Path | Description |
186
- | --- | --- |
187
- | `@haklex/rich-compose` | core: `composeRenderer`, types, helpers |
188
- | `@haklex/rich-compose/modules/<name>` | full module barrel |
189
- | `@haklex/rich-compose/modules/<name>/node` | Klass(es) only (when applicable) |
190
- | `@haklex/rich-compose/modules/<name>/renderer` | default renderer only |
191
- | `@haklex/rich-compose/style.css` | core styles (skeletons, layout shell) |
190
+ | Path | Description |
191
+ | ---------------------------------------------- | --------------------------------------- |
192
+ | `@haklex/rich-compose` | core: `composeRenderer`, types, helpers |
193
+ | `@haklex/rich-compose/modules/<name>` | full module barrel |
194
+ | `@haklex/rich-compose/modules/<name>/node` | Klass(es) only (when applicable) |
195
+ | `@haklex/rich-compose/modules/<name>/renderer` | default renderer only |
196
+ | `@haklex/rich-compose/style.css` | core styles (skeletons, layout shell) |
192
197
 
193
198
  ## Part of Haklex
194
199
 
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/core/compose.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAA+C,MAAM,OAAO,CAAA;AAIvF,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EAEtB,MAAM,SAAS,CAAA;AAoChB,wBAAgB,eAAe,CAC7B,IAAI,EAAE,sBAAsB,GAC3B,aAAa,CAAC,qBAAqB,CAAC,CAiDtC"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/core/compose.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,aAAa,EAA+C,MAAM,OAAO,CAAC;AAIxF,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAsB,MAAM,SAAS,CAAC;AAkCjG,wBAAgB,eAAe,CAC7B,IAAI,EAAE,sBAAsB,GAC3B,aAAa,CAAC,qBAAqB,CAAC,CA4CtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dedup.d.ts","sourceRoot":"","sources":["../../src/core/dedup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,EACxC,OAAO,EAAE,kBAAkB,EAAE,GAAG,SAAS,GACxC,kBAAkB,EAAE,CA0BtB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAyB5E"}
1
+ {"version":3,"file":"dedup.d.ts","sourceRoot":"","sources":["../../src/core/dedup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,EACxC,OAAO,EAAE,kBAAkB,EAAE,GAAG,SAAS,GACxC,kBAAkB,EAAE,CA0BtB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAyB5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,YAAY,EACV,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,YAAY,EACV,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/core/lazy.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIzD,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE9D;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAsB/E"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/core/lazy.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAsB/E"}
@@ -4,6 +4,16 @@ import { Klass, LexicalNode, SerializedEditorState } from 'lexical';
4
4
  import { ComponentType, CSSProperties, ReactNode } from 'react';
5
5
  export type RendererKey = keyof RendererConfig;
6
6
  export interface RichRendererModule {
7
+ /**
8
+ * Lazy renderers. Each loader returns the renderer component as default
9
+ * export. composeRenderer wraps each in `React.lazy` (factory created
10
+ * once at compose time) + `<Suspense fallback={ssrFallback?.[type]}>`.
11
+ */
12
+ lazyRenderers?: Partial<{
13
+ [K in RendererKey]: () => Promise<{
14
+ default: NonNullable<RendererConfig[K]>;
15
+ }>;
16
+ }>;
7
17
  /** Stable identifier; used for dedup, debug logs, and Provider DevTools naming. */
8
18
  name: string;
9
19
  /**
@@ -12,8 +22,6 @@ export interface RichRendererModule {
12
22
  * composeRenderer treats missing `nodes` as `[]`.
13
23
  */
14
24
  nodes?: Klass<LexicalNode>[];
15
- /** type → Component map. Sync renderers. */
16
- renderers?: Partial<RendererConfig>;
17
25
  /**
18
26
  * Optional context provider. composeRenderer stacks Providers in module
19
27
  * order outside `<RichRenderer>`. Module Providers are for internal
@@ -23,16 +31,8 @@ export interface RichRendererModule {
23
31
  Provider?: ComponentType<{
24
32
  children: ReactNode;
25
33
  }>;
26
- /**
27
- * Lazy renderers. Each loader returns the renderer component as default
28
- * export. composeRenderer wraps each in `React.lazy` (factory created
29
- * once at compose time) + `<Suspense fallback={ssrFallback?.[type]}>`.
30
- */
31
- lazyRenderers?: Partial<{
32
- [K in RendererKey]: () => Promise<{
33
- default: NonNullable<RendererConfig[K]>;
34
- }>;
35
- }>;
34
+ /** type → Component map. Sync renderers. */
35
+ renderers?: Partial<RendererConfig>;
36
36
  /**
37
37
  * SSR / Suspense fallback. Must be deterministic — no Date.now, no random,
38
38
  * no client-only API access. Renders identically server-side and during
@@ -41,22 +41,22 @@ export interface RichRendererModule {
41
41
  ssrFallback?: Partial<Record<RendererKey, ReactNode>>;
42
42
  }
43
43
  export interface ComposeRendererOptions {
44
- /** Starting set; can be `shiroPreset`, custom array, or omitted. */
45
- preset?: RichRendererModule[];
44
+ /** Pass-through to `<RichRenderer>` for `paragraph` / `link` / `autolink` etc. */
45
+ builtinNodeOverrides?: Record<string, BuiltinNodeRenderer>;
46
46
  /** Appended to preset; later modules override earlier on `name` collision. */
47
47
  modules?: RichRendererModule[];
48
48
  /** Final renderer overrides; takes precedence over module-supplied renderers. */
49
49
  overrides?: Partial<RendererConfig>;
50
- /** Pass-through to `<RichRenderer>` for `paragraph` / `link` / `autolink` etc. */
51
- builtinNodeOverrides?: Record<string, BuiltinNodeRenderer>;
50
+ /** Starting set; can be `shiroPreset`, custom array, or omitted. */
51
+ preset?: RichRendererModule[];
52
52
  }
53
53
  export interface RichRendererBaseProps {
54
- value: SerializedEditorState;
55
- variant?: RichEditorVariant;
56
- theme?: 'light' | 'dark';
54
+ as?: keyof React.JSX.IntrinsicElements;
57
55
  className?: string;
58
- style?: CSSProperties;
59
56
  nested?: boolean;
60
- as?: keyof React.JSX.IntrinsicElements;
57
+ style?: CSSProperties;
58
+ theme?: 'light' | 'dark';
59
+ value: SerializedEditorState;
60
+ variant?: RichEditorVariant;
61
61
  }
62
62
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEpE,MAAM,MAAM,WAAW,GAAG,MAAM,cAAc,CAAA;AAE9C,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAA;IAE5B,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAEnC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;IAEjD;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;SACrB,CAAC,IAAI,WAAW,GAAG,MAAM,OAAO,CAAC;YAAE,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;SAAE,CAAC;KAC/E,CAAC,CAAA;IAEF;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;CACtD;AAED,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC7B,8EAA8E;IAC9E,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC9B,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACnC,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAC3D;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,qBAAqB,CAAA;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAA;CACvC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;SACrB,CAAC,IAAI,WAAW,GAAG,MAAM,OAAO,CAAC;YAAE,OAAO,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;SAAE,CAAC;KAC/E,CAAC,CAAC;IAEH,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;IAE7B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAElD,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,sBAAsB;IACrC,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3D,8EAA8E;IAC9E,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,oEAAoE;IACpE,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { composeRenderer, dedupNodes, mergeModules, wrapLazy, } from './core';
2
1
  export type { ComposeRendererOptions, RendererKey, RichRendererBaseProps, RichRendererModule, } from './core';
2
+ export { composeRenderer, dedupNodes, mergeModules, wrapLazy } from './core';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,QAAQ,CAAA;AACf,YAAY,EACV,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC"}
package/dist/index.mjs CHANGED
@@ -113,7 +113,7 @@ function composeRenderer(opts) {
113
113
  const finalConfig = {
114
114
  ...syncMap,
115
115
  ...lazyMap,
116
- ...opts.overrides ?? {}
116
+ ...opts.overrides
117
117
  };
118
118
  const ComposedProviders = composeProviders(merged);
119
119
  const builtinNodeOverrides = opts.builtinNodeOverrides;
@@ -1,3 +1,3 @@
1
- export { AlertRenderer } from './renderer';
2
1
  export { alertModule } from './module';
2
+ export { AlertRenderer } from './renderer';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/alert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/alert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/alert/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE1D,eAAO,MAAM,WAAW,EAAE,kBAGzB,CAAA"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/alert/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,eAAO,MAAM,WAAW,EAAE,kBAGzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/modules/alert/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAElE,OAAO,EAAE,aAAa,EAAE,CAAA;AACxB,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/modules/alert/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,eAAe,aAAa,CAAC"}
@@ -1,3 +1,3 @@
1
- export { BannerRenderer } from './renderer';
2
1
  export { bannerModule } from './module';
2
+ export { BannerRenderer } from './renderer';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/banner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/banner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/banner/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE1D,eAAO,MAAM,YAAY,EAAE,kBAG1B,CAAA"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/banner/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,eAAO,MAAM,YAAY,EAAE,kBAG1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/modules/banner/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAEpE,OAAO,EAAE,cAAc,EAAE,CAAA;AACzB,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/modules/banner/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,eAAe,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
- export type { ChatMessage, ChatParticipant, ChatParticipantKind, ChatRendererProps, ChatVariant, SerializedChatNode, } from '@haklex/rich-ext-chat/static';
2
- export { $createChatNode, $isChatNode, ChatNode, chatNodes, } from './node';
3
- export { ChatRenderer } from './renderer';
4
1
  export { chatModule } from './module';
2
+ export { $createChatNode, $isChatNode, ChatNode, chatNodes } from './node';
3
+ export { ChatRenderer } from './renderer';
4
+ export type { ChatMessage, ChatParticipant, ChatParticipantKind, ChatRendererProps, ChatVariant, SerializedChatNode, } from '@haklex/rich-ext-chat/static';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/chat/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,GACnB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,SAAS,GACV,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,GACnB,MAAM,8BAA8B,CAAC"}
@@ -1,11 +1,18 @@
1
1
  import { $createChatNode, $isChatNode, ChatNode, chatNodes } from "./node.mjs";
2
2
  import { ChatRenderer } from "./renderer.mjs";
3
- import { ChatRenderer as ChatRenderer$1, chatNodes as chatNodes$1 } from "@haklex/rich-ext-chat/static";
3
+ import { chatNodes as chatNodes$1 } from "@haklex/rich-ext-chat/node";
4
4
  //#region src/modules/chat/module.ts
5
+ /**
6
+ * Chat module — registers ChatNode (light) and lazy-loads ChatRenderer.
7
+ *
8
+ * Consumers can write a thin override module using `chatNodes` from
9
+ * `@haklex/rich-ext-chat/node` plus a custom `renderers: { Chat: ... }` to
10
+ * keep the default ChatRenderer chunk out of their bundle.
11
+ */
5
12
  var chatModule = {
6
13
  name: "chat",
7
14
  nodes: chatNodes$1,
8
- renderers: { Chat: ChatRenderer$1 }
15
+ lazyRenderers: { Chat: () => import("@haklex/rich-ext-chat/renderer") }
9
16
  };
10
17
  //#endregion
11
18
  export { $createChatNode, $isChatNode, ChatNode, ChatRenderer, chatModule, chatNodes };
@@ -1,3 +1,10 @@
1
1
  import { RichRendererModule } from '../../core/types';
2
+ /**
3
+ * Chat module — registers ChatNode (light) and lazy-loads ChatRenderer.
4
+ *
5
+ * Consumers can write a thin override module using `chatNodes` from
6
+ * `@haklex/rich-ext-chat/node` plus a custom `renderers: { Chat: ... }` to
7
+ * keep the default ChatRenderer chunk out of their bundle.
8
+ */
2
9
  export declare const chatModule: RichRendererModule;
3
10
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/chat/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE1D,eAAO,MAAM,UAAU,EAAE,kBAIxB,CAAA"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/chat/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,kBAMxB,CAAC"}
@@ -1,3 +1,3 @@
1
- export type { SerializedChatNode } from '@haklex/rich-ext-chat/static';
2
- export { $createChatNode, $isChatNode, ChatNode, chatNodes, } from '@haklex/rich-ext-chat/static';
1
+ export type { SerializedChatNode } from '@haklex/rich-ext-chat/node';
2
+ export { $createChatNode, $isChatNode, ChatNode, chatNodes } from '@haklex/rich-ext-chat/node';
3
3
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/modules/chat/node.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,SAAS,GACV,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/modules/chat/node.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,2 +1,2 @@
1
- import { $createChatNode, $isChatNode, ChatNode, chatNodes } from "@haklex/rich-ext-chat/static";
1
+ import { $createChatNode, $isChatNode, ChatNode, chatNodes } from "@haklex/rich-ext-chat/node";
2
2
  export { $createChatNode, $isChatNode, ChatNode, chatNodes };
@@ -1,4 +1,4 @@
1
- import { ChatRenderer } from '@haklex/rich-ext-chat/static';
1
+ import { ChatRenderer } from '@haklex/rich-ext-chat/renderer';
2
2
  export { ChatRenderer };
3
3
  export default ChatRenderer;
4
4
  //# sourceMappingURL=renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/modules/chat/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/modules/chat/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ChatRenderer } from "@haklex/rich-ext-chat/static";
1
+ import { ChatRenderer } from "@haklex/rich-ext-chat/renderer";
2
2
  //#region src/modules/chat/renderer.tsx
3
3
  var renderer_default = ChatRenderer;
4
4
  //#endregion
@@ -1,3 +1,3 @@
1
- export { CodeBlockRenderer } from './renderer';
2
1
  export { codeBlockModule } from './module';
2
+ export { CodeBlockRenderer } from './renderer';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/code-block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/code-block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/code-block/module.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG1D;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,kBAQ7B,CAAA"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/code-block/module.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,kBAQ7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/modules/code-block/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE1E,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/modules/code-block/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,eAAe,iBAAiB,CAAC"}
@@ -1,5 +1,5 @@
1
+ export { codeSnippetModule } from './module';
1
2
  export type { SerializedCodeSnippetNode } from './node';
2
3
  export { $createCodeSnippetNode, $isCodeSnippetNode, CodeSnippetNode, codeSnippetNodes, } from './node';
3
4
  export { CodeSnippetRenderer } from './renderer';
4
- export { codeSnippetModule } from './module';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/code-snippet/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAA;AACvD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/code-snippet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,11 +1,16 @@
1
1
  import { $createCodeSnippetNode, $isCodeSnippetNode, CodeSnippetNode, codeSnippetNodes } from "./node.mjs";
2
2
  import { CodeSnippetRenderer } from "./renderer.mjs";
3
- import { CodeSnippetRenderer as CodeSnippetRenderer$1, codeSnippetNodes as codeSnippetNodes$1 } from "@haklex/rich-ext-code-snippet/static";
3
+ import { codeSnippetNodes as codeSnippetNodes$1 } from "@haklex/rich-ext-code-snippet/node";
4
4
  //#region src/modules/code-snippet/module.ts
5
+ /**
6
+ * Code-snippet module — registers CodeSnippetNode (light) and lazy-loads
7
+ * CodeSnippetRenderer (shiki). Consumers can supply a thin override module
8
+ * to keep the heavy shiki-based default out of the bundle.
9
+ */
5
10
  var codeSnippetModule = {
6
11
  name: "code-snippet",
7
12
  nodes: codeSnippetNodes$1,
8
- renderers: { CodeSnippet: CodeSnippetRenderer$1 }
13
+ lazyRenderers: { CodeSnippet: () => import("@haklex/rich-ext-code-snippet/renderer") }
9
14
  };
10
15
  //#endregion
11
16
  export { $createCodeSnippetNode, $isCodeSnippetNode, CodeSnippetNode, CodeSnippetRenderer, codeSnippetModule, codeSnippetNodes };
@@ -1,3 +1,8 @@
1
1
  import { RichRendererModule } from '../../core/types';
2
+ /**
3
+ * Code-snippet module — registers CodeSnippetNode (light) and lazy-loads
4
+ * CodeSnippetRenderer (shiki). Consumers can supply a thin override module
5
+ * to keep the heavy shiki-based default out of the bundle.
6
+ */
2
7
  export declare const codeSnippetModule: RichRendererModule;
3
8
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/code-snippet/module.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE1D,eAAO,MAAM,iBAAiB,EAAE,kBAI/B,CAAA"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/code-snippet/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBAM/B,CAAC"}
@@ -1,3 +1,3 @@
1
- export type { SerializedCodeSnippetNode } from '@haklex/rich-ext-code-snippet/static';
2
- export { $createCodeSnippetNode, $isCodeSnippetNode, CodeSnippetNode, codeSnippetNodes, } from '@haklex/rich-ext-code-snippet/static';
1
+ export type { SerializedCodeSnippetNode } from '@haklex/rich-ext-code-snippet/node';
2
+ export { $createCodeSnippetNode, $isCodeSnippetNode, CodeSnippetNode, codeSnippetNodes, } from '@haklex/rich-ext-code-snippet/node';
3
3
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/modules/code-snippet/node.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,sCAAsC,CAAA"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/modules/code-snippet/node.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,oCAAoC,CAAC"}
@@ -1,2 +1,2 @@
1
- import { $createCodeSnippetNode, $isCodeSnippetNode, CodeSnippetNode, codeSnippetNodes } from "@haklex/rich-ext-code-snippet/static";
1
+ import { $createCodeSnippetNode, $isCodeSnippetNode, CodeSnippetNode, codeSnippetNodes } from "@haklex/rich-ext-code-snippet/node";
2
2
  export { $createCodeSnippetNode, $isCodeSnippetNode, CodeSnippetNode, codeSnippetNodes };
@@ -1,4 +1,4 @@
1
- import { CodeSnippetRenderer } from '@haklex/rich-ext-code-snippet/static';
1
+ import { CodeSnippetRenderer } from '@haklex/rich-ext-code-snippet/renderer';
2
2
  export { CodeSnippetRenderer };
3
3
  export default CodeSnippetRenderer;
4
4
  //# sourceMappingURL=renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/modules/code-snippet/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AAE1E,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAC9B,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/modules/code-snippet/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,eAAe,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CodeSnippetRenderer } from "@haklex/rich-ext-code-snippet/static";
1
+ import { CodeSnippetRenderer } from "@haklex/rich-ext-code-snippet/renderer";
2
2
  //#region src/modules/code-snippet/renderer.tsx
3
3
  var renderer_default = CodeSnippetRenderer;
4
4
  //#endregion
@@ -1,4 +1,4 @@
1
+ export { embedModule } from './module';
1
2
  export type { SerializedEmbedNode } from './node';
2
3
  export { $createEmbedNode, $isEmbedNode, EmbedNode, embedNodes } from './node';
3
- export { embedModule } from './module';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/embed/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/embed/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/embed/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,kBAGzB,CAAA"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/modules/embed/module.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,kBAGzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/modules/embed/node.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,+BAA+B,CAAA"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/modules/embed/node.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,+BAA+B,CAAC"}
@@ -1,5 +1,5 @@
1
+ export { excalidrawModule } from './module';
2
+ export { $createExcalidrawNode, $isExcalidrawNode, ExcalidrawNode, excalidrawNodes } from './node';
1
3
  export type { SerializedExcalidrawNode } from '@haklex/rich-ext-excalidraw/static';
2
4
  export { ExcalidrawConfigProvider, ExcalidrawDisplayRenderer, useExcalidrawConfig, } from '@haklex/rich-ext-excalidraw/static';
3
- export { $createExcalidrawNode, $isExcalidrawNode, ExcalidrawNode, excalidrawNodes, } from './node';
4
- export { excalidrawModule } from './module';
5
5
  //# sourceMappingURL=index.d.ts.map