@davincidreams/dynamic-canvas-react 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/README.md +261 -297
  2. package/dist/RendererFrame-ri9awAzI.cjs +1 -0
  3. package/dist/RendererFrame-w1obQvoH.js +25 -0
  4. package/dist/core/CanvasContainer.d.ts +23 -0
  5. package/dist/core/CanvasContainer.d.ts.map +1 -0
  6. package/dist/core/CanvasContext.d.ts +45 -0
  7. package/dist/core/CanvasContext.d.ts.map +1 -0
  8. package/dist/core/ComponentRegistry.d.ts +36 -0
  9. package/dist/core/ComponentRegistry.d.ts.map +1 -0
  10. package/dist/core/ErrorBoundary.d.ts +18 -0
  11. package/dist/core/ErrorBoundary.d.ts.map +1 -0
  12. package/dist/core/RendererResolver.d.ts +14 -0
  13. package/dist/core/RendererResolver.d.ts.map +1 -0
  14. package/dist/core/StreamProcessor.d.ts +34 -0
  15. package/dist/core/StreamProcessor.d.ts.map +1 -0
  16. package/dist/core/SurfaceManager.d.ts +36 -0
  17. package/dist/core/SurfaceManager.d.ts.map +1 -0
  18. package/dist/hooks/useA2UISurface.d.ts +41 -0
  19. package/dist/hooks/useA2UISurface.d.ts.map +1 -0
  20. package/dist/hooks/useStreamingContent.d.ts +17 -0
  21. package/dist/hooks/useStreamingContent.d.ts.map +1 -0
  22. package/dist/index.cjs +38 -0
  23. package/dist/index.d.ts +28 -302
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +1096 -0
  26. package/dist/renderers/ArtifactRenderer.d.ts +6 -0
  27. package/dist/renderers/ArtifactRenderer.d.ts.map +1 -0
  28. package/dist/renderers/ArtifactRenderer.test.d.ts +2 -0
  29. package/dist/renderers/ArtifactRenderer.test.d.ts.map +1 -0
  30. package/dist/renderers/ChartRenderer.d.ts +20 -0
  31. package/dist/renderers/ChartRenderer.d.ts.map +1 -0
  32. package/dist/renderers/CodeRenderer.d.ts +16 -0
  33. package/dist/renderers/CodeRenderer.d.ts.map +1 -0
  34. package/dist/renderers/CustomRenderer.d.ts +14 -0
  35. package/dist/renderers/CustomRenderer.d.ts.map +1 -0
  36. package/dist/renderers/DocumentRenderer.d.ts +15 -0
  37. package/dist/renderers/DocumentRenderer.d.ts.map +1 -0
  38. package/dist/renderers/KnowledgeGraphRenderer.d.ts +6 -0
  39. package/dist/renderers/KnowledgeGraphRenderer.d.ts.map +1 -0
  40. package/dist/renderers/MapRenderer.d.ts +6 -0
  41. package/dist/renderers/MapRenderer.d.ts.map +1 -0
  42. package/dist/renderers/MediaRenderer.d.ts +6 -0
  43. package/dist/renderers/MediaRenderer.d.ts.map +1 -0
  44. package/dist/renderers/MediaRenderer.test.d.ts +2 -0
  45. package/dist/renderers/MediaRenderer.test.d.ts.map +1 -0
  46. package/dist/renderers/TimelineRenderer.d.ts +16 -0
  47. package/dist/renderers/TimelineRenderer.d.ts.map +1 -0
  48. package/dist/renderers/artifact.cjs +2 -0
  49. package/dist/renderers/artifact.js +35 -0
  50. package/dist/renderers/chart.cjs +1 -0
  51. package/dist/renderers/chart.js +121 -0
  52. package/dist/renderers/code.cjs +2 -0
  53. package/dist/renderers/code.js +100 -0
  54. package/dist/renderers/document.cjs +1 -0
  55. package/dist/renderers/document.js +46 -0
  56. package/dist/renderers/index.d.ts +15 -0
  57. package/dist/renderers/index.d.ts.map +1 -0
  58. package/dist/renderers/knowledge-graph.cjs +1 -0
  59. package/dist/renderers/knowledge-graph.js +120 -0
  60. package/dist/renderers/map.cjs +1 -0
  61. package/dist/renderers/map.js +56 -0
  62. package/dist/renderers/media.cjs +1 -0
  63. package/dist/renderers/media.js +71 -0
  64. package/dist/renderers/shared/LazyWrapper.d.ts +9 -0
  65. package/dist/renderers/shared/LazyWrapper.d.ts.map +1 -0
  66. package/dist/renderers/shared/RendererFrame.d.ts +10 -0
  67. package/dist/renderers/shared/RendererFrame.d.ts.map +1 -0
  68. package/dist/renderers/timeline.cjs +1 -0
  69. package/dist/renderers/timeline.js +105 -0
  70. package/dist/schema/a2ui-envelope.d.ts +60 -0
  71. package/dist/schema/a2ui-envelope.d.ts.map +1 -0
  72. package/dist/schema/catalog-definition.d.ts +25 -0
  73. package/dist/schema/catalog-definition.d.ts.map +1 -0
  74. package/dist/schema/component-types.d.ts +28 -0
  75. package/dist/schema/component-types.d.ts.map +1 -0
  76. package/dist/schema/components/artifact.d.ts +18 -0
  77. package/dist/schema/components/artifact.d.ts.map +1 -0
  78. package/dist/schema/components/chart.d.ts +33 -0
  79. package/dist/schema/components/chart.d.ts.map +1 -0
  80. package/dist/schema/components/code.d.ts +15 -0
  81. package/dist/schema/components/code.d.ts.map +1 -0
  82. package/dist/schema/components/custom.d.ts +13 -0
  83. package/dist/schema/components/custom.d.ts.map +1 -0
  84. package/dist/schema/components/document.d.ts +13 -0
  85. package/dist/schema/components/document.d.ts.map +1 -0
  86. package/dist/schema/components/knowledge-graph.d.ts +35 -0
  87. package/dist/schema/components/knowledge-graph.d.ts.map +1 -0
  88. package/dist/schema/components/map.d.ts +35 -0
  89. package/dist/schema/components/map.d.ts.map +1 -0
  90. package/dist/schema/components/media.d.ts +20 -0
  91. package/dist/schema/components/media.d.ts.map +1 -0
  92. package/dist/schema/components/timeline.d.ts +28 -0
  93. package/dist/schema/components/timeline.d.ts.map +1 -0
  94. package/dist/schema/index.d.ts +12 -0
  95. package/dist/schema/index.d.ts.map +1 -0
  96. package/dist/schema/validation.d.ts +15 -0
  97. package/dist/schema/validation.d.ts.map +1 -0
  98. package/dist/schema.cjs +1 -0
  99. package/dist/schema.d.ts +7 -0
  100. package/dist/schema.d.ts.map +1 -0
  101. package/dist/schema.js +194 -0
  102. package/dist/themes/darkTheme.d.ts +3 -0
  103. package/dist/themes/darkTheme.d.ts.map +1 -0
  104. package/dist/themes/defaultTheme.d.ts +3 -0
  105. package/dist/themes/defaultTheme.d.ts.map +1 -0
  106. package/dist/themes/index.d.ts +9 -0
  107. package/dist/themes/index.d.ts.map +1 -0
  108. package/dist/themes/lightTheme.d.ts +3 -0
  109. package/dist/themes/lightTheme.d.ts.map +1 -0
  110. package/dist/themes/types.d.ts +8 -0
  111. package/dist/themes/types.d.ts.map +1 -0
  112. package/dist/types/index.d.ts +164 -0
  113. package/dist/types/index.d.ts.map +1 -0
  114. package/dist/utils/contentAnalyzer.d.ts +46 -0
  115. package/dist/utils/contentAnalyzer.d.ts.map +1 -0
  116. package/dist/utils/jsonPointer.d.ts +15 -0
  117. package/dist/utils/jsonPointer.d.ts.map +1 -0
  118. package/dist/utils/streaming.d.ts +10 -0
  119. package/dist/utils/streaming.d.ts.map +1 -0
  120. package/package.json +97 -15
  121. package/dist/dynamic-canvas.cjs.js +0 -65
  122. package/dist/dynamic-canvas.es.js +0 -966
  123. package/dist/dynamic-canvas.umd.js +0 -65
