doc-render-sdk 0.0.1 → 0.0.3

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.
@@ -0,0 +1,697 @@
1
+ import { ComponentType, ReactNode } from "react";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/core/PluginManager.d.ts
5
+ /**
6
+ * 插件管理器
7
+ * 负责管理文档站点的插件系统
8
+ */
9
+ declare class PluginManager {
10
+ configManager: any;
11
+ plugins: Map<any, any>;
12
+ hooks: Map<any, any>;
13
+ renderer: any;
14
+ constructor(configManager: any);
15
+ /**
16
+ * 初始化插件管理器
17
+ * @param {DocRenderer} renderer - 文档渲染器实例
18
+ */
19
+ initialize(renderer: any): void;
20
+ /**
21
+ * 注册插件
22
+ * @param {Object} plugin - 插件对象
23
+ * @returns {boolean} 注册是否成功
24
+ */
25
+ register(plugin: any): boolean;
26
+ /**
27
+ * 加载插件
28
+ * @param {Object|string} pluginConfig - 插件配置或插件名称
29
+ */
30
+ loadPlugin(pluginConfig: any): Promise<void>;
31
+ /**
32
+ * 通过名称加载插件
33
+ * @param {string} name - 插件名称
34
+ * @returns {Object} 插件对象
35
+ */
36
+ loadPluginByName(name: any): Promise<any>;
37
+ /**
38
+ * 激活插件
39
+ * @param {string} name - 插件名称
40
+ */
41
+ activatePlugin(name: any): void;
42
+ /**
43
+ * 停用插件
44
+ * @param {string} name - 插件名称
45
+ */
46
+ deactivatePlugin(name: any): void;
47
+ /**
48
+ * 创建插件上下文
49
+ * @param {Object} plugin - 插件对象
50
+ * @returns {Object} 插件上下文
51
+ */
52
+ createPluginContext(plugin: any): {
53
+ plugin: {
54
+ name: any;
55
+ version: any;
56
+ config: any;
57
+ };
58
+ renderer: any;
59
+ config: any;
60
+ theme: any;
61
+ components: any;
62
+ router: any;
63
+ hooks: {
64
+ add: (hookName: any, handler: any, pluginName: any) => void;
65
+ remove: (hookName: any, handler: any) => void;
66
+ call: (hookName: any, ...args: any[]) => any[];
67
+ };
68
+ events: {
69
+ on: any;
70
+ off: any;
71
+ emit: any;
72
+ };
73
+ };
74
+ /**
75
+ * 添加钩子
76
+ * @param {string} hookName - 钩子名称
77
+ * @param {Function} handler - 处理函数
78
+ * @param {string} pluginName - 插件名称
79
+ */
80
+ addHook(hookName: any, handler: any, pluginName: any): void;
81
+ /**
82
+ * 移除钩子
83
+ * @param {string} hookName - 钩子名称
84
+ * @param {Function} handler - 处理函数
85
+ */
86
+ removeHook(hookName: any, handler: any): void;
87
+ /**
88
+ * 移除插件的所有钩子
89
+ * @param {string} pluginName - 插件名称
90
+ */
91
+ removePluginHooks(pluginName: any): void;
92
+ /**
93
+ * 调用钩子
94
+ * @param {string} hookName - 钩子名称
95
+ * @param {...any} args - 参数
96
+ * @returns {Array} 钩子返回值数组
97
+ */
98
+ callHook(hookName: any, ...args: any[]): any[];
99
+ /**
100
+ * 验证插件
101
+ * @param {Object} plugin - 插件对象
102
+ * @returns {boolean} 是否有效
103
+ */
104
+ validatePlugin(plugin: any): boolean;
105
+ /**
106
+ * 获取插件信息
107
+ * @param {string} name - 插件名称
108
+ * @returns {Object|null} 插件信息
109
+ */
110
+ getPlugin(name: any): any;
111
+ /**
112
+ * 获取所有插件
113
+ * @returns {Array} 插件数组
114
+ */
115
+ getPlugins(): any[];
116
+ /**
117
+ * 获取活跃插件
118
+ * @returns {Array} 活跃插件数组
119
+ */
120
+ getActivePlugins(): any[];
121
+ /**
122
+ * 销毁插件管理器
123
+ */
124
+ destroy(): void;
125
+ }
126
+ //#endregion
127
+ //#region src/types/index.d.ts
128
+ interface DocConfig {
129
+ title: string;
130
+ description?: string;
131
+ version?: string;
132
+ theme?: Theme | string;
133
+ layout?: LayoutConfig;
134
+ components?: Record<string, ComponentConfig>;
135
+ installation?: string;
136
+ usage?: string;
137
+ features?: Feature[];
138
+ footerLinks?: FooterLink[];
139
+ homeContent?: HomeContent;
140
+ footerContent?: FooterContent;
141
+ plugins?: Plugin[];
142
+ debug?: boolean;
143
+ }
144
+ interface Theme {
145
+ name: string;
146
+ colors?: ThemeColors;
147
+ typography?: ThemeTypography;
148
+ spacing?: ThemeSpacing;
149
+ layout?: ThemeLayout;
150
+ components?: Record<string, string>;
151
+ }
152
+ interface ThemeColors {
153
+ primary?: string;
154
+ success?: string;
155
+ warning?: string;
156
+ error?: string;
157
+ text?: string;
158
+ textSecondary?: string;
159
+ textTertiary?: string;
160
+ background?: string;
161
+ backgroundSecondary?: string;
162
+ backgroundTertiary?: string;
163
+ border?: string;
164
+ borderSecondary?: string;
165
+ code?: {
166
+ background?: string;
167
+ text?: string;
168
+ };
169
+ }
170
+ interface ThemeTypography {
171
+ fontFamily?: string;
172
+ fontFamilyCode?: string;
173
+ fontSize?: Record<string, string>;
174
+ fontWeight?: Record<string, string | number>;
175
+ lineHeight?: Record<string, string | number>;
176
+ }
177
+ interface ThemeSpacing {
178
+ xs?: string;
179
+ sm?: string;
180
+ md?: string;
181
+ lg?: string;
182
+ xl?: string;
183
+ '2xl'?: string;
184
+ '3xl'?: string;
185
+ '4xl'?: string;
186
+ }
187
+ interface ThemeLayout {
188
+ borderRadius?: string;
189
+ boxShadow?: string;
190
+ maxWidth?: string;
191
+ }
192
+ interface LayoutConfig {
193
+ type?: 'sidebar' | 'top' | 'mixed';
194
+ sidebar?: SidebarConfig;
195
+ header?: HeaderConfig;
196
+ }
197
+ interface SidebarConfig {
198
+ width?: number;
199
+ collapsible?: boolean;
200
+ collapsed?: boolean;
201
+ }
202
+ interface HeaderConfig {
203
+ height?: number;
204
+ logo?: string;
205
+ title?: string;
206
+ navigation?: NavigationItem[];
207
+ actions?: HeaderAction[];
208
+ }
209
+ interface ComponentConfig {
210
+ label: string;
211
+ description?: string;
212
+ demos?: DemoConfig[];
213
+ apis?: ApiConfig[];
214
+ group?: string;
215
+ order?: number;
216
+ }
217
+ interface DemoConfig {
218
+ title: string;
219
+ desc?: string;
220
+ source: string;
221
+ code?: string;
222
+ }
223
+ interface ApiConfig {
224
+ title: string;
225
+ apiKey: string;
226
+ description?: string;
227
+ }
228
+ interface ApiItem {
229
+ param: string;
230
+ type: string;
231
+ desc: string;
232
+ option?: string;
233
+ default?: string;
234
+ required?: boolean;
235
+ deprecated?: boolean;
236
+ }
237
+ interface NavigationItem {
238
+ label: string;
239
+ path?: string;
240
+ children?: NavigationItem[];
241
+ external?: boolean;
242
+ }
243
+ interface HeaderAction {
244
+ type: 'link' | 'button';
245
+ label: string;
246
+ url?: string;
247
+ onClick?: () => void;
248
+ icon?: ReactNode;
249
+ }
250
+ interface Feature {
251
+ icon: string;
252
+ title: string;
253
+ description: string;
254
+ }
255
+ interface FooterLink {
256
+ text: string;
257
+ url: string;
258
+ external?: boolean;
259
+ }
260
+ interface HomeContent {
261
+ welcome?: {
262
+ title?: string;
263
+ description?: string;
264
+ version?: string;
265
+ };
266
+ features?: Feature[];
267
+ quickStart?: {
268
+ installation?: string;
269
+ usage?: string;
270
+ };
271
+ }
272
+ interface FooterContent {
273
+ copyright?: string;
274
+ links?: FooterLink[];
275
+ poweredBy?: string;
276
+ }
277
+ interface Plugin {
278
+ name: string;
279
+ version?: string;
280
+ install: (context: PluginContext) => void;
281
+ }
282
+ interface PluginContext {
283
+ hooks: HookManager;
284
+ events: EventManager;
285
+ config: ConfigManager$1;
286
+ theme: ThemeManager$1;
287
+ }
288
+ interface HookManager {
289
+ add: (name: string, handler: Function) => void;
290
+ remove: (name: string, handler: Function) => void;
291
+ call: (name: string, ...args: any[]) => any[];
292
+ }
293
+ interface EventManager {
294
+ on: (event: string, handler: Function) => void;
295
+ off: (event: string, handler: Function) => void;
296
+ emit: (event: string, data?: any) => void;
297
+ }
298
+ interface ConfigManager$1 {
299
+ get: (path?: string) => any;
300
+ set: (path: string, value: any) => void;
301
+ update: (config: Partial<DocConfig>) => void;
302
+ getConfig: () => DocConfig;
303
+ }
304
+ interface ThemeManager$1 {
305
+ setTheme: (theme: Theme | string) => void;
306
+ applyTheme: () => void;
307
+ }
308
+ interface ComponentRegistry {
309
+ register: (name: string, component: ComponentType) => void;
310
+ get: (name: string) => ComponentType | undefined;
311
+ getDemo: (componentName: string, demoName: string) => ComponentType | undefined;
312
+ getApi: (componentName: string, apiName: string) => ApiItem[] | undefined;
313
+ }
314
+ interface RouterManager {
315
+ navigate: (path: string) => void;
316
+ getCurrentRoute: () => string;
317
+ onRouteChange: (handler: (route: string) => void) => void;
318
+ }
319
+ interface RendererOptions {
320
+ configManager: ConfigManager$1;
321
+ themeManager: ThemeManager$1;
322
+ pluginManager: PluginManager;
323
+ }
324
+ interface GlobalDemos {
325
+ [componentName: string]: {
326
+ [demoName: string]: ComponentType;
327
+ };
328
+ }
329
+ interface GlobalDemoCodes {
330
+ [componentName: string]: {
331
+ [demoName: string]: string;
332
+ };
333
+ }
334
+ interface GlobalApis {
335
+ [componentName: string]: {
336
+ [apiName: string]: ApiItem[];
337
+ };
338
+ }
339
+ declare global {
340
+ interface Window {
341
+ __DOC_SDK_DEMOS__?: GlobalDemos;
342
+ __DOC_SDK_DEMO_CODES__?: GlobalDemoCodes;
343
+ __DOC_SDK_APIS__?: GlobalApis;
344
+ }
345
+ }
346
+ //# sourceMappingURL=index.d.ts.map
347
+ //#endregion
348
+ //#region src/core/DocRenderer.d.ts
349
+ declare class DocRenderer {
350
+ private configManager;
351
+ private themeManager;
352
+ private pluginManager;
353
+ private routerManager;
354
+ private componentRegistry;
355
+ private targetElement;
356
+ private isRendered;
357
+ constructor({
358
+ configManager,
359
+ themeManager,
360
+ pluginManager
361
+ }: RendererOptions);
362
+ /**
363
+ * 渲染文档到指定容器
364
+ * @param {string|HTMLElement} target - 目标容器
365
+ */
366
+ render(target: any): Promise<this>;
367
+ /**
368
+ * 渲染主布局
369
+ */
370
+ renderLayout(): void;
371
+ /**
372
+ * 注册组件
373
+ */
374
+ registerComponents(): Promise<void>;
375
+ /**
376
+ * 处理路由变化
377
+ * @param {Object} route - 路由信息
378
+ */
379
+ handleRouteChange(route: any): void;
380
+ /**
381
+ * 更新渲染
382
+ */
383
+ update(): this;
384
+ /**
385
+ * 销毁渲染器
386
+ */
387
+ destroy(): this;
388
+ /**
389
+ * 获取组件注册表
390
+ */
391
+ getComponentRegistry(): any;
392
+ /**
393
+ * 获取路由管理器
394
+ */
395
+ getRouterManager(): any;
396
+ /**
397
+ * 获取当前路由
398
+ */
399
+ getCurrentRoute(): any;
400
+ /**
401
+ * 导航到指定路由
402
+ * @param {string} path - 路由路径
403
+ * @param {Object} params - 路由参数
404
+ */
405
+ navigate(path: any, params?: {}): any;
406
+ }
407
+ //#endregion
408
+ //#region src/core/ConfigManager.d.ts
409
+ declare class ConfigManager {
410
+ private config;
411
+ private listeners;
412
+ constructor(userConfig?: Partial<DocConfig>);
413
+ /**
414
+ * 合并配置
415
+ */
416
+ private mergeConfig;
417
+ /**
418
+ * 获取完整配置
419
+ */
420
+ getConfig(): DocConfig;
421
+ /**
422
+ * 获取配置项
423
+ */
424
+ get(path?: string, defaultValue?: any): any;
425
+ /**
426
+ * 设置配置项
427
+ */
428
+ set(path: string, value: any): void;
429
+ /**
430
+ * 更新配置
431
+ */
432
+ update(newConfig: Partial<DocConfig>): void;
433
+ /**
434
+ * 重置配置
435
+ */
436
+ reset(newConfig?: Partial<DocConfig>): void;
437
+ /**
438
+ * 监听配置变化
439
+ */
440
+ onChange(listener: (config: DocConfig) => void): () => void;
441
+ /**
442
+ * 通知配置变化
443
+ */
444
+ private notifyChange;
445
+ /**
446
+ * 验证配置
447
+ * @param {Object} config - 要验证的配置
448
+ * @returns {Object} 验证结果
449
+ */
450
+ validate(config?: DocConfig): {
451
+ isValid: boolean;
452
+ errors: never[];
453
+ warnings: string[];
454
+ };
455
+ /**
456
+ * 获取组件配置
457
+ * @param {string} componentId - 组件ID
458
+ * @returns {Object|null} 组件配置
459
+ */
460
+ getComponent(componentId: any): any;
461
+ /**
462
+ * 获取所有组件配置
463
+ * @returns {Object} 组件配置对象
464
+ */
465
+ getComponents(): any;
466
+ /**
467
+ * 获取主题配置
468
+ * @returns {Object} 主题配置
469
+ */
470
+ getTheme(): any;
471
+ /**
472
+ * 获取布局配置
473
+ * @returns {Object} 布局配置
474
+ */
475
+ getLayout(): any;
476
+ /**
477
+ * 获取插件配置
478
+ * @returns {Array} 插件配置数组
479
+ */
480
+ getPlugins(): any;
481
+ }
482
+ //#endregion
483
+ //#region src/core/ThemeManager.d.ts
484
+ declare class ThemeManager {
485
+ private configManager;
486
+ private themes;
487
+ private currentTheme;
488
+ private styleElement;
489
+ constructor(configManager: any);
490
+ /**
491
+ * 初始化主题管理器
492
+ */
493
+ initialize(): void;
494
+ /**
495
+ * 注册主题
496
+ * @param {string} name - 主题名称
497
+ * @param {Object} theme - 主题对象
498
+ */
499
+ registerTheme(name: any, theme: any): void;
500
+ /**
501
+ * 设置当前主题
502
+ * @param {string|Object} theme - 主题名称或主题对象
503
+ * @param {Object} customConfig - 自定义配置
504
+ */
505
+ setTheme(theme: any, customConfig?: {}): void;
506
+ /**
507
+ * 合并主题配置
508
+ * @param {Object} baseTheme - 基础主题
509
+ * @param {Object} customConfig - 自定义配置
510
+ * @returns {Object} 合并后的主题
511
+ */
512
+ mergeTheme(baseTheme: any, customConfig: any): any;
513
+ /**
514
+ * 应用主题样式
515
+ */
516
+ applyTheme(): void;
517
+ /**
518
+ * 生成CSS变量
519
+ * @returns {string} CSS变量字符串
520
+ */
521
+ generateCSSVariables(): string;
522
+ /**
523
+ * 生成主题样式
524
+ * @returns {string} 主题样式字符串
525
+ */
526
+ generateThemeStyles(): string;
527
+ /**
528
+ * 将对象转换为CSS规则
529
+ * @param {Object} obj - 样式对象
530
+ * @param {string} selector - CSS选择器
531
+ * @returns {string} CSS规则字符串
532
+ */
533
+ objectToCSS(obj: any, selector: any): string;
534
+ /**
535
+ * 获取当前主题
536
+ * @returns {Object} 当前主题对象
537
+ */
538
+ getCurrentTheme(): Theme | null;
539
+ /**
540
+ * 获取主题变量值
541
+ * @param {string} path - 变量路径
542
+ * @param {*} defaultValue - 默认值
543
+ * @returns {*} 变量值
544
+ */
545
+ getThemeValue(path: any, defaultValue: any): any;
546
+ /**
547
+ * 获取所有注册的主题
548
+ * @returns {Array} 主题名称数组
549
+ */
550
+ getAvailableThemes(): string[];
551
+ /**
552
+ * 销毁主题管理器
553
+ */
554
+ destroy(): void;
555
+ }
556
+ //#endregion
557
+ //#region src/components/Layout.d.ts
558
+ /**
559
+ * 主布局组件
560
+ */
561
+ declare const Layout: ({
562
+ config,
563
+ theme,
564
+ renderer,
565
+ routerManager,
566
+ componentRegistry,
567
+ onRouteChange
568
+ }: {
569
+ config: any;
570
+ theme: any;
571
+ renderer: any;
572
+ routerManager: any;
573
+ componentRegistry: any;
574
+ onRouteChange: any;
575
+ }) => react_jsx_runtime0.JSX.Element;
576
+ //#endregion
577
+ //#region src/components/Navigation.d.ts
578
+ /**
579
+ * 导航组件
580
+ */
581
+ declare const Navigation: ({
582
+ config,
583
+ theme,
584
+ currentRoute,
585
+ componentRegistry,
586
+ onNavigate,
587
+ compact
588
+ }: {
589
+ config: any;
590
+ theme: any;
591
+ currentRoute: any;
592
+ componentRegistry: any;
593
+ onNavigate: any;
594
+ compact?: boolean | undefined;
595
+ }) => react_jsx_runtime0.JSX.Element;
596
+ //#endregion
597
+ //#region src/components/Demo.d.ts
598
+ /**
599
+ * Demo展示组件
600
+ */
601
+ declare const Demo: ({
602
+ demo,
603
+ componentId,
604
+ config,
605
+ theme,
606
+ renderer
607
+ }: {
608
+ demo: any;
609
+ componentId: any;
610
+ config: any;
611
+ theme: any;
612
+ renderer: any;
613
+ }) => react_jsx_runtime0.JSX.Element;
614
+ //#endregion
615
+ //#region src/components/ApiDoc.d.ts
616
+ /**
617
+ * API文档组件
618
+ */
619
+ declare const ApiDoc: ({
620
+ api,
621
+ componentId,
622
+ config,
623
+ theme
624
+ }: {
625
+ api: any;
626
+ componentId: any;
627
+ config: any;
628
+ theme: any;
629
+ }) => react_jsx_runtime0.JSX.Element;
630
+ //#endregion
631
+ //#region src/components/CodeBlock.d.ts
632
+ /**
633
+ * 代码块组件
634
+ */
635
+ declare const CodeBlock: ({
636
+ code,
637
+ language,
638
+ theme,
639
+ showLineNumbers,
640
+ highlightLines,
641
+ className
642
+ }: {
643
+ code: any;
644
+ language?: string | undefined;
645
+ theme: any;
646
+ showLineNumbers?: boolean | undefined;
647
+ highlightLines?: never[] | undefined;
648
+ className?: string | undefined;
649
+ }) => react_jsx_runtime0.JSX.Element;
650
+ //#endregion
651
+ //#region src/index.d.ts
652
+ declare class DocSDK {
653
+ private configManager;
654
+ private themeManager;
655
+ private pluginManager;
656
+ private renderer;
657
+ constructor(config?: Partial<DocConfig>);
658
+ /**
659
+ * 渲染文档到指定容器
660
+ */
661
+ render(target: string | HTMLElement): Promise<void>;
662
+ /**
663
+ * 销毁文档实例
664
+ */
665
+ destroy(): void;
666
+ /**
667
+ * 更新配置
668
+ */
669
+ updateConfig(config: Partial<DocConfig>): void;
670
+ /**
671
+ * 注册插件
672
+ */
673
+ use(plugin: Plugin): this;
674
+ /**
675
+ * 设置主题
676
+ */
677
+ setTheme(theme: Theme | string): void;
678
+ /**
679
+ * 获取当前配置
680
+ */
681
+ getConfig(): DocConfig;
682
+ /**
683
+ * 监听事件
684
+ */
685
+ on(event: string, handler: Function): void;
686
+ /**
687
+ * 移除事件监听
688
+ */
689
+ off(event: string, handler: Function): void;
690
+ /**
691
+ * 触发事件
692
+ */
693
+ emit(event: string, data?: any): void;
694
+ }
695
+ //#endregion
696
+ export { ApiConfig, ApiDoc, ApiItem, CodeBlock, ComponentConfig, ComponentRegistry, ConfigManager, Demo, DemoConfig, DocConfig, DocRenderer, EventManager, Feature, FooterContent, FooterLink, GlobalApis, GlobalDemoCodes, GlobalDemos, HeaderAction, HeaderConfig, HomeContent, HookManager, Layout, LayoutConfig, Navigation, NavigationItem, Plugin, PluginContext, PluginManager, RendererOptions, RouterManager, SidebarConfig, Theme, ThemeColors, ThemeLayout, ThemeManager, ThemeSpacing, ThemeTypography, DocSDK as default };
697
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/PluginManager.ts","../src/types/index.ts","../src/core/DocRenderer.ts","../src/core/ConfigManager.ts","../src/core/ThemeManager.ts","../src/components/Layout.tsx","../src/components/Navigation.tsx","../src/components/Demo.tsx","../src/components/ApiDoc.tsx","../src/components/CodeBlock.tsx","../src/index.ts"],"sourcesContent":[],"mappings":"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"}