@sparqjs/schema-vue 0.1.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 (190) hide show
  1. package/dist/asset/index.d.ts +5 -0
  2. package/dist/asset/index.d.ts.map +1 -0
  3. package/dist/asset/picker/AssetPickerParts.d.ts +43 -0
  4. package/dist/asset/picker/AssetPickerParts.d.ts.map +1 -0
  5. package/dist/asset/picker/AssetPickerRoot.d.ts +36 -0
  6. package/dist/asset/picker/AssetPickerRoot.d.ts.map +1 -0
  7. package/dist/asset/picker/AssetPickerServerPanel.d.ts +38 -0
  8. package/dist/asset/picker/AssetPickerServerPanel.d.ts.map +1 -0
  9. package/dist/asset/picker/index.d.ts +4 -0
  10. package/dist/asset/picker/index.d.ts.map +1 -0
  11. package/dist/asset/picker/service.d.ts +4 -0
  12. package/dist/asset/picker/service.d.ts.map +1 -0
  13. package/dist/asset/picker/types.d.ts +50 -0
  14. package/dist/asset/picker/types.d.ts.map +1 -0
  15. package/dist/asset/preview/AssetPreview.d.ts +64 -0
  16. package/dist/asset/preview/AssetPreview.d.ts.map +1 -0
  17. package/dist/asset/preview/index.d.ts +3 -0
  18. package/dist/asset/preview/index.d.ts.map +1 -0
  19. package/dist/asset/preview/registry.d.ts +35 -0
  20. package/dist/asset/preview/registry.d.ts.map +1 -0
  21. package/dist/asset/service.d.ts +39 -0
  22. package/dist/asset/service.d.ts.map +1 -0
  23. package/dist/asset/upload/AssetUploadPanel.d.ts +82 -0
  24. package/dist/asset/upload/AssetUploadPanel.d.ts.map +1 -0
  25. package/dist/asset/upload/executor.d.ts +59 -0
  26. package/dist/asset/upload/executor.d.ts.map +1 -0
  27. package/dist/asset/upload/files.d.ts +16 -0
  28. package/dist/asset/upload/files.d.ts.map +1 -0
  29. package/dist/asset/upload/hash-file.d.ts +7 -0
  30. package/dist/asset/upload/hash-file.d.ts.map +1 -0
  31. package/dist/asset/upload/hash-worker.d.ts +2 -0
  32. package/dist/asset/upload/hash-worker.d.ts.map +1 -0
  33. package/dist/asset/upload/index.d.ts +6 -0
  34. package/dist/asset/upload/index.d.ts.map +1 -0
  35. package/dist/asset/upload/queue.d.ts +23 -0
  36. package/dist/asset/upload/queue.d.ts.map +1 -0
  37. package/dist/assets/hash-worker-DEktbSny.js +8 -0
  38. package/dist/assets/hash-worker-DEktbSny.js.map +1 -0
  39. package/dist/components/SparqView.d.ts +65 -0
  40. package/dist/components/SparqView.d.ts.map +1 -0
  41. package/dist/custom-components/IconInput/IconInput.d.ts +45 -0
  42. package/dist/custom-components/IconInput/IconInput.d.ts.map +1 -0
  43. package/dist/custom-components/IconInput/SqIcon.d.ts +29 -0
  44. package/dist/custom-components/IconInput/SqIcon.d.ts.map +1 -0
  45. package/dist/custom-components/IconInput/SqIconInput.d.ts +184 -0
  46. package/dist/custom-components/IconInput/SqIconInput.d.ts.map +1 -0
  47. package/dist/custom-components/IconInput/index.d.ts +5 -0
  48. package/dist/custom-components/IconInput/index.d.ts.map +1 -0
  49. package/dist/custom-components/JsonEditor/JsonEditor.d.ts +39 -0
  50. package/dist/custom-components/JsonEditor/JsonEditor.d.ts.map +1 -0
  51. package/dist/custom-components/JsonEditor/SqJson.d.ts +103 -0
  52. package/dist/custom-components/JsonEditor/SqJson.d.ts.map +1 -0
  53. package/dist/custom-components/JsonEditor/index.d.ts +5 -0
  54. package/dist/custom-components/JsonEditor/index.d.ts.map +1 -0
  55. package/dist/custom-components/KeyValueEditor/KeyValueEditor.d.ts +37 -0
  56. package/dist/custom-components/KeyValueEditor/KeyValueEditor.d.ts.map +1 -0
  57. package/dist/custom-components/KeyValueEditor/SqKeyValue.d.ts +102 -0
  58. package/dist/custom-components/KeyValueEditor/SqKeyValue.d.ts.map +1 -0
  59. package/dist/custom-components/KeyValueEditor/index.d.ts +5 -0
  60. package/dist/custom-components/KeyValueEditor/index.d.ts.map +1 -0
  61. package/dist/custom-components/RichText/RichText.d.ts +49 -0
  62. package/dist/custom-components/RichText/RichText.d.ts.map +1 -0
  63. package/dist/custom-components/RichText/SqRichText.d.ts +139 -0
  64. package/dist/custom-components/RichText/SqRichText.d.ts.map +1 -0
  65. package/dist/custom-components/RichText/index.d.ts +3 -0
  66. package/dist/custom-components/RichText/index.d.ts.map +1 -0
  67. package/dist/custom-components/Upload/SqFileUpload.d.ts +42 -0
  68. package/dist/custom-components/Upload/SqFileUpload.d.ts.map +1 -0
  69. package/dist/custom-components/Upload/SqImageUpload.d.ts +42 -0
  70. package/dist/custom-components/Upload/SqImageUpload.d.ts.map +1 -0
  71. package/dist/custom-components/Upload/SqUpload.d.ts +45 -0
  72. package/dist/custom-components/Upload/SqUpload.d.ts.map +1 -0
  73. package/dist/custom-components/Upload/Upload.d.ts +44 -0
  74. package/dist/custom-components/Upload/Upload.d.ts.map +1 -0
  75. package/dist/custom-components/Upload/index.d.ts +5 -0
  76. package/dist/custom-components/Upload/index.d.ts.map +1 -0
  77. package/dist/custom-components/index.d.ts +681 -0
  78. package/dist/custom-components/index.d.ts.map +1 -0
  79. package/dist/custom-components/shared/props.d.ts +5 -0
  80. package/dist/custom-components/shared/props.d.ts.map +1 -0
  81. package/dist/custom-components/shared/render.d.ts +4 -0
  82. package/dist/custom-components/shared/render.d.ts.map +1 -0
  83. package/dist/custom-components/shared/standalone.d.ts +53 -0
  84. package/dist/custom-components/shared/standalone.d.ts.map +1 -0
  85. package/dist/custom-components/types.d.ts +20 -0
  86. package/dist/custom-components/types.d.ts.map +1 -0
  87. package/dist/display-format.d.ts +2 -0
  88. package/dist/display-format.d.ts.map +1 -0
  89. package/dist/index.d.ts +15 -0
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js +5995 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/install.d.ts +9 -0
  94. package/dist/install.d.ts.map +1 -0
  95. package/dist/keys.d.ts +74 -0
  96. package/dist/keys.d.ts.map +1 -0
  97. package/dist/presentation/host.d.ts +33 -0
  98. package/dist/presentation/host.d.ts.map +1 -0
  99. package/dist/presentation/index.d.ts +2 -0
  100. package/dist/presentation/index.d.ts.map +1 -0
  101. package/dist/registry/component.d.ts +121 -0
  102. package/dist/registry/component.d.ts.map +1 -0
  103. package/dist/registry/contribution.d.ts +95 -0
  104. package/dist/registry/contribution.d.ts.map +1 -0
  105. package/dist/registry/icon.d.ts +21 -0
  106. package/dist/registry/icon.d.ts.map +1 -0
  107. package/dist/registry/index.d.ts +5 -0
  108. package/dist/registry/index.d.ts.map +1 -0
  109. package/dist/registry/rich-text.d.ts +52 -0
  110. package/dist/registry/rich-text.d.ts.map +1 -0
  111. package/dist/render/action-context.d.ts +16 -0
  112. package/dist/render/action-context.d.ts.map +1 -0
  113. package/dist/render/audit.d.ts +5 -0
  114. package/dist/render/audit.d.ts.map +1 -0
  115. package/dist/render/container-structure.d.ts +20 -0
  116. package/dist/render/container-structure.d.ts.map +1 -0
  117. package/dist/render/context.d.ts +52 -0
  118. package/dist/render/context.d.ts.map +1 -0
  119. package/dist/render/embedded-view.d.ts +5 -0
  120. package/dist/render/embedded-view.d.ts.map +1 -0
  121. package/dist/render/field-node.d.ts +11 -0
  122. package/dist/render/field-node.d.ts.map +1 -0
  123. package/dist/render/index.d.ts +22 -0
  124. package/dist/render/index.d.ts.map +1 -0
  125. package/dist/render/layout-node.d.ts +22 -0
  126. package/dist/render/layout-node.d.ts.map +1 -0
  127. package/dist/render/page-structure.d.ts +7 -0
  128. package/dist/render/page-structure.d.ts.map +1 -0
  129. package/dist/render/structure.d.ts +7 -0
  130. package/dist/render/structure.d.ts.map +1 -0
  131. package/dist/render/view-node.d.ts +2 -0
  132. package/dist/render/view-node.d.ts.map +1 -0
  133. package/dist/render/view-structures.d.ts +24 -0
  134. package/dist/render/view-structures.d.ts.map +1 -0
  135. package/dist/runtime/controller.d.ts +4 -0
  136. package/dist/runtime/controller.d.ts.map +1 -0
  137. package/dist/runtime/feedback.d.ts +19 -0
  138. package/dist/runtime/feedback.d.ts.map +1 -0
  139. package/dist/runtime/index.d.ts +6 -0
  140. package/dist/runtime/index.d.ts.map +1 -0
  141. package/dist/runtime/renderer.d.ts +8 -0
  142. package/dist/runtime/renderer.d.ts.map +1 -0
  143. package/dist/runtime/state.d.ts +6 -0
  144. package/dist/runtime/state.d.ts.map +1 -0
  145. package/dist/runtime/write-back.d.ts +11 -0
  146. package/dist/runtime/write-back.d.ts.map +1 -0
  147. package/dist/semantic-components/FieldDisplay.d.ts +12 -0
  148. package/dist/semantic-components/FieldDisplay.d.ts.map +1 -0
  149. package/dist/semantic-components/FieldLink.d.ts +8 -0
  150. package/dist/semantic-components/FieldLink.d.ts.map +1 -0
  151. package/dist/semantic-components/HelpText.d.ts +8 -0
  152. package/dist/semantic-components/HelpText.d.ts.map +1 -0
  153. package/dist/semantic-components/SectionBlock.d.ts +8 -0
  154. package/dist/semantic-components/SectionBlock.d.ts.map +1 -0
  155. package/dist/semantic-components/StatusTag.d.ts +14 -0
  156. package/dist/semantic-components/StatusTag.d.ts.map +1 -0
  157. package/dist/semantic-components/Thumbnail.d.ts +8 -0
  158. package/dist/semantic-components/Thumbnail.d.ts.map +1 -0
  159. package/dist/semantic-components/index.d.ts +16 -0
  160. package/dist/semantic-components/index.d.ts.map +1 -0
  161. package/dist/semantic-components/types.d.ts +28 -0
  162. package/dist/semantic-components/types.d.ts.map +1 -0
  163. package/dist/shell/audit-panel.d.ts +12 -0
  164. package/dist/shell/audit-panel.d.ts.map +1 -0
  165. package/dist/shell/detail-shell.d.ts +4 -0
  166. package/dist/shell/detail-shell.d.ts.map +1 -0
  167. package/dist/shell/index.d.ts +3 -0
  168. package/dist/shell/index.d.ts.map +1 -0
  169. package/dist/types.d.ts +403 -0
  170. package/dist/types.d.ts.map +1 -0
  171. package/dist/ui/adapter.d.ts +53 -0
  172. package/dist/ui/adapter.d.ts.map +1 -0
  173. package/dist/ui/index.d.ts +4 -0
  174. package/dist/ui/index.d.ts.map +1 -0
  175. package/dist/ui/kit.d.ts +56 -0
  176. package/dist/ui/kit.d.ts.map +1 -0
  177. package/dist/ui/schema-ui.d.ts +86 -0
  178. package/dist/ui/schema-ui.d.ts.map +1 -0
  179. package/package.json +41 -0
  180. package/src/asset/picker/style.css +537 -0
  181. package/src/asset/preview/style.css +382 -0
  182. package/src/asset/upload/style.css +167 -0
  183. package/src/custom-components/IconInput/style.css +101 -0
  184. package/src/custom-components/KeyValueEditor/style.css +44 -0
  185. package/src/custom-components/Upload/style.css +313 -0
  186. package/src/detail/style.css +427 -0
  187. package/src/render/style.css +230 -0
  188. package/src/semantic-components/style.css +263 -0
  189. package/src/style.css +9 -0
  190. package/src/tokens.css +44 -0