package/dist/index.d.ts CHANGED
@@ -1,302 +1,28 @@
1
- import { default as default_2 } from 'react';
2
- import { ReactNode } from 'react';
3
-
4
- export declare type ArtifactFormat = 'json' | 'csv' | 'txt' | 'html' | 'pdf';
5
-
6
- export declare interface CanvasConfig {
7
- layout?: 'side-by-side' | 'stacked' | 'fullscreen';
8
- widthRatio?: number;
9
- theme?: Theme;
10
- themeMode?: 'light' | 'dark' | 'system';
11
- autoDetectType?: boolean;
12
- onContentChange?: (content: CanvasContent_2) => void;
13
- onDownload?: (content: CanvasContent_2, format: string) => void;
14
- onRendererError?: (error: Error, type: string) => void;
15
- rendererProps?: Record<string, any>;
16
- }
17
-
18
- export declare const CanvasContainer: default_2.FC<CanvasContainerProps>;
19
-
20
- declare interface CanvasContainerProps {
21
- children: ReactNode;
22
- theme: Theme;
23
- className?: string;
24
- }
25
-
26
- export declare const CanvasContent: default_2.FC<{
27
- children: ReactNode;
28
- theme: Theme;
29
- }>;
30
-
31
- declare interface CanvasContent_2 {
32
- type: CanvasContentType;
33
- data: any;
34
- title?: string;
35
- description?: string;
36
- metadata?: Record<string, any>;
37
- }
38
-
39
- /**
40
- * Core type definitions for the Dynamic Canvas library
41
- */
42
- export declare type CanvasContentType = 'chart' | 'timeline' | 'code' | 'document' | 'custom';
43
-
44
- export declare type CanvasContentUnion = ChartContent | TimelineContent | CodeContent | DocumentContent | CustomContent;
45
-
46
- export declare interface CanvasEvent {
47
- type: 'contentChange' | 'download' | 'error';
48
- content?: CanvasContent_2;
49
- format?: string;
50
- error?: Error;
51
- }
52
-
53
- export declare const CanvasHeader: default_2.FC<{
54
- title?: string;
55
- description?: string;
56
- theme: Theme;
57
- }>;
58
-
59
- export declare const CanvasProvider: default_2.FC<CanvasProviderProps>;
60
-
61
- declare interface CanvasProviderProps {
62
- children: ReactNode;
63
- initialTheme?: Theme;
64
- initialThemeMode?: 'light' | 'dark' | 'system';
65
- initialContent?: CanvasContent_2;
66
- }
67
-
68
- export declare const CanvasToolbar: default_2.FC<{
69
- children: ReactNode;
70
- theme: Theme;
71
- }>;
72
-
73
- export declare interface ChartContent extends CanvasContent_2 {
74
- type: 'chart';
75
- chartType: ChartOptions['chartType'];
76
- data: ChartData;
77
- options?: ChartOptions;
78
- }
79
-
80
- export declare interface ChartData {
81
- labels: string[];
82
- values: number[];
83
- series?: Array<{
84
- name: string;
85
- data: number[];
86
- }>;
87
- }
88
-
89
- export declare interface ChartOptions {
90
- chartType?: 'bar' | 'line' | 'scatter' | 'pie' | 'custom';
91
- colors?: string[];
92
- title?: string;
93
- xAxisLabel?: string;
94
- yAxisLabel?: string;
95
- showLegend?: boolean;
96
- }
97
-
98
- export declare const ChartRenderer: default_2.FC<ChartRendererProps>;
99
-
100
- declare interface ChartRendererProps {
101
- content: ChartContent;
102
- theme: Theme;
103
- }
104
-
105
- export declare interface CodeContent extends CanvasContent_2 {
106
- type: 'code';
107
- code: string;
108
- language: string;
109
- filename?: string;
110
- showLineNumbers?: boolean;
111
- showCopyButton?: boolean;
112
- }
113
-
114
- export declare const CodeRenderer: default_2.FC<CodeRendererProps>;
115
-
116
- declare interface CodeRendererProps {
117
- content: CodeContent;
118
- theme: Theme;
119
- }
120
-
121
- export declare class ContentAnalyzer {
122
- /**
123
- * Detect the content type from a string
124
- */
125
- static detectType(content: string): CanvasContentType;
126
- /**
127
- * Extract chart data from content
128
- */
129
- static extractChartData(content: string): {
130
- labels: number[];
131
- values: number[];
132
- } | null;
133
- /**
134
- * Extract timeline events from content
135
- */
136
- static extractTimelineEvents(content: string): any[] | null;
137
- /**
138
- * Extract code from content
139
- */
140
- static extractCode(content: string): {
141
- code: string;
142
- language: string;
143
- } | null;
144
- /**
145
- * Analyze content and return appropriate content object
146
- */
147
- static analyze(content: string): any;
148
- }
149
-
150
- export declare interface CustomContent extends CanvasContent_2 {
151
- type: 'custom';
152
- component?: React.ComponentType<any>;
153
- props?: Record<string, any>;
154
- }
155
-
156
- export declare const CustomRenderer: default_2.FC<CustomRendererProps>;
157
-
158
- declare interface CustomRendererProps {
159
- content: CustomContent;
160
- theme: Theme;
161
- }
162
-
163
- export declare const darkTheme: Theme;
164
-
165
- export declare const defaultTheme: Theme;
166
-
167
- export declare interface DocumentContent extends CanvasContent_2 {
168
- type: 'document';
169
- content: string;
170
- format: 'markdown' | 'html' | 'pdf';
171
- title?: string;
172
- }
173
-
174
- export declare const DocumentRenderer: default_2.FC<DocumentRendererProps>;
175
-
176
- declare interface DocumentRendererProps {
177
- content: DocumentContent;
178
- theme: Theme;
179
- }
180
-
181
- export declare interface DownloadOptions {
182
- format: ArtifactFormat;
183
- filename?: string;
184
- includeMetadata?: boolean;
185
- }
186
-
187
- export declare interface LayoutConfig {
188
- layout: 'side-by-side' | 'stacked' | 'fullscreen';
189
- widthRatio: number;
190
- isMobile: boolean;
191
- isTablet: boolean;
192
- isDesktop: boolean;
193
- }
194
-
195
- export declare const lightTheme: Theme;
196
-
197
- export declare interface Theme {
198
- colors: ThemeColors;
199
- spacing: ThemeSpacing;
200
- typography: ThemeTypography;
201
- borderRadius: ThemeBorderRadius;
202
- shadows: ThemeShadows;
203
- }
204
-
205
- export declare interface ThemeBorderRadius {
206
- sm: string;
207
- md: string;
208
- lg: string;
209
- xl: string;
210
- }
211
-
212
- export declare interface ThemeColors {
213
- background: string;
214
- surface: string;
215
- primary: string;
216
- secondary: string;
217
- text: string;
218
- muted: string;
219
- border: string;
220
- highlight: string;
221
- }
222
-
223
- declare interface ThemeContextType {
224
- theme: Theme;
225
- setTheme: (theme: Theme) => void;
226
- themeMode: 'light' | 'dark' | 'system';
227
- setThemeMode: (mode: 'light' | 'dark' | 'system') => void;
228
- }
229
-
230
- export declare interface ThemeShadows {
231
- sm: string;
232
- md: string;
233
- lg: string;
234
- }
235
-
236
- export declare interface ThemeSpacing {
237
- xs: string;
238
- sm: string;
239
- md: string;
240
- lg: string;
241
- xl: string;
242
- }
243
-
244
- export declare interface ThemeTypography {
245
- font: string;
246
- sizes: {
247
- xs: string;
248
- sm: string;
249
- md: string;
250
- lg: string;
251
- xl: string;
252
- };
253
- weights: {
254
- normal: number;
255
- medium: number;
256
- bold: number;
257
- };
258
- }
259
-
260
- export declare interface TimelineContent extends CanvasContent_2 {
261
- type: 'timeline';
262
- events: TimelineEvent[];
263
- options?: TimelineOptions;
264
- }
265
-
266
- export declare interface TimelineEvent {
267
- date: string;
268
- title: string;
269
- description?: string;
270
- icon?: string;
271
- link?: string;
272
- }
273
-
274
- export declare interface TimelineOptions {
275
- orientation?: 'horizontal' | 'vertical';
276
- showDate?: boolean;
277
- showDescription?: boolean;
278
- compact?: boolean;
279
- }
280
-
281
- export declare const TimelineRenderer: default_2.FC<TimelineRendererProps>;
282
-
283
- declare interface TimelineRendererProps {
284
- content: TimelineContent;
285
- theme: Theme;
286
- }
287
-
288
- export declare const useCanvas: () => ThemeContextType;
289
-
290
- export declare const useCanvasContent: () => {
291
- content: any;
292
- setContent: any;
293
- };
294
-
295
- export declare const useCanvasLayout: () => {
296
- layout: any;
297
- widthRatio: any;
298
- setLayout: any;
299
- setWidthRatio: any;
300
- };
301
-
302
- export { }
1
+ /**
2
+ * @davincidreams/dynamic-canvas-react
3
+ * A2UI-native dynamic canvas component for React
4
+ */
5
+ export { CanvasProvider, useCanvas, useCanvasContent, useCanvasLayout } from './core/CanvasContext';
6
+ export { CanvasContainer, CanvasHeader, CanvasContent, CanvasToolbar } from './core/CanvasContainer';
7
+ export { ChartRenderer, TimelineRenderer, CodeRenderer, DocumentRenderer, CustomRenderer } from './renderers';
8
+ export { defaultTheme, lightTheme, darkTheme } from './themes';
9
+ export type { Theme } from './themes';
10
+ export { ContentAnalyzer, canvasContentToA2UI } from './utils/contentAnalyzer';
11
+ export * from './types';
12
+ export * from './schema';
13
+ export { createSurfaceManager, type Surface, type SurfaceManagerState, type SurfaceManagerStore } from './core/SurfaceManager';
14
+ export { StreamProcessor, type StreamProcessorOptions, type MessageCallback, type ErrorCallback } from './core/StreamProcessor';
15
+ export { ComponentRegistry, createDefaultRegistry, type RendererProps } from './core/ComponentRegistry';
16
+ export { RendererResolver } from './core/RendererResolver';
17
+ export { ErrorBoundary } from './core/ErrorBoundary';
18
+ export { useA2UISurface, type UseA2UISurfaceOptions, type A2UISurfaceResult } from './hooks/useA2UISurface';
19
+ export { useStreamingContent, type UseStreamingContentOptions, type StreamingContentResult } from './hooks/useStreamingContent';
20
+ export { default as MediaRenderer } from './renderers/MediaRenderer';
21
+ export { default as ArtifactRenderer } from './renderers/ArtifactRenderer';
22
+ export { default as KnowledgeGraphRenderer } from './renderers/KnowledgeGraphRenderer';
23
+ export { default as MapRenderer } from './renderers/MapRenderer';
24
+ export { LazyWrapper } from './renderers/shared/LazyWrapper';
25
+ export { RendererFrame } from './renderers/shared/RendererFrame';
26
+ export { resolvePointer, setPointer, appendAtPointer, parsePointer, escapeToken } from './utils/jsonPointer';
27
+ export { debounce, batchCalls } from './utils/streaming';
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,oBAAoB,EAAE,KAAK,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC/H,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAChI,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxG,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5G,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGhI,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}