@@ -0,0 +1,403 @@
1
+ import type { CreateSchemaRuntimeOptions, ActionRunResult, CreateSessionControllerOptions, Diagnostic, ListContext, RunActionContext, ResolvedAction, SessionActionState, SessionAuditLoadInput, SessionAuditState, SessionController, SessionEditFormLoadInput, SessionFormMode, SessionLoadFieldOptionsInput, SessionPageState, SessionExternalActionResult, SessionTablePaginationState, SessionTableRecycleModeInput, SessionTableReloadInput, SessionTableState, RuntimeTableIndex, ResourceViewModel, RuntimeFormFooter, RuntimeFormView, RuntimeDetailView, RuntimeRenderableView, RuntimeSearchItem, RuntimeTableColumn, RuntimeTableFilter, RuntimeTableOperate, RuntimeTablePagination, RuntimeTableSelection, RuntimeTableTree, RuntimeTableView, RuntimeViewNode, SchemaRuntime } from '@sparqjs/schema-core';
2
+ import type { ComponentChangeContext, FieldOptionFilterConfig, OptionItem, RenderMode, ResourceField, SchemaResource, SchemaTreeNode } from '@sparqjs/schema-protocol';
3
+ import type { VNodeChild } from 'vue';
4
+ import type { SparqAssetPreviewRegistry, SparqAssetService } from './asset';
5
+ import type { SchemaHostPresentation } from './presentation';
6
+ import type { UiKit } from './ui';
7
+ import type { SchemaComponentRegistry, SchemaRendererContribution, SchemaRendererKernel, SparqIconRegistry, SparqRichTextRegistry } from './registry';
8
+ export type SparqViewStatus = 'idle' | 'loading' | 'ready' | 'error';
9
+ export type SparqViewScrollMode = 'content' | 'view';
10
+ export interface SparqViewProps {
11
+ modelValue?: Record<string, unknown>;
12
+ /** 未传入 controller 时,内部 controller 初始化时消费 schema 默认值。 */
13
+ applyDefaults?: boolean;
14
+ mode?: RenderMode;
15
+ schema?: SchemaResource;
16
+ resource?: string;
17
+ source?: string;
18
+ payload?: unknown;
19
+ /** 不受搜索表单覆盖的固定过滤条件。 */
20
+ filters?: FieldOptionFilterConfig[];
21
+ view?: string;
22
+ runtime?: SchemaRuntime;
23
+ uiAdapter?: SchemaUiAdapter;
24
+ uiKit?: UiKit;
25
+ components?: SchemaComponentRegistry;
26
+ icons?: SparqIconRegistry;
27
+ richTextEditors?: SparqRichTextRegistry;
28
+ assetService?: SparqAssetService;
29
+ controller?: SparqViewController;
30
+ onAction?: SchemaActionHandler;
31
+ /** 填满父容器。列表工作区会用它把高度传给内部 table 结构。 */
32
+ fit?: boolean;
33
+ /** 滚动归属。view 表示由 SparqView 内部结构接管滚动。 */
34
+ scrollMode?: SparqViewScrollMode;
35
+ /** 隐藏独立表单的默认操作区,动作执行器仍会注册供外部操作栏调用。 */
36
+ hideFormFooter?: boolean;
37
+ }
38
+ export type SchemaFieldErrors = string[];
39
+ export interface SchemaFieldChangeContext extends ComponentChangeContext {
40
+ }
41
+ export type SchemaFieldChangeHandler = (value: unknown, context?: SchemaFieldChangeContext) => void;
42
+ export type SchemaFieldBlurHandler = () => void;
43
+ export interface SchemaFieldActivateContext {
44
+ field: ResourceField;
45
+ nodeId: string;
46
+ mode: RenderMode;
47
+ view: string;
48
+ resource?: string;
49
+ }
50
+ export type SchemaFieldActivateHandler = (context: SchemaFieldActivateContext) => void;
51
+ export type SchemaFieldOptionsLoadInput = string | {
52
+ keyword?: string;
53
+ values?: unknown[];
54
+ parentValue?: unknown;
55
+ };
56
+ export interface SchemaFieldBinding {
57
+ value?: unknown;
58
+ onChange: SchemaFieldChangeHandler;
59
+ onBlur: SchemaFieldBlurHandler;
60
+ errors: SchemaFieldErrors;
61
+ loading: boolean;
62
+ options: OptionItem[];
63
+ optionLoading: boolean;
64
+ optionError?: unknown;
65
+ loadOptions?: (input?: SchemaFieldOptionsLoadInput) => Promise<OptionItem[]>;
66
+ }
67
+ export interface SchemaFormState {
68
+ values: Record<string, unknown>;
69
+ errors?: Record<string, SchemaFieldErrors>;
70
+ loading?: Record<string, boolean>;
71
+ options?: Record<string, OptionItem[]>;
72
+ optionLoading?: Record<string, boolean>;
73
+ optionErrors?: Record<string, unknown>;
74
+ setValue?: (field: string, value: unknown, node?: RuntimeViewNode) => void;
75
+ setTouched?: (field: string, node?: RuntimeViewNode) => void;
76
+ loadOptions?: (input: SessionLoadFieldOptionsInput) => Promise<OptionItem[]>;
77
+ reset?: () => void;
78
+ }
79
+ export type SparqViewActionState = SessionActionState;
80
+ export type SparqViewAuditState = SessionAuditState;
81
+ export type SparqViewAuditLoadInput = SessionAuditLoadInput;
82
+ export type SparqViewTablePaginationState = SessionTablePaginationState;
83
+ export type SparqViewTableState = SessionTableState;
84
+ export type SparqViewFormMode = SessionFormMode;
85
+ export type SparqViewPageState = SessionPageState;
86
+ export type SparqViewEditFormLoadInput = SessionEditFormLoadInput;
87
+ export type SparqViewTableReloadInput = SessionTableReloadInput;
88
+ export type SparqViewTableRecycleModeInput = SessionTableRecycleModeInput;
89
+ export interface SparqViewTableController {
90
+ state: SparqViewTableState;
91
+ reload(input: SparqViewTableReloadInput): Promise<unknown>;
92
+ setRecycleMode(input: SparqViewTableRecycleModeInput): Promise<unknown>;
93
+ changeSelection(selection: unknown[]): void;
94
+ changeSort(input: {
95
+ sort: unknown;
96
+ runtime: SchemaRuntime;
97
+ resource?: string;
98
+ view?: string;
99
+ tableMode?: string;
100
+ tableTree?: RuntimeTableTree;
101
+ filters?: FieldOptionFilterConfig[];
102
+ payload?: unknown;
103
+ }): Promise<unknown>;
104
+ changePage(input: {
105
+ page: number;
106
+ runtime: SchemaRuntime;
107
+ resource?: string;
108
+ view?: string;
109
+ tableMode?: string;
110
+ tableTree?: RuntimeTableTree;
111
+ filters?: FieldOptionFilterConfig[];
112
+ payload?: unknown;
113
+ }): Promise<unknown>;
114
+ changePageSize(input: {
115
+ pageSize: number;
116
+ runtime: SchemaRuntime;
117
+ resource?: string;
118
+ view?: string;
119
+ tableMode?: string;
120
+ tableTree?: RuntimeTableTree;
121
+ filters?: FieldOptionFilterConfig[];
122
+ payload?: unknown;
123
+ }): Promise<unknown>;
124
+ setSearchValues(values: Record<string, unknown>): void;
125
+ setPagination(pagination: Partial<SparqViewTablePaginationState>): void;
126
+ setSelection(selection: unknown[]): void;
127
+ setSort(sort: unknown): void;
128
+ }
129
+ export interface SparqViewController extends Omit<SessionController, 'tableState'> {
130
+ form: SchemaFormState;
131
+ search: SchemaFormState;
132
+ page: SparqViewPageState;
133
+ table: SparqViewTableController;
134
+ action: SparqViewActionState;
135
+ submit(): Promise<unknown>;
136
+ }
137
+ export type CreateSparqViewControllerOptions = CreateSessionControllerOptions;
138
+ export interface SchemaActionExecuteContext {
139
+ action: ResolvedAction;
140
+ placement: SchemaActionPlacement;
141
+ mode: RenderMode;
142
+ viewName: string;
143
+ resource?: string;
144
+ payload?: unknown;
145
+ runtime: SchemaRuntime;
146
+ form?: SchemaFormState;
147
+ record?: Record<string, unknown>;
148
+ id?: unknown;
149
+ selection?: unknown[];
150
+ formMode?: SparqViewFormMode;
151
+ closeForm?: () => void;
152
+ reloadTable?: () => Promise<unknown>;
153
+ runContext: RunActionContext;
154
+ }
155
+ export type SchemaActionHandler = (context: SchemaActionExecuteContext) => SessionExternalActionResult | Promise<SessionExternalActionResult>;
156
+ export type SchemaActionPlacement = 'toolbar-left' | 'toolbar-right' | 'batch' | 'operate' | 'form-footer' | 'search-operation';
157
+ export type SchemaActionExecutor = () => Promise<ActionRunResult | unknown>;
158
+ export interface SparqViewState {
159
+ status: SparqViewStatus;
160
+ loading: boolean;
161
+ mode: RenderMode;
162
+ viewName: string;
163
+ tableReloadViewName?: string;
164
+ tableReloadMode?: string;
165
+ tableReloadTree?: RuntimeTableTree;
166
+ autoLoadTable?: boolean;
167
+ resource?: string;
168
+ payload?: unknown;
169
+ filters?: FieldOptionFilterConfig[];
170
+ hideFormFooter?: boolean;
171
+ schema?: SchemaResource;
172
+ viewModel?: ResourceViewModel;
173
+ view?: RuntimeRenderableView;
174
+ diagnostics: Diagnostic[];
175
+ error?: unknown;
176
+ fatal: boolean;
177
+ }
178
+ export interface SchemaRenderer {
179
+ name: '@sparqjs/schema-vue';
180
+ /** 当前 renderer 的贡献运行环境,插件可以通过它动态安装和卸载贡献。 */
181
+ kernel: SchemaRendererKernel;
182
+ runtime: SchemaRuntime;
183
+ uiAdapter?: SchemaUiAdapter;
184
+ uiKit?: UiKit;
185
+ components?: SchemaComponentRegistry;
186
+ icons?: SparqIconRegistry;
187
+ richTextEditors?: SparqRichTextRegistry;
188
+ /** 按 matcher 解析当前资源预览实现的实时注册表。 */
189
+ assetPreviews: SparqAssetPreviewRegistry;
190
+ assetService?: SparqAssetService;
191
+ /** 将 root/parent 表单交给外层宿主展示;缺失或宿主拒绝时继续使用当前 renderer。 */
192
+ presentationHost?: SchemaHostPresentation;
193
+ resolve(props: SparqViewProps): SparqViewState;
194
+ load(props: SparqViewProps): Promise<SparqViewState>;
195
+ }
196
+ export interface CreateSchemaRendererOptions extends CreateSchemaRuntimeOptions {
197
+ runtime?: SchemaRuntime;
198
+ /** 复用宿主已有 kernel;未提供时 renderer 创建隔离实例。 */
199
+ kernel?: SchemaRendererKernel;
200
+ /** renderer 初始化时安装的插件或预设贡献。 */
201
+ contributions?: readonly SchemaRendererContribution[];
202
+ uiAdapter?: SchemaUiAdapter;
203
+ uiKit?: UiKit;
204
+ components?: SchemaComponentRegistry;
205
+ icons?: SparqIconRegistry;
206
+ richTextEditors?: SparqRichTextRegistry;
207
+ assetService?: SparqAssetService;
208
+ presentationHost?: SchemaHostPresentation;
209
+ }
210
+ export interface SchemaUiContext {
211
+ state: SparqViewState;
212
+ runtime: SchemaRuntime;
213
+ resource?: string;
214
+ payload?: unknown;
215
+ diagnostics: Diagnostic[];
216
+ ui: UiKit;
217
+ components?: SchemaComponentRegistry;
218
+ icons?: SparqIconRegistry;
219
+ richTextEditors?: SparqRichTextRegistry;
220
+ assetService?: SparqAssetService;
221
+ form?: SchemaFormState;
222
+ controller?: SparqViewController;
223
+ onAction?: SchemaActionHandler;
224
+ onFieldActivate?: SchemaFieldActivateHandler;
225
+ retry?: () => void;
226
+ resolveTableReloadView?: () => string;
227
+ resolveTableReloadMode?: () => string | undefined;
228
+ resolveTableReloadTree?: () => RuntimeTableTree | undefined;
229
+ resolveTableReloadFilters?: () => FieldOptionFilterConfig[] | undefined;
230
+ tableReloadView?: string;
231
+ tableReloadMode?: string;
232
+ tableReloadTree?: RuntimeTableTree;
233
+ tableReloadFilters?: FieldOptionFilterConfig[];
234
+ pageCreateForm?: RuntimeFormView;
235
+ pageCreateFormName?: string;
236
+ pageUpdateForm?: RuntimeFormView;
237
+ pageUpdateFormName?: string;
238
+ }
239
+ export interface SchemaContainerContext extends SchemaUiContext {
240
+ kind: 'page' | 'form' | 'table' | 'tree' | 'search' | 'detail' | 'section' | 'toolbar' | 'footer';
241
+ title?: string;
242
+ help?: string;
243
+ helpNode?: VNodeChild;
244
+ props?: Record<string, unknown>;
245
+ layout?: SchemaLayoutConfig;
246
+ items?: SchemaLayoutItem[];
247
+ children: VNodeChild;
248
+ footer?: VNodeChild;
249
+ }
250
+ export interface SchemaFormShellContext extends SchemaUiContext {
251
+ formView: RuntimeFormView;
252
+ children: VNodeChild;
253
+ footer?: VNodeChild;
254
+ title?: string;
255
+ help?: string;
256
+ helpNode?: VNodeChild;
257
+ presentation: 'default' | 'dialog' | 'drawer' | 'inline';
258
+ open: boolean;
259
+ close?: () => void;
260
+ }
261
+ export interface SchemaDetailShellContext extends SchemaUiContext {
262
+ detail: RuntimeDetailView;
263
+ children: VNodeChild;
264
+ title?: string;
265
+ help?: string;
266
+ helpNode?: VNodeChild;
267
+ presentation: 'default' | 'dialog' | 'drawer' | 'inline' | 'panel';
268
+ open: boolean;
269
+ close?: () => void;
270
+ actions?: VNodeChild;
271
+ meta?: SchemaDetailShellMeta;
272
+ }
273
+ export interface SchemaDetailShellMeta {
274
+ updatedAt?: unknown;
275
+ updatedBy?: unknown;
276
+ }
277
+ export interface SchemaAuditTriggerContext extends SchemaUiContext {
278
+ record: Record<string, unknown>;
279
+ id: unknown;
280
+ primaryKey: string;
281
+ open: () => Promise<unknown>;
282
+ }
283
+ export interface SchemaAuditPanelContext extends SchemaUiContext {
284
+ record?: Record<string, unknown>;
285
+ id?: unknown;
286
+ primaryKey: string;
287
+ auditState: SparqViewAuditState;
288
+ close?: () => void;
289
+ refresh?: () => Promise<unknown>;
290
+ loadMore?: () => Promise<unknown>;
291
+ }
292
+ export interface SchemaActionContext extends SchemaUiContext {
293
+ action: ResolvedAction;
294
+ placement: SchemaActionPlacement;
295
+ execute: SchemaActionExecutor;
296
+ record?: Record<string, unknown>;
297
+ createChildContext?: (action: ResolvedAction) => SchemaActionContext;
298
+ }
299
+ export interface SchemaFieldContext extends SchemaUiContext {
300
+ node: RuntimeViewNode;
301
+ activate?: () => void;
302
+ binding?: SchemaFieldBinding;
303
+ disabled?: boolean;
304
+ readonly?: boolean;
305
+ placeholder?: string;
306
+ options?: OptionItem[];
307
+ /** 字段标题旁的补充提示,由 UI adapter 决定具体提示组件。 */
308
+ tip?: string;
309
+ helpNode?: VNodeChild;
310
+ contentNode?: VNodeChild;
311
+ }
312
+ export interface SchemaLayoutNodeContext extends SchemaUiContext {
313
+ node: RuntimeViewNode;
314
+ layout?: SchemaLayoutConfig;
315
+ items?: SchemaLayoutItem[];
316
+ helpNode?: VNodeChild;
317
+ children: VNodeChild;
318
+ }
319
+ export interface SchemaLayoutConfig {
320
+ span?: number;
321
+ gap?: number;
322
+ }
323
+ export interface SchemaLayoutItem {
324
+ node?: RuntimeViewNode;
325
+ span?: number;
326
+ content: VNodeChild;
327
+ }
328
+ export interface SchemaTableContext extends SchemaUiContext {
329
+ table: RuntimeTableView;
330
+ columns: VNodeChild;
331
+ tableState?: SparqViewTableState;
332
+ }
333
+ export interface SchemaResourceTreeContext extends SchemaUiContext {
334
+ treeState?: SparqViewController['treeState'];
335
+ loadChildren?: (parentId?: number) => Promise<SchemaTreeNode[]>;
336
+ }
337
+ export type SchemaTableColumnContext = SchemaTableSelectionColumnContext | SchemaTableIndexColumnContext | SchemaTableDataColumnContext | SchemaTableOperateColumnContext;
338
+ export interface SchemaTableSelectionColumnContext extends SchemaUiContext {
339
+ kind: 'selection';
340
+ selection: RuntimeTableSelection;
341
+ }
342
+ export interface SchemaTableIndexColumnContext extends SchemaUiContext {
343
+ kind: 'index';
344
+ index: RuntimeTableIndex;
345
+ }
346
+ export interface SchemaTableDataColumnContext extends SchemaUiContext {
347
+ kind: 'data';
348
+ column: RuntimeTableColumn;
349
+ renderCell?: (record: Record<string, unknown>) => VNodeChild;
350
+ }
351
+ export interface SchemaTableOperateColumnContext extends SchemaUiContext {
352
+ kind: 'operate';
353
+ operate: RuntimeTableOperate;
354
+ actions: VNodeChild;
355
+ renderActions?: (record: Record<string, unknown>) => VNodeChild;
356
+ }
357
+ export interface SchemaTablePaginationContext extends SchemaUiContext {
358
+ pagination: RuntimeTablePagination;
359
+ tableState?: SparqViewTableState;
360
+ }
361
+ export interface SchemaSearchItemContext extends SchemaUiContext {
362
+ item: RuntimeSearchItem;
363
+ options?: OptionItem[];
364
+ }
365
+ export interface SchemaTableFilterContext extends SchemaUiContext {
366
+ filter: RuntimeTableFilter;
367
+ options?: OptionItem[];
368
+ }
369
+ export interface SchemaUiAdapter {
370
+ renderContainer?(context: SchemaContainerContext): VNodeChild;
371
+ renderAction?(context: SchemaActionContext): VNodeChild;
372
+ renderField?(context: SchemaFieldContext): VNodeChild;
373
+ renderLayoutNode?(context: SchemaLayoutNodeContext): VNodeChild;
374
+ renderFormShell?(context: SchemaFormShellContext): VNodeChild;
375
+ renderDetailShell?(context: SchemaDetailShellContext): VNodeChild;
376
+ renderAuditTrigger?(context: SchemaAuditTriggerContext): VNodeChild;
377
+ renderAuditPanel?(context: SchemaAuditPanelContext): VNodeChild;
378
+ renderTable?(context: SchemaTableContext): VNodeChild;
379
+ renderResourceTree?(context: SchemaResourceTreeContext): VNodeChild;
380
+ renderTableColumn?(context: SchemaTableColumnContext): VNodeChild;
381
+ renderTablePagination?(context: SchemaTablePaginationContext): VNodeChild;
382
+ renderSearchItem?(context: SchemaSearchItemContext): VNodeChild;
383
+ renderTableFilter?(context: SchemaTableFilterContext): VNodeChild;
384
+ }
385
+ export type SparqViewResolvedState = {
386
+ mode: RenderMode;
387
+ viewName: string;
388
+ schema?: SchemaResource;
389
+ resource?: string;
390
+ payload?: unknown;
391
+ diagnostics: Diagnostic[];
392
+ fatal: boolean;
393
+ loading: boolean;
394
+ status: SparqViewStatus;
395
+ error?: unknown;
396
+ viewModel?: ResourceViewModel;
397
+ view?: RuntimeRenderableView;
398
+ };
399
+ export type SparqViewListContext = ListContext;
400
+ export type SparqViewFormFooter = RuntimeFormFooter;
401
+ export type SparqViewFormView = RuntimeFormView;
402
+ export type SparqViewRuntimeTableView = RuntimeTableView;
403
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { type VNode, type VNodeArrayChildren, type VNodeChild } from 'vue';
2
+ import type { SchemaActionContext, SchemaContainerContext, SchemaDetailShellContext, SchemaFormShellContext, SchemaUiAdapter, SchemaUiContext, SparqViewState } from '../types';
3
+ /**
4
+ * 将容器渲染委托给当前 UI 适配器。
5
+ */
6
+ export declare function renderContainer(context: SchemaContainerContext, uiAdapter?: SchemaUiAdapter): VNodeChild;
7
+ /**
8
+ * 渲染 loading 和 error 状态使用的兜底容器。
9
+ */
10
+ export declare function renderStatusContainer(state: SparqViewState, context: SchemaUiContext, uiAdapter?: SchemaUiAdapter): VNodeChild;
11
+ /**
12
+ * 使用带 `data-slot` 的普通容器包裹子节点。
13
+ */
14
+ export declare function renderSlot(slot: string, children: VNodeChild, props?: Record<string, unknown>): VNodeChild;
15
+ /**
16
+ * 使用 section slot 包裹页面内嵌区域。
17
+ */
18
+ export declare function renderViewSlot(slot: string, children: VNodeChild): VNodeChild;
19
+ /**
20
+ * 将已解析动作渲染委托给当前 UI 适配器。
21
+ *
22
+ * 隐藏动作不渲染内容,也不会注册执行器。
23
+ */
24
+ export declare function renderAction(context: SchemaActionContext, uiAdapter?: SchemaUiAdapter): VNodeChild;
25
+ /**
26
+ * 将表单外壳渲染委托给当前 UI 适配器。
27
+ */
28
+ export declare function renderFormShell(context: SchemaFormShellContext, uiAdapter?: SchemaUiAdapter): VNodeChild;
29
+ /**
30
+ * 将详情外壳渲染委托给当前 UI 适配器。
31
+ */
32
+ export declare function renderDetailShell(context: SchemaDetailShellContext, uiAdapter?: SchemaUiAdapter): VNodeChild;
33
+ /**
34
+ * 解析当前渲染路径下的表单外壳展示方式。
35
+ */
36
+ export declare function resolveFormPresentation(context: SchemaUiContext, embeddedInPage: boolean): SchemaFormShellContext['presentation'];
37
+ /**
38
+ * 解析当前渲染路径下表单外壳是否打开。
39
+ */
40
+ export declare function resolveFormOpen(context: SchemaUiContext, embeddedInPage: boolean): boolean;
41
+ /**
42
+ * 根据详情 wrapper 配置解析详情外壳展示方式。
43
+ */
44
+ export declare function resolveDetailPresentation(view: Pick<SchemaDetailShellContext['detail'], 'wrapper'>, embeddedInPage?: boolean): SchemaDetailShellContext['presentation'];
45
+ /**
46
+ * UI 适配器缺少必要渲染器时抛出稳定错误。
47
+ */
48
+ export declare function renderMissingUiRenderer(name: string): never;
49
+ /**
50
+ * 传入原生 `h()` 调用前规范化 children。
51
+ */
52
+ export declare function normalizeChildren(children: VNodeChild): string | number | VNode | VNodeArrayChildren | undefined;
53
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/ui/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,KAAK,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAA;AAC7E,OAAO,KAAK,EACR,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,cAAc,EACjB,MAAM,UAAU,CAAA;AAEjB;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,EAAE,SAAS,CAAC,EAAE,eAAe,GAAG,UAAU,CAExG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,eAAe,EACxB,SAAS,CAAC,EAAE,eAAe,GAC5B,UAAU,CAeZ;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAS1G;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,CAQ7E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,eAAe,GAAG,UAAU,CAQlG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,EAAE,SAAS,CAAC,EAAE,eAAe,GAAG,UAAU,CAMxG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,EAAE,SAAS,CAAC,EAAE,eAAe,GAAG,UAAU,CAM5G;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,OAAO,GACxB,sBAAsB,CAAC,cAAc,CAAC,CAMxC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAM1F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACrC,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EACzD,cAAc,UAAO,GACtB,wBAAwB,CAAC,cAAc,CAAC,CAkB1C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAE3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,kBAAkB,GAAG,SAAS,CAMhH"}
@@ -0,0 +1,4 @@
1
+ export * from './adapter';
2
+ export * from './kit';
3
+ export * from './schema-ui';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,aAAa,CAAA"}
@@ -0,0 +1,56 @@
1
+ import { type VNodeChild } from 'vue';
2
+ /**
3
+ * UI 组件集渲染上下文。
4
+ *
5
+ * 当前先保留最小字段,后续接入状态、scope 和诊断时再扩展。
6
+ */
7
+ export interface UiRenderContext {
8
+ /** 当前组件 key。 */
9
+ name: string;
10
+ }
11
+ /**
12
+ * UI 组件集中的组件定义。
13
+ *
14
+ * component 便于业务组件直接组合;render 便于渲染器统一处理 props、slots 和默认属性。
15
+ */
16
+ export interface UiComponent {
17
+ /** 实际组件。Vue 渲染层会按当前框架解释该值。 */
18
+ component?: unknown;
19
+ props?: Record<string, unknown>;
20
+ /** 渲染函数。缺失时默认使用 component 渲染。 */
21
+ render?: (props?: Record<string, unknown>, slots?: unknown, context?: UiRenderContext) => VNodeChild;
22
+ }
23
+ /**
24
+ * UI 组件集注册输入。
25
+ */
26
+ export type UiKitSeed = Record<string, UiComponent> | Iterable<readonly [string, UiComponent]>;
27
+ /**
28
+ * UI 组件集。
29
+ *
30
+ * 自定义组件可通过 useSparqUi 获取当前 UI 体系的基础组件。
31
+ */
32
+ export interface UiKit {
33
+ /** 获取 UI 组件定义。 */
34
+ get(name: string): UiComponent | undefined;
35
+ /** 判断 UI 组件是否存在。 */
36
+ has(name: string): boolean;
37
+ /** 渲染 UI 组件。 */
38
+ render(name: string, props?: Record<string, unknown>, slots?: unknown): VNodeChild | undefined;
39
+ /** 遍历 UI 组件定义。 */
40
+ entries(): IterableIterator<[string, UiComponent]>;
41
+ }
42
+ /**
43
+ * 创建 UI 组件集。
44
+ */
45
+ export declare function createUiKit(seed?: UiKitSeed): UiKit;
46
+ /**
47
+ * 合并 UI 组件集。
48
+ *
49
+ * 后面的组件集会覆盖前面的同名组件,用于业务项目覆盖预设默认组件。
50
+ */
51
+ export declare function mergeUiKit(...kits: Array<UiKit | undefined>): UiKit;
52
+ /**
53
+ * 获取当前 UI 组件集。
54
+ */
55
+ export declare function useSparqUi(): UiKit;
56
+ //# sourceMappingURL=kit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../src/ui/kit.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,KAAK,CAAA;AAGhE;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IACxB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,iCAAiC;IACjC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,UAAU,CAAA;CACvG;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;AAE9F;;;;GAIG;AACH,MAAM,WAAW,KAAK;IAClB,kBAAkB;IAClB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAA;IAC1C,oBAAoB;IACpB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,gBAAgB;IAChB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IAC9F,kBAAkB;IAClB,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;CACrD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,SAAc,GAAG,KAAK,CAgCvD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,KAAK,CAYnE;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,KAAK,CAOlC"}
@@ -0,0 +1,86 @@
1
+ import { type SchemaUiKey } from '@sparqjs/schema-core';
2
+ import { type PropType, type VNodeChild } from 'vue';
3
+ import { type UiKit } from './kit';
4
+ export type SchemaUiRenderType = SchemaUiKey | (string & {});
5
+ export type SchemaUiProps = Record<string, unknown>;
6
+ export type SchemaUiSlots = unknown;
7
+ export interface SchemaUiProxy {
8
+ render(name: SchemaUiRenderType, props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
9
+ text(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
10
+ textarea(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
11
+ number(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
12
+ select(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
13
+ treeSelect(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
14
+ cascader(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
15
+ radioGroup(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
16
+ checkboxGroup(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
17
+ switch(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
18
+ rate(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
19
+ datePicker(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
20
+ timePicker(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
21
+ slider(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
22
+ colorPicker(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
23
+ button(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
24
+ buttonGroup(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
25
+ form(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
26
+ formItem(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
27
+ table(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
28
+ tableColumn(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
29
+ tree(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
30
+ pagination(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
31
+ alert(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
32
+ card(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
33
+ tag(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
34
+ empty(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
35
+ checkbox(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
36
+ col(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
37
+ collapse(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
38
+ collapseItem(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
39
+ dialog(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
40
+ divider(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
41
+ drawer(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
42
+ dropdown(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
43
+ dropdownItem(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
44
+ dropdownMenu(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
45
+ option(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
46
+ optionGroup(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
47
+ radio(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
48
+ row(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
49
+ scrollbar(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
50
+ tabPane(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
51
+ tabs(props?: SchemaUiProps, slots?: SchemaUiSlots): VNodeChild | undefined;
52
+ }
53
+ /**
54
+ * 获取 Vue 渲染层 UI 代理。
55
+ */
56
+ export declare function useSchemaUi(): SchemaUiProxy;
57
+ /**
58
+ * 获取指定 UI Kit 的全局复用代理。
59
+ */
60
+ export declare function getSchemaUiProxy(uiKit: UiKit): SchemaUiProxy;
61
+ /**
62
+ * 基于指定 UI Kit 创建 Vue 渲染层 UI 代理。
63
+ */
64
+ export declare function createSchemaUiProxy(uiKit: UiKit): SchemaUiProxy;
65
+ export declare const SqRender: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
66
+ type: {
67
+ type: PropType<SchemaUiRenderType>;
68
+ required: true;
69
+ };
70
+ props: {
71
+ type: PropType<SchemaUiProps>;
72
+ default: undefined;
73
+ };
74
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
75
+ type: {
76
+ type: PropType<SchemaUiRenderType>;
77
+ required: true;
78
+ };
79
+ props: {
80
+ type: PropType<SchemaUiProps>;
81
+ default: undefined;
82
+ };
83
+ }>> & Readonly<{}>, {
84
+ props: SchemaUiProps;
85
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
86
+ //# sourceMappingURL=schema-ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-ui.d.ts","sourceRoot":"","sources":["../../src/ui/schema-ui.ts"],"names":[],"mappings":"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"}